number
abs
|Number| -> Number
Returns the absolute value of the number.
Example
-1.abs
# -> 1
1.abs
# -> 1
acos
|Number| -> Float
Returns the arc cosine of the number. acos
is the inverse function of cos
.
Example
from number import pi
assert_near 0.acos, pi / 2
assert_eq 1.acos, 0
acosh
|Number| -> Float
Returns the inverse hyperbolic cosine of the number.
Example
assert 0.acosh.is_nan
assert_eq 1.acosh, 0
assert_near 2.acosh, 1.3169578969248166
and
|Integer, Integer| -> Integer
Returns the bitwise combination of two integers, where a 1
in both input
positions produces a 1
in corresponding output positions.
Example
0b1010.and 0b1100
# 0b1000
# -> 8
asin
|Number| -> Float
Returns the arc sine of the number. asin
is the inverse function of sin
.
Example
from number import pi
assert_eq 0.asin, 0
assert_near 1.asin, pi / 2
asinh
|Number| -> Float
Returns the inverse hyperbolic sine of the number.
Example
assert_eq 0.asinh, 0
assert_near 1.asinh, 0.8813735870195429
atan
|Number| -> Float
Returns the arc tangent of the number. atan
is the inverse function of tan
.
Example
from number import pi
assert_eq 0.atan, 0
assert_near 1.atan, pi / 4
atanh
|Number| -> Float
Returns the inverse hyperbolic tangent of the number.
Example
-1.atanh
# -> -inf
0.atanh
# -> 0.0
1.atanh
# -> inf
atan2
|Number, Number| -> Float
Returns the arc tangent of y
and x
in radians, using the signs of y
and
x
to determine the correct quadrant.
Example
from number import pi
x, y = 1, 1
assert_near y.atan2, pi / 4
assert_near y.atan2, pi - pi / 4
ceil
|Number| -> Integer
Returns the integer that's greater than or equal to the input.
Example
0.5.ceil
# -> 1
2.ceil
# -> 2
-0.5.ceil
# -> 0
See Also
clamp
|Number, Number, Number| -> Number
Returns the first number restricted to the range defined by the second and third numbers.
Example
0.clamp 1, 2
# -> 1
1.5.clamp 1, 2
# -> 1.5
3.0.clamp 1, 2
# -> 2
cos
|Number| -> Float
Returns the cosine of the number.
Example
0.cos
# -> 1.0
number.pi.cos
# -> -1.0
cosh
|Number| -> Float
Returns the hyperbolic cosine of the number.
Example
assert_eq 0.cosh, 1
assert_near 1.cosh, 1.5430806348152437
degrees
|Number| -> Float
Converts radians into degrees.
Example
from number import pi, tau
pi.degrees
# -> 180.0
tau.degrees
# -> 360.0
e
Float
Provides the e
constant.
exp
|Number| -> Float
Returns the result of applying the exponential function,
equivalent to calling e.pow x
.
Example
assert_eq 0.exp, 1
assert_eq 1.exp, number.e
exp2
|Number| -> Float
Returns the result of applying the base-2 exponential function,
equivalent to calling 2.pow x
.
Example
1.exp2
# -> 2.0
3.exp2
# -> 8.0
flip_bits
|Integer| -> Integer
Returns the input with its bits 'flipped', i.e. 1
=> 0
, and 0
=> 1
.
Example
1.flip_bits
# -> -2
floor
|Number| -> Integer
Returns the integer that's less than or equal to the input.
Example
0.5.floor
# -> 0
2.floor
# -> 2
-0.5.floor
# -> -1
See Also
infinity
Float
Provides the ∞
constant.
is_nan
|Number| -> Bool
Returns true if the number is NaN
.
Example
1.is_nan
# -> false
.is_nan
# -> true
lerp
|a: Number, b: Number, t: Number| -> Float
Linearly interpolates between a
and b
using the interpolation factor t
.
The range (a
-> b
) corresponds to the value range of (0
-> 1
) for t
.
e.g.
- At
t
==0
, the result is equal toa
. - At
t
==1
, the result is equal tob
. - At other values of
t
, the result is a proportional mix ofa
andb
. - Values for
t
outside of (0
->1
) will extrapolate from the (a
->b
) range.
Example
a, b = 1, 2
a.lerp b, 0
# -> 1
a.lerp b, 0.5
# -> 1.5
a.lerp b, 1
# -> 2
a.lerp b, -0.5
# -> 0.5
a.lerp b, 1.5
# -> 2.5
ln
|Number| -> Float
Returns the natural logarithm of the number.
Example
1.ln
# -> 0.0
number.e.ln
# -> 1.0
log2
|Number| -> Float
Returns the base-2 logarithm of the number.
Example
2.log2
# -> 1.0
4.log2
# -> 2.0
log10
|Number| -> Float
Returns the base-10 logarithm of the number.
Example
10.log10
# -> 1.0
100.log10
# -> 2.0
max
|Number, Number| -> Number
Returns the larger of the two numbers.
Example
1.max 2
# -> 2
4.5.max 3
# -> 4.5
min
|Number, Number| -> Number
Returns the smaller of the two numbers.
Example
1.min 2
# -> 1
4.5.min 3
# -> 3
nan
Float
Provides the NaN
(Not a Number) constant.
negative_infinity
Float
Provides the -∞
constant.
or
|Integer, Integer| -> Integer
Returns the bitwise combination of two integers, where a 1
in either input
positions produces a 1
in corresponding output positions.
Example
0b1010.or 0b1100
# 0b1110
# -> 14
pi
Float
Provides the π
constant.
pi_2
Float
Provides the π
constant divided by 2
.
pi_4
Float
Provides the π
constant divided by 4
.
pow
|Number, Number| -> Number
Returns the result of raising the first number to the power of the second.
Example
2.pow 3
# -> 8
radians
|Number| -> Float
Converts degrees into radians.
Example
from number import pi
assert_near 90.radians, pi / 2
assert_near 360.radians, pi * 2
recip
|Number| -> Float
Returns the reciprocal of the number, i.e. 1 / x
.
Example
2.recip
# -> 0.5
round
|Number| -> Integer
Returns the nearest integer to the input number. Half-way values round away from zero.
Example
0.5.round
# -> 1
2.round
# -> 2
-0.5.round
# -> -1
See Also
shift_left
|Integer, Integer| -> Integer
Returns the result of shifting the bits of the first number to the left by the amount specified by the second number.
Note
The shift amount must be greater than or equal to 0
.
Example
0b1010.shift_left 2
# 0b101000
# -> 40
shift_right
|Integer, Integer| -> Integer
Returns the result of shifting the bits of the first number to the right by the amount specified by the second number.
Note
The shift amount must be greater than or equal to 0
.
Example
0b1010.shift_right 2
# 0b0010
# -> 2
sin
|Number| -> Float
Returns the sine of the number.
Example
from number import pi
.sin
# -> 1.0
.sin
# -> -1.0
sinh
|Number| -> Float
Returns the hyperbolic sine of the number.
Example
assert_eq 0.sinh, 0
assert_near 1.sinh, 1.1752011936438014
sqrt
|Number| -> Float
Returns the square root of the number.
Example
64.sqrt
# -> 8.0
tan
|Number| -> Float
Returns the tangent of the number.
Example
assert_eq 0.tan, 0
assert_near 1.tan, 1.557407724654902
tanh
|Number| -> Float
Returns the hyperbolic tangent of the number.
Example
assert_near 1.tanh, 1.sinh / 1.cosh
tau
Float
Provides the τ
constant, equivalent to 2π
.
to_float
|Number| -> Float
Returns the number as a Float
.
Example
1.to_float
# -> 1.0
to_int
|Number| -> Integer
Converts a Number into an integer by removing its fractional part.
This is often called trunc
in other languages.
Example
2.9.to_int
# -> 2
1.5.to_int
# -> 1
-0.5.to_int
# -> 0
-1.9.to_int
# -> -1
See Also
xor
|Integer, Integer| -> Integer
Returns the bitwise combination of two integers,
where a 1
in one (and only one) of the input positions
produces a 1
in corresponding output positions.
Example
0b1010.xor 0b1100
# 0b0110
# -> 6