pub enum TableOp {
Show 28 variants
PushConst(f64),
PushIteration,
PushCol(usize),
PushValueAt {
col_idx: usize,
iter_delta: i32,
},
PushValueAtConstRow {
col_idx: usize,
const_row: usize,
},
Add,
Subtract,
Multiply,
Divide,
Modulo,
Negate,
Power,
Abs,
Round(i32),
RoundUp(i32),
RoundDown(i32),
Min(u8),
Max(u8),
Eq,
Ne,
Lt,
Lte,
Gt,
Gte,
Not,
Jump(usize),
JumpIfZero(usize),
JumpIfNotZero(usize),
}Expand description
Compact opcodes for table cell evaluation without AST tree recursion
Variants§
PushConst(f64)
Push literal constant number onto the stack
PushIteration
Push current $iteration raw integer as f64
PushCol(usize)
Push column from current row in flat_cells
PushValueAt
Push cell from self table at (iteration_raw + iter_delta, col_idx)
PushValueAtConstRow
Push cell from self table at constant row index (e.g. static row 0)
Add
Basic arithmetic
Subtract
Multiply
Divide
Modulo
Negate
Power
Abs
Round(i32)
Excel rounding
RoundUp(i32)
RoundDown(i32)
Min(u8)
Aggregation
Max(u8)
Eq
Comparison
Ne
Lt
Lte
Gt
Gte
Not
Logical
Jump(usize)
Control flow
JumpIfZero(usize)
JumpIfNotZero(usize)
Trait Implementations§
impl Copy for TableOp
impl StructuralPartialEq for TableOp
Auto Trait Implementations§
impl Freeze for TableOp
impl RefUnwindSafe for TableOp
impl Send for TableOp
impl Sync for TableOp
impl Unpin for TableOp
impl UnsafeUnpin for TableOp
impl UnwindSafe for TableOp
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more