Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@daeinc/math

Package Overview
Dependencies
Maintainers
0
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@daeinc/math

Math utilities

  • 0.8.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

math utilities

Installation

npm i @daeinc/math

then,

import { modF, ... } from "@daeinc/math"

Functions

clamp

const clamp: (val: number, min: number, max: number) => number;

Clamp values between min and max (=constrain)

constrain

const constrain: (val: number, min: number, max: number) => number;

Alias for clamp()

dist

const dist: (x1: number, y1: number, x2: number, y2: number) => number;

Compute distance between two points

distSq

const distSq: (x1: number, y1: number, x2: number, y2: number) => number;

Compute squared distance between two points. There's another version in @daeinc/geom that takes Pt: number[] type as arguments.

floorF

const floorF: (n: number, digit: number) => number;

Floor a float value to the specified digit.

map

const map: (
  val: number,
  s: number,
  e: number,
  ns: number,
  ne: number
) => number;

Map a value from one range to another.

mix

const mix: (a: number, b: number, t: number) => number;

Linear interpolation (=lerp)

lerp

const lerp: (a: number, b: number, t: number) => number;

Alias for mix()

mod

const mod: (n: number, max: number) => number;

Modular operation

modF

const modF: (n: number, max: number, precision?: number) => number;

Modulo(%) operation for float numbers up to precision digit.

modIncl

const modIncl: (n: number, max: number) => number;

Inclusive modulo operation. modIncl(1, 3) will include 3. It can handle negative number and returns positive value

polarToCartesian

const polarToCartesian: (radius: number, angle: number) => number[];

Converts polar coodrinate to cartesian coordinate. To use a different center point than the default [0, 0], do something like this:

result.map((v, i) => v + center[i]);

reflect

const reflect: (num: number, axis: number) => number;

Rreflect a scalar value along axis. If you want to reflect a point in 2d space, you can use reflectPoint() from @daeinc/geom.

roundF

const roundF: (n: number, digit: number) => number;

Round a float value. Good for drawing shapes to include the maximum value (round up)

snapBy

const snapBy: (n: number, inc: number) => number;

Snap value to increment using Math.round().

snapToArray

const snapToArray: (n: number, snapArr: number[]) => number;

Snap to a closest value in an array.

To do

  • add more tests

License

MIT

FAQs

Package last updated on 18 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc