mul_herk.hpp (armadillo-10.8.2.tar.xz) | : | mul_herk.hpp (armadillo-11.0.0.tar.xz) | ||
---|---|---|---|---|
skipping to change at line 319 | skipping to change at line 319 | |||
static | static | |||
void | void | |||
apply_blas_type( Mat<std::complex<T>>& C, const TA& A, const T alpha = T(1), c onst T beta = T(0) ) | apply_blas_type( Mat<std::complex<T>>& C, const TA& A, const T alpha = T(1), c onst T beta = T(0) ) | |||
{ | { | |||
arma_extra_debug_sigprint(); | arma_extra_debug_sigprint(); | |||
const uword threshold = 16; | const uword threshold = 16; | |||
if(A.is_vec()) | if(A.is_vec()) | |||
{ | { | |||
// work around poor handling of vectors by herk() in ATLAS 3.8.4 and stand ard BLAS | // work around poor handling of vectors by herk() in standard BLAS | |||
herk_vec<do_trans_A, use_alpha, use_beta>::apply(C,A,alpha,beta); | herk_vec<do_trans_A, use_alpha, use_beta>::apply(C,A,alpha,beta); | |||
return; | return; | |||
} | } | |||
if( (A.n_elem <= threshold) ) | if( (A.n_elem <= threshold) ) | |||
{ | { | |||
herk_emul<do_trans_A, use_alpha, use_beta>::apply(C,A,alpha,beta); | herk_emul<do_trans_A, use_alpha, use_beta>::apply(C,A,alpha,beta); | |||
} | } | |||
skipping to change at line 351 | skipping to change at line 351 | |||
herk<do_trans_A, use_alpha, false>::apply_blas_type(D,A,alpha); | herk<do_trans_A, use_alpha, false>::apply_blas_type(D,A,alpha); | |||
// NOTE: assuming beta=1; this is okay for now, as currently glue_time s only uses beta=1 | // NOTE: assuming beta=1; this is okay for now, as currently glue_time s only uses beta=1 | |||
arrayops::inplace_plus(C.memptr(), D.memptr(), C.n_elem); | arrayops::inplace_plus(C.memptr(), D.memptr(), C.n_elem); | |||
return; | return; | |||
} | } | |||
atlas::cblas_herk<T> | atlas::cblas_herk<T> | |||
( | ( | |||
atlas::CblasColMajor, | atlas_CblasColMajor, | |||
atlas::CblasUpper, | atlas_CblasUpper, | |||
(do_trans_A) ? CblasConjTrans : atlas::CblasNoTrans, | (do_trans_A) ? atlas_CblasConjTrans : atlas_CblasNoTrans, | |||
C.n_cols, | C.n_cols, | |||
(do_trans_A) ? A.n_rows : A.n_cols, | (do_trans_A) ? A.n_rows : A.n_cols, | |||
(use_alpha) ? alpha : T(1), | (use_alpha) ? alpha : T(1), | |||
A.mem, | A.mem, | |||
(do_trans_A) ? A.n_rows : C.n_cols, | (do_trans_A) ? A.n_rows : C.n_cols, | |||
(use_beta) ? beta : T(0), | (use_beta) ? beta : T(0), | |||
C.memptr(), | C.memptr(), | |||
C.n_cols | C.n_cols | |||
); | ); | |||
End of changes. 2 change blocks. | ||||
4 lines changed or deleted | 4 lines changed or added |