/[escript]/trunk/paso/src/SystemMatrix.h
ViewVC logotype

Diff of /trunk/paso/src/SystemMatrix.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2106 by phornby, Thu Nov 20 10:40:19 2008 UTC revision 2107 by artak, Fri Nov 28 04:39:07 2008 UTC
# Line 84  typedef struct Paso_SystemMatrix { Line 84  typedef struct Paso_SystemMatrix {
84    
85  /*  interfaces: */  /*  interfaces: */
86    
   
 PASO_DLL_API  
87  Paso_SystemMatrix* Paso_SystemMatrix_alloc(Paso_SystemMatrixType,Paso_SystemMatrixPattern*,dim_t,dim_t);  Paso_SystemMatrix* Paso_SystemMatrix_alloc(Paso_SystemMatrixType,Paso_SystemMatrixPattern*,dim_t,dim_t);
   
 PASO_DLL_API  
88  Paso_SystemMatrix* Paso_SystemMatrix_reference(Paso_SystemMatrix*);  Paso_SystemMatrix* Paso_SystemMatrix_reference(Paso_SystemMatrix*);
   
 PASO_DLL_API  
89  void Paso_SystemMatrix_free(Paso_SystemMatrix*);  void Paso_SystemMatrix_free(Paso_SystemMatrix*);
90    
   
 PASO_DLL_API  
91  void Paso_SystemMatrix_MatrixVector(const double alpha, Paso_SystemMatrix* A, const double* in, const double beta, double* out);  void Paso_SystemMatrix_MatrixVector(const double alpha, Paso_SystemMatrix* A, const double* in, const double beta, double* out);
   
 PASO_DLL_API  
92  void Paso_SystemMatrix_MatrixVector_CSR_OFFSET0(double alpha, Paso_SystemMatrix* A, const double* in, const double beta, double* out);  void Paso_SystemMatrix_MatrixVector_CSR_OFFSET0(double alpha, Paso_SystemMatrix* A, const double* in, const double beta, double* out);
   
 PASO_DLL_API  
93  void Paso_solve(Paso_SystemMatrix* A, double* out, double* in, Paso_Options* options);  void Paso_solve(Paso_SystemMatrix* A, double* out, double* in, Paso_Options* options);
   
 PASO_DLL_API  
94  void Paso_solve_free(Paso_SystemMatrix* in);  void Paso_solve_free(Paso_SystemMatrix* in);
   
 PASO_DLL_API  
95  void  Paso_SystemMatrix_startCollect(Paso_SystemMatrix* A,const double* in);  void  Paso_SystemMatrix_startCollect(Paso_SystemMatrix* A,const double* in);
   
 PASO_DLL_API  
96  double* Paso_SystemMatrix_finishCollect(Paso_SystemMatrix* A);  double* Paso_SystemMatrix_finishCollect(Paso_SystemMatrix* A);
   
 PASO_DLL_API  
97  void  Paso_SystemMatrix_startColCollect(Paso_SystemMatrix* A,const double* in);  void  Paso_SystemMatrix_startColCollect(Paso_SystemMatrix* A,const double* in);
   
 PASO_DLL_API  
98  double* Paso_SystemMatrix_finishColCollect(Paso_SystemMatrix* A);  double* Paso_SystemMatrix_finishColCollect(Paso_SystemMatrix* A);
   
 PASO_DLL_API  
99  void  Paso_SystemMatrix_startRowCollect(Paso_SystemMatrix* A,const double* in);  void  Paso_SystemMatrix_startRowCollect(Paso_SystemMatrix* A,const double* in);
   
 PASO_DLL_API  
100  double* Paso_SystemMatrix_finishRowCollect(Paso_SystemMatrix* A);  double* Paso_SystemMatrix_finishRowCollect(Paso_SystemMatrix* A);
   
 PASO_DLL_API  
101  void Paso_SystemMatrix_nullifyRowsAndCols(Paso_SystemMatrix* A, double* mask_row, double* mask_col, double main_diagonal_value);  void Paso_SystemMatrix_nullifyRowsAndCols(Paso_SystemMatrix* A, double* mask_row, double* mask_col, double main_diagonal_value);
   
 PASO_DLL_API  
