pub fn prev_float<T: RawFloat>(x: T) -> T {
    match x.classify() {
        Infinite => panic!("prev_float: argument is infinite"),
        Nan => panic!("prev_float: argument is NaN"),
        Subnormal => panic!("prev_float: argument is subnormal"),
        Zero => panic!("prev_float: argument is zero"),
        Normal => {
            let Unpacked { sig, k } = x.unpack();
            if sig == T::min_sig() {
                encode_normal(Unpacked::new(T::max_sig(), k - 1))
            } else {
                encode_normal(Unpacked::new(sig - 1, k))
            }
        }
    }
}
/// Find the largest floating point number strictly smaller than the argument.
/// Does not handle subnormals, zero, or exponent underflow.
Find the largest floating point number strictly smaller than the argument.
Does not handle subnormals, zero, or exponent underflow.
Find the largest floating point number strictly smaller than the argument . Does not handle subnormals zero or exponent underflow .
pub fn prev_float<T: RawFloat>(x: T) -> T {
    match x.classify() {
        Infinite => panic!("prev_float: argument is infinite"),
        Nan => panic!("prev_float: argument is NaN"),
        Subnormal => panic!("prev_float: argument is subnormal"),
        Zero => panic!("prev_float: argument is zero"),
        Normal => {
            let Unpacked { sig, k } = x.unpack();
            if sig == T::min_sig() {
                encode_normal(Unpacked::new(T::max_sig(), k - 1))
            } else {
                encode_normal(Unpacked::new(sig - 1, k))
            }
        }
    }
}
pub fn prev_float < T : RawFloat > ( x : T ) -> T { match x . classify ( ) { Infinite => panic ! ( " " ) , Nan => panic ! ( " " ) , Subnormal => panic ! ( " " ) , Zero => panic ! ( " " ) , Normal => { let Unpacked { sig , k } = x . unpack ( ) ; if sig == T :: min_sig ( ) { encode_normal ( Unpacked :: new ( T :: max_sig ( ) , k - 1 ) ) } else { encode_normal ( Unpacked :: new ( sig - 1 , k ) ) } } } }
Find the largest floating point number strictly smaller than the argument.
Find the largest floating point number strictly smaller than the argument .
x
T
x
T