cerf.h | cerf.h | |||
---|---|---|---|---|
skipping to change at line 42 | skipping to change at line 42 | |||
* Authors: | * Authors: | |||
* Steven G. Johnson, Massachusetts Institute of Technology, 2012, core a uthor | * Steven G. Johnson, Massachusetts Institute of Technology, 2012, core a uthor | |||
* Joachim Wuttke, Forschungszentrum Jülich, 2013, package maintainer | * Joachim Wuttke, Forschungszentrum Jülich, 2013, package maintainer | |||
* | * | |||
* Website: | * Website: | |||
* http://apps.jcns.fz-juelich.de/libcerf | * http://apps.jcns.fz-juelich.de/libcerf | |||
* | * | |||
* Revision history: | * Revision history: | |||
* ../CHANGELOG | * ../CHANGELOG | |||
* | * | |||
* References: | ||||
* See man 3 w_of_z | ||||
* | ||||
* Man pages: | * Man pages: | |||
* w_of_z(3), erfcx(3), cerf(3), dawson(3), voigt(3) | * w_of_z(3), dawson(3), voigt(3), cerf(3), erfcx(3), erfi(3) | |||
*/ | */ | |||
#include <complex.h> // C99 complex-number support | #include <complex.h> // C99 complex-number support | |||
#ifndef __CERF_H | #ifndef __CERF_H | |||
# define __CERF_H | # define __CERF_H | |||
# undef __BEGIN_DECLS | # undef __BEGIN_DECLS | |||
# undef __END_DECLS | # undef __END_DECLS | |||
# ifdef __cplusplus | # ifdef __cplusplus | |||
# define __BEGIN_DECLS extern "C" { | # define __BEGIN_DECLS extern "C" { | |||
# define __END_DECLS } | # define __END_DECLS } | |||
# else | # else | |||
# define __BEGIN_DECLS | # define __BEGIN_DECLS | |||
# define __END_DECLS | # define __END_DECLS | |||
# endif | # endif | |||
__BEGIN_DECLS | __BEGIN_DECLS | |||
// compute w(z) = exp(-z^2) erfc(-iz), Faddeeva's scaled complex error func tion | // compute w(z) = exp(-z^2) erfc(-iz), Faddeeva's scaled complex error func tion | |||
double _Complex w_of_z (double _Complex z); | double _Complex w_of_z (double _Complex z); | |||
double im_w_of_x(double x); // special case Im[w(x)] of real x | double im_w_of_x(double x); // special case Im[w(x)] of real x | |||
double re_w_of_z( double x, double y ); | ||||
double im_w_of_z( double x, double y ); | ||||
// compute erf(z), the error function of complex arguments | // compute erf(z), the error function of complex arguments | |||
double _Complex cerf (double _Complex z); | double _Complex cerf (double _Complex z); | |||
// compute erfc(z) = 1 - erf(z), the complementary error function | // compute erfc(z) = 1 - erf(z), the complementary error function | |||
double _Complex cerfc(double _Complex z); | double _Complex cerfc(double _Complex z); | |||
// compute erfcx(z) = exp(z^2) erfc(z), an underflow-compensated version of erfc | // compute erfcx(z) = exp(z^2) erfc(z), an underflow-compensated version of erfc | |||
double _Complex cerfcx(double _Complex z); | double _Complex cerfcx(double _Complex z); | |||
double erfcx (double x); // special case for real x | double erfcx (double x); // special case for real x | |||
skipping to change at line 89 | skipping to change at line 88 | |||
double _Complex cerfi(double _Complex z); | double _Complex cerfi(double _Complex z); | |||
double erfi (double x); // special case for real x | double erfi (double x); // special case for real x | |||
// compute dawson(z) = sqrt(pi)/2 * exp(-z^2) * erfi(z), Dawson's integral | // compute dawson(z) = sqrt(pi)/2 * exp(-z^2) * erfi(z), Dawson's integral | |||
double _Complex cdawson(double _Complex z); | double _Complex cdawson(double _Complex z); | |||
double dawson (double x); // special case for real x | double dawson (double x); // special case for real x | |||
// compute voigt(x,??), the convolution of a Gaussian and a Lorentzian | // compute voigt(x,??), the convolution of a Gaussian and a Lorentzian | |||
double voigt( double x, double sigma, double gamma ); | double voigt( double x, double sigma, double gamma ); | |||
// EXPERIMENTAL | ||||
double cerf_experimental_imw( double x, double y ); | ||||
double cerf_experimental_rew( double x, double y ); | ||||
__END_DECLS | __END_DECLS | |||
#endif /* __CERF_H__ */ | #endif /* __CERF_H__ */ | |||
End of changes. 4 change blocks. | ||||
4 lines changed or deleted | 7 lines changed or added | |||