@@ -35,7 +35,8 @@ import Statistics: mean, median
3535
3636import FillArrays: AbstractFill, getindex_value
3737import LazyArrays: LazyArrayStyle, _materialize, AbstractBandedLayout,
38- ZerosLayout, VcatLayout, @lazymul , mulapplystyle
38+ ZerosLayout, VcatLayout, @lazymul , mulapplystyle, AbstractArrayApplyStyle,
39+ ArrayMuls
3940
4041import DSP: conv
4142
@@ -93,9 +94,15 @@ UnitRange{T}(start::Integer, ::Infinity) where T<:Real = InfUnitRange{T}(start)
9394Int (:: Infinity ) = ∞
9495
9596# stay lazy if infinite
96- _materialize (M:: Mul{<:Any,<:Tuple{Vararg{<:AbstractArray}}} , :: Tuple{<:OneToInf,<:OneToInf} ) = ApplyArray (M)
97- _materialize (M:: Mul{<:Any,<:Tuple{Vararg{<:AbstractArray}}} , :: Tuple{<:OneToInf} ) = ApplyArray (M)
98- _materialize (M:: Mul{<:Any,<:Tuple{Vararg{<:AbstractArray}}} , :: Tuple{<:OneToInf,<:OneTo} ) = ApplyArray (M)
99- _materialize (M:: Mul{<:Any,<:Tuple{Vararg{<:AbstractArray}}} , :: Tuple{<:OneTo,<:OneToInf} ) = ApplyArray (M)
97+ _materialize (M:: Mul{<:AbstractArrayApplyStyle,<:Tuple{Vararg{<:AbstractArray}}} , :: Tuple{<:OneToInf,<:OneToInf} ) = ApplyArray (M)
98+ _materialize (M:: Mul{<:AbstractArrayApplyStyle,<:Tuple{Vararg{<:AbstractArray}}} , :: Tuple{<:OneToInf} ) = ApplyArray (M)
99+ _materialize (M:: Mul{<:AbstractArrayApplyStyle,<:Tuple{Vararg{<:AbstractArray}}} , :: Tuple{<:OneToInf,<:OneTo} ) = ApplyArray (M)
100+ _materialize (M:: Mul{<:AbstractArrayApplyStyle,<:Tuple{Vararg{<:AbstractArray}}} , :: Tuple{<:OneTo,<:OneToInf} ) = ApplyArray (M)
101+ _materialize (M:: ArrayMuls , :: Tuple{<:OneToInf,<:OneToInf} ) = ApplyArray (M)
102+ _materialize (M:: ArrayMuls , :: Tuple{<:OneToInf} ) = ApplyArray (M)
103+ _materialize (M:: ArrayMuls , :: Tuple{<:OneToInf,<:OneTo} ) = ApplyArray (M)
104+ _materialize (M:: ArrayMuls , :: Tuple{<:OneTo,<:OneToInf} ) = ApplyArray (M)
105+
106+
100107
101108end # module
0 commit comments