diff --git a/src/prelude.jl b/src/prelude.jl index fb4fb13d..1eea8211 100644 --- a/src/prelude.jl +++ b/src/prelude.jl @@ -14,7 +14,7 @@ const CHUNKS = [Chunk{i}() for i in 1:DEFAULT_CHUNK_THRESHOLD] function Chunk(input_length::Integer, threshold::Integer = DEFAULT_CHUNK_THRESHOLD) N = pickchunksize(input_length, threshold) - N <= DEFAULT_CHUNK_THRESHOLD && return CHUNKS[N] + 0 < N <= DEFAULT_CHUNK_THRESHOLD && return CHUNKS[N] return Chunk{N}() end diff --git a/test/GradientTest.jl b/test/GradientTest.jl index 3a14eaf9..7433f396 100644 --- a/test/GradientTest.jl +++ b/test/GradientTest.jl @@ -148,4 +148,12 @@ end @test isequal(ForwardDiff.gradient(t -> t[1]^t[2], [0.0, 1.5]), [0.0, 0.0]) end +# Issue 399 +@testset "chunk size zero" begin + f_const(x) = 1.0 + g_grad_const = x -> ForwardDiff.gradient(f_const, x) + @test g_grad_const([1.0]) == [0.0] + @test isempty(g_grad_const(zeros(Float64, 0))) +end + end # module