Home | History | Annotate | Download | only in spmath

Lines Matching refs:result

57     register unsigned int left, right, result, extent;
90 Sgl_makequietnan(result);
91 *dstptr = result;
200 /* Left is not a zero and must be the result. Trapped
201 * underflows are signaled if left is denormalized. Result
223 /* Both operands are denormalized. The result must be exact
228 Sgl_subtract(left,/*minus*/right,/*into*/result);
229 if(Sgl_iszero_mantissa(result))
233 Sgl_setone_sign(result);
237 Sgl_setzero_sign(result);
239 *dstptr = result;
245 Sgl_addition(left,right,/*into*/result);
246 if(Sgl_isone_hidden(result))
248 *dstptr = result;
254 /* need to normalize result */
255 sign_save = Sgl_signextendedsign(result);
256 Sgl_leftshiftby1(result);
257 Sgl_normalize(result,result_exponent);
258 Sgl_set_sign(result,/*using*/sign_save);
259 Sgl_setwrapped_exponent(result,result_exponent,unfl);
260 *dstptr = result;
263 *dstptr = result;
299 Sgl_subtract_withextension(left,/*minus*/right,/*with*/extent,/*into*/result);
300 if(Sgl_iszero_hidden(result))
303 /* A straight forward algorithm would now shift the result
312 sign_save = Sgl_signextendedsign(result);
313 Sgl_leftshiftby1_withextent(result,extent,result);
315 /* Need to check for a zero result. The sign and exponent
319 if(Sgl_iszero(result))
322 if(Is_rounding_mode(ROUNDMINUS)) Sgl_setone_sign(result);
323 *dstptr = result;
328 if(Sgl_isone_hidden(result))
339 Sgl_set_sign(result,/*using*/sign_save);
355 * modified binary search. We have already shifted the result
359 while(Sgl_iszero_hiddenhigh7mantissa(result))
361 Sgl_leftshiftby8(result);
366 if(Sgl_iszero_hiddenhigh3mantissa(result))
369 Sgl_leftshiftby4(result);
375 if((jumpsize = Sgl_hiddenhigh3mantissa(result)) > 7)
379 Sgl_set_sign(result,/*using*/sign_save);
380 Sgl_set_exponent(result,/*using*/result_exponent);
381 *dstptr = result;
384 Sgl_sethigh4bits(result,/*using*/sign_save);
389 Sgl_leftshiftby3(result);
396 Sgl_leftshiftby2(result);
405 Sgl_leftshiftby1(result);
412 Sgl_set_exponent(result,/*using*/result_exponent);
413 *dstptr = result;
420 Sgl_set_sign(result,sign_save);
421 Sgl_setwrapped_exponent(result,result_exponent,unfl);
422 *dstptr = result;
427 * Since we cannot get an inexact denormalized result,
430 Sgl_right_align(result,/*by*/(1-result_exponent),extent);
431 Sgl_clear_signexponent(result);
432 Sgl_set_sign(result,sign_save);
433 *dstptr = result;
441 Sgl_addition(left,right,/*to*/result);
442 if(Sgl_isone_hiddenoverflow(result))
445 Sgl_rightshiftby1_withextent(result,extent,extent);
446 Sgl_arithrightshiftby1(result);
451 /* Round the result. If the extension is all zeros,then the result is
466 Sgl_isone_lowmantissa(result))
469 Sgl_increment(result);
475 if(Sgl_iszero_sign(result))
478 Sgl_increment(result);
483 if(Sgl_isone_sign(result))
486 Sgl_increment(result);
492 if(Sgl_isone_hiddenoverflow(result)) result_exponent++;
499 Sgl_setwrapped_exponent(result,result_exponent,ovfl);
500 *dstptr = result;
512 Sgl_setoverflow(result);
515 else Sgl_set_exponent(result,result_exponent);
516 *dstptr = result;