MCPcopy Create free account
hub / github.com/numpy/numpy / slogdet_from_factored_diagonal

Function slogdet_from_factored_diagonal

numpy/linalg/umath_linalg.cpp:1013–1035  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1011
1012template<typename typ>
1013static inline void
1014slogdet_from_factored_diagonal(typ* src,
1015 fortran_int m,
1016 typ *sign,
1017 typ *logdet)
1018{
1019 typ acc_sign = *sign;
1020 typ acc_logdet = numeric_limits<typ>::zero;
1021 int i;
1022 for (i = 0; i < m; i++) {
1023 typ abs_element = *src;
1024 if (abs_element < numeric_limits<typ>::zero) {
1025 acc_sign = -acc_sign;
1026 abs_element = -abs_element;
1027 }
1028
1029 acc_logdet += npylog(abs_element);
1030 src += m+1;
1031 }
1032
1033 *sign = acc_sign;
1034 *logdet = acc_logdet;
1035}
1036
1037template<typename typ>
1038static inline typ

Callers 1

slogdet_single_elementFunction · 0.85

Calls 3

npylogFunction · 0.85
npyabsFunction · 0.85
multFunction · 0.85

Tested by

no test coverage detected