Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fpgetround(3C)

isnan(3C)

NAME

isnan, isnand, isnanf, finite, fpclass, unordered − determine type of floating-point number

SYNOPSIS

#include <ieeefp.h>

int isnand(double dsrc);

int isnanf(float fsrc);

int finite(double dsrc);

fpclass_t fpclass(double dsrc);

int unordered(double dsrc1, double dsrc2);

#include <math.h>

int isnan(double dsrc);

DESCRIPTION

The functionalty of isnan() is identical to that of isnand(). 

isnanf() is implemented as a macro included in the <ieeefp.h> header. 

fpclass() returns the class the dsrc belongs to.  The 10 possible classes are as follows:

FP_SNAN signaling NaN

FP_QNAN quiet NaN

FP_NINF negative infinity

FP_PINF positive infinity

FP_NDENORM negative denormalized non-zero

FP_PDENORM positive denormalized non-zero

FP_NZERO negative zero

FP_PZERO positive zero

FP_NNORM negative normalized non-zero

FP_PNORM positive normalized non-zero

None of these routines generate any exception, even for signaling NaNs. 

RETURN VALUES

isnan(), isnand(), and isnanf() return true (1) if the argument dsrc or fsrc is a NaN; otherwise they return false (0). 

finite() returns true (1) if the argument dsrc is neither infinity nor NaN; otherwise it returns false (0). 

unordered() returns true (1) if one of its two arguments is unordered with respect to the other argument.  This is equivalent to reporting whether either argument is NaN.  If neither of the arguments is NaN, false (0) is returned. 

SEE ALSO

fpgetround(3C)

SunOS 5.1/x86  —  Last change: 13 Jul 1990

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026