FloatingPointNumerics Classe

Definição

Rotinas auxiliares para trabalhar com números de ponto flutuante

public class FloatingPointNumerics
type FloatingPointNumerics = class
Herança
FloatingPointNumerics

Comentários

O código de comparação de ponto flutuante baseia-se neste excelente artigo: https://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm

"ULP" significa Unidade no Último Lugar e, no contexto dessa biblioteca, refere-se à distância entre dois números de ponto flutuante adjacentes. Os números de ponto flutuante IEEE só podem representar um subconjunto finito de números naturais, com maior precisão para números menores e menor precisão para números muito grandes.

Se uma comparação for permitida "2 ulps" de desvio, isso significa que os valores têm permissão para desviar em até 2 valores de ponto flutuante adjacentes, o que pode ser tão baixo quanto 0,0000001 para números pequenos ou até 10,0 para números grandes.

Métodos

AreAlmostEqualUlps(Double, Double, Int64)

Compara dois valores de ponto flutuante de precisão dupla quanto à igualdade

AreAlmostEqualUlps(Single, Single, Int32)

Compara dois valores de ponto flutuante quanto à igualdade

ReinterpretAsDouble(Int64)

Reinterpreta o conteúdo de memória de um valor inteiro como um valor de ponto flutuante de precisão dupla

ReinterpretAsFloat(Int32)

Reinterpreta o conteúdo de memória de um inteiro como um valor de ponto flutuante

ReinterpretAsInt(Single)

Reinterpreta o conteúdo de memória de um valor de ponto flutuante como um valor inteiro

ReinterpretAsLong(Double)

Reinterpreta o conteúdo de memória de um valor de ponto flutuante de precisão dupla como um valor inteiro

Aplica-se a