@@ -41,6 +41,13 @@ ForwardDiff.:≺(::Int, ::Type{TestTag()}) = false
41
41
PARTIALS3 = Partials {N,V} (ntuple (n -> intrand (V), N))
42
42
PRIMAL3 = intrand (V)
43
43
FDNUM3 = Dual {TestTag()} (PRIMAL3, PARTIALS3)
44
+
45
+ if ! allunique ([PRIMAL, PRIMAL2, PRIMAL3])
46
+ @info " testing with non-unique primals" PRIMAL PRIMAL2 PRIMAL3
47
+ end
48
+ if N > 0 && ! allunique ([PARTIALS, PARTIALS2, PARTIALS3])
49
+ @info " testing with non-unique partials" PARTIALS PARTIALS2 PARTIALS3
50
+ end
44
51
45
52
M_PARTIALS = Partials {M,V} (ntuple (m -> intrand (V), M))
46
53
NESTED_PARTIALS = convert (Partials{N,Dual{TestTag (),V,M}}, PARTIALS)
@@ -229,22 +236,27 @@ ForwardDiff.:≺(::Int, ::Type{TestTag()}) = false
229
236
@test ForwardDiff. isconstant (one (NESTED_FDNUM))
230
237
@test ForwardDiff. isconstant (NESTED_FDNUM) == (N == 0 )
231
238
232
- @test isequal (FDNUM, Dual {TestTag()} (PRIMAL, PARTIALS2)) == (N == 0 )
233
- @test isequal (PRIMAL, PRIMAL2) == isequal (FDNUM, FDNUM2)
234
-
235
239
# Recall that FDNUM = Dual{TestTag()}(PRIMAL, PARTIALS) has N partials,
236
240
# and FDNUM2 has everything with a 2, and all random numbers nonzero.
237
241
# M is the length of M_PARTIALS, which affects:
238
242
# NESTED_FDNUM = Dual{TestTag()}(Dual{TestTag()}(PRIMAL, M_PARTIALS), NESTED_PARTIALS)
239
243
240
- @show N M NESTED_FDNUM PRIMAL M_PARTIALS2 NESTED_PARTIALS2
241
- @test isequal (NESTED_FDNUM, Dual {TestTag()} (Dual {TestTag()} (PRIMAL, M_PARTIALS2), NESTED_PARTIALS2)) == (N == M == 0 )
242
- @show N M NESTED_FDNUM NESTED_FDNUM2 PRIMAL PRIMAL2
243
- @test isequal (NESTED_FDNUM, NESTED_FDNUM2) == isequal (PRIMAL, PRIMAL2)
244
-
245
- @test (FDNUM == Dual {TestTag()} (PRIMAL, PARTIALS2)) == (N == 0 )
246
- @test (PRIMAL == PRIMAL2) == (FDNUM == FDNUM2)
247
- @test (PRIMAL == PRIMAL2) == (NESTED_FDNUM == NESTED_FDNUM2)
244
+ @test (FDNUM == Dual {TestTag()} (PRIMAL, PARTIALS2)) == (PARTIALS == PARTIALS2)
245
+ @test isequal (FDNUM, Dual {TestTag()} (PRIMAL, PARTIALS2)) == (PARTIALS == PARTIALS2)
246
+ @test isequal (NESTED_FDNUM, Dual {TestTag()} (Dual {TestTag()} (PRIMAL, M_PARTIALS2), NESTED_PARTIALS2)) == ((M_PARTIALS == M_PARTIALS2) && (NESTED_PARTIALS == NESTED_PARTIALS2))
247
+
248
+ if PRIMAL == PRIMAL2
249
+ @test isequal (FDNUM, Dual {TestTag()} (PRIMAL, PARTIALS2)) == (PARTIALS == PARTIALS2)
250
+ @test isequal (FDNUM, FDNUM2) == (PARTIALS == PARTIALS2)
251
+
252
+ @test (FDNUM == FDNUM2) == (PARTIALS == PARTIALS2)
253
+ @test (NESTED_FDNUM == NESTED_FDNUM2) == ((M_PARTIALS == M_PARTIALS2) && (NESTED_PARTIALS == NESTED_PARTIALS2))
254
+ else
255
+ @test ! isequal (FDNUM, FDNUM2)
256
+
257
+ @test FDNUM != FDNUM2
258
+ @test NESTED_FDNUM != NESTED_FDNUM2
259
+ end
248
260
249
261
@test isless (Dual {TestTag()} (1 , PARTIALS), Dual {TestTag()} (2 , PARTIALS2))
250
262
@test ! (isless (Dual {TestTag()} (1 , PARTIALS), Dual {TestTag()} (1 , PARTIALS2)))
0 commit comments