numo-gsl-alt 0.1.3
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.
- checksums.yaml +7 -0
- data/Gemfile +4 -0
- data/README.md +83 -0
- data/Rakefile +16 -0
- data/ext/numo/gsl/cdf/depend +17 -0
- data/ext/numo/gsl/cdf/erbpp_cdf.rb +44 -0
- data/ext/numo/gsl/cdf/extconf.rb +9 -0
- data/ext/numo/gsl/cdf/func_def.rb +610 -0
- data/ext/numo/gsl/const/const_2.4.rb +419 -0
- data/ext/numo/gsl/const/const_2.5.rb +419 -0
- data/ext/numo/gsl/const/const_2.6.rb +419 -0
- data/ext/numo/gsl/const/const_def.rb +419 -0
- data/ext/numo/gsl/const/depend +17 -0
- data/ext/numo/gsl/const/erbpp_const.rb +28 -0
- data/ext/numo/gsl/const/extconf.rb +9 -0
- data/ext/numo/gsl/err/depend +1 -0
- data/ext/numo/gsl/err/err.c +22 -0
- data/ext/numo/gsl/err/extconf.rb +9 -0
- data/ext/numo/gsl/extconf_gsl.rb +58 -0
- data/ext/numo/gsl/fit/depend +17 -0
- data/ext/numo/gsl/fit/erbpp_fit.rb +73 -0
- data/ext/numo/gsl/fit/extconf.rb +9 -0
- data/ext/numo/gsl/fit/func_2.4.rb +128 -0
- data/ext/numo/gsl/fit/func_2.5.rb +128 -0
- data/ext/numo/gsl/fit/func_2.6.rb +128 -0
- data/ext/numo/gsl/fit/func_def.rb +129 -0
- data/ext/numo/gsl/fit/tmpl/check_1d.c +9 -0
- data/ext/numo/gsl/fit/tmpl/fit_linear.c +53 -0
- data/ext/numo/gsl/fit/tmpl/fit_linear_est.c +56 -0
- data/ext/numo/gsl/fit/tmpl/fit_mul.c +50 -0
- data/ext/numo/gsl/fit/tmpl/fit_mul_est.c +47 -0
- data/ext/numo/gsl/fit/tmpl/fit_wlinear.c +59 -0
- data/ext/numo/gsl/fit/tmpl/fit_wmul.c +56 -0
- data/ext/numo/gsl/gen/erbln.rb +132 -0
- data/ext/numo/gsl/gen/erbpp2.rb +344 -0
- data/ext/numo/gsl/gen/erbpp_gsl.rb +170 -0
- data/ext/numo/gsl/gen/func_parser.rb +518 -0
- data/ext/numo/gsl/gen/tmpl/c_DFloat_f_DFloat.c +40 -0
- data/ext/numo/gsl/gen/tmpl/c_DFloat_f_SZ.c +41 -0
- data/ext/numo/gsl/gen/tmpl/c_DFloat_f_SZ_x2.c +44 -0
- data/ext/numo/gsl/gen/tmpl/c_DFloat_x2_f_DFloat_x2.c +45 -0
- data/ext/numo/gsl/gen/tmpl/c_double_f_double.c +16 -0
- data/ext/numo/gsl/gen/tmpl/c_double_f_sizet.c +16 -0
- data/ext/numo/gsl/gen/tmpl/c_double_f_sizet_x2.c +17 -0
- data/ext/numo/gsl/gen/tmpl/c_double_f_void.c +15 -0
- data/ext/numo/gsl/gen/tmpl/c_double_x2_f_void.c +17 -0
- data/ext/numo/gsl/gen/tmpl/c_new_DFloat.c +29 -0
- data/ext/numo/gsl/gen/tmpl/c_new_double.c +22 -0
- data/ext/numo/gsl/gen/tmpl/c_new_f_other.c +25 -0
- data/ext/numo/gsl/gen/tmpl/c_new_sizet.c +22 -0
- data/ext/numo/gsl/gen/tmpl/c_new_sizet_double.c +23 -0
- data/ext/numo/gsl/gen/tmpl/c_new_sizet_x2.c +23 -0
- data/ext/numo/gsl/gen/tmpl/c_new_void.c +21 -0
- data/ext/numo/gsl/gen/tmpl/c_other_f_void.c +19 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_DFloat.c +46 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_DFloat_x2.c +41 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_DFloat_x3.c +44 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_DFloat_x4.c +47 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_SZ_x2_DFloat.c +45 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_double.c +17 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_other.c +17 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_sizet.c +21 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_void.c +14 -0
- data/ext/numo/gsl/gen/tmpl/c_sizet_f_void.c +15 -0
- data/ext/numo/gsl/gen/tmpl/c_sizet_x2_f_void.c +17 -0
- data/ext/numo/gsl/gen/tmpl/c_str_f_void.c +15 -0
- data/ext/numo/gsl/gen/tmpl/c_super_new_void.c +18 -0
- data/ext/numo/gsl/gen/tmpl/c_uint_f_void.c +15 -0
- data/ext/numo/gsl/gen/tmpl/c_ulong_f_void.c +15 -0
- data/ext/numo/gsl/gen/tmpl/c_void_f_double.c +17 -0
- data/ext/numo/gsl/gen/tmpl/c_void_f_double_x2.c +18 -0
- data/ext/numo/gsl/gen/tmpl/c_void_f_double_x4.c +20 -0
- data/ext/numo/gsl/gen/tmpl/c_void_f_ulong.c +17 -0
- data/ext/numo/gsl/gen/tmpl/c_void_f_void.c +14 -0
- data/ext/numo/gsl/gen/tmpl/cast_1d_contiguous.c +15 -0
- data/ext/numo/gsl/gen/tmpl/cast_2d_contiguous.c +15 -0
- data/ext/numo/gsl/gen/tmpl/class.c +26 -0
- data/ext/numo/gsl/gen/tmpl/create_new_narray.c +26 -0
- data/ext/numo/gsl/gen/tmpl/init_class.c +10 -0
- data/ext/numo/gsl/gen/tmpl/init_module.c +12 -0
- data/ext/numo/gsl/gen/tmpl/lib.c +41 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_Int_f_DFloat.c +38 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat.c +35 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat_Int.c +39 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat_UInt.c +39 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat_double.c +42 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat_double_x2.c +47 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat_int.c +42 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat_x2.c +38 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat_x3.c +41 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_Int.c +36 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt.c +36 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt32.c +36 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt32_double.c +43 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt32_double_uint.c +49 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt32_double_x2.c +48 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt32_uint_x3.c +51 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt_double.c +43 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt_double_uint.c +50 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt_double_x2.c +48 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt_uint_x3.c +51 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_int_DFloat.c +41 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_int_DFloat_x2.c +44 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_int_x2_DFloat_x2.c +46 -0
- data/ext/numo/gsl/gen/tmpl/m_Int_f_DFloat.c +36 -0
- data/ext/numo/gsl/gen/tmpl/m_Int_f_DFloat_x3.c +42 -0
- data/ext/numo/gsl/gen/tmpl/m_Int_f_int_DFloat.c +42 -0
- data/ext/numo/gsl/gen/tmpl/m_Int_f_int_DFloat_x2.c +45 -0
- data/ext/numo/gsl/gen/tmpl/mod_func_noloop.c +54 -0
- data/ext/numo/gsl/gen/tmpl/mod_func_scalar.c +27 -0
- data/ext/numo/gsl/gen/tmpl/module.c +9 -0
- data/ext/numo/gsl/histogram/depend +17 -0
- data/ext/numo/gsl/histogram/erbpp_histogram.rb +109 -0
- data/ext/numo/gsl/histogram/extconf.rb +9 -0
- data/ext/numo/gsl/histogram/func_2.4.rb +742 -0
- data/ext/numo/gsl/histogram/func_2.5.rb +742 -0
- data/ext/numo/gsl/histogram/func_2.6.rb +742 -0
- data/ext/numo/gsl/histogram/func_def.rb +763 -0
- data/ext/numo/gsl/histogram/tmpl/c_DFloat_f_2d_get.c +54 -0
- data/ext/numo/gsl/histogram/tmpl/c_DFloat_f_field.c +35 -0
- data/ext/numo/gsl/histogram/tmpl/c_DFloat_f_get.c +47 -0
- data/ext/numo/gsl/histogram/tmpl/c_DFloat_x2_f_get_range.c +56 -0
- data/ext/numo/gsl/histogram/tmpl/c_bool_f_other.c +19 -0
- data/ext/numo/gsl/histogram/tmpl/c_bool_f_pdf_init.c +24 -0
- data/ext/numo/gsl/histogram/tmpl/c_self_f_2d_set_ranges.c +26 -0
- data/ext/numo/gsl/histogram/tmpl/c_self_f_set_ranges.c +21 -0
- data/ext/numo/gsl/histogram/tmpl/c_sizet_f_field.c +15 -0
- data/ext/numo/gsl/interp/depend +17 -0
- data/ext/numo/gsl/interp/erbpp_interp.rb +60 -0
- data/ext/numo/gsl/interp/extconf.rb +9 -0
- data/ext/numo/gsl/interp/func_2.4.rb +804 -0
- data/ext/numo/gsl/interp/func_2.5.rb +804 -0
- data/ext/numo/gsl/interp/func_2.6.rb +804 -0
- data/ext/numo/gsl/interp/func_def.rb +816 -0
- data/ext/numo/gsl/interp/parse_interp.rb +67 -0
- data/ext/numo/gsl/interp/tmpl/interp2d_new.c +36 -0
- data/ext/numo/gsl/interp/tmpl/interp2d_type_new.c +17 -0
- data/ext/numo/gsl/interp/tmpl/interp_bsearch.c +57 -0
- data/ext/numo/gsl/interp/tmpl/interp_new.c +29 -0
- data/ext/numo/gsl/interp/tmpl/interp_type_new.c +16 -0
- data/ext/numo/gsl/interp/tmpl/spline2d_eval.c +61 -0
- data/ext/numo/gsl/interp/tmpl/spline_eval.c +55 -0
- data/ext/numo/gsl/interp/tmpl/spline_integ.c +56 -0
- data/ext/numo/gsl/interp/type_def.rb +9 -0
- data/ext/numo/gsl/mkmf_gsl.rb +33 -0
- data/ext/numo/gsl/multifit/depend +17 -0
- data/ext/numo/gsl/multifit/erbpp_multifit.rb +99 -0
- data/ext/numo/gsl/multifit/extconf.rb +9 -0
- data/ext/numo/gsl/multifit/func_2.1.rb +1035 -0
- data/ext/numo/gsl/multifit/func_2.2.1.rb +736 -0
- data/ext/numo/gsl/multifit/func_2.2.rb +736 -0
- data/ext/numo/gsl/multifit/func_2.3.rb +872 -0
- data/ext/numo/gsl/multifit/func_2.4.rb +859 -0
- data/ext/numo/gsl/multifit/func_2.5.rb +859 -0
- data/ext/numo/gsl/multifit/func_2.6.rb +859 -0
- data/ext/numo/gsl/multifit/func_def.rb +1012 -0
- data/ext/numo/gsl/multifit/tmpl/multifit_linear.c +66 -0
- data/ext/numo/gsl/multifit/tmpl/multifit_linear_est.c +48 -0
- data/ext/numo/gsl/multifit/tmpl/multifit_linear_residuals.c +47 -0
- data/ext/numo/gsl/multifit/tmpl/multifit_wlinear.c +70 -0
- data/ext/numo/gsl/multifit/type_def.rb +1 -0
- data/ext/numo/gsl/multilarge/func_2.4.rb +216 -0
- data/ext/numo/gsl/multilarge/func_2.5.rb +216 -0
- data/ext/numo/gsl/multilarge/func_2.6.rb +216 -0
- data/ext/numo/gsl/multilarge/func_def.rb +215 -0
- data/ext/numo/gsl/numo_gsl.h +117 -0
- data/ext/numo/gsl/pdf/depend +17 -0
- data/ext/numo/gsl/pdf/erbpp_pdf.rb +27 -0
- data/ext/numo/gsl/pdf/extconf.rb +9 -0
- data/ext/numo/gsl/pdf/func_2.2.1.rb +306 -0
- data/ext/numo/gsl/pdf/func_2.2.rb +306 -0
- data/ext/numo/gsl/pdf/func_2.3.rb +306 -0
- data/ext/numo/gsl/pdf/func_2.4.rb +303 -0
- data/ext/numo/gsl/pdf/func_2.5.rb +333 -0
- data/ext/numo/gsl/pdf/func_2.6.rb +333 -0
- data/ext/numo/gsl/pdf/func_def.rb +282 -0
- data/ext/numo/gsl/pdf/parse_pdf.rb +42 -0
- data/ext/numo/gsl/pdf/tmpl/dirichlet.c +39 -0
- data/ext/numo/gsl/pdf/tmpl/multinomial.c +39 -0
- data/ext/numo/gsl/poly/depend +17 -0
- data/ext/numo/gsl/poly/erbpp_poly.rb +70 -0
- data/ext/numo/gsl/poly/extconf.rb +9 -0
- data/ext/numo/gsl/poly/func_2.4.rb +220 -0
- data/ext/numo/gsl/poly/func_2.5.rb +220 -0
- data/ext/numo/gsl/poly/func_2.6.rb +220 -0
- data/ext/numo/gsl/poly/func_def.rb +234 -0
- data/ext/numo/gsl/poly/tmpl/poly_complex_solve.c +59 -0
- data/ext/numo/gsl/poly/tmpl/poly_eval.c +70 -0
- data/ext/numo/gsl/poly/tmpl/poly_eval_derivs.c +40 -0
- data/ext/numo/gsl/ran/depend +17 -0
- data/ext/numo/gsl/ran/erbpp_ran.rb +43 -0
- data/ext/numo/gsl/ran/extconf.rb +9 -0
- data/ext/numo/gsl/ran/func_2.2.1.rb +1658 -0
- data/ext/numo/gsl/ran/func_2.2.rb +1658 -0
- data/ext/numo/gsl/ran/func_2.3.rb +1658 -0
- data/ext/numo/gsl/ran/func_2.4.rb +1526 -0
- data/ext/numo/gsl/ran/func_2.5.rb +1573 -0
- data/ext/numo/gsl/ran/func_2.6.rb +1573 -0
- data/ext/numo/gsl/ran/func_def.rb +1594 -0
- data/ext/numo/gsl/ran/parse_ran.rb +10 -0
- data/ext/numo/gsl/rng/depend +17 -0
- data/ext/numo/gsl/rng/erbpp_rng.rb +59 -0
- data/ext/numo/gsl/rng/extconf.rb +9 -0
- data/ext/numo/gsl/rng/func_2.4.rb +187 -0
- data/ext/numo/gsl/rng/func_2.5.rb +187 -0
- data/ext/numo/gsl/rng/func_2.6.rb +187 -0
- data/ext/numo/gsl/rng/func_def.rb +230 -0
- data/ext/numo/gsl/rng/parse_rng.rb +126 -0
- data/ext/numo/gsl/rng/tmpl/ran.c +44 -0
- data/ext/numo/gsl/rng/tmpl/ran_DFloat_f_DFloat.c +28 -0
- data/ext/numo/gsl/rng/tmpl/ran_DFloat_x2.c +45 -0
- data/ext/numo/gsl/rng/tmpl/ran_DFloat_x3.c +51 -0
- data/ext/numo/gsl/rng/tmpl/ran_multinomial.c +32 -0
- data/ext/numo/gsl/rng/tmpl/rng_DFloat.c +29 -0
- data/ext/numo/gsl/rng/tmpl/rng_UInt.c +44 -0
- data/ext/numo/gsl/rng/tmpl/rng_alloc.c +24 -0
- data/ext/numo/gsl/rng/tmpl/rng_type_new.c +14 -0
- data/ext/numo/gsl/rng/type_def.rb +63 -0
- data/ext/numo/gsl/rstat/depend +17 -0
- data/ext/numo/gsl/rstat/erbpp_rstat.rb +64 -0
- data/ext/numo/gsl/rstat/extconf.rb +9 -0
- data/ext/numo/gsl/rstat/func_2.2.1.rb +116 -0
- data/ext/numo/gsl/rstat/func_2.2.rb +116 -0
- data/ext/numo/gsl/rstat/func_2.3.rb +123 -0
- data/ext/numo/gsl/rstat/func_2.4.rb +122 -0
- data/ext/numo/gsl/rstat/func_2.5.rb +122 -0
- data/ext/numo/gsl/rstat/func_2.6.rb +122 -0
- data/ext/numo/gsl/rstat/func_def.rb +102 -0
- data/ext/numo/gsl/sf/depend +17 -0
- data/ext/numo/gsl/sf/erbpp_sf.rb +51 -0
- data/ext/numo/gsl/sf/extconf.rb +9 -0
- data/ext/numo/gsl/sf/func_2.4.rb +4482 -0
- data/ext/numo/gsl/sf/func_2.5.rb +4508 -0
- data/ext/numo/gsl/sf/func_2.6.rb +4538 -0
- data/ext/numo/gsl/sf/func_def.rb +4703 -0
- data/ext/numo/gsl/sf/parse_sf.rb +277 -0
- data/ext/numo/gsl/sf/tmpl/c_DFloat_f_int_x2_DFloat.c +50 -0
- data/ext/numo/gsl/sf/tmpl/c_DFloat_f_int_x2_DFloat_x2.c +52 -0
- data/ext/numo/gsl/sf/tmpl/c_DFloat_f_int_x3_DFloat_x2.c +55 -0
- data/ext/numo/gsl/sf/tmpl/m_DFloat_f_DFloat_mode.c +47 -0
- data/ext/numo/gsl/sf/tmpl/m_DFloat_f_lmax_array.c +41 -0
- data/ext/numo/gsl/sf/tmpl/m_DFloat_f_nmin_nmax_array.c +49 -0
- data/ext/numo/gsl/spmatrix/const_2.2.1.rb +3 -0
- data/ext/numo/gsl/spmatrix/const_2.2.rb +3 -0
- data/ext/numo/gsl/spmatrix/const_2.3.rb +3 -0
- data/ext/numo/gsl/spmatrix/const_def.rb +2 -0
- data/ext/numo/gsl/spmatrix/depend +17 -0
- data/ext/numo/gsl/spmatrix/erbpp_spmatrix.rb +101 -0
- data/ext/numo/gsl/spmatrix/extconf.rb +9 -0
- data/ext/numo/gsl/spmatrix/func_2.2.1.rb +297 -0
- data/ext/numo/gsl/spmatrix/func_2.2.rb +297 -0
- data/ext/numo/gsl/spmatrix/func_2.3.rb +297 -0
- data/ext/numo/gsl/spmatrix/func_2.4.rb +300 -0
- data/ext/numo/gsl/spmatrix/func_2.5.rb +300 -0
- data/ext/numo/gsl/spmatrix/func_2.6.rb +372 -0
- data/ext/numo/gsl/spmatrix/func_def.rb +218 -0
- data/ext/numo/gsl/spmatrix/parse_spmatrix.rb +70 -0
- data/ext/numo/gsl/spmatrix/tmpl/itersolve_iterate.c +47 -0
- data/ext/numo/gsl/spmatrix/tmpl/itersolve_new.c +22 -0
- data/ext/numo/gsl/spmatrix/tmpl/itersolve_type_new.c +16 -0
- data/ext/numo/gsl/spmatrix/tmpl/spblas_dgemm.c +35 -0
- data/ext/numo/gsl/spmatrix/tmpl/spblas_dgemv.c +43 -0
- data/ext/numo/gsl/spmatrix/tmpl/spmatrix_add.c +22 -0
- data/ext/numo/gsl/spmatrix/tmpl/spmatrix_d2sp.c +28 -0
- data/ext/numo/gsl/spmatrix/tmpl/spmatrix_new.c +40 -0
- data/ext/numo/gsl/spmatrix/tmpl/spmatrix_sp2d.c +25 -0
- data/ext/numo/gsl/spmatrix/type_def.rb +1 -0
- data/ext/numo/gsl/stats/depend +17 -0
- data/ext/numo/gsl/stats/erbpp_stats.rb +30 -0
- data/ext/numo/gsl/stats/extconf.rb +9 -0
- data/ext/numo/gsl/stats/func_2.2.1.rb +608 -0
- data/ext/numo/gsl/stats/func_2.2.rb +608 -0
- data/ext/numo/gsl/stats/func_2.3.rb +608 -0
- data/ext/numo/gsl/stats/func_2.4.rb +583 -0
- data/ext/numo/gsl/stats/func_2.5.rb +718 -0
- data/ext/numo/gsl/stats/func_2.6.rb +718 -0
- data/ext/numo/gsl/stats/func_def.rb +608 -0
- data/ext/numo/gsl/stats/parse_stats.rb +63 -0
- data/ext/numo/gsl/stats/tmpl/stats_1a0p.c +37 -0
- data/ext/numo/gsl/stats/tmpl/stats_1a0p_index.c +60 -0
- data/ext/numo/gsl/stats/tmpl/stats_1a1p.c +41 -0
- data/ext/numo/gsl/stats/tmpl/stats_1a2p.c +42 -0
- data/ext/numo/gsl/stats/tmpl/stats_2a0p.c +39 -0
- data/ext/numo/gsl/stats/tmpl/stats_2a1p.c +43 -0
- data/ext/numo/gsl/stats/tmpl/stats_2a2p.c +44 -0
- data/ext/numo/gsl/stats/tmpl/stats_minmax.c +37 -0
- data/ext/numo/gsl/stats/tmpl/stats_minmax_index.c +67 -0
- data/ext/numo/gsl/stats/tmpl/stats_spearman.c +46 -0
- data/ext/numo/gsl/sys/const_2.4.rb +20 -0
- data/ext/numo/gsl/sys/const_2.5.rb +20 -0
- data/ext/numo/gsl/sys/const_2.6.rb +20 -0
- data/ext/numo/gsl/sys/const_def.rb +21 -0
- data/ext/numo/gsl/sys/depend +17 -0
- data/ext/numo/gsl/sys/enum_def.rb +75 -0
- data/ext/numo/gsl/sys/erbpp_sys.rb +60 -0
- data/ext/numo/gsl/sys/extconf.rb +9 -0
- data/ext/numo/gsl/sys/func_2.4.rb +236 -0
- data/ext/numo/gsl/sys/func_2.5.rb +236 -0
- data/ext/numo/gsl/sys/func_2.6.rb +236 -0
- data/ext/numo/gsl/sys/func_def.rb +249 -0
- data/ext/numo/gsl/version.h +1 -0
- data/ext/numo/gsl/wavelet/depend +17 -0
- data/ext/numo/gsl/wavelet/erbpp_wavelet.rb +48 -0
- data/ext/numo/gsl/wavelet/extconf.rb +9 -0
- data/ext/numo/gsl/wavelet/func_2.4.rb +304 -0
- data/ext/numo/gsl/wavelet/func_2.5.rb +304 -0
- data/ext/numo/gsl/wavelet/func_2.6.rb +304 -0
- data/ext/numo/gsl/wavelet/func_def.rb +337 -0
- data/ext/numo/gsl/wavelet/parse_wavelet.rb +47 -0
- data/ext/numo/gsl/wavelet/tmpl/wavelet2d_transform.c +56 -0
- data/ext/numo/gsl/wavelet/tmpl/wavelet_array_check.c +56 -0
- data/ext/numo/gsl/wavelet/tmpl/wavelet_macro.c +1 -0
- data/ext/numo/gsl/wavelet/tmpl/wavelet_new.c +20 -0
- data/ext/numo/gsl/wavelet/tmpl/wavelet_transform.c +55 -0
- data/ext/numo/gsl/wavelet/tmpl/wavelet_transform2.c +22 -0
- data/ext/numo/gsl/wavelet/tmpl/wavelet_type_new.c +15 -0
- data/ext/numo/gsl/wavelet/type_def.rb +6 -0
- data/lib/numo/gsl.rb +17 -0
- data/numo-gsl-alt.gemspec +33 -0
- metadata +406 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
static void
|
|
2
|
+
iter_<%=c_func%>(na_loop_t *const lp)
|
|
3
|
+
{
|
|
4
|
+
size_t n, i;
|
|
5
|
+
char *p1, *p2, *p3;
|
|
6
|
+
ssize_t s1, s2, s3;
|
|
7
|
+
ssize_t x1, x2;
|
|
8
|
+
size_t y1, y2;
|
|
9
|
+
double y3;
|
|
10
|
+
<%=struct%> *w = (<%=struct%>*)(lp->opt_ptr);
|
|
11
|
+
|
|
12
|
+
INIT_COUNTER(lp, n);
|
|
13
|
+
INIT_PTR(lp, 0, p1, s1);
|
|
14
|
+
INIT_PTR(lp, 1, p2, s2);
|
|
15
|
+
INIT_PTR(lp, 2, p3, s3);
|
|
16
|
+
|
|
17
|
+
for (i=0; i<n; i++) {
|
|
18
|
+
GET_DATA_STRIDE(p1,s1,ssize_t,x1);
|
|
19
|
+
GET_DATA_STRIDE(p2,s2,ssize_t,x2);
|
|
20
|
+
if (x1 < 0) {
|
|
21
|
+
y1 = x1 + w->nx;
|
|
22
|
+
} else {
|
|
23
|
+
y1 = x1;
|
|
24
|
+
}
|
|
25
|
+
if (x2 < 0) {
|
|
26
|
+
y2 = x2 + w->ny;
|
|
27
|
+
} else {
|
|
28
|
+
y2 = x2;
|
|
29
|
+
}
|
|
30
|
+
y3 = <%=func_name%>(<%=get(:postpose) ? "y1,y2,w" : "w,y1,y2"%>);
|
|
31
|
+
SET_DATA_STRIDE(p3,s3,double,y3);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/*
|
|
36
|
+
@overload <%=name%>(<%=args[1][1]%>, <%=args[2][1]%>)
|
|
37
|
+
@param [Int32/64] <%=args[1][1]%>
|
|
38
|
+
@param [Int32/64] <%=args[2][1]%>
|
|
39
|
+
@return [<%=class_name%>] self
|
|
40
|
+
|
|
41
|
+
<%= description %>
|
|
42
|
+
*/
|
|
43
|
+
static VALUE
|
|
44
|
+
<%=c_func(2)%>(VALUE self, VALUE v1, VALUE v2)
|
|
45
|
+
{
|
|
46
|
+
<%=struct%> *w;
|
|
47
|
+
ndfunc_arg_in_t ain[2] = {{cSSZ,0},{cSSZ,0}};
|
|
48
|
+
ndfunc_arg_out_t aout[1] = {{cDF,0}};
|
|
49
|
+
ndfunc_t ndf = {iter_<%=c_func%>, STRIDE_LOOP|NDF_EXTRACT, 2,1, ain,aout};
|
|
50
|
+
|
|
51
|
+
TypedData_Get_Struct(self, <%=struct%>, &<%=data_type_var%>, w);
|
|
52
|
+
|
|
53
|
+
return na_ndloop3(&ndf, w, 2, v1, v2);
|
|
54
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<% nd = (/histogram2d/ =~ struct) ? 2 : 1 %>
|
|
2
|
+
/*
|
|
3
|
+
@overload <%=name%>()
|
|
4
|
+
@return [DFloat] narray of <%=name%> field in <%=struct%>.
|
|
5
|
+
|
|
6
|
+
returns <%=name%> field in <%=struct%> struct.
|
|
7
|
+
<%= description %>
|
|
8
|
+
*/
|
|
9
|
+
static VALUE
|
|
10
|
+
<%=c_func(0)%>(VALUE self)
|
|
11
|
+
{
|
|
12
|
+
<%=struct%> *w;
|
|
13
|
+
double *d;
|
|
14
|
+
VALUE v;
|
|
15
|
+
size_t n, i, shape[<%=nd%>];
|
|
16
|
+
|
|
17
|
+
TypedData_Get_Struct(self, <%=struct%>, &<%=data_type_var%>, w);
|
|
18
|
+
|
|
19
|
+
<%if /([xy]?)range/ =~ name %>
|
|
20
|
+
shape[0] = n = w->n<%=$1%>+1;
|
|
21
|
+
<%elsif nd==1%>
|
|
22
|
+
shape[0] = n = w->n;
|
|
23
|
+
<%else%>
|
|
24
|
+
n = w->nx * w->ny;
|
|
25
|
+
shape[0] = w->nx;
|
|
26
|
+
shape[1] = w->ny;
|
|
27
|
+
<%end%>
|
|
28
|
+
|
|
29
|
+
v = rb_narray_new(cDF, <%=nd%>, shape);
|
|
30
|
+
d = (double*)na_get_pointer_for_write(v);
|
|
31
|
+
for (i=0; i<n; i++) {
|
|
32
|
+
d[i] = w-><%=name%>[i];
|
|
33
|
+
}
|
|
34
|
+
return v;
|
|
35
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
static void
|
|
2
|
+
iter_<%=c_func%>(na_loop_t *const lp)
|
|
3
|
+
{
|
|
4
|
+
size_t n, i;
|
|
5
|
+
char *p1, *p2;
|
|
6
|
+
ssize_t s1, s2;
|
|
7
|
+
ssize_t x1;
|
|
8
|
+
size_t y1;
|
|
9
|
+
double y2;
|
|
10
|
+
<%=struct%> *w = (<%=struct%>*)(lp->opt_ptr);
|
|
11
|
+
|
|
12
|
+
INIT_COUNTER(lp, n);
|
|
13
|
+
INIT_PTR(lp, 0, p1, s1);
|
|
14
|
+
INIT_PTR(lp, 1, p2, s2);
|
|
15
|
+
|
|
16
|
+
for (i=0; i<n; i++) {
|
|
17
|
+
GET_DATA_STRIDE(p1,s1,ssize_t,x1);
|
|
18
|
+
if (x1 < 0) {
|
|
19
|
+
y1 = x1 + w->n;
|
|
20
|
+
} else {
|
|
21
|
+
y1 = x1;
|
|
22
|
+
}
|
|
23
|
+
y2 = <%=func_name%>(<%=get(:postpose) ? "y1,w" : "w,y1"%>);
|
|
24
|
+
SET_DATA_STRIDE(p2,s2,double,y2);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
#undef FUNC
|
|
28
|
+
|
|
29
|
+
/*
|
|
30
|
+
@overload <%=name%>(<%=args[1][1]%>)
|
|
31
|
+
@param [Int32/64] <%=args[1][1]%>
|
|
32
|
+
@return [<%=class_name%>] self
|
|
33
|
+
|
|
34
|
+
<%= description %>
|
|
35
|
+
*/
|
|
36
|
+
static VALUE
|
|
37
|
+
<%=c_func(1)%>(VALUE self, VALUE v1)
|
|
38
|
+
{
|
|
39
|
+
<%=struct%> *w;
|
|
40
|
+
ndfunc_arg_in_t ain[1] = {{cSSZ,0}};
|
|
41
|
+
ndfunc_arg_out_t aout[1] = {{cDF,0}};
|
|
42
|
+
ndfunc_t ndf = {iter_<%=c_func%>, STRIDE_LOOP|NDF_EXTRACT, 1,1, ain,aout};
|
|
43
|
+
|
|
44
|
+
TypedData_Get_Struct(self, <%=struct%>, &<%=data_type_var%>, w);
|
|
45
|
+
|
|
46
|
+
return na_ndloop3(&ndf, w, 1, v1);
|
|
47
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<%
|
|
2
|
+
n = case name
|
|
3
|
+
when /_xrange/; "nx"
|
|
4
|
+
when /_yrange/; "ny"
|
|
5
|
+
when /_range/; "n"
|
|
6
|
+
end
|
|
7
|
+
%>
|
|
8
|
+
|
|
9
|
+
static void
|
|
10
|
+
iter_<%=c_func%>(na_loop_t *const lp)
|
|
11
|
+
{
|
|
12
|
+
size_t n, i;
|
|
13
|
+
char *p1, *p2, *p3;
|
|
14
|
+
ssize_t s1, s2, s3;
|
|
15
|
+
ssize_t x1;
|
|
16
|
+
size_t y1;
|
|
17
|
+
double y2, y3;
|
|
18
|
+
<%=struct%> *w = (<%=struct%>*)(lp->opt_ptr);
|
|
19
|
+
|
|
20
|
+
INIT_COUNTER(lp, n);
|
|
21
|
+
INIT_PTR(lp, 0, p1, s1);
|
|
22
|
+
INIT_PTR(lp, 1, p2, s2);
|
|
23
|
+
INIT_PTR(lp, 2, p3, s3);
|
|
24
|
+
|
|
25
|
+
for (i=0; i<n; i++) {
|
|
26
|
+
GET_DATA_STRIDE(p1,s1,ssize_t,x1);
|
|
27
|
+
if (x1 < 0) {
|
|
28
|
+
y1 = x1 + w-><%=n%>;
|
|
29
|
+
} else {
|
|
30
|
+
y1 = x1;
|
|
31
|
+
}
|
|
32
|
+
<%=func_name%>(<%=get(:postpose) ? "y1,&y2,&y3,w" : "w,y1,&y2,&y3"%>);
|
|
33
|
+
SET_DATA_STRIDE(p2,s2,double,y2);
|
|
34
|
+
SET_DATA_STRIDE(p3,s3,double,y3);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/*
|
|
39
|
+
@overload <%=name%>(<%=args[1][1]%>)
|
|
40
|
+
@param [Int32/64] <%=args[1][1]%> Int32/64 NArray
|
|
41
|
+
@return [Array] array of [[DFloat] <%=args[2][1]%>, [DFloat] <%=args[3][1]%>]
|
|
42
|
+
|
|
43
|
+
<%= description %>
|
|
44
|
+
*/
|
|
45
|
+
static VALUE
|
|
46
|
+
<%=c_func(1)%>(VALUE self, VALUE v1)
|
|
47
|
+
{
|
|
48
|
+
<%=struct%> *w;
|
|
49
|
+
ndfunc_arg_in_t ain[1] = {{cSSZ,0}};
|
|
50
|
+
ndfunc_arg_out_t aout[2] = {{cDF,0},{cDF,0}};
|
|
51
|
+
ndfunc_t ndf = {iter_<%=c_func%>, STRIDE_LOOP|NDF_EXTRACT, 1,2, ain,aout};
|
|
52
|
+
|
|
53
|
+
TypedData_Get_Struct(self, <%=struct%>, &<%=data_type_var%>, w);
|
|
54
|
+
|
|
55
|
+
return na_ndloop3(&ndf, w, 1, v1);
|
|
56
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
@overload <%=name%>(<%=args[1][1]%>)
|
|
3
|
+
@param [<%=class_name%>] <%=args[1][1]%>
|
|
4
|
+
@return [Bool]
|
|
5
|
+
|
|
6
|
+
<%= description %>
|
|
7
|
+
*/
|
|
8
|
+
static VALUE
|
|
9
|
+
<%=c_func(1)%>(VALUE self, VALUE v1)
|
|
10
|
+
{
|
|
11
|
+
int stat;
|
|
12
|
+
<%=struct%> *w, *w1;
|
|
13
|
+
|
|
14
|
+
TypedData_Get_Struct(self, <%=struct%>, &<%=data_type_var%>, w);
|
|
15
|
+
TypedData_Get_Struct(v1, <%=struct%>, &<%=data_type_var%>, w1);
|
|
16
|
+
|
|
17
|
+
stat = <%=func_name%>(w, w1);
|
|
18
|
+
return (stat) ? Qtrue: Qfalse;
|
|
19
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<%
|
|
2
|
+
h_struct = struct.sub(/_pdf/,"")
|
|
3
|
+
h_data_type_var = data_type_var.sub(/_pdf/,"")
|
|
4
|
+
%>
|
|
5
|
+
/*
|
|
6
|
+
@overload <%=name%>(<%=args[1][1]%>)
|
|
7
|
+
@param [<%=class_name%>] <%=args[1][1]%>
|
|
8
|
+
@return [Bool]
|
|
9
|
+
|
|
10
|
+
<%= description %>
|
|
11
|
+
*/
|
|
12
|
+
static VALUE
|
|
13
|
+
<%=c_func(1)%>(VALUE self, VALUE v1)
|
|
14
|
+
{
|
|
15
|
+
int stat;
|
|
16
|
+
<%=struct%> *w;
|
|
17
|
+
<%=h_struct%> *w1;
|
|
18
|
+
|
|
19
|
+
TypedData_Get_Struct(self, <%=struct%>, &<%=data_type_var%>, w);
|
|
20
|
+
TypedData_Get_Struct(v1, <%=h_struct%>, &<%=h_data_type_var%>, w1);
|
|
21
|
+
|
|
22
|
+
stat = <%=func_name%>(w, w1);
|
|
23
|
+
return (stat) ? Qtrue: Qfalse;
|
|
24
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
@overload <%=name%>(<%=args[1][1]%>,<%=args[3][1]%>)
|
|
3
|
+
@param [DFloat] <%=args[1][1]%>
|
|
4
|
+
@param [DFloat] <%=args[3][1]%>
|
|
5
|
+
@return [<%=class_name%>] self
|
|
6
|
+
|
|
7
|
+
<%= description %>
|
|
8
|
+
*/
|
|
9
|
+
static VALUE
|
|
10
|
+
<%=c_func(2)%>(VALUE self, VALUE v1, VALUE v2)
|
|
11
|
+
{
|
|
12
|
+
<%=struct%> *w;
|
|
13
|
+
double *p1, *p2;
|
|
14
|
+
|
|
15
|
+
TypedData_Get_Struct(self, <%=struct%>, &<%=data_type_var%>, w);
|
|
16
|
+
|
|
17
|
+
v1 = cast_1d_contiguous(v1, cDF);
|
|
18
|
+
p1 = (double*)na_get_pointer_for_read(v1);
|
|
19
|
+
v2 = cast_1d_contiguous(v2, cDF);
|
|
20
|
+
p2 = (double*)na_get_pointer_for_read(v2);
|
|
21
|
+
|
|
22
|
+
<%=func_name%>(w, p1, RNARRAY_SIZE(v1), p2, RNARRAY_SIZE(v2));
|
|
23
|
+
RB_GC_GUARD(v1);
|
|
24
|
+
RB_GC_GUARD(v2);
|
|
25
|
+
return self;
|
|
26
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*
|
|
2
|
+
@overload <%=name%>(<%=args[1][1]%>)
|
|
3
|
+
@param [DFloat] <%=args[1][1]%>
|
|
4
|
+
@return [<%=class_name%>] self
|
|
5
|
+
|
|
6
|
+
<%= description %>
|
|
7
|
+
*/
|
|
8
|
+
static VALUE
|
|
9
|
+
<%=c_func(1)%>(VALUE self, VALUE v1)
|
|
10
|
+
{
|
|
11
|
+
<%=struct%> *w;
|
|
12
|
+
double *p1;
|
|
13
|
+
|
|
14
|
+
TypedData_Get_Struct(self, <%=struct%>, &<%=data_type_var%>, w);
|
|
15
|
+
|
|
16
|
+
v1 = cast_1d_contiguous(v1, cDF);
|
|
17
|
+
p1 = (double*)na_get_pointer_for_read(v1);
|
|
18
|
+
<%=func_name%>(w, p1, RNARRAY_SIZE(v1));
|
|
19
|
+
RB_GC_GUARD(v1);
|
|
20
|
+
return self;
|
|
21
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
@overload <%=name%>
|
|
3
|
+
@return [Integer]
|
|
4
|
+
|
|
5
|
+
returns <%=name%> field in <%=struct%> struct.
|
|
6
|
+
*/
|
|
7
|
+
static VALUE
|
|
8
|
+
<%=c_func(0)%>(VALUE self)
|
|
9
|
+
{
|
|
10
|
+
<%=struct%> *w;
|
|
11
|
+
|
|
12
|
+
TypedData_Get_Struct(self, <%=struct%>, &<%=data_type_var%>, w);
|
|
13
|
+
|
|
14
|
+
return SIZET2NUM(w-><%=name%>);
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
COGEN=ruby erbpp_interp.rb
|
|
2
|
+
GENSRC=gsl_interp.c
|
|
3
|
+
GENDEPS=erbpp_interp.rb ../gen/*.rb ../gen/tmpl/*.c tmpl/*.c
|
|
4
|
+
|
|
5
|
+
src : $(GENSRC)
|
|
6
|
+
|
|
7
|
+
$(GENSRC) : $(GENDEPS)
|
|
8
|
+
$(COGEN) > $@
|
|
9
|
+
|
|
10
|
+
doc : $(GENSRC)
|
|
11
|
+
yard doc $(GENSRC)
|
|
12
|
+
|
|
13
|
+
clean: cleansrc cleandoc
|
|
14
|
+
cleansrc:
|
|
15
|
+
-$(Q)$(RM) $(GENSRC)
|
|
16
|
+
cleandoc:
|
|
17
|
+
-$(Q)$(RM_RF) doc .yardoc
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
require_relative "../gen/erbpp_gsl"
|
|
2
|
+
require_relative "parse_interp"
|
|
3
|
+
|
|
4
|
+
gsl_list = ErbppGsl.read_func_pattern(
|
|
5
|
+
[/^gsl_interp_accel_(\w+)$/, interp_accel_list=[]],
|
|
6
|
+
[/^gsl_interp2d_(\w+)$/, interp2d_list=[]],
|
|
7
|
+
[/^gsl_interp_(\w+)$/, interp_list=[]],
|
|
8
|
+
[/^gsl_spline2d_(\w+)$/, spline2d_list=[]],
|
|
9
|
+
[/^gsl_spline_(\w+)$/, spline_list=[]],
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
desc = {}
|
|
13
|
+
gsl_list.each do |h|
|
|
14
|
+
desc[h[:func_name]] = h[:desc]
|
|
15
|
+
end
|
|
16
|
+
gsl_list.each do |h|
|
|
17
|
+
if /^gsl_spline/ =~ h[:func_name] && h[:desc].empty?
|
|
18
|
+
h[:desc] = desc[h[:func_name].sub(/_spline/,"_interp")]
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
DefLib.new do
|
|
23
|
+
set line_number: true
|
|
24
|
+
set erb_dir: %w[tmpl ../gen/tmpl]
|
|
25
|
+
set erb_suffix: ".c"
|
|
26
|
+
set ns_var: "mG"
|
|
27
|
+
|
|
28
|
+
ErbPP.new(self,"cast_1d_contiguous")
|
|
29
|
+
ErbPP.new(self,"cast_2d_contiguous")
|
|
30
|
+
|
|
31
|
+
name = "Interp"
|
|
32
|
+
set file_name: "gsl_#{name}.c"
|
|
33
|
+
set include_files: %w[gsl/gsl_interp.h gsl/gsl_interp2d.h
|
|
34
|
+
gsl/gsl_spline.h gsl/gsl_spline2d.h]
|
|
35
|
+
set lib_name: name.downcase
|
|
36
|
+
|
|
37
|
+
[
|
|
38
|
+
#["Interp", "interp", interp_list],
|
|
39
|
+
["InterpAccel", "interp_accel", interp_accel_list],
|
|
40
|
+
#["Interp2D", "interp2d", interp2d_list],
|
|
41
|
+
["Spline", "spline", spline_list],
|
|
42
|
+
["Spline2D", "spline2d", spline2d_list],
|
|
43
|
+
].each do |name,base,list|
|
|
44
|
+
|
|
45
|
+
DefInterp.new(self) do
|
|
46
|
+
set name: base
|
|
47
|
+
set class_name: name
|
|
48
|
+
set class_var: "c"+name
|
|
49
|
+
set full_class_name: "Numo::GSL::"+name
|
|
50
|
+
set struct: "gsl_"+base
|
|
51
|
+
|
|
52
|
+
undef_alloc_func
|
|
53
|
+
init = nil
|
|
54
|
+
list.each do |h|
|
|
55
|
+
check_func(h)
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
end
|
|
60
|
+
end.run
|