@@ -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)
@@ -210,22 +217,27 @@ ForwardDiff.:≺(::Int, ::Type{TestTag()}) = false
210
217
@test ForwardDiff. isconstant (one (NESTED_FDNUM))
211
218
@test ForwardDiff. isconstant (NESTED_FDNUM) == (N == 0 )
212
219
213
- @test isequal (FDNUM, Dual {TestTag()} (PRIMAL, PARTIALS2)) == (N == 0 )
214
- @test isequal (PRIMAL, PRIMAL2) == isequal (FDNUM, FDNUM2)
215
-
216
220
# Recall that FDNUM = Dual{TestTag()}(PRIMAL, PARTIALS) has N partials,
217
221
# and FDNUM2 has everything with a 2, and all random numbers nonzero.
218
222
# M is the length of M_PARTIALS, which affects:
219
223
# NESTED_FDNUM = Dual{TestTag()}(Dual{TestTag()}(PRIMAL, M_PARTIALS), NESTED_PARTIALS)
220
224
221
- @show N M NESTED_FDNUM PRIMAL M_PARTIALS2 NESTED_PARTIALS2
222
- @test isequal (NESTED_FDNUM, Dual {TestTag()} (Dual {TestTag()} (PRIMAL, M_PARTIALS2), NESTED_PARTIALS2)) == (N == M == 0 )
223
- @show N M NESTED_FDNUM NESTED_FDNUM2 PRIMAL PRIMAL2
224
- @test isequal (NESTED_FDNUM, NESTED_FDNUM2) == isequal (PRIMAL, PRIMAL2)
225
-
226
- @test (FDNUM == Dual {TestTag()} (PRIMAL, PARTIALS2)) == (N == 0 )
227
- @test (PRIMAL == PRIMAL2) == (FDNUM == FDNUM2)
228
- @test (PRIMAL == PRIMAL2) == (NESTED_FDNUM == NESTED_FDNUM2)
225
+ @test (FDNUM == Dual {TestTag()} (PRIMAL, PARTIALS2)) == (PARTIALS == PARTIALS2)
226
+ @test isequal (FDNUM, Dual {TestTag()} (PRIMAL, PARTIALS2)) == (PARTIALS == PARTIALS2)
227
+ @test isequal (NESTED_FDNUM, Dual {TestTag()} (Dual {TestTag()} (PRIMAL, M_PARTIALS2), NESTED_PARTIALS2)) == ((M_PARTIALS == M_PARTIALS2) && (NESTED_PARTIALS == NESTED_PARTIALS2))
228
+
229
+ if PRIMAL == PRIMAL2
230
+ @test isequal (FDNUM, Dual {TestTag()} (PRIMAL, PARTIALS2)) == (PARTIALS == PARTIALS2)
231
+ @test isequal (FDNUM, FDNUM2) == (PARTIALS == PARTIALS2)
232
+
233
+ @test (FDNUM == FDNUM2) == (PARTIALS == PARTIALS2)
234
+ @test (NESTED_FDNUM == NESTED_FDNUM2) == ((M_PARTIALS == M_PARTIALS2) && (NESTED_PARTIALS == NESTED_PARTIALS2))
235
+ else
236
+ @test ! isequal (FDNUM, FDNUM2)
237
+
238
+ @test FDNUM != FDNUM2
239
+ @test NESTED_FDNUM != NESTED_FDNUM2
240
+ end
229
241
230
242
@test isless (Dual {TestTag()} (1 , PARTIALS), Dual {TestTag()} (2 , PARTIALS2))
231
243
@test ! (isless (Dual {TestTag()} (1 , PARTIALS), Dual {TestTag()} (1 , PARTIALS2)))
0 commit comments