sdpfun.h

00001 
00002 /*
00003  * common functions
00004  */
00005 #if !defined (min)
00006 #define min(a,b) ((a <= b)? (a) : (b))
00007 #endif
00008 #if !defined (max)
00009 #define max(a,b) ((a >= b)? (a) : (b))
00010 #endif
00011 #if !defined (sign)
00012 #define sign(a) ((a<0)? (-1) : (1))
00013 #endif
00014 
00015 /*
00016  * functions in sdpallo.c
00017  */
00018 int       iAlloc(int,char*,int**);
00019 void      iFree(int**);
00020 int       dAlloc(int,char*,double**);
00021 void      dFree(double**);
00022 void      cFree(char**);
00023 int       LvalAlloc(chfac*,char*);
00024 int       CfcAlloc(int,char*,chfac**);
00025 void      CfcFree(chfac**);
00026 int       dPtAlloc(int,char*,double ***); 
00027 void      dPtFree(double***);
00028 
00029 /* 
00030  * functions in sdpmain.c 
00031  */ 
00032 void    GetUhat(chfac*,double*,double*);
00033 
00034 /*
00035  * functions in sdpshut.c
00036  */
00037 void    ShutDown(void);
00038 int     ExitProc(int,char*);
00039 
00040 
00041 /*
00042  * functions in sdplib.a
00043  */
00044 void    DotProd(double*,chfac*);
00045 
00046 void    ForwSubst(chfac*,double*,double*);
00047 int     iSum(int,int*);
00048 void    dCopy(int,double*,double*);
00049 int     ChlFact(chfac*,int*,double*,int);
00050 void    ChlSolve(chfac*,double*,double*);
00051 void    ChlSolveForward(chfac*, double*, double*);
00052 void    ChlSolveBackward(chfac*, double*, double*);
00053 int     SymbProc(int*,int*,int,chfac**);
00054 void    iCopy(int,int*,int*);
00055 
00056 int    OdAlloc(int,int,char*,order**);
00057 void   OdFree(order**);
00058 void   OdInit(order*,int*);
00059 void   OdIndex(order*,int,int);
00060 void   OdProc(order*,xlist*,int*,int*,int*,int*,int*,
00061               int*,int*,int*,int*,int*,int*,int*,int*);
00062 int    GetOrder(order*,int*);
00063 
00064 void   DotProd(double*,chfac*);
00065 
00066 /* void   CfcInit(chfac*,symat*,double*); */
00067 int    ChlFact(chfac*,int*,double*,int);
00068 void   copyChl(chfac *, chfac *);
00069 
00070 /* void   PermSmatx(smatx*,int*,int*); */
00071 
00072 int    XtAlloc(int,int,char*,xlist**);
00073 void   XtFree(xlist**);
00074 int    XtSucc(xlist*);
00075 void   XtDel(xlist*,int);
00076 void   XtPut(xlist*,int,int);
00077 int    XtLeast(xlist*);
00078 int    XtGet(xlist*,int*,int*);
00079 
00080 int    IptAlloc(int,int,int**,char*);
00081 void   IptFree(int,int**);
00082 int    LocIntPos(int,int,int*);
00083 void   PermTransSym(int,int*,int*,int*,int*,int,int*,int*,int*);
00084 
00085 void   iZero(int,int*,int*);
00086 void   iFill(int,int,int*,int*,int*);
00087 void   iSwap(int,int,int*);
00088 void   iCopy(int,int*,int*);
00089 int    iSum(int,int*);
00090 void   dZero(int,double*,int*,int*);
00091 void   dCopy(int,double*,double*);
00092 void   dCat(int,int*,double*,double*);
00093 double dSum(int,double*);
00094 void   PlusByOne(int,int*,int*,int*);
00095 
00096 void iSet(int, int, int *, int *);
00097 void plusXs(int, int*, int*);
00098 
00099 int MatMult4(chfac *,double *,double*,int);
00100 int Mat4LogDet(chfac *,double *);
00101 int MatZeroEntries4(chfac *);
00102 int MatSolve4(chfac *,double *,double*,int);
00103 void  CfcFree(chfac**);
00104 int MatSetColumn4(chfac *, double *, int);
00105 int MatAddColumn4(chfac *, double,double *, int);
00106 int MchlSetup2(int m, chfac** A);
00107 int MatSetValue4(chfac *, int,int,double, int);
00108 int Mat4GetDiagonal(chfac*, double *,int);
00109 int Mat4SetDiagonal(chfac*, double *,int);
00110 int Mat4AddDiagonal(chfac*, double *,int);
00111 int MatAddDiagonalElement(chfac*,int, double);
00112 int Mat4View(chfac *);
00113 int Mat4DiagonalShift(chfac*, double);

Generated on Wed Nov 5 21:46:05 2008 for DSDP by  doxygen 1.5.6