libcerf

Package module with aliases.

Modules

erfcx_
module libcerf.erfcx_

Compute erfcx(x) = exp(x^2) erfc(x) function, for real x, using a novel algorithm that is much faster than DERFC of SLATEC. This function is used in the computation of Faddeeva, Dawson, and other complex error functions.

err_fcts
module libcerf.err_fcts

Computate Dawson, Voigt, and several error functions, based on erfcx, im_w_of_x, w_of_z as implemented in separate files.

im_w_of_x
module libcerf.im_w_of_x

Compute complex error functions, based on a new implementation of Faddeeva's w_of_z. Also provide Dawson and Voigt functions.

testutils
module libcerf.testutils

Internal test utilities. Use flags -unittest -debug=libcerf to receive debug info.

w_of_z
module libcerf.w_of_z

Computation of Faddeeva's complex scaled error function, w(z) = exp(-z^2) * erfc(-i*z), nameless function (7.1.3) of Abramowitz&Stegun (1964), also known as the plasma dispersion function.

Members

Aliases

dawson
alias dawson = libcerf.err_fcts.cdawson
alias dawson = libcerf.err_fcts.dawson

Alias for libcerf.err_fcts.cdawson and libcerf.err_fcts.dawson.

erf
alias erf = libcerf.err_fcts.cerf

Alias for libcerf.err_fcts.cerf.

erfc
alias erfc = libcerf.err_fcts.cerf

Alias for libcerf.err_fcts.cerfc.

erfcx
alias erfcx = libcerf.err_fcts.cerfcx
alias erfcx = libcerf.erfcx_.erfcx

Alias for libcerf.err_fcts.cerfcx and libcerf.erfcx_.erfcx.

erfi
alias erfi = libcerf.err_fcts.cerfi
alias erfi = libcerf.err_fcts.erfi

Alias for libcerf.err_fcts.cerfi and libcerf.err_fcts.erfi.

fadeeva
alias fadeeva = libcerf.w_of_z.w_of_z

Alias for libcerf.w_of_z.w_of_z.

fadeevaIm
alias fadeevaIm = libcerf.im_w_of_x.im_w_of_x

Alias for libcerf.im_w_of_x.im_w_of_x.

voigt
alias voigt = libcerf.err_fcts.voigt

Alias for libcerf.err_fcts.voigt

Examples

import std.complex, std.math;
import libcerf;

auto c = erfi(complex(1.0, 0.0));
auto f = erfi(1.0);

assert(fabs((c.re - f)/f) < 1e-13);

See Also

Original Faddeeva Package

C source code

D source code: github

Meta

Date

Date: September 21, 2014

Authors

Steven G. Johnson, core author; Joachim Wuttke, C package maintainer; Ilya Yaroshenko, D package maintainer

License

Subject to the terms of the MIT license, as written in the included LICENSE.txt file.