16 const cl_SF scale_float (const cl_SF& x, const cl_I& delta)
19 // x=0.0 -> x als Ergebnis
20 // delta muß ein Fixnum betragsmäßig <= SF_exp_high-SF_exp_low sein.
21 // Neues SF mit um delta vergrößertem Exponenten bilden.
26 SF_decode(x, { return x; }, sign=,exp=,mant=);
31 && ((udelta = FN_to_L(delta)) <= (uintL)(SF_exp_high-SF_exp_low))
34 return encode_SF(sign,exp,mant);
37 { cl_error_floating_point_overflow(); }
43 && ((udelta = -FN_to_L(delta)) <= (uintL)(SF_exp_high-SF_exp_low))
44 && ((cl_value_len+1<intLsize) || !(udelta==0))
47 return encode_SF(sign,exp,mant);
50 if (underflow_allowed())
51 { cl_error_floating_point_underflow(); }