From d44e944e3621153f558e919fdeccf6d7c0604266 Mon Sep 17 00:00:00 2001 From: Jishnu Bhattacharya Date: Tue, 31 Oct 2023 17:39:22 +0530 Subject: [PATCH] Replace ind2sub by CartesianIndices (#177) --- src/mul.jl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mul.jl b/src/mul.jl index 9909518..974b92b 100644 --- a/src/mul.jl +++ b/src/mul.jl @@ -53,7 +53,11 @@ function _getindex(::Type{Tuple{AA,BB}}, M::Mul, (k, j)::Tuple{AA,BB}) where {AA end # linear indexing -_getindex(::Type{NTuple{2,Int}}, M, k::Tuple{Int}) = M[Base._ind2sub(axes(M), k...)...] +function _getindex(::Type{NTuple{2,Int}}, M, k::Tuple{Int}) + # convert from linear to CartesianIndex + CartInd = CartesianIndices(axes(M))[k...] + M[Tuple(CartInd)...] +end _getindex(::Type{Tuple{Int}}, M, (k,)::Tuple{CartesianIndex{1}}) = M[convert(Int, k)] _getindex(::Type{NTuple{2,Int}}, M, (kj,)::Tuple{CartesianIndex{2}}) = M[kj[1], kj[2]]