#include "normalize_row_sums.h" template IGL_INLINE void igl::normalize_row_sums( const Eigen::MatrixBase& A, Eigen::MatrixBase & B) { // Resize output B.derived().resize(A.rows(),A.cols()); // loop over rows for(int i = 0; i < A.rows();i++) { typename DerivedB::Scalar sum = A.row(i).sum(); assert(sum != 0); B.row(i) = A.row(i).array()/sum; } } #ifndef IGL_HEADER_ONLY // Explicit template specialization template void igl::normalize_row_sums, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase >&); template void igl::normalize_row_sums, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase >&); #endif