Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1906 → Rev 3362

/programs/develop/libraries/newlib/math/fdlibm.h
139,7 → 139,6
 
/* Functions that are not documented, and are not in <math.h>. */
 
extern double logb __P((double));
#ifdef _SCALB_INT
extern double scalb __P((double, int));
#else
186,7 → 185,6
extern int __kernel_rem_pio2 __P((double*,double*,int,int,int,const __int32_t*));
 
/* Undocumented float functions. */
extern float logbf __P((float));
#ifdef _SCALB_INT
extern float scalbf __P((float, int));
#else
363,3 → 361,44
sf_u.word = (i); \
(d) = sf_u.value; \
} while (0)
 
/* Macros to avoid undefined behaviour that can arise if the amount
of a shift is exactly equal to the size of the shifted operand. */
 
#define SAFE_LEFT_SHIFT(op,amt) \
(((amt) < 8 * sizeof(op)) ? ((op) << (amt)) : 0)
 
#define SAFE_RIGHT_SHIFT(op,amt) \
(((amt) < 8 * sizeof(op)) ? ((op) >> (amt)) : 0)
 
#ifdef _COMPLEX_H
 
/*
* Quoting from ISO/IEC 9899:TC2:
*
* 6.2.5.13 Types
* Each complex type has the same representation and alignment requirements as
* an array type containing exactly two elements of the corresponding real type;
* the first element is equal to the real part, and the second element to the
* imaginary part, of the complex number.
*/
typedef union {
float complex z;
float parts[2];
} float_complex;
 
typedef union {
double complex z;
double parts[2];
} double_complex;
 
typedef union {
long double complex z;
long double parts[2];
} long_double_complex;
 
#define REAL_PART(z) ((z).parts[0])
#define IMAG_PART(z) ((z).parts[1])
 
#endif /* _COMPLEX_H */