6#define min(a,b) ((a <= b)? (a) : (b))
9#define max(a,b) ((a >= b)? (a) : (b))
12#define sign(a) ((a<0)? (-1) : (1))
18int iAlloc(
int,
char*,
int**);
20int dAlloc(
int,
char*,
double**);
23int LvalAlloc(chfac*,
char*);
24int CfcAlloc(
int,
char*,chfac**);
26int dPtAlloc(
int,
char*,
double ***);
27void dPtFree(
double***);
32void GetUhat(chfac*,
double*,
double*);
38int ExitProc(
int,
char*);
44void DotProd(
double*,chfac*);
46void ForwSubst(chfac*,
double*,
double*);
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*);
56int OdAlloc(
int,
int,
char*,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*);
64void DotProd(
double*,chfac*);
67int ChlFact(chfac*,
int*,
double*,
int);
68void copyChl(chfac *, chfac *);
72int XtAlloc(
int,
int,
char*,xlist**);
75void XtDel(xlist*,
int);
76void XtPut(xlist*,
int,
int);
78int XtGet(xlist*,
int*,
int*);
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*);
85void iZero(
int,
int*,
int*);
86void iFill(
int,
int,
int*,
int*,
int*);
87void iSwap(
int,
int,
int*);
88void iCopy(
int,
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*);
96void iSet(
int,
int,
int *,
int *);
97void plusXs(
int,
int*,
int*);
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);