s_exp2.c (86c2e0c047d762127e31ac7510188ba436d299f3) | s_exp2.c (684217d8896437b642fa8a6020bb5318b2c330ed) |
---|---|
1/*- 2 * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 350 unchanged lines hidden (view full) --- 359 return (huge * huge); /* overflow */ 360 if(x <= -0x1.0ccp10) 361 return (twom1000 * twom1000); /* underflow */ 362 } else if (ix < 0x3c900000) { /* |x| < 0x1p-54 */ 363 return (1.0 + x); 364 } 365 366 /* Reduce x, computing z, i0, and k. */ | 1/*- 2 * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 350 unchanged lines hidden (view full) --- 359 return (huge * huge); /* overflow */ 360 if(x <= -0x1.0ccp10) 361 return (twom1000 * twom1000); /* underflow */ 362 } else if (ix < 0x3c900000) { /* |x| < 0x1p-54 */ 363 return (1.0 + x); 364 } 365 366 /* Reduce x, computing z, i0, and k. */ |
367 t = x + redux; | 367 STRICT_ASSIGN(double, t, x + redux); |
368 GET_LOW_WORD(i0, t); 369 i0 += TBLSIZE / 2; 370 k = (i0 >> TBLBITS) << 20; 371 i0 = (i0 & (TBLSIZE - 1)) << 1; 372 t -= redux; 373 z = x - t; 374 375 /* Compute r = exp2(y) = exp2t[i0] * p(z - eps[i]). */ --- 21 unchanged lines hidden --- | 368 GET_LOW_WORD(i0, t); 369 i0 += TBLSIZE / 2; 370 k = (i0 >> TBLBITS) << 20; 371 i0 = (i0 & (TBLSIZE - 1)) << 1; 372 t -= redux; 373 z = x - t; 374 375 /* Compute r = exp2(y) = exp2t[i0] * p(z - eps[i]). */ --- 21 unchanged lines hidden --- |