Trait FunctionLogic

Source
pub trait FunctionLogic {
    const FUNCTION_TYPE: FunctionType;

    // Required methods
    fn validate_load(
        x_in: Decimal,
        y_in: Decimal,
    ) -> Result<(Decimal, ValueCode)>;
    fn eval(
        fd: &FunctionData,
        x: Decimal,
        interp: Interpolation,
        saturating: bool,
    ) -> Result<Decimal>;

    // Provided methods
    fn proportion_difference(a: Decimal, b: Decimal) -> Result<Decimal> { ... }
    fn interpolate(
        fd: &FunctionData,
        x: Decimal,
        interp: Interpolation,
    ) -> Result<Decimal> { ... }
}

Required Associated Constants§

Required Methods§

Source

fn validate_load(x_in: Decimal, y_in: Decimal) -> Result<(Decimal, ValueCode)>

Source

fn eval( fd: &FunctionData, x: Decimal, interp: Interpolation, saturating: bool, ) -> Result<Decimal>

Provided Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl FunctionLogic for Cos

Source§

const FUNCTION_TYPE: FunctionType = FunctionType::Cos

Source§

impl FunctionLogic for Exp

Source§

const FUNCTION_TYPE: FunctionType = FunctionType::Exp

Source§

impl FunctionLogic for Ln

Source§

const FUNCTION_TYPE: FunctionType = FunctionType::Ln

Source§

impl FunctionLogic for Log10

Source§

const FUNCTION_TYPE: FunctionType = FunctionType::Log10

Source§

impl FunctionLogic for Sin

Source§

const FUNCTION_TYPE: FunctionType = FunctionType::Sin