/
NR.h
39 lines (25 loc) · 1.03 KB
/
NR.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
// NR.h
#ifndef _NR_H_
#define _NR_H_
// Definitions
#define FREE_ARG char*
#define NR_END 1
#define SWAP(a,b) {temp=(a);(a)=(b);(b)=temp;}
#define SQR(a) ((a)*(a))
#define SIGN(a,b) ((b) >=0.0 ? fabs(a) : -fabs(a))
void nrerror(char error_text[]);
int *ivector(long nl, long nh);
void free_ivector(int *v, long nl, long nh);
float *vector(long nl, long nh);
void free_vector(float *v, long nl, long nh);
float **matrix(long nrl, long nrh, long ncl, long nch);
void free_matrix(float **m, long nrl, long nrh, long ncl, long nch);
float select(unsigned long k, unsigned long n, float arr[]);
void medfit(float x[], float y[], int ndata, float *a, float *b, float *abdev);
float rofunc(float b);
void mrqmin(float x[], float y[], float sig[], int ndata, float a[], int ia[],
int ma, float **covar, float **alpha, float *chisq,
void (*funcs)(float, float [], float *, float [], int), float *alamda);
void fexpfit(float x, float a[], float *y, float dyda[], int na);
void fdoubleexpfit(float x, float a[], float *y, float dyda[], int na);
#endif