5 #ifndef FML_CPU_INTERNALS_CPU_UTILS_H
6 #define FML_CPU_INTERNALS_CPU_UTILS_H
15 template <
typename REAL>
16 void tri2zero(
const char uplo,
const bool diag,
const len_t m,
const len_t n,
17 REAL *A,
const len_t lda)
21 const len_t offset = diag ? 1 : 0;
23 for (len_t j=0; j<n; j++)
25 const len_t top = std::min(j+offset, m);
28 for (len_t i=0; i<top; i++)
29 A[i + lda*j] = (REAL)0;
34 const len_t offset = diag ? 0 : 1;
36 for (len_t j=0; j<n; j++)
39 for (len_t i=j+offset; i<m; i++)
40 A[i + lda*j] = (REAL)0;