fn float_to_decimal_common<T>(fmt: &mut Formatter, num: &T, negative_zero: bool) -> Result
    where T: flt2dec::DecodableFloat
{
    let force_sign = fmt.sign_plus();
    let sign = match (force_sign, negative_zero) {
        (false, false) => flt2dec::Sign::Minus,
        (false, true)  => flt2dec::Sign::MinusRaw,
        (true,  false) => flt2dec::Sign::MinusPlus,
        (true,  true)  => flt2dec::Sign::MinusPlusRaw,
    };

    let mut buf = [0; 1024]; // enough for f32 and f64
    let mut parts = [flt2dec::Part::Zero(0); 16];
    let formatted = if let Some(precision) = fmt.precision {
        flt2dec::to_exact_fixed_str(flt2dec::strategy::grisu::format_exact, *num, sign,
                                    precision, false, &mut buf, &mut parts)
    } else {
        flt2dec::to_shortest_str(flt2dec::strategy::grisu::format_shortest, *num, sign,
                                 0, false, &mut buf, &mut parts)
    };
    fmt.pad_formatted_parts(&formatted)
}
// Common code of floating point Debug and Display.
Common code of floating point Debug and Display.
Common code of floating point Debug and Display .
fn float_to_decimal_common<T>(fmt: &mut Formatter, num: &T, negative_zero: bool) -> Result
    where T: flt2dec::DecodableFloat
{
    let force_sign = fmt.sign_plus();
    let sign = match (force_sign, negative_zero) {
        (false, false) => flt2dec::Sign::Minus,
        (false, true)  => flt2dec::Sign::MinusRaw,
        (true,  false) => flt2dec::Sign::MinusPlus,
        (true,  true)  => flt2dec::Sign::MinusPlusRaw,
    };
    let mut buf = [0; 1024]; // enough for f32 and f64
    let mut parts = [flt2dec::Part::Zero(0); 16];
    let formatted = if let Some(precision) = fmt.precision {
        flt2dec::to_exact_fixed_str(flt2dec::strategy::grisu::format_exact, *num, sign,
                                    precision, false, &mut buf, &mut parts)
    } else {
        flt2dec::to_shortest_str(flt2dec::strategy::grisu::format_shortest, *num, sign,
                                 0, false, &mut buf, &mut parts)
    };
    fmt.pad_formatted_parts(&formatted)
}
fn float_to_decimal_common < T > ( fmt : & mut Formatter , num : & T , negative_zero : bool ) -> Result where T : flt2dec :: DecodableFloat { let force_sign = fmt . sign_plus ( ) ; let sign = match ( force_sign , negative_zero ) { ( false , false ) => flt2dec :: Sign :: Minus , ( false , true ) => flt2dec :: Sign :: MinusRaw , ( true , false ) => flt2dec :: Sign :: MinusPlus , ( true , true ) => flt2dec :: Sign :: MinusPlusRaw , } ; let mut buf = [ 0 ; 1024 ] ; // enough for f32 and f64 let mut parts = [ flt2dec :: Part :: Zero ( 0 ) ; 16 ] ; let formatted = if let Some ( precision ) = fmt . precision { flt2dec :: to_exact_fixed_str ( flt2dec :: strategy :: grisu :: format_exact , * num , sign , precision , false , & mut buf , & mut parts ) } else { flt2dec :: to_shortest_str ( flt2dec :: strategy :: grisu :: format_shortest , * num , sign , 0 , false , & mut buf , & mut parts ) } ; fmt . pad_formatted_parts ( & formatted ) }
Common code of floating point Debug and Display.
Common code of floating point Debug and Display .
fmt
&mut Formatter
num
&T
negative_zero
bool
fmt
&mut Formatter
num
&T
negative_zero
bool