Crate ftl_numkernel

Source
Expand description

This library contains the structures and traits that define which numerical kernel (i.e. the representation/manipulation of floating point numbers) must be used.

At the time of writing, you can use 2 numerical kernels:

  • Native64, is the numerical kernel in which the floating point numbers are described by the Rust’s native (64bit) representation, as described by the ANSI/IEEE Std 754-1985;
  • Rug, is the numerical kernel in which the floating point numbers are described with arbitrary precision. The precision of the number is described by the generic parameter PRECISION. This numerical kernel is available if the library is compiled with the optional flag --features=rug and uses the Rust library rug.

Modules§

errors
This module defines error types and traits for validating real and complex values.
functions
neumaier_compensated_sum

Structs§

Native64
Numerical kernel specifier to be used as generic argument (or associated type) in order to indicate that the floating point values that must be used are the Rust’s native f64 and/or Complex<f64>.

Enums§

RecipErrors

Traits§

ACos
This trait provides the interface for the inverse cosine function.
ACosH
This trait provides the interface for the inverse hyperbolic cosine function.
ASin
This trait provides the interface for the inverse sine function.
ASinH
This trait provides the interface for the inverse hyperbolic function.
ATan
This trait provides the interface for the inverse tangent function.
ATanH
This trait provides the interface for the inverse hyperbolic tangent function.
Arithmetic
Trait representing the arithmetic operations (e.g. addition, subtraction, multiplication division, negation).
Cos
This trait provides the interface for the cosine function.
CosH
This trait provides the interface for the hyperbolic cosine function.
Exp
This trait provides the interface for the exponential function.
FpChecks
FunctionsComplexType
This trait represents the functions that can be applied on complex numbers.
FunctionsGeneralType
This trait represents the functions that can be applied on real and complex numbers.
FunctionsRealType
This trait represents the functions that can be applied on real numbers.
HyperbolicFunctions
IntoInner
Trait representing the conversion of a type into its inner type.
IsFinite
This trait provides the interface for the function used to check if a number is finite (i.e. neither infinite or NaN).
IsInfinite
This trait provides the interface for the function used to check if a number is infinite.
IsNaN
This trait provides the interface for the function used to check if a value is NaN.
IsNormal
This trait provides the interface for the function used to check if a number is normal (i.e. neither zero, infinite, subnormal, or NaN).
IsSubnormal
This trait provides the interface for the function used to check if a number is sub-normal.
Ln
This trait provides the interface for the natural logarithm function.
Log2
This trait provides the interface for the base 2 logarithm function.
Log10
This trait provides the interface for the common logarithm function.
MulAdd
This trait provide the interface of the function for performing a multiplication and an addition in one fused operation.
MulComplexLeft
Trait for the multiplication between a complex number (on the left hand side) and a real number (on the right hand side). The result of these binary operation will be always a complex number.
MulComplexRight
Trait for the multiplication between a real number (on the left hand side) and a complex number (on the right hand side). The result of these binary operation will be always a complex number.
NegAssign
Compound negation and assignment.
NumKernel
Trait used to indicate the type of floating point number that is used.
Pow
PowTrait
Sin
This trait provides the interface for the sine function.
SinH
This trait provides the interface for the hyperbolic sine function.
Tan
This trait provides the interface for the tangent function.
TanH
This trait provides the interface for the hyperbolic tangent function.
TrigonometricFunctions
TryNew

Functions§

vec_f64_into_vec_float
Converts the input vec of f64 values into a vector of floating point number, as described by the generic numerical kernel T.