Commit Graph

315 Commits (e9ffb16ec62b8e6cba2ca1dc84e8c4c65d8a45f0)

Author SHA1 Message Date
Sébastien Villemot 668f6de5df
Bytecode MEX: adapt for refactorings in the preprocessor 2023-12-14 17:31:26 +01:00
Sébastien Villemot 594facdb03
MEX files: homogeneize include guards
Also ensure that guards are not reserved identifiers (i.e. starting with an
underscore).
2023-12-13 17:33:55 +01:00
Sébastien Villemot 8953007440
MEX files: remove unused variables or values
Automatically detected by clang-tidy using
clang-diagnostic-unused-but-set-variable, clang-analyzer-deadcode.DeadStores
and clang-diagnostic-unused-const-variable checks.
2023-12-06 22:24:55 +01:00
Sébastien Villemot d82eecfd39
C++11 modernization: use std::array and std::vector instead of C arrays
Automatically detected by clang-tidy using modernize-avoid-c-arrays check.
2023-12-06 22:24:52 +01:00
Sébastien Villemot 11c1f6175e
Add [[nodiscard]] attribute to various functions
Automatically detected using clang-tidy with modernize-use-nodiscard check.
2023-12-05 15:44:23 +01:00
Sébastien Villemot 6f38dcd1d5
bytecode MEX: fix logical test
The test “solve_algo >= 6 || solve_algo <= 8” was always true.

Issue detected by clang-tidy using the
clang-diagnostic-tautological-overlap-compare check.
2023-12-04 18:21:13 +01:00
Sébastien Villemot a5445c52be
C++ modernization: more uses of auto keyword
Automatically detected and fixed using clang-tidy with modernize-use-auto
check.
2023-12-04 18:20:43 +01:00
Sébastien Villemot c6a7801ba8
clang-format configuration: set “PackConstructorInitializers: NextLine” 2023-11-30 14:37:05 +01:00
Sébastien Villemot ed332e3ba1
MEX files: reformat C++ source code using clang-format 15 2023-11-29 19:00:51 +01:00
Sébastien Villemot 77a7d5c3de
For bytecode+block, use the LBJ implementation in .m
The latter is now much faster than the implementation in the bytecode
MEX (which this commit thus removes).
2023-11-08 17:21:44 +01:00
Sébastien Villemot 7dc90654ab
Bytecode: adapt for enum removal in preprocessor 2023-11-07 15:37:55 +01:00
Sébastien Villemot 93ab67acab
🐛 Bytecode MEX: fix bug with evaluation of recursive variables with block+mfs>0
In “evaluate” mode, with mfs>0, if the value of variable would depend on a
previously re-evaluated recursive variable, then the value used for that recursive
variable would be incorrect (it would be the value before re-evaluation of the
recursive variable, as passed by the caller).
2023-11-07 15:37:51 +01:00
Sébastien Villemot 7e512af074
Bytecode MEX: refactor handling of temporary terms
In particular:
– properly return temporary terms as output argument in evaluate+dynamic mode
  (with periods in rows and the temporary terms in column)
