@@ -9,10 +9,10 @@ samerng() = MersenneTwister(1)
99for N in (0 , 3 ), T in (Int, Float32, Float64)
1010 println (" ...testing Partials{$N ,$T }" )
1111
12- VALUES = ntuple (n -> rand (T), Val{N} )
12+ VALUES = ( rand (T,N) ... )
1313 PARTIALS = Partials {N,T} (VALUES)
1414
15- VALUES2 = ntuple (n -> rand (T), Val{N} )
15+ VALUES2 = ( rand (T,N) ... )
1616 PARTIALS2 = Partials {N,T} (VALUES2)
1717
1818 # #############################
@@ -70,7 +70,7 @@ for N in (0, 3), T in (Int, Float32, Float64)
7070 @test hash (PARTIALS, hash (1 )) == hash (copy (PARTIALS), hash (1 ))
7171 @test hash (PARTIALS, hash (1 )) == hash (copy (PARTIALS), hash (1 ))
7272
73- const TMPIO = IOBuffer ()
73+ TMPIO = IOBuffer ()
7474 write (TMPIO, PARTIALS)
7575 seekstart (TMPIO)
7676 @test read (TMPIO, typeof (PARTIALS)) == PARTIALS
@@ -84,8 +84,8 @@ for N in (0, 3), T in (Int, Float32, Float64)
8484 # Conversion/Promotion #
8585 # #######################
8686
87- const WIDE_T = widen (T)
88- const WIDE_PARTIALS = convert (Partials{N,WIDE_T}, PARTIALS)
87+ WIDE_T = widen (T)
88+ WIDE_PARTIALS = convert (Partials{N,WIDE_T}, PARTIALS)
8989
9090 @test typeof (WIDE_PARTIALS) == Partials{N,WIDE_T}
9191 @test WIDE_PARTIALS == PARTIALS
@@ -101,8 +101,8 @@ for N in (0, 3), T in (Int, Float32, Float64)
101101 @test (PARTIALS - PARTIALS). values == map (v -> v - v, VALUES)
102102 @test getfield (- (PARTIALS), :values ) == map (- , VALUES)
103103
104- const X = rand ()
105- const Y = rand ()
104+ X = rand ()
105+ Y = rand ()
106106
107107 @test X * PARTIALS == PARTIALS * X
108108 @test (X * PARTIALS). values == map (v -> X * v, VALUES)
@@ -111,6 +111,19 @@ for N in (0, 3), T in (Int, Float32, Float64)
111111 if N > 0
112112 @test ForwardDiff. _mul_partials (PARTIALS, PARTIALS2, X, Y). values == map ((a, b) -> (X * a) + (Y * b), VALUES, VALUES2)
113113 @test ForwardDiff. _div_partials (PARTIALS, PARTIALS2, X, Y) == ForwardDiff. _mul_partials (PARTIALS, PARTIALS2, inv (Y), - X/ (Y^ 2 ))
114+
115+ ZEROS = Partials ((zeros (T, N)... ))
116+
117+ @test (NaN * ZEROS). values == ZEROS. values
118+ @test (Inf * ZEROS). values == ZEROS. values
119+ @test (ZEROS / 0 ). values == ZEROS. values
120+
121+ @test ForwardDiff. _mul_partials (ZEROS, ZEROS, X, NaN ). values == ZEROS. values
122+ @test ForwardDiff. _mul_partials (ZEROS, ZEROS, NaN , X). values == ZEROS. values
123+ @test ForwardDiff. _mul_partials (ZEROS, ZEROS, X, Inf ). values == ZEROS. values
124+ @test ForwardDiff. _mul_partials (ZEROS, ZEROS, Inf , X). values == ZEROS. values
125+ @test ForwardDiff. _mul_partials (ZEROS, ZEROS, Inf , NaN ). values == ZEROS. values
126+ @test ForwardDiff. _mul_partials (ZEROS, ZEROS, NaN , Inf ). values == ZEROS. values
114127 end
115128end
116129
0 commit comments