Trait Transformation

Source
pub trait Transformation<Input, Output>: Sync {
    // Required method
    fn transform(&self, data: &Input) -> Output;
}
Expand description

Generic transformation trait that is used both for scalars and packed fields

Required Methods§

Source

fn transform(&self, data: &Input) -> Output

Implementors§

Source§

impl<IF, OF, IEP, OEP, T> Transformation<IEP, OEP> for SubfieldTransformer<IF, OF, T>
where IF: Field, OF: Field, IEP: PackedExtension<IF>, OEP: PackedExtension<OF>, T: Transformation<PackedSubfield<IEP, IF>, PackedSubfield<OEP, OF>>,

Source§

impl<IF: BinaryField, OF: BinaryField, Data: AsRef<[OF]> + Sync> Transformation<IF, OF> for FieldLinearTransformation<OF, Data>

Source§

impl<Inner, Input, Output> Transformation<Input, Output> for InputWrappingTransformation<Inner, Input, Output>
where Inner: Transformation<Input::Underlier, Output>, Input: WithUnderlier, Output: Sync,

Source§

impl<Inner, Input, Output> Transformation<Input, Output> for OutputWrappingTransformation<Inner, Input, Output>
where Inner: Transformation<Input, Output::Underlier>, Input: Sync, Output: WithUnderlier,

Source§

impl<OP: PackedBinaryField> Transformation<OP, OP> for IDTransformation

Source§

impl<UIn, UOut> Transformation<UIn, UOut> for BytewiseLookupTransformation<UIn, UOut>
where UIn: UnderlierType + DivisIterable<u8>, UOut: UnderlierWithBitOps,