Right now getindex(::AbstractArray, ::Tuple) isn't defined (though there's a 
proposal to define it as one of several options to solve a tricky problem, see 
https://github.com/JuliaLang/julia/pull/10525#issuecomment-84597488).

More importantly, tuples don't have +, -, min, and max defined for them, and 
it's not obvious they should. But all that is supported by CartesianIndex.

--Tim

On Saturday, March 28, 2015 07:10:50 AM Sebastian Good wrote:
> Random thought: If tuples can avoid boxing why not return tuples from the
> iterator protocol?
> 
> On Friday, March 27, 2015, Matt Bauman <[email protected]> wrote:
> > On Friday, March 27, 2015 at 8:21:10 AM UTC-4, Sebastian Good wrote:
> >> Forgive my ignorance, but what is Cartesian indexing?
> > 
> > There are two ways to iterate over all elements of an array: Linear
> > indexing and Cartesian indexing. For example, given a 2x3 matrix, linear
> > indexing would use just one index from 1:6, whereas Cartesian indexing
> > specifies indices for both dimensions: (1,1), (1,2), (2,1), ...
> > 
> > 
> > If an array isn't stored continuously in memory for linear indexing,
> > converting to the Cartesian indices is very expensive (because it requires
> > integer division, which is a surprising slow). The new `eachindex` method
> > in 0.4 returns an iterator to go over all the Cartesian indices very
> > quickly.

Reply via email to