From 379229d3aed93db05e41b3024d13100dab25da84 Mon Sep 17 00:00:00 2001 From: 1uc Date: Tue, 12 Dec 2023 07:35:35 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20BlueBrai?= =?UTF-8?q?n/nmodl@9dd08522c7d1978609bc5ebd6e677ec6f491d31b=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...degen_1_1_codegen_acc_visitor-members.html | 2 +- ...dl_1_1codegen_1_1_codegen_acc_visitor.html | 6 +- ...odegen_coreneuron_cpp_visitor-members.html | 2 +- ...en_1_1_codegen_coreneuron_cpp_visitor.html | 44 +- ...egen_1_1_codegen_coreneuron_cpp_visitor.js | 1 - ...degen_1_1_codegen_cpp_visitor-members.html | 2 +- ...dl_1_1codegen_1_1_codegen_cpp_visitor.html | 47 +- ...modl_1_1codegen_1_1_codegen_cpp_visitor.js | 1 + ..._1_codegen_neuron_cpp_visitor-members.html | 2 +- ...odegen_1_1_codegen_neuron_cpp_visitor.html | 44 +- ...1codegen_1_1_codegen_neuron_cpp_visitor.js | 1 - ...assnmodl_1_1visitor_1_1_const_visitor.html | 2 +- ..._coreneuron__cpp__visitor_8hpp_source.html | 243 ++++--- .../codegen__cpp__visitor_8cpp_source.html | 630 +++++++++--------- .../codegen__cpp__visitor_8hpp_source.html | 119 ++-- ...gen__neuron__cpp__visitor_8hpp_source.html | 231 ++++--- html/doxygen/functions_func_v.html | 3 +- html/doxygen/functions_v.html | 5 +- html/doxygen/group__codegen__backends.html | 6 +- html/doxygen/group__codegen__backends.js | 3 +- html/doxygen/navtreedata.js | 32 +- html/doxygen/navtreeindex15.js | 44 +- html/doxygen/navtreeindex16.js | 14 +- html/doxygen/navtreeindex17.js | 4 +- html/doxygen/navtreeindex18.js | 4 +- html/doxygen/navtreeindex19.js | 4 +- html/doxygen/navtreeindex20.js | 4 +- html/doxygen/navtreeindex21.js | 4 +- html/doxygen/navtreeindex22.js | 4 +- html/doxygen/navtreeindex23.js | 4 +- html/doxygen/navtreeindex24.js | 4 +- html/doxygen/navtreeindex25.js | 14 +- html/doxygen/navtreeindex26.js | 46 +- html/doxygen/navtreeindex27.js | 4 +- html/doxygen/navtreeindex28.js | 12 +- html/doxygen/navtreeindex29.js | 12 +- html/doxygen/navtreeindex30.js | 4 +- html/doxygen/navtreeindex31.js | 4 +- html/doxygen/navtreeindex32.js | 4 +- html/doxygen/navtreeindex33.js | 1 - html/doxygen/search/all_14.js | 4 +- html/doxygen/search/functions_14.js | 2 +- ..._coreneuron__cpp__visitor_8cpp_source.html | 30 +- ...gen__neuron__cpp__visitor_8cpp_source.html | 27 +- html/doxygen/src_2main_8cpp_source.html | 2 +- 45 files changed, 818 insertions(+), 864 deletions(-) diff --git a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_acc_visitor-members.html b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_acc_visitor-members.html index 1583e4a4b7..5bd538da59 100644 --- a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_acc_visitor-members.html +++ b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_acc_visitor-members.html @@ -404,7 +404,7 @@ visit_reaction_operator(const ast::ReactionOperator &node) overridenmodl::visitor::ConstAstVisitorvirtual visit_reaction_statement(const ast::ReactionStatement &node) overridenmodl::visitor::ConstAstVisitorvirtual visit_read_ion_var(const ast::ReadIonVar &node) overridenmodl::visitor::ConstAstVisitorvirtual - visit_solution_expression(const ast::SolutionExpression &node) overridenmodl::codegen::CodegenCoreneuronCppVisitorprotectedvirtual + visit_solution_expression(const ast::SolutionExpression &node) overridenmodl::codegen::CodegenCppVisitorprotectedvirtual visit_solve_block(const ast::SolveBlock &node) overridenmodl::visitor::ConstAstVisitorvirtual visit_state_block(const ast::StateBlock &node) overridenmodl::visitor::ConstAstVisitorvirtual visit_statement(const ast::Statement &node) overridenmodl::visitor::ConstAstVisitorvirtual diff --git a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_acc_visitor.html b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_acc_visitor.html index 273645cad9..07b3af9585 100644 --- a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_acc_visitor.html +++ b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_acc_visitor.html @@ -950,9 +950,6 @@ void visit_for_netcon (const ast::ForNetcon &node) override  visit node of type ast::ForNetcon More...
  -virtual void visit_solution_expression (const ast::SolutionExpression &node) override - visit node of type ast::SolutionExpression More...
-  virtual void visit_watch_statement (const ast::WatchStatement &node) override  visit node of type ast::WatchStatement More...
  @@ -1162,6 +1159,9 @@ void visit_mutex_unlock (const ast::MutexUnlock &node) override  visit node of type ast::MutexUnlock More...
  +void visit_solution_expression (const ast::SolutionExpression &node) override + visit node of type ast::SolutionExpression More...
+  std::string compute_method_name (BlockType type) const   diff --git a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor-members.html b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor-members.html index 2e1b77b005..ae3478e356 100644 --- a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor-members.html +++ b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor-members.html @@ -402,7 +402,7 @@ - + diff --git a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html index f2d5cc8cd0..2ce457ba6e 100644 --- a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html +++ b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html @@ -950,9 +950,6 @@ - - - @@ -1162,6 +1159,9 @@ + + +
visit_reaction_operator(const ast::ReactionOperator &node) overridenmodl::visitor::ConstAstVisitorvirtual
visit_reaction_statement(const ast::ReactionStatement &node) overridenmodl::visitor::ConstAstVisitorvirtual
visit_read_ion_var(const ast::ReadIonVar &node) overridenmodl::visitor::ConstAstVisitorvirtual
visit_solution_expression(const ast::SolutionExpression &node) overridenmodl::codegen::CodegenCoreneuronCppVisitorprotectedvirtual
visit_solution_expression(const ast::SolutionExpression &node) overridenmodl::codegen::CodegenCppVisitorprotectedvirtual
visit_solve_block(const ast::SolveBlock &node) overridenmodl::visitor::ConstAstVisitorvirtual
visit_state_block(const ast::StateBlock &node) overridenmodl::visitor::ConstAstVisitorvirtual
visit_statement(const ast::Statement &node) overridenmodl::visitor::ConstAstVisitorvirtual
void visit_for_netcon (const ast::ForNetcon &node) override
 visit node of type ast::ForNetcon More...
 
virtual void visit_solution_expression (const ast::SolutionExpression &node) override
 visit node of type ast::SolutionExpression More...
 
virtual void visit_watch_statement (const ast::WatchStatement &node) override
 visit node of type ast::WatchStatement More...
 
void visit_mutex_unlock (const ast::MutexUnlock &node) override
 visit node of type ast::MutexUnlock More...
 
void visit_solution_expression (const ast::SolutionExpression &node) override
 visit node of type ast::SolutionExpression More...
 
std::string compute_method_name (BlockType type) const
 
@@ -1298,7 +1298,7 @@

Definition at line 1231 of file codegen_coreneuron_cpp_visitor.hpp.

+

Definition at line 1230 of file codegen_coreneuron_cpp_visitor.hpp.

@@ -1360,7 +1360,7 @@

Definition at line 1253 of file codegen_coreneuron_cpp_visitor.hpp.

+

Definition at line 1252 of file codegen_coreneuron_cpp_visitor.hpp.

@@ -6453,38 +6453,6 @@

Definition at line 3742 of file codegen_coreneuron_cpp_visitor.cpp.

- - - -

◆ visit_solution_expression()

- -
-
-

- - - - -
- - - - - - - - -
void nmodl::codegen::CodegenCoreneuronCppVisitor::visit_solution_expression (const ast::SolutionExpressionnode)
-
-overrideprotectedvirtual
-
- -

visit node of type ast::SolutionExpression

- -

Implements nmodl::visitor::ConstVisitor.

- -

Definition at line 3780 of file codegen_coreneuron_cpp_visitor.cpp.

-
@@ -6515,7 +6483,7 @@

nmodl::visitor::ConstVisitor.

-

Definition at line 3791 of file codegen_coreneuron_cpp_visitor.cpp.

+

Definition at line 3780 of file codegen_coreneuron_cpp_visitor.cpp.

diff --git a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.js b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.js index 854261e507..9adafcb61f 100644 --- a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.js +++ b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.js @@ -152,7 +152,6 @@ var classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor = [ "visit_eigen_linear_solver_block", "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#afa72e4268acf4beee9e0297e7efa9f3f", null ], [ "visit_eigen_newton_solver_block", "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a06aa792160b4f021f66b58a21d3a296c", null ], [ "visit_for_netcon", "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a524be3f8fa4165f983647ed8ebbb9f01", null ], - [ "visit_solution_expression", "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#abab2d506aa44fb0e53561f38b69c35ef", null ], [ "visit_watch_statement", "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a8d05784b3300be188775cf2ec9958dc6", null ], [ "write_ion_variable_name", "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a4c6c17a2eeafae316e104bf5722337fa", null ] ]; \ No newline at end of file diff --git a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_cpp_visitor-members.html b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_cpp_visitor-members.html index a4c64a38b4..d95f7c1af5 100644 --- a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_cpp_visitor-members.html +++ b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_cpp_visitor-members.html @@ -307,7 +307,7 @@ visit_reaction_operator(const ast::ReactionOperator &node) overridenmodl::visitor::ConstAstVisitorvirtual visit_reaction_statement(const ast::ReactionStatement &node) overridenmodl::visitor::ConstAstVisitorvirtual visit_read_ion_var(const ast::ReadIonVar &node) overridenmodl::visitor::ConstAstVisitorvirtual - visit_solution_expression(const ast::SolutionExpression &node) overridenmodl::visitor::ConstAstVisitorvirtual + visit_solution_expression(const ast::SolutionExpression &node) overridenmodl::codegen::CodegenCppVisitorprotectedvirtual visit_solve_block(const ast::SolveBlock &node) overridenmodl::visitor::ConstAstVisitorvirtual visit_state_block(const ast::StateBlock &node) overridenmodl::visitor::ConstAstVisitorvirtual visit_statement(const ast::Statement &node) overridenmodl::visitor::ConstAstVisitorvirtual diff --git a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html index 2b0bc68500..e013cc4144 100644 --- a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html +++ b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html @@ -871,6 +871,9 @@ void visit_mutex_unlock (const ast::MutexUnlock &node) override  visit node of type ast::MutexUnlock More...
  +void visit_solution_expression (const ast::SolutionExpression &node) override + visit node of type ast::SolutionExpression More...
+  std::string compute_method_name (BlockType type) const   @@ -1216,7 +1219,7 @@

-

Definition at line 889 of file codegen_cpp_visitor.cpp.

+

Definition at line 900 of file codegen_cpp_visitor.cpp.

@@ -1619,7 +1622,7 @@

Returns
A vector of float variables
-

Definition at line 685 of file codegen_cpp_visitor.cpp.

+

Definition at line 696 of file codegen_cpp_visitor.cpp.

@@ -1666,7 +1669,7 @@

Note
Variables for watch statements : there is one extra variable used in coreneuron compared to actual watch statements for compatibility with neuron (which uses one extra Datum variable)
-

Definition at line 751 of file codegen_cpp_visitor.cpp.

+

Definition at line 762 of file codegen_cpp_visitor.cpp.

@@ -4176,7 +4179,7 @@

Definition at line 870 of file codegen_cpp_visitor.cpp.

+

Definition at line 881 of file codegen_cpp_visitor.cpp.

@@ -4274,7 +4277,7 @@

Definition at line 618 of file codegen_cpp_visitor.cpp.

+

Definition at line 629 of file codegen_cpp_visitor.cpp.

@@ -4888,7 +4891,7 @@

nmodl::visitor::ConstVisitor.

-

Definition at line 912 of file codegen_cpp_visitor.cpp.

+

Definition at line 923 of file codegen_cpp_visitor.cpp.

@@ -4922,6 +4925,38 @@

Definition at line 594 of file codegen_cpp_visitor.cpp.

+ + + +

◆ visit_solution_expression()

+ +
+
+

+ + + + +
+ + + + + + + + +
void nmodl::codegen::CodegenCppVisitor::visit_solution_expression (const ast::SolutionExpressionnode)
+
+overrideprotectedvirtual
+
+ +

visit node of type ast::SolutionExpression

+ +

Implements nmodl::visitor::ConstVisitor.

+ +

Definition at line 614 of file codegen_cpp_visitor.cpp.

+
diff --git a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_cpp_visitor.js b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_cpp_visitor.js index 2379c40d8b..74fe6a5aa2 100644 --- a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_cpp_visitor.js +++ b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_cpp_visitor.js @@ -120,6 +120,7 @@ var classnmodl_1_1codegen_1_1_codegen_cpp_visitor = [ "visit_prime_name", "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a0c937b0ca36a6489bbc6630db5df0cf5", null ], [ "visit_program", "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a491e418920668f8fce331c65e8b48a02", null ], [ "visit_protect_statement", "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a946c6fc559c23573210285ed47e28570", null ], + [ "visit_solution_expression", "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a40bc1308f847c66bc91d9c93368db6ec", null ], [ "visit_statement_block", "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a8eb67dab884cc678e541ff5cc77b5e03", null ], [ "visit_string", "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a502fd875dc95e68f905fe2070abaeff8", null ], [ "visit_unary_operator", "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a6e7b32701d8bf69f1ba8995e4bf50ad3", null ], diff --git a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor-members.html b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor-members.html index 5be23f9f2e..78d5dc4cbe 100644 --- a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor-members.html +++ b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor-members.html @@ -316,7 +316,7 @@ visit_reaction_operator(const ast::ReactionOperator &node) overridenmodl::visitor::ConstAstVisitorvirtual visit_reaction_statement(const ast::ReactionStatement &node) overridenmodl::visitor::ConstAstVisitorvirtual visit_read_ion_var(const ast::ReadIonVar &node) overridenmodl::visitor::ConstAstVisitorvirtual - visit_solution_expression(const ast::SolutionExpression &node) overridenmodl::codegen::CodegenNeuronCppVisitorprotectedvirtual + visit_solution_expression(const ast::SolutionExpression &node) overridenmodl::codegen::CodegenCppVisitorprotectedvirtual visit_solve_block(const ast::SolveBlock &node) overridenmodl::visitor::ConstAstVisitorvirtual visit_state_block(const ast::StateBlock &node) overridenmodl::visitor::ConstAstVisitorvirtual visit_statement(const ast::Statement &node) overridenmodl::visitor::ConstAstVisitorvirtual diff --git a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html index b6bb482658..5216d84433 100644 --- a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html +++ b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html @@ -682,9 +682,6 @@ void print_codegen_routines () override  Print entry point to code generation. More...
  -virtual void visit_solution_expression (const ast::SolutionExpression &node) override - TODO: Edit for NEURON. More...
-  virtual void visit_watch_statement (const ast::WatchStatement &node) override  TODO: Edit for NEURON. More...
  @@ -894,6 +891,9 @@ void visit_mutex_unlock (const ast::MutexUnlock &node) override  visit node of type ast::MutexUnlock More...
  +void visit_solution_expression (const ast::SolutionExpression &node) override + visit node of type ast::SolutionExpression More...
+  std::string compute_method_name (BlockType type) const   @@ -1021,7 +1021,7 @@

Definition at line 593 of file codegen_neuron_cpp_visitor.hpp.

+

Definition at line 592 of file codegen_neuron_cpp_visitor.hpp.

@@ -1083,7 +1083,7 @@

Definition at line 615 of file codegen_neuron_cpp_visitor.hpp.

+

Definition at line 614 of file codegen_neuron_cpp_visitor.hpp.

@@ -3194,38 +3194,6 @@

Definition at line 35 of file codegen_neuron_cpp_visitor.cpp.

- - - -

◆ visit_solution_expression()

- -
-
-

- - - - -
- - - - - - - - -
void nmodl::codegen::CodegenNeuronCppVisitor::visit_solution_expression (const ast::SolutionExpressionnode)
-
-overrideprotectedvirtual
-
- -

TODO: Edit for NEURON.

- -

Implements nmodl::visitor::ConstVisitor.

- -

Definition at line 741 of file codegen_neuron_cpp_visitor.cpp.

-
@@ -3256,7 +3224,7 @@

nmodl::visitor::ConstVisitor.

-

Definition at line 747 of file codegen_neuron_cpp_visitor.cpp.

+

Definition at line 740 of file codegen_neuron_cpp_visitor.cpp.

diff --git a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.js b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.js index c5fbdf998a..17a7f59e41 100644 --- a/html/doxygen/classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.js +++ b/html/doxygen/classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.js @@ -62,6 +62,5 @@ var classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor = [ "process_verbatim_text", "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a13af4fa40fc5b97bfcf91d199fe6a8e2", null ], [ "register_mechanism_arguments", "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a50026c205b223b41ffe682526735873c", null ], [ "simulator_name", "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a77ac6349ba709a4ef7ecd6a4c34b9e0c", null ], - [ "visit_solution_expression", "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#aaf5e58f5a33a545e01d5720d6812fa4f", null ], [ "visit_watch_statement", "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a403636272eebe18cf3f25759c06ec00a", null ] ]; \ No newline at end of file diff --git a/html/doxygen/classnmodl_1_1visitor_1_1_const_visitor.html b/html/doxygen/classnmodl_1_1visitor_1_1_const_visitor.html index 3512ac3e7a..fdb32f0d7c 100644 --- a/html/doxygen/classnmodl_1_1visitor_1_1_const_visitor.html +++ b/html/doxygen/classnmodl_1_1visitor_1_1_const_visitor.html @@ -3398,7 +3398,7 @@

ast::SolutionExpression

-

Implemented in nmodl::codegen::CodegenCoreneuronCppVisitor, nmodl::codegen::CodegenNeuronCppVisitor, nmodl::visitor::test::CheckParentVisitor, nmodl::visitor::ConstAstVisitor, nmodl::visitor::JSONVisitor, and nmodl::visitor::NmodlPrintVisitor.

+

Implemented in nmodl::codegen::CodegenCppVisitor, nmodl::visitor::test::CheckParentVisitor, nmodl::visitor::ConstAstVisitor, nmodl::visitor::JSONVisitor, and nmodl::visitor::NmodlPrintVisitor.

