gsl 1.12.108

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. data/README.rdoc +29 -0
  2. data/Rakefile +54 -0
  3. data/VERSION +2 -0
  4. data/ext/MANIFEST +119 -0
  5. data/ext/alf.c +206 -0
  6. data/ext/array.c +666 -0
  7. data/ext/array_complex.c +247 -0
  8. data/ext/blas.c +29 -0
  9. data/ext/blas1.c +731 -0
  10. data/ext/blas2.c +1093 -0
  11. data/ext/blas3.c +881 -0
  12. data/ext/block.c +44 -0
  13. data/ext/block_source.c +886 -0
  14. data/ext/bspline.c +130 -0
  15. data/ext/bundle.c +3 -0
  16. data/ext/cdf.c +754 -0
  17. data/ext/cheb.c +542 -0
  18. data/ext/combination.c +283 -0
  19. data/ext/common.c +325 -0
  20. data/ext/complex.c +1004 -0
  21. data/ext/const.c +673 -0
  22. data/ext/const_additional.c +120 -0
  23. data/ext/cqp.c +283 -0
  24. data/ext/deriv.c +195 -0
  25. data/ext/dht.c +361 -0
  26. data/ext/diff.c +166 -0
  27. data/ext/dirac.c +395 -0
  28. data/ext/eigen.c +2373 -0
  29. data/ext/error.c +194 -0
  30. data/ext/extconf.rb +281 -0
  31. data/ext/fcmp.c +66 -0
  32. data/ext/fft.c +1092 -0
  33. data/ext/fit.c +205 -0
  34. data/ext/fresnel.c +312 -0
  35. data/ext/function.c +524 -0
  36. data/ext/geometry.c +139 -0
  37. data/ext/graph.c +1638 -0
  38. data/ext/gsl.c +271 -0
  39. data/ext/gsl_narray.c +653 -0
  40. data/ext/histogram.c +1995 -0
  41. data/ext/histogram2d.c +1068 -0
  42. data/ext/histogram3d.c +884 -0
  43. data/ext/histogram3d_source.c +750 -0
  44. data/ext/histogram_find.c +101 -0
  45. data/ext/histogram_oper.c +159 -0
  46. data/ext/ieee.c +98 -0
  47. data/ext/integration.c +1138 -0
  48. data/ext/interp.c +512 -0
  49. data/ext/jacobi.c +739 -0
  50. data/ext/linalg.c +4047 -0
  51. data/ext/linalg_complex.c +741 -0
  52. data/ext/math.c +725 -0
  53. data/ext/matrix.c +39 -0
  54. data/ext/matrix_complex.c +1732 -0
  55. data/ext/matrix_double.c +560 -0
  56. data/ext/matrix_int.c +256 -0
  57. data/ext/matrix_source.c +2733 -0
  58. data/ext/min.c +250 -0
  59. data/ext/monte.c +992 -0
  60. data/ext/multifit.c +1879 -0
  61. data/ext/multimin.c +808 -0
  62. data/ext/multimin_fsdf.c +156 -0
  63. data/ext/multiroots.c +955 -0
  64. data/ext/ndlinear.c +321 -0
  65. data/ext/nmf.c +167 -0
  66. data/ext/nmf_wrap.c +72 -0
  67. data/ext/ntuple.c +469 -0
  68. data/ext/odeiv.c +959 -0
  69. data/ext/ool.c +879 -0
  70. data/ext/oper_complex_source.c +253 -0
  71. data/ext/permutation.c +596 -0
  72. data/ext/poly.c +42 -0
  73. data/ext/poly2.c +265 -0
  74. data/ext/poly_source.c +1885 -0
  75. data/ext/qrng.c +171 -0
  76. data/ext/randist.c +1873 -0
  77. data/ext/rational.c +480 -0
  78. data/ext/rng.c +612 -0
  79. data/ext/root.c +408 -0
  80. data/ext/sf.c +1494 -0
  81. data/ext/sf_airy.c +200 -0
  82. data/ext/sf_bessel.c +867 -0
  83. data/ext/sf_clausen.c +28 -0
  84. data/ext/sf_coulomb.c +206 -0
  85. data/ext/sf_coupling.c +118 -0
  86. data/ext/sf_dawson.c +29 -0
  87. data/ext/sf_debye.c +157 -0
  88. data/ext/sf_dilog.c +42 -0
  89. data/ext/sf_elementary.c +44 -0
  90. data/ext/sf_ellint.c +206 -0
  91. data/ext/sf_elljac.c +29 -0
  92. data/ext/sf_erfc.c +93 -0
  93. data/ext/sf_exp.c +164 -0
  94. data/ext/sf_expint.c +211 -0
  95. data/ext/sf_fermi_dirac.c +148 -0
  96. data/ext/sf_gamma.c +344 -0
  97. data/ext/sf_gegenbauer.c +96 -0
  98. data/ext/sf_hyperg.c +197 -0
  99. data/ext/sf_laguerre.c +112 -0
  100. data/ext/sf_lambert.c +47 -0
  101. data/ext/sf_legendre.c +367 -0
  102. data/ext/sf_log.c +104 -0
  103. data/ext/sf_mathieu.c +238 -0
  104. data/ext/sf_power.c +46 -0
  105. data/ext/sf_psi.c +98 -0
  106. data/ext/sf_synchrotron.c +48 -0
  107. data/ext/sf_transport.c +76 -0
  108. data/ext/sf_trigonometric.c +207 -0
  109. data/ext/sf_zeta.c +119 -0
  110. data/ext/signal.c +310 -0
  111. data/ext/siman.c +718 -0
  112. data/ext/sort.c +208 -0
  113. data/ext/spline.c +395 -0
  114. data/ext/stats.c +799 -0
  115. data/ext/sum.c +168 -0
  116. data/ext/tamu_anova.c +56 -0
  117. data/ext/tensor.c +38 -0
  118. data/ext/tensor_source.c +1123 -0
  119. data/ext/vector.c +38 -0
  120. data/ext/vector_complex.c +2236 -0
  121. data/ext/vector_double.c +1433 -0
  122. data/ext/vector_int.c +204 -0
  123. data/ext/vector_source.c +3329 -0
  124. data/ext/wavelet.c +937 -0
  125. data/include/rb_gsl.h +151 -0
  126. data/include/rb_gsl_array.h +238 -0
  127. data/include/rb_gsl_cheb.h +21 -0
  128. data/include/rb_gsl_common.h +343 -0
  129. data/include/rb_gsl_complex.h +25 -0
  130. data/include/rb_gsl_const.h +29 -0
  131. data/include/rb_gsl_dirac.h +13 -0
  132. data/include/rb_gsl_eigen.h +17 -0
  133. data/include/rb_gsl_fft.h +62 -0
  134. data/include/rb_gsl_fit.h +25 -0
  135. data/include/rb_gsl_function.h +27 -0
  136. data/include/rb_gsl_graph.h +70 -0
  137. data/include/rb_gsl_histogram.h +63 -0
  138. data/include/rb_gsl_histogram3d.h +97 -0
  139. data/include/rb_gsl_integration.h +17 -0
  140. data/include/rb_gsl_interp.h +46 -0
  141. data/include/rb_gsl_linalg.h +25 -0
  142. data/include/rb_gsl_math.h +26 -0
  143. data/include/rb_gsl_odeiv.h +21 -0
  144. data/include/rb_gsl_poly.h +71 -0
  145. data/include/rb_gsl_rational.h +37 -0
  146. data/include/rb_gsl_rng.h +21 -0
  147. data/include/rb_gsl_root.h +22 -0
  148. data/include/rb_gsl_sf.h +119 -0
  149. data/include/rb_gsl_statistics.h +17 -0
  150. data/include/rb_gsl_tensor.h +45 -0
  151. data/include/rb_gsl_with_narray.h +22 -0
  152. data/include/templates_off.h +87 -0
  153. data/include/templates_on.h +241 -0
  154. data/lib/gsl/gnuplot.rb +41 -0
  155. data/lib/gsl/oper.rb +68 -0
  156. data/lib/ool.rb +22 -0
  157. data/lib/ool/conmin.rb +30 -0
  158. 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
@@ -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