...
This code only performs bounds-checking on x and y. It prevents domain errors and some range errors, but does not prevent range errors where the result cannot be represented as a double (see the Error Checking section below regarding ways to mitigate the effects of a range error).
| Code Block | ||
|---|---|---|
| ||
double x, y, result;
if (((x == 0.f) && islessequal(y, 0)) ||
(isless(x, 0) && !isInteger(y))) {
/* handle domain and range errors */
}
result = pow(x, y);
|
...