diff --git a/html/doxygen/codegen__coreneuron__cpp__visitor_8hpp_source.html b/html/doxygen/codegen__coreneuron__cpp__visitor_8hpp_source.html index 5d1ec6b95d..22fd0459b8 100644 --- a/html/doxygen/codegen__coreneuron__cpp__visitor_8hpp_source.html +++ b/html/doxygen/codegen__coreneuron__cpp__visitor_8hpp_source.html @@ -1293,126 +1293,125 @@
1197  void visit_eigen_newton_solver_block(const ast::EigenNewtonSolverBlock& node) override;
1198  void visit_eigen_linear_solver_block(const ast::EigenLinearSolverBlock& node) override;
1199  void visit_for_netcon(const ast::ForNetcon& node) override;
-
1200  virtual void visit_solution_expression(const ast::SolutionExpression& node) override;
-
1201  virtual void visit_watch_statement(const ast::WatchStatement& node) override;
-
1202 
-
1203 
-
1204  /**
-
1205  * Print prototype declarations of functions or procedures
-
1206  * \tparam T The AST node type of the node (must be of nmodl::ast::Ast or subclass)
-
1207  * \param node The AST node representing the function or procedure block
-
1208  * \param name A user defined name for the function
-
1209  */
-
1210  template <typename T>
-
1211  void print_function_declaration(const T& node, const std::string& name);
+
1200  virtual void visit_watch_statement(const ast::WatchStatement& node) override;
+
1201 
+
1202 
+
1203  /**
+
1204  * Print prototype declarations of functions or procedures
+
1205  * \tparam T The AST node type of the node (must be of nmodl::ast::Ast or subclass)
+
1206  * \param node The AST node representing the function or procedure block
+
1207  * \param name A user defined name for the function
+
1208  */
+
1209  template <typename T>
+
1210  void print_function_declaration(const T& node, const std::string& name);
+
1211 
1212 
-
1213 
-
1214  public:
-
1215  /**
-
1216  * \brief Constructs the C++ code generator visitor
-
1217  *
-
1218  * This constructor instantiates an NMODL C++ code generator and allows writing generated code
-
1219  * directly to a file in \c [output_dir]/[mod_filename].cpp.
-
1220  *
-
1221  * \note No code generation is performed at this stage. Since the code
-
1222  * generator classes are all based on \c AstVisitor the AST must be visited using e.g. \c
-
1223  * visit_program in order to generate the C++ code corresponding to the AST.
-
1224  *
-
1225  * \param mod_filename The name of the model for which code should be generated.
-
1226  * It is used for constructing an output filename.
-
1227  * \param output_dir The directory where target C++ file should be generated.
-
1228  * \param float_type The float type to use in the generated code. The string will be used
-
1229  * as-is in the target code. This defaults to \c double.
-
1230  */
- -
1232  const std::string& output_dir,
-
1233  std::string float_type,
-
1234  const bool optimize_ionvar_copies)
- -
1236 
-
1237  /**
-
1238  * \copybrief nmodl::codegen::CodegenCoreneuronCppVisitor
-
1239  *
-
1240  * This constructor instantiates an NMODL C++ code generator and allows writing generated code
-
1241  * into an output stream.
-
1242  *
-
1243  * \note No code generation is performed at this stage. Since the code
-
1244  * generator classes are all based on \c AstVisitor the AST must be visited using e.g. \c
-
1245  * visit_program in order to generate the C++ code corresponding to the AST.
-
1246  *
-
1247  * \param mod_filename The name of the model for which code should be generated.
-
1248  * It is used for constructing an output filename.
-
1249  * \param stream The output stream onto which to write the generated code
-
1250  * \param float_type The float type to use in the generated code. The string will be used
-
1251  * as-is in the target code. This defaults to \c double.
-
1252  */
- -
1254  std::ostream& stream,
-
1255  std::string float_type,
-
1256  const bool optimize_ionvar_copies)
- +
1213  public:
+
1214  /**
+
1215  * \brief Constructs the C++ code generator visitor
+
1216  *
+
1217  * This constructor instantiates an NMODL C++ code generator and allows writing generated code
+
1218  * directly to a file in \c [output_dir]/[mod_filename].cpp.
+
1219  *
+
1220  * \note No code generation is performed at this stage. Since the code
+
1221  * generator classes are all based on \c AstVisitor the AST must be visited using e.g. \c
+
1222  * visit_program in order to generate the C++ code corresponding to the AST.
+
1223  *
+
1224  * \param mod_filename The name of the model for which code should be generated.
+
1225  * It is used for constructing an output filename.
+
1226  * \param output_dir The directory where target C++ file should be generated.
+
1227  * \param float_type The float type to use in the generated code. The string will be used
+
1228  * as-is in the target code. This defaults to \c double.
+
1229  */
+ +
1231  const std::string& output_dir,
+
1232  std::string float_type,
+
1233  const bool optimize_ionvar_copies)
+ +
1235 
+
1236  /**
+
1237  * \copybrief nmodl::codegen::CodegenCoreneuronCppVisitor
+
1238  *
+
1239  * This constructor instantiates an NMODL C++ code generator and allows writing generated code
+
1240  * into an output stream.
+
1241  *
+
1242  * \note No code generation is performed at this stage. Since the code
+
1243  * generator classes are all based on \c AstVisitor the AST must be visited using e.g. \c
+
1244  * visit_program in order to generate the C++ code corresponding to the AST.
+
1245  *
+
1246  * \param mod_filename The name of the model for which code should be generated.
+
1247  * It is used for constructing an output filename.
+
1248  * \param stream The output stream onto which to write the generated code
+
1249  * \param float_type The float type to use in the generated code. The string will be used
+
1250  * as-is in the target code. This defaults to \c double.
+
1251  */
+ +
1253  std::ostream& stream,
+
1254  std::string float_type,
+
1255  const bool optimize_ionvar_copies)
+ +
1257 
1258 
-
1259 
-
1260  /****************************************************************************************/
-
1261  /* Public printing routines for code generation for use in unit tests */
-
1262  /****************************************************************************************/
-
1263 
-
1264 
-
1265  /**
-
1266  * Print the function that initialize instance structure
-
1267  */
- -
1269 
-
1270 
-
1271  /**
-
1272  * Print the structure that wraps all range and int variables required for the NMODL
-
1273  *
-
1274  * \param print_initializers Whether or not default values for variables
-
1275  * be included in the struct declaration.
-
1276  */
-
1277  void print_mechanism_range_var_structure(bool print_initializers) override;
-
1278 };
-
1279 
-
1280 
-
1281 /**
-
1282  * \details If there is an argument with name (say alpha) same as range variable (say alpha),
-
1283  * we want to avoid it being printed as instance->alpha. And hence we disable variable
-
1284  * name lookup during prototype declaration. Note that the name of procedure can be
-
1285  * different in case of table statement.
-
1286  */
-
1287 template <typename T>
- -
1289  const std::string& name) {
- -
1291  auto type = default_float_data_type();
-
1292 
-
1293  // internal and user provided arguments
-
1294  auto internal_params = internal_method_parameters();
-
1295  const auto& params = node.get_parameters();
-
1296  for (const auto& param: params) {
-
1297  internal_params.emplace_back("", type, "", param.get()->get_node_name());
-
1298  }
-
1299 
-
1300  // procedures have "int" return type by default
-
1301  const char* return_type = "int";
-
1302  if (node.is_function_block()) {
-
1303  return_type = default_float_data_type();
-
1304  }
-
1305 
- -
1307  printer->add_indent();
-
1308  printer->fmt_text("inline {} {}({})",
-
1309  return_type,
-
1310  method_name(name),
-
1311  get_parameter_str(internal_params));
-
1312 
- -
1314 }
-
1315 
-
1316 /** \} */ // end of codegen_backends
-
1317 
-
1318 } // namespace codegen
-
1319 } // namespace nmodl
+
1259  /****************************************************************************************/
+
1260  /* Public printing routines for code generation for use in unit tests */
+
1261  /****************************************************************************************/
+
1262 
+
1263 
+
1264  /**
+
1265  * Print the function that initialize instance structure
+
1266  */
+ +
1268 
+
1269 
+
1270  /**
+
1271  * Print the structure that wraps all range and int variables required for the NMODL
+
1272  *
+
1273  * \param print_initializers Whether or not default values for variables
+
1274  * be included in the struct declaration.
+
1275  */
+
1276  void print_mechanism_range_var_structure(bool print_initializers) override;
+
1277 };
+
1278 
+
1279 
+
1280 /**
+
1281  * \details If there is an argument with name (say alpha) same as range variable (say alpha),
+
1282  * we want to avoid it being printed as instance->alpha. And hence we disable variable
+
1283  * name lookup during prototype declaration. Note that the name of procedure can be
+
1284  * different in case of table statement.
+
1285  */
+
1286 template <typename T>
+ +
1288  const std::string& name) {
+ +
1290  auto type = default_float_data_type();
+
1291 
+
1292  // internal and user provided arguments
+
1293  auto internal_params = internal_method_parameters();
+
1294  const auto& params = node.get_parameters();
+
1295  for (const auto& param: params) {
+
1296  internal_params.emplace_back("", type, "", param.get()->get_node_name());
+
1297  }
+
1298 
+
1299  // procedures have "int" return type by default
+
1300  const char* return_type = "int";
+
1301  if (node.is_function_block()) {
+
1302  return_type = default_float_data_type();
+
1303  }
+
1304 
+ +
1306  printer->add_indent();
+
1307  printer->fmt_text("inline {} {}({})",
+
1308  return_type,
+
1309  method_name(name),
+
1310  get_parameter_str(internal_params));
+
1311 
+ +
1313 }
+
1314 
+
1315 /** \} */ // end of codegen_backends
+
1316 
+
1317 } // namespace codegen
+
1318 } // namespace nmodl
virtual void print_procedure(const ast::ProcedureBlock &node) override
Print NMODL procedure in target backend code.
@@ -1422,7 +1421,6 @@
virtual bool nrn_cur_reduction_loop_required()
Check if reduction block in nrn_cur required.
virtual void print_backend_namespace_start()
Prints the start of namespace for the backend-specific code.
void print_net_move_call(const ast::FunctionCall &node) override
Print call to net_move.
-
virtual void visit_solution_expression(const ast::SolutionExpression &node) override
visit node of type ast::SolutionExpression
void print_mechanism_range_var_structure(bool print_initializers) override
Print the structure that wraps all range and int variables required for the NMODL.
std::string global_struct_instance() const
Name of the (host-only) global instance of global_struct
virtual void print_net_send_buf_count_update_to_host() const
Print the code to update NetSendBuffer_t count from device to host.
@@ -1465,7 +1463,7 @@
encapsulates code generation backend implementations
Definition: ast_common.hpp:26
int num_thread_objects() const noexcept
Determine the number of threads to allocate.
virtual void print_fast_imem_calculation() override
Print fast membrane current calculation code.
-
void print_function_declaration(const T &node, const std::string &name)
Print prototype declarations of functions or procedures.
+
void print_function_declaration(const T &node, const std::string &name)
Print prototype declarations of functions or procedures.
virtual void print_dt_update_to_device() const
Print the code to update dt from host to device.
virtual void print_net_init_acc_serial_annotation_block_end()
Print accelerator kernels end annotation for net_init kernel.
void print_net_init()
Print initial block in the net receive block.
@@ -1508,7 +1506,7 @@
virtual void print_eigen_linear_solver(const std::string &float_type, int N)
virtual void print_before_after_block(const ast::Block *node, size_t block_id)
Print NMODL before / after block in target backend code.
Represents a BREAKPOINT block in NMODL.
-
CodegenCoreneuronCppVisitor(std::string mod_filename, std::ostream &stream, std::string float_type, const bool optimize_ionvar_copies)
Visitor for printing C++ code compatible with legacy api of CoreNEURON
+
CodegenCoreneuronCppVisitor(std::string mod_filename, std::ostream &stream, std::string float_type, const bool optimize_ionvar_copies)
Visitor for printing C++ code compatible with legacy api of CoreNEURON
static std::pair< std::string, std::string > write_ion_variable_name(const std::string &name)
Return ion variable name and corresponding ion write variable name.
Helper class for printing C/C++ code.
@@ -1568,7 +1566,6 @@
std::string float_type
Data type of floating point variables.
Implement logger based on spdlog library.
virtual void print_global_var_struct_decl()
Instantiate global var instance.
-
Represent solution of a block in the AST.
bool enable_variable_name_lookup
Variable name should be converted to instance name (but not for function arguments)
BlockType
Helper to represent various block types.
void print_mechanism_register() override
Print the mechanism registration function.
@@ -1592,7 +1589,7 @@
std::unique_ptr< CodePrinter > printer
Code printer object for target (C++)
void print_function_tables(const ast::FunctionTableBlock &node)
Print NMODL function_table in target backend code.
std::string method_name(const std::string &name) const
Constructs the name of a function or procedure.
-
virtual void visit_watch_statement(const ast::WatchStatement &node) override
visit node of type ast::WatchStatement
+
virtual void visit_watch_statement(const ast::WatchStatement &node) override
visit node of type ast::WatchStatement
void print_nrn_cur_non_conductance_kernel() override
Print the nrn_cur kernel without NMODL conductance keyword provisions.
virtual void print_backend_includes()
Print backend specific includes (none needed for C++ backend)
virtual void print_global_var_struct_assertions() const
Print static assertions about the global variable struct.
diff --git a/html/doxygen/codegen__cpp__visitor_8cpp_source.html b/html/doxygen/codegen__cpp__visitor_8cpp_source.html index ef9e81e1aa..87ec2a8535 100644 --- a/html/doxygen/codegen__cpp__visitor_8cpp_source.html +++ b/html/doxygen/codegen__cpp__visitor_8cpp_source.html @@ -706,319 +706,330 @@
610  printer->pop_block();
611 }
612 
-
613 
-
614 /**
-
615  * \details Once variables are populated, update index semantics to register with coreneuron
-
616  */
-
617 // NOLINTNEXTLINE(readability-function-cognitive-complexity)
- -
619  int index = 0;
-
620  info.semantics.clear();
-
621 
-
622  if (info.point_process) {
-
623  info.semantics.emplace_back(index++, naming::AREA_SEMANTIC, 1);
-
624  info.semantics.emplace_back(index++, naming::POINT_PROCESS_SEMANTIC, 1);
-
625  }
-
626  for (const auto& ion: info.ions) {
-
627  for (auto i = 0; i < ion.reads.size(); ++i) {
-
628  info.semantics.emplace_back(index++, ion.name + "_ion", 1);
-
629  }
-
630  for (const auto& var: ion.writes) {
-
631  /// add if variable is not present in the read list
-
632  if (std::find(ion.reads.begin(), ion.reads.end(), var) == ion.reads.end()) {
-
633  info.semantics.emplace_back(index++, ion.name + "_ion", 1);
-
634  }
-
635  if (ion.is_ionic_current(var)) {
-
636  info.semantics.emplace_back(index++, ion.name + "_ion", 1);
-
637  }
-
638  }
-
639  if (ion.need_style) {
-
640  info.semantics.emplace_back(index++, fmt::format("{}_ion", ion.name), 1);
-
641  info.semantics.emplace_back(index++, fmt::format("#{}_ion", ion.name), 1);
-
642  }
-
643  }
-
644  for (auto& var: info.pointer_variables) {
-
645  if (info.first_pointer_var_index == -1) {
-
646  info.first_pointer_var_index = index;
-
647  }
-
648  int size = var->get_length();
-
649  if (var->has_any_property(NmodlType::pointer_var)) {
-
650  info.semantics.emplace_back(index, naming::POINTER_SEMANTIC, size);
-
651  } else {
-
652  info.semantics.emplace_back(index, naming::CORE_POINTER_SEMANTIC, size);
+
613 
+ +
615  auto block = node.get_node_to_solve().get();
+
616  if (block->is_statement_block()) {
+
617  auto statement_block = dynamic_cast<ast::StatementBlock*>(block);
+
618  print_statement_block(*statement_block, false, false);
+
619  } else {
+
620  block->accept(*this);
+
621  }
+
622 }
+
623 
+
624 
+
625 /**
+
626  * \details Once variables are populated, update index semantics to register with coreneuron
+
627  */
+
628 // NOLINTNEXTLINE(readability-function-cognitive-complexity)
+ +
630  int index = 0;
+
631  info.semantics.clear();
+
632 
+
633  if (info.point_process) {
+
634  info.semantics.emplace_back(index++, naming::AREA_SEMANTIC, 1);
+
635  info.semantics.emplace_back(index++, naming::POINT_PROCESS_SEMANTIC, 1);
+
636  }
+
637  for (const auto& ion: info.ions) {
+
638  for (auto i = 0; i < ion.reads.size(); ++i) {
+
639  info.semantics.emplace_back(index++, ion.name + "_ion", 1);
+
640  }
+
641  for (const auto& var: ion.writes) {
+
642  /// add if variable is not present in the read list
+
643  if (std::find(ion.reads.begin(), ion.reads.end(), var) == ion.reads.end()) {
+
644  info.semantics.emplace_back(index++, ion.name + "_ion", 1);
+
645  }
+
646  if (ion.is_ionic_current(var)) {
+
647  info.semantics.emplace_back(index++, ion.name + "_ion", 1);
+
648  }
+
649  }
+
650  if (ion.need_style) {
+
651  info.semantics.emplace_back(index++, fmt::format("{}_ion", ion.name), 1);
+
652  info.semantics.emplace_back(index++, fmt::format("#{}_ion", ion.name), 1);
653  }
-
654  index += size;
-
655  }
-
656 
-
657  if (info.diam_used) {
-
658  info.semantics.emplace_back(index++, naming::DIAM_VARIABLE, 1);
-
659  }
-
660 
-
661  if (info.area_used) {
-
662  info.semantics.emplace_back(index++, naming::AREA_VARIABLE, 1);
-
663  }
-
664 
-
665  if (info.net_send_used) {
-
666  info.semantics.emplace_back(index++, naming::NET_SEND_SEMANTIC, 1);
-
667  }
-
668 
-
669  /*
-
670  * Number of semantics for watch is one greater than number of
-
671  * actual watch statements in the mod file
-
672  */
-
673  if (!info.watch_statements.empty()) {
-
674  for (int i = 0; i < info.watch_statements.size() + 1; i++) {
-
675  info.semantics.emplace_back(index++, naming::WATCH_SEMANTIC, 1);
-
676  }
-
677  }
-
678 
-
679  if (info.for_netcon_used) {
-
680  info.semantics.emplace_back(index++, naming::FOR_NETCON_SEMANTIC, 1);
-
681  }
-
682 }
-
683 
-
684 
-
685 std::vector<CodegenCppVisitor::SymbolType> CodegenCppVisitor::get_float_variables() const {
-
686  // sort with definition order
-
687  auto comparator = [](const SymbolType& first, const SymbolType& second) -> bool {
-
688  return first->get_definition_order() < second->get_definition_order();
-
689  };
-
690 
-
691  auto assigned = info.assigned_vars;
-
692  auto states = info.state_vars;
-
693 
-
694  // each state variable has corresponding Dstate variable
-
695  for (const auto& state: states) {
-
696  auto name = "D" + state->get_name();
-
697  auto symbol = make_symbol(name);
-
698  if (state->is_array()) {
-
699  symbol->set_as_array(state->get_length());
-
700  }
-
701  symbol->set_definition_order(state->get_definition_order());
-
702  assigned.push_back(symbol);
-
703  }
-
704  std::sort(assigned.begin(), assigned.end(), comparator);
-
705 
-
706  auto variables = info.range_parameter_vars;
-
707  variables.insert(variables.end(),
-
708  info.range_assigned_vars.begin(),
-
709  info.range_assigned_vars.end());
-
710  variables.insert(variables.end(), info.range_state_vars.begin(), info.range_state_vars.end());
-
711  variables.insert(variables.end(), assigned.begin(), assigned.end());
-
712 
-
713  if (info.vectorize) {
-
714  variables.push_back(make_symbol(naming::VOLTAGE_UNUSED_VARIABLE));
-
715  }
+
654  }
+
655  for (auto& var: info.pointer_variables) {
+
656  if (info.first_pointer_var_index == -1) {
+
657  info.first_pointer_var_index = index;
+
658  }
+
659  int size = var->get_length();
+
660  if (var->has_any_property(NmodlType::pointer_var)) {
+
661  info.semantics.emplace_back(index, naming::POINTER_SEMANTIC, size);
+
662  } else {
+
663  info.semantics.emplace_back(index, naming::CORE_POINTER_SEMANTIC, size);
+
664  }
+
665  index += size;
+
666  }
+
667 
+
668  if (info.diam_used) {
+
669  info.semantics.emplace_back(index++, naming::DIAM_VARIABLE, 1);
+
670  }
+
671 
+
672  if (info.area_used) {
+
673  info.semantics.emplace_back(index++, naming::AREA_VARIABLE, 1);
+
674  }
+
675 
+
676  if (info.net_send_used) {
+
677  info.semantics.emplace_back(index++, naming::NET_SEND_SEMANTIC, 1);
+
678  }
+
679 
+
680  /*
+
681  * Number of semantics for watch is one greater than number of
+
682  * actual watch statements in the mod file
+
683  */
+
684  if (!info.watch_statements.empty()) {
+
685  for (int i = 0; i < info.watch_statements.size() + 1; i++) {
+
686  info.semantics.emplace_back(index++, naming::WATCH_SEMANTIC, 1);
+
687  }
+
688  }
+
689 
+
690  if (info.for_netcon_used) {
+
691  info.semantics.emplace_back(index++, naming::FOR_NETCON_SEMANTIC, 1);
+
692  }
+
693 }
+
694 
+
695 
+
696 std::vector<CodegenCppVisitor::SymbolType> CodegenCppVisitor::get_float_variables() const {
+
697  // sort with definition order
+
698  auto comparator = [](const SymbolType& first, const SymbolType& second) -> bool {
+
699  return first->get_definition_order() < second->get_definition_order();
+
700  };
+
701 
+
702  auto assigned = info.assigned_vars;
+
703  auto states = info.state_vars;
+
704 
+
705  // each state variable has corresponding Dstate variable
+
706  for (const auto& state: states) {
+
707  auto name = "D" + state->get_name();
+
708  auto symbol = make_symbol(name);
+
709  if (state->is_array()) {
+
710  symbol->set_as_array(state->get_length());
+
711  }
+
712  symbol->set_definition_order(state->get_definition_order());
+
713  assigned.push_back(symbol);
+
714  }
+
715  std::sort(assigned.begin(), assigned.end(), comparator);
716 
-
717  if (breakpoint_exist()) {
-
718  std::string name = info.vectorize ? naming::CONDUCTANCE_UNUSED_VARIABLE
- -
720 
-
721  // make sure conductance variable like `g` is not already defined
-
722  if (auto r = std::find_if(variables.cbegin(),
-
723  variables.cend(),
-
724  [&](const auto& s) { return name == s->get_name(); });
-
725  r == variables.cend()) {
-
726  variables.push_back(make_symbol(name));
-
727  }
-
728  }
-
729 
-
730  if (net_receive_exist()) {
-
731  variables.push_back(make_symbol(naming::T_SAVE_VARIABLE));
-
732  }
-
733  return variables;
-
734 }
-
735 
-
736 
-
737 /**
-
738  * IndexVariableInfo has following constructor arguments:
-
739  * - symbol
-
740  * - is_vdata (false)
-
741  * - is_index (false
-
742  * - is_integer (false)
-
743  *
-
744  * Which variables are constant qualified?
-
745  *
-
746  * - node area is read only
-
747  * - read ion variables are read only
-
748  * - style_ionname is index / offset
-
749  */
-
750 // NOLINTNEXTLINE(readability-function-cognitive-complexity)
-
751 std::vector<IndexVariableInfo> CodegenCppVisitor::get_int_variables() {
-
752  std::vector<IndexVariableInfo> variables;
-
753  if (info.point_process) {
-
754  variables.emplace_back(make_symbol(naming::NODE_AREA_VARIABLE));
-
755  variables.back().is_constant = true;
-
756  /// note that this variable is not printed in neuron implementation
-
757  if (info.artificial_cell) {
-
758  variables.emplace_back(make_symbol(naming::POINT_PROCESS_VARIABLE), true);
-
759  } else {
-
760  variables.emplace_back(make_symbol(naming::POINT_PROCESS_VARIABLE), false, false, true);
-
761  variables.back().is_constant = true;
-
762  }
-
763  }
-
764 
-
765  for (auto& ion: info.ions) {
-
766  bool need_style = false;
-
767  std::unordered_map<std::string, int> ion_vars; // used to keep track of the variables to
-
768  // not have doubles between read/write. Same
-
769  // name variables are allowed
-
770  // See if we need to add extra readion statements to match NEURON with SoA data
-
771  auto const has_var = [&ion](const char* suffix) -> bool {
-
772  auto const pred = [name = ion.name + suffix](auto const& x) { return x == name; };
-
773  return std::any_of(ion.reads.begin(), ion.reads.end(), pred) ||
-
774  std::any_of(ion.writes.begin(), ion.writes.end(), pred);
-
775  };
-
776  auto const add_implicit_read = [&ion](const char* suffix) {
-
777  auto name = ion.name + suffix;
-
778  ion.reads.push_back(name);
-
779  ion.implicit_reads.push_back(std::move(name));
-
780  };
-
781  bool const have_ionin{has_var("i")}, have_ionout{has_var("o")};
-
782  if (have_ionin && !have_ionout) {
-
783  add_implicit_read("o");
-
784  } else if (have_ionout && !have_ionin) {
-
785  add_implicit_read("i");
-
786  }
-
787  for (const auto& var: ion.reads) {
-
788  const std::string name = naming::ION_VARNAME_PREFIX + var;
-
789  variables.emplace_back(make_symbol(name));
-
790  variables.back().is_constant = true;
-
791  ion_vars[name] = static_cast<int>(variables.size() - 1);
-
792  }
-
793 
-
794  /// symbol for di_ion_dv var
-
795  std::shared_ptr<symtab::Symbol> ion_di_dv_var = nullptr;
-
796 
-
797  for (const auto& var: ion.writes) {
-
798  const std::string name = naming::ION_VARNAME_PREFIX + var;
-
799 
-
800  const auto ion_vars_it = ion_vars.find(name);
-
801  if (ion_vars_it != ion_vars.end()) {
-
802  variables[ion_vars_it->second].is_constant = false;
-
803  } else {
-
804  variables.emplace_back(make_symbol(naming::ION_VARNAME_PREFIX + var));
-
805  }
-
806  if (ion.is_ionic_current(var)) {
-
807  ion_di_dv_var = make_symbol(std::string(naming::ION_VARNAME_PREFIX) + "di" +
-
808  ion.name + "dv");
-
809  }
-
810  if (ion.is_intra_cell_conc(var) || ion.is_extra_cell_conc(var)) {
-
811  need_style = true;
-
812  }
-
813  }
-
814 
-
815  /// insert after read/write variables but before style ion variable
-
816  if (ion_di_dv_var != nullptr) {
-
817  variables.emplace_back(ion_di_dv_var);
-
818  }
-
819 
-
820  if (need_style) {
-
821  variables.emplace_back(make_symbol(naming::ION_VARNAME_PREFIX + ion.name + "_erev"));
-
822  variables.emplace_back(make_symbol("style_" + ion.name), false, true);
-
823  variables.back().is_constant = true;
+
717  auto variables = info.range_parameter_vars;
+
718  variables.insert(variables.end(),
+
719  info.range_assigned_vars.begin(),
+
720  info.range_assigned_vars.end());
+
721  variables.insert(variables.end(), info.range_state_vars.begin(), info.range_state_vars.end());
+
722  variables.insert(variables.end(), assigned.begin(), assigned.end());
+
723 
+
724  if (info.vectorize) {
+
725  variables.push_back(make_symbol(naming::VOLTAGE_UNUSED_VARIABLE));
+
726  }
+
727 
+
728  if (breakpoint_exist()) {
+
729  std::string name = info.vectorize ? naming::CONDUCTANCE_UNUSED_VARIABLE
+ +
731 
+
732  // make sure conductance variable like `g` is not already defined
+
733  if (auto r = std::find_if(variables.cbegin(),
+
734  variables.cend(),
+
735  [&](const auto& s) { return name == s->get_name(); });
+
736  r == variables.cend()) {
+
737  variables.push_back(make_symbol(name));
+
738  }
+
739  }
+
740 
+
741  if (net_receive_exist()) {
+
742  variables.push_back(make_symbol(naming::T_SAVE_VARIABLE));
+
743  }
+
744  return variables;
+
745 }
+
746 
+
747 
+
748 /**
+
749  * IndexVariableInfo has following constructor arguments:
+
750  * - symbol
+
751  * - is_vdata (false)
+
752  * - is_index (false
+
753  * - is_integer (false)
+
754  *
+
755  * Which variables are constant qualified?
+
756  *
+
757  * - node area is read only
+
758  * - read ion variables are read only
+
759  * - style_ionname is index / offset
+
760  */
+
761 // NOLINTNEXTLINE(readability-function-cognitive-complexity)
+
762 std::vector<IndexVariableInfo> CodegenCppVisitor::get_int_variables() {
+
763  std::vector<IndexVariableInfo> variables;
+
764  if (info.point_process) {
+
765  variables.emplace_back(make_symbol(naming::NODE_AREA_VARIABLE));
+
766  variables.back().is_constant = true;
+
767  /// note that this variable is not printed in neuron implementation
+
768  if (info.artificial_cell) {
+
769  variables.emplace_back(make_symbol(naming::POINT_PROCESS_VARIABLE), true);
+
770  } else {
+
771  variables.emplace_back(make_symbol(naming::POINT_PROCESS_VARIABLE), false, false, true);
+
772  variables.back().is_constant = true;
+
773  }
+
774  }
+
775 
+
776  for (auto& ion: info.ions) {
+
777  bool need_style = false;
+
778  std::unordered_map<std::string, int> ion_vars; // used to keep track of the variables to
+
779  // not have doubles between read/write. Same
+
780  // name variables are allowed
+
781  // See if we need to add extra readion statements to match NEURON with SoA data
+
782  auto const has_var = [&ion](const char* suffix) -> bool {
+
783  auto const pred = [name = ion.name + suffix](auto const& x) { return x == name; };
+
784  return std::any_of(ion.reads.begin(), ion.reads.end(), pred) ||
+
785  std::any_of(ion.writes.begin(), ion.writes.end(), pred);
+
786  };
+
787  auto const add_implicit_read = [&ion](const char* suffix) {
+
788  auto name = ion.name + suffix;
+
789  ion.reads.push_back(name);
+
790  ion.implicit_reads.push_back(std::move(name));
+
791  };
+
792  bool const have_ionin{has_var("i")}, have_ionout{has_var("o")};
+
793  if (have_ionin && !have_ionout) {
+
794  add_implicit_read("o");
+
795  } else if (have_ionout && !have_ionin) {
+
796  add_implicit_read("i");
+
797  }
+
798  for (const auto& var: ion.reads) {
+
799  const std::string name = naming::ION_VARNAME_PREFIX + var;
+
800  variables.emplace_back(make_symbol(name));
+
801  variables.back().is_constant = true;
+
802  ion_vars[name] = static_cast<int>(variables.size() - 1);
+
803  }
+
804 
+
805  /// symbol for di_ion_dv var
+
806  std::shared_ptr<symtab::Symbol> ion_di_dv_var = nullptr;
+
807 
+
808  for (const auto& var: ion.writes) {
+
809  const std::string name = naming::ION_VARNAME_PREFIX + var;
+
810 
+
811  const auto ion_vars_it = ion_vars.find(name);
+
812  if (ion_vars_it != ion_vars.end()) {
+
813  variables[ion_vars_it->second].is_constant = false;
+
814  } else {
+
815  variables.emplace_back(make_symbol(naming::ION_VARNAME_PREFIX + var));
+
816  }
+
817  if (ion.is_ionic_current(var)) {
+
818  ion_di_dv_var = make_symbol(std::string(naming::ION_VARNAME_PREFIX) + "di" +
+
819  ion.name + "dv");
+
820  }
+
821  if (ion.is_intra_cell_conc(var) || ion.is_extra_cell_conc(var)) {
+
822  need_style = true;
+
823  }
824  }
-
825  }
-
826 
-
827  for (const auto& var: info.pointer_variables) {
-
828  auto name = var->get_name();
-
829  if (var->has_any_property(NmodlType::pointer_var)) {
-
830  variables.emplace_back(make_symbol(name));
-
831  } else {
-
832  variables.emplace_back(make_symbol(name), true);
-
833  }
-
834  }
-
835 
-
836  if (info.diam_used) {
-
837  variables.emplace_back(make_symbol(naming::DIAM_VARIABLE));
-
838  }
-
839 
-
840  if (info.area_used) {
-
841  variables.emplace_back(make_symbol(naming::AREA_VARIABLE));
-
842  }
-
843 
-
844  // for non-artificial cell, when net_receive buffering is enabled
-
845  // then tqitem is an offset
-
846  if (info.net_send_used) {
-
847  if (info.artificial_cell) {
-
848  variables.emplace_back(make_symbol(naming::TQITEM_VARIABLE), true);
-
849  } else {
-
850  variables.emplace_back(make_symbol(naming::TQITEM_VARIABLE), false, false, true);
-
851  variables.back().is_constant = true;
-
852  }
-
853  info.tqitem_index = static_cast<int>(variables.size() - 1);
-
854  }
-
855 
-
856  /**
-
857  * \note Variables for watch statements : there is one extra variable
-
858  * used in coreneuron compared to actual watch statements for compatibility
-
859  * with neuron (which uses one extra Datum variable)
-
860  */
-
861  if (!info.watch_statements.empty()) {
-
862  for (int i = 0; i < info.watch_statements.size() + 1; i++) {
-
863  variables.emplace_back(make_symbol(fmt::format("watch{}", i)), false, false, true);
-
864  }
+
825 
+
826  /// insert after read/write variables but before style ion variable
+
827  if (ion_di_dv_var != nullptr) {
+
828  variables.emplace_back(ion_di_dv_var);
+
829  }
+
830 
+
831  if (need_style) {
+
832  variables.emplace_back(make_symbol(naming::ION_VARNAME_PREFIX + ion.name + "_erev"));
+
833  variables.emplace_back(make_symbol("style_" + ion.name), false, true);
+
834  variables.back().is_constant = true;
+
835  }
+
836  }
+
837 
+
838  for (const auto& var: info.pointer_variables) {
+
839  auto name = var->get_name();
+
840  if (var->has_any_property(NmodlType::pointer_var)) {
+
841  variables.emplace_back(make_symbol(name));
+
842  } else {
+
843  variables.emplace_back(make_symbol(name), true);
+
844  }
+
845  }
+
846 
+
847  if (info.diam_used) {
+
848  variables.emplace_back(make_symbol(naming::DIAM_VARIABLE));
+
849  }
+
850 
+
851  if (info.area_used) {
+
852  variables.emplace_back(make_symbol(naming::AREA_VARIABLE));
+
853  }
+
854 
+
855  // for non-artificial cell, when net_receive buffering is enabled
+
856  // then tqitem is an offset
+
857  if (info.net_send_used) {
+
858  if (info.artificial_cell) {
+
859  variables.emplace_back(make_symbol(naming::TQITEM_VARIABLE), true);
+
860  } else {
+
861  variables.emplace_back(make_symbol(naming::TQITEM_VARIABLE), false, false, true);
+
862  variables.back().is_constant = true;
+
863  }
+
864  info.tqitem_index = static_cast<int>(variables.size() - 1);
865  }
-
866  return variables;
-
867 }
-
868 
-
869 
- -
871  program_symtab = node.get_symbol_table();
-
872 
- -
874  info = v.analyze(node);
-
875  info.mod_file = mod_filename;
-
876 
-
877  if (!info.vectorize) {
-
878  logger->warn(
-
879  "CodegenCoreneuronCppVisitor : MOD file uses non-thread safe constructs of NMODL");
-
880  }
-
881 
-
882  codegen_float_variables = get_float_variables();
-
883  codegen_int_variables = get_int_variables();
-
884 
-
885  update_index_semantics();
-
886  rename_function_arguments();
-
887 }
-
888 
- -
890  if (type == BlockType::Initial) {
-
891  return method_name(naming::NRN_INIT_METHOD);
-
892  }
-
893  if (type == BlockType::Constructor) {
-
894  return method_name(naming::NRN_CONSTRUCTOR_METHOD);
-
895  }
-
896  if (type == BlockType::Destructor) {
-
897  return method_name(naming::NRN_DESTRUCTOR_METHOD);
-
898  }
-
899  if (type == BlockType::State) {
-
900  return method_name(naming::NRN_STATE_METHOD);
-
901  }
-
902  if (type == BlockType::Equation) {
-
903  return method_name(naming::NRN_CUR_METHOD);
-
904  }
-
905  if (type == BlockType::Watch) {
-
906  return method_name(naming::NRN_WATCH_CHECK_METHOD);
-
907  }
-
908  throw std::logic_error("compute_method_name not implemented");
-
909 }
-
910 
-
911 
- -
913  setup(node);
-
914  print_codegen_routines();
-
915 }
-
916 
-
917 } // namespace codegen
-
918 } // namespace nmodl
+
866 
+
867  /**
+
868  * \note Variables for watch statements : there is one extra variable
+
869  * used in coreneuron compared to actual watch statements for compatibility
+
870  * with neuron (which uses one extra Datum variable)
+
871  */
+
872  if (!info.watch_statements.empty()) {
+
873  for (int i = 0; i < info.watch_statements.size() + 1; i++) {
+
874  variables.emplace_back(make_symbol(fmt::format("watch{}", i)), false, false, true);
+
875  }
+
876  }
+
877  return variables;
+
878 }
+
879 
+
880 
+ +
882  program_symtab = node.get_symbol_table();
+
883 
+ +
885  info = v.analyze(node);
+
886  info.mod_file = mod_filename;
+
887 
+
888  if (!info.vectorize) {
+
889  logger->warn(
+
890  "CodegenCoreneuronCppVisitor : MOD file uses non-thread safe constructs of NMODL");
+
891  }
+
892 
+
893  codegen_float_variables = get_float_variables();
+
894  codegen_int_variables = get_int_variables();
+
895 
+
896  update_index_semantics();
+
897  rename_function_arguments();
+
898 }
+
899 
+ +
901  if (type == BlockType::Initial) {
+
902  return method_name(naming::NRN_INIT_METHOD);
+
903  }
+
904  if (type == BlockType::Constructor) {
+
905  return method_name(naming::NRN_CONSTRUCTOR_METHOD);
+
906  }
+
907  if (type == BlockType::Destructor) {
+
908  return method_name(naming::NRN_DESTRUCTOR_METHOD);
+
909  }
+
910  if (type == BlockType::State) {
+
911  return method_name(naming::NRN_STATE_METHOD);
+
912  }
+
913  if (type == BlockType::Equation) {
+
914  return method_name(naming::NRN_CUR_METHOD);
+
915  }
+
916  if (type == BlockType::Watch) {
+
917  return method_name(naming::NRN_WATCH_CHECK_METHOD);
+
918  }
+
919  throw std::logic_error("compute_method_name not implemented");
+
920 }
+
921 
+
922 
+ +
924  setup(node);
+
925  print_codegen_routines();
+
926 }
+
927 
+
928 } // namespace codegen
+
929 } // namespace nmodl
std::string get_node_name() const override
Return name of the node.
Definition: ast.cpp:6971
std::shared_ptr< Expression > get_length() const noexcept
Getter for member variable IndexedName::length.
static bool need_semicolon(const ast::Statement &node)
Check if a semicolon is required at the end of given statement.
-
void update_index_semantics()
populate all index semantics needed for registration with coreneuron
+
void update_index_semantics()
populate all index semantics needed for registration with coreneuron
std::string format_double_string< CodegenCppVisitor >(const std::string &s_value)
const LocalVarVector & get_variables() const noexcept
Getter for member variable LocalListStatement::variables.
@@ -1058,7 +1069,7 @@
void visit_binary_expression(const ast::BinaryExpression &node) override
visit node of type ast::BinaryExpression
Represents a variable.
Definition: var_name.hpp:43
Represents an integer variable.
Definition: integer.hpp:49
-
std::vector< SymbolType > get_float_variables() const
Determine all float variables required during code generation.
+
std::vector< SymbolType > get_float_variables() const
Determine all float variables required during code generation.
virtual bool is_expression_statement() const noexcept
Check if the ast node is an instance of ast::ExpressionStatement.
Definition: ast.cpp:224
static constexpr char NODE_AREA_VARIABLE[]
inbuilt neuron variable for area of the compartment
@@ -1079,7 +1090,7 @@
std::shared_ptr< Integer > get_at() const noexcept
Getter for member variable VarName::at.
Definition: var_name.hpp:173
static std::string trim_newline(std::string text)
static constexpr char DEFAULT_FLOAT_TYPE[]
default float variable type
-
std::vector< IndexVariableInfo > get_int_variables()
Determine all int variables required during code generation.
+
std::vector< IndexVariableInfo > get_int_variables()
Determine all int variables required during code generation.
Visitor for printing C++ code compatible with legacy api of CoreNEURON
const StatementVector & get_statements() const noexcept
Getter for member variable StatementBlock::statements.
@@ -1099,7 +1110,7 @@
const std::regex regex_special_chars
std::shared_ptr< Expression > get_from() const noexcept
Getter for member variable FromStatement::from.
-
void setup(const ast::Program &node)
Setup the target backend code generator.
+
void setup(const ast::Program &node)
Setup the target backend code generator.
void visit_unary_operator(const ast::UnaryOperator &node) override
visit node of type ast::UnaryOperator
static constexpr char POINT_PROCESS_SEMANTIC[]
semantic type for point process variable
void visit_mutex_lock(const ast::MutexLock &node) override
visit node of type ast::MutexLock
@@ -1119,6 +1130,7 @@
std::string to_string(const T &obj)
virtual bool is_block_comment() const noexcept
Check if the ast node is an instance of ast::BlockComment.
Definition: ast.cpp:282
std::string format_float_string(const std::string &s_value)
Handles the float constants format being printed in the generated code.
+
void visit_solution_expression(const ast::SolutionExpression &node) override
visit node of type ast::SolutionExpression
static constexpr char NRN_INIT_METHOD[]
nrn_init method in generated code
const ExpressionVector & get_arguments() const noexcept
Getter for member variable FunctionCall::arguments.
static constexpr char POINTER_SEMANTIC[]
semantic type for pointer variable
@@ -1146,6 +1158,7 @@
Statement to indicate a change in timestep in a given block.
Definition: update_dt.hpp:38
std::string format_float_string(const std::string &value)
Convert a given float value to its string representation.
+
std::shared_ptr< Expression > get_node_to_solve() const noexcept
Getter for member variable SolutionExpression::node_to_solve.
static std::vector< std::string > split_string(const std::string &text, char delimiter)
Split a text in a list of words, using a given delimiter character.
static std::string get_parameter_str(const ParamVector &params)
Generate the string representing the procedure parameter declaration.
std::shared_ptr< StatementBlock > get_statement_block() const noexcept override
Getter for member variable IfStatement::statement_block.
@@ -1163,6 +1176,7 @@
bool defined_method(const std::string &name) const
Check if given method is defined in this model.
std::shared_ptr< Expression > get_condition() const noexcept
Getter for member variable ElseIfStatement::condition.
virtual void print_function_call(const ast::FunctionCall &node)
Print call to internal or external function.
+
Represent solution of a block in the AST.
Helper visitor to gather AST information to help code generation.
BlockType
Helper to represent various block types.
std::shared_ptr< Identifier > get_name() const noexcept
Getter for member variable VarName::name.
Definition: var_name.hpp:164
@@ -1174,11 +1188,11 @@
std::shared_ptr< ElseStatement > get_elses() const noexcept
Getter for member variable IfStatement::elses.
std::shared_ptr< Expression > get_lhs() const noexcept
Getter for member variable BinaryExpression::lhs.
virtual bool is_line_comment() const noexcept
Check if the ast node is an instance of ast::LineComment.
Definition: ast.cpp:280
-
std::string compute_method_name(BlockType type) const
+
std::string compute_method_name(BlockType type) const
static constexpr char AREA_VARIABLE[]
similar to node_area but user can explicitly declare it as area
Represents a name.
Definition: name.hpp:44
virtual bool is_while_statement() const noexcept
Check if the ast node is an instance of ast::WhileStatement.
Definition: ast.cpp:230
-
void visit_program(const ast::Program &program) override
Main and only member function to call after creating an instance of this class.
+
void visit_program(const ast::Program &program) override
Main and only member function to call after creating an instance of this class.
virtual bool is_else_statement() const noexcept
Check if the ast node is an instance of ast::ElseStatement.
Definition: ast.cpp:236
std::shared_ptr< StatementBlock > get_statement_block() const noexcept override
Getter for member variable FromStatement::statement_block.
Represents top level AST node for whole NMODL input.
Definition: program.hpp:39
diff --git a/html/doxygen/codegen__cpp__visitor_8hpp_source.html b/html/doxygen/codegen__cpp__visitor_8hpp_source.html index 273cd71a7e..d6ba9667d6 100644 --- a/html/doxygen/codegen__cpp__visitor_8hpp_source.html +++ b/html/doxygen/codegen__cpp__visitor_8hpp_source.html @@ -1231,65 +1231,66 @@
1135  void visit_protect_statement(const ast::ProtectStatement& node) override;
1136  void visit_mutex_lock(const ast::MutexLock& node) override;
1137  void visit_mutex_unlock(const ast::MutexUnlock& node) override;
-
1138 
-
1139  std::string compute_method_name(BlockType type) const;
-
1140 
-
1141  public:
-
1142  /** Setup the target backend code generator
-
1143  *
-
1144  * Typically called from within \c visit\_program but may be called from
-
1145  * specialized targets to setup this Code generator as fallback.
-
1146  */
-
1147  void setup(const ast::Program& node);
-
1148 
-
1149 
-
1150  /**
-
1151  * Main and only member function to call after creating an instance of this class.
-
1152  * \param program the AST to translate to C++ code
-
1153  */
-
1154  void visit_program(const ast::Program& program) override;
-
1155 
+
1138  void visit_solution_expression(const ast::SolutionExpression& node) override;
+
1139 
+
1140  std::string compute_method_name(BlockType type) const;
+
1141 
+
1142  public:
+
1143  /** Setup the target backend code generator
+
1144  *
+
1145  * Typically called from within \c visit\_program but may be called from
+
1146  * specialized targets to setup this Code generator as fallback.
+
1147  */
+
1148  void setup(const ast::Program& node);
+
1149 
+
1150 
+
1151  /**
+
1152  * Main and only member function to call after creating an instance of this class.
+
1153  * \param program the AST to translate to C++ code
+
1154  */
+
1155  void visit_program(const ast::Program& program) override;
1156 
-
1157  /****************************************************************************************/
-
1158  /* Public printing routines for code generation for use in unit tests */
-
1159  /****************************************************************************************/
-
1160 
-
1161 
-
1162  /**
-
1163  * Print the structure that wraps all range and int variables required for the NMODL
-
1164  *
-
1165  * \param print_initializers Whether or not default values for variables
-
1166  * be included in the struct declaration.
-
1167  */
-
1168  virtual void print_mechanism_range_var_structure(bool print_initializers) = 0;
-
1169 };
-
1170 
-
1171 /* Templated functions need to be defined in header file */
-
1172 template <typename T>
-
1173 void CodegenCppVisitor::print_vector_elements(const std::vector<T>& elements,
-
1174  const std::string& separator,
-
1175  const std::string& prefix) {
-
1176  for (auto iter = elements.begin(); iter != elements.end(); iter++) {
-
1177  printer->add_text(prefix);
-
1178  (*iter)->accept(*this);
-
1179  if (!separator.empty() && !nmodl::utils::is_last(iter, elements)) {
-
1180  printer->add_text(separator);
-
1181  }
-
1182  }
-
1183 }
-
1184 
-
1185 
-
1186 /** \} */ // end of codegen_backends
-
1187 
-
1188 } // namespace codegen
-
1189 } // namespace nmodl
+
1157 
+
1158  /****************************************************************************************/
+
1159  /* Public printing routines for code generation for use in unit tests */
+
1160  /****************************************************************************************/
+
1161 
+
1162 
+
1163  /**
+
1164  * Print the structure that wraps all range and int variables required for the NMODL
+
1165  *
+
1166  * \param print_initializers Whether or not default values for variables
+
1167  * be included in the struct declaration.
+
1168  */
+
1169  virtual void print_mechanism_range_var_structure(bool print_initializers) = 0;
+
1170 };
+
1171 
+
1172 /* Templated functions need to be defined in header file */
+
1173 template <typename T>
+
1174 void CodegenCppVisitor::print_vector_elements(const std::vector<T>& elements,
+
1175  const std::string& separator,
+
1176  const std::string& prefix) {
+
1177  for (auto iter = elements.begin(); iter != elements.end(); iter++) {
+
1178  printer->add_text(prefix);
+
1179  (*iter)->accept(*this);
+
1180  if (!separator.empty() && !nmodl::utils::is_last(iter, elements)) {
+
1181  printer->add_text(separator);
+
1182  }
+
1183  }
+
1184 }
+
1185 
+
1186 
+
1187 /** \} */ // end of codegen_backends
+
1188 
+
1189 } // namespace codegen
+
1190 } // namespace nmodl
virtual void print_nrn_constructor()=0
Print nrn_constructor function definition.
bool is_last(Iter iter, const Cont &cont)
Check if the iterator is pointing to last element in the container.
static bool need_semicolon(const ast::Statement &node)
Check if a semicolon is required at the end of given statement.
-
void update_index_semantics()
populate all index semantics needed for registration with coreneuron
+
void update_index_semantics()
populate all index semantics needed for registration with coreneuron
CodegenCppVisitor(std::string mod_filename, const std::string &output_dir, std::string float_type, const bool optimize_ionvar_copies)
This constructor is private, only the derived classes' public constructors are public.
virtual std::string register_mechanism_arguments() const =0
Arguments for register_mech or point_register_mech function.
@@ -1349,7 +1350,7 @@
Represents a variable.
Definition: var_name.hpp:43
Represents an integer variable.
Definition: integer.hpp:49
@ BlockTypeEnd
fake ending block type for loops on the enums. Keep it at the end
-
std::vector< SymbolType > get_float_variables() const
Determine all float variables required during code generation.
+
std::vector< SymbolType > get_float_variables() const
Determine all float variables required during code generation.
virtual void print_net_move_call(const ast::FunctionCall &node)=0
Print call to net_move.
const char * default_int_data_type() const noexcept
Default data type for integer (offset) elements.
@@ -1366,10 +1367,10 @@
virtual std::string int_variable_name(const IndexVariableInfo &symbol, const std::string &name, bool use_instance) const =0
Determine the name of an int variable given its symbol.
void visit_unit(const ast::Unit &node) override
visit node of type ast::Unit
void visit_update_dt(const ast::UpdateDt &node) override
visit node of type ast::UpdateDt
-
void print_vector_elements(const std::vector< T > &elements, const std::string &separator, const std::string &prefix="")
Print the items in a vector as a list.
+
void print_vector_elements(const std::vector< T > &elements, const std::string &separator, const std::string &prefix="")
Print the items in a vector as a list.
IndexVariableInfo(std::shared_ptr< symtab::Symbol > symbol, bool is_vdata=false, bool is_index=false, bool is_integer=false)
static constexpr char DEFAULT_FLOAT_TYPE[]
default float variable type
-
std::vector< IndexVariableInfo > get_int_variables()
Determine all int variables required during code generation.
+
std::vector< IndexVariableInfo > get_int_variables()
Determine all int variables required during code generation.
virtual std::string nrn_thread_internal_arguments()=0
Arguments for "_threadargs_" macro in neuron implementation.
void visit_function_call(const ast::FunctionCall &node) override
visit node of type ast::FunctionCall
@@ -1388,7 +1389,7 @@
Represents specific element of an array variable.
virtual std::string simulator_name()=0
Name of the simulator the code was generated for.
-
void setup(const ast::Program &node)
Setup the target backend code generator.
+
void setup(const ast::Program &node)
Setup the target backend code generator.
void visit_unary_operator(const ast::UnaryOperator &node) override
visit node of type ast::UnaryOperator
void visit_mutex_lock(const ast::MutexLock &node) override
visit node of type ast::MutexLock
virtual void print_net_event_call(const ast::FunctionCall &node)=0
Print call to net_event.
@@ -1408,6 +1409,7 @@
void visit_string(const ast::String &node) override
visit node of type ast::String
@ NetReceive
net_receive block
+
void visit_solution_expression(const ast::SolutionExpression &node) override
visit node of type ast::SolutionExpression
const char * local_var_type() const noexcept
Data type for the local variables.
virtual void print_backend_info()=0
Print top file header printed in generated code.
std::string get_channel_info_var_name() const noexcept
Name of channel info variable.
@@ -1455,6 +1457,7 @@
Implement logger based on spdlog library.
bool is_vdata
if variable resides in vdata field of NrnThread typically true for bbcore pointer
virtual void print_function_call(const ast::FunctionCall &node)
Print call to internal or external function.
+
Represent solution of a block in the AST.
bool enable_variable_name_lookup
Variable name should be converted to instance name (but not for function arguments)
BlockType
Helper to represent various block types.
int current_watch_statement
Index of watch statement being printed.
@@ -1465,10 +1468,10 @@
void visit_else_if_statement(const ast::ElseIfStatement &node) override
visit node of type ast::ElseIfStatement
Visitor for printing C++ code compatible with legacy api of CoreNEURON
virtual void print_namespace_start()=0
Prints the start of the simulator namespace.
-
std::string compute_method_name(BlockType type) const
+
std::string compute_method_name(BlockType type) const
virtual const char * external_method_arguments() noexcept=0
Arguments for external functions called from generated code.
Represents a name.
Definition: name.hpp:44
-
void visit_program(const ast::Program &program) override
Main and only member function to call after creating an instance of this class.
+
void visit_program(const ast::Program &program) override
Main and only member function to call after creating an instance of this class.
std::string mod_filename
Name of mod file (without .mod suffix)
virtual std::string get_variable_name(const std::string &name, bool use_instance=true) const =0
Determine variable name in the structure of mechanism properties.
Represents top level AST node for whole NMODL input.
Definition: program.hpp:39
diff --git a/html/doxygen/codegen__neuron__cpp__visitor_8hpp_source.html b/html/doxygen/codegen__neuron__cpp__visitor_8hpp_source.html index 7a5a3d9089..f7a6e31295 100644 --- a/html/doxygen/codegen__neuron__cpp__visitor_8hpp_source.html +++ b/html/doxygen/codegen__neuron__cpp__visitor_8hpp_source.html @@ -655,119 +655,118 @@
559  /****************************************************************************************/
560 
561 
-
562  virtual void visit_solution_expression(const ast::SolutionExpression& node) override;
-
563  virtual void visit_watch_statement(const ast::WatchStatement& node) override;
-
564 
-
565 
-
566  /**
-
567  * Print prototype declarations of functions or procedures
-
568  * \tparam T The AST node type of the node (must be of nmodl::ast::Ast or subclass)
-
569  * \param node The AST node representing the function or procedure block
-
570  * \param name A user defined name for the function
-
571  */
-
572  template <typename T>
-
573  void print_function_declaration(const T& node, const std::string& name);
+
562  virtual void visit_watch_statement(const ast::WatchStatement& node) override;
+
563 
+
564 
+
565  /**
+
566  * Print prototype declarations of functions or procedures
+
567  * \tparam T The AST node type of the node (must be of nmodl::ast::Ast or subclass)
+
568  * \param node The AST node representing the function or procedure block
+
569  * \param name A user defined name for the function
+
570  */
+
571  template <typename T>
+
572  void print_function_declaration(const T& node, const std::string& name);
+
573 
574 
-
575 
-
576  public:
-
577  /**
-
578  * \brief Constructs the C++ code generator visitor
-
579  *
-
580  * This constructor instantiates an NMODL C++ code generator and allows writing generated code
-
581  * directly to a file in \c [output_dir]/[mod_filename].cpp.
-
582  *
-
583  * \note No code generation is performed at this stage. Since the code
-
584  * generator classes are all based on \c AstVisitor the AST must be visited using e.g. \c
-
585  * visit_program in order to generate the C++ code corresponding to the AST.
-
586  *
-
587  * \param mod_filename The name of the model for which code should be generated.
-
588  * It is used for constructing an output filename.
-
589  * \param output_dir The directory where target C++ file should be generated.
-
590  * \param float_type The float type to use in the generated code. The string will be used
-
591  * as-is in the target code. This defaults to \c double.
-
592  */
- -
594  const std::string& output_dir,
-
595  std::string float_type,
-
596  const bool optimize_ionvar_copies)
- -
598 
-
599  /**
-
600  * \copybrief nmodl::codegen::CodegenNeuronCppVisitor
-
601  *
-
602  * This constructor instantiates an NMODL C++ code generator and allows writing generated code
-
603  * into an output stream.
-
604  *
-
605  * \note No code generation is performed at this stage. Since the code
-
606  * generator classes are all based on \c AstVisitor the AST must be visited using e.g. \c
-
607  * visit_program in order to generate the C++ code corresponding to the AST.
-
608  *
-
609  * \param mod_filename The name of the model for which code should be generated.
-
610  * It is used for constructing an output filename.
-
611  * \param stream The output stream onto which to write the generated code
-
612  * \param float_type The float type to use in the generated code. The string will be used
-
613  * as-is in the target code. This defaults to \c double.
-
614  */
- -
616  std::ostream& stream,
-
617  std::string float_type,
-
618  const bool optimize_ionvar_copies)
- +
575  public:
+
576  /**
+
577  * \brief Constructs the C++ code generator visitor
+
578  *
+
579  * This constructor instantiates an NMODL C++ code generator and allows writing generated code
+
580  * directly to a file in \c [output_dir]/[mod_filename].cpp.
+
581  *
+
582  * \note No code generation is performed at this stage. Since the code
+
583  * generator classes are all based on \c AstVisitor the AST must be visited using e.g. \c
+
584  * visit_program in order to generate the C++ code corresponding to the AST.
+
585  *
+
586  * \param mod_filename The name of the model for which code should be generated.
+
587  * It is used for constructing an output filename.
+
588  * \param output_dir The directory where target C++ file should be generated.
+
589  * \param float_type The float type to use in the generated code. The string will be used
+
590  * as-is in the target code. This defaults to \c double.
+
591  */
+ +
593  const std::string& output_dir,
+
594  std::string float_type,
+
595  const bool optimize_ionvar_copies)
+ +
597 
+
598  /**
+
599  * \copybrief nmodl::codegen::CodegenNeuronCppVisitor
+
600  *
+
601  * This constructor instantiates an NMODL C++ code generator and allows writing generated code
+
602  * into an output stream.
+
603  *
+
604  * \note No code generation is performed at this stage. Since the code
+
605  * generator classes are all based on \c AstVisitor the AST must be visited using e.g. \c
+
606  * visit_program in order to generate the C++ code corresponding to the AST.
+
607  *
+
608  * \param mod_filename The name of the model for which code should be generated.
+
609  * It is used for constructing an output filename.
+
610  * \param stream The output stream onto which to write the generated code
+
611  * \param float_type The float type to use in the generated code. The string will be used
+
612  * as-is in the target code. This defaults to \c double.
+
613  */
+ +
615  std::ostream& stream,
+
616  std::string float_type,
+
617  const bool optimize_ionvar_copies)
+ +
619 
620 
-
621 
-
622  /****************************************************************************************/
-
623  /* Public printing routines for code generation for use in unit tests */
-
624  /****************************************************************************************/
-
625 
-
626 
-
627  /**
-
628  * Print the structure that wraps all range and int variables required for the NMODL
-
629  *
-
630  * \param print_initializers Whether or not default values for variables
-
631  * be included in the struct declaration.
-
632  */
-
633  void print_mechanism_range_var_structure(bool print_initializers) override;
-
634 };
-
635 
-
636 
-
637 /**
-
638  * \details If there is an argument with name (say alpha) same as range variable (say alpha),
-
639  * we want to avoid it being printed as instance->alpha. And hence we disable variable
-
640  * name lookup during prototype declaration. Note that the name of procedure can be
-
641  * different in case of table statement.
-
642  */
-
643 template <typename T>
-
644 void CodegenNeuronCppVisitor::print_function_declaration(const T& node, const std::string& name) {
- -
646  auto type = default_float_data_type();
-
647 
-
648  // internal and user provided arguments
-
649  auto internal_params = internal_method_parameters();
-
650  const auto& params = node.get_parameters();
-
651  for (const auto& param: params) {
-
652  internal_params.emplace_back("", type, "", param.get()->get_node_name());
-
653  }
-
654 
-
655  // procedures have "int" return type by default
-
656  const char* return_type = "int";
-
657  if (node.is_function_block()) {
-
658  return_type = default_float_data_type();
-
659  }
-
660 
-
661  /// TODO: Edit for NEURON
-
662  printer->add_indent();
-
663  printer->fmt_text("inline {} {}({})",
-
664  return_type,
-
665  method_name(name),
-
666  get_parameter_str(internal_params));
-
667 
- -
669 }
-
670 
-
671 /** \} */ // end of codegen_backends
-
672 
-
673 } // namespace codegen
-
674 } // namespace nmodl
+
621  /****************************************************************************************/
+
622  /* Public printing routines for code generation for use in unit tests */
+
623  /****************************************************************************************/
+
624 
+
625 
+
626  /**
+
627  * Print the structure that wraps all range and int variables required for the NMODL
+
628  *
+
629  * \param print_initializers Whether or not default values for variables
+
630  * be included in the struct declaration.
+
631  */
+
632  void print_mechanism_range_var_structure(bool print_initializers) override;
+
633 };
+
634 
+
635 
+
636 /**
+
637  * \details If there is an argument with name (say alpha) same as range variable (say alpha),
+
638  * we want to avoid it being printed as instance->alpha. And hence we disable variable
+
639  * name lookup during prototype declaration. Note that the name of procedure can be
+
640  * different in case of table statement.
+
641  */
+
642 template <typename T>
+
643 void CodegenNeuronCppVisitor::print_function_declaration(const T& node, const std::string& name) {
+ +
645  auto type = default_float_data_type();
+
646 
+
647  // internal and user provided arguments
+
648  auto internal_params = internal_method_parameters();
+
649  const auto& params = node.get_parameters();
+
650  for (const auto& param: params) {
+
651  internal_params.emplace_back("", type, "", param.get()->get_node_name());
+
652  }
+
653 
+
654  // procedures have "int" return type by default
+
655  const char* return_type = "int";
+
656  if (node.is_function_block()) {
+
657  return_type = default_float_data_type();
+
658  }
+
659 
+
660  /// TODO: Edit for NEURON
+
661  printer->add_indent();
+
662  printer->fmt_text("inline {} {}({})",
+
663  return_type,
+
664  method_name(name),
+
665  get_parameter_str(internal_params));
+
666 
+ +
668 }
+
669 
+
670 /** \} */ // end of codegen_backends
+
671 
+
672 } // namespace codegen
+
673 } // namespace nmodl
const char * external_method_parameters(bool table=false) noexcept override
Parameters for functions in generated code that are called back from external code.
@@ -794,11 +793,11 @@
virtual std::string backend_name() const override
Name of the code generation backend.
std::string process_verbatim_text(std::string const &text) override
Process a verbatim block for possible variable renaming.
void print_g_unused() const override
Set g_unused (conductance) for NRN_PRCELLSTATE feature.
-
virtual void visit_watch_statement(const ast::WatchStatement &node) override
TODO: Edit for NEURON.
+
virtual void visit_watch_statement(const ast::WatchStatement &node) override
TODO: Edit for NEURON.
void print_net_send_call(const ast::FunctionCall &node) override
Print call to net_send.
void print_namespace_end() override
Print end of namespaces.
void print_net_move_call(const ast::FunctionCall &node) override
Print call to net_move.
-
CodegenNeuronCppVisitor(std::string mod_filename, std::ostream &stream, std::string float_type, const bool optimize_ionvar_copies)
Visitor for printing C++ code compatible with legacy api of NEURON
+
CodegenNeuronCppVisitor(std::string mod_filename, std::ostream &stream, std::string float_type, const bool optimize_ionvar_copies)
Visitor for printing C++ code compatible with legacy api of NEURON
void print_nrn_state() override
Print nrn_state / state update function definition.
const char * default_float_data_type() const noexcept
Default data type for floating point elements.
virtual void print_global_function_common_code(BlockType type, const std::string &function_name="") override
Print common code for global functions like nrn_init, nrn_cur and nrn_state.
@@ -809,7 +808,7 @@
Base class for all block scoped nodes.
Definition: block.hpp:41
Represent WATCH statement in NMODL.
-
void print_function_declaration(const T &node, const std::string &name)
Print prototype declarations of functions or procedures.
+
void print_function_declaration(const T &node, const std::string &name)
Print prototype declarations of functions or procedures.
Represents a BREAKPOINT block in NMODL.
void print_nrn_cur_conductance_kernel(const ast::BreakpointBlock &node) override
Print the nrn_cur kernel with NMODL conductance keyword provisions.
std::string int_variable_name(const IndexVariableInfo &symbol, const std::string &name, bool use_instance) const override
Determine the name of an int variable given its symbol.
@@ -836,11 +835,9 @@
void print_mechanism_variables_macros()
Print mechanism variables' related macros.
Visitor for printing C++ code compatible with legacy api of NEURON
-
virtual void visit_solution_expression(const ast::SolutionExpression &node) override
TODO: Edit for NEURON.
std::string float_type
Data type of floating point variables.
void print_nrn_constructor() override
Print nrn_constructor function definition.
Implement logger based on spdlog library.
-
Represent solution of a block in the AST.
bool enable_variable_name_lookup
Variable name should be converted to instance name (but not for function arguments)
BlockType
Helper to represent various block types.
void print_function_or_procedure(const ast::Block &node, const std::string &name) override
Print nmodl function or procedure (common code)
@@ -857,7 +854,7 @@
std::string method_name(const std::string &name) const
Constructs the name of a function or procedure.
std::string nrn_thread_arguments() const override
Arguments for "_threadargs_" macro in neuron implementation.
void print_codegen_routines() override
Print entry point to code generation.
-
CodegenNeuronCppVisitor(std::string mod_filename, const std::string &output_dir, std::string float_type, const bool optimize_ionvar_copies)
Constructs the C++ code generator visitor.
+
CodegenNeuronCppVisitor(std::string mod_filename, const std::string &output_dir, std::string float_type, const bool optimize_ionvar_copies)
Constructs the C++ code generator visitor.
void print_function_prototypes() override
Print function and procedures prototype declaration.
void print_mechanism_global_var_structure(bool print_initializers) override
Print the structure that wraps all global variables used in the NMODL.
void print_global_macros()
Print NEURON global variable macros.
diff --git a/html/doxygen/functions_func_v.html b/html/doxygen/functions_func_v.html index b8f95782be..48f15aed7e 100644 --- a/html/doxygen/functions_func_v.html +++ b/html/doxygen/functions_func_v.html @@ -1393,8 +1393,7 @@

