From 229c8a41324f96dc832ee645df89837107875654 Mon Sep 17 00:00:00 2001 From: Felipe Noronha Date: Wed, 10 Apr 2019 09:50:34 -0300 Subject: [PATCH] handle 0-sized chunk case (#399) --- src/prelude.jl | 2 +- test/GradientTest.jl | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) 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 6f30563b..5636e517 100644 --- a/test/GradientTest.jl +++ b/test/GradientTest.jl @@ -141,4 +141,13 @@ for T in (StaticArrays.SArray, StaticArrays.MArray) @test DiffResults.gradient(sresult3) == DiffResults.gradient(result) end +# Issue 399 + +let + 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