Skip to content

Commit 1014715

Browse files
authored
Merge pull request #425 from JuliaDiff/mz/base
`view` and `sum` for `AbstractZero`s
2 parents 88df0b4 + 9d4595d commit 1014715

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "ChainRulesCore"
22
uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
3-
version = "1.2.0"
3+
version = "1.3.0"
44

55
[deps]
66
Compat = "34da2185-b29b-5c13-b0c7-acf172513d20"

src/differentials/abstract_zero.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ Base.convert(::Type{T}, x::AbstractZero) where T <: Number = zero(T)
2828

2929
Base.getindex(z::AbstractZero, k) = z
3030

31+
Base.view(z::AbstractZero, ind...) = z
32+
Base.sum(z::AbstractZero; dims=:) = z
33+
3134
"""
3235
ZeroTangent() <: AbstractZero
3336

test/differentials/abstract_zero.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@
44
@test iszero(NoTangent())
55
end
66

7+
@testset "Linear operators" begin
8+
@test view(ZeroTangent(), 1) == ZeroTangent()
9+
@test view(NoTangent(), 1, 2) == NoTangent()
10+
11+
@test sum(ZeroTangent()) == ZeroTangent()
12+
@test sum(NoTangent(); dims=2) == NoTangent()
13+
end
14+
715
@testset "ZeroTangent" begin
816
z = ZeroTangent()
917
@test z + z === z

0 commit comments

Comments
 (0)