/C

# isinf

Defined in header `<math.h>`
`#define isinf(arg) /* implementation defined */`
(since C99)

Determines if the given floating point number `arg` is positive or negative infinity. The macro returns an integral value.

`FLT_EVAL_METHOD` is ignored: even if the argument is evaluated with more range and precision than its type, it is first converted to its semantic type, and the classification is based on that.

### Parameters

 arg - floating point value

### Return value

Nonzero integral value if `arg` has an infinite value, `​0​` otherwise.

### Example

```#include <stdio.h>
#include <math.h>
#include <float.h>

int main(void)
{
printf("isinf(NAN)         = %d\n", isinf(NAN));
printf("isinf(INFINITY)    = %d\n", isinf(INFINITY));
printf("isinf(0.0)         = %d\n", isinf(0.0));
printf("isinf(DBL_MIN/2.0) = %d\n", isinf(DBL_MIN/2.0));
printf("isinf(1.0)         = %d\n", isinf(1.0));
printf("isinf(exp(800))    = %d\n", isinf(exp(800)));
}```

Possible output:

```isinf(NAN)         = 0
isinf(INFINITY)    = 1
isinf(0.0)         = 0
isinf(DBL_MIN/2.0) = 0
isinf(1.0)         = 0
isinf(exp(800))    = 1```
• C11 standard (ISO/IEC 9899:2011):
• 7.12.3.3 The isinf macro (p: 236)
• C99 standard (ISO/IEC 9899:1999):
• 7.12.3.3 The isinf macro (p: 217)