Richard Henderson <richard.hender...@linaro.org> writes: > On 01/24/2018 05:13 AM, Alex Bennée wrote: >> +/* Multiply A by 2 raised to the power N. */ >> +static FloatParts scalbn_decomposed(FloatParts a, int n, >> + float_status *s) >> +{ >> + if (a.cls == float_class_normal) { >> + a.exp += n; >> + } >> + return a; >> +} > > ... > >> - if ( aExp == 0x7FF ) { >> - if ( aSig ) { >> - return propagateFloat64NaN(a, a, status); > > This is where we used to raise inexact. > In the new function we need to handle this as in round_to_int.
Why is the handling in round_canonical not good enough for this? -- Alex Bennée