• Jason Rhinelander's avatar
    Use numpy rather than Eigen for copying · b68959e8
    Jason Rhinelander authored
    We're current copy by creating an Eigen::Map into the input numpy
    array, then assigning that to the basic eigen type, effectively having
    Eigen do the copy.  That doesn't work for negative strides, though:
    Eigen doesn't allow them.
    
    This commit makes numpy do the copying instead by allocating the eigen
    type, then having numpy copy from the input array into a numpy reference
    into the eigen object's data.  This also saves a copy when type
    conversion is required: numpy can do the conversion on-the-fly as part
    of the copy.
    
    Finally this commit also makes non-reference parameters respect the
    convert flag, declining the load when called in a noconvert pass with a
    convertible, but non-array input or an array with the wrong dtype.
    b68959e8
numpy.rst 13.8 KB