30 #ifndef SPARSELU_PRUNEL_H
31 #define SPARSELU_PRUNEL_H
55 template <
typename Scalar,
typename StorageIndex>
62 bool movnum, do_prune =
false;
63 Index kmin = 0, kmax = 0, minloc, maxloc, krow;
64 for (
i = 0;
i < nseg;
i++) {
75 if (glu.
supno(irep) == glu.
supno(irep1))
continue;
78 if (glu.
supno(irep) != jsupno) {
79 if (xprune(irep) >= glu.
xlsub(irep1)) {
80 kmin = glu.
xlsub(irep);
81 kmax = glu.
xlsub(irep1) - 1;
82 for (krow = kmin; krow <= kmax; krow++) {
83 if (glu.
lsub(krow) == pivrow) {
97 while (kmin <= kmax) {
112 minloc = glu.
xlusup(irep) + (kmin - glu.
xlsub(irep));
113 maxloc = glu.
xlusup(irep) + (kmax - glu.
xlsub(irep));
121 xprune(irep) = StorageIndex(kmin);
int i
Definition: BiCGSTAB_step_by_step.cpp:9
A matrix or vector expression mapping an existing expression.
Definition: Ref.h:264
void pruneL(const Index jcol, const IndexVector &perm_r, const Index pivrow, const Index nseg, const IndexVector &segrep, BlockIndexVector repfnz, IndexVector &xprune, GlobalLU_t &glu)
Prunes the L-structure.
Definition: SparseLU_pruneL.h:56
EIGEN_BLAS_FUNC() swap(int *n, RealScalar *px, int *incx, RealScalar *py, int *incy)
Definition: level1_impl.h:117
@ emptyIdxLU
Definition: SparseLU_Memory.h:41
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
Definition: Eigen_Colamd.h:49
Definition: SparseLU_Structs.h:80
IndexVector xsup
Definition: SparseLU_Structs.h:82
IndexVector xlusup
Definition: SparseLU_Structs.h:86
IndexVector supno
Definition: SparseLU_Structs.h:83
IndexVector lsub
Definition: SparseLU_Structs.h:85
IndexVector xlsub
Definition: SparseLU_Structs.h:87
ScalarVector lusup
Definition: SparseLU_Structs.h:84