pub trait ComplexSpecialMathWithPolicy: ComplexVector {
// Required methods
fn faddeeva_w_p<P: Policy>(self) -> Self;
fn erfcx_p<P: Policy>(self) -> Self;
fn voigt_p<P: Policy>(self) -> Self::Real;
}special only.Expand description
ComplexSpecial math functions with customizable policies. Complex special functions that carry an element-specific coefficient table.
Generated from SpecializedComplexSpecialMath by the same macro that builds
ComplexMath, so z.faddeeva_w_p::<Precision>() behaves as
z.norm_p::<Precision>() does and generic code can bound on V: ComplexSpecialMath.
Only the members with no home in SpecialMath are
re-exposed here. The Gamma family is already z.tgamma() there; declaring it a
second time would make every such call ambiguous whenever both traits are in scope.
Each function takes a Policy as its first generic argument. For the
default-policy versions (same names, no _p suffix), see ComplexSpecialMath.
Implemented automatically for every type implementing SpecializedComplexSpecialMath.
Required Methods§
Sourcefn faddeeva_w_p<P: Policy>(self) -> Self
fn faddeeva_w_p<P: Policy>(self) -> Self
$w(z) = e^{-z^2}\operatorname{erfc}(-iz)$, the Faddeeva function (also the
complex error function, or the plasma dispersion function up to a factor).
See faddeeva for the algorithm, the accuracy ladder, and the one
caveat that matters ($\operatorname{Re} w$ near the real axis).
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".