Sha256: f8f1e4c27a85d2cdb3c8e74439d59ef64aa543b948f22c23227d02d8388d61c2

Contents?: true

Size: 739 Bytes

Versions: 11

Compression:

Stored size: 739 Bytes

Contents

pub fn modff(x: f32) -> (f32, f32) {
    let rv2: f32;
    let mut u: u32 = x.to_bits();
    let mask: u32;
    let e = ((u >> 23 & 0xff) as i32) - 0x7f;

    /* no fractional part */
    if e >= 23 {
        rv2 = x;
        if e == 0x80 && (u << 9) != 0 {
            /* nan */
            return (x, rv2);
        }
        u &= 0x80000000;
        return (f32::from_bits(u), rv2);
    }
    /* no integral part */
    if e < 0 {
        u &= 0x80000000;
        rv2 = f32::from_bits(u);
        return (x, rv2);
    }

    mask = 0x007fffff >> e;
    if (u & mask) == 0 {
        rv2 = x;
        u &= 0x80000000;
        return (f32::from_bits(u), rv2);
    }
    u &= !mask;
    rv2 = f32::from_bits(u);
    return (x - rv2, rv2);
}

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
wasmtime-29.0.0 ./ext/cargo-vendor/libm-0.2.11/src/math/modff.rs
wasmtime-28.0.0 ./ext/cargo-vendor/libm-0.2.11/src/math/modff.rs
wasmtime-27.0.0 ./ext/cargo-vendor/libm-0.2.11/src/math/modff.rs
wasmtime-26.0.0 ./ext/cargo-vendor/libm-0.2.8/src/math/modff.rs
wasmtime-25.0.2 ./ext/cargo-vendor/libm-0.2.8/src/math/modff.rs
wasmtime-25.0.1 ./ext/cargo-vendor/libm-0.2.8/src/math/modff.rs
wasmtime-25.0.0 ./ext/cargo-vendor/libm-0.2.8/src/math/modff.rs
wasmtime-24.0.0 ./ext/cargo-vendor/libm-0.2.8/src/math/modff.rs
wasmtime-23.0.2 ./ext/cargo-vendor/libm-0.2.8/src/math/modff.rs
wasmtime-22.0.0 ./ext/cargo-vendor/libm-0.2.8/src/math/modff.rs
wasmtime-21.0.1 ./ext/cargo-vendor/libm-0.2.8/src/math/modff.rs