sdpconevec.h
Go to the documentation of this file.00001 #if !defined(__SDPCONE_VECTORS_H)
00002 #define __SDPCONE_VECTORS_H
00003
00007 #include <math.h>
00013 struct SDPConeVec_C{
00014 int dim;
00015 double *val;
00016 };
00017
00018 typedef struct {
00019 int *indx;
00020 } DSDPIndex;
00021
00026 typedef struct SDPConeVec_C SDPConeVec;
00027
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031
00032 extern int SDPConeVecCreate(int,SDPConeVec *);
00033 extern int SDPConeVecDuplicate(SDPConeVec,SDPConeVec *);
00034 extern int SDPConeVecDot(SDPConeVec, SDPConeVec, double *);
00035 extern int SDPConeVecView( SDPConeVec);
00036 extern int SDPConeVecDestroy(SDPConeVec*);
00037 #define SDPConeVecCreateWArray(a,b,c) 0;{ (*(a)).val=(b); (*(a)).dim=(c);}
00038
00039 extern int SDPConeVecSet(double, SDPConeVec );
00040 extern int SDPConeVecZero(SDPConeVec );
00041 extern int SDPConeVecNormalize(SDPConeVec );
00042 extern int SDPConeVecAXPY(double, SDPConeVec, SDPConeVec);
00043 extern int SDPConeVecNorm2( SDPConeVec, double *);
00044 extern int SDPConeVecCopy( SDPConeVec, SDPConeVec);
00045 extern int SDPConeVecScale(double, SDPConeVec);
00046
00047 #define SDPConeVecGetArray(a,b) 0;{ *(b)=((a).val); }
00048 #define SDPConeVecRestoreArray(a,b) 0;{ *(b)=0;}
00049 #define SDPConeVecGetSize(a,b) 0;{ *(b)=((a).dim); }
00050
00057 extern int DSDPIndexInitialize(DSDPIndex*);
00058 extern int DSDPIndexDestroy(DSDPIndex*);
00059 extern int DSDPIndexSetBasis(DSDPIndex, int);
00060 extern int DSDPIndexCreate(int,DSDPIndex*);
00061 extern int DSDPIndexView(DSDPIndex);
00062 #ifdef __cplusplus
00063 }
00064 #endif
00065
00066
00067 #endif