* New js modules documentation added * Documentation: Spelling and formatting Co-authored-by: ElectronicsInFocus <rnadyrshin@gmail.com> Co-authored-by: あく <alleteam@gmail.com>
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