24#ifndef _UTILS_DOUBLE_CMP_
25#define _UTILS_DOUBLE_CMP_
61#define GM_DOUBLECMP_RELTOL (1.0e-8)
64#define GM_DOUBLECMP_ABSTOL (1.0E-12)
74 double diff = fabs(a-b);
80 return diff <= relTol * (a > b ? a : b);
93inline bool isZero(
double a,
double absTol)
95 return fabs(a) < absTol;
105 return !
equal(a, b, relTol, absTol);
115 return (a < b) && !
equal(a, b, relTol, absTol);
125 return (a < b) ||
equal(a, b, relTol, absTol);
135 return (a > b) && !
equal(a, b, relTol, absTol);
145 return (a > b) ||
equal(a, b, relTol, absTol);
#define GM_DOUBLECMP_ABSTOL
Tolerância absoluta entre valores para comparar valores próximos de zero.
Definition gmDoubleCmp.h:64
#define GM_DOUBLECMP_RELTOL
Tolerância relativa entre valores = 0.000001%.
Definition gmDoubleCmp.h:61
Agrupa rotinas para comparação de valores double.
Definition gmDoubleCmp.h:58
bool gte(double a, double b, double relTol=GM_DOUBLECMP_RELTOL, double absTol=GM_DOUBLECMP_ABSTOL)
Funcao para comparar se um número real é maior ou igual a outro, usando uma tolerância recebida como ...
Definition gmDoubleCmp.h:143
bool gt(double a, double b, double relTol=GM_DOUBLECMP_RELTOL, double absTol=GM_DOUBLECMP_ABSTOL)
Funcao para comparar se um número real é maior que o outro, usando uma tolerância recebida como parâm...
Definition gmDoubleCmp.h:133
bool lt(double a, double b, double relTol=GM_DOUBLECMP_RELTOL, double absTol=GM_DOUBLECMP_ABSTOL)
Funcao para comparar se um número real é menor que o outro, usando uma tolerância recebida como parâm...
Definition gmDoubleCmp.h:113
bool equal(double a, double b, double relTol=GM_DOUBLECMP_RELTOL, double absTol=GM_DOUBLECMP_ABSTOL)
Funcao para comparar se dois números reais são iguais usando uma tolerância recebida como parâmetro.
Definition gmDoubleCmp.h:71
bool nequal(double a, double b, double relTol=GM_DOUBLECMP_RELTOL, double absTol=GM_DOUBLECMP_ABSTOL)
Funcao para comparar se dois números reais são diferentes usando uma tolerância recebida como parâmet...
Definition gmDoubleCmp.h:103
bool isZero(double a, double absTol)
Funcao para comparar se o valor a é ou não igual a zero dada uma tolerância absoluta.
Definition gmDoubleCmp.h:93
bool lte(double a, double b, double relTol=GM_DOUBLECMP_RELTOL, double absTol=GM_DOUBLECMP_ABSTOL)
Funcao para comparar se um número real é menor ou igual a outro, usando uma tolerância recebida como ...
Definition gmDoubleCmp.h:123