mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-19 05:40:38 +01:00
[poincare] Fix compilation: change std::abs to std::fabs when the
argument isn't complex
This commit is contained in:
@@ -12,12 +12,12 @@ void assert_cumulative_distributive_function_direct_and_inverse_is(Probability::
|
||||
double r = distribution->cumulativeDistributiveFunctionAtAbscissa(x);
|
||||
quiz_assert(!std::isnan(r));
|
||||
quiz_assert(!std::isinf(r));
|
||||
quiz_assert(std::abs(r-result) < FLT_EPSILON || std::abs(r-result)/result < FLT_EPSILON);
|
||||
quiz_assert(std::fabs(r-result) < FLT_EPSILON || std::fabs(r-result)/result < FLT_EPSILON);
|
||||
|
||||
r = distribution->cumulativeDistributiveInverseForProbability(&result);
|
||||
quiz_assert(!std::isnan(r));
|
||||
quiz_assert(!std::isinf(r));
|
||||
quiz_assert(std::abs(r-x) < FLT_EPSILON || std::abs(r-x)/x < FLT_EPSILON);
|
||||
quiz_assert(std::fabs(r-x) < FLT_EPSILON || std::fabs(r-x)/x < FLT_EPSILON);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ void assert_hypergeometric_is(double a, double b, double c, double z, double res
|
||||
double r = 0.0;
|
||||
const double precision = FLT_EPSILON;
|
||||
quiz_assert(hypergeometricFunction(a, b, c, z, precision, 1000, &r));
|
||||
quiz_assert(std::abs(r - result)/result <= 100 * precision); // Multiply by 100 because precision is too strict
|
||||
quiz_assert(std::fabs(r - result)/result <= 100 * precision); // Multiply by 100 because precision is too strict
|
||||
}
|
||||
|
||||
QUIZ_CASE(hypergeometric_function) {
|
||||
|
||||
@@ -10,7 +10,7 @@ void assert_regularized_gamma_is(double s, double x, double result) {
|
||||
double r = 0.0;
|
||||
const double precision = FLT_EPSILON;
|
||||
regularizedGamma(s, x, precision, Probability::ChiSquaredDistribution::k_maxRegularizedGammaIterations, &r);
|
||||
quiz_assert(std::abs(r - result) <= precision);
|
||||
quiz_assert(std::fabs(r - result) <= precision);
|
||||
}
|
||||
|
||||
QUIZ_CASE(regularized_gamma) {
|
||||
|
||||
Reference in New Issue
Block a user