dsalgo 0.3.10

A package for Datastructures and Algorithms.
Documentation
pub fn is_left_absorbing<F, X>(
    f: &F,
    element: X,
    x: X,
) -> bool
where
    F: Fn(X, X) -> X,
    X: Clone + PartialEq,
{
    f(element.clone(), x) == element
}

pub fn is_right_absorbing<F, X>(
    f: &F,
    element: X,
    x: X,
) -> bool
where
    F: Fn(X, X) -> X,
    X: Clone + PartialEq,
{
    f(x, element.clone()) == element
}

pub fn is_absorbing<F, X>(
    f: &F,
    element: X,
    x: X,
) -> bool
where
    F: Fn(X, X) -> X,
    X: Clone + PartialEq,
{
    is_left_absorbing(f, element.clone(), x.clone())
        && is_right_absorbing(f, element, x)
}