classe, _class, finita, isnan ou Subroutines desordenadas

Propósito

Determina classificações de números de ponto flutuante.

Bibliotecas

Biblioteca matemática IEEE (libm.a) ou Biblioteca matemática System V (libmsaa.a)

Sintaxe

#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;

Descrição

A subroutine class , _class subroutine, finite subroutine, isnan subroutine e desordenada determinam a classificação de seu valor de ponto flutuante. A sub-rotina unordered determina se uma comparação de vírgula flutuante envolvendo x e y geraria a condição não ordenada de vírgula flutuante IEEE (como se x ou y é um NaN).

A subroutine class retorna um número inteiro que representa a classificação do parâmetro floating-point x. Já que class é uma palavra chave revertida em C + +. A subroutine class não pode ser invocada em um programa C++. O subroutine _class é uma interface para o programa C++ usando a subroutine class . A interface e o valor de retorno para as subroutines classe e _class são idênticos. Os valores retornados pela sub-rotina classe são definidos no arquivo de cabeçalho float.h .. Os valores de retorno são os seguintes:

Item Descrição
FP_PLUS_NORM Positivo normalizado, nonzero x
FP_MINUS_NORM Negativo normalizado, nonzero x
FP_PLUS_DENORM Positivo denormalizado, nonzero x
FP_MINUS_DENORM Negativa denormalizada, nonzero x
FP_PLUS_ZERO x = + 0.0
FP_MINUS_ZERO x = -0.0
FP_PLUS_INF x = + INF
FP_MINUS_INF x =-INF
FP_NANS x = Sinalização Não um Número (NaNS)
FP_NANQ x = Quiet Not a Number ( NaNQ )

Como a classe é uma palavra-chave reservada em C + +, a subroutine class não pode ser invocada em um programa C++. A subroutine _class é uma interface para o programa C++ usando a subroutine class . A interface e os valores de retorno para subroutines class e _class são idênticos.

A sub-rotina finite retorna um valor diferente de zero se o parâmetro x for um número finito, ou seja, se x não for +-, INF, NaNQ, ou NaNS.

A sub-rotina isnan retorna um valor diferente de zero se o parâmetro x for um NaNS ou um NaNQ. Caso contrário, retorna 0.

A subroutina desordenada retorna um valor não zero se uma comparação de ponto flutuante entre x e y seria desordenada. Caso contrário, retorna 0.

Nota: compile qualquer rotina que use sub-rotinas da biblioteca libm.a com o sinalizador -lm . Para compilar o arquivo class.c , por exemplo, digite:
cc class.c -lm

Parâmetros

Item Descrição
X Especifica algum valor de floatinga de dupla precisão.
y Especifica algum valor de floatinga de dupla precisão.

Códigos De Erro

As sub-rotinas finita, isnane desordenada não retornam erros nem configuram bits no status de exceção de vírgula flutuante, mesmo se um parâmetro for um NaNS