ArrayType* VectorToNativeArray(const Eigen::MatrixBase<Derived>& inVector) { typedef typename Derived::Scalar T; typedef typename Derived::Index Index; MutableArrayHandle<T> arrayHandle = defaultAllocator().allocateArray<T>(inVector.size()); T* ptr = arrayHandle.ptr(); for (Index el = 0; el < inVector.size(); ++el) *(ptr++) = inVector(el); return arrayHandle.array(); }
ArrayType* MatrixToNativeArray(const Eigen::MatrixBase<Derived>& inMatrix) { typedef typename Derived::Scalar T; typedef typename Derived::Index Index; MutableArrayHandle<T> arrayHandle = defaultAllocator().allocateArray<T>( inMatrix.cols(), inMatrix.rows()); T* ptr = arrayHandle.ptr(); for (Index row = 0; row < inMatrix.rows(); ++row) for (Index col = 0; col < inMatrix.cols(); ++col) *(ptr++) = inMatrix(row, col); return arrayHandle.array(); }