Main Page | Modules | Data Structures | File List | Data Fields | Globals

nr/nrutil.h

00001 #ifndef _NR_UTIL_H_ 00002 #define _NR_UTIL_H_ 00003 00004 #include <stdio.h> 00005 00006 static float sqrarg; 00007 #define SQR(a) ((sqrarg=(a)) == 0.0 ? 0.0 : sqrarg*sqrarg) 00008 00009 static double dsqrarg; 00010 #define DSQR(a) ((dsqrarg=(a)) == 0.0 ? 0.0 : dsqrarg*dsqrarg) 00011 00012 static double dmaxarg1,dmaxarg2; 00013 #define DMAX(a,b) (dmaxarg1=(a),dmaxarg2=(b),(dmaxarg1) > (dmaxarg2) ? (dmaxarg1) : (dmaxarg2)) 00014 00015 static double dminarg1,dminarg2; 00016 #define DMIN(a,b) (dminarg1=(a),dminarg2=(b),(dminarg1) < (dminarg2) ? (dminarg1) : (dminarg2)) 00017 00018 static float maxarg1,maxarg2; 00019 #define FMAX(a,b) (maxarg1=(a),maxarg2=(b),(maxarg1) > (maxarg2) ? (maxarg1) : (maxarg2)) 00020 00021 static float minarg1,minarg2; 00022 #define FMIN(a,b) (minarg1=(a),minarg2=(b),(minarg1) < (minarg2) ? (minarg1) : (minarg2)) 00023 00024 static long lmaxarg1,lmaxarg2; 00025 #define LMAX(a,b) (lmaxarg1=(a),lmaxarg2=(b),(lmaxarg1) > (lmaxarg2) ? (lmaxarg1) : (lmaxarg2)) 00026 00027 static long lminarg1,lminarg2; 00028 #define LMIN(a,b) (lminarg1=(a),lminarg2=(b),(lminarg1) < (lminarg2) ? (lminarg1) : (lminarg2)) 00029 00030 static int imaxarg1,imaxarg2; 00031 #define IMAX(a,b) (imaxarg1=(a),imaxarg2=(b),(imaxarg1) > (imaxarg2) ? (imaxarg1) : (imaxarg2)) 00032 00033 static int iminarg1,iminarg2; 00034 #define IMIN(a,b) (iminarg1=(a),iminarg2=(b),(iminarg1) < (iminarg2) ? (iminarg1) : (iminarg2)) 00035 00036 #define SIGN(a,b) ((b) >= 0.0 ? fabs(a) : -fabs(a)) 00037 00038 /* #if defined(__STDC__) || defined(ANSI) || defined(NRANSI) /* ANSI */ 00039 void nrerror(char error_text[]); 00040 float *vector(long nl, long nh); 00041 int *ivector(long nl, long nh); 00042 unsigned char *cvector(long nl, long nh); 00043 unsigned long *lvector(long nl, long nh); 00044 double *dvector(long nl, long nh); 00045 float **matrix(long nrl, long nrh, long ncl, long nch); 00046 double **dmatrix(long nrl, long nrh, long ncl, long nch); 00047 int **imatrix(long nrl, long nrh, long ncl, long nch); 00048 float **submatrix(float **a, long oldrl, long oldrh, long oldcl, long oldch, 00049 long newrl, long newcl); 00050 float **convert_matrix(float *a, long nrl, long nrh, long ncl, long nch); 00051 float ***f3tensor(long nrl, long nrh, long ncl, long nch, long ndl, long ndh); 00052 void free_vector(float *v, long nl, long nh); 00053 void free_ivector(int *v, long nl, long nh); 00054 void free_cvector(unsigned char *v, long nl, long nh); 00055 void free_lvector(unsigned long *v, long nl, long nh); 00056 void free_dvector(double *v, long nl, long nh); 00057 void free_matrix(float **m, long nrl, long nrh, long ncl, long nch); 00058 void free_dmatrix(double **m, long nrl, long nrh, long ncl, long nch); 00059 void free_imatrix(int **m, long nrl, long nrh, long ncl, long nch); 00060 void free_submatrix(float **b, long nrl, long nrh, long ncl, long nch); 00061 void free_convert_matrix(float **b, long nrl, long nrh, long ncl, long nch); 00062 void free_f3tensor(float ***t, long nrl, long nrh, long ncl, long nch, long ndl, long ndh); 00063 /* #else /* ANSI */ 00064 00065 /* #endif /* ANSI */ 00066 00067 void fprintIntMatrix(FILE* fp, int** m, long nr1, long nr2, long nc1, long nc2); 00068 void printIntMatrix(int** m, long dim1, long dim2); 00069 void initIntMatrix(int** m, long dim1, long dim2); 00070 00071 void fprintTriangularIntMatrix(FILE* fp, int** m, long nr1, long nr2, 00072 long nc1, long nc2); 00073 void printMatrix(float** m, int nrl, int nrh, int ncl, int nch); 00074 void printfMatrix(float** m, long nrl, long nrh, long ncl, long nch, int format_all, int format_decimals); 00075 void printVector(float* vector, long nl, long nh); 00076 00077 00078 #endif /* _NR_UTILS_H_ */ 00079

Generated on Sun Feb 13 01:06:00 2005 for MapQuant by doxygen 1.3.7