dsdpcone_impl.h
Go to the documentation of this file.00001 #ifndef __DSDPCONE_H
00002 #define __DSDPCONE_H
00003
00009 #include "dsdpbasictypes.h"
00010 #include "dsdpvec.h"
00011 #include "dsdpschurmat.h"
00012
00013 struct DSDPCone_Ops{
00014 int id;
00015 int (*conesize)(void*,double*);
00016 int (*conesetup)(void*,DSDPVec);
00017 int (*conesetup2)(void*,DSDPVec,DSDPSchurMat);
00018 int (*conecomputes)(void*,DSDPVec,DSDPDualFactorMatrix,DSDPTruth*);
00019 int (*coneinverts)(void*);
00020 int (*conelogpotential)(void*,double*,double*);
00021 int (*conesetxmaker)(void*,double,DSDPVec,DSDPVec);
00022 int (*conecomputex)(void*,double,DSDPVec,DSDPVec,DSDPVec,double*);
00023 int (*conehessian)(void*,double,DSDPSchurMat,DSDPVec,DSDPVec);
00024 int (*conehmultiplyadd)(void*,double,DSDPVec,DSDPVec,DSDPVec);
00025 int (*conerhs)(void*,double,DSDPVec,DSDPVec,DSDPVec);
00026 int (*conemaxsteplength)(void*,DSDPVec,DSDPDualFactorMatrix,double*);
00027 int (*coneanorm2)(void*,DSDPVec);
00028 int (*conesparsity)(void*,int,int*,int[],int);
00029 int (*conemonitor)(void*,int);
00030 int (*conedestroy)(void*);
00031 int (*coneview)(void*);
00032 const char *name;
00033 };
00034
00035 extern int DSDPAddCone(DSDP,struct DSDPCone_Ops*, void*);
00036 extern int DSDPConeOpsInitialize(struct DSDPCone_Ops*);
00037
00038 #endif