![Logo](logo.png) |
User Guide
|
Go to the documentation of this file.
55 std::shared_ptr<ModToken>
token;
121 return "EigenNewtonSolverBlock";
136 return "EIGEN_NEWTON_SOLVE";
143 return std::static_pointer_cast<EigenNewtonSolverBlock>(shared_from_this());
150 return std::static_pointer_cast<const EigenNewtonSolverBlock>(shared_from_this());
Abstract base class for all constant visitors implementation.
void set_finalize_block(std::shared_ptr< StatementBlock > &&finalize_block)
Setter for member variable EigenNewtonSolverBlock::finalize_block (rvalue reference)
void set_update_states_block(std::shared_ptr< StatementBlock > &&update_states_block)
Setter for member variable EigenNewtonSolverBlock::update_states_block (rvalue reference)
std::shared_ptr< ModToken > token
token with location information
std::shared_ptr< StatementBlock > update_states_block
update back states from X
void set_initialize_block(std::shared_ptr< StatementBlock > &&initialize_block)
Setter for member variable EigenNewtonSolverBlock::initialize_block (rvalue reference)
THIS FILE IS GENERATED AT BUILD TIME AND SHALL NOT BE EDITED.
std::shared_ptr< StatementBlock > get_initialize_block() const noexcept
Getter for member variable EigenNewtonSolverBlock::initialize_block.
@ EIGEN_NEWTON_SOLVER_BLOCK
type of ast::EigenNewtonSolverBlock
Auto generated AST classes declaration.
void set_variable_block(std::shared_ptr< StatementBlock > &&variable_block)
Setter for member variable EigenNewtonSolverBlock::variable_block (rvalue reference)
std::shared_ptr< Integer > n_state_vars
number of state vars used in solve
Represents an integer variable.
void set_setup_x_block(std::shared_ptr< StatementBlock > &&setup_x_block)
Setter for member variable EigenNewtonSolverBlock::setup_x_block (rvalue reference)
Abstract Syntax Tree (AST) related implementations.
std::shared_ptr< StatementBlock > setup_x_block
update X from states
void set_n_state_vars(std::shared_ptr< Integer > &&n_state_vars)
Setter for member variable EigenNewtonSolverBlock::n_state_vars (rvalue reference)
std::shared_ptr< Integer > get_n_state_vars() const noexcept
Getter for member variable EigenNewtonSolverBlock::n_state_vars.
void set_parent_in_children()
Set this object as parent for all the children.
std::shared_ptr< StatementBlock > functor_block
odes as functor for eigen
Represent newton solver solution block based on Eigen.
AstNodeType
Enum type for every AST node type.
const ModToken * get_token() const noexcept override
Return associated token for the current ast node.
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
Base class for all block scoped nodes.
std::shared_ptr< StatementBlock > get_setup_x_block() const noexcept
Getter for member variable EigenNewtonSolverBlock::setup_x_block.
void accept(visitor::Visitor &v) override
accept (or visit) the current AST node using provided visitor
void set_functor_block(std::shared_ptr< StatementBlock > &&functor_block)
Setter for member variable EigenNewtonSolverBlock::functor_block (rvalue reference)
Abstract base class for all visitors implementation.
AstNodeType get_node_type() const noexcept override
Return type (ast::AstNodeType) of ast node.
void set_symbol_table(symtab::SymbolTable *newsymtab) override
Set symbol table for the current ast node.
symtab::SymbolTable * get_symbol_table() const override
Return associated symbol table for the current ast node.
symtab::SymbolTable * symtab
symbol table for a block
std::shared_ptr< StatementBlock > variable_block
Statements to be declared in the functor.
virtual ~EigenNewtonSolverBlock()=default
std::shared_ptr< StatementBlock > finalize_block
Statement block to be executed after calling newton solver.
Represent symbol table for a NMODL block.
std::shared_ptr< StatementBlock > initialize_block
Statement block to be executed before calling newton solver.
std::string get_nmodl_name() const noexcept override
Return NMODL statement of ast node as std::string.
bool is_eigen_newton_solver_block() const noexcept override
Check if the ast node is an instance of ast::EigenNewtonSolverBlock.
std::shared_ptr< StatementBlock > get_functor_block() const noexcept
Getter for member variable EigenNewtonSolverBlock::functor_block.
void set_token(const ModToken &tok)
Set token for the current ast node.
Represents block encapsulating list of statements.
std::shared_ptr< StatementBlock > get_variable_block() const noexcept
Getter for member variable EigenNewtonSolverBlock::variable_block.
EigenNewtonSolverBlock * clone() const override
Return a copy of the current node.
void visit_children(visitor::Visitor &v) override
visit children i.e.
EigenNewtonSolverBlock(Integer *n_state_vars, StatementBlock *variable_block, StatementBlock *initialize_block, StatementBlock *setup_x_block, StatementBlock *functor_block, StatementBlock *update_states_block, StatementBlock *finalize_block)
std::shared_ptr< const Ast > get_shared_ptr() const override
Get std::shared_ptr from this pointer of the current ast node.
std::shared_ptr< StatementBlock > get_update_states_block() const noexcept
Getter for member variable EigenNewtonSolverBlock::update_states_block.
std::shared_ptr< StatementBlock > get_finalize_block() const noexcept
Getter for member variable EigenNewtonSolverBlock::finalize_block.
Represent token returned by scanner.
std::shared_ptr< Ast > get_shared_ptr() override
Get std::shared_ptr from this pointer of the current ast node.