Sébastien Villemot
0caefa1593
Bytecode: exit gracefully when M_ does not exist
2022-02-09 14:32:25 +01:00
Sébastien Villemot
5f675eee18
Add erfc() primitive
2021-12-07 17:00:59 +01:00
Sébastien Villemot
271d80abee
Bytecode: release the lock on dynamic.bin when an exception occurs
...
Closes : #1815
2021-09-20 17:28:43 +02:00
Sébastien Villemot
766fff88f6
Use secure URL for link to GNU licenses
2021-06-09 17:35:05 +02:00
Sébastien Villemot
1a0ee5f055
Bytecode / sparse transpose: bug fix
...
The Jc vector has n+1 elements, where n is the number of columns. Moreover, the
size passed to memset() was wrong.
2021-02-09 16:05:11 +01:00
Sébastien Villemot
c9f6d3a626
Bytecode: more simplifications and modernizations
2021-02-09 16:00:53 +01:00
Sébastien Villemot
4a1dbc5ca4
Bytecode: fix bug introduced in previous commit
...
map::at() does bound checking, and throws an exception if out-of-range,
contrary to [] operator which returns a new element.
2021-02-03 19:52:25 +01:00
Sébastien Villemot
4893f0e82c
Bytecode: various simplifications and modernizations
2021-02-03 18:10:31 +01:00
Sébastien Villemot
30cfb0b03c
Bytecode: bugfix in conditional forecast
2021-02-01 17:54:36 +01:00
Sébastien Villemot
967966876f
Bytecode: remove obsolete LINBCG stuff
2021-02-01 15:26:33 +01:00
Sébastien Villemot
743469bfd7
Bytecode: remove stuff for creating a standalone debugging executable
...
This code no longer compiles. And it’s possible to debug the MEX directly.
2021-02-01 15:26:33 +01:00
Sébastien Villemot
bb5f58f55f
Bytecode: remove useless constant redefinition
2021-02-01 15:26:33 +01:00
Sébastien Villemot
eb29dc003a
Bytecode: remove CUDA-specific stuff
2021-02-01 15:26:31 +01:00
Sébastien Villemot
5ef440ad9b
Bytecode: remove MSVC++ specific portions
2021-02-01 14:50:46 +01:00
Sébastien Villemot
f9f50ff19a
Bytecode: port to C++11 using keyword
...
Performed using modernize-use-using from clang-tidy.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-using.html
2021-02-01 14:50:46 +01:00
Sébastien Villemot
47357bb432
Bytecode: port to C++11 nullptr keyword
...
Performed using modernize-use-nullptr from clang-tidy.
Manual intervention to remove old-style C casts to nullptr.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2021-02-01 14:50:42 +01:00
Sébastien Villemot
a2186b06b8
Bytecode: port to C++11 syntax for default constructors
...
Performed using modernize-use-equals-default from clang-tidy.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-equals-default.html
2021-02-01 14:50:42 +01:00
Sébastien Villemot
1aa0286f6d
Bytecode: port to C++11 emplace_back() method on containers
...
Performed using modernize-use-emplace from clang-tidy.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-emplace.html
2021-02-01 14:50:42 +01:00
Sébastien Villemot
93c6cb1c3c
Bytecode: use bool literals
...
Performed using modernize-use-bool-literals from clang-tidy
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2021-02-01 14:50:42 +01:00
Sébastien Villemot
1a4340cb80
Bytecode: port to C++11 auto keyword
...
Performed using modernize-use-auto from clang-tidy.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-auto.html
2021-02-01 14:50:39 +01:00
Sébastien Villemot
63e922f637
Bytecode: port some constructors to pass-by-value using C++11 move semantics
...
Performed using modernize-pass-by-value from clang-tidy.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-pass-by-value.html
2021-02-01 14:50:10 +01:00
Sébastien Villemot
7840d1396e
Bytecode: port to C++11 range-based for loops
...
Performed using modernize-loop-convert from clang-tidy.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-loop-convert.html
2021-02-01 14:50:07 +01:00
Sébastien Villemot
2f587cf5c3
Bytecode: use C++ headers
...
Performed using modernize-deprecated-headers from clang-tidy.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-deprecated-headers.html
2021-02-01 12:28:50 +01:00
Sébastien Villemot
c050325e3d
Bytecode: C++17 modernization / convert the remaining enums to enum classes
2021-02-01 12:10:47 +01:00
Sébastien Villemot
73253a0620
Bytecode + Block decomposition: fix crash with purely forward variables
...
After simulating a block containing purely forward variables (thus of type
“evaluate backward”), the it_ variable of the evaluator would be left in an
inconsistent state (typically 0, which means that taking the value of a lagged
variable would lead to an invalid read).
By the way, fix a symmetric problem for backward blocks (which could
potentially create a invalid read for purely backward models).
Ref. #1727
2020-09-22 16:45:44 +02:00
Sébastien Villemot
8803bc1479
Bytecode: minor improvement to debugging information
2020-09-22 16:42:33 +02:00
Sébastien Villemot
31a9a5e9ab
Bytecode MEX: various fixes to debug mode
2020-05-13 12:22:20 +02:00
Sébastien Villemot
f4f296edd6
Preprocessor update
...
— various refactoring and bugfixes in block decomposition
— small bugfix for PAC models
2020-05-06 18:17:25 +02:00
Sébastien Villemot
fbfff18378
Preprocessor: various refactorings of block decomposition
...
Adapt bytecode MEX accordingly.
2020-03-20 18:51:37 +01:00
Sébastien Villemot
7e770f69e7
Remove workaround for errors in MEX files
...
Because at some point throwing exceptions from MEX files (with mexErrMsgTxt())
was not working under Windows 64-bit, we had designed a workaround to avoid
using exceptions.
Most MEX files were returning an error code as their first (or sometimes last)
argument, and that code would have to be checked from the MATLAB code.
Since this workaround is no longer needed, this commit removes it. As a
consequence, the interface of many MEX files is modified.
For some background, see https://www.dynare.org/pipermail/dev/2010-September/000895.html
2020-01-10 18:33:11 +01:00
Sébastien Villemot
b901b7af86
Global reindentation of MEX sources
2019-12-20 16:30:24 +01:00
Sébastien Villemot
9e222734a8
Bytecode: fix logic in routine that substracts two sparse matrices
...
The logic of the dynSparseMatrix::Sparse_substract_SA_SB() routine was
incorrect.
In some cases, it would read past the last nonzero elements of the A matrix,
and consequently write past the number of allocated nonzero elements of the C
matrix.
This would lead to crashes and, probably, to wrong results under certain
circumstances.
Closes : #1652
2019-11-27 16:57:47 +01:00
Sébastien Villemot
7c39b12b7b
Always compile MEX files with OpenMP (when they can take advantage of it)
...
As a consequence, remove the --enable-openmp option of the configure script.
2019-06-25 17:26:17 +02:00
Sébastien Villemot
f5e2bfc30a
Ask GCC to warn about C-style casts (-Wold-style-cast)
...
Adapt the code accordingly.
2019-04-23 13:03:20 +02:00
Sébastien Villemot
57848930c6
Use Unicode copyright symbol (in UTF-8 encoding)
...
Do not use it in MATLAB source files, since unfortunately the MATLAB editor
does not support UTF-8.
2019-04-16 11:42:16 +02:00
Sébastien Villemot
ffb36e5713
Remove obsolete kludges for MinGW
2018-10-02 17:10:36 +02:00
Sébastien Villemot
d03cc56587
solve_algo=7 and stack_solve_algo=2 are now allowed under Octave
...
The gmres() function has been implemented (actually since Octave 3.4.1!).
2018-08-02 15:20:39 +02:00
Sébastien Villemot
932e5f946c
Update preprocessor submodule
...
Adapt bytecode DLL as a consequence.
2018-07-18 17:52:44 +02:00
Sébastien Villemot
b2c554623f
Various fixes related to the new layout of generated files
2018-06-28 18:14:40 +02:00
Sébastien Villemot
a1b8bd39b2
Move the location of various generated files on the filesystem
...
- M and MEX files are now under +${MODELNAME}/
- bytecode, C source and JSON now under ${MODELNAME}/model/
2018-06-27 17:03:39 +02:00
Sébastien Villemot
1ff5c3f571
Fix various typos (thanks lintian).
2017-06-28 15:06:54 +02:00
Ferhat Mihoubi
119e5b4dfa
Corrects bugs in bytecode related to the use of finite instead of isfinite and to mxMalloc tests
2017-06-05 18:51:43 +02:00
Stéphane Adjemian (Charybdis)
1bf81c9f5a
Fixed copyright notices.
2017-05-18 18:36:38 +02:00
Stéphane Adjemian (Charybdis)
b4448937cc
Fixed indentation of c/h/cc/hh files.
2017-05-16 16:30:27 +02:00
Stéphane Adjemian (Charybdis)
a53636e24e
Fixed copyright notices.
2017-05-16 14:11:15 +02:00
Ferhat Mihoubi
981e31c8c3
Fix issues in bytecode with option extended_path related to the size of endo_simul and exo_simul
...
(cherry picked from commit ab7acc49e30fbcb292d63d58281581a308716b4c)
2017-05-08 18:40:18 +02:00
Ferhat Mihoubi
e248d8bf59
Fix memory and periods issues in bytecode
...
(cherry picked from commit fa5dd681abcb3243a5ee9be1f71fdfc51bced1cd)
2017-05-08 18:39:44 +02:00
Ferhat Mihoubi
857fc3c4f4
Corrects several bugs related to bytecode:
...
- Memory allocation is checked
- The amount of memory allocated for conditional forecast is corrected
2017-04-05 11:48:40 +02:00
Stéphane Adjemian (Charybdis)
23642b3b6b
Defines M_PI, M_SQRT2 and finite() in bytecode...
...
... Which are not in standard C/C++ (otherwise compilation of the mex for Octave
with -std=c++11 fails).
2016-12-01 13:32:54 +01:00
Houtan Bastani
8b17af05d5
bytecode: work around for isnan and isinf bug in C++ standard, glibc <= 2.23.
...
Fixed by https://sourceware.org/bugzilla/show_bug.cgi?id=19439
2016-10-11 16:01:27 +02:00
ferhat
ac2e5cfd52
- In extended path
...
- fix an error with results print out
- fix an error withe exogenous initialization
2015-11-19 17:03:05 +01:00
ferhat
77f5d572de
Fix the output arguments in case of bytecode failure
2015-11-06 15:06:17 +01:00
Stéphane Adjemian (Charybdis)
2ec1579cd0
Fixed warnings in bytecode compilation.
...
Removed unused variables.
2015-10-19 18:01:38 +02:00
ferhat
7c5272d852
Allows to compute the extended path and the conditional forecasts with bytecode
2015-09-22 15:39:49 +02:00
Houtan Bastani
1b869b26a7
fix dates for changes in 86c3c0fb1b
and a40323d2fb
2015-01-08 18:39:04 +01:00
ferhat
86c3c0fb1b
Checks that fields endo_names, exo_names and param_names exist
2015-01-06 10:30:52 +01:00
ferhat
24b2993f50
Solves issues in deterministic simulation:
...
- replaces maximum_endo_(lead|lag) by maximum_(lead|lag) to determine the maximum number of lead and lag in deterministic simulation
- allows to use bytecode in solve_perfect_foresight_model.m
- Adds model information in bytecode
2014-12-17 09:37:43 +01:00
Sébastien Villemot
66d48f5917
Compatibility fixes for Octave 3.8.
...
- no longer use OCTAVE_QUIT in MEX files; this seems now only possible in
oct-files. (Ref #304 )
- do not build linsolve.oct on Octave >= 3.8, it is available natively.
- do not add strjoin.m to the patch on Octave >= 3.8, it is available natively.
- default_save_options has been renamed save_default_options.
2014-01-03 11:05:39 +01:00
Houtan Bastani
3c75923e2d
revert £ change as 156 is an extended ascii code
2013-11-05 19:06:20 +01:00
Houtan Bastani
0e4bb3f8e9
fix typo
2013-11-05 18:06:24 +01:00
Houtan Bastani
5352fb4d16
preprocessor and matlab mex fixes for clang compilation
2013-11-05 18:04:57 +01:00
ferhat
f4cee9d5e5
Corrects a bug in the way to test for the presence of the global variables
2013-10-28 14:26:42 +01:00
Stéphane Adjemian (Charybdis)
399b6d2615
Specialized maxit in bytecode mex (dynamic simulation vs steady state).
2013-10-09 16:55:46 +02:00
Stéphane Adjemian (Charybdis)
d8052342f3
Fixed bug introduced in cc0d9b42f0
(bytecode.cc).
...
Problem when reading nested structures.
2013-10-09 16:26:29 +02:00
Stéphane Adjemian (Charybdis)
cc0d9b42f0
Changed name of options_.maxit as options_.simul.maxit.
2013-10-09 13:06:06 +02:00
Stéphane Adjemian (Charybdis)
5a4399e9b3
Removed openmp pragmas in bytecode.
...
This commit fixes #420 , so that bytecode doesn't crash when Dynare is compiled with --enable-openmp flag.
2013-07-11 15:12:41 +02:00
Sébastien Villemot
61485ab809
Fix copyright notices
2013-06-12 17:04:46 +02:00
Sébastien Villemot
f1c8ec60c7
Remove various compilation warnings
2013-06-12 16:05:35 +02:00
Ferhat Mihoubi
b1da2f2b7d
"slowc" option is now available to solve a simple equation in bytecode
2013-06-10 16:46:54 +02:00
Ferhat Mihoubi
bdee6d14ec
Fix the problems related to the initialization of ilu preconditioner using BiCGStab and also a bug in the BiCGStab in case of block (without bytecode) model options.
2013-06-08 17:16:20 +02:00
ferhat
4e7050baf9
Use ilu with type=ilutp instead of nofill
...
Contrary to luinc command ilu with nofill option doesn't not allow for partial
pivoting
2013-05-23 11:44:29 +02:00
Stéphane Adjemian (Charybdis)
8eed899f92
Fixed bug. Compilation of bytecode was crashing with USE_OMP.
2013-04-18 11:20:35 +02:00
Sébastien Villemot
3025a14ed9
Adapt for removal of luinc in MATLAB R2013a
2013-03-25 12:05:56 +01:00
Sébastien Villemot
1db892efc4
Fix compilation problems of bytecode with UMFPACK and MATLAB's libut
2013-03-23 13:02:07 +01:00
Ferhat Mihoubi
43a50dd395
- adds the kernel CUDA file for SparseMatrix
2013-03-22 16:36:30 +01:00
Ferhat Mihoubi
dfa744fcb3
- adds new files: Evaluate.cc and Evaluate.hh to bytecode
2013-03-22 16:34:50 +01:00
Ferhat Mihoubi
03e487a092
Major update of bytecode:
...
- Iterative linear solvers using CUDA
- interpreter.cc decomposed
2013-03-22 15:44:34 +01:00
Sébastien Villemot
31a13db66a
Remove duplicate information in M_.blocksMFS
2012-11-16 17:39:03 +01:00
Sébastien Villemot
bc1872625b
Fix typo in previous commit
2012-11-06 14:44:29 +01:00
Ferhat
50fd1a4c0d
In the two boundaries solver, gives up the symbolic solver if a stable computation solution could not be found on the first third of the simulation period
2012-11-06 14:38:51 +01:00
Sébastien Villemot
c079ace8c3
Remove various compiler warnings
2012-06-08 19:06:03 +02:00
Sébastien Villemot
1f9cea669a
Update copyright notices
2012-06-08 18:22:34 +02:00
Ferhat Mihoubi
6cb7a5f1e5
Corrects a bug in the arguments returned by bytecode
2012-06-06 16:32:01 +02:00
Ferhat Mihoubi
7dbd826d7e
Code cleaning
2012-06-06 16:30:28 +02:00
Sébastien Villemot
f36f76760a
Fix bug where the nth derivative of 0^n evaluated to 0 instead of n!
...
(complement to commit cd0bc28e
)
2012-05-21 18:34:10 +02:00
Michel Juillard
e63c41184c
bytecode: removing debuging message
2012-05-20 14:37:30 +02:00
Ferhat Mihoubi
3730957e9f
Considers both 'inf' and 'nan' results in functions return and improves an error message
2012-03-06 11:09:46 +01:00
Ferhat Mihoubi
3072c6e611
Displays more details in case of singular system
2012-03-06 11:03:13 +01:00
Ferhat
eb567f5202
Cleaning the code: getting rid of unused variables
2012-02-17 10:59:39 +01:00
Stéphane Adjemian (Charybdis)
3e84e333b4
Changed verbosity options (fast deterministic simulations). Default is options_.verbosity==1.
2011-12-26 17:46:48 +01:00
Stéphane Adjemian (Charybdis)
3ba5a645be
Make verbosity flag effective: do not print informations about perfect foresight solvers if options_.ep.verbosity=0.
2011-12-12 14:20:14 +01:00
Stéphane Adjemian (Charybdis)
a36cf30118
Make options_.dynatol specific to x/f by adding dynatol.x and dynatol.f. By default dynatol.x=dynatol.f= old default value of dynatol.
2011-12-12 14:20:14 +01:00
Ferhat Mihoubi
567ef44f6d
- Corrects the simulation period for a forward looking system
2011-08-11 14:15:49 +02:00
Ferhat Mihoubi
fe1b241186
Add an option in bytecode to prevent the display of error messages .
2011-06-18 17:15:47 +02:00
Ferhat Mihoubi
31b6c08347
Correct a bug when the model contains deterministic exogenous variables and bytecode option is used.
...
Note that stochastic simulations do not work for the moment with block option.
2011-03-18 01:09:20 +01:00
Ferhat Mihoubi
f48aa28e39
Corrections for steady_state operator bug with bytecode. bytecode is now fixed.
2011-03-14 17:46:00 +01:00
Sébastien Villemot
02652f6eb8
Updated copyright notices
2011-02-04 17:27:33 +01:00
Sébastien Villemot
cc2a9d90ac
Global reindentation of MEX source files
2011-02-04 16:53:12 +01:00
Ferhat Mihoubi
6f184371ef
- Correction of temporary terms when bytecode is used and solve_algo <= 4
2011-02-02 00:31:37 +01:00
Ferhat Mihoubi
66a7884a15
- Corrects the "if (~eval)" displayed with print option in bytecode
2011-01-31 17:44:22 +01:00
Ferhat Mihoubi
3393eebf71
When a model is evaluated with bytecode the residual has to be returned in the equations order (not in the variables order)
2011-01-31 12:30:16 +01:00
Ferhat Mihoubi
ce07223628
- The Temporary terms management with bytecode when the model is block decomposed and solve_algo<5 is now compatible with octave
...
- Gets rid of warning message during the compilation of bytecode
2011-01-14 19:24:18 +01:00
Ferhat Mihoubi
206fff0e71
- Corrects the following problem:
...
Octave BiCGStab algorithm involves a 0 division in case of a preconditioner equal to the LU decomposition of the A matrix (in a linear system of the form A.x = b).
- The solution:
Checks if the linear system is solved simply using: x_new = x_old + U \ (L \ x_old)
Ticket #11
2011-01-14 10:39:33 +01:00
Ferhat Mihoubi
20f414e0d2
- Extends the error messages in bytecode
...
- Implements the print option in bytecode
- Minor modifications to manage the global temporary terms
2010-12-31 16:41:50 +01:00
Ferhat Mihoubi
313f64e153
- Adds option 'print' to bytecode
...
- Manages global temporary terms when the model is evaluated block by block
- Stores the result of a first order derivative only in case of numerical approximation. Do nothing if an external function is called to compute the first order derivatives (it has already been done during the function call)
- Cleans the code
2010-12-31 16:37:34 +01:00
Ferhat Mihoubi
816dbefa28
- Corrections in the debugging conditional preprocessor expressions
2010-12-31 16:29:39 +01:00
Ferhat Mihoubi
7a58637932
- Displays an error message and interrupts the execution of bytecode in case of unknown function
2010-12-17 18:54:03 +01:00
Ferhat Mihoubi
129d404eb8
- The binary operator oDerivPower is implemented in bytecode
2010-12-17 18:54:03 +01:00
Ferhat Mihoubi
97664607b2
- external functions are compatible with block decomposition and/or bytecode
2010-12-10 12:06:50 +01:00
Ferhat Mihoubi
bdfa881a96
Reorganization of error handling in bytecode
2010-11-25 16:11:05 +01:00
Ferhat Mihoubi
1aceb504fd
Check command is now compatible with block and bytecode options
2010-10-27 15:34:48 +02:00
Ferhat Mihoubi
36941dd704
- During an evaluation of the model with bytecode stores all Jacobian matrix (w.r. to endogenous of the current block, exogenous and endogenous from previous blocks) in M_block_structure.block(j)
2010-10-27 15:30:01 +02:00
Ferhat Mihoubi
7ea9d28afd
- updates the third output argument when it is M_.block_structure.block
2010-10-27 15:30:01 +02:00
Ferhat Mihoubi
39718c8645
- extends steady algorithms to solve_algo=5, 6, 7 and 8 for a block decomposed model without bytcode
...
- solve_algo is reordered =
* 0: fsolve
* 1: solve1
* 2, 4: solve1 + block decomposition
* 3: csolve
* 5: bytecode own solver (use Gaussian elimination + sparse matrix)
* 6: LU decomposition with UMFPack (method handling sparse matrix in Matlab)
* 7: GMRES
* 8: BiCGStab
2010-10-22 16:49:47 +02:00
Ferhat Mihoubi
1a09426706
- Correction of several bugs with Octave
...
- Add wrapper needed to compute the steady-state using bytecode and solve_algo = 0, ..., 4
2010-10-22 10:09:07 +02:00
Ferhat Mihoubi
8f36437662
- Extends the algorithms compatible with bytecode to compute the steady-state (ticket #11 ). The new values for solve_algo are:
...
* 0: fsolve
* 1: solve1
* 2, 4: solve1 + block decomposition
* 3: csolve
* 5: LU decomposition with UMFPack (method handling sparse matrix in Matlab)
* 6: GMRES
* 7: BiCGStab
* 8: bytecode own solver (use Gaussian elimination + sparse matrix)
- Bytecode can now evaluate a specific block instead of the overall blocks (new bytecode's option 'Block = block_number')
2010-10-11 19:21:32 +02:00
Ferhat Mihoubi
4b824ad8ed
- extends the error messages in mex_interface (necessary to emulate the mex functions in a standalone mode for debugging purposes)
2010-10-11 18:09:31 +02:00
Ferhat Mihoubi
f6835d1d61
- adds bytecode_debug.m m-file to save the global variables. Necessary to run bytecode in a standalone mode for debugging purposes.
2010-10-11 18:01:44 +02:00
Ferhat Mihoubi
9a0201b26a
Minor corrections on ErrorHandling
2010-10-11 17:56:23 +02:00
Ferhat Mihoubi
df1b1e4ed0
- In bytecode, the MATLAB function "mexErrMsgTxt" has been replaced by an exception handling see ticket #137
2010-09-24 12:52:58 +02:00
Houtan Bastani
b512a43848
fix file mode
2010-09-23 10:44:10 +02:00
Sébastien Villemot
a3640239ab
Removed all MSVC workarounds, since we can now definitely drop this compiler on
...
Windows/64-bit platform
2010-09-21 15:06:14 +02:00
Sébastien Villemot
6c66e3d2af
Bytecode DLL: include dynmex.h instead of mex.h (for compatibility with older
...
MATLAB)
2010-09-20 10:23:05 +02:00
Ferhat Mihoubi
0ecfc5eed9
- Incorrect type for variable map_idx_res (the variable with highest error)
2010-09-17 12:26:54 +02:00
Ferhat Mihoubi
45137f1367
- bug correction in error printout (elimination of an unused variable : nb_endo in SparseMatrix)
2010-09-17 12:26:44 +02:00
Ferhat Mihoubi
c7eff4ba60
- Adding the relaxation method for block and/or bytecode options
...
- Changing the the stack_solve_algo option :
Previous version New version
1 : Sparse LU 0 : Sparse LU
2 : GMRES 1 : Relaxation
3 : BiCGStab 2 : GMRES
4 : Sparse LU & Optimal Path 3 : BiCGStab
5 : bytecode own solver 4 : Sparse LU & Optimal Path
5 : bytecode own solver
2010-09-17 12:18:25 +02:00
Ferhat Mihoubi
77b6096962
- extends the mex_interface: bytecode's debuging purpose
...
- correction of memory leaks in bytecode
2010-09-17 12:17:14 +02:00
Ferhat Mihoubi
0a3c8a4b0c
- compute the jacobian matrix for exogenous, det_exogenous and previous blocks endogenous
...
- preprocessor provides informations about the dynamic structure of each block
- extends the algorithms available with bytecode: stack_solve_algo = 1, 2, 3 and 4 is compatible the bytecode. Speed and memory requirement are improved with stack_solve_algo = 1 or 4 for large scale models.
- bytecode can be used to evaluate a model
2010-09-17 12:16:47 +02:00
Sébastien Villemot
81f0cf1bc3
Bytecode DLL: provisions for Microsoft Visual C++
2010-06-09 18:35:35 +02:00
Sébastien Villemot
045e2e21ef
Bytecode DLL: bugfix for erf()
2010-06-09 18:31:39 +02:00
Ferhat Mihoubi
f849b11563
The functions erf, normpdf and normcdf work fine with bytecode option
2010-04-16 17:00:05 +02:00
Sébastien Villemot
3475341ac9
Bytecode DLL: fixed compilation with MSVC
2010-02-23 16:04:32 +01:00
Ferhat Mihoubi
faa5da07dc
Bug correction in error messages and reduction of memory requirement during simulation
2010-02-19 11:03:53 +01:00
Ferhat MIHOUBI
6d958b6e8d
Improvement of the floating point error messages (the equation and the location of the error are displayed)
2010-02-06 15:07:56 +01:00
Ferhat MIHOUBI
cea26af06e
Uses the initial method to manage the floating exceptions
2010-02-05 18:50:57 +01:00
Ferhat MIHOUBI
f7ac31b58a
Improves the global convergence of Newton method for static model
2010-02-05 18:33:34 +01:00
Ferhat MIHOUBI
4a33777ef7
Adds exceptions management on floating point operations using cfenv.h from gcc
2010-02-05 12:07:46 +01:00
Ferhat MIHOUBI
cb1cc4049b
convergence error message changed in bytecode
2010-01-29 17:51:39 +01:00
ferhat
b5727e0658
Adds location indications in error message of "bytecode" + minor correction (string passed as &string).
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3374 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-22 16:42:08 +00:00
ferhat
0efd5b1621
"bytecode" option can be used without "block" option
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3373 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-22 10:03:29 +00:00
sebastien
f3549b4c64
Beautified MEX source code
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3251 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-16 17:18:38 +00:00
sebastien
aa23ed73e9
preprocessor + bytecode DLL: various enhancements to block and bytecode options (changes by Ferhat)
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3244 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-16 13:21:31 +00:00
sebastien
31ed196c44
Various minor changes for compatibility with MS Visual C++ and GCC 4.4
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3105 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-30 16:29:16 +00:00
ferhat
079b5a7abb
- Correction in the memory allocation (new - delete used with object)
...
- bytecode test upgraded
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3075 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-23 11:23:47 +00:00
ferhat
e1f17fa9e5
- adds a new option in simul command when block and bytecode options are used : minimal_solving_periods. With bytecode option, the linear solver is applied only on the first periods. As soon as the set of operations remains the same from one period to another, they are repeated for the remaining periods. In some cases the linear solver could encounter exact or near singularities. To avoid these effects, this new option allows the user to extend the minimal number of periods where the model has to be solved.
...
- corrects some mod files.
- In steady command, get check argument from bytecode dll
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3051 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-18 15:18:16 +00:00
ferhat
3c2d944cfc
- use of classes to describe the bytecode tags
...
- use static option for bytecode instead of steady_state option
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3048 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-16 16:34:27 +00:00
ferhat
f7d69ff58c
avoid useless iteration in simulation of simple equations
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3025 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-07 09:31:58 +00:00
ferhat
ece194b602
The local variables are implemented with byte code
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3015 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-02 16:47:43 +00:00
ferhat
4dff75d79c
- the "steady_state" function is implemented with the "bytecode" option
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2952 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-18 16:34:11 +00:00
sebastien
2ac1194d39
Build system: change the flag used for OpenMP compilation
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2950 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-18 10:34:04 +00:00