[][src]Module rustc_apfloat::ieee::sig

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Implementation details of IeeeFloat significands, such as big integer arithmetic. As a rule of thumb, no functions in this module should dynamically allocate.

Functions

add [
Experimental
]

a += b + c where c is zero or one. Returns the carry flag.

add_or_sub [
Experimental
]

a += b or a -= b. Does not preserve b.

clear_bit [
Experimental
]

Clear the given bit.

cmp [
Experimental
]

Comparison (unsigned) of two significands.

decrement [
Experimental
]

Decrement in-place, return the borrow flag.

div [
Experimental
]

quotient = dividend / divisor. Returns the lost fraction. Does not preserve dividend or divisor.

each_chunk [
Experimental
]

For every consecutive chunk of bits bits from limbs, going from most significant to the least significant bits, call f to transform those bits and store the result back.

extract [
Experimental
]

Copy the bit vector of width src_bits from src, starting at bit SRC_LSB, to dst, such that the bit SRC_LSB becomes the least significant bit of dst. All high bits above src_bits in dst are zero-filled.

from_limbs [
Experimental
]

We want the most significant PRECISION bits of src. There may not be that many; extract what we can.

get_bit [
Experimental
]

Extract the given bit.

increment [
Experimental
]

Increment in-place, return the carry flag.

is_all_zeros [
Experimental
]
mul [
Experimental
]

dst = a * b (for normal a and b). Returns the lost fraction.

olsb [
Experimental
]

One, not zero, based LSB. That is, returns 0 for a zeroed significand.

omsb [
Experimental
]

One, not zero, based MSB. That is, returns 0 for a zeroed significand.

set_bit [
Experimental
]

Set the given bit.

shift_left [
Experimental
]

Shift dst left bits bits, subtract bits from its exponent.

shift_right [
Experimental
]

Shift dst right bits bits noting lost fraction.

sub [
Experimental
]

a -= b + c where c is zero or one. Returns the borrow flag.

widening_mul [
Experimental
]

[low, high] = a * b.