8.0 KiB
Numeric Functions
{{#include ../links.md}}
Integer Functions
The following standard functions are defined.
Function | Not available under | Package | Description |
---|---|---|---|
is_odd method and property |
[ArithmeticPackage ][built-in packages] |
returns true if the value is an odd number, otherwise false |
|
is_even method and property |
[ArithmeticPackage ][built-in packages] |
returns true if the value is an even number, otherwise false |
|
min |
[LogicPackage ][built-in packages] |
returns the smaller of two numbers | |
max |
[LogicPackage ][built-in packages] |
returns the larger of two numbers | |
to_float |
[no_float ] |
[BasicMathPackage ][built-in packages] |
convert the value into f64 (f32 under [f32_float ]) |
to_decimal |
non-[decimal ] |
[BasicMathPackage ][built-in packages] |
convert the value into [Decimal ][rust_decimal] |
Signed Numeric Functions
The following standard functions are defined in the [ArithmeticPackage
][built-in packages]
(excluded when using a [raw Engine
]) and operate on i8
, i16
, i32
, i64
, f32
, f64
and
[Decimal
][rust_decimal] (requires [decimal
]) only.
Function | Description |
---|---|
abs |
absolute value |
sign |
returns (INT ) −1 if negative, +1 if positive, 0 if zero |
is_zero method and property |
returns true if the value is zero, otherwise false |
Floating-Point Functions
The following standard functions are defined in the [BasicMathPackage
][built-in packages]
(excluded when using a [raw Engine
]) and operate on f64
(f32
under [f32_float
]) and
[Decimal
][rust_decimal] (requires [decimal
]) only.
Category | Supports Decimal |
Functions |
---|---|---|
Trigonometry | yes | sin , cos , tan |
Trigonometry | no | sinh , cosh , tanh in radians, hypot( x, y) |
Arc-trigonometry | no | asin , acos , atan( v) , atan( x, y) , asinh , acosh , atanh in radians |
Square root | yes | sqrt |
Exponential | yes | exp (base e) |
Logarithmic | yes | ln (base e) |
Logarithmic | yes | log (base 10) |
Logarithmic | no | log( x, base) |
Rounding | yes | floor , ceiling , round , int , fraction methods and properties |
Conversion | yes | [to_int ], [to_decimal ] (requires [decimal ]), [to_float ] (not under [no_float ]) |
Conversion | no | to_degrees , to_radians |
Comparison | yes | min , max (also inter-operates with integers) |
Testing | no | is_nan , is_finite , is_infinite methods and properties |
Decimal Rounding Functions
The following rounding methods are defined in the [BasicMathPackage
][built-in packages]
(excluded when using a [raw Engine
]) and operate on [Decimal
][rust_decimal] only,
which requires the [decimal
] feature.
Rounding type | Behavior | Methods |
---|---|---|
None | floor , ceiling , int , fraction methods and properties |
|
Banker's rounding | round to integer | round method and property |
Banker's rounding | round to specified number of decimal points | round( decimal points) |
Round up | away from zero | round_up( decimal points) |
Round down | towards zero | round_down( decimal points) |
Round half-up | mid-point away from zero | round_half_up( decimal points) |
Round half-down | mid-point towards zero | round_half_down( decimal points) |
Parsing Functions
The following standard functions are defined in the [BasicMathPackage
][built-in packages]
(excluded when using a [raw Engine
]) to parse numbers.
Function | No available under | Description |
---|---|---|
[parse_int ] |
converts a [string] to INT with an optional radix |
|
[parse_float ] |
[no_float ] and non-[decimal ] |
converts a [string] to FLOAT ([Decimal ][rust_decimal] under [no_float ] and [decimal ]) |
[parse_decimal ] |
non-[decimal ] |
converts a [string] to [Decimal ][rust_decimal] |
Formatting Functions
The following standard functions are defined in the [BasicStringPackage
][built-in packages]
(excluded when using a [raw Engine
]) to convert integer numbers into a [string] of hex, octal
or binary representations.
Function | Description |
---|---|
[to_binary ] |
converts an integer number to binary |
[to_octal ] |
converts an integer number to octal |
[to_hex ] |
converts an integer number to hex |
These formatting functions are defined for all available integer numbers – i.e. INT
, u8
,
i8
, u16
, i16
, u32
, i32
, u64
, i64
, u128
and i128
unless disabled by feature flags.
Floating-point Constants
The following functions return standard mathematical constants.
Function | Description |
---|---|
PI |
returns the value of π |
E |
returns the value of e |
Numerical Functions for Scientific Computing
Check out the [rhai-sci
] crate for more numerical functions.