|
Macaulay2 Engine
|
Abstract base for the SLP evaluator hierarchy. More...
#include <SLP-defs.hpp>
Public Member Functions | |
| virtual | ~SLEvaluator () |
| virtual SLEvaluator * | specialize (const MutableMatrix *parameters) const =0 |
| virtual bool | evaluate (const MutableMatrix *inputs, MutableMatrix *outputs)=0 |
| virtual void | text_out (buffer &o) const =0 |
| virtual Homotopy * | createHomotopy (SLEvaluator *Hxt, SLEvaluator *HxH)=0 |
Protected Member Functions | |
| int | ap (int rp) |
Protected Attributes | |
| SLProgram * | slp |
| std::vector< SLProgram::GATE_POSITION > | varsPos |
| !! can we make it a reference??? | |
| std::vector< SLProgram::GATE_TYPE >::iterator | nIt |
| std::vector< SLProgram::GATE_SIZE >::iterator | numInputsIt |
| std::vector< SLProgram::GATE_POSITION >::iterator | inputPositionsIt |
Abstract base for the SLP evaluator hierarchy.
Holds an SLProgram* plus iterators into its gate arrays and declares the pure-virtual interface (evaluate, specialize, createHomotopy, text_out) used by interpreter callers. Concrete arithmetic happens in SLEvaluatorConcrete<RT>, which carries the std::vector<RT::ElementType> of node values and (optionally) a compiled function pointer.
Definition at line 269 of file SLP-defs.hpp.