From a86543cba6fd5ca1a0e1f52f8474d2ca48eedde5 Mon Sep 17 00:00:00 2001 From: Nicholas Lindsay Wilson Date: Thu, 30 Apr 2020 09:42:19 +0800 Subject: [PATCH] Fix precision for std.math --- source/scid/internal/calculus/integrate_qk.d | 2 +- source/scid/internal/calculus/integrate_qng.d | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/scid/internal/calculus/integrate_qk.d b/source/scid/internal/calculus/integrate_qk.d index c9ba31a..a638505 100644 --- a/source/scid/internal/calculus/integrate_qk.d +++ b/source/scid/internal/calculus/integrate_qk.d @@ -86,7 +86,7 @@ Result!Real qk(GaussKronrod rule, Func, Real = ReturnType!Func) Real error = abs((kronrodResult - gaussResult) * halfLength); if (fVariance != 0 && error != 0) - error = fVariance * fmin(1, (200*error/fVariance)^^1.5); + error = fVariance * fmin(T(1.0), (200*error/fVariance)^^T(1.5)); if (absResult > Real.min_normal/(50 * Real.epsilon)) error = fmax(Real.epsilon * 50 * absResult, error); diff --git a/source/scid/internal/calculus/integrate_qng.d b/source/scid/internal/calculus/integrate_qng.d index 0be3fb4..9c3bd11 100644 --- a/source/scid/internal/calculus/integrate_qng.d +++ b/source/scid/internal/calculus/integrate_qng.d @@ -37,7 +37,7 @@ Result!Real qng(Func, Real = ReturnType!Func) { T error = estimate; if (variance != 0 && error != 0) - error = variance * fmin(1, (200*error/variance)^^1.5); + error = variance * fmin(T(1.0), (200*error/variance)^^T(1.5)); if (absResult > T.min_normal/(50*T.epsilon)) error = fmax(error, 50*T.epsilon*absResult); return error;