Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
Loading...
Searching...
No Matches
bertini::SLPCompiler Class Referenceabstract

Compiles a System (or polynomial block) into a StraightLineProgram by visiting its function-tree nodes and emitting tape instructions (with common-subexpression sharing). More...

#include <straight_line_program.hpp>

Inheritance diagram for bertini::SLPCompiler:
[legend]
Collaboration diagram for bertini::SLPCompiler:
[legend]

Public Types

typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.
typedef void ReturnType
 The type returned when visiting.

Public Member Functions

template<typename SourceT>
SLP Compile (SourceT const &source)
 Compile a source (a System or polynomial block) into a StraightLineProgram.
virtual ReturnType Visit (node::Variable const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::Integer const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::Complex const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::Rational const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::NamedExpression const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::Differential const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::SumOperator const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::MultOperator const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::IntegerPowerOperator const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::PowerOperator const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::ExpOperator const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::LogOperator const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::NegateOperator const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::SqrtOperator const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::SinOperator const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::ArcSinOperator const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::CosOperator const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::ArcCosOperator const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::TanOperator const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::ArcTanOperator const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::special_number::Pi const &)=0
 Visit an object of the visited type.
virtual ReturnType Visit (node::special_number::E const &)=0
 Visit an object of the visited type.

Detailed Description

Compiles a System (or polynomial block) into a StraightLineProgram by visiting its function-tree nodes and emitting tape instructions (with common-subexpression sharing).

Member Typedef Documentation

◆ ReturnType [1/22]

typedef void bertini::Visitor< node::ArcCosOperator, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [2/22]

typedef void bertini::Visitor< node::ArcSinOperator, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [3/22]

typedef void bertini::Visitor< node::ArcTanOperator, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [4/22]

typedef void bertini::Visitor< node::Complex, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [5/22]

typedef void bertini::Visitor< node::CosOperator, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [6/22]

typedef void bertini::Visitor< node::Differential, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [7/22]

typedef void bertini::Visitor< node::ExpOperator, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [8/22]

typedef void bertini::Visitor< node::Integer, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [9/22]

The type returned when visiting.

◆ ReturnType [10/22]

typedef void bertini::Visitor< node::LogOperator, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [11/22]

typedef void bertini::Visitor< node::MultOperator, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [12/22]

typedef void bertini::Visitor< node::NamedExpression, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [13/22]

typedef void bertini::Visitor< node::NegateOperator, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [14/22]

typedef void bertini::Visitor< node::PowerOperator, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [15/22]

typedef void bertini::Visitor< node::Rational, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [16/22]

typedef void bertini::Visitor< node::SinOperator, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [17/22]

typedef void bertini::Visitor< node::special_number::E, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [18/22]

typedef void bertini::Visitor< node::special_number::Pi, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [19/22]

typedef void bertini::Visitor< node::SqrtOperator, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [20/22]

typedef void bertini::Visitor< node::SumOperator, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [21/22]

typedef void bertini::Visitor< node::TanOperator, void >::ReturnType
inherited

The type returned when visiting.

◆ ReturnType [22/22]

typedef void bertini::Visitor< node::Variable, void >::ReturnType
inherited

The type returned when visiting.

Member Function Documentation

◆ Compile()

template<typename SourceT>
SLP bertini::SLPCompiler::Compile ( SourceT const & source)

Compile a source (a System or polynomial block) into a StraightLineProgram.

Template Parameters
SourceTA type exposing variable-ordering / functions / derivatives / path-variable accessors.
Parameters
sourceThe system or block to compile.
Returns
The compiled straight-line program.

◆ Visit() [1/22]

virtual ReturnType bertini::Visitor< node::ArcCosOperator, void >::Visit ( node::ArcCosOperator const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [2/22]

virtual ReturnType bertini::Visitor< node::ArcSinOperator, void >::Visit ( node::ArcSinOperator const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [3/22]

virtual ReturnType bertini::Visitor< node::ArcTanOperator, void >::Visit ( node::ArcTanOperator const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [4/22]

virtual ReturnType bertini::Visitor< node::Complex, void >::Visit ( node::Complex const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [5/22]

virtual ReturnType bertini::Visitor< node::CosOperator, void >::Visit ( node::CosOperator const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [6/22]

virtual ReturnType bertini::Visitor< node::Differential, void >::Visit ( node::Differential const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [7/22]

virtual ReturnType bertini::Visitor< node::ExpOperator, void >::Visit ( node::ExpOperator const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [8/22]

virtual ReturnType bertini::Visitor< node::Integer, void >::Visit ( node::Integer const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [9/22]

Visit an object of the visited type.

◆ Visit() [10/22]

virtual ReturnType bertini::Visitor< node::LogOperator, void >::Visit ( node::LogOperator const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [11/22]

virtual ReturnType bertini::Visitor< node::MultOperator, void >::Visit ( node::MultOperator const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [12/22]

virtual ReturnType bertini::Visitor< node::NamedExpression, void >::Visit ( node::NamedExpression const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [13/22]

virtual ReturnType bertini::Visitor< node::NegateOperator, void >::Visit ( node::NegateOperator const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [14/22]

virtual ReturnType bertini::Visitor< node::PowerOperator, void >::Visit ( node::PowerOperator const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [15/22]

virtual ReturnType bertini::Visitor< node::Rational, void >::Visit ( node::Rational const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [16/22]

virtual ReturnType bertini::Visitor< node::SinOperator, void >::Visit ( node::SinOperator const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [17/22]

virtual ReturnType bertini::Visitor< node::special_number::E, void >::Visit ( node::special_number::E const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [18/22]

virtual ReturnType bertini::Visitor< node::special_number::Pi, void >::Visit ( node::special_number::Pi const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [19/22]

virtual ReturnType bertini::Visitor< node::SqrtOperator, void >::Visit ( node::SqrtOperator const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [20/22]

virtual ReturnType bertini::Visitor< node::SumOperator, void >::Visit ( node::SumOperator const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [21/22]

virtual ReturnType bertini::Visitor< node::TanOperator, void >::Visit ( node::TanOperator const & )
pure virtualinherited

Visit an object of the visited type.

◆ Visit() [22/22]

virtual ReturnType bertini::Visitor< node::Variable, void >::Visit ( node::Variable const & )
pure virtualinherited

Visit an object of the visited type.