/
egutils.h
62 lines (53 loc) · 2.05 KB
/
egutils.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/* common.h */
/* Common subroutines that operate on vectors, matrices and other basic
data types: Find the minimum or maximum place or value, find
the mean, calculate the mean difference, save to or load from
an external file etc. */
#ifndef _COMMON_H_
#define _COMMON_H_
typedef double Real;
#define Rvector dvector
#define Ivector ivector
#define Rmatrix dmatrix
#define Imatrix imatrix
#define free_Rvector free_dvector
#define free_Ivector free_ivector
#define free_Rmatrix free_dmatrix
#define free_Imatrix free_imatrix
#define TRUE 1
#define FALSE 0
/* Numerical Recipes' uncopyrighted vector and matrix allocation
and deallocation routines. */
int MemoryUsage();
void nrerror(const char error_text[]);
float *vector(int,int);
int *ivector(int,int);
unsigned char *cvector(int,int);
unsigned long *lvector(int,int);
double *dvector(int,int);
float **matrix(int,int,int,int);
double **dmatrix(int,int,int,int);
int **imatrix(int,int,int,int);
void free_vector(float *,int,int);
void free_ivector(int *,int,int);
void free_cvector(unsigned char *,int,int);
void free_lvector(unsigned long *,int,int);
void free_dvector(double *,int,int);
void free_matrix(float **,int,int,int,int);
void free_dmatrix(double **,int,int,int,int);
void free_imatrix(int **,int,int,int,int);
void bigerror(const char error_text[]);
void smallerror(const char error_text[]);
int FileExists(char *filename);
Real Minimum(Real *vector,int first,int last);
int Minimi(Real *vector,int first,int last);
Real Maximum(Real *vector,int first,int last);
int Maximi(Real *vector,int first,int last);
void AddExtension(const char *fname1,char *fname2,const char *newext);
int StringToStrings(const char *buf,char argv[10][10],int argc,char separator);
int StringToReal(const char *buf,Real *dest,int maxcnt,char separator);
int StringToInteger(const char *buf,int *dest,int maxcnt,char separator);
int next_int(char **start);
Real next_real(char **start);
void SortIndex(int n,double *arr,int *indx);
#endif