Trait core::num::bignum::FullOps
[−]
[src]
pub trait FullOps { fn full_add(self, other: Self, carry: bool) -> (bool, Self); fn full_mul(self, other: Self, carry: Self) -> (Self, Self); fn full_mul_add(self, other: Self, other2: Self, carry: Self) -> (Self, Self); fn full_div_rem(self, other: Self, borrow: Self) -> (Self, Self); }
Unstable (
core_private_bignum
): internal routines only exposed for testing
Arithmetic operations required by bignums.
Required Methods
fn full_add(self, other: Self, carry: bool) -> (bool, Self)
Unstable (
core_private_bignum
): internal routines only exposed for testing
Returns (carry', v')
such that carry' * 2^W + v' = self + other + carry
,
where W
is the number of bits in Self
.
fn full_mul(self, other: Self, carry: Self) -> (Self, Self)
Unstable (
core_private_bignum
): internal routines only exposed for testing
Returns (carry', v')
such that carry' * 2^W + v' = self * other + carry
,
where W
is the number of bits in Self
.
fn full_mul_add(self, other: Self, other2: Self, carry: Self) -> (Self, Self)
Unstable (
core_private_bignum
): internal routines only exposed for testing
Returns (carry', v')
such that carry' * 2^W + v' = self * other + other2 + carry
,
where W
is the number of bits in Self
.
fn full_div_rem(self, other: Self, borrow: Self) -> (Self, Self)
Unstable (
core_private_bignum
): internal routines only exposed for testing
Returns (quo, rem)
such that borrow * 2^W + self = quo * other + rem
and 0 <= rem < other
, where W
is the number of bits in Self
.