DSDP
dsdpschurmat_impl.h
Go to the documentation of this file.
1 #include "dsdpbasictypes.h"
2 #if !defined(__DSDP_SCHURMATRICES_H)
3 #define __DSDP_SCHURMATRICES_H
4 
10 struct DSDPSchurMat_Ops{
11  int id;
12  int (*matzero)(void*);
13  int (*matrownonzeros)(void*,int,double*,int*,int);
14  int (*mataddrow)(void*,int,double,double[],int);
15  int (*mataddelement)(void*,int,double);
16  int (*matadddiagonal)(void*,double[],int);
17  int (*matshiftdiagonal)(void*,double);
18  int (*matassemble)(void*);
19  int (*matscaledmultiply)(void*,double[],double[],int);
20  int (*matmultr)(void*,double[],double[],int);
21  int (*matfactor)(void*,int*);
22  int (*matsolve)(void*,double[],double[],int);
23  int (*matsetup)(void*,int);
24  int (*pmatwhichdiag)(void*,double[],int);
25  int (*pmatonprocessor)(void*,int,int*);
26  int (*pmatlocalvariables)(void*,double[],int);
27  int (*pmatreduction)(void*,double[],int);
28  int (*pmatdistributed)(void*,int*);
29  int (*matdestroy)(void*);
30  int (*matview)(void*);
31  const char *matname;
32 };
33 
34 extern int DSDPSetSchurMatOps(DSDP,struct DSDPSchurMat_Ops*,void*);
35 extern int DSDPSchurMatOpsInitialize(struct DSDPSchurMat_Ops*);
36 extern int DSDPSparsityInSchurMat(DSDP,int,int[],int);
37 #endif
38 
39