/usr/ucb/cc [flag . . . ] file . . .#include <fp.h> #include <math.h> #include <stdio.h>
enum fp_class_type fp_class(double x);
int isnan(double x);
double copysign(double x, double y);
double scalbn(double x, int n);
fp_class(x) corresponds to the IEEE's class() and classifies x as zero, subnormal, normal, , or quiet or signaling NaN; /usr/ucbinclude/sys/ieeefp.h defines enum fp_class_type. The following function returns 0 if the indicated condition is not satisfied:
copysign(x,y) returns x with y's sign bit.
scalbn(x,n) returns x* 2**n computed by exponent manipulation rather than by actually performing an exponentiation or a multiplication. Thus
1 scalbn(fabs(x),-ilogb(x)) < 2
for every x except 0, , and NaN.