#root::numeric

N32 root/numeric/N32.vi

type N32;

Natural numbers represented with 32 bits of precision.

let x = 12 + 34;
x // 46

N32 values are always in the range [0, 2^32) = [0, 4_294_967_296).

maximum root/numeric/N32.vi:20

const maximum: N32;

The maximum N32 value, 2^32 - 1.

fork root/numeric/N32.vi:22

impl fork: Fork[N32];

drop root/numeric/N32.vi:23

impl drop: Drop[N32];

add root/numeric/N32.vi:25

impl add: Add[N32, N32, N32];

sub root/numeric/N32.vi:31

impl sub: Sub[N32, N32, N32];

mul root/numeric/N32.vi:37

impl mul: Mul[N32, N32, N32];

pow root/numeric/N32.vi:43

impl pow: Pow[N32, N32, N32];

div root/numeric/N32.vi:49

impl div: Div[N32, N32, N32];

rem root/numeric/N32.vi:55

impl rem: Rem[N32, N32, N32];

div_rem root/numeric/N32.vi:61

fn div_rem(a: N32, b: N32) -> (N32, N32);

pos root/numeric/N32.vi:65

impl pos: Pos[N32, I32];

neg root/numeric/N32.vi:71

impl neg: Neg[N32, I32];

bit_and root/numeric/N32.vi:77

impl bit_and: BitAnd[N32, N32, N32];

bit_or root/numeric/N32.vi:83

impl bit_or: BitOr[N32, N32, N32];

bit_xor root/numeric/N32.vi:89

impl bit_xor: BitXor[N32, N32, N32];

shl root/numeric/N32.vi:95

impl shl: Shl[N32, N32, N32];

shr root/numeric/N32.vi:101

impl shr: Shr[N32, N32, N32];

not root/numeric/N32.vi:107

impl not: Not[N32, N32];

to_string root/numeric/N32.vi:113

impl to_string: Cast[N32, String];

show root/numeric/N32.vi:128

impl show: Show[N32];

to_binary root/numeric/N32.vi:134

fn to_binary(n: N32) -> String;

to_hex root/numeric/N32.vi:147

fn to_hex(n: N32) -> String;

parse root/numeric/N32.vi:166

fn parse(str: String) -> Option[N32];

rotate_left root/numeric/N32.vi:184

fn rotate_left(a: N32, b: N32) -> N32;

rotate_right root/numeric/N32.vi:188

fn rotate_right(a: N32, b: N32) -> N32;

ord root/numeric/N32.vi:192

impl ord: Ord[N32];

eq root/numeric/N32.vi:206

impl eq: Eq[N32];

min root/numeric/N32.vi:216

fn min(a: N32, b: N32) -> N32;

max root/numeric/N32.vi:224

fn max(a: N32, b: N32) -> N32;

diff root/numeric/N32.vi:232

fn diff(a: N32, b: N32) -> N32;

gcd root/numeric/N32.vi:240

fn gcd(a: N32, b: N32) -> N32;

sqrt root/numeric/N32.vi:247

fn sqrt(n: N32) -> N32;

log root/numeric/N32.vi:260

fn log(n: N32, b: N32) -> N32;

leading_zeros root/numeric/N32.vi:288

fn leading_zeros(n: N32) -> N32;

trailing_zeros root/numeric/N32.vi:297

fn trailing_zeros(n: N32) -> N32;