00001 #if !defined(__DSDP_DSMATRIX_H)
00002 #define __DSDP_DSMATRIX_H
00003
00004 #include "sdpconevec.h"
00005 #include "dsdpxmat.h"
00006
00012
00013
00014
00015
00016
00023 struct DSDPDSMat_C{
00024 void *matdata;
00025 struct DSDPDSMat_Ops* dsdpops;
00026 };
00027
00033 typedef struct DSDPDSMat_C DSDPDSMat;
00034
00035
00036 extern int DSDPDSMatGetType(DSDPDSMat, int *);
00037 extern int DSDPDSMatSetData(DSDPDSMat *, struct DSDPDSMat_Ops*, void*);
00038 extern int DSDPDSMatInitialize(DSDPDSMat*);
00039
00040 extern int DSDPDSMatZeroEntries(DSDPDSMat);
00041 extern int DSDPDSMatSetArray(DSDPDSMat,DSDPVMat);
00042 extern int DSDPDSMatMult(DSDPDSMat, SDPConeVec, SDPConeVec);
00043 extern int DSDPDSMatVecVec(DSDPDSMat, SDPConeVec, double*);
00044
00045 extern int DSDPDSMatTest(DSDPDSMat);
00046 extern int DSDPDSMatGetSize(DSDPDSMat,int*);
00047 extern int DSDPDSMatView(DSDPDSMat);
00048 extern int DSDPDSMatDestroy(DSDPDSMat*);
00049
00050 extern int DSDPDSMatCheck(DSDPDSMat,SDPConeVec,SDPConeVec,DSDPVMat);
00051
00052 #endif
00053
00054