10 #ifndef BASKER_DECL_HPP
11 #define BASKER_DECL_HPP
13 #include "basker_types.hpp"
15 namespace BaskerClassicNS{
17 template <
class Int,
class Entry>
23 BaskerClassic(Int nnzL, Int nnzU);
25 int preorder(Int *row_perm, Int *col_perm);
26 int factor(Int nrow, Int ncol , Int nnz, Int *col_ptr, Int *row_idx, Entry *val);
27 int returnL(Int *dim, Int *nnz, Int **col_ptr, Int **row_idx, Entry **val);
28 int returnU(Int *dim, Int *nnz, Int **col_ptr, Int **row_idx, Entry **val);
30 int solve( Entry* b, Entry* x);
31 int solveMultiple(Int nrhs, Entry *b, Entry *x);
52 void free_perm_matrix();
53 int low_tri_solve_csc(Int n, Int* col_ptr, Int *row_idx, Entry *val, Entry *x, Entry *b);
54 int up_tri_solve_csc(Int n, Int* col_ptr, Int *row_idx, Entry *val, Entry *x, Entry *b);
55 int permute_row(Int *p, basker_matrix<Int,Entry> *B);
56 int permute_column(Int *p, basker_matrix<Int, Entry> *B);
58 Entry* entry_realloc(Entry *old, Int old_size, Int new_size);
59 Int* int_realloc(Int *old, Int old_size, Int new_size);
60 basker_matrix<Int, Entry> *A;
61 basker_matrix<Int, Entry> *L;
62 basker_matrix<Int, Entry> *U;