7 #include "cln/ffloat.h"
17 const cl_FF scale_float (const cl_FF& x, sintC delta)
20 // x=0.0 -> x als Ergebnis
21 // delta muß betragsmäßig <= FF_exp_high-FF_exp_low sein.
22 // Neues FF mit um delta vergrößertem Exponenten bilden.
27 FF_decode(x, { return x; }, sign=,exp=,mant=);
30 { var uintC udelta = delta;
31 if (udelta <= (uintL)(FF_exp_high-FF_exp_low))
33 return encode_FF(sign,exp,mant);
36 { throw floating_point_overflow_exception(); }
40 { var uintC udelta = -delta;
41 if (udelta <= (uintL)(FF_exp_high-FF_exp_low))
43 return encode_FF(sign,exp,mant);
46 if (underflow_allowed())
47 { throw floating_point_underflow_exception(); }