Skip to content

evotool/js-math

Repository files navigation

@evojs/math

Math extension for nodejs

@evojs/math npm version supported node version for @evojs/math total npm downloads for @evojs/math monthly npm downloads for @evojs/math npm licence for @evojs/math

Usage example

import { floor, round, ceil, degrees, radias, random, spha, sphd, addp, subp } from '@evojs/math';

// floor

console.log(floor(Math.E)); // 2.718281828459045 -> 2
console.log(floor(Math.E, 2)); // 2.718281828459045 -> 2.71

// round

console.log(round(Math.PI)); // 3.141592653589793 -> 4
console.log(round(Math.PI, 2)); // 3.141592653589793 -> 3.14

// ceil

console.log(ceil(1.00001, 2)); // 1.00001 -> 1.01
console.log(ceil(1.00001)); // 1.00001 -> 2

// degrees

console.log(degrees(Math.PI)); // 3.141592653589793 -> ~180

// radians

console.log(radians(180)); // 180 -> ~3.141592653589793

// random

console.log(random()); // random real [0, 1)
console.log(random(100)); // random integers [0, 100)
console.log(random(10, 100)); // random integers [10, 100)

// sphere angle

const locationA = { latitude: 0, longitude: 90 };
const locationB = { latitude: 90, longitude: 0 };

console.log(spha(locationA, locationB)); // 90 degrees

// sphere distance

const EARTH_RADIUS = 6371; // km

const locationA = { latitude: 55.797416, longitude: 49.111374 };
const locationB = { latitude: 55.795997, longitude: 49.127173 };

console.log(sphd(EARTH_RADIUS, locationA, locationB)); // ~1km

// add percent
console.log(addp(200, 20)); // 200 -> 240

// subtract percent
console.log(subp(300, 15)); // 300 -> 255

License

Licensed under MIT license

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages