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,236 @@
|
|
|
1
|
+
[{:func_name=>"GSL_MAX_DBL",
|
|
2
|
+
:func_type=>"extern inline double",
|
|
3
|
+
:args=>[["double", "a"], ["double", "b"]],
|
|
4
|
+
:desc=>
|
|
5
|
+
"This function returns the maximum of the double precision numbers\n" +
|
|
6
|
+
"a and b using an inline function. The use of a function\n" +
|
|
7
|
+
"allows for type checking of the arguments as an extra safety feature. On\n" +
|
|
8
|
+
"platforms where inline functions are not available the macro\n" +
|
|
9
|
+
"GSL_MAX will be automatically substituted."},
|
|
10
|
+
{:func_name=>"GSL_MAX_INT",
|
|
11
|
+
:func_type=>"extern inline int",
|
|
12
|
+
:args=>[["int", "a"], ["int", "b"]],
|
|
13
|
+
:desc=>
|
|
14
|
+
"These functions return the maximum or minimum of the integers a\n" +
|
|
15
|
+
"and b using an inline function. On platforms where inline\n" +
|
|
16
|
+
"functions are not available the macros GSL_MAX or GSL_MIN\n" +
|
|
17
|
+
"will be automatically substituted."},
|
|
18
|
+
{:func_name=>"GSL_MAX_LDBL",
|
|
19
|
+
:func_type=>"extern inline long double",
|
|
20
|
+
:args=>[["long double", "a"], ["long double", "b"]],
|
|
21
|
+
:desc=>
|
|
22
|
+
"These functions return the maximum or minimum of the long doubles a\n" +
|
|
23
|
+
"and b using an inline function. On platforms where inline\n" +
|
|
24
|
+
"functions are not available the macros GSL_MAX or GSL_MIN\n" +
|
|
25
|
+
"will be automatically substituted."},
|
|
26
|
+
{:func_name=>"GSL_MIN_DBL",
|
|
27
|
+
:func_type=>"extern inline double",
|
|
28
|
+
:args=>[["double", "a"], ["double", "b"]],
|
|
29
|
+
:desc=>
|
|
30
|
+
"This function returns the minimum of the double precision numbers\n" +
|
|
31
|
+
"a and b using an inline function. The use of a function\n" +
|
|
32
|
+
"allows for type checking of the arguments as an extra safety feature. On\n" +
|
|
33
|
+
"platforms where inline functions are not available the macro\n" +
|
|
34
|
+
"GSL_MIN will be automatically substituted."},
|
|
35
|
+
{:func_name=>"GSL_MIN_INT",
|
|
36
|
+
:func_type=>"extern inline int",
|
|
37
|
+
:args=>[["int", "a"], ["int", "b"]],
|
|
38
|
+
:desc=>
|
|
39
|
+
"These functions return the maximum or minimum of the integers a\n" +
|
|
40
|
+
"and b using an inline function. On platforms where inline\n" +
|
|
41
|
+
"functions are not available the macros GSL_MAX or GSL_MIN\n" +
|
|
42
|
+
"will be automatically substituted."},
|
|
43
|
+
{:func_name=>"GSL_MIN_LDBL",
|
|
44
|
+
:func_type=>"extern inline long double",
|
|
45
|
+
:args=>[["long double", "a"], ["long double", "b"]],
|
|
46
|
+
:desc=>
|
|
47
|
+
"These functions return the maximum or minimum of the long doubles a\n" +
|
|
48
|
+
"and b using an inline function. On platforms where inline\n" +
|
|
49
|
+
"functions are not available the macros GSL_MAX or GSL_MIN\n" +
|
|
50
|
+
"will be automatically substituted."},
|
|
51
|
+
{:func_name=>"gsl_acosh",
|
|
52
|
+
:func_type=>"double",
|
|
53
|
+
:args=>[["const double", "x"]],
|
|
54
|
+
:desc=>
|
|
55
|
+
"This function computes the value of \\arccosh{(x)}. It provides an\n" +
|
|
56
|
+
"alternative to the standard math function acosh(x)."},
|
|
57
|
+
{:func_name=>"gsl_asinh",
|
|
58
|
+
:func_type=>"double",
|
|
59
|
+
:args=>[["const double", "x"]],
|
|
60
|
+
:desc=>
|
|
61
|
+
"This function computes the value of \\arcsinh{(x)}. It provides an\n" +
|
|
62
|
+
"alternative to the standard math function asinh(x)."},
|
|
63
|
+
{:func_name=>"gsl_atanh",
|
|
64
|
+
:func_type=>"double",
|
|
65
|
+
:args=>[["const double", "x"]],
|
|
66
|
+
:desc=>
|
|
67
|
+
"This function computes the value of \\arctanh{(x)}. It provides an\n" +
|
|
68
|
+
"alternative to the standard math function atanh(x)."},
|
|
69
|
+
{:func_name=>"gsl_expm1",
|
|
70
|
+
:func_type=>"double",
|
|
71
|
+
:args=>[["const double", "x"]],
|
|
72
|
+
:desc=>
|
|
73
|
+
"This function computes the value of \\exp(x)-1 in a way that is\n" +
|
|
74
|
+
"accurate for small x. It provides an alternative to the BSD math\n" +
|
|
75
|
+
"function expm1(x)."},
|
|
76
|
+
{:func_name=>"gsl_fcmp",
|
|
77
|
+
:func_type=>"int",
|
|
78
|
+
:args=>[["double", "x"], ["double", "y"], ["double", "epsilon"]],
|
|
79
|
+
:desc=>
|
|
80
|
+
"This function determines whether x and y are approximately\n" +
|
|
81
|
+
"equal to a relative accuracy epsilon.\n" +
|
|
82
|
+
"The relative accuracy is measured using an interval of size 2\n" +
|
|
83
|
+
"\\delta, where \\delta = 2^k \\epsilon and k is the\n" +
|
|
84
|
+
"maximum base-2 exponent of x and y as computed by the\n" +
|
|
85
|
+
"function frexp.\n" +
|
|
86
|
+
"If x and y lie within this interval, they are considered\n" +
|
|
87
|
+
"approximately equal and the function returns 0. Otherwise if x <\n" +
|
|
88
|
+
"y, the function returns -1, or if x > y, the function returns\n" +
|
|
89
|
+
"+1.\n" +
|
|
90
|
+
"Note that x and y are compared to relative accuracy, so\n" +
|
|
91
|
+
"this function is not suitable for testing whether a value is\n" +
|
|
92
|
+
"approximately zero. \n" +
|
|
93
|
+
"The implementation is based on the package fcmp by T.C. Belding."},
|
|
94
|
+
{:func_name=>"gsl_finite",
|
|
95
|
+
:func_type=>"int",
|
|
96
|
+
:args=>[["const double", "x"]],
|
|
97
|
+
:desc=>
|
|
98
|
+
"This function returns 1 if x is a real number, and 0 if it is\n" +
|
|
99
|
+
"infinite or not-a-number."},
|
|
100
|
+
{:func_name=>"gsl_frexp",
|
|
101
|
+
:func_type=>"double",
|
|
102
|
+
:args=>[["double", "x"], ["int *", "e"]],
|
|
103
|
+
:desc=>
|
|
104
|
+
"This function splits the number x into its normalized fraction\n" +
|
|
105
|
+
"f and exponent e, such that x = f * 2^e and\n" +
|
|
106
|
+
"0.5 <= f < 1. The function returns f and stores the\n" +
|
|
107
|
+
"exponent in e. If x is zero, both f and e\n" +
|
|
108
|
+
"are set to zero. This function provides an alternative to the standard\n" +
|
|
109
|
+
"math function frexp(x, e)."},
|
|
110
|
+
{:func_name=>"gsl_hypot",
|
|
111
|
+
:func_type=>"double",
|
|
112
|
+
:args=>[["const double", "x"], ["const double", "y"]],
|
|
113
|
+
:desc=>
|
|
114
|
+
"This function computes the value of\n" +
|
|
115
|
+
"\\sqrt{x^2 + y^2} in a way that avoids overflow. It provides an\n" +
|
|
116
|
+
"alternative to the BSD math function hypot(x,y)."},
|
|
117
|
+
{:func_name=>"gsl_hypot3",
|
|
118
|
+
:func_type=>"double",
|
|
119
|
+
:args=>[["const double", "x"], ["const double", "y"], ["const double", "z"]],
|
|
120
|
+
:desc=>
|
|
121
|
+
"This function computes the value of\n" +
|
|
122
|
+
"\\sqrt{x^2 + y^2 + z^2} in a way that avoids overflow."},
|
|
123
|
+
{:func_name=>"gsl_isinf",
|
|
124
|
+
:func_type=>"int",
|
|
125
|
+
:args=>[["const double", "x"]],
|
|
126
|
+
:desc=>
|
|
127
|
+
"This function returns +1 if x is positive infinity,\n" +
|
|
128
|
+
"-1 if x is negative infinity and 0\n" +
|
|
129
|
+
"otherwise. [#f1]_"},
|
|
130
|
+
{:func_name=>"gsl_isnan",
|
|
131
|
+
:func_type=>"int",
|
|
132
|
+
:args=>[["const double", "x"]],
|
|
133
|
+
:desc=>"This function returns 1 if x is not-a-number."},
|
|
134
|
+
{:func_name=>"gsl_ldexp",
|
|
135
|
+
:func_type=>"double",
|
|
136
|
+
:args=>[["double", "x"], ["int", "e"]],
|
|
137
|
+
:desc=>
|
|
138
|
+
"This function computes the value of x * 2^e. It provides an\n" +
|
|
139
|
+
"alternative to the standard math function ldexp(x,e)."},
|
|
140
|
+
{:func_name=>"gsl_log1p",
|
|
141
|
+
:func_type=>"double",
|
|
142
|
+
:args=>[["const double", "x"]],
|
|
143
|
+
:desc=>
|
|
144
|
+
"This function computes the value of \\log(1+x) in a way that is\n" +
|
|
145
|
+
"accurate for small x. It provides an alternative to the BSD math\n" +
|
|
146
|
+
"function log1p(x)."},
|
|
147
|
+
{:func_name=>"gsl_pow_2",
|
|
148
|
+
:func_type=>"double",
|
|
149
|
+
:args=>[["const double", "x"]],
|
|
150
|
+
:desc=>
|
|
151
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
152
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
153
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
154
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
155
|
+
"product expression::"},
|
|
156
|
+
{:func_name=>"gsl_pow_3",
|
|
157
|
+
:func_type=>"double",
|
|
158
|
+
:args=>[["const double", "x"]],
|
|
159
|
+
:desc=>
|
|
160
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
161
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
162
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
163
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
164
|
+
"product expression::"},
|
|
165
|
+
{:func_name=>"gsl_pow_4",
|
|
166
|
+
:func_type=>"double",
|
|
167
|
+
:args=>[["const double", "x"]],
|
|
168
|
+
:desc=>
|
|
169
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
170
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
171
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
172
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
173
|
+
"product expression::"},
|
|
174
|
+
{:func_name=>"gsl_pow_5",
|
|
175
|
+
:func_type=>"double",
|
|
176
|
+
:args=>[["const double", "x"]],
|
|
177
|
+
:desc=>
|
|
178
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
179
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
180
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
181
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
182
|
+
"product expression::"},
|
|
183
|
+
{:func_name=>"gsl_pow_6",
|
|
184
|
+
:func_type=>"double",
|
|
185
|
+
:args=>[["const double", "x"]],
|
|
186
|
+
:desc=>
|
|
187
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
188
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
189
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
190
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
191
|
+
"product expression::"},
|
|
192
|
+
{:func_name=>"gsl_pow_7",
|
|
193
|
+
:func_type=>"double",
|
|
194
|
+
:args=>[["const double", "x"]],
|
|
195
|
+
:desc=>
|
|
196
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
197
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
198
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
199
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
200
|
+
"product expression::"},
|
|
201
|
+
{:func_name=>"gsl_pow_8",
|
|
202
|
+
:func_type=>"double",
|
|
203
|
+
:args=>[["const double", "x"]],
|
|
204
|
+
:desc=>
|
|
205
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
206
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
207
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
208
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
209
|
+
"product expression::"},
|
|
210
|
+
{:func_name=>"gsl_pow_9",
|
|
211
|
+
:func_type=>"double",
|
|
212
|
+
:args=>[["const double", "x"]],
|
|
213
|
+
:desc=>
|
|
214
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
215
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
216
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
217
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
218
|
+
"product expression::"},
|
|
219
|
+
{:func_name=>"gsl_pow_int",
|
|
220
|
+
:func_type=>"double",
|
|
221
|
+
:args=>[["double", "x"], ["int", "n"]],
|
|
222
|
+
:desc=>
|
|
223
|
+
"These routines computes the power x^n for integer n. The\n" +
|
|
224
|
+
"power is computed efficiently---for example, x^8 is computed as\n" +
|
|
225
|
+
"((x^2)^2)^2, requiring only 3 multiplications. A version of this\n" +
|
|
226
|
+
"function which also computes the numerical error in the result is\n" +
|
|
227
|
+
"available as gsl_sf_pow_int_e."},
|
|
228
|
+
{:func_name=>"gsl_pow_uint",
|
|
229
|
+
:func_type=>"double",
|
|
230
|
+
:args=>[["double", "x"], ["unsigned int", "n"]],
|
|
231
|
+
:desc=>
|
|
232
|
+
"These routines computes the power x^n for integer n. The\n" +
|
|
233
|
+
"power is computed efficiently---for example, x^8 is computed as\n" +
|
|
234
|
+
"((x^2)^2)^2, requiring only 3 multiplications. A version of this\n" +
|
|
235
|
+
"function which also computes the numerical error in the result is\n" +
|
|
236
|
+
"available as gsl_sf_pow_int_e."}]
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
[{:func_name=>"GSL_MAX_DBL",
|
|
2
|
+
:func_type=>"extern inline double",
|
|
3
|
+
:args=>[["double", "a"], ["double", "b"]],
|
|
4
|
+
:desc=>
|
|
5
|
+
"This function returns the maximum of the double precision numbers\n" +
|
|
6
|
+
"a and b using an inline function. The use of a function\n" +
|
|
7
|
+
"allows for type checking of the arguments as an extra safety feature. On\n" +
|
|
8
|
+
"platforms where inline functions are not available the macro\n" +
|
|
9
|
+
"GSL_MAX will be automatically substituted."},
|
|
10
|
+
{:func_name=>"GSL_MAX_INT",
|
|
11
|
+
:func_type=>"extern inline int",
|
|
12
|
+
:args=>[["int", "a"], ["int", "b"]],
|
|
13
|
+
:desc=>
|
|
14
|
+
"These functions return the maximum or minimum of the integers a\n" +
|
|
15
|
+
"and b using an inline function. On platforms where inline\n" +
|
|
16
|
+
"functions are not available the macros GSL_MAX or GSL_MIN\n" +
|
|
17
|
+
"will be automatically substituted."},
|
|
18
|
+
{:func_name=>"GSL_MAX_LDBL",
|
|
19
|
+
:func_type=>"extern inline long double",
|
|
20
|
+
:args=>[["long double", "a"], ["long double", "b"]],
|
|
21
|
+
:desc=>
|
|
22
|
+
"These functions return the maximum or minimum of the long doubles a\n" +
|
|
23
|
+
"and b using an inline function. On platforms where inline\n" +
|
|
24
|
+
"functions are not available the macros GSL_MAX or GSL_MIN\n" +
|
|
25
|
+
"will be automatically substituted."},
|
|
26
|
+
{:func_name=>"GSL_MIN_DBL",
|
|
27
|
+
:func_type=>"extern inline double",
|
|
28
|
+
:args=>[["double", "a"], ["double", "b"]],
|
|
29
|
+
:desc=>
|
|
30
|
+
"This function returns the minimum of the double precision numbers\n" +
|
|
31
|
+
"a and b using an inline function. The use of a function\n" +
|
|
32
|
+
"allows for type checking of the arguments as an extra safety feature. On\n" +
|
|
33
|
+
"platforms where inline functions are not available the macro\n" +
|
|
34
|
+
"GSL_MIN will be automatically substituted."},
|
|
35
|
+
{:func_name=>"GSL_MIN_INT",
|
|
36
|
+
:func_type=>"extern inline int",
|
|
37
|
+
:args=>[["int", "a"], ["int", "b"]],
|
|
38
|
+
:desc=>
|
|
39
|
+
"These functions return the maximum or minimum of the integers a\n" +
|
|
40
|
+
"and b using an inline function. On platforms where inline\n" +
|
|
41
|
+
"functions are not available the macros GSL_MAX or GSL_MIN\n" +
|
|
42
|
+
"will be automatically substituted."},
|
|
43
|
+
{:func_name=>"GSL_MIN_LDBL",
|
|
44
|
+
:func_type=>"extern inline long double",
|
|
45
|
+
:args=>[["long double", "a"], ["long double", "b"]],
|
|
46
|
+
:desc=>
|
|
47
|
+
"These functions return the maximum or minimum of the long doubles a\n" +
|
|
48
|
+
"and b using an inline function. On platforms where inline\n" +
|
|
49
|
+
"functions are not available the macros GSL_MAX or GSL_MIN\n" +
|
|
50
|
+
"will be automatically substituted."},
|
|
51
|
+
{:func_name=>"gsl_acosh",
|
|
52
|
+
:func_type=>"double",
|
|
53
|
+
:args=>[["const double", "x"]],
|
|
54
|
+
:desc=>
|
|
55
|
+
"This function computes the value of \\arccosh(x). It provides an\n" +
|
|
56
|
+
"alternative to the standard math function acosh(x)."},
|
|
57
|
+
{:func_name=>"gsl_asinh",
|
|
58
|
+
:func_type=>"double",
|
|
59
|
+
:args=>[["const double", "x"]],
|
|
60
|
+
:desc=>
|
|
61
|
+
"This function computes the value of \\arcsinh(x). It provides an\n" +
|
|
62
|
+
"alternative to the standard math function asinh(x)."},
|
|
63
|
+
{:func_name=>"gsl_atanh",
|
|
64
|
+
:func_type=>"double",
|
|
65
|
+
:args=>[["const double", "x"]],
|
|
66
|
+
:desc=>
|
|
67
|
+
"This function computes the value of \\arctanh(x). It provides an\n" +
|
|
68
|
+
"alternative to the standard math function atanh(x)."},
|
|
69
|
+
{:func_name=>"gsl_expm1",
|
|
70
|
+
:func_type=>"double",
|
|
71
|
+
:args=>[["const double", "x"]],
|
|
72
|
+
:desc=>
|
|
73
|
+
"This function computes the value of \\exp(x)-1 in a way that is\n" +
|
|
74
|
+
"accurate for small x. It provides an alternative to the BSD math\n" +
|
|
75
|
+
"function expm1(x)."},
|
|
76
|
+
{:func_name=>"gsl_fcmp",
|
|
77
|
+
:func_type=>"int",
|
|
78
|
+
:args=>[["double", "x"], ["double", "y"], ["double", "epsilon"]],
|
|
79
|
+
:desc=>
|
|
80
|
+
"This function determines whether x and y are approximately\n" +
|
|
81
|
+
"equal to a relative accuracy epsilon.\n" +
|
|
82
|
+
"\n" +
|
|
83
|
+
"The relative accuracy is measured using an interval of size 2\n" +
|
|
84
|
+
"\\delta, where \\delta = 2^k \\epsilon and k is the\n" +
|
|
85
|
+
"maximum base-2 exponent of x and y as computed by the\n" +
|
|
86
|
+
"function frexp. \n" +
|
|
87
|
+
"\n" +
|
|
88
|
+
"If x and y lie within this interval, they are considered\n" +
|
|
89
|
+
"approximately equal and the function returns 0. Otherwise if x <\n" +
|
|
90
|
+
"y, the function returns -1, or if x > y, the function returns\n" +
|
|
91
|
+
"+1.\n" +
|
|
92
|
+
"\n" +
|
|
93
|
+
"Note that x and y are compared to relative accuracy, so\n" +
|
|
94
|
+
"this function is not suitable for testing whether a value is\n" +
|
|
95
|
+
"approximately zero. \n" +
|
|
96
|
+
"\n" +
|
|
97
|
+
"The implementation is based on the package fcmp by T.C. Belding."},
|
|
98
|
+
{:func_name=>"gsl_finite",
|
|
99
|
+
:func_type=>"int",
|
|
100
|
+
:args=>[["const double", "x"]],
|
|
101
|
+
:desc=>
|
|
102
|
+
"This function returns 1 if x is a real number, and 0 if it is\n" +
|
|
103
|
+
"infinite or not-a-number."},
|
|
104
|
+
{:func_name=>"gsl_frexp",
|
|
105
|
+
:func_type=>"double",
|
|
106
|
+
:args=>[["double", "x"], ["int *", "e"]],
|
|
107
|
+
:desc=>
|
|
108
|
+
"This function splits the number x into its normalized fraction\n" +
|
|
109
|
+
"f and exponent e, such that x = f * 2^e and\n" +
|
|
110
|
+
"$0.5 \\le f < 1$\n" +
|
|
111
|
+
"0.5 <= f < 1. The function returns f and stores the\n" +
|
|
112
|
+
"exponent in e. If x is zero, both f and e\n" +
|
|
113
|
+
"are set to zero. This function provides an alternative to the standard\n" +
|
|
114
|
+
"math function frexp(x, e)."},
|
|
115
|
+
{:func_name=>"gsl_hypot",
|
|
116
|
+
:func_type=>"double",
|
|
117
|
+
:args=>[["const double", "x"], ["const double", "y"]],
|
|
118
|
+
:desc=>
|
|
119
|
+
"This function computes the value of\n" +
|
|
120
|
+
"$\\sqrt{x^2 + y^2}$\n" +
|
|
121
|
+
"\\sqrt@{x^2 + y^2@} in a way that avoids overflow. It provides an\n" +
|
|
122
|
+
"alternative to the BSD math function hypot(x,y)."},
|
|
123
|
+
{:func_name=>"gsl_hypot3",
|
|
124
|
+
:func_type=>"double",
|
|
125
|
+
:args=>[["const double", "x"], ["const double", "y"], ["const double", "z"]],
|
|
126
|
+
:desc=>
|
|
127
|
+
"This function computes the value of\n" +
|
|
128
|
+
"$\\sqrt{x^2 + y^2 + z^2}$\n" +
|
|
129
|
+
"\\sqrt@{x^2 + y^2 + z^2@} in a way that avoids overflow."},
|
|
130
|
+
{:func_name=>"gsl_isinf",
|
|
131
|
+
:func_type=>"int",
|
|
132
|
+
:args=>[["const double", "x"]],
|
|
133
|
+
:desc=>
|
|
134
|
+
"This function returns +1 if x is positive infinity,\n" +
|
|
135
|
+
"-1 if x is negative infinity and 0\n" +
|
|
136
|
+
"otherwise.Note that the C99 standard only requires the\n" +
|
|
137
|
+
"system isinf function to return a non-zero value, without the\n" +
|
|
138
|
+
"sign of the infinity. The implementation in some earlier versions of\n" +
|
|
139
|
+
"GSL used the system isinf function and may have this behavior\n" +
|
|
140
|
+
"on some platforms. Therefore, it is advisable to test the sign of\n" +
|
|
141
|
+
"x separately, if needed, rather than relying the sign of the\n" +
|
|
142
|
+
"return value from gsl_isinf()."},
|
|
143
|
+
{:func_name=>"gsl_isnan",
|
|
144
|
+
:func_type=>"int",
|
|
145
|
+
:args=>[["const double", "x"]],
|
|
146
|
+
:desc=>"This function returns 1 if x is not-a-number."},
|
|
147
|
+
{:func_name=>"gsl_ldexp",
|
|
148
|
+
:func_type=>"double",
|
|
149
|
+
:args=>[["double", "x"], ["int", "e"]],
|
|
150
|
+
:desc=>
|
|
151
|
+
"This function computes the value of x * 2^e. It provides an\n" +
|
|
152
|
+
"alternative to the standard math function ldexp(x,e)."},
|
|
153
|
+
{:func_name=>"gsl_log1p",
|
|
154
|
+
:func_type=>"double",
|
|
155
|
+
:args=>[["const double", "x"]],
|
|
156
|
+
:desc=>
|
|
157
|
+
"This function computes the value of \\log(1+x) in a way that is\n" +
|
|
158
|
+
"accurate for small x. It provides an alternative to the BSD math\n" +
|
|
159
|
+
"function log1p(x)."},
|
|
160
|
+
{:func_name=>"gsl_pow_2",
|
|
161
|
+
:func_type=>"double",
|
|
162
|
+
:args=>[["const double", "x"]],
|
|
163
|
+
:desc=>
|
|
164
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
165
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
166
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
167
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
168
|
+
"product expression."},
|
|
169
|
+
{:func_name=>"gsl_pow_3",
|
|
170
|
+
:func_type=>"double",
|
|
171
|
+
:args=>[["const double", "x"]],
|
|
172
|
+
:desc=>
|
|
173
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
174
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
175
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
176
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
177
|
+
"product expression."},
|
|
178
|
+
{:func_name=>"gsl_pow_4",
|
|
179
|
+
:func_type=>"double",
|
|
180
|
+
:args=>[["const double", "x"]],
|
|
181
|
+
:desc=>
|
|
182
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
183
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
184
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
185
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
186
|
+
"product expression."},
|
|
187
|
+
{:func_name=>"gsl_pow_5",
|
|
188
|
+
:func_type=>"double",
|
|
189
|
+
:args=>[["const double", "x"]],
|
|
190
|
+
:desc=>
|
|
191
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
192
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
193
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
194
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
195
|
+
"product expression."},
|
|
196
|
+
{:func_name=>"gsl_pow_6",
|
|
197
|
+
:func_type=>"double",
|
|
198
|
+
:args=>[["const double", "x"]],
|
|
199
|
+
:desc=>
|
|
200
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
201
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
202
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
203
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
204
|
+
"product expression."},
|
|
205
|
+
{:func_name=>"gsl_pow_7",
|
|
206
|
+
:func_type=>"double",
|
|
207
|
+
:args=>[["const double", "x"]],
|
|
208
|
+
:desc=>
|
|
209
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
210
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
211
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
212
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
213
|
+
"product expression."},
|
|
214
|
+
{:func_name=>"gsl_pow_8",
|
|
215
|
+
:func_type=>"double",
|
|
216
|
+
:args=>[["const double", "x"]],
|
|
217
|
+
:desc=>
|
|
218
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
219
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
220
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
221
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
222
|
+
"product expression."},
|
|
223
|
+
{:func_name=>"gsl_pow_9",
|
|
224
|
+
:func_type=>"double",
|
|
225
|
+
:args=>[["const double", "x"]],
|
|
226
|
+
:desc=>
|
|
227
|
+
"These functions can be used to compute small integer powers x^2,\n" +
|
|
228
|
+
"x^3, etc. efficiently. The functions will be inlined when \n" +
|
|
229
|
+
"HAVE_INLINE is defined, so that use of these functions \n" +
|
|
230
|
+
"should be as efficient as explicitly writing the corresponding \n" +
|
|
231
|
+
"product expression."},
|
|
232
|
+
{:func_name=>"gsl_pow_int",
|
|
233
|
+
:func_type=>"double",
|
|
234
|
+
:args=>[["double", "x"], ["int", "n"]],
|
|
235
|
+
:desc=>
|
|
236
|
+
"These routines computes the power x^n for integer n. The\n" +
|
|
237
|
+
"power is computed efficiently---for example, x^8 is computed as\n" +
|
|
238
|
+
"((x^2)^2)^2, requiring only 3 multiplications. A version of this\n" +
|
|
239
|
+
"function which also computes the numerical error in the result is\n" +
|
|
240
|
+
"available as gsl_sf_pow_int_e."},
|
|
241
|
+
{:func_name=>"gsl_pow_uint",
|
|
242
|
+
:func_type=>"double",
|
|
243
|
+
:args=>[["double", "x"], ["unsigned int", "n"]],
|
|
244
|
+
:desc=>
|
|
245
|
+
"These routines computes the power x^n for integer n. The\n" +
|
|
246
|
+
"power is computed efficiently---for example, x^8 is computed as\n" +
|
|
247
|
+
"((x^2)^2)^2, requiring only 3 multiplications. A version of this\n" +
|
|
248
|
+
"function which also computes the numerical error in the result is\n" +
|
|
249
|
+
"available as gsl_sf_pow_int_e."}]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#define NUMO_GSL_VERSION "0.1.3"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
COGEN=ruby erbpp_wavelet.rb
|
|
2
|
+
GENSRC=gsl_wavelet.c
|
|
3
|
+
GENDEPS=erbpp_wavelet.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,48 @@
|
|
|
1
|
+
require_relative "../gen/erbpp_gsl"
|
|
2
|
+
require_relative "parse_wavelet"
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
gsl_list = ErbppGsl.read_func
|
|
6
|
+
|
|
7
|
+
class_list = [
|
|
8
|
+
["WaveletWorkspace","wavelet_workspace",[]],
|
|
9
|
+
["Wavelet","wavelet",list_1d=[]],
|
|
10
|
+
["Wavelet2D","wavelet2d",list_2d=[]],
|
|
11
|
+
]
|
|
12
|
+
ErbppGsl.read_func_pattern(
|
|
13
|
+
*class_list.map{|name,base,list| [/gsl_#{base}_/, list]}
|
|
14
|
+
)
|
|
15
|
+
list_2d << list_1d.find{|h| h[:func_name]=="gsl_wavelet_alloc"}
|
|
16
|
+
|
|
17
|
+
DefLib.new do
|
|
18
|
+
set line_number: true
|
|
19
|
+
set erb_dir: %w[tmpl ../gen/tmpl]
|
|
20
|
+
set erb_suffix: ".c"
|
|
21
|
+
set ns_var: "mG"
|
|
22
|
+
|
|
23
|
+
#ErbPP.new(self,"cast_1d_contiguous")
|
|
24
|
+
#ErbPP.new(self,"cast_2d_contiguous")
|
|
25
|
+
ErbPP.new(self,"wavelet_macro")
|
|
26
|
+
ErbPP.new(self,"wavelet_array_check")
|
|
27
|
+
|
|
28
|
+
name = "Wavelet"
|
|
29
|
+
set file_name: "gsl_#{name}.c"
|
|
30
|
+
set include_files: %w[gsl/gsl_wavelet.h gsl/gsl_wavelet2d.h]
|
|
31
|
+
set lib_name: name.downcase
|
|
32
|
+
|
|
33
|
+
class_list.each do |name,base,list|
|
|
34
|
+
DefWavelet.new(self) do
|
|
35
|
+
set name: base
|
|
36
|
+
set class_name: name
|
|
37
|
+
set class_var: "c"+name
|
|
38
|
+
set full_class_name: "Numo::GSL::"+name
|
|
39
|
+
set struct: "gsl_"+base.sub(/2d/,"")
|
|
40
|
+
|
|
41
|
+
undef_alloc_func
|
|
42
|
+
list.each do |h|
|
|
43
|
+
check_func(h)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end
|
|
48
|
+
end.run
|