123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #ifndef _NR_UTILS_H_
- #define _NR_UTILS_H_
- extern float sqrarg;
- extern double dsqrarg;
- extern double dmaxarg1, dmaxarg2;
- extern double dminarg1, dminarg2;
- extern float maxarg1, maxarg2;
- extern float minarg1, minarg2;
- extern long lmaxarg1, lmaxarg2;
- extern long lminarg1, lminarg2;
- extern int imaxarg1, imaxarg2;
- extern int iminarg1, iminarg2;
- #define SQR(a) ((sqrarg=(a)) == 0.0 ? 0.0 : sqrarg*sqrarg)
- #define DSQR(a) ((dsqrarg=(a)) == 0.0 ? 0.0 : dsqrarg*dsqrarg)
- #define DMAX(a,b) (dmaxarg1=(a),dmaxarg2=(b),(dmaxarg1) > (dmaxarg2) ?\
- (dmaxarg1) : (dmaxarg2))
- #define DMIN(a,b) (dminarg1=(a),dminarg2=(b),(dminarg1) < (dminarg2) ?\
- (dminarg1) : (dminarg2))
- #define FMAX(a,b) (maxarg1=(a),maxarg2=(b),(maxarg1) > (maxarg2) ?\
- (maxarg1) : (maxarg2))
- #define FMIN(a,b) (minarg1=(a),minarg2=(b),(minarg1) < (minarg2) ?\
- (minarg1) : (minarg2))
- #define LMAX(a,b) (lmaxarg1=(a),lmaxarg2=(b),(lmaxarg1) > (lmaxarg2) ?\
- (lmaxarg1) : (lmaxarg2))
- #define LMIN(a,b) (lminarg1=(a),lminarg2=(b),(lminarg1) < (lminarg2) ?\
- (lminarg1) : (lminarg2))
- #define IMAX(a,b) (imaxarg1=(a),imaxarg2=(b),(imaxarg1) > (imaxarg2) ?\
- (imaxarg1) : (imaxarg2))
- #define IMIN(a,b) (iminarg1=(a),iminarg2=(b),(iminarg1) < (iminarg2) ?\
- (iminarg1) : (iminarg2))
- #define SIGN(a,b) ((b) >= 0.0 ? fabs(a) : -fabs(a))
- float *vector(int nl, int nh);
- int *ivector(int nl, int nh);
- unsigned char *cvector(int nl, int nh);
- unsigned long *lvector(int nl, int nh);
- double *dvector(int nl, int nh);
- float **matrix(int nrl, int nrh, int ncl, int nch);
- double **dmatrix(int nrl, int nrh, int ncl, int nch);
- int **imatrix(int nrl, int nrh, int ncl, int nch);
- float **submatrix(float **a, int oldrl, int oldrh, int oldcl, int oldch,
- int newrl, int newcl);
- float **convert_matrix(float *a, int nrl, int nrh, int ncl, int nch);
- float ***f3tensor(int nrl, int nrh, int ncl, int nch, int ndl, int ndh);
- void free_vector(float *v, int nl, int nh);
- void free_ivector(int *v, int nl, int nh);
- void free_cvector(unsigned char *v, int nl, int nh);
- void free_lvector(unsigned long *v, int nl, int nh);
- void free_dvector(double *v, int nl, int nh);
- void free_matrix(float **m, int nrl, int nrh, int ncl, int nch);
- void free_dmatrix(double **m, int nrl, int nrh, int ncl, int nch);
- void free_imatrix(int **m, int nrl, int nrh, int ncl, int nch);
- void free_submatrix(float **b, int nrl, int nrh, int ncl, int nch);
- void free_convert_matrix(float **b, int nrl, int nrh, int ncl, int nch);
- void free_f3tensor(float ***t, int nrl, int nrh, int ncl, int nch,
- int ndl, int ndh);
- #endif /* _NR_UTILS_H_ */
|