- v -

    , nmodl::visitor::Visitor
  • visit_solution_expression() -: nmodl::codegen::CodegenCoreneuronCppVisitor -, nmodl::codegen::CodegenNeuronCppVisitor +: nmodl::codegen::CodegenCppVisitor , nmodl::visitor::AstVisitor , nmodl::visitor::ConstAstVisitor , nmodl::visitor::ConstVisitor diff --git a/html/doxygen/functions_v.html b/html/doxygen/functions_v.html index e25218912d..8ef6ed46f9 100644 --- a/html/doxygen/functions_v.html +++ b/html/doxygen/functions_v.html @@ -100,7 +100,7 @@

    - v -

      : nmodl::ast::Useion
    • Valence() -: nmodl::ast::Valence +: nmodl::ast::Valence
    • value : nmodl::ast::BABlockType @@ -1486,8 +1486,7 @@

      - v -

        , nmodl::visitor::Visitor
      • visit_solution_expression() -: nmodl::codegen::CodegenCoreneuronCppVisitor -, nmodl::codegen::CodegenNeuronCppVisitor +: nmodl::codegen::CodegenCppVisitor , nmodl::visitor::AstVisitor , nmodl::visitor::ConstAstVisitor , nmodl::visitor::ConstVisitor diff --git a/html/doxygen/group__codegen__backends.html b/html/doxygen/group__codegen__backends.html index 5411456360..d136f388db 100644 --- a/html/doxygen/group__codegen__backends.html +++ b/html/doxygen/group__codegen__backends.html @@ -191,7 +191,7 @@

        Definition at line 644 of file codegen_neuron_cpp_visitor.hpp.

        +

        Definition at line 643 of file codegen_neuron_cpp_visitor.hpp.

        @@ -247,7 +247,7 @@

        Definition at line 1288 of file codegen_coreneuron_cpp_visitor.hpp.

        +

        Definition at line 1287 of file codegen_coreneuron_cpp_visitor.hpp.

        @@ -310,7 +310,7 @@

        Definition at line 1173 of file codegen_cpp_visitor.hpp.

        +

        Definition at line 1174 of file codegen_cpp_visitor.hpp.

        diff --git a/html/doxygen/group__codegen__backends.js b/html/doxygen/group__codegen__backends.js index b65349aede..cc05dfb0cc 100644 --- a/html/doxygen/group__codegen__backends.js +++ b/html/doxygen/group__codegen__backends.js @@ -200,7 +200,6 @@ var group__codegen__backends = [ "visit_eigen_linear_solver_block", "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#afa72e4268acf4beee9e0297e7efa9f3f", null ], [ "visit_eigen_newton_solver_block", "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a06aa792160b4f021f66b58a21d3a296c", null ], [ "visit_for_netcon", "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a524be3f8fa4165f983647ed8ebbb9f01", null ], - [ "visit_solution_expression", "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#abab2d506aa44fb0e53561f38b69c35ef", null ], [ "visit_watch_statement", "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a8d05784b3300be188775cf2ec9958dc6", null ], [ "write_ion_variable_name", "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a4c6c17a2eeafae316e104bf5722337fa", null ] ] ], @@ -325,6 +324,7 @@ var group__codegen__backends = [ "visit_prime_name", "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a0c937b0ca36a6489bbc6630db5df0cf5", null ], [ "visit_program", "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a491e418920668f8fce331c65e8b48a02", null ], [ "visit_protect_statement", "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a946c6fc559c23573210285ed47e28570", null ], + [ "visit_solution_expression", "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a40bc1308f847c66bc91d9c93368db6ec", null ], [ "visit_statement_block", "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a8eb67dab884cc678e541ff5cc77b5e03", null ], [ "visit_string", "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a502fd875dc95e68f905fe2070abaeff8", null ], [ "visit_unary_operator", "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a6e7b32701d8bf69f1ba8995e4bf50ad3", null ], @@ -412,7 +412,6 @@ var group__codegen__backends = [ "process_verbatim_text", "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a13af4fa40fc5b97bfcf91d199fe6a8e2", null ], [ "register_mechanism_arguments", "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a50026c205b223b41ffe682526735873c", null ], [ "simulator_name", "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a77ac6349ba709a4ef7ecd6a4c34b9e0c", null ], - [ "visit_solution_expression", "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#aaf5e58f5a33a545e01d5720d6812fa4f", null ], [ "visit_watch_statement", "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a403636272eebe18cf3f25759c06ec00a", null ] ] ], [ "print_function_declaration", "group__codegen__backends.html#gabd283274182774ed39c08a0714842d43", null ], diff --git a/html/doxygen/navtreedata.js b/html/doxygen/navtreedata.js index cc6ab7a55a..2e2d6e5e4f 100644 --- a/html/doxygen/navtreedata.js +++ b/html/doxygen/navtreedata.js @@ -80,23 +80,23 @@ var NAVTREEINDEX = "classnmodl_1_1ast_1_1_var_name.html#a30325f92847805f168f74ae30b37ad53", "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a293512e33ee9a6a4585664e73e5897ed", "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ad4462dbd2b4f56b33b7cc875150ca77c", -"classnmodl_1_1parser_1_1diffeq_1_1_diff_eq_context.html#ab8b24b7a7cc1c4775723b7c4f67dc650", -"classnmodl_1_1utils_1_1_singleton_random_string.html#ade5b240627e7f47d65b1ce72be1b85be", -"classnmodl_1_1visitor_1_1_const_visitor.html#a096625c78ed685a7ee6233a13b1793a3", -"classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a3e961657205b5352e6010c9d5ee00201", -"classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#aaa715780ab4aa9352847c5baace49daf", -"classnmodl_1_1visitor_1_1_perf_visitor.html#acfcf3e4d4fccc81b0d3f7a413da7bfa6", -"classnmodl_1_1visitor_1_1_verbatim_visitor.html#a37100be2e52e501d9c0efe97e5074ee2", -"classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#afba68c3cecbb2afc3992f3e5c73f0d31", -"dir_e00e9ec87333ef842717c0838447cfac.html", +"classnmodl_1_1parser_1_1diffeq_1_1_diff_eq_context.html#ad3bb5bd06ff94e697110d7305c153bc9", +"classnmodl_1_1visitor_1_1_after_c_vode_to_cnexp_visitor.html", +"classnmodl_1_1visitor_1_1_const_visitor.html#a0c475478721e1f3bc8f5c6604dd18103", +"classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a3f977fcb9e5fae6e5aaf51ef25d8236b", +"classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#aab22f543c4a741e3171ebc072e41ddf5", +"classnmodl_1_1visitor_1_1_perf_visitor.html#ad04231380f523e85adb5e0dce531f471", +"classnmodl_1_1visitor_1_1_verbatim_visitor.html#a3c2d925164fbfebb8169ecab0dbb25de", +"classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#afcafe2038cf430e647c1764e097ab797", +"dir_e1aa690b4af0a0538ec65649b0390051.html", "group__ast__class.html#ga4303bc795f23f0909cd1ac655c098ed4", -"group__ast__prop.html#ggadcf4f5fdf8b60524c688899351105d8aa2d707e513b03765106d024ea9268f080", -"group__codegen__backends.html#gabd283274182774ed39c08a0714842d43", -"lookup_8cpp.html", -"perf__stat_8hpp_source.html", -"structnmodl_1_1codegen_1_1_codegen_info.html#aa7a3510e16dcde7b0a04c531c8b5dbae", -"symbol__properties_8hpp.html#a901f9299d7c59b1694463d26928f2a75aa4d4b8da5f27c882ed2155dc406467a7", -"var__usage_8cpp.html#ab2c5538fecec788ffd560fce9bfd8ca6" +"group__ast__prop.html#ggadcf4f5fdf8b60524c688899351105d8aad76f0a28279fcc261f92bd59949f4bbd", +"group__codegen__backends.html#gaebe64f7d52f5cb96d8c73c1619bddabf", +"lookup_8cpp.html#a67c2c4b0c051efa0234b307a2e4ef12d", +"perf__visitor_8cpp.html", +"structnmodl_1_1codegen_1_1_codegen_info.html#aac10ea818f33243b73521ae7c557815f", +"symbol__properties_8hpp.html#a901f9299d7c59b1694463d26928f2a75af5ddaf0ca7929578b408c909429f68f2", +"var__usage_8cpp.html#abded330b1e70df5d1e8e7a6bacaf8739" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/html/doxygen/navtreeindex15.js b/html/doxygen/navtreeindex15.js index 7c63070392..525255e7d6 100644 --- a/html/doxygen/navtreeindex15.js +++ b/html/doxygen/navtreeindex15.js @@ -24,7 +24,7 @@ var NAVTREEINDEX15 = "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a4b959a2df6058dc1539d8f4f745b01ec":[0,1,0,2,27], "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a4c165609255c0fe51ba8af7684890d1e":[0,1,0,2,131], "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a4c3349dba0cee6135e099e042936adac":[0,1,0,2,44], -"classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a4c6c17a2eeafae316e104bf5722337fa":[0,1,0,2,154], +"classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a4c6c17a2eeafae316e104bf5722337fa":[0,1,0,2,153], "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a4ce5f8dd96c5a12646610da8e40de705":[0,1,0,2,142], "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a4d163cf837717e6f1bac43c1a492f456":[0,1,0,2,111], "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a4dd6948c9064a446dc45cf6f4d463975":[0,1,0,2,59], @@ -60,7 +60,7 @@ var NAVTREEINDEX15 = "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a8baaf5567ede31aa84237b45e9a2ec5f":[0,1,0,2,84], "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a8c25ecae06f5de662111c25a57501ad8":[0,1,0,2,120], "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a8ced8ed7909fe1536bdef83de1922d42":[0,1,0,2,128], -"classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a8d05784b3300be188775cf2ec9958dc6":[0,1,0,2,153], +"classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a8d05784b3300be188775cf2ec9958dc6":[0,1,0,2,152], "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a8e088ff367970d2e1bab67ff21f3c4ba":[0,1,0,2,52], "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a9206c89aa6ac5f56a2d462df9659ded2":[0,1,0,2,101], "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#a92f46b65366a865118933f37c589d34e":[0,1,0,2,41], @@ -87,7 +87,6 @@ var NAVTREEINDEX15 = "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#ab7016831f7a1331681cd712690d64bc7":[0,1,0,2,86], "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#ab83b1dd02818a29abd3ad0cd4697a470":[0,1,0,2,110], "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#ab87a69ec67fe4d42df3cb0084c99dc85":[0,1,0,2,32], -"classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#abab2d506aa44fb0e53561f38b69c35ef":[0,1,0,2,152], "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#abbcf6dbd38c9ded33c7b55d5fadf7e24":[0,1,0,2,42], "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#abd6be1c541190358a512f0021ea82b16":[0,1,0,2,34], "classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#abe7b5a4015101375080492cc8e691d1d":[0,1,0,2,130], @@ -144,19 +143,19 @@ var NAVTREEINDEX15 = "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a1e105e4b89ba5652f46bb91e49c817eb":[0,1,0,3,93], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a1eb66c309a71c8e942f8bc0b518c84ed":[0,1,0,3,107], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a20666add7b3f75937954a038c51f5b55":[0,1,0,3,51], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a20a5b2ac403015cf48bc09b6f1f26408":[0,1,0,3,123], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a20a5b2ac403015cf48bc09b6f1f26408":[0,1,0,3,124], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a22b033ac5c8d3f09e96b814355fea17a":[0,1,0,3,101], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a2453a1be52f39c3fa9bab2603f1f4773":[0,1,0,3,84], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a294f3c4467883beffdc0d6bea67e1741":[0,1,0,3,29], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a29c095f39a79b5fe0782a6ee22d597ff":[0,1,0,3,36], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a2a1e5337a20e3f1dad1d1dfbb89fbb1b":[0,1,0,3,129], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a2a1e5337a20e3f1dad1d1dfbb89fbb1b":[0,1,0,3,130], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a2b676207cf17711c6957d74b5b2fc5dc":[0,1,0,3,17], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a2d7cffd628c745f2e7614ffab48f4346":[0,1,0,3,45], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a2ecbf452d80ce4914271469183e2e31c":[0,1,0,3,31], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a2f0c1a7b9127c6248b03b296257e8833":[0,1,0,3,69], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a2f6825fbb587362e1ed38f03e3b97d86":[0,1,0,3,10], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a30af017ff0f7101ed71d9b43e56031ca":[0,1,0,3,5], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a314e2615fb2851cf695a7b3adacef3e8":[0,1,0,3,141], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a314e2615fb2851cf695a7b3adacef3e8":[0,1,0,3,142], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a32f908e88bbb1c5070b5e011f2955c07":[0,1,0,3,28], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a34453683f5cc03bd4169ea004cd7e725":[0,1,0,3,111], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a34492b32e18b9fbfd3ba01ba8ad85eb5":[0,1,0,3,54], @@ -164,7 +163,7 @@ var NAVTREEINDEX15 = "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a362f36a540212a3005f56ebf2d3b68b8":[0,1,0,3,12], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a36470f1359566ee071015a630deb89cd":[0,1,0,3,73], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a37c30fea3191a0275918448626e043c4":[0,1,0,3,42], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a380ec35a9c68ed3384489d17a385551a":[0,1,0,3,142], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a380ec35a9c68ed3384489d17a385551a":[0,1,0,3,143], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a3836bfe0a9610b9037a73ea727246e71":[0,1,0,3,57], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a3a37a4c72e59e5b6e5db518f4a88e7ff":[0,1,0,3,86], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a3a441ca48ae4cff29a4f715314fcb0c9":[0,1,0,3,37], @@ -172,33 +171,34 @@ var NAVTREEINDEX15 = "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a3e46711f25455021caa5de67ef374f55":[0,1,0,3,109], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a3ef901c89d40124058a0df268b4f8101":[0,1,0,3,47], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a407af2b73f564d5db79381b5b2699c97":[0,1,0,3,52], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a40bc1308f847c66bc91d9c93368db6ec":[0,1,0,3,120], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a430f1ba9b0f5fe9f3b74678f63025384":[0,1,0,3,60], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a431541d09a66c744e0df775d2ccd3acd":[0,1,0,3,105], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a481001b393776c233ccdc069916d2d7c":[0,1,0,3,83], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a491e418920668f8fce331c65e8b48a02":[0,1,0,3,118], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a4b9e335b7f968d36d9cd6bdfc34bba34":[0,1,0,3,55], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a4bf65c93bea904102b63553f3e5dd1b3":[0,1,0,3,82], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a4f2304d508e3d9645581004c676d94ca":[0,1,0,3,125], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a502fd875dc95e68f905fe2070abaeff8":[0,1,0,3,121], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a4f2304d508e3d9645581004c676d94ca":[0,1,0,3,126], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a502fd875dc95e68f905fe2070abaeff8":[0,1,0,3,122], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a50cbee5029c7f2bc22d697b7cd09f0cf":[0,1,0,3,21], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a50ccadf68055ea9e26439ccaed0d68f7":[0,1,0,3,59], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a522261006f1cc94869ef15cd26b739da":[0,1,0,3,85], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a52c4e7589ecefee4dbbff1286344499e":[0,1,0,3,132], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a52cb50316afdcb5899663c98aa47c0de":[0,1,0,3,136], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a52c4e7589ecefee4dbbff1286344499e":[0,1,0,3,133], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a52cb50316afdcb5899663c98aa47c0de":[0,1,0,3,137], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a5711fc465136219d98b57fc2c2822f24":[0,1,0,3,106], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a578f6c60b4ca495b24e5b7ae2db448cc":[0,1,0,3,6], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a5c6520580009a4608d6ea4e221ef3d29":[0,1,0,3,38], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a5d7d3326aaa9849977f0c203078f39e4":[0,1,0,3,90], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a6131bec61397f01d9739e694c57afdbf":[0,1,0,3,88], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a6145c59148d531ca06c5d6f218e21b02":[0,1,0,3,77], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a629e1fff799f15735376832d9ed176a2":[0,1,0,3,139], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a629e1fff799f15735376832d9ed176a2":[0,1,0,3,140], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a6355225bc6f8a723100111beb2af4b7f":[0,1,0,3,14], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a661794563709a984308164abcdd543ee":[0,1,0,3,130], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a6b6f336bd93b1a3053428a92cf0fc909":[0,1,0,3,124], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a661794563709a984308164abcdd543ee":[0,1,0,3,131], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a6b6f336bd93b1a3053428a92cf0fc909":[0,1,0,3,125], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a6c0ac0823d48779ad3c84ee0bedf1e23":[0,1,0,3,40], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a6d260fcee2ad4a83b36fc26adad5934d":[0,1,0,3,46], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a6d73d64a97cc8f024e1ee3367bfd119d":[0,1,0,3,61], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a6e7b32701d8bf69f1ba8995e4bf50ad3":[0,1,0,3,122], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a6e7b32701d8bf69f1ba8995e4bf50ad3":[0,1,0,3,123], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a73d001ad3c271c56d89e09e2cebfceb3":[0,1,0,3,0], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a7559257a5ad55a48d1221522838c5daf":[0,1,0,3,30], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a78481115d7590930ac4d58d0bdaa2acc":[0,1,0,3,74], @@ -214,7 +214,7 @@ var NAVTREEINDEX15 = "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a8b8b75dcd53ae8e3a641f18cb00bee1d":[0,1,0,3,97], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a8b912ad6d9a4f6d8e4c1bb16f2c95fbf":[0,1,0,3,89], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a8cefcce52cd721b3869701367f456a71":[0,1,0,3,75], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a8eb67dab884cc678e541ff5cc77b5e03":[0,1,0,3,120], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a8eb67dab884cc678e541ff5cc77b5e03":[0,1,0,3,121], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a8ed7dc66684dd077c0aa2260e0e0afb4":[0,1,0,3,113], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a913c33933a32feca0f0389cee637a293":[0,1,0,3,15], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a91fdec443327720111f0b8ecad783c87":[0,1,0,3,79], @@ -224,11 +224,11 @@ var NAVTREEINDEX15 = "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a946c6fc559c23573210285ed47e28570":[0,1,0,3,119], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a96932dfa1cc61d6eeb2d650e707ecf20":[0,1,0,3,116], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a96ee5727c24f572b7b25cd2c39b9b776":[0,1,0,3,64], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a987d2e01b76d37c69fd6e589b4d69473":[0,1,0,3,134], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a987d2e01b76d37c69fd6e589b4d69473":[0,1,0,3,135], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a9a425d43bf21b8dddc7971e25c9e09fb":[0,1,0,3,103], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a9fd66cb8986ef84feaa63fdd0f072e45":[0,1,0,3,20], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#aa017bbe95ad7539e72d182dac59f2454":[0,1,0,3,58], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#aa2be06a920e2103ba838c308a2dcc57e":[0,1,0,3,138], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#aa2be06a920e2103ba838c308a2dcc57e":[0,1,0,3,139], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#aa526479a9b7e3f096291cebbb0806df9":[0,1,0,3,16], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#aaa6dae67e44cbd29e86e10b270249bed":[0,1,0,3,48], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#aac1df493cd346d7faccb17ae5440ddc4":[0,1,0,3,26], @@ -239,15 +239,15 @@ var NAVTREEINDEX15 = "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#abe4fe9f14753f16e3b1014cdb4e9f846":[0,1,0,3,23], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ac03f9380fcd4421f95e56f37f0cd00c7":[0,1,0,3,32], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ac1af60c6e410db30d87cecefd7cc7160":[0,1,0,3,110], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ac2029b16365753e1e337f82cda0e3350":[0,1,0,3,137], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ac2029b16365753e1e337f82cda0e3350":[0,1,0,3,138], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ac22dee1d346345a9c9583029c5c1f285":[0,1,0,3,114], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ac53419e9abc2d2f9b12acf10507e7954":[0,1,0,3,92], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ac5bd9ecbc1c392116871b5adaeb815a8":[0,1,0,3,131], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ac5bd9ecbc1c392116871b5adaeb815a8":[0,1,0,3,132], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ac87b0baf7ca05124b07a2cb0c405a165":[0,1,0,3,22], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ac9afb2932937099ff2a72314c9027a07":[0,1,0,3,13], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#acbb83079b063cd6b48e07030b1f5df84":[0,1,0,3,53], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#acd5e0d9dafe7c14f8946e980b77410ae":[0,1,0,3,62], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#acec9a90ac60967aeee0466003256855a":[0,1,0,3,133], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#acec9a90ac60967aeee0466003256855a":[0,1,0,3,134], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#acf8e00aaf5cd53b7be12cfeeee66c5b7":[0,1,0,3,24], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ad283ce438acd2faea2bbb309251890a1":[0,1,0,3,126] +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ad283ce438acd2faea2bbb309251890a1":[0,1,0,3,127] }; diff --git a/html/doxygen/navtreeindex16.js b/html/doxygen/navtreeindex16.js index e1046c917f..0f3834c04f 100644 --- a/html/doxygen/navtreeindex16.js +++ b/html/doxygen/navtreeindex16.js @@ -1,17 +1,17 @@ var NAVTREEINDEX16 = { "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ad4462dbd2b4f56b33b7cc875150ca77c":[0,1,0,3,112], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ad488bc63dac24ac7e5c29a1138172ed7":[0,1,0,3,127], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ad488bc63dac24ac7e5c29a1138172ed7":[0,1,0,3,128], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ad4e248ac19ce527c6e64304c42364388":[0,1,0,3,39], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ad63b4318b5abd6b8c224fab70fe61081":[0,1,0,3,56], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ae02024096ab4490b8a6215b3e59e6de0":[0,1,0,3,100], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ae022e99573f663fc0db935c5c1bb7199":[0,1,0,3,7], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ae0d8d4e346e244c764911c0c64c2ac1c":[0,1,0,3,99], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ae0e48a2461354feaaa2a3077da1d02f6":[0,1,0,3,65], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ae2fa3994b15579d0752d740c279c2073":[0,1,0,3,135], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ae2fa3994b15579d0752d740c279c2073":[0,1,0,3,136], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ae333398890c61148ec60cb52c3d28c10":[0,1,0,3,96], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ae350ed7effbbcf8dbea050231599c8e6":[0,1,0,3,72], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ae63ddf806884e983a264346f21794168":[0,1,0,3,128], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#ae63ddf806884e983a264346f21794168":[0,1,0,3,129], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#aeacff81944f23540968aa617d25e3d22":[0,1,0,3,27], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#aec3cef47cc3c1e5901b4ff401ce8e725":[0,1,0,3,94], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#aee824eb01f6cf6f9187af509245ffc3a":[0,1,0,3,66], @@ -19,7 +19,7 @@ var NAVTREEINDEX16 = "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#aef331b9ddcbd761f3aea6b457f83e88e":[0,1,0,3,95], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#af2490222aefa83d67238c605e05197a3":[0,1,0,3,70], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#af3e2476ccbaa3d2502fa8e6c0e42a628":[0,1,0,3,68], -"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#af55b2f46300b89a8458f17ab405eaa29":[0,1,0,3,140], +"classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#af55b2f46300b89a8458f17ab405eaa29":[0,1,0,3,141], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#af75968756df0bb3b12307f75bf122f20":[0,1,0,3,2], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#afba5ac1d4636d7ba57ac3fd7c7b5e2ba":[0,1,0,3,8], "classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#afdf8d3232526bf1978bb298755f42958":[0,1,0,3,35], @@ -87,7 +87,7 @@ var NAVTREEINDEX16 = "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a3529a162774aca01dbc18b604acfe00c":[0,1,0,4,16], "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a3af0b90beeeec4a0e17e84a11a76ecbc":[0,1,0,4,7], "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a3e4bdc70a4d2eb6169d656c1ec9c9fe1":[0,1,0,4,6], -"classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a403636272eebe18cf3f25759c06ec00a":[0,1,0,4,63], +"classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a403636272eebe18cf3f25759c06ec00a":[0,1,0,4,62], "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a480879d1374101ede3c9542951433543":[0,1,0,4,48], "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a50026c205b223b41ffe682526735873c":[0,1,0,4,60], "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#a5429cb9990f7cbe91dc33522da5ad76d":[0,1,0,4,49], @@ -117,7 +117,6 @@ var NAVTREEINDEX16 = "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#aa7665c8b7c92f51b6fbccfa74b97a706":[0,1,0,4,30], "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#aac802efa00966f667ff0554bc1e9af1d":[0,1,0,4,31], "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#aaea5e3201bfb4a18f919f8e60db23d49":[0,1,0,4,58], -"classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#aaf5e58f5a33a545e01d5720d6812fa4f":[0,1,0,4,62], "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#ab501ff577dc0c959112378c70a9bb125":[0,1,0,4,35], "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#ab5ead6dc1ad6f664019b6713d3238622":[0,1,0,4,55], "classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#ab72208bf9821d213a933f4b3f5579d20":[0,1,0,4,36], @@ -249,5 +248,6 @@ var NAVTREEINDEX16 = "classnmodl_1_1parser_1_1diffeq_1_1_diff_eq_context.html#a8c0e2e1e95d94888911b16a94c5c1421":[2,0,0,3,0,0,10], "classnmodl_1_1parser_1_1diffeq_1_1_diff_eq_context.html#a92f7bdeedb0c276227253254a5202d51":[2,0,0,3,0,0,8], "classnmodl_1_1parser_1_1diffeq_1_1_diff_eq_context.html#a9403ad70bd5e5db162670117fd904b3b":[2,0,0,3,0,0,5], -"classnmodl_1_1parser_1_1diffeq_1_1_diff_eq_context.html#a96f5b7ca4e6a5d550c9ed9f768a00e28":[2,0,0,3,0,0,0] +"classnmodl_1_1parser_1_1diffeq_1_1_diff_eq_context.html#a96f5b7ca4e6a5d550c9ed9f768a00e28":[2,0,0,3,0,0,0], +"classnmodl_1_1parser_1_1diffeq_1_1_diff_eq_context.html#ab8b24b7a7cc1c4775723b7c4f67dc650":[2,0,0,3,0,0,3] }; diff --git a/html/doxygen/navtreeindex17.js b/html/doxygen/navtreeindex17.js index a8b69d5280..4877c51b89 100644 --- a/html/doxygen/navtreeindex17.js +++ b/html/doxygen/navtreeindex17.js @@ -1,6 +1,5 @@ var NAVTREEINDEX17 = { -"classnmodl_1_1parser_1_1diffeq_1_1_diff_eq_context.html#ab8b24b7a7cc1c4775723b7c4f67dc650":[2,0,0,3,0,0,3], "classnmodl_1_1parser_1_1diffeq_1_1_diff_eq_context.html#ad3bb5bd06ff94e697110d7305c153bc9":[2,0,0,3,0,0,4], "classnmodl_1_1parser_1_1diffeq_1_1_diff_eq_context.html#ae54e71ef0da95411bf97f69e456da2d7":[2,0,0,3,0,0,2], "classnmodl_1_1printer_1_1_code_printer.html":[0,3,0], @@ -249,5 +248,6 @@ var NAVTREEINDEX17 = "classnmodl_1_1utils_1_1_singleton_random_string.html#aa10cbee41a847a009bcfbb2055744aad":[0,7,0,4], "classnmodl_1_1utils_1_1_singleton_random_string.html#ac3e00de497e1b0a24c7db603b6c3dcd2":[0,7,0,5], "classnmodl_1_1utils_1_1_singleton_random_string.html#ad91a73fad7220d6abe0623f609ca504b":[0,7,0,2], -"classnmodl_1_1utils_1_1_singleton_random_string.html#addba2a0ea13aed19f405cde2f88be32a":[0,7,0,0] +"classnmodl_1_1utils_1_1_singleton_random_string.html#addba2a0ea13aed19f405cde2f88be32a":[0,7,0,0], +"classnmodl_1_1utils_1_1_singleton_random_string.html#ade5b240627e7f47d65b1ce72be1b85be":[0,7,0,3] }; diff --git a/html/doxygen/navtreeindex18.js b/html/doxygen/navtreeindex18.js index d66aabbc87..43d0c48323 100644 --- a/html/doxygen/navtreeindex18.js +++ b/html/doxygen/navtreeindex18.js @@ -1,6 +1,5 @@ var NAVTREEINDEX18 = { -"classnmodl_1_1utils_1_1_singleton_random_string.html#ade5b240627e7f47d65b1ce72be1b85be":[0,7,0,3], "classnmodl_1_1visitor_1_1_after_c_vode_to_cnexp_visitor.html":[0,8,0,2], "classnmodl_1_1visitor_1_1_after_c_vode_to_cnexp_visitor.html#a0402101b0b1ed4ce4b34fab1cef8e505":[0,8,0,2,1], "classnmodl_1_1visitor_1_1_after_c_vode_to_cnexp_visitor.html#ae828f5954507fd77f9a7211948aad4da":[0,8,0,2,0], @@ -249,5 +248,6 @@ var NAVTREEINDEX18 = "classnmodl_1_1visitor_1_1_const_visitor.html":[0,8,0,33], "classnmodl_1_1visitor_1_1_const_visitor.html#a00f4d360a1345e059f1e9e09a8d4f4a6":[0,8,0,33,111], "classnmodl_1_1visitor_1_1_const_visitor.html#a026b14614b86e31e6336bf539a413a9c":[0,8,0,33,53], -"classnmodl_1_1visitor_1_1_const_visitor.html#a029687fce54202e0ea2d68540b840643":[0,8,0,33,11] +"classnmodl_1_1visitor_1_1_const_visitor.html#a029687fce54202e0ea2d68540b840643":[0,8,0,33,11], +"classnmodl_1_1visitor_1_1_const_visitor.html#a096625c78ed685a7ee6233a13b1793a3":[0,8,0,33,115] }; diff --git a/html/doxygen/navtreeindex19.js b/html/doxygen/navtreeindex19.js index c8c20e259f..99f3990deb 100644 --- a/html/doxygen/navtreeindex19.js +++ b/html/doxygen/navtreeindex19.js @@ -1,6 +1,5 @@ var NAVTREEINDEX19 = { -"classnmodl_1_1visitor_1_1_const_visitor.html#a096625c78ed685a7ee6233a13b1793a3":[0,8,0,33,115], "classnmodl_1_1visitor_1_1_const_visitor.html#a0c475478721e1f3bc8f5c6604dd18103":[0,8,0,33,52], "classnmodl_1_1visitor_1_1_const_visitor.html#a0c8ab1148e4cd10e26fe2180a6cd935f":[0,8,0,33,106], "classnmodl_1_1visitor_1_1_const_visitor.html#a106a0126cb94e18fd9f6ba1f9e8988ee":[0,8,0,33,93], @@ -249,5 +248,6 @@ var NAVTREEINDEX19 = "classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a3a3c94ffa66b5d5fb78ea69a89080a31":[0,8,0,28,121], "classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a3a5014436d619ce7e012e0b29528b7cf":[0,8,0,28,126], "classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a3b2e8f00b6db5ba5966b7fe9826babd0":[0,8,0,28,20], -"classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a3e7505ad75b9a879598ad314f2aa1da2":[0,8,0,28,100] +"classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a3e7505ad75b9a879598ad314f2aa1da2":[0,8,0,28,100], +"classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a3e961657205b5352e6010c9d5ee00201":[0,8,0,28,69] }; diff --git a/html/doxygen/navtreeindex20.js b/html/doxygen/navtreeindex20.js index 191c0325c1..064c730428 100644 --- a/html/doxygen/navtreeindex20.js +++ b/html/doxygen/navtreeindex20.js @@ -1,6 +1,5 @@ var NAVTREEINDEX20 = { -"classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a3e961657205b5352e6010c9d5ee00201":[0,8,0,28,69], "classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a3f977fcb9e5fae6e5aaf51ef25d8236b":[0,8,0,28,63], "classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a4046544d35ac45368cb4b5fec9de4c19":[0,8,0,28,92], "classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a417d049fa26aba5294f53e6ef81aa245":[0,8,0,28,11], @@ -249,5 +248,6 @@ var NAVTREEINDEX20 = "classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a9f46f3155e5c4a3cc0debdbefec3f434":[0,8,0,29,13], "classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#aa3139b96c280dfd5a2eec0dd862672b1":[0,8,0,29,35], "classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#aa7e7d0f33025fcc27f3952a80ea707ae":[0,8,0,29,44], -"classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#aa83e7bb9db5343a605c09a6bec764269":[0,8,0,29,117] +"classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#aa83e7bb9db5343a605c09a6bec764269":[0,8,0,29,117], +"classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#aaa715780ab4aa9352847c5baace49daf":[0,8,0,29,23] }; diff --git a/html/doxygen/navtreeindex21.js b/html/doxygen/navtreeindex21.js index ffdacc446f..619b21c6af 100644 --- a/html/doxygen/navtreeindex21.js +++ b/html/doxygen/navtreeindex21.js @@ -1,6 +1,5 @@ var NAVTREEINDEX21 = { -"classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#aaa715780ab4aa9352847c5baace49daf":[0,8,0,29,23], "classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#aab22f543c4a741e3171ebc072e41ddf5":[0,8,0,29,129], "classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#aadda41f8464ebb8c5faaffaceebe885b":[0,8,0,29,71], "classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#ab2a0854ec26cc75c42180ecc20f3c16a":[0,8,0,29,32], @@ -249,5 +248,6 @@ var NAVTREEINDEX21 = "classnmodl_1_1visitor_1_1_perf_visitor.html#ac762ed62b525b2e95e2c1b6682163c61":[0,8,0,15,35], "classnmodl_1_1visitor_1_1_perf_visitor.html#ac77e12748df0f9ab47d54bf9489d9ab5":[0,8,0,15,46], "classnmodl_1_1visitor_1_1_perf_visitor.html#aca5546916c9755f723c409f13da78d09":[0,8,0,15,1], -"classnmodl_1_1visitor_1_1_perf_visitor.html#acb93ed202cb97a7ab0ffbaf2cae621da":[0,8,0,15,36] +"classnmodl_1_1visitor_1_1_perf_visitor.html#acb93ed202cb97a7ab0ffbaf2cae621da":[0,8,0,15,36], +"classnmodl_1_1visitor_1_1_perf_visitor.html#acfcf3e4d4fccc81b0d3f7a413da7bfa6":[0,8,0,15,65] }; diff --git a/html/doxygen/navtreeindex22.js b/html/doxygen/navtreeindex22.js index 51e502da8d..fac72a6880 100644 --- a/html/doxygen/navtreeindex22.js +++ b/html/doxygen/navtreeindex22.js @@ -1,6 +1,5 @@ var NAVTREEINDEX22 = { -"classnmodl_1_1visitor_1_1_perf_visitor.html#acfcf3e4d4fccc81b0d3f7a413da7bfa6":[0,8,0,15,65], "classnmodl_1_1visitor_1_1_perf_visitor.html#ad04231380f523e85adb5e0dce531f471":[0,8,0,15,40], "classnmodl_1_1visitor_1_1_perf_visitor.html#ad967279d5a8892a22c26892895c37b6c":[0,8,0,15,61], "classnmodl_1_1visitor_1_1_perf_visitor.html#adb10791f8b4b750b2bf36181003f7238":[0,8,0,15,42], @@ -249,5 +248,6 @@ var NAVTREEINDEX22 = "classnmodl_1_1visitor_1_1_verbatim_var_rename_visitor.html#adf14ca58ed7e714c775a1b17872ffb1b":[0,8,0,25,1], "classnmodl_1_1visitor_1_1_verbatim_var_rename_visitor.html#aef890a20c23b7cba397d89f975bda18e":[0,8,0,25,3], "classnmodl_1_1visitor_1_1_verbatim_visitor.html":[0,8,0,26], -"classnmodl_1_1visitor_1_1_verbatim_visitor.html#a2a1679f340e006135e3a72a78fb7c7a4":[0,8,0,26,2] +"classnmodl_1_1visitor_1_1_verbatim_visitor.html#a2a1679f340e006135e3a72a78fb7c7a4":[0,8,0,26,2], +"classnmodl_1_1visitor_1_1_verbatim_visitor.html#a37100be2e52e501d9c0efe97e5074ee2":[0,8,0,26,3] }; diff --git a/html/doxygen/navtreeindex23.js b/html/doxygen/navtreeindex23.js index b7d5c53758..63739c3b53 100644 --- a/html/doxygen/navtreeindex23.js +++ b/html/doxygen/navtreeindex23.js @@ -1,6 +1,5 @@ var NAVTREEINDEX23 = { -"classnmodl_1_1visitor_1_1_verbatim_visitor.html#a37100be2e52e501d9c0efe97e5074ee2":[0,8,0,26,3], "classnmodl_1_1visitor_1_1_verbatim_visitor.html#a3c2d925164fbfebb8169ecab0dbb25de":[0,8,0,26,5], "classnmodl_1_1visitor_1_1_verbatim_visitor.html#a4cbebb1622f9b1700eadc2d06079119b":[0,8,0,26,1], "classnmodl_1_1visitor_1_1_verbatim_visitor.html#a84597affd230a1046f26918b34158842":[0,8,0,26,4], @@ -249,5 +248,6 @@ var NAVTREEINDEX23 = "classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#af9d9ac835e22932cdb84f704737a57e2":[0,8,0,35,108], "classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#af9fc3d222e4f3848b97947370637f4ea":[0,8,0,35,38], "classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#afb4eff4a29235f84af83fadf075a8f23":[0,8,0,35,102], -"classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#afb8f66b87e39475950ff179ed8dd5417":[0,8,0,35,89] +"classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#afb8f66b87e39475950ff179ed8dd5417":[0,8,0,35,89], +"classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#afba68c3cecbb2afc3992f3e5c73f0d31":[0,8,0,35,49] }; diff --git a/html/doxygen/navtreeindex24.js b/html/doxygen/navtreeindex24.js index 08a368bb91..9bcf0e02c4 100644 --- a/html/doxygen/navtreeindex24.js +++ b/html/doxygen/navtreeindex24.js @@ -1,6 +1,5 @@ var NAVTREEINDEX24 = { -"classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#afba68c3cecbb2afc3992f3e5c73f0d31":[0,8,0,35,49], "classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#afcafe2038cf430e647c1764e097ab797":[0,8,0,35,47], "classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#afe81b0045625534bb18b09f4633cdcbc":[0,8,0,35,95], "code__printer_8cpp.html":[3,0,1,5,0], @@ -249,5 +248,6 @@ var NAVTREEINDEX24 = "dir_9792af1842a3d5695511624619c9cfd3.html":[3,0,2,0,7], "dir_ad1da340fca3da41db96f59547bf3d8b.html":[3,0,0,0,0,0], "dir_b4b8bd075f03e0fff4167d5f80e92046.html":[3,0,0], -"dir_bb63d001f2c2d4d23cdeedc048a4b8ac.html":[3,0,2,0,10] +"dir_bb63d001f2c2d4d23cdeedc048a4b8ac.html":[3,0,2,0,10], +"dir_e00e9ec87333ef842717c0838447cfac.html":[3,0,1,7,1] }; diff --git a/html/doxygen/navtreeindex25.js b/html/doxygen/navtreeindex25.js index 71b204e976..b032af50cb 100644 --- a/html/doxygen/navtreeindex25.js +++ b/html/doxygen/navtreeindex25.js @@ -1,6 +1,5 @@ var NAVTREEINDEX25 = { -"dir_e00e9ec87333ef842717c0838447cfac.html":[3,0,1,7,1], "dir_e1aa690b4af0a0538ec65649b0390051.html":[3,0,1,3], "dir_f2b209578b5a17a28a4a9a3c2cd6500d.html":[3,0,1,7,0], "dir_f4739f0eb21cb15a404f3cea1464656d.html":[3,0,1,9], @@ -70,8 +69,8 @@ var NAVTREEINDEX25 = "function__call_8hpp_source.html":[3,0,0,0,0,0,0,49], "function__table__block_8hpp.html":[3,0,0,0,0,0,0,50], "function__table__block_8hpp_source.html":[3,0,0,0,0,0,0,50], -"functions.html":[2,3,0], "functions.html":[2,3,0,0], +"functions.html":[2,3,0], "functions_b.html":[2,3,0,1], "functions_c.html":[2,3,0,2], "functions_d.html":[2,3,0,3], @@ -155,8 +154,8 @@ var NAVTREEINDEX25 = "global__var__visitor_8cpp_source.html":[3,0,1,11,6], "global__var__visitor_8hpp.html":[3,0,1,11,7], "global__var__visitor_8hpp_source.html":[3,0,1,11,7], -"globals.html":[3,1,0,0], "globals.html":[3,1,0], +"globals.html":[3,1,0,0], "globals_b.html":[3,1,0,1], "globals_c.html":[3,1,0,2], "globals_d.html":[3,1,0,3], @@ -200,8 +199,8 @@ var NAVTREEINDEX25 = "group__ast__class.html#ga0d48ad506faa8de6dca6d5182c7d7352":[0,0,1,238], "group__ast__class.html#ga0e489400312bdda6525ce3b9c1a15278":[0,0,1,4,5], "group__ast__class.html#ga0e489400312bdda6525ce3b9c1a15278":[0,0,1,125], -"group__ast__class.html#ga0eb03b97fd845ed86649d29e0952f571":[0,0,1,4,90], "group__ast__class.html#ga0eb03b97fd845ed86649d29e0952f571":[0,0,1,210], +"group__ast__class.html#ga0eb03b97fd845ed86649d29e0952f571":[0,0,1,4,90], "group__ast__class.html#ga0f2057e5ee6d098bea109648bcc226bd":[0,0,1,4,126], "group__ast__class.html#ga0f2057e5ee6d098bea109648bcc226bd":[0,0,1,246], "group__ast__class.html#ga11d5227fc22968f004fcaf055b2e7cb0":[0,0,1,4,93], @@ -240,14 +239,15 @@ var NAVTREEINDEX25 = "group__ast__class.html#ga2d617bed8d16f6e386c7994fe14e1dcb":[0,0,1,4,53], "group__ast__class.html#ga2eec2446794afeca55a7dbc822fd99ba":[0,0,1,189], "group__ast__class.html#ga2eec2446794afeca55a7dbc822fd99ba":[0,0,1,4,69], -"group__ast__class.html#ga397e386e52928e6043ca71df9d45cfe3":[0,0,1,4,51], "group__ast__class.html#ga397e386e52928e6043ca71df9d45cfe3":[0,0,1,171], -"group__ast__class.html#ga3a1a88a6f2e3dbd4bb3acc39728f6eb0":[0,0,1,4,62], +"group__ast__class.html#ga397e386e52928e6043ca71df9d45cfe3":[0,0,1,4,51], "group__ast__class.html#ga3a1a88a6f2e3dbd4bb3acc39728f6eb0":[0,0,1,182], +"group__ast__class.html#ga3a1a88a6f2e3dbd4bb3acc39728f6eb0":[0,0,1,4,62], "group__ast__class.html#ga3b6381327cb9e25b740e855660a7ff3a":[0,0,1,163], "group__ast__class.html#ga3b6381327cb9e25b740e855660a7ff3a":[0,0,1,4,43], "group__ast__class.html#ga3e1362838ed4cc6d1ab04e6a9fc86bf2":[0,0,1,226], "group__ast__class.html#ga3e1362838ed4cc6d1ab04e6a9fc86bf2":[0,0,1,4,106], +"group__ast__class.html#ga3f92f72529d03053ab51c41b38a29897":[0,0,1,191], "group__ast__class.html#ga3f92f72529d03053ab51c41b38a29897":[0,0,1,4,71], -"group__ast__class.html#ga3f92f72529d03053ab51c41b38a29897":[0,0,1,191] +"group__ast__class.html#ga4303bc795f23f0909cd1ac655c098ed4":[0,0,1,4,19] }; diff --git a/html/doxygen/navtreeindex26.js b/html/doxygen/navtreeindex26.js index abfaf2f023..47d9dbd91c 100644 --- a/html/doxygen/navtreeindex26.js +++ b/html/doxygen/navtreeindex26.js @@ -1,6 +1,5 @@ var NAVTREEINDEX26 = { -"group__ast__class.html#ga4303bc795f23f0909cd1ac655c098ed4":[0,0,1,4,19], "group__ast__class.html#ga4303bc795f23f0909cd1ac655c098ed4":[0,0,1,139], "group__ast__class.html#ga4892777c5b32b112d588b05d07f28549":[0,0,1,134], "group__ast__class.html#ga4892777c5b32b112d588b05d07f28549":[0,0,1,4,14], @@ -20,8 +19,8 @@ var NAVTREEINDEX26 = "group__ast__class.html#ga571f5c2475e8e6fbfd898f82e710960a":[0,0,1,159], "group__ast__class.html#ga5b2f7b1f3e25a7d8f70d21368f7c4bcc":[0,0,1,4,7], "group__ast__class.html#ga5b2f7b1f3e25a7d8f70d21368f7c4bcc":[0,0,1,127], -"group__ast__class.html#ga5bbb1d563621926d689f8480d243d909":[0,0,1,124], "group__ast__class.html#ga5bbb1d563621926d689f8480d243d909":[0,0,1,4,4], +"group__ast__class.html#ga5bbb1d563621926d689f8480d243d909":[0,0,1,124], "group__ast__class.html#ga5eed5c6969860fdf373a7b23dcf0653b":[0,0,1,188], "group__ast__class.html#ga5eed5c6969860fdf373a7b23dcf0653b":[0,0,1,4,68], "group__ast__class.html#ga6105e91f1ce07693b9df1e0162d8f5a4":[0,0,1,4,132], @@ -32,12 +31,12 @@ var NAVTREEINDEX26 = "group__ast__class.html#ga63717e8a77ff61eb334fd3389a3c354b":[0,0,1,225], "group__ast__class.html#ga656b6af0e85f80cdaa43212b01108b42":[0,0,1,133], "group__ast__class.html#ga656b6af0e85f80cdaa43212b01108b42":[0,0,1,4,13], -"group__ast__class.html#ga684e856f3a95a7ec25941fdf5ebf53e3":[0,0,1,132], "group__ast__class.html#ga684e856f3a95a7ec25941fdf5ebf53e3":[0,0,1,4,12], +"group__ast__class.html#ga684e856f3a95a7ec25941fdf5ebf53e3":[0,0,1,132], "group__ast__class.html#ga693ff03c7dd81449e7b42ee2efa51c17":[0,0,1,174], "group__ast__class.html#ga693ff03c7dd81449e7b42ee2efa51c17":[0,0,1,4,54], -"group__ast__class.html#ga6a8e5076ce68736223774b02972fdfa8":[0,0,1,148], "group__ast__class.html#ga6a8e5076ce68736223774b02972fdfa8":[0,0,1,4,28], +"group__ast__class.html#ga6a8e5076ce68736223774b02972fdfa8":[0,0,1,148], "group__ast__class.html#ga6b742ca0ae8a6ed172f258af20a33cf7":[0,0,1,4,92], "group__ast__class.html#ga6b742ca0ae8a6ed172f258af20a33cf7":[0,0,1,212], "group__ast__class.html#ga6ca54bc2ec0698aa5a485be7c653781d":[0,0,1,4,139], @@ -48,8 +47,8 @@ var NAVTREEINDEX26 = "group__ast__class.html#ga6eadddbece7bcde0e0198e61b707d4c4":[0,0,1,237], "group__ast__class.html#ga738d9e9a7e344c5086e37cffc4be1d2f":[0,0,1,4,98], "group__ast__class.html#ga738d9e9a7e344c5086e37cffc4be1d2f":[0,0,1,218], -"group__ast__class.html#ga7955eda5565d690e7acfaead092c56aa":[0,0,1,122], "group__ast__class.html#ga7955eda5565d690e7acfaead092c56aa":[0,0,1,4,3], +"group__ast__class.html#ga7955eda5565d690e7acfaead092c56aa":[0,0,1,122], "group__ast__class.html#ga7bb648c89549d0a1440c348da8db48cd":[0,0,1,4,78], "group__ast__class.html#ga7bb648c89549d0a1440c348da8db48cd":[0,0,1,198], "group__ast__class.html#ga7f8b85b161e9540da809bccbf8b667d0":[0,0,1,4,112], @@ -72,12 +71,12 @@ var NAVTREEINDEX26 = "group__ast__class.html#ga90a102823381b1f8e6047a1af748056e":[0,0,1,143], "group__ast__class.html#ga92a0562e9202ed00c90134bccbc09972":[0,0,1,4,91], "group__ast__class.html#ga92a0562e9202ed00c90134bccbc09972":[0,0,1,211], -"group__ast__class.html#ga9313a4af4b7e130f1ff85aa1e11882ab":[0,0,1,4,70], "group__ast__class.html#ga9313a4af4b7e130f1ff85aa1e11882ab":[0,0,1,190], +"group__ast__class.html#ga9313a4af4b7e130f1ff85aa1e11882ab":[0,0,1,4,70], "group__ast__class.html#ga933f5f45973d115b0a274d0ff628cb56":[0,0,1,162], "group__ast__class.html#ga933f5f45973d115b0a274d0ff628cb56":[0,0,1,4,42], -"group__ast__class.html#ga948ddb22b25c884d62ab0df93dfe431a":[0,0,1,228], "group__ast__class.html#ga948ddb22b25c884d62ab0df93dfe431a":[0,0,1,4,108], +"group__ast__class.html#ga948ddb22b25c884d62ab0df93dfe431a":[0,0,1,228], "group__ast__class.html#ga958228cd1a203da6fea17efac8165a59":[0,0,1,165], "group__ast__class.html#ga958228cd1a203da6fea17efac8165a59":[0,0,1,4,45], "group__ast__class.html#ga9a9684461a0f1ce3adb845a0715b1b9e":[0,0,1,4,8], @@ -94,8 +93,8 @@ var NAVTREEINDEX26 = "group__ast__class.html#gaa7e0498bd12a174ddff55d9f4987c0b6":[0,0,1,216], "group__ast__class.html#gaa892d22eb06997da03dc7a433f14ba1e":[0,0,1,4,123], "group__ast__class.html#gaa892d22eb06997da03dc7a433f14ba1e":[0,0,1,243], -"group__ast__class.html#gaa8f35f9c21bc016b4029f66b07052a19":[0,0,1,136], "group__ast__class.html#gaa8f35f9c21bc016b4029f66b07052a19":[0,0,1,4,16], +"group__ast__class.html#gaa8f35f9c21bc016b4029f66b07052a19":[0,0,1,136], "group__ast__class.html#gaab79ade6f1b0e925090d42795c53c915":[0,0,1,172], "group__ast__class.html#gaab79ade6f1b0e925090d42795c53c915":[0,0,1,4,52], "group__ast__class.html#gaac556bedee72f6f87391147af12cfb14":[0,0,1,4,140], @@ -108,8 +107,8 @@ var NAVTREEINDEX26 = "group__ast__class.html#gaafdc39f0529d0879f741f525181bb756":[0,0,1,4,26], "group__ast__class.html#gaafe0391f61c4d985226cf91abf6d0ea6":[0,0,1,181], "group__ast__class.html#gaafe0391f61c4d985226cf91abf6d0ea6":[0,0,1,4,61], -"group__ast__class.html#gab0ca0546b6c94aa502549453ff611811":[0,0,1,193], "group__ast__class.html#gab0ca0546b6c94aa502549453ff611811":[0,0,1,4,73], +"group__ast__class.html#gab0ca0546b6c94aa502549453ff611811":[0,0,1,193], "group__ast__class.html#gab2ab7390c9aa9a581525ec7b2a8ddb64":[0,0,1,4,88], "group__ast__class.html#gab2ab7390c9aa9a581525ec7b2a8ddb64":[0,0,1,208], "group__ast__class.html#gab2f01c121a37f709051e291fed2cc6e1":[0,0,1,185], @@ -126,18 +125,18 @@ var NAVTREEINDEX26 = "group__ast__class.html#gabcce17a4b7c2abd423cf2319dc492f24":[0,0,1,4,124], "group__ast__class.html#gabdc81c1d11f50f067df4cf0d7746f110":[0,0,1,4,29], "group__ast__class.html#gabdc81c1d11f50f067df4cf0d7746f110":[0,0,1,149], -"group__ast__class.html#gabe0d8be79f0e0c0967da29d186c86c3c":[0,0,1,126], "group__ast__class.html#gabe0d8be79f0e0c0967da29d186c86c3c":[0,0,1,4,6], +"group__ast__class.html#gabe0d8be79f0e0c0967da29d186c86c3c":[0,0,1,126], "group__ast__class.html#gabf2f9f79aaa6163faccf95beec66c585":[0,0,1,4,86], "group__ast__class.html#gabf2f9f79aaa6163faccf95beec66c585":[0,0,1,206], "group__ast__class.html#gac02dd08abb8b9d2e817a1ae09297602b":[0,0,1,4,142], "group__ast__class.html#gac02dd08abb8b9d2e817a1ae09297602b":[0,0,1,263], "group__ast__class.html#gac116c33a0a2c52eeb7b3f7121ee282fb":[0,0,1,147], "group__ast__class.html#gac116c33a0a2c52eeb7b3f7121ee282fb":[0,0,1,4,27], -"group__ast__class.html#gac38a02afaac3a75f0c66f0d351bf9c04":[0,0,1,4,50], "group__ast__class.html#gac38a02afaac3a75f0c66f0d351bf9c04":[0,0,1,170], -"group__ast__class.html#gac58c77a74f980986b6588a285c12d408":[0,0,1,4,63], +"group__ast__class.html#gac38a02afaac3a75f0c66f0d351bf9c04":[0,0,1,4,50], "group__ast__class.html#gac58c77a74f980986b6588a285c12d408":[0,0,1,183], +"group__ast__class.html#gac58c77a74f980986b6588a285c12d408":[0,0,1,4,63], "group__ast__class.html#gac59852558ed3eaf48643738b5a00f1ad":[0,0,1,229], "group__ast__class.html#gac59852558ed3eaf48643738b5a00f1ad":[0,0,1,4,109], "group__ast__class.html#gac6117017139fe43441831581205b087b":[0,0,1,4,2], @@ -158,24 +157,24 @@ var NAVTREEINDEX26 = "group__ast__class.html#gaccf0eb232f3f92727a805fdb96012a2c":[0,0,1,257], "group__ast__class.html#gacd652af0b9dd48cd7fee5e26aa19ed71":[0,0,1,4,41], "group__ast__class.html#gacd652af0b9dd48cd7fee5e26aa19ed71":[0,0,1,161], -"group__ast__class.html#gacf97186289f358ea51959f4285f870cb":[0,0,1,4,47], "group__ast__class.html#gacf97186289f358ea51959f4285f870cb":[0,0,1,167], +"group__ast__class.html#gacf97186289f358ea51959f4285f870cb":[0,0,1,4,47], "group__ast__class.html#gad0fc98ce521337690e9715bbc8e52848":[0,0,1,4,79], "group__ast__class.html#gad0fc98ce521337690e9715bbc8e52848":[0,0,1,199], -"group__ast__class.html#gad1f90104022d3c27fc1111d3d75a7057":[0,0,1,187], "group__ast__class.html#gad1f90104022d3c27fc1111d3d75a7057":[0,0,1,4,67], +"group__ast__class.html#gad1f90104022d3c27fc1111d3d75a7057":[0,0,1,187], "group__ast__class.html#gad3aeaf59438aab6d10b5b6eca24ee7b2":[0,0,1,150], "group__ast__class.html#gad3aeaf59438aab6d10b5b6eca24ee7b2":[0,0,1,4,30], "group__ast__class.html#gad7bcccf631ed5bf00705df5d1c0e5669":[0,0,1,192], "group__ast__class.html#gad7bcccf631ed5bf00705df5d1c0e5669":[0,0,1,4,72], -"group__ast__class.html#gad7e9018d9c607b42fcec41da33ef7ffc":[0,0,1,137], "group__ast__class.html#gad7e9018d9c607b42fcec41da33ef7ffc":[0,0,1,4,17], -"group__ast__class.html#gad9186bccf4349f4dc1b42448422151a5":[0,0,1,4,1], +"group__ast__class.html#gad7e9018d9c607b42fcec41da33ef7ffc":[0,0,1,137], "group__ast__class.html#gad9186bccf4349f4dc1b42448422151a5":[0,0,1,262], +"group__ast__class.html#gad9186bccf4349f4dc1b42448422151a5":[0,0,1,4,1], "group__ast__class.html#gad920434f140f771242aed6060526a3ba":[0,0,1,4,24], "group__ast__class.html#gad920434f140f771242aed6060526a3ba":[0,0,1,144], -"group__ast__class.html#gad920ec3fd8147522e85d67bfacb8ebdd":[0,0,1,157], "group__ast__class.html#gad920ec3fd8147522e85d67bfacb8ebdd":[0,0,1,4,37], +"group__ast__class.html#gad920ec3fd8147522e85d67bfacb8ebdd":[0,0,1,157], "group__ast__class.html#gada2c56cc8f8f252d8ebed343eb863985":[0,0,1,4,138], "group__ast__class.html#gada2c56cc8f8f252d8ebed343eb863985":[0,0,1,258], "group__ast__class.html#gadaf9e897c21c83aa9fd6984a839aeaf1":[0,0,1,4,94], @@ -186,14 +185,14 @@ var NAVTREEINDEX26 = "group__ast__class.html#gae0579e9d3a6f697fcd4ab022eba3ed6d":[0,0,1,4,101], "group__ast__class.html#gae12e18a06af2fd43a83356f1cd75b66d":[0,0,1,4,81], "group__ast__class.html#gae12e18a06af2fd43a83356f1cd75b66d":[0,0,1,201], -"group__ast__class.html#gae136e55afd10a9c0a4f7de0134ab4593":[0,0,1,4,77], "group__ast__class.html#gae136e55afd10a9c0a4f7de0134ab4593":[0,0,1,197], +"group__ast__class.html#gae136e55afd10a9c0a4f7de0134ab4593":[0,0,1,4,77], "group__ast__class.html#gae1ca73bd18179c2c3a1c3a2751043437":[0,0,1,4,128], "group__ast__class.html#gae1ca73bd18179c2c3a1c3a2751043437":[0,0,1,248], -"group__ast__class.html#gae2d80677a97c3b1ac8690d73c74be890":[0,0,1,4,57], "group__ast__class.html#gae2d80677a97c3b1ac8690d73c74be890":[0,0,1,177], -"group__ast__class.html#gae340624f70b3f7f3670f17f8de45d1fc":[0,0,1,4,44], +"group__ast__class.html#gae2d80677a97c3b1ac8690d73c74be890":[0,0,1,4,57], "group__ast__class.html#gae340624f70b3f7f3670f17f8de45d1fc":[0,0,1,164], +"group__ast__class.html#gae340624f70b3f7f3670f17f8de45d1fc":[0,0,1,4,44], "group__ast__class.html#gae3fb3e72b2a86631da0a81cbeb96a2e3":[0,0,1,4,122], "group__ast__class.html#gae3fb3e72b2a86631da0a81cbeb96a2e3":[0,0,1,242], "group__ast__class.html#gae8ed322d9d79b71a4dd96252e8266a3f":[0,0,1,169], @@ -208,14 +207,14 @@ var NAVTREEINDEX26 = "group__ast__class.html#gaefcd48a1c371deac5a65b9ccf68a3cdf":[0,0,1,203], "group__ast__class.html#gaf47927781853e1b1d888dc16b227b2e8":[0,0,1,4,80], "group__ast__class.html#gaf47927781853e1b1d888dc16b227b2e8":[0,0,1,200], -"group__ast__class.html#gaf59c475a99ee7363dc08790004763366":[0,0,1,4,56], "group__ast__class.html#gaf59c475a99ee7363dc08790004763366":[0,0,1,176], +"group__ast__class.html#gaf59c475a99ee7363dc08790004763366":[0,0,1,4,56], "group__ast__class.html#gaf9abed7526427801c191fbaa4fae2e94":[0,0,1,142], "group__ast__class.html#gaf9abed7526427801c191fbaa4fae2e94":[0,0,1,4,22], "group__ast__class.html#gafca2d0b12ebffe60535c7527189cc089":[0,0,1,138], "group__ast__class.html#gafca2d0b12ebffe60535c7527189cc089":[0,0,1,4,18], -"group__ast__class.html#gafedb2d6f0c7f3ea73c34947fed8a2d6b":[0,0,1,145], "group__ast__class.html#gafedb2d6f0c7f3ea73c34947fed8a2d6b":[0,0,1,4,25], +"group__ast__class.html#gafedb2d6f0c7f3ea73c34947fed8a2d6b":[0,0,1,145], "group__ast__prop.html":[0,0,0], "group__ast__prop.html#ga0296e9888cfe8fbbdfefcd752bba3ef0":[0,0,0,1], "group__ast__prop.html#ga132ea63177a1f70f366ea0edb09dfa14":[0,0,0,2], @@ -249,5 +248,6 @@ var NAVTREEINDEX26 = "group__ast__prop.html#ggac542051eff25e93d11270a5c9d211143a111b1758808e26b3b017dd10b682bace":[0,0,0,0,2], "group__ast__prop.html#ggac542051eff25e93d11270a5c9d211143a1572910415251835b17fc3bf40d9c9a0":[0,0,0,0,3], "group__ast__prop.html#ggac542051eff25e93d11270a5c9d211143a1c2321a7038198c2126ae1828b9a4b36":[0,0,0,0,0], -"group__ast__prop.html#ggac542051eff25e93d11270a5c9d211143abd2dfe0cbb245d6c4c4e553680834ba8":[0,0,0,0,1] +"group__ast__prop.html#ggac542051eff25e93d11270a5c9d211143abd2dfe0cbb245d6c4c4e553680834ba8":[0,0,0,0,1], +"group__ast__prop.html#ggadcf4f5fdf8b60524c688899351105d8aa2d707e513b03765106d024ea9268f080":[0,0,0,3,1] }; diff --git a/html/doxygen/navtreeindex27.js b/html/doxygen/navtreeindex27.js index f62c1a8d31..090b88cbdf 100644 --- a/html/doxygen/navtreeindex27.js +++ b/html/doxygen/navtreeindex27.js @@ -1,6 +1,5 @@ var NAVTREEINDEX27 = { -"group__ast__prop.html#ggadcf4f5fdf8b60524c688899351105d8aa2d707e513b03765106d024ea9268f080":[0,0,0,3,1], "group__ast__prop.html#ggadcf4f5fdf8b60524c688899351105d8aad76f0a28279fcc261f92bd59949f4bbd":[0,0,0,3,0], "group__ast__type.html":[0,0,2], "group__ast__type.html#gac392e49849e60c05e42ea02c7b445033":[0,0,2,0], @@ -249,5 +248,6 @@ var NAVTREEINDEX27 = "group__codegen__backends.html":[0,1,0], "group__codegen__backends.html#ga743bcd56c5822a14381fd87fe586ed6c":[0,1,0,7], "group__codegen__backends.html#ga743bcd56c5822a14381fd87fe586ed6c":[0,1,0,3,91], -"group__codegen__backends.html#gabd283274182774ed39c08a0714842d43":[0,1,0,4,22] +"group__codegen__backends.html#gabd283274182774ed39c08a0714842d43":[0,1,0,4,22], +"group__codegen__backends.html#gabd283274182774ed39c08a0714842d43":[0,1,0,5] }; diff --git a/html/doxygen/navtreeindex28.js b/html/doxygen/navtreeindex28.js index 0a248e1300..1982f4dbfb 100644 --- a/html/doxygen/navtreeindex28.js +++ b/html/doxygen/navtreeindex28.js @@ -1,6 +1,5 @@ var NAVTREEINDEX28 = { -"group__codegen__backends.html#gabd283274182774ed39c08a0714842d43":[0,1,0,5], "group__codegen__backends.html#gaebe64f7d52f5cb96d8c73c1619bddabf":[0,1,0,6], "group__codegen__backends.html#gaebe64f7d52f5cb96d8c73c1619bddabf":[0,1,0,2,56], "group__codegen__details.html":[0,1,1], @@ -51,8 +50,8 @@ var NAVTREEINDEX28 = "group__units.html#ga08e9b606cb5ea92658765b82a886f2f8":[0,6,8], "group__units.html#ga141975968d2f0eef8cfc36d80e8962c8":[0,6,0,0], "group__units.html#ga141975968d2f0eef8cfc36d80e8962c8":[0,6,13], -"group__units.html#ga20d9e1e26895ee030dff6ddb27124548":[0,6,15], "group__units.html#ga20d9e1e26895ee030dff6ddb27124548":[0,6,1,7], +"group__units.html#ga20d9e1e26895ee030dff6ddb27124548":[0,6,15], "group__units.html#ga31bdaa723dc74c12a9bf1a652561d6e7":[0,6,1,9], "group__units.html#ga31bdaa723dc74c12a9bf1a652561d6e7":[0,6,19], "group__units.html#ga330f86b461ce0320cd23e935b710be05":[0,6,20], @@ -65,10 +64,10 @@ var NAVTREEINDEX28 = "group__units.html#ga53666d277469c1f00a3b0fd26a094178":[0,6,1,5], "group__units.html#ga5beb2f005efacceb06427827ef45bf15":[0,6,6], "group__units.html#ga5beb2f005efacceb06427827ef45bf15":[0,6,0,2], -"group__units.html#ga7ffa76ac1fa5595a4aa1f0f703b34717":[0,6,10], "group__units.html#ga7ffa76ac1fa5595a4aa1f0f703b34717":[0,6,1,6], -"group__units.html#gaaae2d7f1693c0e7abc23003e753d65ec":[0,6,1,0], +"group__units.html#ga7ffa76ac1fa5595a4aa1f0f703b34717":[0,6,10], "group__units.html#gaaae2d7f1693c0e7abc23003e753d65ec":[0,6,11], +"group__units.html#gaaae2d7f1693c0e7abc23003e753d65ec":[0,6,1,0], "group__units.html#gaac93a10252a81387387be4571bbed890":[0,6,5], "group__units.html#gaac93a10252a81387387be4571bbed890":[0,6,1,2], "group__units.html#gabab997408892d209edc2e6207bcf6b3a":[0,6,14], @@ -76,8 +75,8 @@ var NAVTREEINDEX28 = "group__units.html#gac26c7781e0924f73bac6a856f2c80217":[0,6,17], "group__units.html#gacf73317c537bff91a6631c0c4f4cded0":[0,6,0,3], "group__units.html#gacf73317c537bff91a6631c0c4f4cded0":[0,6,16], -"group__units.html#gae0d4c7dbd75815ee53391809a8dac74d":[0,6,12], "group__units.html#gae0d4c7dbd75815ee53391809a8dac74d":[0,6,1,1], +"group__units.html#gae0d4c7dbd75815ee53391809a8dac74d":[0,6,12], "group__units.html#gae62d367c779588c163dcfe9cdd9efa37":[0,6,1,3], "group__units.html#gae62d367c779588c163dcfe9cdd9efa37":[0,6,7], "group__utils.html":[0,7], @@ -249,5 +248,6 @@ var NAVTREEINDEX28 = "logger_8hpp.html":[3,0,1,10,5], "logger_8hpp_source.html":[3,0,1,10,5], "lon__difuse_8hpp.html":[3,0,0,0,0,0,0,68], -"lon__difuse_8hpp_source.html":[3,0,0,0,0,0,0,68] +"lon__difuse_8hpp_source.html":[3,0,0,0,0,0,0,68], +"lookup_8cpp.html":[3,0,2,0,10,11] }; diff --git a/html/doxygen/navtreeindex29.js b/html/doxygen/navtreeindex29.js index 5a47c2e9f6..56b7f00045 100644 --- a/html/doxygen/navtreeindex29.js +++ b/html/doxygen/navtreeindex29.js @@ -1,6 +1,5 @@ var NAVTREEINDEX29 = { -"lookup_8cpp.html":[3,0,2,0,10,11], "lookup_8cpp.html#a67c2c4b0c051efa0234b307a2e4ef12d":[3,0,2,0,10,11,0], "lookup_8cpp_source.html":[3,0,2,0,10,11], "lookup__visitor_8cpp.html":[3,0,0,0,0,0,1,6], @@ -69,12 +68,12 @@ var NAVTREEINDEX29 = "namespacemembers_v.html":[1,1,0,20], "namespacemembers_vars.html":[1,1,2], "namespacemembers_w.html":[1,1,0,21], -"namespacenmodl.html":[1,0,0], "namespacenmodl.html":[2,0,0], +"namespacenmodl.html":[1,0,0], "namespacenmodl_1_1ast.html":[2,0,0,0], "namespacenmodl_1_1ast.html":[1,0,0,0], -"namespacenmodl_1_1codegen.html":[2,0,0,1], "namespacenmodl_1_1codegen.html":[1,0,0,1], +"namespacenmodl_1_1codegen.html":[2,0,0,1], "namespacenmodl_1_1codegen_1_1naming.html":[1,0,0,1,0], "namespacenmodl_1_1codegen_1_1utils.html":[1,0,0,1,1], "namespacenmodl_1_1crout.html":[1,0,0,2], @@ -96,10 +95,10 @@ var NAVTREEINDEX29 = "namespacenmodl_1_1symtab_1_1syminfo.html":[1,0,0,10,0], "namespacenmodl_1_1test__utils.html":[2,0,0,7], "namespacenmodl_1_1test__utils.html":[1,0,0,11], -"namespacenmodl_1_1units.html":[2,0,0,8], "namespacenmodl_1_1units.html":[1,0,0,12], -"namespacenmodl_1_1utils.html":[2,0,0,9], +"namespacenmodl_1_1units.html":[2,0,0,8], "namespacenmodl_1_1utils.html":[1,0,0,13], +"namespacenmodl_1_1utils.html":[2,0,0,9], "namespacenmodl_1_1visitor.html":[1,0,0,14], "namespacenmodl_1_1visitor.html":[2,0,0,10], "namespacenmodl_1_1visitor_1_1test.html":[2,0,0,10,0], @@ -249,5 +248,6 @@ var NAVTREEINDEX29 = "perf__stat_8cpp.html":[3,0,1,10,6], "perf__stat_8cpp.html#abd71d3764885442ea947cc4b19465543":[3,0,1,10,6,0], "perf__stat_8cpp_source.html":[3,0,1,10,6], -"perf__stat_8hpp.html":[3,0,1,10,7] +"perf__stat_8hpp.html":[3,0,1,10,7], +"perf__stat_8hpp_source.html":[3,0,1,10,7] }; diff --git a/html/doxygen/navtreeindex30.js b/html/doxygen/navtreeindex30.js index fe0e3ed9f6..5ac7349240 100644 --- a/html/doxygen/navtreeindex30.js +++ b/html/doxygen/navtreeindex30.js @@ -1,6 +1,5 @@ var NAVTREEINDEX30 = { -"perf__stat_8hpp_source.html":[3,0,1,10,7], "perf__visitor_8cpp.html":[3,0,1,11,28], "perf__visitor_8cpp_source.html":[3,0,1,11,28], "perf__visitor_8hpp.html":[3,0,1,11,29], @@ -249,5 +248,6 @@ var NAVTREEINDEX30 = "structnmodl_1_1codegen_1_1_codegen_info.html#a9ed0ac0e4a57563e267a4ebbbcbd4203":[0,1,1,6,0], "structnmodl_1_1codegen_1_1_codegen_info.html#a9fc99f3e7bce31fd0529633d31ba1547":[0,1,1,6,62], "structnmodl_1_1codegen_1_1_codegen_info.html#aa516bfc1058bdddd366473cd87970b59":[0,1,1,6,38], -"structnmodl_1_1codegen_1_1_codegen_info.html#aa6f2efd9a16289c4131b197e7296337c":[0,1,1,6,12] +"structnmodl_1_1codegen_1_1_codegen_info.html#aa6f2efd9a16289c4131b197e7296337c":[0,1,1,6,12], +"structnmodl_1_1codegen_1_1_codegen_info.html#aa7a3510e16dcde7b0a04c531c8b5dbae":[0,1,1,6,77] }; diff --git a/html/doxygen/navtreeindex31.js b/html/doxygen/navtreeindex31.js index f8d9c56910..54db4e0545 100644 --- a/html/doxygen/navtreeindex31.js +++ b/html/doxygen/navtreeindex31.js @@ -1,6 +1,5 @@ var NAVTREEINDEX31 = { -"structnmodl_1_1codegen_1_1_codegen_info.html#aa7a3510e16dcde7b0a04c531c8b5dbae":[0,1,1,6,77], "structnmodl_1_1codegen_1_1_codegen_info.html#aac10ea818f33243b73521ae7c557815f":[0,1,1,6,35], "structnmodl_1_1codegen_1_1_codegen_info.html#ab19aab302a66b76f119a2b6312174543":[0,1,1,6,27], "structnmodl_1_1codegen_1_1_codegen_info.html#ab4926329370f2ec809911757bf21597c":[0,1,1,6,30], @@ -249,5 +248,6 @@ var NAVTREEINDEX31 = "symbol__properties_8hpp.html#a7d0b8aa765db0de7491021b4d403b6e2aff76c0536f6699ba876dbd207ec7cf55":[3,0,1,8,4,5,2], "symbol__properties_8hpp.html#a901f9299d7c59b1694463d26928f2a75":[3,0,1,8,4,4], "symbol__properties_8hpp.html#a901f9299d7c59b1694463d26928f2a75a6a21b6995a068148bbb65c8f949b3fb2":[3,0,1,8,4,4,3], -"symbol__properties_8hpp.html#a901f9299d7c59b1694463d26928f2a75a9c70933aff6b2a6d08c687a6cbb6b765":[3,0,1,8,4,4,1] +"symbol__properties_8hpp.html#a901f9299d7c59b1694463d26928f2a75a9c70933aff6b2a6d08c687a6cbb6b765":[3,0,1,8,4,4,1], +"symbol__properties_8hpp.html#a901f9299d7c59b1694463d26928f2a75aa4d4b8da5f27c882ed2155dc406467a7":[3,0,1,8,4,4,2] }; diff --git a/html/doxygen/navtreeindex32.js b/html/doxygen/navtreeindex32.js index 70a397d473..a259b74628 100644 --- a/html/doxygen/navtreeindex32.js +++ b/html/doxygen/navtreeindex32.js @@ -1,6 +1,5 @@ var NAVTREEINDEX32 = { -"symbol__properties_8hpp.html#a901f9299d7c59b1694463d26928f2a75aa4d4b8da5f27c882ed2155dc406467a7":[3,0,1,8,4,4,2], "symbol__properties_8hpp.html#a901f9299d7c59b1694463d26928f2a75af5ddaf0ca7929578b408c909429f68f2":[3,0,1,8,4,4,0], "symbol__properties_8hpp.html#a907d41ef19a14c703ec166b47a7d9f61":[3,0,1,8,4,9], "symbol__properties_8hpp.html#a9615978047cc9d7b43df2f549f2baffe":[3,0,1,8,4,16], @@ -249,5 +248,6 @@ var NAVTREEINDEX32 = "valence_8hpp_source.html":[3,0,0,0,0,0,0,116], "var__name_8hpp.html":[3,0,0,0,0,0,0,117], "var__name_8hpp_source.html":[3,0,0,0,0,0,0,117], -"var__usage_8cpp.html":[3,0,2,0,10,26] +"var__usage_8cpp.html":[3,0,2,0,10,26], +"var__usage_8cpp.html#ab2c5538fecec788ffd560fce9bfd8ca6":[3,0,2,0,10,26,0] }; diff --git a/html/doxygen/navtreeindex33.js b/html/doxygen/navtreeindex33.js index 65caa69b96..0e30db31ec 100644 --- a/html/doxygen/navtreeindex33.js +++ b/html/doxygen/navtreeindex33.js @@ -1,6 +1,5 @@ var NAVTREEINDEX33 = { -"var__usage_8cpp.html#ab2c5538fecec788ffd560fce9bfd8ca6":[3,0,2,0,10,26,0], "var__usage_8cpp.html#abded330b1e70df5d1e8e7a6bacaf8739":[3,0,2,0,10,26,1], "var__usage_8cpp_source.html":[3,0,2,0,10,26], "var__usage__visitor_8cpp.html":[3,0,1,11,47], diff --git a/html/doxygen/search/all_14.js b/html/doxygen/search/all_14.js index 8227fc01ec..5ca6660b89 100644 --- a/html/doxygen/search/all_14.js +++ b/html/doxygen/search/all_14.js @@ -1,7 +1,7 @@ var searchData= [ ['v_2289',['v',['../struct_class_info.html#ad96673848ab1ba13aabf89ecf1abd6db',1,'ClassInfo']]], - ['valence_2290',['Valence',['../classnmodl_1_1ast_1_1_valence.html',1,'nmodl::ast::Valence'],['../classnmodl_1_1ast_1_1_valence.html#acbd1671653f567543a9e225643a0cc89',1,'nmodl::ast::Valence::Valence(Name *type, Double *value)'],['../classnmodl_1_1ast_1_1_valence.html#afb67d26bb621d2788662c5d0d4044181',1,'nmodl::ast::Valence::Valence(std::shared_ptr< Name > type, std::shared_ptr< Double > value)'],['../classnmodl_1_1ast_1_1_valence.html#af9c9657b95a55238325b4b9cce302099',1,'nmodl::ast::Valence::Valence(const Valence &obj)'],['../classnmodl_1_1ast_1_1_useion.html#a03c0207cb2f2d4213868a726e0f56929',1,'nmodl::ast::Useion::valence()'],['../group__ast__type.html#ggac392e49849e60c05e42ea02c7b445033ad4c282fc67c65a77faf3d6bf6128a069',1,'nmodl::ast::VALENCE()']]], + ['valence_2290',['Valence',['../classnmodl_1_1ast_1_1_valence.html',1,'nmodl::ast::Valence'],['../classnmodl_1_1ast_1_1_useion.html#a03c0207cb2f2d4213868a726e0f56929',1,'nmodl::ast::Useion::valence()'],['../classnmodl_1_1ast_1_1_valence.html#acbd1671653f567543a9e225643a0cc89',1,'nmodl::ast::Valence::Valence(Name *type, Double *value)'],['../classnmodl_1_1ast_1_1_valence.html#afb67d26bb621d2788662c5d0d4044181',1,'nmodl::ast::Valence::Valence(std::shared_ptr< Name > type, std::shared_ptr< Double > value)'],['../classnmodl_1_1ast_1_1_valence.html#af9c9657b95a55238325b4b9cce302099',1,'nmodl::ast::Valence::Valence(const Valence &obj)'],['../group__ast__type.html#ggac392e49849e60c05e42ea02c7b445033ad4c282fc67c65a77faf3d6bf6128a069',1,'nmodl::ast::VALENCE()']]], ['valence_2ehpp_2291',['valence.hpp',['../valence_8hpp.html',1,'']]], ['valencevector_2292',['ValenceVector',['../group__ast__vec__type.html#ga94c1f13db006ede6849398172ec460fa',1,'nmodl::ast']]], ['value_2293',['VALUE',['../classnmodl_1_1visitor_1_1_sympy_replace_solutions_visitor.html#a1e49fcb9c416a45a1607f335948228c1aecc2e9c313faddb07e7da223c1dc5c3f',1,'nmodl::visitor::SympyReplaceSolutionsVisitor::VALUE()'],['../classnmodl_1_1symtab_1_1_symbol.html#a4e14d5164984b47f5ea181c02960da6d',1,'nmodl::symtab::Symbol::value()'],['../classnmodl_1_1visitor_1_1_index_remover.html#a2476ea703ce84b841cff7b1815c23842',1,'nmodl::visitor::IndexRemover::value()'],['../classnmodl_1_1ast_1_1_b_a_block_type.html#a9b1b8934600e5fb3a84ef30de53be456',1,'nmodl::ast::BABlockType::value()'],['../classnmodl_1_1ast_1_1_binary_operator.html#a78e2a8807bdd3bdbd7d1138cab6e82aa',1,'nmodl::ast::BinaryOperator::value()'],['../classnmodl_1_1ast_1_1_boolean.html#afafd2493834bf8ff249ea1acbd73b732',1,'nmodl::ast::Boolean::value()'],['../classnmodl_1_1ast_1_1_constant_var.html#a69b7ca36ad10013d7a336506fdf106f4',1,'nmodl::ast::ConstantVar::value()'],['../classnmodl_1_1ast_1_1_define.html#ad4c6d62eb31386e7143d7cef296d0dc5',1,'nmodl::ast::Define::value()'],['../classnmodl_1_1ast_1_1_double.html#adcaf1c4901d81bdc10bef90a53937a56',1,'nmodl::ast::Double::value()'],['../classnmodl_1_1ast_1_1_double_unit.html#a4aec1f2ed586edfbda972face6555117',1,'nmodl::ast::DoubleUnit::value()'],['../classnmodl_1_1ast_1_1_factor_def.html#a7df2f637e432cc3ca5c377619b14ea60',1,'nmodl::ast::FactorDef::value()'],['../classnmodl_1_1ast_1_1_float.html#a16a77a1795222a7b1e6528ad87b23000',1,'nmodl::ast::Float::value()'],['../classnmodl_1_1ast_1_1_integer.html#aeaec2b9afaf14f054c246485e6d15f58',1,'nmodl::ast::Integer::value()'],['../classnmodl_1_1ast_1_1_name.html#ab42bb69ed518812d11f1c193cf947987',1,'nmodl::ast::Name::value()'],['../classnmodl_1_1ast_1_1_param_assign.html#ae23e63d7e3ed3b3afcff22a85c1e46a8',1,'nmodl::ast::ParamAssign::value()'],['../classnmodl_1_1ast_1_1_prime_name.html#a34474c780de39af9f7c0f8243c343735',1,'nmodl::ast::PrimeName::value()'],['../classnmodl_1_1ast_1_1_react_var_name.html#a9c42b533bb1a2efb538d52125fd3ccd2',1,'nmodl::ast::ReactVarName::value()'],['../classnmodl_1_1ast_1_1_reaction_operator.html#a39c15647f7aa4b38e4e56a05c71d4884',1,'nmodl::ast::ReactionOperator::value()'],['../classnmodl_1_1ast_1_1_string.html#adbf40ddad32c859cb81d54f2851e60c1',1,'nmodl::ast::String::value()'],['../classnmodl_1_1ast_1_1_unary_operator.html#accb254bd4dc77c1bd0cb9b4b777591c2',1,'nmodl::ast::UnaryOperator::value()'],['../classnmodl_1_1ast_1_1_unit_state.html#adc0687ac6fae48fa57cd3c807b1f008a',1,'nmodl::ast::UnitState::value()'],['../classnmodl_1_1ast_1_1_update_dt.html#a3c17ff2383d8df31dae0c34abb4fe390',1,'nmodl::ast::UpdateDt::value()'],['../classnmodl_1_1ast_1_1_valence.html#a98c5477463b20add89219dadcda80def',1,'nmodl::ast::Valence::value()'],['../classnmodl_1_1ast_1_1_watch.html#a720c9ed1bf7eff4c79d6fd55420b7a33',1,'nmodl::ast::Watch::value()']]], @@ -146,7 +146,7 @@ var searchData= ['visit_5freaction_5foperator_2432',['visit_reaction_operator',['../classnmodl_1_1visitor_1_1_kinetic_block_visitor.html#a08acc2083abf4aa30f9ca474690cc2e7',1,'nmodl::visitor::KineticBlockVisitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1_ast_visitor.html#ac4c66a511bd3d450b694d6ff3abc510c',1,'nmodl::visitor::AstVisitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#a9ff3d34c567ac55de5a4b848d306d8a5',1,'nmodl::visitor::ConstAstVisitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#afe81b0045625534bb18b09f4633cdcbc',1,'nmodl::visitor::test::CheckParentVisitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a32cfe954ce4bf87b721a3e49a235d878',1,'nmodl::visitor::JSONVisitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a5bc9e0535719dedd2b14c244c29648f2',1,'nmodl::visitor::MetaAstLookupVisitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#ae3d2f622816ffb271d57749e7502c963',1,'nmodl::visitor::NmodlPrintVisitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1_visitor.html#a929b4adae6aacc9fa39b3148b653c1a4',1,'nmodl::visitor::Visitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#a106a0126cb94e18fd9f6ba1f9e8988ee',1,'nmodl::visitor::ConstVisitor::visit_reaction_operator()']]], ['visit_5freaction_5fstatement_2433',['visit_reaction_statement',['../classnmodl_1_1visitor_1_1_def_use_analyze_visitor.html#aa079450b81550749ffba0a0066efacdb',1,'nmodl::visitor::DefUseAnalyzeVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_kinetic_block_visitor.html#a18d015ef7d9a816e4e3310cacbbe4466',1,'nmodl::visitor::KineticBlockVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_ast_visitor.html#a62edd440d59c2ce431982d71c181d39d',1,'nmodl::visitor::AstVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#ae0fa17c4d7f8213c1f1f18a0fa5e659b',1,'nmodl::visitor::ConstAstVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#a2cb4a89edad314876a550d4fc88a8a82',1,'nmodl::visitor::test::CheckParentVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a3e7505ad75b9a879598ad314f2aa1da2',1,'nmodl::visitor::JSONVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a14e497792a9d28b32440849a32a63748',1,'nmodl::visitor::MetaAstLookupVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#aa5a6eec42b10f1b4d80fa9a182298f2d',1,'nmodl::visitor::NmodlPrintVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_visitor.html#a482591b671dc9dc76bdd40e90ab09537',1,'nmodl::visitor::Visitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#ae1acc09ddd54178588aa6c43b26bdf8b',1,'nmodl::visitor::ConstVisitor::visit_reaction_statement()']]], ['visit_5fread_5fion_5fvar_2434',['visit_read_ion_var',['../classnmodl_1_1visitor_1_1_ast_visitor.html#ae7101ed463ef1d6247f74945fcce5fbb',1,'nmodl::visitor::AstVisitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#a2d3555fac97d34b77d566ba18a19012c',1,'nmodl::visitor::ConstAstVisitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#a80d686f720b77675aed01113c91dac15',1,'nmodl::visitor::test::CheckParentVisitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a1cddca52176e9f20839fed4c16984071',1,'nmodl::visitor::JSONVisitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a57750e4c7eb0340ea7001c00b25a02c8',1,'nmodl::visitor::MetaAstLookupVisitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#a15692d49363790368a5d72b0d2859027',1,'nmodl::visitor::NmodlPrintVisitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1_symtab_visitor.html#a4e5db16d684a583cf21fa488d00b9a36',1,'nmodl::visitor::SymtabVisitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1_visitor.html#a3555dc1e5f8bacaa3c3f1a0a45d481e5',1,'nmodl::visitor::Visitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#a5ce12e179188ec091fc25926d7718b54',1,'nmodl::visitor::ConstVisitor::visit_read_ion_var()']]], - ['visit_5fsolution_5fexpression_2435',['visit_solution_expression',['../classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#abab2d506aa44fb0e53561f38b69c35ef',1,'nmodl::codegen::CodegenCoreneuronCppVisitor::visit_solution_expression()'],['../classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#aaf5e58f5a33a545e01d5720d6812fa4f',1,'nmodl::codegen::CodegenNeuronCppVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_ast_visitor.html#a8847cc350748db420c468e4414083d2e',1,'nmodl::visitor::AstVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#a34cada098d1d7275af540c3124e5afa1',1,'nmodl::visitor::ConstAstVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#a09d0c106ce2f5fa65b9857243e61a1b3',1,'nmodl::visitor::test::CheckParentVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#aa103c5f3d1499affa128af864148be64',1,'nmodl::visitor::JSONVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a74795a13d35d993cc8fb488907b7a6d9',1,'nmodl::visitor::MetaAstLookupVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#a928adab5f8100716956251fb3e540f87',1,'nmodl::visitor::NmodlPrintVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_visitor.html#a8e939e59938e1afd5c68d2cd2907c2f3',1,'nmodl::visitor::Visitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#a62fc9a812bba862a3ec56eac5ceb2d38',1,'nmodl::visitor::ConstVisitor::visit_solution_expression()']]], + ['visit_5fsolution_5fexpression_2435',['visit_solution_expression',['../classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a40bc1308f847c66bc91d9c93368db6ec',1,'nmodl::codegen::CodegenCppVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_ast_visitor.html#a8847cc350748db420c468e4414083d2e',1,'nmodl::visitor::AstVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#a34cada098d1d7275af540c3124e5afa1',1,'nmodl::visitor::ConstAstVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#a09d0c106ce2f5fa65b9857243e61a1b3',1,'nmodl::visitor::test::CheckParentVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#aa103c5f3d1499affa128af864148be64',1,'nmodl::visitor::JSONVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a74795a13d35d993cc8fb488907b7a6d9',1,'nmodl::visitor::MetaAstLookupVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#a928adab5f8100716956251fb3e540f87',1,'nmodl::visitor::NmodlPrintVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_visitor.html#a8e939e59938e1afd5c68d2cd2907c2f3',1,'nmodl::visitor::Visitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#a62fc9a812bba862a3ec56eac5ceb2d38',1,'nmodl::visitor::ConstVisitor::visit_solution_expression()']]], ['visit_5fsolve_5fblock_2436',['visit_solve_block',['../classnmodl_1_1visitor_1_1_after_c_vode_to_cnexp_visitor.html#a0402101b0b1ed4ce4b34fab1cef8e505',1,'nmodl::visitor::AfterCVodeToCnexpVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_neuron_solve_visitor.html#a153d4978a51d39a355e34b8cfa9b94a2',1,'nmodl::visitor::NeuronSolveVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_perf_visitor.html#aa9a1584f916806d0d048d916e2f46a68',1,'nmodl::visitor::PerfVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_ast_visitor.html#a5fdf4a45103e4be5e4269f1633e89c75',1,'nmodl::visitor::AstVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#a6a92024744b05fcb49306d8ca524ac5c',1,'nmodl::visitor::ConstAstVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#aec60bbaadc54ca63b352b54543f6fbbb',1,'nmodl::visitor::test::CheckParentVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a47d13ade4437f8ca3c0588909758e650',1,'nmodl::visitor::JSONVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a8672e4b72a08c08cba2355029eb3cce0',1,'nmodl::visitor::MetaAstLookupVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#a82e242554fea3301798808bfd3c4e70a',1,'nmodl::visitor::NmodlPrintVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_symtab_visitor.html#a11535840b7c80307f912854c3d190a2c',1,'nmodl::visitor::SymtabVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_visitor.html#a9a6b7c18311015cdfbdba87b34f938cf',1,'nmodl::visitor::Visitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#abcba778637d012854047ba850665a065',1,'nmodl::visitor::ConstVisitor::visit_solve_block()']]], ['visit_5fstate_5fblock_2437',['visit_state_block',['../classnmodl_1_1visitor_1_1_ast_visitor.html#ae5002368f17ae69905957b8e08b75459',1,'nmodl::visitor::AstVisitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#a5d8815c91a219a6f295caa3ed54b0955',1,'nmodl::visitor::ConstAstVisitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#a2978a6f9bed599a5970ea037873576af',1,'nmodl::visitor::test::CheckParentVisitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#abc704fa006af25581b977345284faed5',1,'nmodl::visitor::JSONVisitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a9a2bcf61b6cee2303ea02ddaa8dc1c99',1,'nmodl::visitor::MetaAstLookupVisitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#aed40e6b59c06924a3fd8a95a9f25c640',1,'nmodl::visitor::NmodlPrintVisitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1_symtab_visitor.html#a83eaf9797a24e1aa11a6e1741d703049',1,'nmodl::visitor::SymtabVisitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1_visitor.html#a6e609ef15324426970671156cdfae9a3',1,'nmodl::visitor::Visitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#acce0a17201efa27386ad808c27792a97',1,'nmodl::visitor::ConstVisitor::visit_state_block()']]], ['visit_5fstatement_2438',['visit_statement',['../classnmodl_1_1visitor_1_1_ast_visitor.html#ae865e06b73de6bb06a7d54f7cd9f46b4',1,'nmodl::visitor::AstVisitor::visit_statement()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#ac5a897e053da86f62b0e9109752bdd0b',1,'nmodl::visitor::ConstAstVisitor::visit_statement()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#ada7d9b10eebc3251087b40bb6b43034b',1,'nmodl::visitor::test::CheckParentVisitor::visit_statement()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a501f52b3f3c939de9d0b83588af0ea63',1,'nmodl::visitor::JSONVisitor::visit_statement()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a2f5fe6fb77c551e69ce82b290fc3a93d',1,'nmodl::visitor::MetaAstLookupVisitor::visit_statement()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#ae416fa14bfbbc730e3fdc503a5cfe48d',1,'nmodl::visitor::NmodlPrintVisitor::visit_statement()'],['../classnmodl_1_1visitor_1_1_visitor.html#ab985843a57de1328d3e16455e136d049',1,'nmodl::visitor::Visitor::visit_statement()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#abaa7ed162d05745668cce81ed3e9b443',1,'nmodl::visitor::ConstVisitor::visit_statement()']]], diff --git a/html/doxygen/search/functions_14.js b/html/doxygen/search/functions_14.js index 33ab35079b..becc9276f2 100644 --- a/html/doxygen/search/functions_14.js +++ b/html/doxygen/search/functions_14.js @@ -110,7 +110,7 @@ var searchData= ['visit_5freaction_5foperator_4419',['visit_reaction_operator',['../classnmodl_1_1visitor_1_1_kinetic_block_visitor.html#a08acc2083abf4aa30f9ca474690cc2e7',1,'nmodl::visitor::KineticBlockVisitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1_ast_visitor.html#ac4c66a511bd3d450b694d6ff3abc510c',1,'nmodl::visitor::AstVisitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#a9ff3d34c567ac55de5a4b848d306d8a5',1,'nmodl::visitor::ConstAstVisitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#afe81b0045625534bb18b09f4633cdcbc',1,'nmodl::visitor::test::CheckParentVisitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a32cfe954ce4bf87b721a3e49a235d878',1,'nmodl::visitor::JSONVisitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a5bc9e0535719dedd2b14c244c29648f2',1,'nmodl::visitor::MetaAstLookupVisitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#ae3d2f622816ffb271d57749e7502c963',1,'nmodl::visitor::NmodlPrintVisitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1_visitor.html#a929b4adae6aacc9fa39b3148b653c1a4',1,'nmodl::visitor::Visitor::visit_reaction_operator()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#a106a0126cb94e18fd9f6ba1f9e8988ee',1,'nmodl::visitor::ConstVisitor::visit_reaction_operator()']]], ['visit_5freaction_5fstatement_4420',['visit_reaction_statement',['../classnmodl_1_1visitor_1_1_def_use_analyze_visitor.html#aa079450b81550749ffba0a0066efacdb',1,'nmodl::visitor::DefUseAnalyzeVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_kinetic_block_visitor.html#a18d015ef7d9a816e4e3310cacbbe4466',1,'nmodl::visitor::KineticBlockVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_ast_visitor.html#a62edd440d59c2ce431982d71c181d39d',1,'nmodl::visitor::AstVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#ae0fa17c4d7f8213c1f1f18a0fa5e659b',1,'nmodl::visitor::ConstAstVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#a2cb4a89edad314876a550d4fc88a8a82',1,'nmodl::visitor::test::CheckParentVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a3e7505ad75b9a879598ad314f2aa1da2',1,'nmodl::visitor::JSONVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a14e497792a9d28b32440849a32a63748',1,'nmodl::visitor::MetaAstLookupVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#aa5a6eec42b10f1b4d80fa9a182298f2d',1,'nmodl::visitor::NmodlPrintVisitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_visitor.html#a482591b671dc9dc76bdd40e90ab09537',1,'nmodl::visitor::Visitor::visit_reaction_statement()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#ae1acc09ddd54178588aa6c43b26bdf8b',1,'nmodl::visitor::ConstVisitor::visit_reaction_statement()']]], ['visit_5fread_5fion_5fvar_4421',['visit_read_ion_var',['../classnmodl_1_1visitor_1_1_ast_visitor.html#ae7101ed463ef1d6247f74945fcce5fbb',1,'nmodl::visitor::AstVisitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#a2d3555fac97d34b77d566ba18a19012c',1,'nmodl::visitor::ConstAstVisitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#a80d686f720b77675aed01113c91dac15',1,'nmodl::visitor::test::CheckParentVisitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a1cddca52176e9f20839fed4c16984071',1,'nmodl::visitor::JSONVisitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a57750e4c7eb0340ea7001c00b25a02c8',1,'nmodl::visitor::MetaAstLookupVisitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#a15692d49363790368a5d72b0d2859027',1,'nmodl::visitor::NmodlPrintVisitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1_symtab_visitor.html#a4e5db16d684a583cf21fa488d00b9a36',1,'nmodl::visitor::SymtabVisitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1_visitor.html#a3555dc1e5f8bacaa3c3f1a0a45d481e5',1,'nmodl::visitor::Visitor::visit_read_ion_var()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#a5ce12e179188ec091fc25926d7718b54',1,'nmodl::visitor::ConstVisitor::visit_read_ion_var()']]], - ['visit_5fsolution_5fexpression_4422',['visit_solution_expression',['../classnmodl_1_1codegen_1_1_codegen_coreneuron_cpp_visitor.html#abab2d506aa44fb0e53561f38b69c35ef',1,'nmodl::codegen::CodegenCoreneuronCppVisitor::visit_solution_expression()'],['../classnmodl_1_1codegen_1_1_codegen_neuron_cpp_visitor.html#aaf5e58f5a33a545e01d5720d6812fa4f',1,'nmodl::codegen::CodegenNeuronCppVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_ast_visitor.html#a8847cc350748db420c468e4414083d2e',1,'nmodl::visitor::AstVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#a34cada098d1d7275af540c3124e5afa1',1,'nmodl::visitor::ConstAstVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#a09d0c106ce2f5fa65b9857243e61a1b3',1,'nmodl::visitor::test::CheckParentVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#aa103c5f3d1499affa128af864148be64',1,'nmodl::visitor::JSONVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a74795a13d35d993cc8fb488907b7a6d9',1,'nmodl::visitor::MetaAstLookupVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#a928adab5f8100716956251fb3e540f87',1,'nmodl::visitor::NmodlPrintVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_visitor.html#a8e939e59938e1afd5c68d2cd2907c2f3',1,'nmodl::visitor::Visitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#a62fc9a812bba862a3ec56eac5ceb2d38',1,'nmodl::visitor::ConstVisitor::visit_solution_expression()']]], + ['visit_5fsolution_5fexpression_4422',['visit_solution_expression',['../classnmodl_1_1codegen_1_1_codegen_cpp_visitor.html#a40bc1308f847c66bc91d9c93368db6ec',1,'nmodl::codegen::CodegenCppVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_ast_visitor.html#a8847cc350748db420c468e4414083d2e',1,'nmodl::visitor::AstVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#a34cada098d1d7275af540c3124e5afa1',1,'nmodl::visitor::ConstAstVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#a09d0c106ce2f5fa65b9857243e61a1b3',1,'nmodl::visitor::test::CheckParentVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#aa103c5f3d1499affa128af864148be64',1,'nmodl::visitor::JSONVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a74795a13d35d993cc8fb488907b7a6d9',1,'nmodl::visitor::MetaAstLookupVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#a928adab5f8100716956251fb3e540f87',1,'nmodl::visitor::NmodlPrintVisitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_visitor.html#a8e939e59938e1afd5c68d2cd2907c2f3',1,'nmodl::visitor::Visitor::visit_solution_expression()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#a62fc9a812bba862a3ec56eac5ceb2d38',1,'nmodl::visitor::ConstVisitor::visit_solution_expression()']]], ['visit_5fsolve_5fblock_4423',['visit_solve_block',['../classnmodl_1_1visitor_1_1_after_c_vode_to_cnexp_visitor.html#a0402101b0b1ed4ce4b34fab1cef8e505',1,'nmodl::visitor::AfterCVodeToCnexpVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_neuron_solve_visitor.html#a153d4978a51d39a355e34b8cfa9b94a2',1,'nmodl::visitor::NeuronSolveVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_perf_visitor.html#aa9a1584f916806d0d048d916e2f46a68',1,'nmodl::visitor::PerfVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_ast_visitor.html#a5fdf4a45103e4be5e4269f1633e89c75',1,'nmodl::visitor::AstVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#a6a92024744b05fcb49306d8ca524ac5c',1,'nmodl::visitor::ConstAstVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#aec60bbaadc54ca63b352b54543f6fbbb',1,'nmodl::visitor::test::CheckParentVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a47d13ade4437f8ca3c0588909758e650',1,'nmodl::visitor::JSONVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a8672e4b72a08c08cba2355029eb3cce0',1,'nmodl::visitor::MetaAstLookupVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#a82e242554fea3301798808bfd3c4e70a',1,'nmodl::visitor::NmodlPrintVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_symtab_visitor.html#a11535840b7c80307f912854c3d190a2c',1,'nmodl::visitor::SymtabVisitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_visitor.html#a9a6b7c18311015cdfbdba87b34f938cf',1,'nmodl::visitor::Visitor::visit_solve_block()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#abcba778637d012854047ba850665a065',1,'nmodl::visitor::ConstVisitor::visit_solve_block()']]], ['visit_5fstate_5fblock_4424',['visit_state_block',['../classnmodl_1_1visitor_1_1_ast_visitor.html#ae5002368f17ae69905957b8e08b75459',1,'nmodl::visitor::AstVisitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#a5d8815c91a219a6f295caa3ed54b0955',1,'nmodl::visitor::ConstAstVisitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#a2978a6f9bed599a5970ea037873576af',1,'nmodl::visitor::test::CheckParentVisitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#abc704fa006af25581b977345284faed5',1,'nmodl::visitor::JSONVisitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a9a2bcf61b6cee2303ea02ddaa8dc1c99',1,'nmodl::visitor::MetaAstLookupVisitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#aed40e6b59c06924a3fd8a95a9f25c640',1,'nmodl::visitor::NmodlPrintVisitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1_symtab_visitor.html#a83eaf9797a24e1aa11a6e1741d703049',1,'nmodl::visitor::SymtabVisitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1_visitor.html#a6e609ef15324426970671156cdfae9a3',1,'nmodl::visitor::Visitor::visit_state_block()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#acce0a17201efa27386ad808c27792a97',1,'nmodl::visitor::ConstVisitor::visit_state_block()']]], ['visit_5fstatement_4425',['visit_statement',['../classnmodl_1_1visitor_1_1_ast_visitor.html#ae865e06b73de6bb06a7d54f7cd9f46b4',1,'nmodl::visitor::AstVisitor::visit_statement()'],['../classnmodl_1_1visitor_1_1_const_ast_visitor.html#ac5a897e053da86f62b0e9109752bdd0b',1,'nmodl::visitor::ConstAstVisitor::visit_statement()'],['../classnmodl_1_1visitor_1_1test_1_1_check_parent_visitor.html#ada7d9b10eebc3251087b40bb6b43034b',1,'nmodl::visitor::test::CheckParentVisitor::visit_statement()'],['../classnmodl_1_1visitor_1_1_j_s_o_n_visitor.html#a501f52b3f3c939de9d0b83588af0ea63',1,'nmodl::visitor::JSONVisitor::visit_statement()'],['../classnmodl_1_1visitor_1_1_meta_ast_lookup_visitor.html#a2f5fe6fb77c551e69ce82b290fc3a93d',1,'nmodl::visitor::MetaAstLookupVisitor::visit_statement()'],['../classnmodl_1_1visitor_1_1_nmodl_print_visitor.html#ae416fa14bfbbc730e3fdc503a5cfe48d',1,'nmodl::visitor::NmodlPrintVisitor::visit_statement()'],['../classnmodl_1_1visitor_1_1_visitor.html#ab985843a57de1328d3e16455e136d049',1,'nmodl::visitor::Visitor::visit_statement()'],['../classnmodl_1_1visitor_1_1_const_visitor.html#abaa7ed162d05745668cce81ed3e9b443',1,'nmodl::visitor::ConstVisitor::visit_statement()']]], diff --git a/html/doxygen/src_2codegen_2codegen__coreneuron__cpp__visitor_8cpp_source.html b/html/doxygen/src_2codegen_2codegen__coreneuron__cpp__visitor_8cpp_source.html index 2d63f75be8..2c9c9458c2 100644 --- a/html/doxygen/src_2codegen_2codegen__coreneuron__cpp__visitor_8cpp_source.html +++ b/html/doxygen/src_2codegen_2codegen__coreneuron__cpp__visitor_8cpp_source.html @@ -3873,24 +3873,13 @@
        3777 }
        3778 
        3779 
        - -
        3781  auto block = node.get_node_to_solve().get();
        -
        3782  if (block->is_statement_block()) {
        -
        3783  auto statement_block = dynamic_cast<ast::StatementBlock*>(block);
        -
        3784  print_statement_block(*statement_block, false, false);
        -
        3785  } else {
        -
        3786  block->accept(*this);
        -
        3787  }
        -
        3788 }
        -
        3789 
        -
        3790 
        - -
        3792  printer->add_text(fmt::format("nrn_watch_activate(inst, id, pnodecount, {}, v, watch_remove)",
        -
        3793  current_watch_statement++));
        -
        3794 }
        -
        3795 
        -
        3796 } // namespace codegen
        -
        3797 } // namespace nmodl
        + +
        3781  printer->add_text(fmt::format("nrn_watch_activate(inst, id, pnodecount, {}, v, watch_remove)",
        +
        3782  current_watch_statement++));
        +
        3783 }
        +
        3784 
        +
        3785 } // namespace codegen
        +
        3786 } // namespace nmodl
        static const TableStatement * get_table_statement(const ast::Block &node)
        @@ -3903,7 +3892,6 @@
        virtual bool nrn_cur_reduction_loop_required()
        Check if reduction block in nrn_cur required.
        virtual void print_backend_namespace_start()
        Prints the start of namespace for the backend-specific code.
        void print_net_move_call(const ast::FunctionCall &node) override
        Print call to net_move.
        -
        virtual void visit_solution_expression(const ast::SolutionExpression &node) override
        visit node of type ast::SolutionExpression
        Base class for all AST node.
        Definition: node.hpp:40
        void print_mechanism_range_var_structure(bool print_initializers) override
        Print the structure that wraps all range and int variables required for the NMODL.
        bool is_index
        if this is pure index (e.g.
        @@ -4092,7 +4080,6 @@
        void print_nrn_alloc() override
        Print nrn_alloc function definition.
        virtual void print_nrn_cur_matrix_shadow_reduction()
        Print the reduction to matrix elements from shadow vectors.
        void print_memb_list_getter()
        Print the getter method for returning membrane list from NrnThread.
        -
        std::shared_ptr< Expression > get_node_to_solve() const noexcept
        Getter for member variable SolutionExpression::node_to_solve.
        static constexpr char INST_GLOBAL_MEMBER[]
        instance struct member pointing to the global variable structure
        const char * external_method_arguments() noexcept override
        Arguments for external functions called from generated code.
        @@ -4123,7 +4110,6 @@
        static const std::string NMODL_VERSION
        project tagged version in the cmake
        Definition: config.h:36
        virtual void print_global_var_struct_decl()
        Instantiate global var instance.
        bool is_vdata
        if variable resides in vdata field of NrnThread typically true for bbcore pointer
        -
        Represent solution of a block in the AST.
        std::shared_ptr< StatementBlock > get_statement_block() const noexcept override
        Getter for member variable FunctionBlock::statement_block.
        BlockType
        Helper to represent various block types.
        void print_mechanism_register() override
        Print the mechanism registration function.
        @@ -4153,7 +4139,7 @@
        @ State
        derivative block
        void print_function_tables(const ast::FunctionTableBlock &node)
        Print NMODL function_table in target backend code.
        THIS FILE IS GENERATED AT BUILD TIME AND SHALL NOT BE EDITED.
        -
        virtual void visit_watch_statement(const ast::WatchStatement &node) override
        visit node of type ast::WatchStatement
        +
        virtual void visit_watch_statement(const ast::WatchStatement &node) override
        visit node of type ast::WatchStatement
        virtual const ArgumentVector & get_parameters() const
        Definition: block.hpp:50
        void print_nrn_cur_non_conductance_kernel() override
        Print the nrn_cur kernel without NMODL conductance keyword provisions.
        bool variable_used(const ast::Node &node, std::string name)
        diff --git a/html/doxygen/src_2codegen_2codegen__neuron__cpp__visitor_8cpp_source.html b/html/doxygen/src_2codegen_2codegen__neuron__cpp__visitor_8cpp_source.html index eacb51bd8c..e45000ae61 100644 --- a/html/doxygen/src_2codegen_2codegen__neuron__cpp__visitor_8cpp_source.html +++ b/html/doxygen/src_2codegen_2codegen__neuron__cpp__visitor_8cpp_source.html @@ -831,22 +831,15 @@
        735 /****************************************************************************************/
        736 /* Overloaded visitor routines */
        737 /****************************************************************************************/
        -
        738 
        -
        739 
        -
        740 /// TODO: Edit for NEURON
        - -
        742  return;
        -
        743 }
        +
        738 
        +
        739 /// TODO: Edit for NEURON
        + +
        741  return;
        +
        742 }
        +
        743 
        744 
        -
        745 
        -
        746 /// TODO: Edit for NEURON
        - -
        748  return;
        -
        749 }
        -
        750 
        -
        751 
        -
        752 } // namespace codegen
        -
        753 } // namespace nmodl
        +
        745 } // namespace codegen
        +
        746 } // namespace nmodl
        const char * external_method_parameters(bool table=false) noexcept override
        Parameters for functions in generated code that are called back from external code.
        @@ -873,7 +866,7 @@
        virtual std::string backend_name() const override
        Name of the code generation backend.
        std::string process_verbatim_text(std::string const &text) override
        Process a verbatim block for possible variable renaming.
        void print_g_unused() const override
        Set g_unused (conductance) for NRN_PRCELLSTATE feature.
        -
        virtual void visit_watch_statement(const ast::WatchStatement &node) override
        TODO: Edit for NEURON.
        +
        virtual void visit_watch_statement(const ast::WatchStatement &node) override
        TODO: Edit for NEURON.
        void print_net_send_call(const ast::FunctionCall &node) override
        Print call to net_send.
        Implement string manipulation functions.
        void print_namespace_end() override
        Print end of namespaces.
        @@ -917,10 +910,8 @@
        void print_namespace_stop() override
        Prints the end of the neuron namespace.
        void print_mechanism_variables_macros()
        Print mechanism variables' related macros.
        -
        virtual void visit_solution_expression(const ast::SolutionExpression &node) override
        TODO: Edit for NEURON.
        void print_nrn_constructor() override
        Print nrn_constructor function definition.
        static const std::string NMODL_VERSION
        project tagged version in the cmake
        Definition: config.h:36
        -
        Represent solution of a block in the AST.
        BlockType
        Helper to represent various block types.
        void print_function_or_procedure(const ast::Block &node, const std::string &name) override
        Print nmodl function or procedure (common code)
        void print_headers_include() override
        Print all includes.
        diff --git a/html/doxygen/src_2main_8cpp_source.html b/html/doxygen/src_2main_8cpp_source.html index 398a4dabd1..b244d771fb 100644 --- a/html/doxygen/src_2main_8cpp_source.html +++ b/html/doxygen/src_2main_8cpp_source.html @@ -716,7 +716,7 @@
        Visitor to inline local procedure and function calls
        Version information and units file path.
        -
        void visit_program(const ast::Program &program) override
        Main and only member function to call after creating an instance of this class.
        +
        void visit_program(const ast::Program &program) override
        Main and only member function to call after creating an instance of this class.
        Represents top level AST node for whole NMODL input.
        Definition: program.hpp:39
        bool sparse_solver_exists(const ast::Ast &node)
        THIS FILE IS GENERATED AT BUILD TIME AND SHALL NOT BE EDITED.