Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Function

Domain

Range

acos(x), asin(x)

-1 <= x && x <= 1

no

atan2(y,x)

x != 0 || y != 0

no

acosh(x)

x >= 1

no

atanh(x)

-1 < x && x < 1

no

cosh(x), sinh(x)

none

yes

exp(x), exp2(x), expm1(x)

none

yes

ldexp(x, exp)

none

yes

log(x), log10(x), {{log2(x)

x > 0

no

log1p(x)

x > -1

no

ilogb(x), logb(x)

x != 0

yes

scalbn(x, n)

none

yes

hypot( x, y)

none

yes

pow(x,y)

x > 0 ||
(x == 0 && y > 0) || (x < 0 && y is an integer)

yes

sqrt(x)

x >= 0

no

erfc(x)

none

yes

lgammma(x) {{, tgamma(x)

(x == 0) ||
(x < 0 && x is an integer)

yes

lrint(x), lround(x)

no

yes

fmod(x,y)

y != 0

no

nextafter(x,y), nexttoward(x,y)

none

yes

fdim(x,y)

none

yes

fma(x,y,z)

none

yes

...

Code Block
bgColor#ccccff
double x;
double result;

if (isless(x, 0)) {
  /* handle domain error */
}

result = sqrt(x);

Anchor
HyperTrig
HyperTrig

cosh

...

(x), sinh

...

(x)

Noncompliant Code Example

...