pub fn fp_to_float<T: RawFloat>(x: Fp) -> T {
    let x = x.normalize();
    // x.f is 64 bit, so x.e has a mantissa shift of 63
    let e = x.e + 63;
    if e > T::max_exp() {
        panic!("fp_to_float: exponent {} too large", e)
    }  else if e > T::min_exp() {
        encode_normal(round_normal::<T>(x))
    } else {
        panic!("fp_to_float: exponent {} too small", e)
    }
}
/// Convert an Fp to the closest f64. Only handles number that fit into a normalized f64.
Convert an Fp to the closest f64. Only handles number that fit into a normalized f64.
Convert an Fp to the closest f64 . Only handles number that fit into a normalized f64 .
pub fn fp_to_float<T: RawFloat>(x: Fp) -> T {
    let x = x.normalize();
    // x.f is 64 bit, so x.e has a mantissa shift of 63
    let e = x.e + 63;
    if e > T::max_exp() {
        panic!("fp_to_float: exponent {} too large", e)
    }  else if e > T::min_exp() {
        encode_normal(round_normal::<T>(x))
    } else {
        panic!("fp_to_float: exponent {} too small", e)
    }
}
pub fn fp_to_float < T : RawFloat > ( x : Fp ) -> T { let x = x . normalize ( ) ; // x.f is 64 bit, so x.e has a mantissa shift of 63 let e = x . e + 63 ; if e > T :: max_exp ( ) { panic ! ( " " e ) } else if e > T :: min_exp ( ) { encode_normal ( round_normal :: < T > ( x ) ) } else { panic ! ( " " e ) } }
Convert an Fp to the closest f64.
Convert an Fp to the closest f64 .
x
Fp
x
Fp