1#define MUDA_LOG_MATRIX(M, N) \
3 for(int i = 0; i < (M); ++i) \
5 for(int j = 0; j < (N); ++j) \
19template <
typename T,
int M,
int N>
20MUDA_DEVICE LogProxy operator<<(LogProxy o,
const Eigen::Matrix<T, M, N>& val)
21 MUDA_LOG_MATRIX(M, N);
23template <
typename T,
int M,
int N,
int MapOptions,
typename Str
ideType>
24MUDA_DEVICE LogProxy operator<<(LogProxy o,
25 const Eigen::Map<Eigen::Matrix<T, M, N>, MapOptions, StrideType>& val)
26 MUDA_LOG_MATRIX(M, N);
28template <
typename T,
int M,
int N,
int MapOptions,
typename Str
ideType>
29MUDA_DEVICE LogProxy operator<<(LogProxy o,
30 const Eigen::Map<
const Eigen::Matrix<T, M, N>, MapOptions, StrideType>& val)
31 MUDA_LOG_MATRIX(M, N);
34MUDA_DEVICE LogProxy operator<<(LogProxy o,
const Eigen::MatrixX<T>& val)
35 MUDA_LOG_MATRIX(val.rows(), val.cols());
38MUDA_DEVICE LogProxy operator<<(LogProxy o,
const Eigen::VectorX<T>& val)
39 MUDA_LOG_MATRIX(val.rows(), val.cols());
42MUDA_DEVICE LogProxy operator<<(LogProxy o,
const Eigen::RowVectorX<T>& val)
43 MUDA_LOG_MATRIX(val.rows(), val.cols());