00001 #if !defined(__DSDP_VMATRIXOPS_H) 00002 #define __DSDP_VMATRIXOPS_H 00003 00013 struct DSDPVMat_Ops{ 00014 int id; 00015 int (*matgetsize)(void*,int*); 00016 int (*mataddouterproduct)(void*,double,double[],int); 00017 int (*matmult)(void*,double[],double[],int); 00018 int (*matscalediagonal)(void*,double); 00019 int (*matshiftdiagonal)(void*,double); 00020 int (*matfnorm2)(void*,int,double*); 00021 int (*matzeroentries)(void*); 00022 int (*matgeturarray)(void*,double*[],int*); 00023 int (*matrestoreurarray)(void*,double*[],int*); 00024 int (*matmineig)(void*,double[],double[],int,double*); 00025 int (*mattest)(void*); 00026 int (*matdestroy)(void*); 00027 int (*matview)(void*); 00028 const char *matname; 00029 00030 }; 00031 00032 extern int DSDPVMatOpsInitialize(struct DSDPVMat_Ops*); 00033 00034 #endif 00035 00036