ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
sf_hermite.hpp
Go to the documentation of this file.
1/*
2 * $Id: sf_hermite.hpp 9 2010-06-13 14:02:43Z jdl3 $
3 * Copyright (C) 2019, 2020 John D Lamb
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or (at
8 * your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19
20#ifndef CCGSL_SF_HERMITE_HPP
21#define CCGSL_SF_HERMITE_HPP
22
23#include<gsl/gsl_sf_hermite.h>
24#include"mode.hpp"
25#include"sf_result.hpp"
26
27namespace gsl {
28 namespace sf {
32 namespace hermite {
33#ifndef DOXYGEN_SKIP
41 inline int prob_e( int const n, double const x, gsl_sf_result* result ){
42 return gsl_sf_hermite_prob_e( n, x, result ); }
43#endif // DOXYGEN_SKIP
51 inline int prob_e( int const n, double const x, gsl_sf_result& result ){
52 return gsl_sf_hermite_prob_e( n, x, &result ); }
59 inline double prob( int const n, double const x ){ return gsl_sf_hermite_prob( n, x ); }
68 inline double prob_deriv( int const m, int const n, double const x ){
69 return gsl_sf_hermite_prob_deriv( m, n, x ); }
70#ifndef DOXYGEN_SKIP
78 inline int phys_e( int const n, double const x, gsl_sf_result* result ){
79 return gsl_sf_hermite_e( n, x, result ); }
80#endif // DOXYGEN_SKIP
88 inline int phys_e( int const n, double const x, gsl_sf_result& result ){
89 return gsl_sf_hermite_e( n, x, &result ); }
96 inline double phys( int const n, double const x ){ return gsl_sf_hermite( n, x ); }
97#ifndef DOXYGEN_SKIP
106 inline int deriv_e( int const m, int const n, double const x, gsl_sf_result* result ){
107 return gsl_sf_hermite_deriv_e( m, n, x, result ); }
108#endif // DOXYGEN_SKIP
117 inline int deriv_e( int const m, int const n, double const x, gsl_sf_result& result ){
118 return gsl_sf_hermite_deriv_e( m, n, x, &result ); }
126 inline double deriv( int const m, int const n, double const x ){
127 return gsl_sf_hermite_deriv( m, n, x ); }
128#ifndef DOXYGEN_SKIP
136 inline int func_e( int const n, double const x, gsl_sf_result* result ){
137 return gsl_sf_hermite_func_e( n, x, result ); }
138#endif // DOXYGEN_SKIP
146 inline int func_e( int const n, double const x, gsl_sf_result& result ){
147 return gsl_sf_hermite_func_e( n, x, &result ); }
154 inline double func( int const n, double const x ){ return gsl_sf_hermite_func( n, x ); }
155#ifndef DOXYGEN_SKIP
163 inline int func_fast_e( int const n, double const x, gsl_sf_result* result ){
164 return gsl_sf_hermite_func_fast_e( n, x, result ); }
165#endif // DOXYGEN_SKIP
173 inline int func_fast_e( int const n, double const x, gsl_sf_result& result ){
174 return gsl_sf_hermite_func_fast_e( n, x, &result ); }
181 inline double func_fast( int const n, double const x ){
182 return gsl_sf_hermite_func_fast( n, x ); }
183#ifndef DOXYGEN_SKIP
191 inline int prob_array( int const nmax, double const x, double* result_array ){
192 return gsl_sf_hermite_prob_array( nmax, x, result_array ); }
193#endif // DOXYGEN_SKIP
201 template<typename DATA>
202 inline int prob_array( int const nmax, double const x, DATA& result_array ){
203 if(result_array.size() < static_cast<size_t>(nmax + 1)){ return GSL_EBADLEN;}
204 return gsl_sf_hermite_prob_array( nmax, x, result_array.data() ); }
205#ifndef DOXYGEN_SKIP
214 inline int prob_array_deriv( int const m, int const nmax, double const x,
215 double* result_array ){
216 return gsl_sf_hermite_prob_array_deriv( m, nmax, x, result_array ); }
217#endif // DOXYGEN_SKIP
226 template<typename DATA>
227 inline int prob_array_deriv( int const m, int const nmax, double const x,
228 DATA& result_array ){
229 if(result_array.size() < static_cast<size_t>(nmax + 1)){ return GSL_EBADLEN;}
230 return gsl_sf_hermite_prob_array_deriv( m, nmax, x, result_array.data() ); }
231#ifndef DOXYGEN_SKIP
240 inline int prob_deriv_array( int const mmax, int const n, double const x,
241 double* result_array ){
242 return gsl_sf_hermite_prob_deriv_array( mmax, n, x, result_array ); }
243#endif // DOXYGEN_SKIP
252 template<typename DATA>
253 inline int prob_deriv_array( int const mmax, int const n, double const x,
254 DATA& result_array ){
255 if(result_array.size() < static_cast<size_t>(mmax + 1)){ return GSL_EBADLEN;}
256 return gsl_sf_hermite_prob_deriv_array( mmax, n, x, result_array.data() ); }
257#ifndef DOXYGEN_SKIP
266 inline int prob_series_e( int const n, double const x, double const* a,
267 gsl_sf_result* result ){
268 return gsl_sf_hermite_prob_series_e( n, x, a, result ); }
269#endif // DOXYGEN_SKIP
278 template<typename DATA>
279 inline int prob_series_e( int const n, double const x, DATA const& a,
280 gsl_sf_result& result ){
281 if(a.size() < static_cast<size_t>(n + 1)){ return GSL_EBADLEN;}
282 return gsl_sf_hermite_prob_series_e( n, x, a.data(), &result ); }
283#ifndef DOXYGEN_SKIP
291 inline double prob_series( int const n, double const x, double const* a ){
292 return gsl_sf_hermite_prob_series( n, x, a ); }
293#endif // DOXYGEN_SKIP
301 template<typename DATA>
302 inline double prob_series( int const n, double const x, DATA const& a ){
303 if(a.size() < static_cast<size_t>(n + 1)){ return GSL_EBADLEN;}
304 return gsl_sf_hermite_prob_series( n, x, a.data() ); }
305#ifndef DOXYGEN_SKIP
313 inline int array( int const nmax, double const x, double* result_array ){
314 return gsl_sf_hermite_array( nmax, x, result_array ); }
315#endif // DOXYGEN_SKIP
323 template<typename DATA>
324 inline int array( int const nmax, double const x, DATA& result_array ){
325 if(result_array.size() < static_cast<size_t>(nmax + 1)){ return GSL_EBADLEN;}
326 return gsl_sf_hermite_array( nmax, x, result_array.data() ); }
327#ifndef DOXYGEN_SKIP
336 inline int array_deriv( int const m, int const nmax, double const x,
337 double* result_array ){
338 return gsl_sf_hermite_array_deriv( m, nmax, x, result_array ); }
339#endif // DOXYGEN_SKIP
348 template<typename DATA>
349 inline int array_deriv( int const m, int const nmax, double const x,
350 DATA& result_array ){
351 if(result_array.size() < static_cast<size_t>(nmax + 1)){ return GSL_EBADLEN;}
352 return gsl_sf_hermite_array_deriv( m, nmax, x, result_array.data() ); }
353#ifndef DOXYGEN_SKIP
362 inline int deriv_array( int const mmax, int const n, double const x,
363 double* result_array ){
364 return gsl_sf_hermite_deriv_array( mmax, n, x, result_array ); }
365#endif // DOXYGEN_SKIP
374 template<typename DATA>
375 inline int deriv_array( int const mmax, int const n, double const x,
376 DATA& result_array ){
377 if(result_array.size() < static_cast<size_t>(mmax + 1)){ return GSL_EBADLEN;}
378 return gsl_sf_hermite_deriv_array( mmax, n, x, result_array.data() ); }
379#ifndef DOXYGEN_SKIP
388 inline int series_e( int const n, double const x, double const* a, gsl_sf_result* result ){
389 return gsl_sf_hermite_series_e( n, x, a, result ); }
390#endif // DOXYGEN_SKIP
399 template<typename DATA>
400 inline int series_e( int const n, double const x, DATA const& a, gsl_sf_result& result ){
401 if(a.size() < static_cast<size_t>(n + 1)){ return GSL_EBADLEN;}
402 return gsl_sf_hermite_series_e( n, x, a.data(), &result ); }
403#ifndef DOXYGEN_SKIP
411 inline double series( int const n, double const x, double const* a ){
412 return gsl_sf_hermite_series( n, x, a ); }
413#endif // DOXYGEN_SKIP
421 template<typename DATA>
422 inline double series( int const n, double const x, DATA const& a ){
423 if(a.size() < static_cast<size_t>(n + 1)){ return GSL_EBADLEN;}
424 return gsl_sf_hermite_series( n, x, a.data() ); }
425#ifndef DOXYGEN_SKIP
433 inline int func_array( int const nmax, double const x, double* result_array ){
434 return gsl_sf_hermite_func_array( nmax, x, result_array ); }
435#endif // DOXYGEN_SKIP
443 template<typename DATA>
444 inline int func_array( int const nmax, double const x, DATA& result_array ){
445 if(result_array.size() < nmax + 1){ return GSL_EBADLEN;}
446 return gsl_sf_hermite_func_array( nmax, x, result_array.data() ); }
447#ifndef DOXYGEN_SKIP
456 inline int func_series_e( int const n, double const x, double const* a,
457 gsl_sf_result* result ){
458 return gsl_sf_hermite_func_series_e( n, x, a, result ); }
459#endif // DOXYGEN_SKIP
468 template<typename DATA>
469 inline int func_series_e( int const n, double const x, DATA const& a,
470 gsl_sf_result& result ){
471 if(a.size() < n + 1){ return GSL_EBADLEN;}
472 return gsl_sf_hermite_func_series_e( n, x, a.data(), &result ); }
473#ifndef DOXYGEN_SKIP
481 inline double func_series( int const n, double const x, double const* a ){
482 return gsl_sf_hermite_func_series( n, x, a ); }
483#endif // DOXYGEN_SKIP
491 template<typename DATA>
492 inline double func_series( int const n, double const x, DATA const& a ){
493 if(a.size() < n + 1){ return GSL_EBADLEN;}
494 return gsl_sf_hermite_func_series( n, x, a.data() ); }
495#ifndef DOXYGEN_SKIP
504 inline int func_der_e( int const m, int const n, double const x, gsl_sf_result* result ){
505 return gsl_sf_hermite_func_der_e( m, n, x, result ); }
506#endif // DOXYGEN_SKIP
515 inline int func_der_e( int const m, int const n, double const x, gsl_sf_result& result ){
516 return gsl_sf_hermite_func_der_e( m, n, x, &result ); }
524 inline double func_der( int const m, int const n, double const x ){
525 return gsl_sf_hermite_func_der( m, n, x ); }
526#ifndef DOXYGEN_SKIP
534 inline int prob_zero_e( int const n, int const s, gsl_sf_result* result ){
535 return gsl_sf_hermite_prob_zero_e( n, s, result ); }
536#endif // DOXYGEN_SKIP
544 inline int prob_zero_e( int const n, int const s, gsl_sf_result& result ){
545 return gsl_sf_hermite_prob_zero_e( n, s, &result ); }
552 inline double prob_zero( int const n, int const s ){
553 return gsl_sf_hermite_prob_zero( n, s ); }
554#ifndef DOXYGEN_SKIP
562 inline int zero_e( int const n, int const s, gsl_sf_result* result ){
563 return gsl_sf_hermite_zero_e( n, s, result ); }
564#endif // DOXYGEN_SKIP
572 inline int zero_e( int const n, int const s, gsl_sf_result& result ){
573 return gsl_sf_hermite_zero_e( n, s, &result ); }
580 inline double zero( int const n, int const s ){ return gsl_sf_hermite_zero( n, s ); }
581#ifndef DOXYGEN_SKIP
589 inline int func_zero_e( int const n, int const s, gsl_sf_result* result ){
590 return gsl_sf_hermite_func_zero_e( n, s, result ); }
591#endif // DOXYGEN_SKIP
599 inline int func_zero_e( int const n, int const s, gsl_sf_result& result ){
600 return gsl_sf_hermite_func_zero_e( n, s, &result ); }
607 inline double func_zero( int const n, int const s ){
608 return gsl_sf_hermite_func_zero( n, s ); }
609 }
610 }
611}
612
613#endif
size_t n(workspace const &w)
C++ version of gsl_rstat_n().
Definition: rstat.hpp:299
double prob_deriv(int const m, int const n, double const x)
C++ version of gsl_sf_hermite_prob_deriv().
Definition: sf_hermite.hpp:68
int func_e(int const n, double const x, gsl_sf_result &result)
C++ version of gsl_sf_hermite_func_e().
Definition: sf_hermite.hpp:146
int func_der_e(int const m, int const n, double const x, gsl_sf_result &result)
C++ version of gsl_sf_hermite_func_der_e().
Definition: sf_hermite.hpp:515
double prob_series(int const n, double const x, DATA const &a)
C++ version of gsl_sf_hermite_prob_series().
Definition: sf_hermite.hpp:302
double func_zero(int const n, int const s)
C++ version of gsl_sf_hermite_func_zero().
Definition: sf_hermite.hpp:607
int prob_series_e(int const n, double const x, DATA const &a, gsl_sf_result &result)
C++ version of gsl_sf_hermite_prob_series_e().
Definition: sf_hermite.hpp:279
double zero(int const n, int const s)
C++ version of gsl_sf_hermite_zero().
Definition: sf_hermite.hpp:580
int deriv_e(int const m, int const n, double const x, gsl_sf_result &result)
C++ version of gsl_sf_hermite_deriv_e().
Definition: sf_hermite.hpp:117
double func_der(int const m, int const n, double const x)
C++ version of gsl_sf_hermite_func_der().
Definition: sf_hermite.hpp:524
int array(int const nmax, double const x, DATA &result_array)
C++ version of gsl_sf_hermite_array().
Definition: sf_hermite.hpp:324
int prob_array_deriv(int const m, int const nmax, double const x, DATA &result_array)
C++ version of gsl_sf_hermite_prob_array_deriv().
Definition: sf_hermite.hpp:227
int prob_deriv_array(int const mmax, int const n, double const x, DATA &result_array)
C++ version of gsl_sf_hermite_prob_deriv_array().
Definition: sf_hermite.hpp:253
int func_fast_e(int const n, double const x, gsl_sf_result &result)
C++ version of gsl_sf_hermite_func_fast_e().
Definition: sf_hermite.hpp:173
double deriv(int const m, int const n, double const x)
C++ version of gsl_sf_hermite_deriv().
Definition: sf_hermite.hpp:126
double func(int const n, double const x)
C++ version of gsl_sf_hermite_func().
Definition: sf_hermite.hpp:154
int array_deriv(int const m, int const nmax, double const x, DATA &result_array)
C++ version of gsl_sf_hermite_array_deriv().
Definition: sf_hermite.hpp:349
int func_zero_e(int const n, int const s, gsl_sf_result &result)
C++ version of gsl_sf_hermite_func_zero_e().
Definition: sf_hermite.hpp:599
int func_series_e(int const n, double const x, DATA const &a, gsl_sf_result &result)
C++ version of gsl_sf_hermite_func_series_e().
Definition: sf_hermite.hpp:469
int prob_zero_e(int const n, int const s, gsl_sf_result &result)
C++ version of gsl_sf_hermite_prob_zero_e().
Definition: sf_hermite.hpp:544
int func_array(int const nmax, double const x, DATA &result_array)
C++ version of gsl_sf_hermite_func_array().
Definition: sf_hermite.hpp:444
double prob_zero(int const n, int const s)
C++ version of gsl_sf_hermite_prob_zero().
Definition: sf_hermite.hpp:552
double func_fast(int const n, double const x)
C++ version of gsl_sf_hermite_func_fast().
Definition: sf_hermite.hpp:181
int prob_e(int const n, double const x, gsl_sf_result &result)
C++ version of gsl_sf_hermite_prob_e().
Definition: sf_hermite.hpp:51
int zero_e(int const n, int const s, gsl_sf_result &result)
C++ version of gsl_sf_hermite_zero_e().
Definition: sf_hermite.hpp:572
double series(int const n, double const x, DATA const &a)
C++ version of gsl_sf_hermite_series().
Definition: sf_hermite.hpp:422
int series_e(int const n, double const x, DATA const &a, gsl_sf_result &result)
C++ version of gsl_sf_hermite_series_e().
Definition: sf_hermite.hpp:400
int deriv_array(int const mmax, int const n, double const x, DATA &result_array)
C++ version of gsl_sf_hermite_deriv_array().
Definition: sf_hermite.hpp:375
int phys_e(int const n, double const x, gsl_sf_result &result)
C++ version of gsl_sf_hermite_e().
Definition: sf_hermite.hpp:88
double prob(int const n, double const x)
C++ version of gsl_sf_hermite_prob().
Definition: sf_hermite.hpp:59
int prob_array(int const nmax, double const x, DATA &result_array)
C++ version of gsl_sf_hermite_prob_array().
Definition: sf_hermite.hpp:202
double phys(int const n, double const x)
C++ version of gsl_sf_hermite().
Definition: sf_hermite.hpp:96
double func_series(int const n, double const x, DATA const &a)
C++ version of gsl_sf_hermite_func_series().
Definition: sf_hermite.hpp:492
double a(int order, double qq)
C++ version of gsl_sf_mathieu_a().
Definition: sf_mathieu.hpp:272
gsl_sf_result result
Typedef for gsl_sf_result.
Definition: sf_result.hpp:30
The gsl package creates an interface to the GNU Scientific Library for C++.
Definition: blas.hpp:34