29 #ifndef BASKER_DECL_HPP
30 #define BASKER_DECL_HPP
32 #include "basker_types.hpp"
34 namespace BaskerClassicNS{
36 template <
class Int,
class Entry>
42 BaskerClassic(Int nnzL, Int nnzU);
44 int preorder(Int *row_perm, Int *col_perm);
45 int factor(Int nrow, Int ncol , Int nnz, Int *col_ptr, Int *row_idx, Entry *val);
46 int returnL(Int *dim, Int *nnz, Int **col_ptr, Int **row_idx, Entry **val);
47 int returnU(Int *dim, Int *nnz, Int **col_ptr, Int **row_idx, Entry **val);
49 int solve( Entry* b, Entry* x);
50 int solveMultiple(Int nrhs, Entry *b, Entry *x);
71 void free_perm_matrix();
72 int low_tri_solve_csc(Int n, Int* col_ptr, Int *row_idx, Entry *val, Entry *x, Entry *b);
73 int up_tri_solve_csc(Int n, Int* col_ptr, Int *row_idx, Entry *val, Entry *x, Entry *b);
74 int permute_row(Int *p, basker_matrix<Int,Entry> *B);
75 int permute_column(Int *p, basker_matrix<Int, Entry> *B);
77 Entry* entry_realloc(Entry *old, Int old_size, Int new_size);
78 Int* int_realloc(Int *old, Int old_size, Int new_size);
79 basker_matrix<Int, Entry> *A;
80 basker_matrix<Int, Entry> *L;
81 basker_matrix<Int, Entry> *U;