Home | History | Annotate | Download | only in OrderingMethods

Lines Matching refs:StorageIndex

44 template<typename StorageIndex>
45 static StorageIndex cs_wclear (StorageIndex mark, StorageIndex lemax, StorageIndex *w, StorageIndex n)
47 StorageIndex k;
59 template<typename StorageIndex>
60 StorageIndex cs_tdfs(StorageIndex j, StorageIndex k, StorageIndex *head, const StorageIndex *next, StorageIndex *post, StorageIndex *stack)
62 StorageIndex i, p, top = 0;
93 template<typename Scalar, typename StorageIndex>
94 void minimum_degree_ordering(SparseMatrix<Scalar,ColMajor,StorageIndex>& C, PermutationMatrix<Dynamic,Dynamic,StorageIndex>& perm)
98 StorageIndex d, dk, dext, lemax = 0, e, elenk, eln, i, j, k, k1,
102 StorageIndex n = StorageIndex(C.cols());
103 dense = std::max<StorageIndex> (16, StorageIndex(10 * sqrt(double(n)))); /* find dense threshold */
106 StorageIndex cnz = StorageIndex(C.nonZeros());
112 ei_declare_aligned_stack_constructed_variable(StorageIndex,W,8*(n+1),0);
113 StorageIndex* len = W;
114 StorageIndex* nv = W + (n+1);
115 StorageIndex* next = W + 2*(n+1);
116 StorageIndex* head = W + 3*(n+1);
117 StorageIndex* elen = W + 4*(n+1);
118 StorageIndex* degree = W + 5*(n+1);
119 StorageIndex* w = W + 6*(n+1);
120 StorageIndex* hhead = W + 7*(n+1);
121 StorageIndex* last = perm.indices().data(); /* use P as workspace for last */
124 StorageIndex* Cp = C.outerIndexPtr();
125 StorageIndex* Ci = C.innerIndexPtr();
142 mark = internal::cs_wclear<StorageIndex>(0, 0, w, n); /* clear w */
266 mark = internal::cs_wclear<StorageIndex>(mark, lemax, w, n); /* clear w if necessary */
336 degree[i] = std::min<StorageIndex> (degree[i], d); /* update degree(i) */
348 lemax = std::max<StorageIndex>(lemax, dk);
349 mark = internal::cs_wclear<StorageIndex>(mark+lemax, lemax, w, n); /* clear w */
397 d = std::min<StorageIndex> (d, n - nel - nvi);
402 mindeg = std::min<StorageIndex> (mindeg, d); /* find new minimum degree */
435 if(Cp[i] == -1) k = internal::cs_tdfs<StorageIndex>(i, k, head, next, perm.indices().data(), w);