DSDP
|
00001 #if !defined(__DSDP_DSMATRIXOPS_H) 00002 #define __DSDP_DSMATRIXOPS_H 00003 00015 struct DSDPDSMat_Ops{ 00016 int id; 00017 int (*matzeroentries)(void*); 00018 int (*matmult)(void*,double[],double[], int); /* Multiply by a vector */ 00019 int (*matgetsize)(void*,int*); 00020 int (*matseturmat)(void*,double[],int,int); /* Set values from array */ 00021 int (*matvecvec)(void*,double[],int,double*); /* v' * DS * v */ 00022 int (*mattest)(void*); 00023 int (*matview)(void*); 00024 int (*matdestroy)(void*); 00025 const char *matname; 00026 }; 00027 00028 #ifdef __cplusplus 00029 extern "C" { 00030 #endif 00031 extern int DSDPDSMatOpsInitialize(struct DSDPDSMat_Ops*); 00032 #ifdef __cplusplus 00033 } 00034 #endif 00035 00036 #endif 00037 00038