#root::numeric
Nat root/numeric/Nat/Nat.vi
struct Nat(...);
Arbitrary-precision natural numbers.
let x = 12[Nat] + 34[Nat]; x // 46
impl
impl : Fork[Nat]; impl : Drop[Nat]; impl : Fork[Nat]; impl : Drop[Nat]; impl : Add[Nat, Nat, Nat]; impl : Sub[Nat, Nat, Nat]; impl : Mul[Nat, Nat, Nat]; impl : Div[Nat, Nat, Nat]; impl : Rem[Nat, Nat, Nat]; impl : BitAnd[Nat, Nat, Nat]; impl : BitOr[Nat, Nat, Nat]; impl : BitXor[Nat, Nat, Nat]; impl : Shl[Nat, N32, Nat]; impl : Shr[Nat, N32, Nat]; impl : Eq[Nat]; impl : Ord[Nat]; impl : Show[Nat];
div_rem root/numeric/Nat/div_rem.vi
fn div_rem(a: Nat, d: Nat) -> (Nat, Nat);
from_parts root/numeric/Nat/Nat.vi:20
fn from_parts(parts: List[N32]) -> Nat;
to_parts root/numeric/Nat/Nat.vi:25
fn to_parts(...: Nat) -> List[N32];
is_zero root/numeric/Nat/Nat.vi:29
fn is_zero(...: &Nat) -> Bool;
add_n32 root/numeric/Nat/Nat.vi:33
impl add_n32: Add[Nat, N32, Nat];
mul_n32 root/numeric/Nat/Nat.vi:117
impl mul_n32: Mul[Nat, N32, Nat];
pow_n32 root/numeric/Nat/Nat.vi:157
impl pow_n32: Pow[Nat, N32, Nat];
div_n32 root/numeric/Nat/Nat.vi:163
impl div_n32: Div[Nat, N32, Nat];
rem_n32 root/numeric/Nat/Nat.vi:169
impl rem_n32: Rem[Nat, N32, N32];
div_rem_n32 root/numeric/Nat/Nat.vi:175
fn div_rem_n32(a: Nat, d: N32) -> (Nat, N32);
from_n32 root/numeric/Nat/Nat.vi:302
impl from_n32: Cast[N32, Nat];
to_n32 root/numeric/Nat/Nat.vi:312
impl to_n32: Cast[Nat, N32];
from_n64 root/numeric/Nat/Nat.vi:318
impl from_n64: Cast[N64, Nat];
to_n64 root/numeric/Nat/Nat.vi:328
impl to_n64: Cast[Nat, N64];
parse root/numeric/Nat/Nat.vi:374
fn parse(str: String) -> Option[Nat];
to_string root/numeric/Nat/Nat.vi:392
impl to_string: Cast[Nat, String];
trailing_zeros root/numeric/Nat/Nat.vi:413
fn trailing_zeros(...: &Nat) -> N32;
gcd root/numeric/Nat/Nat.vi:424
fn gcd(a: Nat, b: Nat) -> Nat;