Trait PbsLut

Source
pub trait PbsLut {
    // Required methods
    fn name(&self) -> &'static str;
    fn gid(&self) -> PbsGid;
    fn lut_nb(&self) -> u8;
    fn lut_lg(&self) -> u8;
    fn fn_at(&self, pos: usize, params: &DigitParameters, val: usize) -> usize;
    fn deg_at(&self, pos: usize, params: &DigitParameters, deg: usize) -> usize;

    // Provided method
    fn lut_msk(&self) -> usize { ... }
}
Expand description

Base trait to depict an Pbs function Provides a set of method to reason about pbs

Required Methods§

Source

fn name(&self) -> &'static str

Source

fn gid(&self) -> PbsGid

Source

fn lut_nb(&self) -> u8

Source

fn lut_lg(&self) -> u8

Source

fn fn_at(&self, pos: usize, params: &DigitParameters, val: usize) -> usize

Source

fn deg_at(&self, pos: usize, params: &DigitParameters, deg: usize) -> usize

Provided Methods§

Source

fn lut_msk(&self) -> usize

Implementors§

Source§

impl PbsLut for Pbs

Source§

impl PbsLut for PbsBwAnd

Source§

impl PbsLut for PbsBwOr

Source§

impl PbsLut for PbsBwXor

Source§

impl PbsLut for PbsCarryInMsg

Source§

impl PbsLut for PbsCarryIsNone

Source§

impl PbsLut for PbsCarryIsSome

Source§

impl PbsLut for PbsCarryOnly

Source§

impl PbsLut for PbsCmpEq

Source§

impl PbsLut for PbsCmpEqMrg

Source§

impl PbsLut for PbsCmpGt

Source§

impl PbsLut for PbsCmpGtMrg

Source§

impl PbsLut for PbsCmpGte

Source§

impl PbsLut for PbsCmpGteMrg

Source§

impl PbsLut for PbsCmpLt

Source§

impl PbsLut for PbsCmpLtMrg

Source§

impl PbsLut for PbsCmpLte

Source§

impl PbsLut for PbsCmpLteMrg

Source§

impl PbsLut for PbsCmpNeq

Source§

impl PbsLut for PbsCmpNeqMrg

Source§

impl PbsLut for PbsCmpReduce

Source§

impl PbsLut for PbsCmpSign

Source§

impl PbsLut for PbsExtractPropGroup0

Source§

impl PbsLut for PbsExtractPropGroup1

Source§

impl PbsLut for PbsExtractPropGroup2

Source§

impl PbsLut for PbsExtractPropGroup3

Source§

impl PbsLut for PbsGenPropAdd

Source§

impl PbsLut for PbsIfFalseZeroed

Source§

impl PbsLut for PbsIfPos0FalseZeroed

Source§

impl PbsLut for PbsIfPos0TrueZeroed

Source§

impl PbsLut for PbsIfPos1FalseZeroed

Source§

impl PbsLut for PbsIfPos1FalseZeroedMsgCarry1

Source§

impl PbsLut for PbsIfPos1TrueZeroed

Source§

impl PbsLut for PbsIfTrueZeroed

Source§

impl PbsLut for PbsIsNull

Source§

impl PbsLut for PbsIsNullPos1

Source§

impl PbsLut for PbsIsSome

Source§

impl PbsLut for PbsManyCarryMsg

Source§

impl PbsLut for PbsManyGenProp

Source§

impl PbsLut for PbsManyInv1CarryMsg

Source§

impl PbsLut for PbsManyInv2CarryMsg

Source§

impl PbsLut for PbsManyInv3CarryMsg

Source§

impl PbsLut for PbsManyInv4CarryMsg

Source§

impl PbsLut for PbsManyInv5CarryMsg

Source§

impl PbsLut for PbsManyInv6CarryMsg

Source§

impl PbsLut for PbsManyInv7CarryMsg

Source§

impl PbsLut for PbsManyMsgSplit

Source§

impl PbsLut for PbsManyMsgSplitShift1

Source§

impl PbsLut for PbsManyl2mPropBit0MsgSplit

Source§

impl PbsLut for PbsManyl2mPropBit1MsgSplit

Source§

impl PbsLut for PbsManym2lPropBit0MsgSplit

Source§

impl PbsLut for PbsManym2lPropBit1MsgSplit

Source§

impl PbsLut for PbsMsgNotNull

Source§

impl PbsLut for PbsMsgNotNullPos1

Source§

impl PbsLut for PbsMsgOnly

Source§

impl PbsLut for PbsMultCarryMsg

Source§

impl PbsLut for PbsMultCarryMsgIsSome

Source§

impl PbsLut for PbsMultCarryMsgLsb

Source§

impl PbsLut for PbsMultCarryMsgMsb

Source§

impl PbsLut for PbsMultCarryMsgMsbIsSome

Source§

impl PbsLut for PbsNone

Source§

impl PbsLut for PbsNotNull

Source§

impl PbsLut for PbsReduceCarry2

Source§

impl PbsLut for PbsReduceCarry3

Source§

impl PbsLut for PbsReduceCarryPad

Source§

impl PbsLut for PbsRipple2GenProp

Source§

impl PbsLut for PbsShiftLeftByCarryPos0Msg

Source§

impl PbsLut for PbsShiftLeftByCarryPos0MsgNext

Source§

impl PbsLut for PbsShiftRightByCarryPos0Msg

Source§

impl PbsLut for PbsShiftRightByCarryPos0MsgNext

Source§

impl PbsLut for PbsSolveProp

Source§

impl PbsLut for PbsSolvePropCarry

Source§

impl PbsLut for PbsSolvePropGroupFinal0

Source§

impl PbsLut for PbsSolvePropGroupFinal1

Source§

impl PbsLut for PbsSolvePropGroupFinal2

Source§

impl PbsLut for PbsSolveQuotient

Source§

impl PbsLut for PbsSolveQuotientPos1

Source§

impl PbsLut for PbsTestMany2

Source§

impl PbsLut for PbsTestMany4

Source§

impl PbsLut for PbsTestMany8