• Cris Luengo's avatar
    Making a copy when casting a numpy array with negative strides to Eigen. · 627da3f1
    Cris Luengo authored
    `EigenConformable::stride_compatible` returns false if the strides are
    negative. In this case, do not use `EigenConformable::stride`, as it
    is {0,0}. We cannot write negative strides in this element, as Eigen
    will throw an assertion if we do.
    
    The `type_caster` specialization for regular, dense Eigen matrices now
    does a second `array_t::ensure` to copy data in case of negative strides.
    I'm not sure that this is the best way to implement this.
    
    I have added "TODO" tags linking these changes to Eigen bug #747, which,
    when fixed, will allow Eigen to accept negative strides.
    627da3f1
test_eigen.py 27.1 KB