dsdpxmat_impl.h
Go to the documentation of this file.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 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035
00036 extern int DSDPVMatOpsInitialize(struct DSDPVMat_Ops*);
00037
00038 #ifdef __cplusplus
00039 }
00040 #endif
00041
00042 #endif
00043
00044