@@ -92,10 +92,23 @@ Base.similar(bc::Broadcasted{QuasiArrayConflict}, ::Type{ElType}) where ElType =
9292
9393_axes (bc:: Broadcasted{<:AbstractQuasiArrayStyle{0}} , :: Nothing ) = ()
9494
95- _eachindex (t:: Tuple{AbstractQuasiVector{<:Number}} ) = QuasiCartesianIndices (t)
96- _eachindex (t:: Tuple{AbstractQuasiVector{<:Number},Vararg{Any}} ) = QuasiCartesianIndices (t)
97- _eachindex (t:: Tuple{AbstractQuasiVector{<:Number},Vararg{AbstractUnitRange}} ) = QuasiCartesianIndices (t)
98- _eachindex (t:: Tuple{AbstractUnitRange,AbstractQuasiVector{<:Number},Vararg{AbstractUnitRange}} ) = QuasiCartesianIndices (t)
95+ if VERSION < v " 1.12-"
96+ _eachindex (t:: Tuple{AbstractQuasiVector{<:Number}} ) = QuasiCartesianIndices (t)
97+ _eachindex (t:: Tuple{AbstractQuasiVector{<:Number},Vararg{Any}} ) = QuasiCartesianIndices (t)
98+ _eachindex (t:: Tuple{AbstractQuasiVector{<:Number},Vararg{AbstractUnitRange}} ) = QuasiCartesianIndices (t)
99+ _eachindex (t:: Tuple{AbstractUnitRange,AbstractQuasiVector{<:Number},Vararg{AbstractUnitRange}} ) = QuasiCartesianIndices (t)
100+ else
101+ # TODO : add LinearQuasiIndices
102+ _eachindex (:: IndexLinear , t:: Tuple{AbstractQuasiVector{<:Number}} ) = _eachindex (IndexCartesian (), t) # t[1] commented out since broadcast doesn't support Float64 indexing
103+ _eachindex (:: IndexLinear , t:: Tuple{AbstractQuasiVector{<:Number},Vararg{Any}} ) = _eachindex (IndexCartesian (), t)
104+ _eachindex (:: IndexLinear , t:: Tuple{AbstractQuasiVector{<:Number},Vararg{AbstractUnitRange}} ) = _eachindex (IndexCartesian (), t)
105+ _eachindex (:: IndexLinear , t:: Tuple{AbstractUnitRange,AbstractQuasiVector{<:Number},Vararg{AbstractUnitRange}} ) = _eachindex (IndexCartesian (), t)
106+
107+ _eachindex (:: IndexCartesian , t:: Tuple{AbstractQuasiVector{<:Number}} ) = QuasiCartesianIndices (t)
108+ _eachindex (:: IndexCartesian , t:: Tuple{AbstractQuasiVector{<:Number},Vararg{Any}} ) = QuasiCartesianIndices (t)
109+ _eachindex (:: IndexCartesian , t:: Tuple{AbstractQuasiVector{<:Number},Vararg{AbstractUnitRange}} ) = QuasiCartesianIndices (t)
110+ _eachindex (:: IndexCartesian , t:: Tuple{AbstractUnitRange,AbstractQuasiVector{<:Number},Vararg{AbstractUnitRange}} ) = QuasiCartesianIndices (t)
111+ end
99112
100113instantiate (bc:: Broadcasted{<:AbstractQuasiArrayStyle{0}} ) = bc
101114
0 commit comments