diff --git a/Project.toml b/Project.toml index 967d684..a99b7f4 100644 --- a/Project.toml +++ b/Project.toml @@ -6,6 +6,7 @@ version = "0.11.9" [deps] ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" DomainSets = "5b8099bc-c8ec-5219-889f-1d9e522a28bf" +EltypeExtensions = "583f92f5-06d6-4306-8236-316410defc98" FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b" LazyArrays = "5078a376-72f3-5289-bfd5-ec5146d43c02" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" @@ -22,6 +23,7 @@ QuasiArraysSparseArraysExt = "SparseArrays" [compat] ArrayLayouts = "1" DomainSets = "0.7.6" +EltypeExtensions = "0.0.4" FillArrays = "1" LazyArrays = "1.2, 2" StaticArrays = "1" diff --git a/src/QuasiArrays.jl b/src/QuasiArrays.jl index 4eacf6a..9addd37 100644 --- a/src/QuasiArrays.jl +++ b/src/QuasiArrays.jl @@ -52,6 +52,8 @@ import LazyArrays: MemoryLayout, UnknownLayout, Mul, ApplyLayout, BroadcastLayou _broadcasted_mul, simplifiable, simplify, _mul_colsupport, _mul_rowsupport, _adjoint, _transpose +import EltypeExtensions: elconvert + import Base.IteratorsMD export AbstractQuasiArray, AbstractQuasiMatrix, AbstractQuasiVector, materialize, diff --git a/src/quasibroadcast.jl b/src/quasibroadcast.jl index 91e4ca2..4810a7c 100644 --- a/src/quasibroadcast.jl +++ b/src/quasibroadcast.jl @@ -195,5 +195,5 @@ _broadcasted_mul(A::AbstractQuasiMatrix, b::Tuple{Union{AbstractVector,AbstractQ _broadcasted_mul(A::AbstractQuasiMatrix, B::Tuple{Union{AbstractMatrix,AbstractQuasiMatrix},Vararg{Any}}) = (size(first(B),1) == 1 ? (sum(A; dims=2) * first(B)) : (A * first(B)), _broadcasted_mul(A, tail(B))...) - -LazyArrays.converteltype(::Type{T}, A::AbstractQuasiArray) where T = convert(AbstractQuasiArray{T}, A) \ No newline at end of file +LazyArrays.converteltype(::Type{T}, A::AbstractQuasiArray) where T = convert(AbstractQuasiArray{T}, A) +elconvert(::Type{T}, A::AbstractQuasiArray) where T = convert(AbstractQuasiArray{T}, A) \ No newline at end of file