#include "mat_min.h" template IGL_INLINE void igl::mat_min( const Eigen::Matrix & X, const int dim, Eigen::Matrix & Y, Eigen::Matrix & I) { assert(dim==1||dim==2); // output size int n = (dim==1?X.cols():X.rows()); // resize output Y.resize(n); I.resize(n); // loop over dimension opposite of dim for(int j = 0;j::Index PHONY; typename Eigen::Matrix::Index i; T m; if(dim==1) { m = X.col(j).minCoeff(&i,&PHONY); }else { m = X.row(j).minCoeff(&PHONY,&i); } Y(j) = m; I(j) = i; } } //template //IGL_INLINE Eigen::Matrix igl::mat_min( // const Eigen::Matrix & X, // const int dim) //{ // Eigen::Matrix Y; // Eigen::Matrix I; // mat_min(X,dim,Y,I); // return Y; //} #ifndef IGL_HEADER_ONLY // Explicit template specialization // generated by autoexplicit.sh template void igl::mat_min(Eigen::Matrix const&, int, Eigen::Matrix&, Eigen::Matrix&); #endif