Crate onedrop_eval

Crate onedrop_eval 

Source
Expand description

§onedrop-eval

Expression evaluator for Milkdrop per-frame and per-pixel equations.

This crate provides functionality to evaluate mathematical expressions used in Milkdrop presets, with support for all Milkdrop variables and functions.

Re-exports§

pub use bytecode::CompileError as BytecodeCompileError;
pub use bytecode::CompiledBytecode;
pub use carry::PerPointParallelism;
pub use carry::analyse_per_point;
pub use compiled_block::CompiledBlock;
pub use context::MilkContext;
pub use context::Q_CHANNEL_NAMES_32;
pub use error::EvalError;
pub use error::Result;
pub use evaluator::MilkEvaluator;
pub use evaluator::ShapeInstance;
pub use evaluator::WavePoint;
pub use math_functions::list_math_functions;
pub use math_functions::register_math_functions;

Modules§

bytecode
Stack-machine bytecode for MD2 per-point / per-pixel hot loops.
carry
Carry-dependency analysis for per-point equation blocks.
compiled_block
Compiled block: bundles a Vec<Node> (evalexpr fallback) with an optional CompiledBytecode lowering.
context
Execution context for Milkdrop expressions.
error
Error types for the onedrop-eval crate.
evaluator
Evaluator for Milkdrop expressions.
math_functions
Mathematical functions for MilkDrop expressions.

Structs§

Node
A node in the operator tree. The operator tree is created by the crate-level build_operator_tree method. It can be evaluated for a given context with the Node::eval method.

Functions§

eval_simple
Evaluate a simple expression with default context.