13 void cl_FF_to_float (const cl_FF& obj, ffloatjanus* val_)
15 var ffloat val = cl_ffloat_value(obj);
16 // Der Exponent muß um FF_exp_mid-126 erniedrigt werden.
18 { var uintL exp = (val >> FF_mant_len) & (bit(FF_exp_len)-1); // e
19 if (exp < FF_exp_mid-126+1)
20 { // produziere denormalisiertes Float
21 val = (val & minus_bit(FF_exp_len+FF_mant_len)) // selbes Vorzeichen
22 | (0 << FF_mant_len) // Exponent 0
23 | (((val & (bit(FF_mant_len)-1)) | bit(FF_mant_len)) // Mantisse shiften
24 >> (FF_exp_mid-126+1 - exp) // shiften
28 { val -= (FF_exp_mid - 126) << FF_mant_len; }
30 val_->eksplicit = val;