[poincare] Fix compilation: change std::abs to std::fabs when the

argument isn't complex
This commit is contained in:
Émilie Feral
2019-09-05 13:31:10 +02:00
parent cb69f42055
commit 5481d3c822
3 changed files with 4 additions and 4 deletions

View File

@@ -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);
}

View File

@@ -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) {

View File

@@ -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) {