diff --git a/src/primitive.jl b/src/primitive.jl index 8ade8f2..7966255 100644 --- a/src/primitive.jl +++ b/src/primitive.jl @@ -13,7 +13,7 @@ Taylor = Union{TaylorScalar, TaylorArray} $(factorial(P))) @inline extract_derivative(a::AbstractArray{<:TaylorScalar}, p) = map( t -> extract_derivative(t, p), a) -@inline extract_derivative(_, p) = false +@inline extract_derivative(result, p) = zero(result) @inline extract_derivative!(result, a::AbstractArray{<:TaylorScalar}, p) = map!( t -> extract_derivative(t, p), result, a) diff --git a/test/derivative.jl b/test/derivative.jl index d8b68ab..5ac7c7c 100644 --- a/test/derivative.jl +++ b/test/derivative.jl @@ -26,6 +26,8 @@ end @testset "O-function, I-derivative" begin g(x) = x .^ 2 @test derivative!(zeros(2), g, [1.0, 2.0], [1.0, 0.0], Val(1)) ≈ [2.0, 0.0] + gzero(x) = [1.0, 1.0] + @test derivative(gzero, [1.0, 2.0], [1.0, 0.0], Val(1)) == [0.0, 0.0] end @testset "I-function, I-derivative" begin