DSDP
sdpfun.h
1
2/*
3 * common functions
4 */
5#if !defined (min)
6#define min(a,b) ((a <= b)? (a) : (b))
7#endif
8#if !defined (max)
9#define max(a,b) ((a >= b)? (a) : (b))
10#endif
11#if !defined (sign)
12#define sign(a) ((a<0)? (-1) : (1))
13#endif
14
15/*
16 * functions in sdpallo.c
17 */
18int iAlloc(int,char*,int**);
19void iFree(int**);
20int dAlloc(int,char*,double**);
21void dFree(double**);
22void cFree(char**);
23int LvalAlloc(chfac*,char*);
24int CfcAlloc(int,char*,chfac**);
25void CfcFree(chfac**);
26int dPtAlloc(int,char*,double ***);
27void dPtFree(double***);
28
29/*
30 * functions in sdpmain.c
31 */
32void GetUhat(chfac*,double*,double*);
33
34/*
35 * functions in sdpshut.c
36 */
37void ShutDown(void);
38int ExitProc(int,char*);
39
40
41/*
42 * functions in sdplib.a
43 */
44void DotProd(double*,chfac*);
45
46void ForwSubst(chfac*,double*,double*);
47int iSum(int,int*);
48void dCopy(int,double*,double*);
49int ChlFact(chfac*,int*,double*,int);
50void ChlSolve(chfac*,double*,double*);
51void ChlSolveForward(chfac*, double*, double*);
52void ChlSolveBackward(chfac*, double*, double*);
53int SymbProc(int*,int*,int,chfac**);
54void iCopy(int,int*,int*);
55
56int OdAlloc(int,int,char*,order**);
57void OdFree(order**);
58void OdInit(order*,int*);
59void OdIndex(order*,int,int);
60void OdProc(order*,xlist*,int*,int*,int*,int*,int*,
61 int*,int*,int*,int*,int*,int*,int*,int*);
62int GetOrder(order*,int*);
63
64void DotProd(double*,chfac*);
65
66/* void CfcInit(chfac*,symat*,double*); */
67int ChlFact(chfac*,int*,double*,int);
68void copyChl(chfac *, chfac *);
69
70/* void PermSmatx(smatx*,int*,int*); */
71
72int XtAlloc(int,int,char*,xlist**);
73void XtFree(xlist**);
74int XtSucc(xlist*);
75void XtDel(xlist*,int);
76void XtPut(xlist*,int,int);
77int XtLeast(xlist*);
78int XtGet(xlist*,int*,int*);
79
80int IptAlloc(int,int,int**,char*);
81void IptFree(int,int**);
82int LocIntPos(int,int,int*);
83void PermTransSym(int,int*,int*,int*,int*,int,int*,int*,int*);
84
85void iZero(int,int*,int*);
86void iFill(int,int,int*,int*,int*);
87void iSwap(int,int,int*);
88void iCopy(int,int*,int*);
89int iSum(int,int*);
90void dZero(int,double*,int*,int*);
91void dCopy(int,double*,double*);
92void dCat(int,int*,double*,double*);
93double dSum(int,double*);
94void PlusByOne(int,int*,int*,int*);
95
96void iSet(int, int, int *, int *);
97void plusXs(int, int*, int*);
98
99int MatMult4(chfac *,double *,double*,int);
100int Mat4LogDet(chfac *,double *);
101int MatZeroEntries4(chfac *);
102int MatSolve4(chfac *,double *,double*,int);
103void CfcFree(chfac**);
104int MatSetColumn4(chfac *, double *, int);
105int MatAddColumn4(chfac *, double,double *, int);
106int MchlSetup2(int m, chfac** A);
107int MatSetValue4(chfac *, int,int,double, int);
108int Mat4GetDiagonal(chfac*, double *,int);
109int Mat4SetDiagonal(chfac*, double *,int);
110int Mat4AddDiagonal(chfac*, double *,int);
111int MatAddDiagonalElement(chfac*,int, double);
112int Mat4View(chfac *);
113int Mat4DiagonalShift(chfac*, double);