NAME
NaN, qNaN, Inf, isNaN, isInf – not–a–number and infinity functions

SYNOPSIS
#include <u.h>
#include <libc.h>

double NaN(void)

double qNaN(void)

double Inf(int)

int      isNaN(double)

int      isInf(double, int)

DESCRIPTION
The IEEE floating point standard defines values called `not–a–number' and positive and negative `infinity'. These values can be produced by such things as overflow and division by zero. Also, the library functions sometimes return them when the arguments are not in the domain, or the result is out of range. By default, manipulating these values may cause a floating point exception on some processors but setfcr (see getfcr(2)) can change that behavior.

NaN returns a double that is a `signalling' not–a–number; qNaN returns a `quiet' not–a–number, which will never trigger an exception. IsNaN returns true if its argument is not–a–number.

Inf(i) returns positive infinity if i is greater than or equal to zero, else negative infinity. IsInf returns true if its first argument is infinity with the same sign as the second argument, or if its first argument is either infinity if the second argument is zero.

SOURCE
/sys/src/libc/port/nan.c

SEE ALSO
getfcr(2)
Copyright © 2025 Plan 9 Foundation