[][src]Enum fasteval::compiler::Instruction

pub enum Instruction {
    IConst(f64),
    INeg(InstructionI),
    INot(InstructionI),
    IInv(InstructionI),
    IAdd(InstructionIIC),
    IMul(InstructionIIC),
    IMod {
        dividend: IC,
        divisor: IC,
    },
    IExp {
        base: IC,
        power: IC,
    },
    ILT(ICIC),
    ILTE(ICIC),
    IEQ(ICIC),
    INE(ICIC),
    IGTE(ICIC),
    IGT(ICIC),
    IOR(InstructionIIC),
    IAND(InstructionIIC),
    IVar(String),
    IFunc {
        name: String,
        args: Vec<IC>,
    },
    IFuncInt(InstructionI),
    IFuncCeil(InstructionI),
    IFuncFloor(InstructionI),
    IFuncAbs(InstructionI),
    IFuncSign(InstructionI),
    IFuncLog {
        base: IC,
        of: IC,
    },
    IFuncRound {
        modulus: IC,
        of: IC,
    },
    IFuncMin(InstructionIIC),
    IFuncMax(InstructionIIC),
    IFuncSin(InstructionI),
    IFuncCos(InstructionI),
    IFuncTan(InstructionI),
    IFuncASin(InstructionI),
    IFuncACos(InstructionI),
    IFuncATan(InstructionI),
    IFuncSinH(InstructionI),
    IFuncCosH(InstructionI),
    IFuncTanH(InstructionI),
    IFuncASinH(InstructionI),
    IFuncACosH(InstructionI),
    IFuncATanH(InstructionI),
    IPrintFunc(PrintFunc),
}

An Instruction is an optimized AST node resulting from compilation.

Variants

IConst(f64)
IMod

Fields of IMod

dividend: ICdivisor: IC
IExp

Fields of IExp

base: ICpower: IC
ILT(ICIC)
ILTE(ICIC)
IEQ(ICIC)
INE(ICIC)
IGTE(ICIC)
IGT(ICIC)
IVar(String)
IFunc

Fields of IFunc

name: Stringargs: Vec<IC>
IFuncInt(InstructionI)
IFuncCeil(InstructionI)
IFuncFloor(InstructionI)
IFuncAbs(InstructionI)
IFuncSign(InstructionI)
IFuncLog

Fields of IFuncLog

base: ICof: IC
IFuncRound

Fields of IFuncRound

modulus: ICof: IC
IFuncMin(InstructionIIC)
IFuncMax(InstructionIIC)
IFuncSin(InstructionI)
IFuncCos(InstructionI)
IFuncTan(InstructionI)
IFuncASin(InstructionI)
IFuncACos(InstructionI)
IFuncATan(InstructionI)
IFuncSinH(InstructionI)
IFuncCosH(InstructionI)
IFuncTanH(InstructionI)
IFuncASinH(InstructionI)
IFuncACosH(InstructionI)
IFuncATanH(InstructionI)
IPrintFunc(PrintFunc)

Trait Implementations

impl Debug for Instruction[src]

impl Default for Instruction[src]

impl Evaler for Instruction[src]

impl PartialEq<Instruction> for Instruction[src]

impl StructuralPartialEq for Instruction[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.