snarkvm_console_collections::environment

Trait Ternary

Source
pub trait Ternary {
    type Boolean;
    type Output;

    // Required method
    fn ternary(
        condition: &Self::Boolean,
        first: &Self,
        second: &Self,
    ) -> Self::Output
       where Self: Sized;
}
Expand description

Trait for ternary operations.

Required Associated Types§

Required Methods§

Source

fn ternary( condition: &Self::Boolean, first: &Self, second: &Self, ) -> Self::Output
where Self: Sized,

Returns first if condition is true, otherwise returns second.

Implementations on Foreign Types§

Source§

impl<T> Ternary for Box<T>
where T: Ternary,

Source§

fn ternary( condition: &<Box<T> as Ternary>::Boolean, first: &Box<T>, second: &Box<T>, ) -> <Box<T> as Ternary>::Output

Returns first if condition is true, otherwise returns second.

Source§

type Boolean = <T as Ternary>::Boolean

Source§

type Output = Box<<T as Ternary>::Output>

Implementors§

Source§

impl<E> Ternary for Boolean<E>
where E: Environment,

Source§

impl<E> Ternary for Field<E>
where E: Environment,

Source§

impl<E> Ternary for Group<E>
where E: Environment,

Source§

impl<E> Ternary for Scalar<E>
where E: Environment,

Source§

impl<E, I> Ternary for Integer<E, I>
where E: Environment, I: IntegerType,