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;