clase, _class, finite, isnan o subrutinas no ordenadas

Finalidad

Determina clasificaciones de números de coma flotante.

Bibliotecas

IEEE Matemática Library (libm.a) o System V Math Library (libmsaa.a)

Sintaxis

#include <math.h>
#include <float.h>
int
class(
x)
double x;
#include <math.h>
#include <float.h>
int
_class(
x)
double x;
#include <math.h>
int finite(x)
double x;
#include <math.h>
int isnan(x)
double x;
#include <math.h>
int unordered(x, y)
double x, y;

Descripción

La subrutina class , la subrutina _class , la subrutina finite , la subrutina isnan y la subrutina unorder determinan la clasificación de su valor de coma flotante. La subrutina no ordenada determina si una comparación de coma flotante que implica x y y generaría la condición no ordenada de coma flotante IEEE (por ejemplo, si x o y es un NaN).

La subrutina class devuelve un entero que representa la clasificación del parámetro x de coma flotante. Puesto que class es una palabra clave invertida en C++. La subrutina class no se puede invocar en un programa C++. La subrutina _class es una interfaz para el programa C++ que utiliza la subrutina class . La interfaz y el valor de retorno para las subrutinas de clase y _class son idénticos. Los valores devueltos por la subrutina class se definen en el archivo de cabecera float.h . Los valores de retorno son los siguientes:

Elemento Descripción
FP_PLUS_NORM Positivo normalizado, distinto de cero x
FP_MINUS_NORM Normalizado negativo, no cero x
FP_PLUS_DENORM Desormalizado positivo, distinto de cero x
FP_MINUS_DENORM Desnormalizado negativo, distinto de cero x
FP_PLUS_CERO x = +0.0
FP_MINUS_CERO x = -0.0
FP_PLUS_INF x = + INF
FP_MINUS_INF x = -INF
FP_NANS x = Señal no es un número (NaNS)
FP_NANQ x = Quiet Not a Number (NaNQ)

Puesto que la clase es una palabra clave reservada en C++, la subrutina class no se puede invocar en un programa C++. La subrutina _class es una interfaz para el programa C++ que utiliza la subrutina class . La interfaz y los valores de retorno para las subrutinas class y _class son idénticos.

La subrutina finito devuelve un valor distinto de cero si el parámetro x es un número finito; es decir, si x no es +-, INF, NaNQ, o NaNS.

La subrutina isnan devuelve un valor distinto de cero si el parámetro x es un NaNS o un NaNQ. De lo contrario, devuelve 0.

La subrutina no ordenada devuelve un valor distinto de cero si una comparación de coma flotante entre x y y no está ordenada. De lo contrario, devuelve 0.

Nota: Compilar cualquier rutina que utilice subrutinas de la biblioteca libm.a con el distintivo -lm . Para compilar el archivo class.c , por ejemplo, entre:
cc class.c -lm

Parámetros

Elemento Descripción
X Especifica algún valor de coma flotante de precisión doble.
y Especifica algún valor de coma flotante de precisión doble.

Códigos de error

Las subrutinas finite, isnany unorder no devuelven errores ni establecen bits en el estado de excepción de coma flotante, incluso si un parámetro es un NaNS.