/[escript]/branches/RW_WIN32/paso/src/SystemMatrix.h
ViewVC logotype

Diff of /branches/RW_WIN32/paso/src/SystemMatrix.h

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

revision 185 by robwdcock, Sun Nov 20 05:43:12 2005 UTC revision 186 by robwdcock, Sun Nov 20 10:51:16 2005 UTC
# Line 13  Line 13 
13    
14  #ifndef INC_PASO_SYSTEM  #ifndef INC_PASO_SYSTEM
15  #define INC_PASO_SYSTEM  #define INC_PASO_SYSTEM
16    #ifdef MSVC
17    #ifdef PASO_EXPORTS
18    #define PASO_DLL __declspec(dllexport)
19    #else
20    #define PASO_DLL __declspec(dllimport)
21    #endif
22    #else
23    #define PASO_DLL
24    #endif
25    
26  #include "Common.h"  #include "Common.h"
27  #include "SystemMatrixPattern.h"  #include "SystemMatrixPattern.h"
28  #include "Options.h"  #include "Options.h"
29    
30    #ifdef __cplusplus
31    extern "C" {
32    #endif
33    
34    
35  /**************************************************************/  /**************************************************************/
36    
37  /*  this struct holds a stiffness matrix: */  /*  this struct holds a stiffness matrix: */
# Line 64  typedef struct Paso_SystemMatrix { Line 78  typedef struct Paso_SystemMatrix {
78    
79  /*  interfaces: */  /*  interfaces: */
80    
81  Paso_SystemMatrix* Paso_SystemMatrix_alloc(Paso_SystemMatrixType,Paso_SystemMatrixPattern*,dim_t,dim_t);  PASO_DLL Paso_SystemMatrix* Paso_SystemMatrix_alloc(Paso_SystemMatrixType,Paso_SystemMatrixPattern*,dim_t,dim_t);
82  Paso_SystemMatrix* Paso_SystemMatrix_reference(Paso_SystemMatrix*);  PASO_DLL Paso_SystemMatrix* Paso_SystemMatrix_reference(Paso_SystemMatrix*);
83  void Paso_SystemMatrix_dealloc(Paso_SystemMatrix*);  PASO_DLL void Paso_SystemMatrix_dealloc(Paso_SystemMatrix*);
84    
85  void Paso_SystemMatrix_setValues(Paso_SystemMatrix*,double);  PASO_DLL void Paso_SystemMatrix_setValues(Paso_SystemMatrix*,double);
86  void Paso_SystemMatrix_copy(Paso_SystemMatrix*,double*);  PASO_DLL void Paso_SystemMatrix_copy(Paso_SystemMatrix*,double*);
87  void Paso_SystemMatrix_add(Paso_SystemMatrix*,dim_t,index_t*, dim_t,dim_t,index_t*,dim_t, double*);  PASO_DLL void Paso_SystemMatrix_add(Paso_SystemMatrix*,dim_t,index_t*, dim_t,dim_t,index_t*,dim_t, double*);
88  void Paso_SystemMatrix_MatrixVector(double alpha, Paso_SystemMatrix* A, double* in, double beta, double* out);  PASO_DLL void Paso_SystemMatrix_MatrixVector(double alpha, Paso_SystemMatrix* A, double* in, double beta, double* out);
89    
90  void Paso_SystemMatrix_saveMM(Paso_SystemMatrix *, char *);  PASO_DLL void Paso_SystemMatrix_saveMM(Paso_SystemMatrix *, char *);
91  void Paso_SystemMatrix_saveHB(Paso_SystemMatrix *, char *);  PASO_DLL void Paso_SystemMatrix_saveHB(Paso_SystemMatrix *, char *);
92  Paso_SystemMatrix* Paso_SystemMatrix_loadMM_toCSR(char *);  PASO_DLL Paso_SystemMatrix* Paso_SystemMatrix_loadMM_toCSR(char *);
93  void Paso_SystemMatrix_nullifyRowsAndCols(Paso_SystemMatrix* A, double* mask_row, double* mask_col, double main_diagonal_value);  PASO_DLL void Paso_SystemMatrix_nullifyRowsAndCols(Paso_SystemMatrix* A, double* mask_row, double* mask_col, double main_diagonal_value);
94  void Paso_SystemMatrix_setDefaults(Paso_Options*);  PASO_DLL void Paso_SystemMatrix_setDefaults(Paso_Options*);
95  int Paso_SystemMatrix_getSystemMatrixTypeId(index_t solver, index_t package, bool_t symmetry);  PASO_DLL int Paso_SystemMatrix_getSystemMatrixTypeId(index_t solver, index_t package, bool_t symmetry);
96  Paso_SystemMatrix* Paso_SystemMatrix_getSubmatrix(Paso_SystemMatrix* A,dim_t,index_t*,index_t*);  PASO_DLL Paso_SystemMatrix* Paso_SystemMatrix_getSubmatrix(Paso_SystemMatrix* A,dim_t,index_t*,index_t*);
97  double* Paso_SystemMatrix_borrowNormalization(Paso_SystemMatrix* A);  PASO_DLL double* Paso_SystemMatrix_borrowNormalization(Paso_SystemMatrix* A);
98    
99    #ifdef __cplusplus
100    }
101    #endif /* __cplusplus */
102    
103    
104    
105  #endif /* #ifndef INC_PASO_SYSTEM */  #endif /* #ifndef INC_PASO_SYSTEM */
106    

Legend:
Removed from v.185  
changed lines
  Added in v.186

  ViewVC Help
Powered by ViewVC 1.1.26