DSDP
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