unleashed-firmware/documentation/js/js_math.md
Ruslan Nadyrshin 9a02e23dc7
New js modules documentation added (#3736)
* New js modules documentation added
* Documentation: Spelling and formatting

Co-authored-by: ElectronicsInFocus <rnadyrshin@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-06-30 12:18:46 +01:00

6.7 KiB

js_math

Math module

let math = require("math");

Constants

PI

The number π = 3.14159265358979323846264338327950288.

E

The number e (Euler's number) = 2.71828182845904523536028747135266250.

EPSILON

The smallest number that satisfies the condition: 1.0 + EPSILON != 1.0. EPSILON = 2.2204460492503131e-16.

Methods

abs

Return the absolute value of a number.

Parameters

  • x: A number

Returns

The absolute value of x. If x is negative (including -0), returns -x. Otherwise, returns x. The result is therefore always a positive number or 0.

Example

math.abs(-5); // 5

acos

Return the inverse cosine (in radians) of a number.

Parameters

  • x: A number between -1 and 1, inclusive, representing the angle's cosine value

Returns

The inverse cosine (angle in radians between 0 and π, inclusive) of x. If x is less than -1 or greater than 1, returns NaN.

Example

math.acos(-1); // 3.141592653589793

acosh

Return the inverse hyperbolic cosine of a number.

Parameters

  • x: A number greater than or equal to 1

Returns

The inverse hyperbolic cosine of x.

Example

math.acosh(1); // 0

asin

Return the inverse sine (in radians) of a number.

Parameters

  • x: A number between -1 and 1, inclusive, representing the angle's sine value

Returns

The inverse sine (angle in radians between -𝜋/2 and 𝜋/2, inclusive) of x.

Example

math.asin(0.5); // 0.5235987755982989

asinh

Return the inverse hyperbolic sine of a number.

Parameters

  • x: A number

Returns

The inverse hyperbolic sine of x.

Example

math.asinh(1); // 0.881373587019543

atan

Return the inverse tangent (in radians) of a number.

Parameters

  • x: A number

Returns

The inverse tangent (angle in radians between -𝜋/2 and 𝜋/2, inclusive) of x.

Example

math.atan(1); // 0.7853981633974483

atan2

Return the angle in the plane (in radians) between the positive x-axis and the ray from (0, 0) to the point (x, y), for math.atan2(y, x).

Parameters

  • y: The y coordinate of the point
  • x: The x coordinate of the point

Returns

The angle in radians (between -π and π, inclusive) between the positive x-axis and the ray from (0, 0) to the point (x, y).

Example

math.atan2(90, 15); // 1.4056476493802699

atanh

The method returns the inverse hyperbolic tangent of a number.

Parameters

  • x: A number between -1 and 1, inclusive

Returns

The inverse hyperbolic tangent of x.

Example

math.atanh(0.5); // 0.5493061443340548

cbrt

Return the cube root of a number.

Parameters

  • x: A number

Returns

The cube root of x.

Example

math.cbrt(2); // 1.2599210498948732

ceil

Round up and return the smallest integer greater than or equal to a given number.

Parameters

  • x: A number

Returns

The smallest integer greater than or equal to x. It's the same value as -math.floor(-x).

Example

math.ceil(-7.004); // -7
math.ceil(7.004);  // 8

clz32

Return the number of leading zero bits in the 32-bit binary representation of a number.

Parameters

  • x: A number

Returns

The number of leading zero bits in the 32-bit binary representation of x.

Example

math.clz32(1);    // 31
math.clz32(1000); // 22

cos

Return the cosine of a number in radians.

Parameters

  • x: A number representing an angle in radians

Returns

The cosine of x, between -1 and 1, inclusive.

Example

math.cos(math.PI); // -1

exp

Return e raised to the power of a number.

Parameters

  • x: A number

Returns

A nonnegative number representing e^x, where e is the base of the natural logarithm.

Example

math.exp(0); // 1
math.exp(1); // 2.718281828459045

floor

Round down and return the largest integer less than or equal to a given number.

Parameters

  • x: A number

Returns

The largest integer smaller than or equal to x. It's the same value as -math.ceil(-x).

Example

math.floor(-45.95); // -46
math.floor(-45.05); // -46
math.floor(-0); // -0
math.floor(0); // 0
math.floor(45.05); // 45
math.floor(45.95); // 45

is_equal

Return true if the difference between numbers a and b is less than the specified parameter e.

Parameters

  • a: A number a
  • b: A number b
  • e: An epsilon parameter

Returns

True if the difference between numbers a and b is less than the specified parameter e. Otherwise, false.

Example

math.is_equal(1.4, 1.6, 0.2);      // false
math.is_equal(3.556, 3.555, 0.01); // true

max

Return the largest of two numbers given as input parameters.

Parameters

  • a: A number a
  • b: A number b

Returns

The largest of the given numbers.

Example

math.max(10, 20);   // 20
math.max(-10, -20); // -10

min

Return the smallest of two numbers given as input parameters.

Parameters

  • a: A number a
  • b: A number b

Returns

The smallest of the given numbers.

Example

math.min(10, 20);   // 10
math.min(-10, -20); // -20

pow

Return the value of a base raised to a power.

Parameters

  • base: The base number
  • exponent: The exponent number

Returns

A number representing base taken to the power of exponent.

Example

math.pow(7, 2);  // 49
math.pow(7, 3);  // 343
math.pow(2, 10); // 1024

random

Return a floating-point, pseudo-random number that's greater than or equal to 0 and less than 1, with approximately uniform distribution over that range - which you can then scale to your desired range.

Returns

A floating-point, pseudo-random number between 0 (inclusive) and 1 (exclusive).

Example

let num = math.random();

sign

Return 1 or -1, indicating the sign of the number passed as argument.

Parameters

  • x: A number

Returns

-1 if the number is less than 0, and 1 otherwise.

Example

math.sign(3);  // 1
math.sign(0);  // 1
math.sign(-3); // -1

sin

Return the sine of a number in radians.

Parameters

  • x: A number representing an angle in radians

Returns

The sine of x, between -1 and 1, inclusive.

Example

math.sin(math.PI / 2); // 1

sqrt

Return the square root of a number.

Parameters

  • x: A number greater than or equal to 0

Returns

The square root of x, a nonnegative number. If x < 0, script will fail with an error.

Example

math.sqrt(25); // 5

trunc

Return the integer part of a number by removing any fractional digits.

Parameters

  • x: A number

Returns

The integer part of x.

Example

math.trunc(-1.123); // -1
math.trunc(0.123);  // 0
math.trunc(13.37);  // 13
math.trunc(42.84);  // 42