gsl 1.12.108
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +29 -0
- data/Rakefile +54 -0
- data/VERSION +2 -0
- data/ext/MANIFEST +119 -0
- data/ext/alf.c +206 -0
- data/ext/array.c +666 -0
- data/ext/array_complex.c +247 -0
- data/ext/blas.c +29 -0
- data/ext/blas1.c +731 -0
- data/ext/blas2.c +1093 -0
- data/ext/blas3.c +881 -0
- data/ext/block.c +44 -0
- data/ext/block_source.c +886 -0
- data/ext/bspline.c +130 -0
- data/ext/bundle.c +3 -0
- data/ext/cdf.c +754 -0
- data/ext/cheb.c +542 -0
- data/ext/combination.c +283 -0
- data/ext/common.c +325 -0
- data/ext/complex.c +1004 -0
- data/ext/const.c +673 -0
- data/ext/const_additional.c +120 -0
- data/ext/cqp.c +283 -0
- data/ext/deriv.c +195 -0
- data/ext/dht.c +361 -0
- data/ext/diff.c +166 -0
- data/ext/dirac.c +395 -0
- data/ext/eigen.c +2373 -0
- data/ext/error.c +194 -0
- data/ext/extconf.rb +281 -0
- data/ext/fcmp.c +66 -0
- data/ext/fft.c +1092 -0
- data/ext/fit.c +205 -0
- data/ext/fresnel.c +312 -0
- data/ext/function.c +524 -0
- data/ext/geometry.c +139 -0
- data/ext/graph.c +1638 -0
- data/ext/gsl.c +271 -0
- data/ext/gsl_narray.c +653 -0
- data/ext/histogram.c +1995 -0
- data/ext/histogram2d.c +1068 -0
- data/ext/histogram3d.c +884 -0
- data/ext/histogram3d_source.c +750 -0
- data/ext/histogram_find.c +101 -0
- data/ext/histogram_oper.c +159 -0
- data/ext/ieee.c +98 -0
- data/ext/integration.c +1138 -0
- data/ext/interp.c +512 -0
- data/ext/jacobi.c +739 -0
- data/ext/linalg.c +4047 -0
- data/ext/linalg_complex.c +741 -0
- data/ext/math.c +725 -0
- data/ext/matrix.c +39 -0
- data/ext/matrix_complex.c +1732 -0
- data/ext/matrix_double.c +560 -0
- data/ext/matrix_int.c +256 -0
- data/ext/matrix_source.c +2733 -0
- data/ext/min.c +250 -0
- data/ext/monte.c +992 -0
- data/ext/multifit.c +1879 -0
- data/ext/multimin.c +808 -0
- data/ext/multimin_fsdf.c +156 -0
- data/ext/multiroots.c +955 -0
- data/ext/ndlinear.c +321 -0
- data/ext/nmf.c +167 -0
- data/ext/nmf_wrap.c +72 -0
- data/ext/ntuple.c +469 -0
- data/ext/odeiv.c +959 -0
- data/ext/ool.c +879 -0
- data/ext/oper_complex_source.c +253 -0
- data/ext/permutation.c +596 -0
- data/ext/poly.c +42 -0
- data/ext/poly2.c +265 -0
- data/ext/poly_source.c +1885 -0
- data/ext/qrng.c +171 -0
- data/ext/randist.c +1873 -0
- data/ext/rational.c +480 -0
- data/ext/rng.c +612 -0
- data/ext/root.c +408 -0
- data/ext/sf.c +1494 -0
- data/ext/sf_airy.c +200 -0
- data/ext/sf_bessel.c +867 -0
- data/ext/sf_clausen.c +28 -0
- data/ext/sf_coulomb.c +206 -0
- data/ext/sf_coupling.c +118 -0
- data/ext/sf_dawson.c +29 -0
- data/ext/sf_debye.c +157 -0
- data/ext/sf_dilog.c +42 -0
- data/ext/sf_elementary.c +44 -0
- data/ext/sf_ellint.c +206 -0
- data/ext/sf_elljac.c +29 -0
- data/ext/sf_erfc.c +93 -0
- data/ext/sf_exp.c +164 -0
- data/ext/sf_expint.c +211 -0
- data/ext/sf_fermi_dirac.c +148 -0
- data/ext/sf_gamma.c +344 -0
- data/ext/sf_gegenbauer.c +96 -0
- data/ext/sf_hyperg.c +197 -0
- data/ext/sf_laguerre.c +112 -0
- data/ext/sf_lambert.c +47 -0
- data/ext/sf_legendre.c +367 -0
- data/ext/sf_log.c +104 -0
- data/ext/sf_mathieu.c +238 -0
- data/ext/sf_power.c +46 -0
- data/ext/sf_psi.c +98 -0
- data/ext/sf_synchrotron.c +48 -0
- data/ext/sf_transport.c +76 -0
- data/ext/sf_trigonometric.c +207 -0
- data/ext/sf_zeta.c +119 -0
- data/ext/signal.c +310 -0
- data/ext/siman.c +718 -0
- data/ext/sort.c +208 -0
- data/ext/spline.c +395 -0
- data/ext/stats.c +799 -0
- data/ext/sum.c +168 -0
- data/ext/tamu_anova.c +56 -0
- data/ext/tensor.c +38 -0
- data/ext/tensor_source.c +1123 -0
- data/ext/vector.c +38 -0
- data/ext/vector_complex.c +2236 -0
- data/ext/vector_double.c +1433 -0
- data/ext/vector_int.c +204 -0
- data/ext/vector_source.c +3329 -0
- data/ext/wavelet.c +937 -0
- data/include/rb_gsl.h +151 -0
- data/include/rb_gsl_array.h +238 -0
- data/include/rb_gsl_cheb.h +21 -0
- data/include/rb_gsl_common.h +343 -0
- data/include/rb_gsl_complex.h +25 -0
- data/include/rb_gsl_const.h +29 -0
- data/include/rb_gsl_dirac.h +13 -0
- data/include/rb_gsl_eigen.h +17 -0
- data/include/rb_gsl_fft.h +62 -0
- data/include/rb_gsl_fit.h +25 -0
- data/include/rb_gsl_function.h +27 -0
- data/include/rb_gsl_graph.h +70 -0
- data/include/rb_gsl_histogram.h +63 -0
- data/include/rb_gsl_histogram3d.h +97 -0
- data/include/rb_gsl_integration.h +17 -0
- data/include/rb_gsl_interp.h +46 -0
- data/include/rb_gsl_linalg.h +25 -0
- data/include/rb_gsl_math.h +26 -0
- data/include/rb_gsl_odeiv.h +21 -0
- data/include/rb_gsl_poly.h +71 -0
- data/include/rb_gsl_rational.h +37 -0
- data/include/rb_gsl_rng.h +21 -0
- data/include/rb_gsl_root.h +22 -0
- data/include/rb_gsl_sf.h +119 -0
- data/include/rb_gsl_statistics.h +17 -0
- data/include/rb_gsl_tensor.h +45 -0
- data/include/rb_gsl_with_narray.h +22 -0
- data/include/templates_off.h +87 -0
- data/include/templates_on.h +241 -0
- data/lib/gsl/gnuplot.rb +41 -0
- data/lib/gsl/oper.rb +68 -0
- data/lib/ool.rb +22 -0
- data/lib/ool/conmin.rb +30 -0
- metadata +224 -0
@@ -0,0 +1,46 @@
|
|
1
|
+
/*
|
2
|
+
rb_gsl_interp.h
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2004 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
MERCHANTABILITY or INTERPOLATIONNESS FOR A PARTICULAR PURPOSE.
|
11
|
+
*/
|
12
|
+
|
13
|
+
#ifndef ___RB_GSL_INTERP_H___
|
14
|
+
#define ___RB_GSL_INTERP_H___
|
15
|
+
|
16
|
+
#include "ruby.h"
|
17
|
+
#include "rb_gsl.h"
|
18
|
+
#include <gsl/gsl_interp.h>
|
19
|
+
#include <gsl/gsl_spline.h>
|
20
|
+
#ifdef HAVE_NARRAY_H
|
21
|
+
#include "narray.h"
|
22
|
+
#endif
|
23
|
+
|
24
|
+
|
25
|
+
typedef struct {
|
26
|
+
gsl_interp *p;
|
27
|
+
gsl_interp_accel *a;
|
28
|
+
} rb_gsl_interp;
|
29
|
+
|
30
|
+
typedef struct {
|
31
|
+
gsl_spline *s;
|
32
|
+
gsl_interp_accel *a;
|
33
|
+
} rb_gsl_spline;
|
34
|
+
|
35
|
+
enum {
|
36
|
+
GSL_INTERP_LINEAR,
|
37
|
+
GSL_INTERP_POLYNOMIAL,
|
38
|
+
GSL_INTERP_CSPLINE,
|
39
|
+
GSL_INTERP_CSPLINE_PERIODIC,
|
40
|
+
GSL_INTERP_AKIMA,
|
41
|
+
GSL_INTERP_AKIMA_PERIODIC,
|
42
|
+
};
|
43
|
+
|
44
|
+
const gsl_interp_type* get_interp_type(VALUE t);
|
45
|
+
|
46
|
+
#endif
|
@@ -0,0 +1,25 @@
|
|
1
|
+
/*
|
2
|
+
rb_gsl_linalg.h
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2004 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY
|
10
|
+
*/
|
11
|
+
|
12
|
+
#ifndef ___RB_GSL_LINALG_H___
|
13
|
+
#define ___RB_GSL_LINALG_H___
|
14
|
+
|
15
|
+
#include "gsl/gsl_linalg.h"
|
16
|
+
#include "gsl/gsl_math.h"
|
17
|
+
|
18
|
+
#ifdef HAVE_NARRAY_H
|
19
|
+
#include "rb_gsl_with_narray.h"
|
20
|
+
#endif
|
21
|
+
|
22
|
+
VALUE rb_gsl_linalg_complex_LU_decomp(int argc, VALUE *argv, VALUE obj);
|
23
|
+
VALUE rb_gsl_linalg_complex_LU_decomp2(int argc, VALUE *argv, VALUE obj);
|
24
|
+
|
25
|
+
#endif
|
@@ -0,0 +1,26 @@
|
|
1
|
+
/*
|
2
|
+
rb_gsl_math.h
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2004 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
11
|
+
*/
|
12
|
+
|
13
|
+
#ifndef ___RB_GSL_MATH_H___
|
14
|
+
#define ___RB_GSL_MATH_H___
|
15
|
+
|
16
|
+
#include "ruby.h"
|
17
|
+
#include <gsl/gsl_math.h>
|
18
|
+
#include "rb_gsl.h"
|
19
|
+
|
20
|
+
#ifndef GSL_1_3_LATER
|
21
|
+
int gsl_fcmp (const double x1, const double x2, const double epsilon);
|
22
|
+
#endif
|
23
|
+
|
24
|
+
VALUE rb_gsl_math_complex_eval(gsl_complex (*func)(gsl_complex), VALUE obj);
|
25
|
+
|
26
|
+
#endif
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/*
|
2
|
+
rb_gsl_odeiv.h
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2004 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
11
|
+
*/
|
12
|
+
|
13
|
+
#ifndef ___RB_GSL_ODEIV_H___
|
14
|
+
#define ___RB_GSL_ODEIV_H___
|
15
|
+
|
16
|
+
#include "ruby.h"
|
17
|
+
#include <gsl/gsl_odeiv.h>
|
18
|
+
#include "rb_gsl.h"
|
19
|
+
#include "rb_gsl_array.h"
|
20
|
+
|
21
|
+
#endif
|
@@ -0,0 +1,71 @@
|
|
1
|
+
/*
|
2
|
+
rb_gsl_poly.h
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2004 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
MERCHANTABILITY or POLYNESS FOR A PARTICULAR PURPOSE.
|
11
|
+
*/
|
12
|
+
|
13
|
+
#ifndef ___RB_GSL_POLY_H___
|
14
|
+
#define ___RB_GSL_POLY_H___
|
15
|
+
|
16
|
+
#include "ruby.h"
|
17
|
+
#include <gsl/gsl_vector.h>
|
18
|
+
#include <gsl/gsl_poly.h>
|
19
|
+
#include <gsl/gsl_complex.h>
|
20
|
+
#include <gsl/gsl_complex_math.h>
|
21
|
+
#include "rb_gsl_complex.h"
|
22
|
+
#include "rb_gsl_array.h"
|
23
|
+
|
24
|
+
EXTERN VALUE cgsl_poly;
|
25
|
+
EXTERN VALUE cgsl_poly_int;
|
26
|
+
EXTERN VALUE cgsl_poly_dd;
|
27
|
+
EXTERN VALUE cgsl_poly_taylor;
|
28
|
+
EXTERN VALUE cgsl_poly_workspace;
|
29
|
+
EXTERN VALUE cgsl_rational;
|
30
|
+
|
31
|
+
typedef gsl_vector gsl_poly;
|
32
|
+
typedef gsl_vector_int gsl_poly_int;
|
33
|
+
/*
|
34
|
+
typedef struct ___gsl_rational
|
35
|
+
{
|
36
|
+
VALUE num, den;
|
37
|
+
gsl_poly *pnum;
|
38
|
+
gsl_poly *pden;
|
39
|
+
} gsl_rational;
|
40
|
+
*/
|
41
|
+
|
42
|
+
int gsl_poly_conv(const double *a, size_t na, const double *b, size_t nb,
|
43
|
+
double *c, size_t *nc);
|
44
|
+
|
45
|
+
gsl_vector* gsl_poly_deconv_vector(const gsl_vector *c, const gsl_vector *a, gsl_vector **r);
|
46
|
+
gsl_vector* gsl_poly_deriv(const gsl_vector *v);
|
47
|
+
gsl_vector* gsl_poly_integ(const gsl_vector *v);
|
48
|
+
gsl_vector* gsl_poly_reduce(const gsl_vector *v);
|
49
|
+
VALUE rb_gsl_poly_complex_solve(int argc, VALUE *argv, VALUE obj);
|
50
|
+
gsl_vector* gsl_poly_conv_vector(const gsl_vector *v1, const gsl_vector *v2);
|
51
|
+
gsl_poly* gsl_poly_add(const gsl_poly *a, const gsl_poly *b);
|
52
|
+
VALUE rb_gsl_poly_deconv(VALUE obj, VALUE bb);
|
53
|
+
|
54
|
+
VALUE rb_gsl_poly_complex_solve2(int argc, VALUE *argv, VALUE obj);
|
55
|
+
|
56
|
+
|
57
|
+
int gsl_poly_int_conv(const int *a, size_t na, const int *b, size_t nb,
|
58
|
+
int *c, size_t *nc);
|
59
|
+
|
60
|
+
gsl_vector_int* gsl_poly_int_deconv_vector(const gsl_vector_int *c, const gsl_vector_int *a, gsl_vector_int **r);
|
61
|
+
gsl_vector_int* gsl_poly_int_deriv(const gsl_vector_int *v);
|
62
|
+
gsl_vector_int* gsl_poly_int_integ(const gsl_vector_int *v);
|
63
|
+
gsl_vector_int* gsl_poly_int_reduce(const gsl_vector_int *v);
|
64
|
+
VALUE rb_gsl_poly_int_complex_solve(int argc, VALUE *argv, VALUE obj);
|
65
|
+
gsl_vector_int* gsl_poly_int_conv_vector(const gsl_vector_int *v1, const gsl_vector_int *v2);
|
66
|
+
gsl_poly_int* gsl_poly_int_add(const gsl_poly_int *a, const gsl_poly_int *b);
|
67
|
+
VALUE rb_gsl_poly_int_deconv(VALUE obj, VALUE bb);
|
68
|
+
|
69
|
+
gsl_poly* get_poly_get(VALUE obj, int *flag);
|
70
|
+
gsl_poly_int* get_poly_int_get(VALUE obj, int *flag);
|
71
|
+
#endif
|
@@ -0,0 +1,37 @@
|
|
1
|
+
/*
|
2
|
+
rb_gsl_rational.h
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2004 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
MERCHANTABILITY or POLYNESS FOR A PARTICULAR PURPOSE.
|
11
|
+
*/
|
12
|
+
|
13
|
+
#ifndef ___RB_GSL_RATIONAL_H___
|
14
|
+
#define ___RB_GSL_RATIONAL_H___
|
15
|
+
|
16
|
+
#include "ruby.h"
|
17
|
+
#include <gsl/gsl_vector.h>
|
18
|
+
#include <gsl/gsl_poly.h>
|
19
|
+
#include <gsl/gsl_complex.h>
|
20
|
+
#include <gsl/gsl_complex_math.h>
|
21
|
+
#include "rb_gsl_complex.h"
|
22
|
+
#include "rb_gsl_array.h"
|
23
|
+
#include "rb_gsl_poly.h"
|
24
|
+
|
25
|
+
typedef struct ___gsl_rational
|
26
|
+
{
|
27
|
+
VALUE num, den;
|
28
|
+
gsl_poly *pnum;
|
29
|
+
gsl_poly *pden;
|
30
|
+
} gsl_rational;
|
31
|
+
|
32
|
+
gsl_rational* gsl_rational_alloc();
|
33
|
+
gsl_rational* gsl_rational_new(const gsl_poly *num, const gsl_poly *den);
|
34
|
+
gsl_rational* gsl_rational_new2(const gsl_poly *num, const gsl_poly *den);
|
35
|
+
void gsl_rational_free(gsl_rational *r);
|
36
|
+
|
37
|
+
#endif
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/*
|
2
|
+
rb_gsl_rng.h
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2004 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY
|
10
|
+
*/
|
11
|
+
|
12
|
+
#ifndef ___RB_GSL_RNG_H___
|
13
|
+
#define ___RB_GSL_RNG_H___
|
14
|
+
|
15
|
+
#include "ruby.h"
|
16
|
+
#include <gsl/gsl_rng.h>
|
17
|
+
#include "rb_gsl.h"
|
18
|
+
|
19
|
+
EXTERN VALUE cgsl_rng;
|
20
|
+
|
21
|
+
#endif
|
@@ -0,0 +1,22 @@
|
|
1
|
+
/*
|
2
|
+
rb_gsl_roots.h
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2004 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY
|
10
|
+
*/
|
11
|
+
|
12
|
+
#ifndef ___RB_GSL_ROOT_H___
|
13
|
+
#define ___RB_GSL_ROOT_H___
|
14
|
+
|
15
|
+
#include <gsl/gsl_errno.h>
|
16
|
+
#include <gsl/gsl_math.h>
|
17
|
+
#include <gsl/gsl_roots.h>
|
18
|
+
#include "rb_gsl.h"
|
19
|
+
EXTERN VALUE cgsl_fsolver;
|
20
|
+
EXTERN VALUE cgsl_fdfsolver;
|
21
|
+
|
22
|
+
#endif
|
data/include/rb_gsl_sf.h
ADDED
@@ -0,0 +1,119 @@
|
|
1
|
+
/*
|
2
|
+
rb_gsl_sf.h
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2004 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY
|
10
|
+
*/
|
11
|
+
#ifndef ___RB_GSL_SF_H___
|
12
|
+
#define ___RB_GSL_SF_H___
|
13
|
+
|
14
|
+
#include "ruby.h"
|
15
|
+
#include <gsl/gsl_sf.h>
|
16
|
+
#include <gsl/gsl_errno.h>
|
17
|
+
#include <gsl/gsl_vector.h>
|
18
|
+
#include <gsl/gsl_math.h>
|
19
|
+
#include <gsl/gsl_complex.h>
|
20
|
+
#include "rb_gsl_config.h"
|
21
|
+
#include "rb_gsl.h"
|
22
|
+
|
23
|
+
EXTERN VALUE cgsl_sf_result, cgsl_sf_result_e10;
|
24
|
+
|
25
|
+
VALUE rb_gsl_sf_result_new(VALUE klass);
|
26
|
+
|
27
|
+
VALUE rb_gsl_sf_eval1(double (*func)(double), VALUE argv);
|
28
|
+
VALUE rb_gsl_sf_eval_int_double(double (*func)(int, double), VALUE jj, VALUE argv);
|
29
|
+
VALUE rb_gsl_sf_eval_double_double(double (*func)(double, double), VALUE ff, VALUE argv);
|
30
|
+
VALUE rb_gsl_sf_eval1_uint(double (*func)(unsigned int), VALUE argv);
|
31
|
+
VALUE rb_gsl_sf_eval_double_m(double (*func)(double, gsl_mode_t), VALUE argv, VALUE m);;
|
32
|
+
VALUE rb_gsl_sf_eval_int_double_double(double (*func)(int, double, double), VALUE jj,
|
33
|
+
VALUE ff, VALUE argv);
|
34
|
+
VALUE rb_gsl_sf_eval_int_int_double(double (*func)(int, int, double), VALUE jj,
|
35
|
+
VALUE jj2, VALUE argv);
|
36
|
+
VALUE rb_gsl_sf_eval_double3(double (*func)(double, double, double),
|
37
|
+
VALUE ff, VALUE ff2, VALUE argv);
|
38
|
+
VALUE rb_gsl_sf_eval_double4(double (*func)(double, double, double, double),
|
39
|
+
VALUE ff, VALUE ff2, VALUE ff3, VALUE argv);
|
40
|
+
VALUE rb_gsl_sf_eval_double_int(double (*func)(double, int), VALUE argv, VALUE jj);
|
41
|
+
VALUE rb_gsl_sf_eval1_int(double (*func)(int), VALUE argv);
|
42
|
+
VALUE rb_gsl_sf_eval_e(int (*func)(double, gsl_sf_result*), VALUE x);
|
43
|
+
VALUE rb_gsl_sf_eval_e_int_double(int (*func)(int, double, gsl_sf_result*),
|
44
|
+
VALUE n, VALUE x);
|
45
|
+
VALUE rb_gsl_sf_eval_e_int_int_double(int (*func)(int, int, double, gsl_sf_result*),
|
46
|
+
VALUE n1, VALUE n2, VALUE x);
|
47
|
+
VALUE rb_gsl_sf_eval_e_double2(int (*func)(double, double, gsl_sf_result*),
|
48
|
+
VALUE x1, VALUE x2);
|
49
|
+
VALUE rb_gsl_sf_eval_e_uint(int (*func)(unsigned int, gsl_sf_result*), VALUE x);
|
50
|
+
VALUE rb_gsl_sf_eval_e_int_uint(int (*func)(int, unsigned int, gsl_sf_result*),
|
51
|
+
VALUE n, VALUE x);
|
52
|
+
VALUE rb_gsl_sf_eval_e_double_uint(int (*func)(double, unsigned int, gsl_sf_result*),
|
53
|
+
VALUE y, VALUE x);
|
54
|
+
VALUE rb_gsl_sf_eval_e_m(int (*func)(double, gsl_mode_t, gsl_sf_result*),
|
55
|
+
VALUE x, VALUE m);
|
56
|
+
VALUE rb_gsl_sf_eval_e_double2_m(int (*func)(double, double, gsl_mode_t, gsl_sf_result*),
|
57
|
+
VALUE x1, VALUE x2, VALUE m);
|
58
|
+
VALUE rb_gsl_sf_eval_e_double3_m(int (*func)(double, double, double, gsl_mode_t, gsl_sf_result*),
|
59
|
+
VALUE x1, VALUE x2, VALUE x3, VALUE m);
|
60
|
+
VALUE rb_gsl_sf_eval_double2_m(double (*func)(double, double, gsl_mode_t),
|
61
|
+
VALUE argv, VALUE x2, VALUE m);
|
62
|
+
VALUE rb_gsl_sf_eval_double3_m(double (*func)(double, double, double, gsl_mode_t),
|
63
|
+
VALUE argv, VALUE x2, VALUE x3, VALUE m);
|
64
|
+
|
65
|
+
VALUE rb_gsl_sf_eval_e_double4_m(int (*func)(double, double, double, double, gsl_mode_t, gsl_sf_result*),
|
66
|
+
VALUE x1, VALUE x2, VALUE x3, VALUE x4, VALUE m);
|
67
|
+
|
68
|
+
VALUE rb_gsl_sf_eval_e_int(int (*func)(int, gsl_sf_result*), VALUE x);
|
69
|
+
VALUE rb_gsl_sf_eval_e_double3(int (*func)(double, double, double, gsl_sf_result*),
|
70
|
+
VALUE x1, VALUE x2, VALUE x3);
|
71
|
+
VALUE rb_gsl_sf_eval_e_int_double2(int (*func)(int, double, double, gsl_sf_result*),
|
72
|
+
VALUE n, VALUE x1, VALUE x2);
|
73
|
+
VALUE rb_gsl_sf_eval_e_double2(int (*func)(double, double, gsl_sf_result*),
|
74
|
+
VALUE x1, VALUE x2);
|
75
|
+
|
76
|
+
VALUE eval_sf(double (*func)(double, gsl_mode_t), VALUE argv);
|
77
|
+
|
78
|
+
VALUE rb_gsl_sf_eval_double4_m(double (*func)(double, double, double, double,
|
79
|
+
gsl_mode_t),
|
80
|
+
VALUE argv, VALUE x2, VALUE x3, VALUE x4, VALUE m);
|
81
|
+
|
82
|
+
VALUE rb_gsl_sf_eval_complex(double (*f)(double), VALUE obj);
|
83
|
+
|
84
|
+
void Init_gsl_sf_airy(VALUE module);
|
85
|
+
void Init_gsl_sf_bessel(VALUE module);
|
86
|
+
void Init_gsl_sf_clausen(VALUE module);
|
87
|
+
void Init_gsl_sf_coulomb(VALUE module);
|
88
|
+
void Init_gsl_sf_coupling(VALUE module);
|
89
|
+
void Init_gsl_sf_dawson(VALUE module);
|
90
|
+
void Init_gsl_sf_debye(VALUE module);
|
91
|
+
void Init_gsl_sf_dilog(VALUE module);
|
92
|
+
void Init_gsl_sf_elementary(VALUE module);
|
93
|
+
void Init_gsl_sf_ellint(VALUE module);
|
94
|
+
void Init_gsl_sf_elljac(VALUE module);
|
95
|
+
void Init_gsl_sf_erfc(VALUE module);
|
96
|
+
void Init_gsl_sf_exp(VALUE module);
|
97
|
+
void Init_gsl_sf_expint(VALUE module);
|
98
|
+
void Init_gsl_sf_fermi_dirac(VALUE module);
|
99
|
+
void Init_gsl_sf_gamma(VALUE module);
|
100
|
+
void Init_gsl_sf_gegenbauer(VALUE module);
|
101
|
+
void Init_gsl_sf_hyperg(VALUE module);
|
102
|
+
void Init_gsl_sf_laguerre(VALUE module);
|
103
|
+
void Init_gsl_sf_lambert(VALUE module);
|
104
|
+
void Init_gsl_sf_legendre(VALUE module);
|
105
|
+
void Init_gsl_sf_log(VALUE module);
|
106
|
+
void Init_gsl_sf_power(VALUE module);
|
107
|
+
void Init_gsl_sf_psi(VALUE module);
|
108
|
+
void Init_gsl_sf_synchrotron(VALUE module);
|
109
|
+
void Init_gsl_sf_transport(VALUE module);
|
110
|
+
void Init_gsl_sf_trigonometric(VALUE module);
|
111
|
+
void Init_gsl_sf_zeta(VALUE module);
|
112
|
+
|
113
|
+
|
114
|
+
#ifdef GSL_1_9_LATER
|
115
|
+
#include <gsl/gsl_sf_mathieu.h>
|
116
|
+
void Init_sf_mathieu(VALUE module);
|
117
|
+
#endif
|
118
|
+
|
119
|
+
#endif
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/*
|
2
|
+
rb_gsl_statistics.h
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2004 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY
|
10
|
+
*/
|
11
|
+
|
12
|
+
#ifndef ___RB_GSL_STATISTICS_H___
|
13
|
+
#define ___RB_GSL_STATISTICS_H___
|
14
|
+
|
15
|
+
#include "gsl/gsl_statistics.h"
|
16
|
+
|
17
|
+
#endif
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#ifndef ___RB_TENSOR_H___
|
2
|
+
#define ___RB_TENSOR_H___
|
3
|
+
|
4
|
+
#ifdef HAVE_TENSOR_TENSOR_H
|
5
|
+
#include "rb_gsl.h"
|
6
|
+
#include "rb_gsl_common.h"
|
7
|
+
//#include <tensor/tensor.h>
|
8
|
+
#include <tensor/tensor.h>
|
9
|
+
|
10
|
+
EXTERN VALUE cgsl_tensor, cgsl_tensor_int;
|
11
|
+
|
12
|
+
enum {
|
13
|
+
TENSOR_ADD,
|
14
|
+
TENSOR_SUB,
|
15
|
+
TENSOR_MUL_ELEMENTS,
|
16
|
+
TENSOR_DIV_ELEMENTS,
|
17
|
+
TENSOR_SCALE,
|
18
|
+
TENSOR_ADD_CONSTANT,
|
19
|
+
TENSOR_ADD_DIAGONAL,
|
20
|
+
TENSOR_PRODUCT,
|
21
|
+
TENSOR_CONTRACT,
|
22
|
+
};
|
23
|
+
|
24
|
+
typedef gsl_permutation tensor_indices;
|
25
|
+
|
26
|
+
typedef struct __rbgsl_tensor {
|
27
|
+
/* tensor *tensor;
|
28
|
+
tensor_indices *indices;*/
|
29
|
+
tensor *tensor;
|
30
|
+
tensor_indices *indices;
|
31
|
+
} rbgsl_tensor;
|
32
|
+
|
33
|
+
typedef struct __rbgsl_tensor_int {
|
34
|
+
/* tensor_int *tensor;
|
35
|
+
tensor_indices *indices;*/
|
36
|
+
tensor_int *tensor;
|
37
|
+
tensor_indices *indices;
|
38
|
+
} rbgsl_tensor_int;
|
39
|
+
|
40
|
+
rbgsl_tensor* rbgsl_tensor_alloc(const unsigned int rank, const size_t dimension);
|
41
|
+
rbgsl_tensor_int* rbgsl_tensor_int_alloc(const unsigned int rank, const size_t dimension);
|
42
|
+
void rbgsl_tensor_free(rbgsl_tensor*);
|
43
|
+
void rbgsl_tensor_int_free(rbgsl_tensor_int*);
|
44
|
+
#endif
|
45
|
+
#endif
|