#include #include extern int errno; double errcheck(); double Log(x) double x; { return errcheck(log(x), "log"); } double Log10(x) double x; { return errcheck(log10(x), "log10"); } double Sqrt(x) double x; { return errcheck(sqrt(x), "sqrt"); } double Exp(x) double x; { return errcheck(exp(x), "exp"); } double Pow(x, y) double x, y; { return errcheck(pow(x,y), "exponentiation"); } double integer(x) double x; { return (double)(long)x; } double errcheck(d, s) /* check result of library call */ double d; char *s; { if (errno == EDOM) { errno = 0; execerror(s, "argument out of domain"); } else if (errno == ERANGE) { errno = 0; execerror(s, "result out of range"); } return d; }