Merge remote-tracking branch 'community/master' into enterprise
commit
6f91bde894
|
@ -9,7 +9,7 @@ Software requirements
|
|||
|
||||
Packaged versions of Dynare are available for Windows 7/8/10, several GNU/Linux
|
||||
distributions (Debian, Ubuntu, Linux Mint, Arch Linux) and macOS
|
||||
10.8 or later. Dynare should work on other systems, but some compilation steps
|
||||
10.11 or later. Dynare should work on other systems, but some compilation steps
|
||||
are necessary in that case.
|
||||
|
||||
In order to run Dynare, you need one of the following:
|
||||
|
@ -125,7 +125,7 @@ Compiler installation
|
|||
Prerequisites on Windows
|
||||
------------------------
|
||||
|
||||
There is no prerequisites on Windows. Dynare now ships a compilation
|
||||
There are no prerequisites on Windows. Dynare now ships a compilation
|
||||
environment that can be used with the :opt:`use_dll` option.
|
||||
|
||||
|
||||
|
@ -143,12 +143,11 @@ install liboctave-dev``).
|
|||
Prerequisites on macOS
|
||||
----------------------
|
||||
|
||||
[TO BE UPDATED]
|
||||
|
||||
If you are using MATLAB under macOS, you should install the latest
|
||||
version of XCode: `see instructions on the Dynare wiki
|
||||
<https://git.dynare.org/Dynare/dynare/wikis/Install-on-MacOS>`__.
|
||||
|
||||
Dynare now ships a compilation environment that can be used with the
|
||||
:opt:`use_dll` option. Specifically, the Dynare installer downloads and
|
||||
installs the Xcode Command Line Tools, installs `Homebrew <https://brew.sh>`_
|
||||
under the Dynare installation directory (in the ``.brew`` folder), and finally
|
||||
installs GCC.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
|
|
@ -36,7 +36,7 @@ by the ``dynare`` command.
|
|||
first line of the ``.mod`` file itself (see below).
|
||||
|
||||
dynare begins by launching the preprocessor on the ``.mod
|
||||
file``. By default (unless ``use_dll`` option has been given to
|
||||
file``. By default (unless the :opt:`use_dll` option has been given to
|
||||
``model``), the preprocessor creates three intermediary files:
|
||||
|
||||
- ``+FILENAME/driver.m``
|
||||
|
@ -364,7 +364,7 @@ by the ``dynare`` command.
|
|||
|
||||
.. option:: fast
|
||||
|
||||
Only useful with model option ``use_dll``. Don’t recompile the
|
||||
Only useful with model option :opt:`use_dll`. Don’t recompile the
|
||||
MEX files when running again the same model file and the lists
|
||||
of variables and the equations haven’t changed. We use a 32
|
||||
bit checksum, stored in ``<model filename>/checksum``. There
|
||||
|
|
|
@ -620,7 +620,7 @@ MODEL_EXPRESSION and EXPRESSION:
|
|||
|
||||
.. function:: cbrt(x)
|
||||
|
||||
Cubic root.
|
||||
Cube root.
|
||||
|
||||
.. function:: sign(x)
|
||||
|
||||
|
@ -11200,6 +11200,40 @@ Misc commands
|
|||
``save_params_and_steady_state``; see the documentation of that
|
||||
function for more information.
|
||||
|
||||
.. command:: compilation_setup (OPTIONS);
|
||||
|
||||
When the :opt:`use_dll` option is present, Dynare uses the GCC compiler that
|
||||
was distributed with it to compile the static and dynamic C files produced
|
||||
by the preprocessor. You can use this option to change the compiler, flags,
|
||||
and libraries used.
|
||||
|
||||
*Options*
|
||||
|
||||
.. option:: compiler = FILENAME
|
||||
|
||||
The path to the compiler.
|
||||
|
||||
.. option:: substitute_flags = QUOTED_STRING
|
||||
|
||||
The flags to use instead of the default flags.
|
||||
|
||||
.. option:: add_flags = QUOTED_STRING
|
||||
|
||||
The flags to use in addition to the default flags. If
|
||||
``substitute_flags`` is passed, these flags are added to the flags
|
||||
specified there.
|
||||
|
||||
.. option:: substitute_libs = QUOTED_STRING
|
||||
|
||||
The libraries to link against instead of the default libraries.
|
||||
|
||||
.. option:: add_libs = QUOTED_STRING
|
||||
|
||||
The libraries to link against in addition to the default libraries. If
|
||||
``substitute_libs`` is passed, these libraries are added to the
|
||||
libraries specified there.
|
||||
|
||||
|
||||
.. matcomm:: dynare_version ;
|
||||
|
||||
|br| Output the version of Dynare that is currently being used
|
||||
|
|
|
@ -51,15 +51,12 @@ change_path_flag = true;
|
|||
% Filter out some options.
|
||||
preprocessoroutput = true;
|
||||
if nargin>1
|
||||
id = strfind(varargin,'nopathchange');
|
||||
if ~all(cellfun(@isempty, id))
|
||||
id = ismember(varargin, 'nopathchange');
|
||||
if any(id)
|
||||
change_path_flag = false;
|
||||
varargin(cellfun(@isempty, id) == 0) = [];
|
||||
end
|
||||
id = strfind(varargin, 'nopreprocessoroutput');
|
||||
if ~all(cellfun(@isempty, id))
|
||||
preprocessoroutput = false;
|
||||
varargin(id) = [];
|
||||
end
|
||||
preprocessoroutput = ~ismember('nopreprocessoroutput', varargin);
|
||||
end
|
||||
|
||||
% Check matlab path
|
||||
|
@ -260,17 +257,11 @@ if exist(fname(1:end-4),'dir') && exist([fname(1:end-4) filesep 'hooks'],'dir')
|
|||
end
|
||||
|
||||
% Save preprocessor result in logfile (if `no_log' option not present)
|
||||
no_log = 0;
|
||||
for i=1:length(varargin)
|
||||
no_log = no_log || strcmp(varargin{i}, 'nolog');
|
||||
end
|
||||
fid = fopen(fname, 'r');
|
||||
firstline = fgetl(fid);
|
||||
fclose(fid);
|
||||
if ~isempty(regexp(firstline, '//\s*--\+\s*options:(|.*\s|.*,)nolog(|\s.*|,.*)\+--'))
|
||||
no_log = 1;
|
||||
end
|
||||
if ~no_log
|
||||
if ~ismember('nolog', varargin) ...
|
||||
&& isempty(regexp(firstline, '//\s*--\+\s*options:(|.*\s|.*,)nolog(|\s.*|,.*)\+--'))
|
||||
logname = [fname(1:end-4) '.log'];
|
||||
fid = fopen(logname, 'w');
|
||||
fprintf(fid, '%s', result);
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 23ff36a0dd4f5ee56f553d72849a79d320b2a456
|
||||
Subproject commit 8962a9d5897e3b835c19bdc1b3132c2eebee4af5
|
|
@ -38,6 +38,7 @@
|
|||
;; - basically deactivate the mode within verbatim blocks?
|
||||
;; - blocks templates "model/end", "initval/end", etc.
|
||||
;; - functions to insert main keywords, with shortcuts in the keymap
|
||||
;; - make font-locking case insensitive (as is Dynare lexer)
|
||||
|
||||
(defgroup dynare nil
|
||||
"Editing Dynare mod files."
|
||||
|
@ -87,7 +88,7 @@
|
|||
;; Also include "verbatim" in this list
|
||||
(defvar dynare-blocks
|
||||
'("model" "steady_state_model" "initval" "endval" "histval" "shocks"
|
||||
"shock_groups" "mshocks" "estimated_params" "epilogue" "priors"
|
||||
"shock_groups" "init2shocks" "mshocks" "estimated_params" "epilogue" "priors"
|
||||
"estimated_param_init" "estimated_params_bounds" "osr_params_bounds"
|
||||
"observation_trends" "optim_weights" "homotopy_setup"
|
||||
"conditional_forecast_paths" "svar_identification" "moment_calibration"
|
||||
|
@ -95,11 +96,12 @@
|
|||
"verbatim")
|
||||
"Dynare block keywords.")
|
||||
|
||||
;; Mathematical functions used in model equations (see "expression" in Bison file)
|
||||
;; Mathematical functions and operators used in model equations (see "hand_side" in Bison file)
|
||||
(defvar dynare-functions
|
||||
'("exp" "log" "ln" "log10" "sin" "cos" "tan" "asin" "acos" "atan" "sqrt"
|
||||
"abs" "sign" "max" "min" "normcdf" "normpdf" "erf")
|
||||
"Dynare mathematical functions.")
|
||||
'("expectation" "var_expectation" "pac_expectation" "exp" "diff" "adl" "log"
|
||||
"ln" "log10" "sin" "cos" "tan" "asin" "acos" "atan" "sqrt" "cbrt" "abs"
|
||||
"sign" "max" "min" "normcdf" "normpdf" "erf" "steady_state")
|
||||
"Dynare mathematical functions and operators.")
|
||||
|
||||
(defvar dynare-constants
|
||||
'("nan" "inf")
|
||||
|
@ -110,8 +112,13 @@
|
|||
"Dynare attributes for on-the-fly type declarations.")
|
||||
|
||||
(defvar dynare-macro-keywords
|
||||
'("in" "length" "line" "define" "echomacrovars" "save" "for" "endfor" "ifdef"
|
||||
"ifndef" "if" "else" "endif" "echo" "error" "include" "includepath")
|
||||
'("line" "include" "includepath" "define" "echo" "error" "if" "ifdef" "ifndef"
|
||||
"elseif" "else" "endif" "for" "endfor" "echomacrovars" "in" "when" "save"
|
||||
"true" "false" "exp" "log" "ln" "log10" "sin" "cos" "tan" "asin" "acos"
|
||||
"atan" "sqrt" "cbrt" "sign" "max" "min" "floor" "ceil" "trunc" "mod" "sum"
|
||||
"erf" "erfc" "gamma" "lgamma" "round" "length" "normpdf" "normcdf" "isempty"
|
||||
"isboolean" "isreal" "isstring" "istuple" "isarray" "bool" "real" "string"
|
||||
"tuple" "array" "defined" "nan" "inf")
|
||||
"Dynare macroprocessor keywords.")
|
||||
|
||||
(defvar dynare-font-lock-keywords
|
||||
|
|
Loading…
Reference in New Issue