Skip to content

Commit dc0d49e

Browse files
authored
arguments for QuasiAdj/Trans broadcasting (#114)
* arguments for QuasiAdj/Trans broadcasting * Update test_quasibroadcast.jl
1 parent 8ea2da1 commit dc0d49e

File tree

4 files changed

+19
-2
lines changed

4 files changed

+19
-2
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "QuasiArrays"
22
uuid = "c4ea9172-b204-11e9-377d-29865faadc5c"
33
authors = ["Sheehan Olver <solver@mac.com>"]
4-
version = "0.11.7"
4+
version = "0.11.8"
55

66
[deps]
77
ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a"

src/QuasiArrays.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ import LazyArrays: MemoryLayout, UnknownLayout, Mul, ApplyLayout, BroadcastLayou
4949
LdivStyle, InvLayout, PInvLayout, sub_materialize, lazymaterialize,
5050
_mul, rowsupport, DiagonalLayout, adjointlayout, transposelayout, conjlayout,
5151
sublayout, call, LazyArrayStyle, layout_getindex, _broadcast2broadcastarray, _applyarray_summary, _broadcastarray_summary,
52-
_broadcasted_mul, simplifiable, simplify, _mul_colsupport, _mul_rowsupport
52+
_broadcasted_mul, simplifiable, simplify, _mul_colsupport, _mul_rowsupport,
53+
_adjoint, _transpose
5354

5455
import Base.IteratorsMD
5556

src/quasiadjtrans.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,14 @@ BroadcastStyle(::Type{<:QuasiTranspose{<:Any,<:Inclusion}}) = LazyQuasiArrayStyl
237237

238238

239239

240+
###
241+
# broadcast support
242+
###
243+
244+
arguments(b::BroadcastLayout, A::QuasiAdjoint) = map(_adjoint, arguments(b, parent(A)))
245+
arguments(b::BroadcastLayout, A::QuasiTranspose) = map(_transpose, arguments(b, parent(A)))
246+
247+
240248
###
241249
# adjoint concat support
242250
###

test/test_quasibroadcast.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,4 +299,12 @@ import QuasiArrays: QuasiCartesianIndex, QuasiCartesianIndices, DefaultQuasiArra
299299
A[ones(Int)] .+= 1
300300
@test A == [2,1,1,1]
301301
end
302+
303+
@testset "adjoint arguments" begin
304+
a = QuasiVector(randn(6), 0:0.5:2.5)
305+
@test LazyArrays.MemoryLayout(BroadcastQuasiArray(*, 2, a)') isa LazyArrays.BroadcastLayout
306+
@test LazyArrays.MemoryLayout(transpose(BroadcastQuasiArray(*, 2, a))) isa LazyArrays.BroadcastLayout
307+
@test LazyArrays.arguments(BroadcastQuasiArray(*, 2, a)') == (2, a')
308+
@test LazyArrays.arguments(transpose(BroadcastQuasiArray(*, 2, a))) == (2, transpose(a))
309+
end
302310
end

0 commit comments

Comments
 (0)