Rev 1906 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1906 | Rev 3362 | ||
---|---|---|---|
Line 137... | Line 137... | ||
137 | #define X_TLOSS 1.41484755040568800000e+16 |
137 | #define X_TLOSS 1.41484755040568800000e+16 |
Line 138... | Line 138... | ||
138 | 138 | ||
Line 139... | Line -... | ||
139 | /* Functions that are not documented, and are not in |
- | |
140 | 139 | /* Functions that are not documented, and are not in |
|
141 | extern double logb __P((double)); |
140 | |
142 | #ifdef _SCALB_INT |
141 | #ifdef _SCALB_INT |
143 | extern double scalb __P((double, int)); |
142 | extern double scalb __P((double, int)); |
144 | #else |
143 | #else |
Line 184... | Line 183... | ||
184 | extern double __kernel_tan __P((double,double,int)); |
183 | extern double __kernel_tan __P((double,double,int)); |
185 | extern int __kernel_rem_pio2 __P((double*,double*,int,int,int,const __int32_t*)); |
184 | extern int __kernel_rem_pio2 __P((double*,double*,int,int,int,const __int32_t*)); |
186 | 185 | ||
Line 187... | Line 186... | ||
187 | /* Undocumented float functions. */ |
186 | /* Undocumented float functions. */ |
188 | extern float logbf __P((float)); |
- | |
189 | #ifdef _SCALB_INT |
187 | #ifdef _SCALB_INT |
190 | extern float scalbf __P((float, int)); |
188 | extern float scalbf __P((float, int)); |
191 | #else |
189 | #else |
192 | extern float scalbf __P((float, float)); |
190 | extern float scalbf __P((float, float)); |
193 | #endif |
191 | #endif |
Line 361... | Line 359... | ||
361 | ieee_float_shape_type sf_u; \ |
359 | ieee_float_shape_type sf_u; \ |
362 | sf_u.word = (i); \ |
360 | sf_u.word = (i); \ |
363 | (d) = sf_u.value; \ |
361 | (d) = sf_u.value; \ |
364 | } while (0)0x00800000L) |
362 | } while (0) |
365 | #define>0x00800000L) |
363 | |
- | 364 | /* Macros to avoid undefined behaviour that can arise if the amount |
|
- | 365 | of a shift is exactly equal to the size of the shifted operand. */ |
|
- | 366 | ||
- | 367 | #define SAFE_LEFT_SHIFT(op,amt) \ |
|
- | 368 | (((amt) < 8 * sizeof(op)) ? ((op) << (amt)) : 0) |
|
- | 369 | ||
- | 370 | #define SAFE_RIGHT_SHIFT(op,amt) \ |
|
- | 371 | (((amt) < 8 * sizeof(op)) ? ((op) >> (amt)) : 0) |
|
- | 372 | ||
- | 373 | #ifdef _COMPLEX_H |
|
- | 374 | ||
- | 375 | /* |
|
- | 376 | * Quoting from ISO/IEC 9899:TC2: |
|
- | 377 | * |
|
- | 378 | * 6.2.5.13 Types |
|
- | 379 | * Each complex type has the same representation and alignment requirements as |
|
- | 380 | * an array type containing exactly two elements of the corresponding real type; |
|
- | 381 | * the first element is equal to the real part, and the second element to the |
|
- | 382 | * imaginary part, of the complex number. |
|
- | 383 | */ |
|
- | 384 | typedef union { |
|
- | 385 | float complex z; |
|
- | 386 | float parts[2]; |
|
- | 387 | } float_complex; |
|
- | 388 | ||
- | 389 | typedef union { |
|
- | 390 | double complex z; |
|
- | 391 | double parts[2]; |
|
- | 392 | } double_complex; |
|
- | 393 | ||
- | 394 | typedef union { |
|
- | 395 | long double complex z; |
|
- | 396 | long double parts[2]; |
|
- | 397 | } long_double_complex; |
|
- | 398 | ||
- | 399 | #define REAL_PART(z) ((z).parts[0]) |
|
- | 400 | #define IMAG_PART(z) ((z).parts[1]) |
|
- | 401 | ||
- | 402 | #endif /* _COMPLEX_H */>><>>0x00800000L) |
|
- | 403 | #define>0x00800000L) |
|
- | 404 | #define>23)) |