6#pragma GCC push_options
7#pragma GCC optimize ("O0")
9template<
typename Ftype>
21 Ftype *ublk_ptr = BlockUfactor;
22 Ftype *ujrow = BlockUfactor;
24 int cols_left = nsupc;
34 if (std::sqrt(
sqnorm(diagBlk[
i])) < thresh)
38 printf(
"(%d) .. col %d, tiny pivot %e ",
39 iam, jfst +
j, diagBlk[
i]);
50 printf(
"replaced by %e\n", diagBlk[
i]);
56 for (
int_t l = 0; l < cols_left; ++l,
i += LDA)
59 ublk_ptr[st + l * LDU] = diagBlk[
i];
61 Ftype zero = zeroT<Ftype>();
69 temp = one<Ftype>() / ujrow[0];
70 for (
int_t i = luptr + 1;
i < luptr -
j + nsupc; ++
i)
79 int l = nsupc -
j - 1;
83 Ftype alpha = -one<Ftype>();
84 superlu_ger<Ftype>(l, cols_left, alpha, &diagBlk[luptr + 1], incx,
85 &ujrow[LDU], incy, &diagBlk[luptr + LDA + 1],
87 stat->
ops[
FACT] += 2 * l * cols_left;
90 ujrow = ujrow + LDU + 1;
99#pragma GCC pop_options
typename std::conditional< std::is_same< Ftype, float >::value, float, typename std::conditional< std::is_same< Ftype, double >::value||std::is_same< Ftype, doublecomplex >::value, double, float >::type >::type threshPivValType
Definition: luAuxStructTemplated.hpp:70
double sqnorm(float value)
Definition: luAuxStructTemplated.hpp:275
void setDiagToThreshold(double *diagptr, double thresh)
Definition: luAuxStructTemplated.hpp:297
Definition: util_dist.h:101
int TinyPivots
Definition: util_dist.h:105
flops_t * ops
Definition: util_dist.h:104
Definition: superlu_defs.h:728
yes_no_t ReplaceTinyPivot
Definition: superlu_defs.h:750
Distributed SuperLU data types and function prototypes.
Definitions which are precision-neutral.
#define SuperSize(bnum)
Definition: superlu_defs.h:271
#define FstBlockC(bnum)
Definition: superlu_defs.h:270
int64_t int_t
Definition: superlu_defs.h:119
@ YES
Definition: superlu_enum_consts.h:29
@ FACT
Definition: superlu_enum_consts.h:74
Distributed SuperLU data types and function prototypes.
int j
Definition: sutil_dist.c:287
int i
Definition: sutil_dist.c:287
void xgstrf2(int_t k, Ftype *diagBlk, int_t LDA, Ftype *BlockUfactor, int_t LDU, threshPivValType< Ftype > thresh, int_t *xsup, superlu_dist_options_t *options, SuperLUStat_t *stat, int *info)
Definition: xgstrf2.hpp:10