102  double* Paso_SystemMatrix_borrowNormalization(Paso_SystemMatrix* A);  double* Paso_SystemMatrix_borrowNormalization(Paso_SystemMatrix* A);
   
 PASO_DLL_API  
103  dim_t Paso_SystemMatrix_getTotalNumRows(const Paso_SystemMatrix* A);  dim_t Paso_SystemMatrix_getTotalNumRows(const Paso_SystemMatrix* A);
   
 PASO_DLL_API  
104  dim_t Paso_SystemMatrix_getTotalNumCols(const Paso_SystemMatrix*);  dim_t Paso_SystemMatrix_getTotalNumCols(const Paso_SystemMatrix*);
   
 PASO_DLL_API  
105  dim_t Paso_SystemMatrix_getGlobalNumRows(Paso_SystemMatrix*);  dim_t Paso_SystemMatrix_getGlobalNumRows(Paso_SystemMatrix*);
   
 PASO_DLL_API  
106  dim_t Paso_SystemMatrix_getGlobalNumCols(Paso_SystemMatrix*);  dim_t Paso_SystemMatrix_getGlobalNumCols(Paso_SystemMatrix*);
107    
   
 PASO_DLL_API  
108  void Paso_SystemMatrix_saveMM(Paso_SystemMatrix *, char *);  void Paso_SystemMatrix_saveMM(Paso_SystemMatrix *, char *);
   
 PASO_DLL_API  
109  void Paso_SystemMatrix_saveHB(Paso_SystemMatrix *, char *);  void Paso_SystemMatrix_saveHB(Paso_SystemMatrix *, char *);
   
 PASO_DLL_API  
110  Paso_SystemMatrix* Paso_SystemMatrix_loadMM_toCSR(char *);  Paso_SystemMatrix* Paso_SystemMatrix_loadMM_toCSR(char *);
   
 PASO_DLL_API  
111  Paso_SystemMatrix* Paso_SystemMatrix_loadMM_toCSC(char *);  Paso_SystemMatrix* Paso_SystemMatrix_loadMM_toCSC(char *);
   
 PASO_DLL_API  
112  void Paso_SystemMatrix_setDefaults(Paso_Options*);  void Paso_SystemMatrix_setDefaults(Paso_Options*);
   
 PASO_DLL_API  
113  int Paso_SystemMatrix_getSystemMatrixTypeId(const index_t solver,const index_t preconditioner, const  index_t package,const  bool_t symmetry);  int Paso_SystemMatrix_getSystemMatrixTypeId(const index_t solver,const index_t preconditioner, const  index_t package,const  bool_t symmetry);
   
 PASO_DLL_API  
114  dim_t Paso_SystemMatrix_getNumOutput(Paso_SystemMatrix* A);  dim_t Paso_SystemMatrix_getNumOutput(Paso_SystemMatrix* A);
   
 PASO_DLL_API  
115  void Paso_SystemMatrix_setValues(Paso_SystemMatrix*,double);  void Paso_SystemMatrix_setValues(Paso_SystemMatrix*,double);
   
 PASO_DLL_API  
116  void Paso_SystemMatrix_add(Paso_SystemMatrix*,dim_t,index_t*, dim_t,dim_t,index_t*,dim_t, double*);  void Paso_SystemMatrix_add(Paso_SystemMatrix*,dim_t,index_t*, dim_t,dim_t,index_t*,dim_t, double*);
   
 PASO_DLL_API  
117  void Paso_SystemMatrix_rowSum(Paso_SystemMatrix* A, double* row_sum);  void Paso_SystemMatrix_rowSum(Paso_SystemMatrix* A, double* row_sum);
   
 PASO_DLL_API  
118  void Paso_SystemMatrix_nullifyRows(Paso_SystemMatrix* A, double* mask_row, double main_diagonal_value);  void Paso_SystemMatrix_nullifyRows(Paso_SystemMatrix* A, double* mask_row, double main_diagonal_value);
   
 PASO_DLL_API  
119  void Paso_SparseMatrix_nullifyRows_CSR(Paso_SparseMatrix*, double*, double);  void Paso_SparseMatrix_nullifyRows_CSR(Paso_SparseMatrix*, double*, double);
120    
121    

Legend:
Removed from v.2106  
changed lines
  Added in v.2107

  ViewVC Help
Powered by ViewVC 1.1.26