Skip to content

Commit b682518

Browse files
committed
Fix logGamma unittest to fix rounding issue on DragonFly
1 parent d3ddc46 commit b682518

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

std/internal/math/gammafunction.d

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -537,9 +537,12 @@ unittest {
537537
assert( feqrel(log(fabs(gamma(testpoints[i]))), testpoints[i+1]) > real.mant_dig-5);
538538
}
539539
}
540-
version(DragonFlyBSD) {} else { // FIXME
541-
assert(logGamma(-50.2) == log(fabs(gamma(-50.2))));
542-
assert(logGamma(-0.008) == log(fabs(gamma(-0.008))));
540+
version (DragonFlyBSD) { // FIXME: DragonFlyBSD: rounding differences between logGamma() and log() (ie:llvm_log())
541+
assert(feqrel(logGamma(-50.2),log(fabs(gamma(-50.2)))) > real.mant_dig-2);
542+
assert(feqrel(logGamma(-0.008),log(fabs(gamma(-0.008)))) > real.mant_dig-2);
543+
} else {
544+
assert(logGamma(-50.2) == log(fabs(gamma(-50.2))));
545+
assert(logGamma(-0.008) == log(fabs(gamma(-0.008))));
543546
}
544547
assert(feqrel(logGamma(-38.8),log(fabs(gamma(-38.8)))) > real.mant_dig-4);
545548
static if (real.mant_dig >= 64) // incl. 80-bit reals

0 commit comments

Comments
 (0)