@@ -83,6 +83,14 @@ function Zygote.accum(x::NamedTuple{(:side_lengths,), Tuple{SVector{2, T}}}, y::
83
83
RectangularBoundary (x. side_lengths .+ y; check_positive= false )
84
84
end
85
85
86
+ function Zygote. accum (x:: NamedTuple{(:side_lengths,), Tuple{SVector{3, T}}} , y:: SizedVector{3, T, Vector{T}} ) where T
87
+ CubicBoundary (x. side_lengths .+ y; check_positive= false )
88
+ end
89
+
90
+ function Zygote. accum (x:: NamedTuple{(:side_lengths,), Tuple{SVector{2, T}}} , y:: SizedVector{2, T, Vector{T}} ) where T
91
+ RectangularBoundary (x. side_lengths .+ y; check_positive= false )
92
+ end
93
+
86
94
function Zygote. accum (x:: NamedTuple {(:side_lengths ,), Tuple{SizedVector{3 , T, Vector{T}}}}, y:: SVector{3, T} ) where T
87
95
CubicBoundary (SVector {3, T} (x. side_lengths .+ y); check_positive= false )
88
96
end
@@ -99,6 +107,14 @@ function Base.:+(x::NamedTuple{(:side_lengths,), Tuple{SizedVector{2, T, Vector{
99
107
RectangularBoundary (SVector {2, T} (x. side_lengths .+ y. side_lengths); check_positive= false )
100
108
end
101
109
110
+ function Base.:+ (x:: CubicBoundary{T} , y:: NamedTuple{(:side_lengths,), Tuple{SVector{3, T}}} ) where T
111
+ CubicBoundary (SVector {3, T} (x. side_lengths .+ y. side_lengths); check_positive= false )
112
+ end
113
+
114
+ function Base.:+ (x:: RectangularBoundary{T} , y:: NamedTuple{(:side_lengths,), Tuple{SVector{2, T}}} ) where T
115
+ RectangularBoundary (SVector {2, T} (x. side_lengths .+ y. side_lengths); check_positive= false )
116
+ end
117
+
102
118
function Base.:+ (x:: SVector{3, T} , y:: CubicBoundary{T} ) where T
103
119
CubicBoundary (x .+ y. side_lengths; check_positive= false )
104
120
end
0 commit comments