Apply nan/inf handling patch from Sisyphus
[Math-GSL.git] / SF.i
blob2372ceb6e3e0e86d884a1ed0a06604e22b93c16c
1 %module "Math::GSL::SF"
2 %include "typemaps.i"
4 %apply double *OUTPUT { double * sn, double * cn, double * dn, double * sgn };
6 %{
7 #include "gsl/gsl_mode.h"
8 #include "gsl/gsl_sf.h"
9 #include "gsl/gsl_sf_airy.h"
10 #include "gsl/gsl_sf_bessel.h"
11 #include "gsl/gsl_sf_clausen.h"
12 #include "gsl/gsl_sf_coulomb.h"
13 #include "gsl/gsl_sf_coupling.h"
14 #include "gsl/gsl_sf_dawson.h"
15 #include "gsl/gsl_sf_debye.h"
16 #include "gsl/gsl_sf_dilog.h"
17 #include "gsl/gsl_sf_elementary.h"
18 #include "gsl/gsl_sf_ellint.h"
19 #include "gsl/gsl_sf_elljac.h"
20 #include "gsl/gsl_sf_erf.h"
21 #include "gsl/gsl_sf_exp.h"
22 #include "gsl/gsl_sf_expint.h"
23 #include "gsl/gsl_sf_fermi_dirac.h"
24 #include "gsl/gsl_sf_gamma.h"
25 #include "gsl/gsl_sf_gegenbauer.h"
26 #include "gsl/gsl_sf_hyperg.h"
27 #include "gsl/gsl_sf_laguerre.h"
28 #include "gsl/gsl_sf_lambert.h"
29 #include "gsl/gsl_sf_legendre.h"
30 #include "gsl/gsl_sf_log.h"
31 #include "gsl/gsl_sf_mathieu.h"
32 #include "gsl/gsl_sf_pow_int.h"
33 #include "gsl/gsl_sf_psi.h"
34 #include "gsl/gsl_sf_result.h"
35 #include "gsl/gsl_sf_synchrotron.h"
36 #include "gsl/gsl_sf_transport.h"
37 #include "gsl/gsl_sf_trig.h"
38 #include "gsl/gsl_sf_zeta.h"
41 %include "gsl/gsl_mode.h"
42 %include "gsl/gsl_sf.h"
43 %include "gsl/gsl_sf_airy.h"
44 %include "gsl/gsl_sf_bessel.h"
45 %include "gsl/gsl_sf_clausen.h"
46 %include "gsl/gsl_sf_coulomb.h"
47 %include "gsl/gsl_sf_coupling.h"
48 %include "gsl/gsl_sf_dawson.h"
49 %include "gsl/gsl_sf_debye.h"
50 %include "gsl/gsl_sf_dilog.h"
51 %include "gsl/gsl_sf_elementary.h"
52 %include "gsl/gsl_sf_ellint.h"
53 %include "gsl/gsl_sf_elljac.h"
54 %include "gsl/gsl_sf_erf.h"
55 %include "gsl/gsl_sf_exp.h"
56 %include "gsl/gsl_sf_expint.h"
57 %include "gsl/gsl_sf_fermi_dirac.h"
58 %include "gsl/gsl_sf_gamma.h"
59 %include "gsl/gsl_sf_gegenbauer.h"
60 %include "gsl/gsl_sf_hyperg.h"
61 %include "gsl/gsl_sf_laguerre.h"
62 %include "gsl/gsl_sf_lambert.h"
63 %include "gsl/gsl_sf_legendre.h"
64 %include "gsl/gsl_sf_log.h"
65 %include "gsl/gsl_sf_mathieu.h"
66 %include "gsl/gsl_sf_pow_int.h"
67 %include "gsl/gsl_sf_psi.h"
68 %include "gsl/gsl_sf_result.h"
69 %include "gsl/gsl_sf_synchrotron.h"
70 %include "gsl/gsl_sf_transport.h"
71 %include "gsl/gsl_sf_trig.h"
72 %include "gsl/gsl_sf_zeta.h"
75 %perlcode %{
77 @EXPORT_airy = qw/
78 gsl_sf_airy_Ai_e
79 gsl_sf_airy_Ai
80 gsl_sf_airy_Bi_e
81 gsl_sf_airy_Bi
82 gsl_sf_airy_Ai_scaled_e
83 gsl_sf_airy_Ai_scaled
84 gsl_sf_airy_Bi_scaled_e
85 gsl_sf_airy_Bi_scaled
86 gsl_sf_airy_Ai_deriv_e
87 gsl_sf_airy_Ai_deriv
88 gsl_sf_airy_Bi_deriv_e
89 gsl_sf_airy_Bi_deriv
90 gsl_sf_airy_Ai_deriv_scaled_e
91 gsl_sf_airy_Ai_deriv_scaled
92 gsl_sf_airy_Bi_deriv_scaled_e
93 gsl_sf_airy_Bi_deriv_scaled
94 gsl_sf_airy_zero_Ai_e
95 gsl_sf_airy_zero_Ai
96 gsl_sf_airy_zero_Bi_e
97 gsl_sf_airy_zero_Bi
98 gsl_sf_airy_zero_Ai_deriv_e
99 gsl_sf_airy_zero_Ai_deriv
100 gsl_sf_airy_zero_Bi_deriv_e
101 gsl_sf_airy_zero_Bi_deriv
103 @EXPORT_bessel =qw/
104 gsl_sf_bessel_J0_e
105 gsl_sf_bessel_J0
106 gsl_sf_bessel_J1_e
107 gsl_sf_bessel_J1
108 gsl_sf_bessel_Jn_e
109 gsl_sf_bessel_Jn
110 gsl_sf_bessel_Jn_array
111 gsl_sf_bessel_Y0_e
112 gsl_sf_bessel_Y0
113 gsl_sf_bessel_Y1_e
114 gsl_sf_bessel_Y1
115 gsl_sf_bessel_Yn_e
116 gsl_sf_bessel_Yn
117 gsl_sf_bessel_Yn_array
118 gsl_sf_bessel_I0_e
119 gsl_sf_bessel_I0
120 gsl_sf_bessel_I1_e
121 gsl_sf_bessel_I1
122 gsl_sf_bessel_In_e
123 gsl_sf_bessel_In
124 gsl_sf_bessel_In_array
125 gsl_sf_bessel_I0_scaled_e
126 gsl_sf_bessel_I0_scaled
127 gsl_sf_bessel_I1_scaled_e
128 gsl_sf_bessel_I1_scaled
129 gsl_sf_bessel_In_scaled_e
130 gsl_sf_bessel_In_scaled
131 gsl_sf_bessel_In_scaled_array
132 gsl_sf_bessel_K0_e
133 gsl_sf_bessel_K0
134 gsl_sf_bessel_K1_e
135 gsl_sf_bessel_K1
136 gsl_sf_bessel_Kn_e
137 gsl_sf_bessel_Kn
138 gsl_sf_bessel_Kn_array
139 gsl_sf_bessel_K0_scaled_e
140 gsl_sf_bessel_K0_scaled
141 gsl_sf_bessel_K1_scaled_e
142 gsl_sf_bessel_K1_scaled
143 gsl_sf_bessel_Kn_scaled_e
144 gsl_sf_bessel_Kn_scaled
145 gsl_sf_bessel_Kn_scaled_array
146 gsl_sf_bessel_j0_e
147 gsl_sf_bessel_j0
148 gsl_sf_bessel_j1_e
149 gsl_sf_bessel_j1
150 gsl_sf_bessel_j2_e
151 gsl_sf_bessel_j2
152 gsl_sf_bessel_jl_e
153 gsl_sf_bessel_jl
154 gsl_sf_bessel_jl_array
155 gsl_sf_bessel_jl_steed_array
156 gsl_sf_bessel_y0_e
157 gsl_sf_bessel_y0
158 gsl_sf_bessel_y1_e
159 gsl_sf_bessel_y1
160 gsl_sf_bessel_y2_e
161 gsl_sf_bessel_y2
162 gsl_sf_bessel_yl_e
163 gsl_sf_bessel_yl
164 gsl_sf_bessel_yl_array
165 gsl_sf_bessel_i0_scaled_e
166 gsl_sf_bessel_i0_scaled
167 gsl_sf_bessel_i1_scaled_e
168 gsl_sf_bessel_i1_scaled
169 gsl_sf_bessel_i2_scaled_e
170 gsl_sf_bessel_i2_scaled
171 gsl_sf_bessel_il_scaled_e
172 gsl_sf_bessel_il_scaled
173 gsl_sf_bessel_il_scaled_array
174 gsl_sf_bessel_k0_scaled_e
175 gsl_sf_bessel_k0_scaled
176 gsl_sf_bessel_k1_scaled_e
177 gsl_sf_bessel_k1_scaled
178 gsl_sf_bessel_k2_scaled_e
179 gsl_sf_bessel_k2_scaled
180 gsl_sf_bessel_kl_scaled_e
181 gsl_sf_bessel_kl_scaled
182 gsl_sf_bessel_kl_scaled_array
183 gsl_sf_bessel_Jnu_e
184 gsl_sf_bessel_Jnu
185 gsl_sf_bessel_Ynu_e
186 gsl_sf_bessel_Ynu
187 gsl_sf_bessel_sequence_Jnu_e
188 gsl_sf_bessel_Inu_scaled_e
189 gsl_sf_bessel_Inu_scaled
190 gsl_sf_bessel_Inu_e
191 gsl_sf_bessel_Inu
192 gsl_sf_bessel_Knu_scaled_e
193 gsl_sf_bessel_Knu_scaled
194 gsl_sf_bessel_Knu_e
195 gsl_sf_bessel_Knu
196 gsl_sf_bessel_lnKnu_e
197 gsl_sf_bessel_lnKnu
198 gsl_sf_bessel_zero_J0_e
199 gsl_sf_bessel_zero_J0
200 gsl_sf_bessel_zero_J1_e
201 gsl_sf_bessel_zero_J1
202 gsl_sf_bessel_zero_Jnu_e
203 gsl_sf_bessel_zero_Jnu
205 @EXPORT_clausen = qw/
206 gsl_sf_clausen_e
207 gsl_sf_clausen
209 @EXPORT_hydrogenic = qw/
210 gsl_sf_hydrogenicR_1_e
211 gsl_sf_hydrogenicR_1
212 gsl_sf_hydrogenicR_e
213 gsl_sf_hydrogenicR
215 @EXPORT_coulumb = qw/
216 gsl_sf_coulomb_wave_FG_e
217 gsl_sf_coulomb_wave_F_array
218 gsl_sf_coulomb_wave_FG_array
219 gsl_sf_coulomb_wave_FGp_array
220 gsl_sf_coulomb_wave_sphF_array
221 gsl_sf_coulomb_CL_e
222 gsl_sf_coulomb_CL_array
224 @EXPORT_coupling = qw/
225 gsl_sf_coupling_3j_e
226 gsl_sf_coupling_3j
227 gsl_sf_coupling_6j_e
228 gsl_sf_coupling_6j
229 gsl_sf_coupling_RacahW_e
230 gsl_sf_coupling_RacahW
231 gsl_sf_coupling_9j_e
232 gsl_sf_coupling_9j
233 gsl_sf_coupling_6j_INCORRECT_e
234 gsl_sf_coupling_6j_INCORRECT
236 @EXPORT_dawson = qw/
237 gsl_sf_dawson_e
238 gsl_sf_dawson
240 @EXPORT_debye = qw/
241 gsl_sf_debye_1_e
242 gsl_sf_debye_1
243 gsl_sf_debye_2_e
244 gsl_sf_debye_2
245 gsl_sf_debye_3_e
246 gsl_sf_debye_3
247 gsl_sf_debye_4_e
248 gsl_sf_debye_4
249 gsl_sf_debye_5_e
250 gsl_sf_debye_5
251 gsl_sf_debye_6_e
252 gsl_sf_debye_6
254 @EXPORT_dilog = qw/
255 gsl_sf_dilog_e
256 gsl_sf_dilog
257 gsl_sf_complex_dilog_xy_e
258 gsl_sf_complex_dilog_e
261 @EXPORT_misc = qw/
262 gsl_sf_complex_spence_xy_e
263 gsl_sf_multiply_e
264 gsl_sf_multiply
265 gsl_sf_multiply_err_e
267 @EXPORT_elliptic = qw/
268 gsl_sf_ellint_Kcomp_e
269 gsl_sf_ellint_Kcomp
270 gsl_sf_ellint_Ecomp_e
271 gsl_sf_ellint_Ecomp
272 gsl_sf_ellint_Pcomp_e
273 gsl_sf_ellint_Pcomp
274 gsl_sf_ellint_Dcomp_e
275 gsl_sf_ellint_Dcomp
276 gsl_sf_ellint_F_e
277 gsl_sf_ellint_F
278 gsl_sf_ellint_E_e
279 gsl_sf_ellint_E
280 gsl_sf_ellint_P_e
281 gsl_sf_ellint_P
282 gsl_sf_ellint_D_e
283 gsl_sf_ellint_D
284 gsl_sf_ellint_RC_e
285 gsl_sf_ellint_RC
286 gsl_sf_ellint_RD_e
287 gsl_sf_ellint_RD
288 gsl_sf_ellint_RF_e
289 gsl_sf_ellint_RF
290 gsl_sf_ellint_RJ_e
291 gsl_sf_ellint_RJ
292 gsl_sf_elljac_e
294 @EXPORT_error = qw/
295 gsl_sf_erfc_e
296 gsl_sf_erfc
297 gsl_sf_log_erfc_e
298 gsl_sf_log_erfc
299 gsl_sf_erf_e
300 gsl_sf_erf
301 gsl_sf_erf_Z_e
302 gsl_sf_erf_Q_e
303 gsl_sf_erf_Z
304 gsl_sf_erf_Q
305 gsl_sf_hazard_e
306 gsl_sf_hazard
308 push @EXPORT_misc, qw/
309 gsl_sf_exp_e
310 gsl_sf_exp
311 gsl_sf_exp_e10_e
312 gsl_sf_exp_mult_e
313 gsl_sf_exp_mult
314 gsl_sf_exp_mult_e10_e
315 gsl_sf_expm1_e
316 gsl_sf_expm1
317 gsl_sf_exprel_e
318 gsl_sf_exprel
319 gsl_sf_exprel_2_e
320 gsl_sf_exprel_2
321 gsl_sf_exprel_n_e
322 gsl_sf_exprel_n
323 gsl_sf_exp_err_e
324 gsl_sf_exp_err_e10_e
325 gsl_sf_exp_mult_err_e
326 gsl_sf_exp_mult_err_e10_e
327 gsl_sf_expint_E1_e
328 gsl_sf_expint_E1
329 gsl_sf_expint_E2_e
330 gsl_sf_expint_E2
331 gsl_sf_expint_En_e
332 gsl_sf_expint_En
333 gsl_sf_expint_E1_scaled_e
334 gsl_sf_expint_E1_scaled
335 gsl_sf_expint_E2_scaled_e
336 gsl_sf_expint_E2_scaled
337 gsl_sf_expint_En_scaled_e
338 gsl_sf_expint_En_scaled
339 gsl_sf_expint_Ei_e
340 gsl_sf_expint_Ei
341 gsl_sf_expint_Ei_scaled_e
342 gsl_sf_expint_Ei_scaled
343 gsl_sf_Shi_e
344 gsl_sf_Shi
345 gsl_sf_Chi_e
346 gsl_sf_Chi
347 gsl_sf_expint_3_e
348 gsl_sf_expint_3
349 gsl_sf_Si_e
350 gsl_sf_Si
351 gsl_sf_Ci_e
352 gsl_sf_Ci
354 @EXPORT_fermi_dirac = qw/
355 gsl_sf_fermi_dirac_m1_e
356 gsl_sf_fermi_dirac_m1
357 gsl_sf_fermi_dirac_0_e
358 gsl_sf_fermi_dirac_0
359 gsl_sf_fermi_dirac_1_e
360 gsl_sf_fermi_dirac_1
361 gsl_sf_fermi_dirac_2_e
362 gsl_sf_fermi_dirac_2
363 gsl_sf_fermi_dirac_int_e
364 gsl_sf_fermi_dirac_int
365 gsl_sf_fermi_dirac_mhalf_e
366 gsl_sf_fermi_dirac_mhalf
367 gsl_sf_fermi_dirac_half_e
368 gsl_sf_fermi_dirac_half
369 gsl_sf_fermi_dirac_3half_e
370 gsl_sf_fermi_dirac_3half
371 gsl_sf_fermi_dirac_inc_0_e
372 gsl_sf_fermi_dirac_inc_0
374 @EXPORT_legendre = qw/
375 gsl_sf_legendre_Pl_e
376 gsl_sf_legendre_Pl
377 gsl_sf_legendre_Pl_array
378 gsl_sf_legendre_Pl_deriv_array
379 gsl_sf_legendre_P1_e
380 gsl_sf_legendre_P2_e
381 gsl_sf_legendre_P3_e
382 gsl_sf_legendre_P1
383 gsl_sf_legendre_P2
384 gsl_sf_legendre_P3
385 gsl_sf_legendre_Q0_e
386 gsl_sf_legendre_Q0
387 gsl_sf_legendre_Q1_e
388 gsl_sf_legendre_Q1
389 gsl_sf_legendre_Ql_e
390 gsl_sf_legendre_Ql
391 gsl_sf_legendre_Plm_e
392 gsl_sf_legendre_Plm
393 gsl_sf_legendre_Plm_array
394 gsl_sf_legendre_Plm_deriv_array
395 gsl_sf_legendre_sphPlm_e
396 gsl_sf_legendre_sphPlm
397 gsl_sf_legendre_sphPlm_array
398 gsl_sf_legendre_sphPlm_deriv_array
399 gsl_sf_legendre_array_size
400 gsl_sf_legendre_H3d_0_e
401 gsl_sf_legendre_H3d_0
402 gsl_sf_legendre_H3d_1_e
403 gsl_sf_legendre_H3d_1
404 gsl_sf_legendre_H3d_e
405 gsl_sf_legendre_H3d
406 gsl_sf_legendre_H3d_array
408 @EXPORT_gamma = qw/
409 gsl_sf_lngamma_e
410 gsl_sf_lngamma
411 gsl_sf_lngamma_sgn_e
412 gsl_sf_gamma_e
413 gsl_sf_gamma
414 gsl_sf_gammastar_e
415 gsl_sf_gammastar
416 gsl_sf_gammainv_e
417 gsl_sf_gammainv
418 gsl_sf_lngamma_complex_e
419 gsl_sf_gamma_inc_Q_e
420 gsl_sf_gamma_inc_Q
421 gsl_sf_gamma_inc_P_e
422 gsl_sf_gamma_inc_P
423 gsl_sf_gamma_inc_e
424 gsl_sf_gamma_inc
426 @EXPORT_factorial = qw/
427 gsl_sf_fact_e
428 gsl_sf_fact
429 gsl_sf_doublefact_e
430 gsl_sf_doublefact
431 gsl_sf_lnfact_e
432 gsl_sf_lnfact
433 gsl_sf_lndoublefact_e
434 gsl_sf_lndoublefact
436 @EXPORT_hypergeometric = qw/
437 gsl_sf_hyperg_0F1_e
438 gsl_sf_hyperg_0F1
439 gsl_sf_hyperg_1F1_int_e
440 gsl_sf_hyperg_1F1_int
441 gsl_sf_hyperg_1F1_e
442 gsl_sf_hyperg_1F1
443 gsl_sf_hyperg_U_int_e
444 gsl_sf_hyperg_U_int
445 gsl_sf_hyperg_U_int_e10_e
446 gsl_sf_hyperg_U_e
447 gsl_sf_hyperg_U
448 gsl_sf_hyperg_U_e10_e
449 gsl_sf_hyperg_2F1_e
450 gsl_sf_hyperg_2F1
451 gsl_sf_hyperg_2F1_conj_e
452 gsl_sf_hyperg_2F1_conj
453 gsl_sf_hyperg_2F1_renorm_e
454 gsl_sf_hyperg_2F1_renorm
455 gsl_sf_hyperg_2F1_conj_renorm_e
456 gsl_sf_hyperg_2F1_conj_renorm
457 gsl_sf_hyperg_2F0_e
458 gsl_sf_hyperg_2F0
460 @EXPORT_laguerre = qw/
461 gsl_sf_laguerre_1_e
462 gsl_sf_laguerre_2_e
463 gsl_sf_laguerre_3_e
464 gsl_sf_laguerre_1
465 gsl_sf_laguerre_2
466 gsl_sf_laguerre_3
467 gsl_sf_laguerre_n_e
468 gsl_sf_laguerre_n
470 push @EXPORT_misc, qw/
471 gsl_sf_taylorcoeff_e
472 gsl_sf_taylorcoeff
473 gsl_sf_lnchoose_e
474 gsl_sf_lnchoose
475 gsl_sf_choose_e
476 gsl_sf_choose
477 gsl_sf_lnpoch_e
478 gsl_sf_lnpoch
479 gsl_sf_lnpoch_sgn_e
480 gsl_sf_poch_e
481 gsl_sf_poch
482 gsl_sf_pochrel_e
483 gsl_sf_pochrel
484 gsl_sf_lnbeta_e
485 gsl_sf_lnbeta
486 gsl_sf_lnbeta_sgn_e
487 gsl_sf_beta_e
488 gsl_sf_beta
489 gsl_sf_beta_inc_e
490 gsl_sf_beta_inc
491 gsl_sf_gegenpoly_1_e
492 gsl_sf_gegenpoly_2_e
493 gsl_sf_gegenpoly_3_e
494 gsl_sf_gegenpoly_1
495 gsl_sf_gegenpoly_2
496 gsl_sf_gegenpoly_3
497 gsl_sf_gegenpoly_n_e
498 gsl_sf_gegenpoly_n
499 gsl_sf_gegenpoly_array
500 gsl_sf_lambert_W0_e
501 gsl_sf_lambert_W0
502 gsl_sf_lambert_Wm1_e
503 gsl_sf_lambert_Wm1
504 gsl_sf_conicalP_half_e
505 gsl_sf_conicalP_half
506 gsl_sf_conicalP_mhalf_e
507 gsl_sf_conicalP_mhalf
508 gsl_sf_conicalP_0_e
509 gsl_sf_conicalP_0
510 gsl_sf_conicalP_1_e
511 gsl_sf_conicalP_1
512 gsl_sf_conicalP_sph_reg_e
513 gsl_sf_conicalP_sph_reg
514 gsl_sf_conicalP_cyl_reg_e
515 gsl_sf_conicalP_cyl_reg
516 gsl_sf_log_e
517 gsl_sf_log
518 gsl_sf_log_abs_e
519 gsl_sf_log_abs
520 gsl_sf_complex_log_e
521 gsl_sf_log_1plusx_e
522 gsl_sf_log_1plusx
523 gsl_sf_log_1plusx_mx_e
524 gsl_sf_log_1plusx_mx
525 gsl_sf_pow_int_e
526 gsl_sf_pow_int
527 gsl_sf_psi_int_e
528 gsl_sf_psi_int
529 gsl_sf_psi_e
530 gsl_sf_psi
531 gsl_sf_psi_1piy_e
532 gsl_sf_psi_1piy
533 gsl_sf_complex_psi_e
534 gsl_sf_psi_1_int_e
535 gsl_sf_psi_1_int
536 gsl_sf_psi_1_e
537 gsl_sf_psi_1
538 gsl_sf_psi_n_e
539 gsl_sf_psi_n
540 gsl_sf_result_smash_e
541 gsl_sf_synchrotron_1_e
542 gsl_sf_synchrotron_1
543 gsl_sf_synchrotron_2_e
544 gsl_sf_synchrotron_2
546 @EXPORT_mathieu = qw/
547 gsl_sf_mathieu_a_array
548 gsl_sf_mathieu_b_array
549 gsl_sf_mathieu_a
550 gsl_sf_mathieu_b
551 gsl_sf_mathieu_a_coeff
552 gsl_sf_mathieu_b_coeff
553 gsl_sf_mathieu_alloc
554 gsl_sf_mathieu_free
555 gsl_sf_mathieu_ce
556 gsl_sf_mathieu_se
557 gsl_sf_mathieu_ce_array
558 gsl_sf_mathieu_se_array
559 gsl_sf_mathieu_Mc
560 gsl_sf_mathieu_Ms
561 gsl_sf_mathieu_Mc_array
562 gsl_sf_mathieu_Ms_array
564 @EXPORT_transport = qw/
565 gsl_sf_transport_2_e
566 gsl_sf_transport_2
567 gsl_sf_transport_3_e
568 gsl_sf_transport_3
569 gsl_sf_transport_4_e
570 gsl_sf_transport_4
571 gsl_sf_transport_5_e
572 gsl_sf_transport_5
574 @EXPORT_trig = qw/
575 gsl_sf_sin_e
576 gsl_sf_sin
577 gsl_sf_sin_pi_x_e
578 gsl_sf_cos_e
579 gsl_sf_cos_pi_x_e
580 gsl_sf_cos
581 gsl_sf_hypot_e
582 gsl_sf_hypot
583 gsl_sf_complex_sin_e
584 gsl_sf_complex_cos_e
585 gsl_sf_complex_logsin_e
586 gsl_sf_sinc_e
587 gsl_sf_sinc
588 gsl_sf_lnsinh_e
589 gsl_sf_lnsinh
590 gsl_sf_lncosh_e
591 gsl_sf_lncosh
592 gsl_sf_polar_to_rect
593 gsl_sf_rect_to_polar
594 gsl_sf_sin_err_e
595 gsl_sf_cos_err_e
596 gsl_sf_angle_restrict_symm_e
597 gsl_sf_angle_restrict_symm
598 gsl_sf_angle_restrict_pos_e
599 gsl_sf_angle_restrict_pos
600 gsl_sf_angle_restrict_symm_err_e
601 gsl_sf_angle_restrict_pos_err_e
602 gsl_sf_atanint_e
603 gsl_sf_atanint
605 @EXPORT_zeta = qw/
606 gsl_sf_zeta_int_e
607 gsl_sf_zeta_int
608 gsl_sf_zeta_e
609 gsl_sf_zeta
610 gsl_sf_zetam1_e
611 gsl_sf_zetam1
612 gsl_sf_zetam1_int_e
613 gsl_sf_zetam1_int
614 gsl_sf_hzeta_e
615 gsl_sf_hzeta
617 @EXPORT_eta = qw/
618 gsl_sf_eta_int_e
619 gsl_sf_eta_int
620 gsl_sf_eta_e
621 gsl_sf_eta
623 @EXPORT_vars = qw/
624 GSL_SF_GAMMA_XMAX
625 GSL_SF_FACT_NMAX
626 GSL_SF_DOUBLEFACT_NMAX
627 GSL_SF_MATHIEU_COEFF
630 @EXPORT_OK = (
631 @EXPORT_airy, @EXPORT_bessel, @EXPORT_clausen, @EXPORT_hydrogenic,
632 @EXPORT_coulumb, @EXPORT_coupling, @EXPORT_dawson, @EXPORT_debye,
633 @EXPORT_dilog, @EXPORT_misc, @EXPORT_elliptic, @EXPORT_error, @EXPORT_legendre,
634 @EXPORT_gamma, @EXPORT_transport, @EXPORT_trig, @EXPORT_zeta, @EXPORT_eta,
635 @EXPORT_vars
638 %EXPORT_TAGS = (
639 all => [ @EXPORT_OK ],
640 airy => [ @EXPORT_airy ],
641 bessel => [ @EXPORT_bessel ],
642 clausen => [ @EXPORT_clausen ],
643 coulumb => [ @EXPORT_coulumb ],
644 coupling => [ @EXPORT_coupling ],
645 dawson => [ @EXPORT_dawson ],
646 debye => [ @EXPORT_debye ],
647 dilog => [ @EXPORT_dilog ],
648 eta => [ @EXPORT_eta ],
649 elliptic => [ @EXPORT_elliptic ],
650 error => [ @EXPORT_error ],
651 factorial => [ @EXPORT_factorial ],
652 gamma => [ @EXPORT_gamma ],
653 hydrogenic => [ @EXPORT_hydrogenic ],
654 hypergeometric => [ @EXPORT_hypergeometric ],
655 laguerre => [ @EXPORT_laguerre ],
656 legendre => [ @EXPORT_legendre ],
657 mathieu => [ @EXPORT_mathieu ],
658 misc => [ @EXPORT_misc ],
659 transport => [ @EXPORT_transport ],
660 trig => [ @EXPORT_trig ],
661 vars => [ @EXPORT_vars ],
662 zeta => [ @EXPORT_zeta ],
665 __END__
667 =head1 NAME
669 Math::GSL::SF - Special Functions
671 =head1 SYNOPSIS
673 use Math::GSL::SF qw /:all/;
675 =head1 DESCRIPTION
677 This module contains a data structure named gsl_sf_result. To create a new one use
679 $r = Math::GSL::SF::gsl_sf_result_struct->new;
681 You can then access the elements of the structure in this way :
683 my $val = $r->{val};
685 my $error = $r->{err};
687 Here is a list of all included functions:
689 =over
691 =item C<gsl_sf_airy_Ai_e($x, $mode)>
693 =item C<gsl_sf_airy_Ai($x, $mode, $result)>
695 - These routines compute the Airy function Ai($x) with an accuracy specified by $mode. $mode should be $GSL_PREC_DOUBLE, $GSL_PREC_SINGLE or $GSL_PREC_APPROX. $result is a gsl_sf_result structure.
697 =back
699 =over
701 =item C<gsl_sf_airy_Bi_e($x, $mode, $result)>
703 =item C<gsl_sf_airy_Bi($x, $mode)>
705 - These routines compute the Airy function Bi($x) with an accuracy specified by $mode. $mode should be $GSL_PREC_DOUBLE, $GSL_PREC_SINGLE or $GSL_PREC_APPROX. $result is a gsl_sf_result structure.
707 =back
709 =over
711 =item C<gsl_sf_airy_Ai_scaled_e($x, $mode, $result)>
713 =item C<gsl_sf_airy_Ai_scaled($x, $mode)>
715 - These routines compute a scaled version of the Airy function S_A($x) Ai($x). For $x>0 the scaling factor S_A($x) is \exp(+(2/3) $x**(3/2)), and is 1 for $x<0. $result is a gsl_sf_result structure.
717 =back
719 =over
721 =item C<gsl_sf_airy_Bi_scaled_e($x, $mode, $result)>
723 =item C<gsl_sf_airy_Bi_scaled($x, $mode)>
725 - These routines compute a scaled version of the Airy function S_B($x) Bi($x). For $x>0 the scaling factor S_B($x) is exp(-(2/3) $x**(3/2)), and is 1 for $x<0. $result is a gsl_sf_result structure.
727 =back
729 =over
731 =item C<gsl_sf_airy_Ai_deriv_e($x, $mode, $result)>
733 =item C<gsl_sf_airy_Ai_deriv($x, $mode)>
735 - These routines compute the Airy function derivative Ai'($x) with an accuracy specified by $mode. $result is a gsl_sf_result structure.
737 =back
739 =over
741 =item C<gsl_sf_airy_Bi_deriv_e($x, $mode, $result)>
743 =item C<gsl_sf_airy_Bi_deriv($x, $mode)>
745 -These routines compute the Airy function derivative Bi'($x) with an accuracy specified by $mode. $result is a gsl_sf_result structure.
747 =back
749 =over
751 =item C<gsl_sf_airy_Ai_deriv_scaled_e($x, $mode, $result)>
753 =item C<gsl_sf_airy_Ai_deriv_scaled($x, $mode)>
755 -These routines compute the scaled Airy function derivative S_A(x) Ai'(x). For x>0 the scaling factor S_A(x) is \exp(+(2/3) x^(3/2)), and is 1 for x<0. $result is a gsl_sf_result structure.
757 =back
759 =over
761 =item C<gsl_sf_airy_Bi_deriv_scaled_e($x, $mode, $result)>
763 =item C<gsl_sf_airy_Bi_deriv_scaled($x, $mode)>
765 -These routines compute the scaled Airy function derivative S_B(x) Bi'(x). For x>0 the scaling factor S_B(x) is exp(-(2/3) x^(3/2)), and is 1 for x<0. $result is a gsl_sf_result structure.
767 =back
769 =over
771 =item C<gsl_sf_airy_zero_Ai_e($s, $result)>
773 =item C<gsl_sf_airy_zero_Ai($s)>
775 -These routines compute the location of the s-th zero of the Airy function Ai($x). $result is a gsl_sf_result structure.
777 =back
779 =over
781 =item C<gsl_sf_airy_zero_Bi_e($s, $result)>
783 =item C<gsl_sf_airy_zero_Bi($s)>
785 -These routines compute the location of the s-th zero of the Airy function Bi($x). $result is a gsl_sf_result structure.
787 =back
789 =over
791 =item C<gsl_sf_airy_zero_Ai_deriv_e($s, $result)>
793 =item C<gsl_sf_airy_zero_Ai_deriv($s)>
795 -These routines compute the location of the s-th zero of the Airy function derivative Ai'(x). $result is a gsl_sf_result structure.
797 =back
799 =over
801 =item C<gsl_sf_airy_zero_Bi_deriv_e($s, $result)>
803 =item C<gsl_sf_airy_zero_Bi_deriv($s)>
805 - These routines compute the location of the s-th zero of the Airy function derivative Bi'(x). $result is a gsl_sf_result structure.
807 =back
809 =over
811 =item C<gsl_sf_bessel_J0_e($x, $result)>
813 =item C<gsl_sf_bessel_J0($x)>
815 -These routines compute the regular cylindrical Bessel function of zeroth order, J_0($x). $result is a gsl_sf_result structure.
817 =back
819 =over
821 =item C<gsl_sf_bessel_J1_e($x, $result)>
823 =item C<gsl_sf_bessel_J1($x)>
825 - These routines compute the regular cylindrical Bessel function of first order, J_1($x). $result is a gsl_sf_result structure.
827 =back
829 =over
831 =item C<gsl_sf_bessel_Jn_e($n, $x, $result)>
833 =item C<gsl_sf_bessel_Jn($n, $x)>
835 -These routines compute the regular cylindrical Bessel function of order n, J_n($x).
837 =back
839 =over
841 =item C<gsl_sf_bessel_Jn_array($nmin, $nmax, $x, $result_array)> - This routine computes the values of the regular cylindrical Bessel functions J_n($x) for n from $nmin to $nmax inclusive, storing the results in the array $result_array. The values are computed using recurrence relations for efficiency, and therefore may differ slightly from the exact values.
843 =back
845 =over
847 =item C<gsl_sf_bessel_Y0_e($x, $result)>
849 =item C<gsl_sf_bessel_Y0($x)>
851 - These routines compute the irregular spherical Bessel function of zeroth order, y_0(x) = -\cos(x)/x.
853 =back
855 =over
857 =item C<gsl_sf_bessel_Y1_e($x, $result)>
859 =item C<gsl_sf_bessel_Y1($x)>
861 -These routines compute the irregular spherical Bessel function of first order, y_1(x) = -(\cos(x)/x + \sin(x))/x.
863 =back
865 =over
867 =item C<gsl_sf_bessel_Yn_e>($n, $x, $result)
869 =item C<gsl_sf_bessel_Yn($n, $x)>
871 -These routines compute the irregular cylindrical Bessel function of order $n, Y_n(x), for x>0.
873 =back
875 =over
877 =item C<gsl_sf_bessel_Yn_array>
881 =back
883 =over
885 =item C<gsl_sf_bessel_I0_e($x, $result)>
887 =item C<gsl_sf_bessel_I0($x)>
889 -These routines compute the regular modified cylindrical Bessel function of zeroth order, I_0(x).
891 =back
893 =over
895 =item C<gsl_sf_bessel_I1_e($x, $result)>
897 =item C<gsl_sf_bessel_I1($x)>
899 -These routines compute the regular modified cylindrical Bessel function of first order, I_1(x).
901 =back
903 =over
905 =item C<gsl_sf_bessel_In_e($n, $x, $result)>
907 =item C<gsl_sf_bessel_In($n, $x)>
909 -These routines compute the regular modified cylindrical Bessel function of order $n, I_n(x).
911 =back
913 =over
915 =item C<gsl_sf_bessel_In_array>
919 =back
921 =over
923 =item C<gsl_sf_bessel_I0_scaled_e($x, $result)>
925 =item C<gsl_sf_bessel_I0_scaled($x)>
927 -These routines compute the scaled regular modified cylindrical Bessel function of zeroth order \exp(-|x|) I_0(x).
929 =back
931 =over
933 =item C<gsl_sf_bessel_I1_scaled_e($x, $result)>
935 =item C<gsl_sf_bessel_I1_scaled($x)>
937 -These routines compute the scaled regular modified cylindrical Bessel function of first order \exp(-|x|) I_1(x).
939 =back
941 =over
943 =item C<gsl_sf_bessel_In_scaled_e($n, $x, $result)>
945 =item C<gsl_sf_bessel_In_scaled($n, $x)>
947 -These routines compute the scaled regular modified cylindrical Bessel function of order $n, \exp(-|x|) I_n(x)
949 =back
951 =over
953 =item C<gsl_sf_bessel_In_scaled_array>
957 =back
959 =over
961 =item C<gsl_sf_bessel_K0_e($x, $result)>
963 =item C<gsl_sf_bessel_K0($x)>
965 -These routines compute the irregular modified cylindrical Bessel function of zeroth order, K_0(x), for x > 0.
967 =back
969 =over
971 =item C<gsl_sf_bessel_K1_e($x, $result)>
973 =item C<gsl_sf_bessel_K1($x)>
975 -These routines compute the irregular modified cylindrical Bessel function of first order, K_1(x), for x > 0.
977 =back
979 =over
981 =item C<gsl_sf_bessel_Kn_e($n, $x, $result)>
983 =item C<gsl_sf_bessel_Kn($n, $x)>
985 -These routines compute the irregular modified cylindrical Bessel function of order $n, K_n(x), for x > 0.
987 =back
989 =over
991 =item C<gsl_sf_bessel_Kn_array>
995 =back
997 =over
999 =item C<gsl_sf_bessel_K0_scaled_e($x, $result)>
1001 =item C<gsl_sf_bessel_K0_scaled($x)>
1003 -These routines compute the scaled irregular modified cylindrical Bessel function of zeroth order \exp(x) K_0(x) for x>0.
1005 =back
1007 =over
1009 =item C<gsl_sf_bessel_K1_scaled_e($x, $result)>
1011 =item C<gsl_sf_bessel_K1_scaled($x)>
1015 =back
1017 =over
1019 =item C<gsl_sf_bessel_Kn_scaled_e($n, $x, $result)>
1021 =item C<gsl_sf_bessel_Kn_scaled($n, $x)>
1025 =back
1027 =over
1029 =item C<gsl_sf_bessel_Kn_scaled_array >
1033 =back
1035 =over
1037 =item C<gsl_sf_bessel_j0_e($x, $result)>
1039 =item C<gsl_sf_bessel_j0($x)>
1043 =back
1045 =over
1047 =item C<gsl_sf_bessel_j1_e($x, $result)>
1049 =item C<gsl_sf_bessel_j1($x)>
1053 =back
1055 =over
1057 =item C<gsl_sf_bessel_j2_e($x, $result)>
1059 =item C<gsl_sf_bessel_j2($x)>
1063 =back
1065 =over
1067 =item C<gsl_sf_bessel_jl_e($l, $x, $result)>
1069 =item C<gsl_sf_bessel_jl($l, $x)>
1073 =back
1075 =over
1077 =item C<gsl_sf_bessel_jl_array>
1081 =back
1083 =over
1085 =item C<gsl_sf_bessel_jl_steed_array>
1089 =back
1091 =over
1093 =item C<gsl_sf_bessel_y0_e($x, $result)>
1095 =item C<gsl_sf_bessel_y0($x)>
1099 =back
1101 =over
1103 =item C<gsl_sf_bessel_y1_e($x, $result)>
1105 =item C<gsl_sf_bessel_y1($x)>
1109 =back
1111 =over
1113 =item C<gsl_sf_bessel_y2_e($x, $result)>
1115 =item C<gsl_sf_bessel_y2($x)>
1119 =back
1121 =over
1123 =item C<gsl_sf_bessel_yl_e($l, $x, $result)>
1125 =item C<gsl_sf_bessel_yl($l, $x)>
1129 =back
1131 =over
1133 =item C<gsl_sf_bessel_yl_array>
1137 =back
1139 =over
1141 =item C<gsl_sf_bessel_i0_scaled_e($x, $result)>
1143 =item C<gsl_sf_bessel_i0_scaled($x)>
1147 =back
1149 =over
1151 =item C<gsl_sf_bessel_i1_scaled_e($x, $result)>
1153 =item C<gsl_sf_bessel_i1_scaled($x)>
1157 =back
1159 =over
1161 =item C<gsl_sf_bessel_i2_scaled_e($x, $result)>
1163 =item C<gsl_sf_bessel_i2_scaled($x)>
1167 =back
1169 =over
1171 =item C<gsl_sf_bessel_il_scaled_e($l, $x, $result)>
1173 =item C<gsl_sf_bessel_il_scaled($x)>
1177 =back
1179 =over
1181 =item C<gsl_sf_bessel_il_scaled_array>
1185 =back
1187 =over
1189 =item C<gsl_sf_bessel_k0_scaled_e($x, $result)>
1191 =item C<gsl_sf_bessel_k0_scale($x)>
1195 =back
1197 =over
1199 =item C<gsl_sf_bessel_k1_scaled_e($x, $result)>
1201 =item C<gsl_sf_bessel_k1_scaled($x)>
1205 =back
1207 =over
1209 =item C<gsl_sf_bessel_k2_scaled_e($x, $result) >
1211 =item C<gsl_sf_bessel_k2_scaled($x)>
1215 =back
1217 =over
1219 =item C<gsl_sf_bessel_kl_scaled_e($l, $x, $result)>
1221 =item C<gsl_sf_bessel_kl_scaled($l, $x)>
1225 =back
1227 =over
1229 =item C<gsl_sf_bessel_kl_scaled_array>
1233 =back
1235 =over
1237 =item C<gsl_sf_bessel_Jnu_e($nu, $x, $result)>
1239 =item C<gsl_sf_bessel_Jnu($nu, $x)>
1243 =back
1245 =over
1247 =item C<gsl_sf_bessel_sequence_Jnu_e >
1251 =back
1253 =over
1255 =item C<gsl_sf_bessel_Ynu_e($nu, $x, $result)>
1257 =item C<gsl_sf_bessel_Ynu($nu, $x)>
1261 =back
1263 =over
1265 =item C<gsl_sf_bessel_Inu_scaled_e($nu, $x, $result)>
1267 =item C<gsl_sf_bessel_Inu_scaled($nu, $x)>
1271 =back
1273 =over
1275 =item C<gsl_sf_bessel_Inu_e($nu, $x, $result)>
1277 =item C<gsl_sf_bessel_Inu($nu, $x)>
1281 =back
1283 =over
1285 =item C<gsl_sf_bessel_Knu_scaled_e($nu, $x, $result)>
1287 =item C<gsl_sf_bessel_Knu_scaled($nu, $x)>
1291 =back
1293 =over
1295 =item C<gsl_sf_bessel_Knu_e($nu, $x, $result)>
1297 =item C<gsl_sf_bessel_Knu($nu, $x)>
1301 =back
1303 =over
1305 =item C<gsl_sf_bessel_lnKnu_e($nu, $x, $result)>
1307 =item C<gsl_sf_bessel_lnKnu($nu, $x)>
1311 =back
1313 =over
1315 =item C<gsl_sf_bessel_zero_J0_e($s, $result)>
1317 =item C<gsl_sf_bessel_zero_J0($s)>
1321 =back
1323 =over
1325 =item C<gsl_sf_bessel_zero_J1_e($s, $result)>
1327 =item C<gsl_sf_bessel_zero_J1($s)>
1331 =back
1333 =over
1335 =item C<gsl_sf_bessel_zero_Jnu_e($nu, $s, $result)>
1337 =item C<gsl_sf_bessel_zero_Jnu($nu, $s)>
1341 =back
1343 =over
1345 =item C<gsl_sf_clausen_e($x, $result)>
1347 =item C<gsl_sf_clausen($x)>
1351 =back
1353 =over
1355 =item C<gsl_sf_hydrogenicR_1_e($Z, $r, $result)>
1357 =item C<gsl_sf_hydrogenicR_1($Z, $r)>
1361 =back
1363 =over
1365 =item C<gsl_sf_hydrogenicR_e($n, $l, $Z, $r, $result)>
1367 =item C<gsl_sf_hydrogenicR($n, $l, $Z, $r)>
1371 =back
1373 =over
1375 =item C<gsl_sf_coulomb_wave_FG_e($eta, $x, $L_F, $k, $F, gsl_sf_result * Fp, gsl_sf_result * G, $Gp)> - This function computes the Coulomb wave functions F_L(\eta,x), G_{L-k}(\eta,x) and their derivatives F'_L(\eta,x), G'_{L-k}(\eta,x) with respect to $x. The parameters are restricted to L, L-k > -1/2, x > 0 and integer $k. Note that L itself is not restricted to being an integer. The results are stored in the parameters $F, $G for the function values and $Fp, $Gp for the derivative values. $F, $G, $Fp, $Gp are all gsl_result structs. If an overflow occurs, $GSL_EOVRFLW is returned and scaling exponents are returned as second and third values.
1377 =item C<gsl_sf_coulomb_wave_F_array > -
1379 =item C<gsl_sf_coulomb_wave_FG_array> -
1381 =item C<gsl_sf_coulomb_wave_FGp_array> -
1383 =item C<gsl_sf_coulomb_wave_sphF_array> -
1385 =item C<gsl_sf_coulomb_CL_e($L, $eta, $result)> - This function computes the Coulomb wave function normalization constant C_L($eta) for $L > -1.
1387 =item C<gsl_sf_coulomb_CL_arrayi> -
1389 =back
1391 =over
1393 =item C<gsl_sf_coupling_3j_e($two_ja, $two_jb, $two_jc, $two_ma, $two_mb, $two_mc, $result)>
1395 =item C<gsl_sf_coupling_3j($two_ja, $two_jb, $two_jc, $two_ma, $two_mb, $two_mc)>
1397 - These routines compute the Wigner 3-j coefficient,
1398 (ja jb jc
1399 ma mb mc)
1400 where the arguments are given in half-integer units, ja = $two_ja/2, ma = $two_ma/2, etc.
1402 =back
1404 =over
1406 =item C<gsl_sf_coupling_6j_e($two_ja, $two_jb, $two_jc, $two_jd, $two_je, $two_jf, $result)>
1408 =item C<gsl_sf_coupling_6j($two_ja, $two_jb, $two_jc, $two_jd, $two_je, $two_jf)>
1410 - These routines compute the Wigner 6-j coefficient,
1411 {ja jb jc
1412 jd je jf}
1413 where the arguments are given in half-integer units, ja = $two_ja/2, ma = $two_ma/2, etc.
1415 =back
1417 =over
1419 =item C<gsl_sf_coupling_RacahW_e>
1421 =item C<gsl_sf_coupling_RacahW>
1425 =back
1427 =over
1429 =item C<gsl_sf_coupling_9j_e($two_ja, $two_jb, $two_jc, $two_jd, $two_je, $two_jf, $two_jg, $two_jh, $two_ji, $result)>
1431 =item C<gsl_sf_coupling_9j($two_ja, $two_jb, $two_jc, $two_jd, $two_je, $two_jf, $two_jg, $two_jh, $two_ji)>
1433 -These routines compute the Wigner 9-j coefficient,
1435 {ja jb jc
1436 jd je jf
1437 jg jh ji}
1438 where the arguments are given in half-integer units, ja = two_ja/2, ma = two_ma/2, etc.
1440 =back
1442 =over
1444 =item C<gsl_sf_dawson_e($x, $result)>
1446 =item C<gsl_sf_dawson($x)>
1448 -These routines compute the value of Dawson's integral for $x.
1450 =back
1452 =over
1454 =item C<gsl_sf_debye_1_e($x, $result)>
1456 =item C<gsl_sf_debye_1($x)>
1458 -These routines compute the first-order Debye function D_1(x) = (1/x) \int_0^x dt (t/(e^t - 1)).
1460 =back
1462 =over
1464 =item C<gsl_sf_debye_2_e($x, $result)>
1466 =item C<gsl_sf_debye_2($x)>
1468 -These routines compute the second-order Debye function D_2(x) = (2/x^2) \int_0^x dt (t^2/(e^t - 1)).
1470 =back
1472 =over
1474 =item C<gsl_sf_debye_3_e($x, $result)>
1476 =item C<gsl_sf_debye_3($x)>
1478 -These routines compute the third-order Debye function D_3(x) = (3/x^3) \int_0^x dt (t^3/(e^t - 1)).
1480 =back
1482 =over
1484 =item C<gsl_sf_debye_4_e($x, $result)>
1486 =item C<gsl_sf_debye_4($x)>
1488 -These routines compute the fourth-order Debye function D_4(x) = (4/x^4) \int_0^x dt (t^4/(e^t - 1)).
1490 =back
1492 =over
1494 =item C<gsl_sf_debye_5_e($x, $result)>
1496 =item C<gsl_sf_debye_5($x)>
1498 -These routines compute the fifth-order Debye function D_5(x) = (5/x^5) \int_0^x dt (t^5/(e^t - 1)).
1500 =back
1502 =over
1504 =item C<gsl_sf_debye_6_e($x, $result)>
1506 =item C<gsl_sf_debye_6($x)>
1508 -These routines compute the sixth-order Debye function D_6(x) = (6/x^6) \int_0^x dt (t^6/(e^t - 1)).
1510 =back
1512 =over
1514 =item C<gsl_sf_dilog_e ($x, $result)>
1516 =item C<gsl_sf_dilog($x)>
1518 - These routines compute the dilogarithm for a real argument. In Lewin's notation this is Li_2(x), the real part of the dilogarithm of a real x. It is defined by the integral representation Li_2(x) = - \Re \int_0^x ds \log(1-s) / s. Note that \Im(Li_2(x)) = 0 for x <= 1, and -\pi\log(x) for x > 1. Note that Abramowitz & Stegun refer to the Spence integral S(x)=Li_2(1-x) as the dilogarithm rather than Li_2(x).
1520 =back
1522 =over
1524 =item C<gsl_sf_complex_dilog_xy_e> -
1526 =item C<gsl_sf_complex_dilog_e($r, $theta, $result_re, $result_im)> - This function computes the full complex-valued dilogarithm for the complex argument z = r \exp(i \theta). The real and imaginary parts of the result are returned in the $result_re and $result_im gsl_result structs.
1528 =item C<gsl_sf_complex_spence_xy_e> -
1530 =back
1532 =over
1534 =item C<gsl_sf_multiply>
1536 =item C<gsl_sf_multiply_e($x, $y, $result)> - This function multiplies $x and $y storing the product and its associated error in $result.
1538 =item C<gsl_sf_multiply_err_e($x, $dx, $y, $dy, $result)> - This function multiplies $x and $y with associated absolute errors $dx and $dy. The product xy +/- xy \sqrt((dx/x)^2 +(dy/y)^2) is stored in $result.
1542 =back
1544 =over
1547 =item C<gsl_sf_ellint_Kcomp_e($k, $mode, $result)>
1549 =item C<gsl_sf_ellint_Kcomp($k, $mode)>
1551 -These routines compute the complete elliptic integral K($k) to the accuracy specified by the mode variable mode. Note that Abramowitz & Stegun define this function in terms of the parameter m = k^2.
1553 =back
1555 =over
1557 =item C<gsl_sf_ellint_Ecomp_e($k, $mode, $result)>
1559 =item C<gsl_sf_ellint_Ecomp($k, $mode)>
1563 =back
1565 =over
1567 =item C<gsl_sf_ellint_Pcomp_e($k, $n, $mode, $result)>
1569 =item C<gsl_sf_ellint_Pcomp($k, $n, $mode)>
1573 =back
1575 =over
1577 =item C<gsl_sf_ellint_Dcomp_e>
1579 =item C<gsl_sf_ellint_Dcomp >
1583 =back
1585 =over
1587 =item C<gsl_sf_ellint_F_e($phi, $k, $mode, $result)>
1589 =item C<gsl_sf_ellint_F($phi, $k, $mode)>
1591 -These routines compute the incomplete elliptic integral F($phi,$k) to the accuracy specified by the mode variable mode. Note that Abramowitz & Stegun define this function in terms of the parameter m = k^2.
1593 =back
1595 =over
1597 =item C<gsl_sf_ellint_E_e($phi, $k, $mode, $result)>
1599 =item C<gsl_sf_ellint_E($phi, $k, $mode)>
1601 -These routines compute the incomplete elliptic integral E($phi,$k) to the accuracy specified by the mode variable mode. Note that Abramowitz & Stegun define this function in terms of the parameter m = k^2.
1603 =back
1605 =over
1607 =item C<gsl_sf_ellint_P_e($phi, $k, $n, $mode, $result)>
1609 =item C<gsl_sf_ellint_P($phi, $k, $n, $mode)>
1611 -These routines compute the incomplete elliptic integral \Pi(\phi,k,n) to the accuracy specified by the mode variable mode. Note that Abramowitz & Stegun define this function in terms of the parameters m = k^2 and \sin^2(\alpha) = k^2, with the change of sign n \to -n.
1613 =back
1615 =over
1617 =item C<gsl_sf_ellint_D_e($phi, $k, $n, $mode, $result)>
1619 =item C<gsl_sf_ellint_D($phi, $k, $n, $mode)>
1621 -These functions compute the incomplete elliptic integral D(\phi,k) which is defined through the Carlson form RD(x,y,z) by the following relation, D(\phi,k,n) = (1/3)(\sin(\phi))^3 RD (1-\sin^2(\phi), 1-k^2 \sin^2(\phi), 1). The argument $n is not used and will be removed in a future release.
1623 =back
1625 =over
1627 =item C<gsl_sf_ellint_RC_e($x, $y, $mode, $result)>
1629 =item C<gsl_sf_ellint_RC($x, $y, $mode)>
1631 - These routines compute the incomplete elliptic integral RC($x,$y) to the accuracy specified by the mode variable $mode.
1633 =back
1635 =over
1637 =item C<gsl_sf_ellint_RD_e($x, $y, $z, $mode, $result)>
1639 =item C<gsl_sf_ellint_RD($x, $y, $z, $mode)>
1641 - These routines compute the incomplete elliptic integral RD($x,$y,$z) to the accuracy specified by the mode variable $mode.
1643 =back
1645 =over
1647 =item C<gsl_sf_ellint_RF_e($x, $y, $z, $mode, $result)>
1649 =item C<gsl_sf_ellint_RF($x, $y, $z, $mode)>
1651 - These routines compute the incomplete elliptic integral RF($x,$y,$z) to the accuracy specified by the mode variable $mode.
1653 =back
1655 =over
1657 =item C<gsl_sf_ellint_RJ_e($x, $y, $z, $p, $mode, $result)>
1659 =item C<gsl_sf_ellint_RJ($x, $y, $z, $p, $mode)>
1661 - These routines compute the incomplete elliptic integral RJ($x,$y,$z,$p) to the accuracy specified by the mode variable $mode.
1663 =back
1665 =over
1667 =item C<gsl_sf_elljac_e($u, $m)> - This function computes the Jacobian elliptic functions sn(u|m), cn(u|m), dn(u|m) by descending Landen transformations. The function returns 0 if the operation succeded, 1 otherwise and then returns the result of sn, cn and dn in this order.
1669 =item C<gsl_sf_erfc_e($x, $result)>
1671 =item C<gsl_sf_erfc($x)>
1673 -These routines compute the complementary error function erfc(x) = 1 - erf(x) = (2/\sqrt(\pi)) \int_x^\infty \exp(-t^2).
1675 =back
1677 =over
1679 =item C<gsl_sf_log_erfc_e($x, $result)>
1681 =item C<gsl_sf_log_erfc($x)>
1683 -These routines compute the logarithm of the complementary error function \log(\erfc(x)).
1685 =back
1687 =over
1689 =item C<gsl_sf_erf_e($x, $result)>
1691 =item C<gsl_sf_erf($x)>
1693 -These routines compute the error function erf(x), where erf(x) = (2/\sqrt(\pi)) \int_0^x dt \exp(-t^2).
1695 =back
1697 =over
1699 =item C<gsl_sf_erf_Z_e($x, $result)>
1701 =item C<gsl_sf_erf_Z($x)>
1703 -These routines compute the Gaussian probability density function Z(x) = (1/\sqrt{2\pi}) \exp(-x^2/2).
1705 =back
1707 =over
1709 =item C<gsl_sf_erf_Q_e($x, $result)>
1711 =item C<gsl_sf_erf_Q($x)>
1713 - These routines compute the upper tail of the Gaussian probability function Q(x) = (1/\sqrt{2\pi}) \int_x^\infty dt \exp(-t^2/2). The hazard function for the normal distribution, also known as the inverse Mill's ratio, is defined as, h(x) = Z(x)/Q(x) = \sqrt{2/\pi} \exp(-x^2 / 2) / \erfc(x/\sqrt 2) It decreases rapidly as x approaches -\infty and asymptotes to h(x) \sim x as x approaches +\infty.
1715 =back
1717 =over
1719 =item C<gsl_sf_hazard_e($x, $result)>
1721 =item C<gsl_sf_hazard($x)>
1723 - These routines compute the hazard function for the normal distribution.
1725 =back
1727 =over
1729 =item C<gsl_sf_exp_e($x, $result)>
1731 =item C<gsl_sf_exp($x)>
1733 - These routines provide an exponential function \exp(x) using GSL semantics and error checking.
1735 =back
1737 =over
1739 =item C<gsl_sf_exp_e10_e> -
1741 =back
1743 =over
1745 =item C<gsl_sf_exp_mult_e >
1747 =item C<gsl_sf_exp_mult>
1751 =back
1753 =over
1755 =item C<gsl_sf_exp_mult_e10_e> -
1757 =back
1759 =over
1761 =item C<gsl_sf_expm1_e($x, $result)>
1763 =item C<gsl_sf_expm1($x)>
1765 -These routines compute the quantity \exp(x)-1 using an algorithm that is accurate for small x.
1767 =back
1769 =over
1771 =item C<gsl_sf_exprel_e($x, $result)>
1773 =item C<gsl_sf_exprel($x)>
1775 -These routines compute the quantity (\exp(x)-1)/x using an algorithm that is accurate for small x. For small x the algorithm is based on the expansion (\exp(x)-1)/x = 1 + x/2 + x^2/(2*3) + x^3/(2*3*4) + \dots.
1777 =back
1779 =over
1781 =item C<gsl_sf_exprel_2_e($x, $result)>
1783 =item C<gsl_sf_exprel_2($x)>
1785 -These routines compute the quantity 2(\exp(x)-1-x)/x^2 using an algorithm that is accurate for small x. For small x the algorithm is based on the expansion 2(\exp(x)-1-x)/x^2 = 1 + x/3 + x^2/(3*4) + x^3/(3*4*5) + \dots.
1787 =back
1789 =over
1791 =item C<gsl_sf_exprel_n_e($x, $result)>
1793 =item C<gsl_sf_exprel_n($x)>
1795 -These routines compute the N-relative exponential, which is the n-th generalization of the functions gsl_sf_exprel and gsl_sf_exprel2. The N-relative exponential is given by,
1796 exprel_N(x) = N!/x^N (\exp(x) - \sum_{k=0}^{N-1} x^k/k!)
1797 = 1 + x/(N+1) + x^2/((N+1)(N+2)) + ...
1798 = 1F1 (1,1+N,x)
1800 =back
1802 =over
1804 =item C<gsl_sf_exp_err_e($x, $dx, $result)> - This function exponentiates $x with an associated absolute error $dx.
1806 =item C<gsl_sf_exp_err_e10_e> -
1808 =item C<gsl_sf_exp_mult_err_e($x, $dx, $y, $dy, $result)> -
1810 =item C<gsl_sf_exp_mult_err_e10_e> -
1812 =back
1814 =over
1816 =item C<gsl_sf_expint_E1_e($x, $result)>
1818 =item C<gsl_sf_expint_E1($x)>
1820 -These routines compute the exponential integral E_1(x), E_1(x) := \Re \int_1^\infty dt \exp(-xt)/t.
1822 =back
1824 =over
1826 =item C<gsl_sf_expint_E2_e($x, $result)>
1828 =item C<gsl_sf_expint_E2($x)>
1830 -These routines compute the second-order exponential integral E_2(x),
1831 E_2(x) := \Re \int_1^\infty dt \exp(-xt)/t^2.
1834 =back
1836 =over
1838 =item C<gsl_sf_expint_En_e($n, $x, $result)>
1840 =item C<gsl_sf_expint_En($n, $x)>
1842 -These routines compute the exponential integral E_n(x) of order n,
1843 E_n(x) := \Re \int_1^\infty dt \exp(-xt)/t^n.
1846 =back
1848 =over
1850 =item C<gsl_sf_expint_E1_scaled_e >
1852 =item C<gsl_sf_expint_E1_scaled>
1856 =back
1858 =over
1860 =item C<gsl_sf_expint_E2_scaled_e>
1862 =item C<gsl_sf_expint_E2_scaled >
1866 =back
1868 =over
1870 =item C<gsl_sf_expint_En_scaled_e>
1872 =item C<gsl_sf_expint_En_scaled>
1876 =back
1878 =over
1880 =item C<gsl_sf_expint_Ei_e($x, $result)>
1882 =item C<gsl_sf_expint_Ei($x)>
1884 -These routines compute the exponential integral Ei(x), Ei(x) := - PV(\int_{-x}^\infty dt \exp(-t)/t) where PV denotes the principal value of the integral.
1886 =back
1888 =over
1890 =item C<gsl_sf_expint_Ei_scaled_e>
1892 =item C<gsl_sf_expint_Ei_scaled >
1896 =back
1898 =over
1900 =item C<gsl_sf_Shi_e($x, $result)>
1902 =item C<gsl_sf_Shi($x)>
1904 -These routines compute the integral Shi(x) = \int_0^x dt \sinh(t)/t.
1906 =back
1908 =over
1910 =item C<gsl_sf_Chi_e($x, $result)>
1912 =item C<gsl_sf_Chi($x)>
1914 -These routines compute the integral Chi(x) := \Re[ \gamma_E + \log(x) + \int_0^x dt (\cosh[t]-1)/t] , where \gamma_E is the Euler constant (available as $M_EULER from the Math::GSL::Const module).
1916 =back
1918 =over
1920 =item C<gsl_sf_expint_3_e($x, $result)>
1922 =item C<gsl_sf_expint_3($x)>
1924 -These routines compute the third-order exponential integral Ei_3(x) = \int_0^xdt \exp(-t^3) for x >= 0.
1926 =back
1928 =over
1930 =item C<gsl_sf_Si_e($x, $result)>
1932 =item C<gsl_sf_Si($x)>
1934 -These routines compute the Sine integral Si(x) = \int_0^x dt \sin(t)/t.
1936 =back
1938 =over
1940 =item C<gsl_sf_Ci_e($x, $result)>
1942 =item C<gsl_sf_Ci($x)>
1944 -These routines compute the Cosine integral Ci(x) = -\int_x^\infty dt \cos(t)/t for x > 0.
1946 =back
1948 =over
1950 =item C<gsl_sf_fermi_dirac_m1_e($x, $result)>
1952 =item C<gsl_sf_fermi_dirac_m1($x)>
1954 -These routines compute the complete Fermi-Dirac integral with an index of -1. This integral is given by F_{-1}(x) = e^x / (1 + e^x).
1956 =back
1958 =over
1960 =item C<gsl_sf_fermi_dirac_0_e($x, $result)>
1962 =item C<gsl_sf_fermi_dirac_0($x)>
1964 -These routines compute the complete Fermi-Dirac integral with an index of 0. This integral is given by F_0(x) = \ln(1 + e^x).
1966 =back
1968 =over
1970 =item C<gsl_sf_fermi_dirac_1_e($x, $result)>
1972 =item C<gsl_sf_fermi_dirac_1($x)>
1974 -These routines compute the complete Fermi-Dirac integral with an index of 1, F_1(x) = \int_0^\infty dt (t /(\exp(t-x)+1)).
1976 =back
1978 =over
1980 =item C<gsl_sf_fermi_dirac_2_e($x, $result)>
1982 =item C<gsl_sf_fermi_dirac_2($x)>
1984 -These routines compute the complete Fermi-Dirac integral with an index of 2, F_2(x) = (1/2) \int_0^\infty dt (t^2 /(\exp(t-x)+1)).
1986 =back
1988 =over
1990 =item C<gsl_sf_fermi_dirac_int_e($j, $x, $result)>
1992 =item C<gsl_sf_fermi_dirac_int($j, $x)>
1994 -These routines compute the complete Fermi-Dirac integral with an integer index of j, F_j(x) = (1/\Gamma(j+1)) \int_0^\infty dt (t^j /(\exp(t-x)+1)).
1996 =back
1998 =over
2000 =item C<gsl_sf_fermi_dirac_mhalf_e($x, $result)>
2002 =item C<gsl_sf_fermi_dirac_mhalf($x)>
2004 -These routines compute the complete Fermi-Dirac integral F_{-1/2}(x).
2006 =back
2008 =over
2010 =item C<gsl_sf_fermi_dirac_half_e($x, $result)>
2012 =item C<gsl_sf_fermi_dirac_half($x)>
2014 -These routines compute the complete Fermi-Dirac integral F_{1/2}(x).
2016 =back
2018 =over
2020 =item C<gsl_sf_fermi_dirac_3half_e($x, $result)>
2022 =item C<gsl_sf_fermi_dirac_3half($x)>
2024 -These routines compute the complete Fermi-Dirac integral F_{3/2}(x).
2026 =back
2028 =over
2030 =item C<gsl_sf_fermi_dirac_inc_0_e($x, $b, $result)>
2032 =item C<gsl_sf_fermi_dirac_inc_0($x, $b, $result)>
2034 -These routines compute the incomplete Fermi-Dirac integral with an index of zero, F_0(x,b) = \ln(1 + e^{b-x}) - (b-x).
2036 =back
2038 =over
2040 =item C<gsl_sf_legendre_Pl_e($l, $x, $result)>
2042 =item C<gsl_sf_legendre_Pl($l, $x)>
2044 -These functions evaluate the Legendre polynomial P_l(x) for a specific value of l, x subject to l >= 0, |x| <= 1
2046 =back
2048 =over
2050 =item C<gsl_sf_legendre_Pl_array>
2052 =item C<gsl_sf_legendre_Pl_deriv_array>
2056 =back
2058 =over
2060 =item C<gsl_sf_legendre_P1_e($x, $result)>
2062 =item C<gsl_sf_legendre_P2_e($x, $result)>
2064 =item C<gsl_sf_legendre_P3_e($x, $result)>
2066 =item C<gsl_sf_legendre_P1($x)>
2068 =item C<gsl_sf_legendre_P2($x)>
2070 =item C<gsl_sf_legendre_P3($x)>
2072 -These functions evaluate the Legendre polynomials P_l(x) using explicit representations for l=1, 2, 3.
2074 =back
2076 =over
2078 =item C<gsl_sf_legendre_Q0_e($x, $result)>
2080 =item C<gsl_sf_legendre_Q0($x)>
2082 -These routines compute the Legendre function Q_0(x) for x > -1, x != 1.
2084 =back
2086 =over
2088 =item C<gsl_sf_legendre_Q1_e($x, $result)>
2090 =item C<gsl_sf_legendre_Q1($x)>
2092 -These routines compute the Legendre function Q_1(x) for x > -1, x != 1.
2094 =back
2096 =over
2098 =item C<gsl_sf_legendre_Ql_e($l, $x, $result)>
2100 =item C<gsl_sf_legendre_Ql($l, $x)>
2102 -These routines compute the Legendre function Q_l(x) for x > -1, x != 1 and l >= 0.
2104 =back
2106 =over
2108 =item C<gsl_sf_legendre_Plm_e($l, $m, $x, $result)>
2110 =item C<gsl_sf_legendre_Plm($l, $m, $x)>
2112 -These routines compute the associated Legendre polynomial P_l^m(x) for m >= 0, l >= m, |x| <= 1.
2114 =back
2116 =over
2118 =item C<gsl_sf_legendre_Plm_array>
2120 =item C<gsl_sf_legendre_Plm_deriv_array >
2124 =back
2126 =over
2128 =item C<gsl_sf_legendre_sphPlm_e($l, $m, $x, $result)>
2130 =item C<gsl_sf_legendre_sphPlm($l, $m, $x)>
2132 -These routines compute the normalized associated Legendre polynomial $\sqrt{(2l+1)/(4\pi)} \sqrt{(l-m)!/(l+m)!} P_l^m(x)$ suitable for use in spherical harmonics. The parameters must satisfy m >= 0, l >= m, |x| <= 1. Theses routines avoid the overflows that occur for the standard normalization of P_l^m(x).
2134 =back
2136 =over
2138 =item C<gsl_sf_legendre_sphPlm_array >
2140 =item C<gsl_sf_legendre_sphPlm_deriv_array>
2144 =back
2146 =over
2148 =item C<gsl_sf_legendre_array_size> -
2150 =back
2152 =over
2154 =item C<gsl_sf_lngamma_e($x, $result)>
2156 =item C<gsl_sf_lngamma($x)>
2158 -These routines compute the logarithm of the Gamma function, \log(\Gamma(x)), subject to x not being a negative integer or zero. For x<0 the real part of \log(\Gamma(x)) is returned, which is equivalent to \log(|\Gamma(x)|). The function is computed using the real Lanczos method.
2160 =back
2162 =over
2164 =item C<gsl_sf_lngamma_sgn_e($x, $result_lg)> - This routine returns the sign of the gamma function and the logarithm of its magnitude into this order, subject to $x not being a negative integer or zero. The function is computed using the real Lanczos method. The value of the gamma function can be reconstructed using the relation \Gamma(x) = sgn * \exp(resultlg).
2166 =back
2168 =over
2170 =item C<gsl_sf_gamma_e >
2172 =item C<gsl_sf_gamma>
2176 =back
2178 =over
2180 =item C<gsl_sf_gammastar_e>
2182 =item C<gsl_sf_gammastar >
2186 =back
2188 =over
2190 =item C<gsl_sf_gammainv_e>
2192 =item C<gsl_sf_gammainv>
2196 =back
2198 =over
2200 =item C<gsl_sf_lngamma_complex_e >
2204 =back
2206 =over
2208 =item C<gsl_sf_gamma_inc_Q_e>
2210 =item C<gsl_sf_gamma_inc_Q>
2214 =back
2216 =over
2218 =item C<gsl_sf_gamma_inc_P_e >
2220 =item C<gsl_sf_gamma_inc_P>
2224 =back
2226 =over
2228 =item C<gsl_sf_gamma_inc_e>
2230 =item C<gsl_sf_gamma_inc >
2234 =back
2236 =over
2238 =item C<gsl_sf_taylorcoeff_e>
2240 =item C<gsl_sf_taylorcoeff>
2244 =back
2246 =over
2248 =item C<gsl_sf_fact_e >
2250 =item C<gsl_sf_fact>
2254 =back
2256 =over
2258 =item C<gsl_sf_doublefact_e>
2260 =item C<gsl_sf_doublefact >
2264 =back
2266 =over
2268 =item C<gsl_sf_lnfact_e>
2270 =item C<gsl_sf_lnfact>
2274 =back
2276 =over
2278 =item C<gsl_sf_lndoublefact_e >
2280 =item C<gsl_sf_lndoublefact>
2284 =back
2286 =over
2288 =item C<gsl_sf_lnchoose_e>
2290 =item C<gsl_sf_lnchoose >
2294 =back
2296 =over
2298 =item C<gsl_sf_choose_e>
2300 =item C<gsl_sf_choose>
2304 =back
2306 =over
2308 =item C<gsl_sf_lnpoch_e >
2310 =item C<gsl_sf_lnpoch>
2314 =back
2316 =over
2318 =item C<gsl_sf_lnpoch_sgn_e>
2322 =back
2324 =over
2326 =item C<gsl_sf_poch_e >
2328 =item C<gsl_sf_poch>
2332 =back
2334 =over
2336 =item C<gsl_sf_pochrel_e>
2338 =item C<gsl_sf_pochrel >
2342 =back
2344 =over
2346 =item C<gsl_sf_lnbeta_e>
2348 =item C<gsl_sf_lnbeta>
2352 =back
2354 =over
2356 =item C<gsl_sf_lnbeta_sgn_e >
2360 =back
2362 =over
2364 =item C<gsl_sf_beta_e>
2366 =item C<gsl_sf_beta>
2370 =back
2372 =over
2374 =item C<gsl_sf_beta_inc_e >
2376 =item C<gsl_sf_beta_inc>
2380 =back
2382 =over
2384 =item C<gsl_sf_gegenpoly_1_e>
2386 =item C<gsl_sf_gegenpoly_2_e >
2388 =item C<gsl_sf_gegenpoly_3_e>
2390 =item C<gsl_sf_gegenpoly_1>
2392 =item C<gsl_sf_gegenpoly_2 >
2394 =item C<gsl_sf_gegenpoly_3>
2398 =back
2400 =over
2402 =item C<gsl_sf_gegenpoly_n_e>
2404 =item C<gsl_sf_gegenpoly_n >
2408 =back
2410 =over
2412 =item C<gsl_sf_gegenpoly_array>
2414 =item C<gsl_sf_hyperg_0F1_e>
2416 =item C<gsl_sf_hyperg_0F1 >
2420 =back
2422 =over
2424 =item C<gsl_sf_hyperg_1F1_int_e>
2426 =item C<gsl_sf_hyperg_1F1_int>
2430 =back
2432 =over
2434 =item C<gsl_sf_hyperg_1F1_e >
2436 =item C<gsl_sf_hyperg_1F1>
2440 =back
2442 =over
2444 =item C<gsl_sf_hyperg_U_int_e>
2446 =item C<gsl_sf_hyperg_U_int >
2450 =back
2452 =over
2454 =item C<gsl_sf_hyperg_U_int_e10_e>
2458 =back
2460 =over
2462 =item C<gsl_sf_hyperg_U_e>
2464 =item C<gsl_sf_hyperg_U >
2468 =back
2470 =over
2472 =item C<gsl_sf_hyperg_U_e10_e>
2476 =back
2478 =over
2480 =item C<gsl_sf_hyperg_2F1_e>
2482 =item C<gsl_sf_hyperg_2F1 >
2486 =back
2488 =over
2490 =item C<gsl_sf_hyperg_2F1_conj_e>
2492 =item C<gsl_sf_hyperg_2F1_conj>
2496 =back
2498 =over
2500 =item C<gsl_sf_hyperg_2F1_renorm_e >
2502 =item C<gsl_sf_hyperg_2F1_renorm>
2506 =back
2508 =over
2510 =item C<gsl_sf_hyperg_2F1_conj_renorm_e>
2512 =item C<gsl_sf_hyperg_2F1_conj_renorm >
2516 =back
2518 =over
2520 =item C<gsl_sf_hyperg_2F0_e>
2522 =item C<gsl_sf_hyperg_2F0>
2526 =back
2528 =over
2530 =item C<gsl_sf_laguerre_1_e >
2532 =item C<gsl_sf_laguerre_2_e>
2534 =item C<gsl_sf_laguerre_3_e>
2536 =item C<gsl_sf_laguerre_1 >
2538 =item C<gsl_sf_laguerre_2>
2540 =item C<gsl_sf_laguerre_3>
2544 =back
2546 =over
2548 =item C<gsl_sf_laguerre_n_e >
2550 =item C<gsl_sf_laguerre_n>
2554 =back
2556 =over
2558 =item C<gsl_sf_lambert_W0_e>
2560 =item C<gsl_sf_lambert_W0 >
2564 =back
2566 =over
2568 =item C<gsl_sf_lambert_Wm1_e>
2570 =item C<gsl_sf_lambert_Wm1>
2574 =back
2576 =over
2578 =item C<gsl_sf_conicalP_half_e >
2580 =item C<gsl_sf_conicalP_half>
2584 =back
2586 =over
2588 =item C<gsl_sf_conicalP_mhalf_e>
2590 =item C<gsl_sf_conicalP_mhalf >
2594 =back
2596 =over
2598 =item C<gsl_sf_conicalP_0_e>
2600 =item C<gsl_sf_conicalP_0>
2604 =back
2606 =over
2608 =item C<gsl_sf_conicalP_1_e >
2610 =item C<gsl_sf_conicalP_1>
2614 =back
2616 =over
2618 =item C<gsl_sf_conicalP_sph_reg_e>
2620 =item C<gsl_sf_conicalP_sph_reg >
2624 =back
2626 =over
2628 =item C<gsl_sf_conicalP_cyl_reg_e>
2630 =item C<gsl_sf_conicalP_cyl_reg>
2634 =back
2636 =over
2638 =item C<gsl_sf_legendre_H3d_0_e >
2640 =item C<gsl_sf_legendre_H3d_0>
2644 =back
2646 =over
2648 =item C<gsl_sf_legendre_H3d_1_e>
2650 =item C<gsl_sf_legendre_H3d_1 >
2654 =back
2656 =over
2658 =item C<gsl_sf_legendre_H3d_e>
2660 =item C<gsl_sf_legendre_H3d>
2664 =back
2666 =over
2668 =item C<gsl_sf_legendre_H3d_array >
2672 =back
2674 =over
2676 =item C<gsl_sf_log_e>
2678 =item C<gsl_sf_log>
2682 =back
2684 =over
2686 =item C<gsl_sf_log_abs_e >
2688 =item C<gsl_sf_log_abs>
2692 =back
2694 =over
2696 =item C<gsl_sf_complex_log_e>
2700 =back
2702 =over
2704 =item C<gsl_sf_log_1plusx_e >
2706 =item C<gsl_sf_log_1plusx>
2710 =back
2712 =over
2714 =item C<gsl_sf_log_1plusx_mx_e>
2716 =item C<gsl_sf_log_1plusx_mx >
2720 =back
2722 =over
2724 =item C<gsl_sf_mathieu_a_array>
2726 =item C<gsl_sf_mathieu_b_array>
2730 =back
2732 =over
2734 =item C<gsl_sf_mathieu_a >
2736 =item C<gsl_sf_mathieu_b>
2740 =back
2742 =over
2744 =item C<gsl_sf_mathieu_a_coeff>
2746 =item C<gsl_sf_mathieu_b_coeff >
2750 =back
2752 =over
2754 =item C<gsl_sf_mathieu_alloc>
2758 =back
2760 =over
2762 =item C<gsl_sf_mathieu_free>
2766 =back
2768 =over
2770 =item C<gsl_sf_mathieu_ce >
2772 =item C<gsl_sf_mathieu_se>
2776 =back
2778 =over
2780 =item C<gsl_sf_mathieu_ce_array>
2782 =item C<gsl_sf_mathieu_se_array >
2786 =back
2788 =over
2790 =item C<gsl_sf_mathieu_Mc>
2792 =item C<gsl_sf_mathieu_Ms>
2796 =back
2798 =over
2800 =item C<gsl_sf_mathieu_Mc_array >
2802 =item C<gsl_sf_mathieu_Ms_array>
2806 =back
2808 =over
2810 =item C<gsl_sf_pow_int_e>
2812 =item C<gsl_sf_pow_int >
2816 =back
2818 =over
2820 =item C<gsl_sf_psi_int_e>
2822 =item C<gsl_sf_psi_int>
2826 =back
2828 =over
2830 =item C<gsl_sf_psi_e >
2832 =item C<gsl_sf_psi>
2836 =back
2838 =over
2840 =item C<gsl_sf_psi_1piy_e>
2842 =item C<gsl_sf_psi_1piy >
2846 =back
2848 =over
2850 =item C<gsl_sf_complex_psi_e>
2854 =back
2856 =over
2858 =item C<gsl_sf_psi_1_int_e>
2860 =item C<gsl_sf_psi_1_int >
2864 =back
2866 =over
2868 =item C<gsl_sf_psi_1_e >
2870 =item C<gsl_sf_psi_1>
2874 =back
2876 =over
2878 =item C<gsl_sf_psi_n_e >
2880 =item C<gsl_sf_psi_n>
2884 =back
2886 =over
2888 =item C<gsl_sf_result_smash_e>
2892 =back
2894 =over
2896 =item C<gsl_sf_synchrotron_1_e >
2898 =item C<gsl_sf_synchrotron_1>
2902 =back
2904 =over
2906 =item C<gsl_sf_synchrotron_2_e>
2908 =item C<gsl_sf_synchrotron_2 >
2912 =back
2914 =over
2916 =item C<gsl_sf_transport_2_e>
2918 =item C<gsl_sf_transport_2>
2922 =back
2924 =over
2926 =item C<gsl_sf_transport_3_e >
2928 =item C<gsl_sf_transport_3>
2932 =back
2934 =over
2936 =item C<gsl_sf_transport_4_e>
2938 =item C<gsl_sf_transport_4 >
2942 =back
2944 =over
2946 =item C<gsl_sf_transport_5_e>
2948 =item C<gsl_sf_transport_5>
2952 =back
2954 =over
2956 =item C<gsl_sf_sin_e >
2958 =item C<gsl_sf_sin>
2962 =back
2964 =over
2966 =item C<gsl_sf_cos_e>
2968 =item C<gsl_sf_cos >
2972 =back
2974 =over
2976 =item C<gsl_sf_hypot_e>
2978 =item C<gsl_sf_hypot>
2982 =back
2984 =over
2986 =item C<gsl_sf_complex_sin_e >
2990 =back
2992 =over
2994 =item C<gsl_sf_complex_cos_e>
2998 =back
3000 =over
3002 =item C<gsl_sf_complex_logsin_e>
3006 =back
3008 =over
3010 =item C<gsl_sf_sinc_e >
3012 =item C<gsl_sf_sinc>
3016 =back
3018 =over
3020 =item C<gsl_sf_lnsinh_e>
3022 =item C<gsl_sf_lnsinh >
3026 =back
3028 =over
3030 =item C<gsl_sf_lncosh_e>
3032 =item C<gsl_sf_lncosh>
3036 =back
3038 =over
3040 =item C<gsl_sf_polar_to_rect >
3044 =back
3046 =over
3048 =item C<gsl_sf_rect_to_polar>
3052 =back
3054 =over
3056 =item C<gsl_sf_sin_err_e>
3058 =item C<gsl_sf_cos_err_e >
3062 =back
3064 =over
3066 =item C<gsl_sf_angle_restrict_symm_e>
3068 =item C<gsl_sf_angle_restrict_symm>
3072 =back
3074 =over
3076 =item C<gsl_sf_angle_restrict_pos_e >
3078 =item C<gsl_sf_angle_restrict_pos>
3082 =back
3084 =over
3086 =item C<gsl_sf_angle_restrict_symm_err_e>
3088 =item C<gsl_sf_angle_restrict_pos_err_e >
3090 =over
3092 =item C<gsl_sf_atanint_e>
3094 =item C<gsl_sf_atanint>
3096 -These routines compute the Arctangent integral, which is defined as AtanInt(x) = \int_0^x dt \arctan(t)/t.
3098 =back
3100 =item C<gsl_sf_zeta_int_e >
3102 =item C<gsl_sf_zeta_int>
3104 =item C<gsl_sf_zeta_e gsl_sf_zeta >
3106 =item C<gsl_sf_zetam1_e>
3108 =item C<gsl_sf_zetam1>
3110 =item C<gsl_sf_zetam1_int_e >
3112 =item C<gsl_sf_zetam1_int>
3114 =item C<gsl_sf_hzeta_e>
3116 =item C<gsl_sf_hzeta >
3118 =item C<gsl_sf_eta_int_e>
3120 =item C<gsl_sf_eta_int>
3122 =item C<gsl_sf_eta_e>
3124 =item C<gsl_sf_eta >
3126 =back
3128 This module also contains the following constants used as mode in various of those functions :
3130 =over
3132 =item * GSL_PREC_DOUBLE - Double-precision, a relative accuracy of approximately 2 * 10^-16.
3134 =item * GSL_PREC_SINGLE - Single-precision, a relative accuracy of approximately 10^-7.
3136 =item * GSL_PREC_APPROX - Approximate values, a relative accuracy of approximately 5 * 10^-4.
3138 =back
3140 You can import the functions that you want to use by giving a space separated
3141 list to Math::GSL::SF when you use the package. You can also write
3142 use Math::GSL::SF qw/:all/
3143 to use all avaible functions of the module. Note that
3144 the tag names begin with a colon. Other tags are also available, here is a
3145 complete list of all tags for this module :
3147 =over
3149 =item C<airy>
3151 =item C<bessel>
3153 =item C<clausen>
3155 =item C<hydrogenic>
3157 =item C<coulumb>
3159 =item C<coupling>
3161 =item C<dawson>
3163 =item C<debye>
3165 =item C<dilog>
3167 =item C<factorial>
3169 =item C<misc>
3171 =item C<elliptic>
3173 =item C<error>
3175 =item C<hypergeometric>
3177 =item C<laguerre>
3179 =item C<legendre>
3181 =item C<gamma>
3183 =item C<transport>
3185 =item C<trig>
3187 =item C<zeta>
3189 =item C<eta>
3191 =item C<vars>
3193 =back
3195 For more informations on the functions, we refer you to the GSL offcial
3196 documentation: L<http://www.gnu.org/software/gsl/manual/html_node/>
3198 Tip : search on google: site:http://www.gnu.org/software/gsl/manual/html_node/name_of_the_function_you_want
3200 =head1 EXAMPLES
3202 This example computes the dilogarithm of 1/10 :
3204 use Math::GSL::SF qw/dilog/;
3205 my $x = gsl_sf_dilog(0.1);
3206 print "gsl_sf_dilog(0.1) = $x\n";
3208 An example using Math::GSL::SF and gnuplot is in the B<examples/sf> folder of the source code.
3210 =head1 AUTHORS
3212 Jonathan Leto <jonathan@leto.net> and Thierry Moisan <thierry.moisan@gmail.com>
3214 =head1 COPYRIGHT AND LICENSE
3216 Copyright (C) 2008 Jonathan Leto and Thierry Moisan
3218 This program is free software; you can redistribute it and/or modify it
3219 under the same terms as Perl itself.
3221 =cut