Skip to main content

Module std::macros

This module holds shared implementation of macros used in std

Macro function num_max​

public(package) macro fun num_max<$T>($x: $T, $y: $T): $T

Macro function num_min​

public(package) macro fun num_min<$T>($x: $T, $y: $T): $T

Macro function num_diff​

public(package) macro fun num_diff<$T>($x: $T, $y: $T): $T

Macro function num_div_ceil​

public(package) macro fun num_div_ceil<$T>($x: $T, $y: $T): $T

Macro function num_pow​

public(package) macro fun num_pow($base: _, $exponent: u8): _

Macro function num_sqrt​

public(package) macro fun num_sqrt<$T, $U>($x: $T, $bitsize: u8): $T

Macro function num_to_string​

public(package) macro fun num_to_string($x: _): std::string::String

Macro function num_checked_add​

public(package) macro fun num_checked_add<$T>($x: $T, $y: $T, $max_t: $T): std::option::Option<$T>

Macro function num_checked_sub​

public(package) macro fun num_checked_sub<$T>($x: $T, $y: $T): std::option::Option<$T>

Macro function num_checked_mul​

public(package) macro fun num_checked_mul<$T>($x: $T, $y: $T, $max_t: $T): std::option::Option<$T>

Macro function num_checked_div​

public(package) macro fun num_checked_div<$T>($x: $T, $y: $T): std::option::Option<$T>

Macro function num_saturating_add​

public(package) macro fun num_saturating_add<$T>($x: $T, $y: $T, $max_t: $T): $T

Macro function num_saturating_sub​

public(package) macro fun num_saturating_sub<$T>($x: $T, $y: $T): $T

Macro function num_saturating_mul​

public(package) macro fun num_saturating_mul<$T>($x: $T, $y: $T, $max_t: $T): $T

Macro function num_checked_shl​

public macro fun num_checked_shl<$T>($x: $T, $shift: u8, $bit_size: u8): std::option::Option<$T>

Macro function num_checked_shr​

public macro fun num_checked_shr<$T>($x: $T, $shift: u8, $bit_size: u8): std::option::Option<$T>

Macro function num_lossless_shl​

public macro fun num_lossless_shl<$T>($x: $T, $shift: u8, $bit_size: u8): std::option::Option<$T>

Macro function num_lossless_shr​

public macro fun num_lossless_shr<$T>($x: $T, $shift: u8, $bit_size: u8): std::option::Option<$T>

Macro function num_lossless_div​

public macro fun num_lossless_div<$T>($x: $T, $y: $T): std::option::Option<$T>

Macro function range_do​

public macro fun range_do<$T, $R: drop>($start: $T, $stop: $T, $f: |$T| -> $R)

Macro function range_do_eq​

public macro fun range_do_eq<$T, $R: drop>($start: $T, $stop: $T, $f: |$T| -> $R)

Macro function do​

public macro fun do<$T, $R: drop>($stop: $T, $f: |$T| -> $R)

Macro function do_eq​

public macro fun do_eq<$T, $R: drop>($stop: $T, $f: |$T| -> $R)

Macro function try_as_u8​

public(package) macro fun try_as_u8($x: _): std::option::Option<u8>

Macro function try_as_u16​

public(package) macro fun try_as_u16($x: _): std::option::Option<u16>

Macro function try_as_u32​

public(package) macro fun try_as_u32($x: _): std::option::Option<u32>

Macro function try_as_u64​

public(package) macro fun try_as_u64($x: _): std::option::Option<u64>

Macro function try_as_u128​

public(package) macro fun try_as_u128($x: _): std::option::Option<u128>

Macro function num_mul_div​

public(package) macro fun num_mul_div<$T, $U>($a: $T, $b: $T, $c: $T): $T

Macro function num_mul_div_ceil​

public(package) macro fun num_mul_div_ceil<$T, $U>($a: $T, $b: $T, $c: $T): $T

Macro function uq_from_quotient​

Creates a fixed-point value from a quotient specified by its numerator and denominator. $T is the underlying integer type for the fixed-point value, where $T has $t_bits bits. $U is the type used for intermediate calculations, where $U is the next larger integer type. $max_t is the maximum value that can be represented by $T. $t_bits (as mentioned above) is the total number of bits in the fixed-point value (integer plus fractional). $fractional_bits is the number of fractional bits in the fixed-point value.

public(package) macro fun uq_from_quotient<$T, $U>($numerator: $T, $denominator: $T, $max_t: $T, $t_bits: u8, $fractional_bits: u8, $abort_denominator: _, $abort_quotient_too_small: _, $abort_quotient_too_large: _): $T

Macro function uq_from_int​

public(package) macro fun uq_from_int<$T, $U>($integer: $T, $fractional_bits: u8): $U

Macro function uq_add​

public(package) macro fun uq_add<$T, $U>($a: $T, $b: $T, $max_t: $T, $abort_overflow: _): $T

Macro function uq_sub​

public(package) macro fun uq_sub<$T>($a: $T, $b: $T, $abort_overflow: _): $T

Macro function uq_to_int​

public(package) macro fun uq_to_int<$T, $U>($a: $U, $fractional_bits: u8): $T

Macro function uq_int_mul​

public(package) macro fun uq_int_mul<$T, $U>($val: $T, $multiplier: $T, $max_t: $T, $fractional_bits: u8, $abort_overflow: _): $T

Macro function uq_int_div​

public(package) macro fun uq_int_div<$T, $U>($val: $T, $divisor: $T, $max_t: $T, $fractional_bits: u8, $abort_division_by_zero: _, $abort_overflow: _): $T