Numeric Functions

Integer Functions

The following standard functions (defined in the ArithmeticPackage but excluded if using a raw Engine) operate on integers only:

FunctionDescription
is_oddreturns true if the value is an odd number, otherwise false
is_evenreturns true if the value is an even number, otherwise false

The following standard functions (defined in the BasicMathPackage but excluded if using a raw Engine) operate on integers only:

FunctionNot available underDescription
to_floatno_floatconvert the value into f64 (f32 under f32_float)
to_decimalnon-decimalconvert the value into Decimal

Signed Numeric Functions

The following standard functions (defined in the ArithmeticPackage but excluded if using a raw Engine) operate on i8, i16, i32, i64, f32, f64 and Decimal (requires decimal) only:

FunctionDescription
absabsolute value
signreturns (INT) −1 if negative, +1 if positive, 0 if zero
is_zeroreturns true if the value is zero, otherwise false

Floating-Point Functions

The following standard functions (defined in the BasicMathPackage but excluded if using a raw Engine) operate on f64 (f32 under f32_float) and Decimal (requires decimal) only:

CategorySupports DecimalFunctions
Trigonometrynosin, cos, tan, sinh, cosh, tanh in radians, hypot(x,y)
Arc-trigonometrynoasin, acos, atan(v), atan(x,y), asinh, acosh, atanh in radians
Square rootyessqrt
Exponentialyesexp (base e)
Logarithmicyesln (base e)
Logarithmicnolog(x) in base 10, log(x,base)
Roundingyesfloor, ceiling, round, int, fraction methods and properties
Conversionyesto_int, to_decimal (requires decimal), to_float (not under no_float)
Conversionnoto_degrees, to_radians
Testingnois_nan, is_finite, is_infinite methods and properties

Decimal Rounding Functions

The following rounding methods (defined in the BasicMathPackage but excluded if using a raw Engine) operate on Decimal only, which requires the decimal feature:

Rounding typeBehaviorMethods
Nonefloor, ceiling, int, fraction methods and properties
Banker’s roundinground to integerround method and property
Banker’s roundinground to specified number of decimal pointsround(decimal points)
Round upaway from zeroround_up(decimal points)
Round downtowards zeroround_down(decimal points)
Round half-upmid-point away from zeroround_half_up(decimal points)
Round half-downmid-point towards zeroround_half_down(decimal points)

Parsing Functions

The following standard functions (defined in the BasicMathPackage but excluded if using a raw Engine) parse numbers:

FunctionNo available underDescription
parse_intconverts a string to INT with an optional radix
parse_floatno_floatconverts a string to FLOAT
parse_decimalnon-decimalconverts a string to Decimal

Formatting Functions

The following standard functions (defined in the BasicStringPackage but excluded if using a raw Engine) convert integer numbers into a string of hex, octal or binary representations:

FunctionDescription
to_binaryconverts an integer number to binary
to_octalconverts an integer number to octal
to_hexconverts 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.

Constants

The following functions return standard mathematical constants:

FunctionDescription
PIreturns the value of π
Ereturns the value of e