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
00022 typedef struct SDPConeVec_C SDPConeVec;
00023
00024 extern int SDPConeVecCreate(int,SDPConeVec *);
00025 extern int SDPConeVecDuplicate(SDPConeVec,SDPConeVec *);
00026 extern int SDPConeVecDot(SDPConeVec, SDPConeVec, double *);
00027 extern int SDPConeVecView( SDPConeVec);
00028 extern int SDPConeVecDestroy(SDPConeVec*);
00029 #define SDPConeVecCreateWArray(a,b,c) 0;{ (*(a)).val=(b); (*(a)).dim=(c);}
00030
00031 extern int SDPConeVecSet(double, SDPConeVec );
00032 extern int SDPConeVecZero(SDPConeVec );
00033 extern int SDPConeVecNormalize(SDPConeVec );
00034 extern int SDPConeVecAXPY(double, SDPConeVec, SDPConeVec);
00035 extern int SDPConeVecNorm2( SDPConeVec, double *);
00036 extern int SDPConeVecCopy( SDPConeVec, SDPConeVec);
00037 extern int SDPConeVecScale(double, SDPConeVec);
00038
00039 #define SDPConeVecGetArray(a,b) 0;{ *(b)=((a).val); }
00040 #define SDPConeVecRestoreArray(a,b) 0;{ *(b)=0;}
00041 #define SDPConeVecGetSize(a,b) 0;{ *(b)=((a).dim); }
00042
00048 typedef struct {
00049 int *indx;
00050 } DSDPIndex;
00051
00052 extern int DSDPIndexInitialize(DSDPIndex*);
00053 extern int DSDPIndexDestroy(DSDPIndex*);
00054 extern int DSDPIndexSetBasis(DSDPIndex, int);
00055 extern int DSDPIndexCreate(int,DSDPIndex*);
00056 extern int DSDPIndexView(DSDPIndex);
00057
00058
00059 #endif