– drop the unused “global_temporary_terms” keyword input argument
2023-11-07 15:37:32 +01:00
Sébastien Villemot f6adb1d9ad
Bytecode: safer handling of block= option 2023-11-02 16:51:02 +01:00
Sébastien Villemot 6027d31da2
Bytecode: rename some methods in Interpreter for clarity 2023-10-20 14:31:46 -04:00
Sébastien Villemot b17ff164fc
Bytecode: rename argument in Interpreter::compute_block_time()
To avoid ambiguity with class member with same name.
2023-10-20 11:49:04 -04:00
Sébastien Villemot 753848ab4b
Bytecode: simplify Interpreter::Simple_Init() 2023-10-20 11:47:13 -04:00
Sébastien Villemot 12a0781bc4
Bytecode: simplify Interpreter::simple_bksub() 2023-10-20 11:43:48 -04:00
Sébastien Villemot 8573c6d06a
Bytecode: simplify Interpreter::bksub() and Interpreter::complete() 2023-10-20 11:42:04 -04:00
Sébastien Villemot 8305afc6b3
Bytecode: simplify Interpreter::compare() 2023-10-20 11:36:35 -04:00
Sébastien Villemot ed45b2092f
Bytecode: simplify a couple of other Interpreter methods 2023-10-20 11:31:23 -04:00
Sébastien Villemot 9964de1c5f
Bytecode: simplify Interpreter::Solve_Matlab_BiCGStab() 2023-10-20 11:23:15 -04:00
Sébastien Villemot 1492073669
Bytecode: simplify Interpreter::Solve_Matlab_GMRES() 2023-10-20 11:18:40 -04:00
Sébastien Villemot 9b9c87e09f
Bytecode: further simplify Interpreter::Read_SparseMatrix() 2023-10-20 10:57:53 -04:00
Sébastien Villemot 4d13d73c58
Bytecode: simplify Interpreter::Solve_LU_UMFPack() (two boundaries version) 2023-10-20 10:47:53 -04:00
Sébastien Villemot 401fbd25a6
Bytecode: simplify Interpreter::Solve_LU_UMFPack() (one boundary version) 2023-10-20 10:41:25 -04:00
Sébastien Villemot 853b195432
Bytecode: remove unused methods in Interpreter 2023-10-20 10:34:17 -04:00
Sébastien Villemot 2617f5a4be
Bytecode: simplify Interpreter::Solve_Matlab_Relaxation() 2023-10-20 10:31:51 -04:00
Sébastien Villemot c132817780
Bytecode: simplify Interpreter::Solve_ByteCode_Sparse_GaussianElimination() 2023-10-20 10:25:06 -04:00
Sébastien Villemot 6c3325cc5e
Bytecode: simplify Interpreter::Solve_ByteCode_Symbolic_Sparse_GaussianElimination() 2023-10-20 10:20:45 -04:00
Sébastien Villemot d5618a61d9
Bytecode: simplify Interpreter::golden() 2023-10-20 10:17:08 -04:00
Sébastien Villemot f47507395d
Bytecode: simplify Interpreter::mnbrak() 2023-10-20 10:16:53 -04:00
Sébastien Villemot 9eaf1510f6
Bytecode: make some parameters of Interpreter::Init_Matlab_Sparse() as const 2023-10-20 09:41:01 -04:00
Sébastien Villemot 093a547684
Bytecode: simplify Interpreter::compute_complete() 2023-10-20 09:38:03 -04:00
Sébastien Villemot 0bfcc6d2f5
Bytecode: simplify Interpreter::Init_UMFPACK_Sparse_Simple() 2023-10-19 17:34:06 -04:00
Sébastien Villemot 860285b8b8
Bytecode: simplify Interpreter::Init_Matlab_Sparse_Simple() 2023-10-19 17:34:05 -04:00
Sébastien Villemot 233d0815a6
Bytecode: simplify Interpreter::Init_UMFPACK_Sparse() 2023-10-19 17:33:24 -04:00
Sébastien Villemot dc6a84196a
Bytecode: simplify Interpreter::Init_Matlab_Sparse() 2023-10-19 17:01:51 -04:00
Sébastien Villemot 88a0f67585
Bytecode: simplify Interpreter::Init_GE() 2023-10-19 16:58:14 -04:00
Sébastien Villemot 24fc3854e2
Bytecode: simplify Interpreter::Singular_display() 2023-10-19 16:55:51 -04:00
Sébastien Villemot 115a0a8e5d
Bytecode: simplify Interpreter::Read_SparseMatrix() 2023-10-19 16:52:48 -04:00
Sébastien Villemot e5bf3f79b3
Bytecode: simplify Interpreter::fixe_u() 2023-10-19 16:48:00 -04:00
Sébastien Villemot 197347c870
Bytecode: merge two methods 2023-10-19 16:43:40 -04:00
Sébastien Villemot e104318e6b
Bytecode: simplify Interpreter::Simulate_Newton_Two_Boundaries() 2023-10-19 16:38:51 -04:00
Sébastien Villemot 68cee02eb5
Bytecode: simplify Interpreter::check_for_controlled_exo_validity() 2023-10-19 16:33:54 -04:00
Sébastien Villemot fdb3cd0623
Bytecode: simplify Interpreter::compute_complete() 2023-10-19 16:31:50 -04:00
Sébastien Villemot 8e74322325
Bytecode: rename a method for clarity 2023-10-19 15:58:33 -04:00
Sébastien Villemot af1985d569
Bytecode: mark function as static 2023-10-19 15:56:55 -04:00
Sébastien Villemot fd16bbe493
Bytecode: simplify Interpreter::initializeTemporaryTerms() 2023-10-19 15:56:39 -04:00
Sébastien Villemot 6809819961
Bytecode: simplify Interpreter::compute_complete_2b() 2023-10-19 15:47:10 -04:00