2 * Grace - GRaphing, Advanced Computation and Exploration of data
4 * Home page: http://plasma-gate.weizmann.ac.il/Grace/
6 * Copyright (c) 2005 Grace Development Team
8 * Maintained by Evgeny Stambulchik
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 2 of the License, or
16 * (at your option) any later version.
18 * This program is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
23 * You should have received a copy of the GNU General Public License
24 * along with this program; if not, write to the Free Software
25 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
40 double trapint(double *x
, double *y
, double *resx
, double *resy
, int n
);
41 int apply_window(double *v
, int ilen
, int window
, double beta
);
42 int histogram(int ndata
, double *data
, int nbins
, double *bins
, int *hist
);
43 double comp_area(int n
, double *x
, double *y
);
44 double comp_perimeter(int n
, double *x
, double *y
);
45 void stasum(double *x
, int n
, double *xbar
, double *sd
);
46 void linearconv(double *x
, int n
, double *h
, int m
, double *y
);
47 void spline(int n
, double *x
, double *y
, double *b
, double *c
, double *d
);
48 void aspline(int n
, double *x
, double *y
, double *b
, double *c
, double *d
);
49 int seval(double *u
, double *v
, int ulen
,
50 double *x
, double *y
, double *b
, double *c
, double *d
, int n
);
51 int minmaxrange(double *bvec
, double *vec
, int n
, double bvmin
, double bvmax
,
52 double *vmin
, double *vmax
);
53 double vmin(double *x
, int n
);
54 double vmax(double *x
, int n
);
55 int monotonicity(double *array
, int len
, int strict
);
56 int monospaced(double *array
, int len
, double *space
);
57 int find_span_index(double *array
, int len
, int m
, double x
);
59 int get_restriction_array(Quark
*pset
, Quark
*r
, int negate
, char **rarray
);
60 int filter_set(Quark
*pset
, char *rarray
);
62 int do_compute(Quark
*psrc
, Quark
*pdest
,
63 char *rarray
, char *fstr
);
64 int do_linearc(Quark
*psrc
, Quark
*pdest
,
66 int do_xcor(Quark
*psrc
, Quark
*pdest
,
67 Quark
*pcor
, int maxlag
, int covar
);
68 int do_int(Quark
*psrc
, Quark
*pdest
,
69 int disponly
, double *sum
);
70 int do_differ(Quark
*psrc
, Quark
*pdest
,
71 int type
, int xplace
, int period
);
72 int do_runavg(Quark
*psrc
, Quark
*pdest
,
73 int runlen
, char *formula
, int xplace
);
74 int do_fourier(Quark
*psrc
, Quark
*pdest
,
75 int invflag
, int xscale
, int norm
, int complexin
, int dcdump
,
76 double oversampling
, int round2n
, int window
, double beta
, int halflen
,
78 int do_histo(Quark
*psrc
, Quark
*pdest
,
79 double *bins
, int nbins
, int cumulative
, int normalize
);
80 int do_sample(Quark
*psrc
, Quark
*pdest
,
82 int do_prune(Quark
*psrc
, Quark
*pdest
,
83 int interp
, int elliptic
, double dx
, int reldx
, double dy
, int reldy
);
84 int do_interp(Quark
*psrc
, Quark
*pdest
,
85 double *mesh
, int meshlen
, int method
, int strict
);
86 DArray
*featext(Quark
**sets
, int nsets
, const char *formula
);
87 int num_cumulative(DArray
*src_arrays
, unsigned int nsrc
,
88 DArray
*dst_array
, int type
);
91 int fourier(double *jr
, double *ji
, int n
, int iflag
);
94 void reset_nonl(NLFit
*nlfit
);
95 int do_nonlfit(Quark
*pset
, NLFit
*nlfit
,
96 double *warray
, char *rarray
, int nsteps
);
98 #endif /* __NUMERICS_H_ */