New Prog Mixtape

    @okiba/math

    1.0.26 • Public • Published

    Okiba / math

    Collection of math functions

    __

    Installation

    npm i --save @okiba/math

    Or import it directly in the browser

    <script type="module" src="https://unpkg.com/@okiba/math/index.js"></script>

    Usage

    import math from '@okiba/math'

    Untranspiled code 🛑

    Okiba Core packages are not transpiled, so don't forget to transpile them with your favourite bundler. For example, using Babel with Webpack, you should prevent imports from okiba to be excluded from transpilation, like follows:

    {
      test: /\.js$/,
      exclude: /node_modules\/(?!(@okiba)\/).*/,
      use: {
        loader: 'babel-loader',
        options: {
          presets: ['@babel/preset-env']
        }
      }
    }

    lerp(min, max, fraction)

    Linear interpolation between a two values

    import {lerp} from '@okiba/math'
    const xPosition = lerp(0, 100, 0.5)
    console.log(xPosition) // 50

    Arguments

    + min: Number

    Minimum possible value

    + max: Number

    Maximum possible value

    + fraction: Number

    Current position

    Returns

    Number The interpolated value

    map(n, min1, max1, min2, max2)

    Maps a value between two ranges

    import {map} from '@okiba/math'
    
    const x = map(0.5, 0, 1, 0, 1000)
    console.log(x) // 500
    
    const y = map(0, -1, 1, -1000, 1000)
    console.log(y) // 0

    Arguments

    + n: Number

    Value to map

    + min1: Number

    Source range minimum

    + max1: Number

    Source range maximum

    + min2: Number

    Target range minimum

    + max2: Number

    Target range maximum

    Returns

    Number Mapped value

    cap(n, min, max)

    Limit a value between a min and a max (inclusive)

    import {cap} from '@okiba/math'
    let progress = 1.1
    progress = cap(0, 1, progress)
    console.log(progress) // 1

    Arguments

    + n: Number

    Value to cap

    + min: Number

    Minimum possible value

    + max: Number

    Maximum possible value

    Returns

    Number Capped value

    distance(x1, x2)

    Distance between two numbers

    import {distance} from '@okiba/math'
    const x1 = -100, x2 = 100
    const d = distance(x1, x2)
    console.log(d) // 200

    Arguments

    + x1: Number

    First number

    + x2: Number

    Second number

    Returns

    Number Distance between the values

    round(n, p)

    Round a number with given precision, with memoized powers

    import {round} from '@okiba/math'
    const rounded = distance(1.111111, 3)
    console.log(rounded) // 1.111

    Arguments

    + n: Number

    Number to round

    + p: Number | optional - default: 3

    Precision of digits to leave

    Returns

    Number Rounded number

    Keywords

    none

    Install

    npm i @okiba/math

    DownloadsWeekly Downloads

    3

    Version

    1.0.26

    License

    MIT

    Unpacked Size

    9.34 kB

    Total Files

    5

    Last publish

    Collaborators

    • fiad
    • ghzmdr
    • lavolpecheprogramma