#root::numeric

Nat root/numeric/Nat/Nat.vi

struct Nat(...);

Arbitrary-precision natural numbers.

let x = 12[Nat] + 34[Nat];
x // 46

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];

add root/numeric/Nat/Nat.vi:51

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

sub root/numeric/Nat/Nat.vi:75

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

mul_n32 root/numeric/Nat/Nat.vi:117

impl mul_n32: Mul[Nat, N32, Nat];

mul root/numeric/Nat/Nat.vi:138

impl mul: Mul[Nat, Nat, 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);

div root/numeric/Nat/Nat.vi:203

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

rem root/numeric/Nat/Nat.vi:209

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

bit_and root/numeric/Nat/Nat.vi:215

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

bit_or root/numeric/Nat/Nat.vi:232

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

bit_xor root/numeric/Nat/Nat.vi:242

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

shl root/numeric/Nat/Nat.vi:262

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

shr root/numeric/Nat/Nat.vi:280

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

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];

eq root/numeric/Nat/Nat.vi:336

impl eq: Eq[Nat];

ord root/numeric/Nat/Nat.vi:346

impl ord: Ord[Nat];

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];

show root/numeric/Nat/Nat.vi:407

impl show: Show[Nat];

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;
  1. div_rem