Skip to content

Commit 8b40834

Browse files
authored
Fix flakey tests in DualTest.jl (#554)
1 parent 241829d commit 8b40834

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

test/DualTest.jl

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -391,14 +391,16 @@ for N in (0,3), M in (0,4), V in (Int, Float32)
391391

392392
# Exponentiation #
393393
#----------------#
394-
395-
@test dual_isapprox(FDNUM^FDNUM2, exp(FDNUM2 * log(FDNUM)))
396-
@test dual_isapprox(FDNUM^PRIMAL, exp(PRIMAL * log(FDNUM)))
397-
@test dual_isapprox(PRIMAL^FDNUM, exp(FDNUM * log(PRIMAL)))
398-
399-
@test dual_isapprox(NESTED_FDNUM^NESTED_FDNUM2, exp(NESTED_FDNUM2 * log(NESTED_FDNUM)))
400-
@test dual_isapprox(NESTED_FDNUM^PRIMAL, exp(PRIMAL * log(NESTED_FDNUM)))
401-
@test dual_isapprox(PRIMAL^NESTED_FDNUM, exp(NESTED_FDNUM * log(PRIMAL)))
394+
# If V == Int, the LHS terms are Int's. Large inputs cause integer overflow
395+
# within the generic fallback of `isapprox`, resulting in a DomainError.
396+
# Promote to Float64 to avoid issues.
397+
@test dual_isapprox(1.0 * FDNUM^FDNUM2, exp(FDNUM2 * log(FDNUM)))
398+
@test dual_isapprox(1.0 * FDNUM^PRIMAL, exp(PRIMAL * log(FDNUM)))
399+
@test dual_isapprox(1.0 * PRIMAL^FDNUM, exp(FDNUM * log(PRIMAL)))
400+
401+
@test dual_isapprox(1.0 * NESTED_FDNUM^NESTED_FDNUM2, exp(NESTED_FDNUM2 * log(NESTED_FDNUM)))
402+
@test dual_isapprox(1.0 * NESTED_FDNUM^PRIMAL, exp(PRIMAL * log(NESTED_FDNUM)))
403+
@test dual_isapprox(1.0 * PRIMAL^NESTED_FDNUM, exp(NESTED_FDNUM * log(PRIMAL)))
402404

403405
@test partials(NaNMath.pow(Dual{TestTag()}(-2.0, 1.0), Dual{TestTag()}(2.0, 0.0)), 1) == -4.0
404406

0 commit comments

Comments
 (0)