Macaulay2 Engine
Loading...
Searching...
No Matches
SLEvaluator Class Referenceabstract

Abstract base for the SLP evaluator hierarchy. More...

#include <SLP-defs.hpp>

Inheritance diagram for SLEvaluator:
SLEvaluatorConcrete< RT >

Public Member Functions

virtual ~SLEvaluator ()
virtual SLEvaluatorspecialize (const MutableMatrix *parameters) const =0
virtual bool evaluate (const MutableMatrix *inputs, MutableMatrix *outputs)=0
virtual void text_out (buffer &o) const =0
virtual HomotopycreateHomotopy (SLEvaluator *Hxt, SLEvaluator *HxH)=0

Protected Member Functions

int ap (int rp)

Protected Attributes

SLProgramslp
std::vector< SLProgram::GATE_POSITIONvarsPos
 !! 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

Detailed Description

Abstract base for the SLP evaluator hierarchy.

Note
AI-generated documentation. Verify against the source before relying on it.

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.


The documentation for this class was generated from the following file: