Skip to content

Commit ffbecda

Browse files
authored
Treat spaces as broadcast scalars (#417)
1 parent 30d7319 commit ffbecda

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

src/Space.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ rangetype(::Space{D,R}) where {D,R} = R
4040
rangetype(::Type{Space{D,R}}) where {D,R} = R
4141
rangetype(::Type{FT}) where {FT<:Space} = rangetype(supertype(FT))
4242

43+
Base.broadcastable(S::Space) = Ref(S)
44+
4345
domaindimension(sp::Space) = dimension(domain(sp))
4446
"""
4547
dimension(s::Space)

test/SpacesTest.jl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,15 @@ using LinearAlgebra
189189
@testset "call spaces" begin
190190
@test PointSpace(1:4)(3, 4) == 1
191191
end
192+
193+
@testset "Broadcasting" begin
194+
f1 = x -> x
195+
f2 = x -> x^2
196+
sp = PointSpace(1:3)
197+
fs = Fun.((f1, f2), sp)
198+
@test fs[1] == Fun(f1, sp)
199+
@test fs[2] == Fun(f2, sp)
200+
end
192201
end
193202

194203
@testset "DiracSpace" begin

0 commit comments

Comments
 (0)