Sébastien Villemot
fedeeaad9f
Add support for Fortran 2008 in MEX files
...
By the same token, remove unused support for Fortran 77.
2019-12-03 16:17:00 +01:00
Sébastien Villemot
5cae192487
Build system: really error out if some dependency is missing
...
The changes in 8065e9d439
were not working as
intended, because AC_CHECK_PROG expect values and not actions. Hence
AC_MSG_ERROR was not properly executed.
By the way, simplify some test conditions using && instead of if/then/fi
blocks.
2019-11-28 14:43:44 +01:00
Sébastien Villemot
8065e9d439
Build system: by default, error out if some dependency is missing
...
In particular, if either MATLAB or Octave is missing, one needs to pass either
--disable-matlab or --disable-octave.
Moreover, several new configure flags have been introduced for disabling some
components:
--disable-doc
--disable-dynare++
--disable-mex-dynare++
--disable-mex-ms-sbvar
--disable-mex-kalman-steady-state
2019-11-26 13:53:42 +01:00
Houtan Bastani
f8eb982767
octave configure: remove unnecessary library linking for macOS
2019-09-24 15:22:36 +02:00
Sébastien Villemot
0d0a0a9bbb
Bump to C++17
...
This means we now require GCC 8.
Boost filesystem library is no longer needed.
Ref preprocessor#16
2019-09-11 15:06:12 +02:00
Sébastien Villemot
8b0d5f4b86
Windows: ensure that libgomp is statically linked
2019-09-10 15:17:15 +02:00
Sébastien Villemot
35acc111ff
Windows package: fix random build failure due to race condition
...
The MEX files are built out-of-tree (because we want to do them in parallel).
This would create a potential race condition if several builds want to create
the symlinks under mex/matlab/ or mex/octave/.
The solution is to disable those symlinks for out-of-tree builds.
2019-09-04 11:39:52 +02:00
Sébastien Villemot
bae1fa255a
Add scripts and CI job for building Windows package
...
The scripts are based the former “dynare-build” project. They have been
overhauled and simplified.
Building a Windows package (both installer and zip archive) is as easy as
running “make -C windows” (provided the right Debian packages are installed,
use the “windows/install-packages.sh” script for that purpose).
The layout of MEX files for Octave in the package has been
changed (mex/octave/win32/ and mex/octave/win64/ instead of mex/octave32/ and
mex/octave/), for consistency with MATLAB MEX.
2019-09-03 21:36:47 +02:00
Sébastien Villemot
9557061fa3
Add new num_procs MEX file for getting number of available processing units
2019-06-27 14:34:09 +02: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
5b591fac42
New perfect_foresight_problem MEX file
...
It constructs the stacked residuals and jacobian of the perfect foresight
problem.
It is an almost perfect replacement for the perfect_foresight_problem.m
routine, while being much more efficient.
Note however that the DLL never return complex numbers (it instead puts NaNs at
the place where there would have been complex). This may create problems for
some MOD files; the algorithms will need to be adapted to use a more
line-search method.
2019-06-24 17:53:59 +02:00
Sébastien Villemot
4d17c8b10d
Dynare++: move multithreading abstraction to the "utils" module
2019-05-02 12:38:56 +02:00
Sébastien Villemot
de159c0480
mjdgges DLL: convert to C++ (for consistency with other DLLs)
...
Various modernizations and simplifications.
Also remove a workaround for a LAPACK bug in DGGES (the VSL argument was
apparently referenced even though JOBVSL="N"). Hopefully the bug has been fixed
everywhere now.
2019-04-30 15:54:45 +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
f953374dba
More Unicode copyright symbol
2019-04-16 14:34:05 +02:00
Sébastien Villemot
2169341639
Move source code of gensylv and dynare_simul_ MEX to the same place as other MEX
2019-04-15 17:34:01 +02:00
Sébastien Villemot
bdc95f23aa
Make MEX build system forward-compatible with Automake 2.0
...
We now use a symbolic link farm to make source file accessible from build
directories.
Closes #466
2019-04-05 16:55:11 +02:00
Sébastien Villemot
dee230bf32
Minor shell modernization
2019-04-05 12:12:24 +02:00
Sébastien Villemot
20cbc30450
k-order DLL: various simplifications
2019-04-02 19:16:10 +02:00
Houtan Bastani
7e46d8267c
mac: make build system work with clang and gcc
2019-04-01 17:38:42 +02:00
Sébastien Villemot
fb4d14c0a2
Fix build failure with MATLAB ≤ R2011a with recent GCC
2019-03-25 18:47:50 +01:00
Sébastien Villemot
c46023ad56
POSIX shell stylistic improvements
2019-03-25 18:47:49 +01:00
Sébastien Villemot
7fd95a6b72
Dynare++ kord library: use modern pseudo-random number generators
2019-03-05 12:29:17 +01:00
Sébastien Villemot
9f4986e90e
Add missing Dynare++ header file to MEX builds
2019-02-19 18:53:21 +01:00
Sébastien Villemot
9512a32ad0
Dynare++: remove duplicate implementation of the Pascal triangle
...
As a consequence, the singleton implementation has to be made thread-safe.
Also implement the singleton pattern using a namespace, rather than a static
instance.
2019-02-19 16:46:04 +01:00
Sébastien Villemot
5fcf563c61
Dynare++: factorize and optimize code for integer exponentiation
...
There were two implementations of integer exponentiation. Merge them into a new
file under utils/cc/.
By the way, optimize it using exponentiation by squaring.
2019-02-19 15:50:07 +01:00
Sébastien Villemot
752a02a36c
Dynare++: use C++11 threads (instead of POSIX threads API)
...
On Windows, this means that a POSIX threads implementation is no longer needed,
since C++11 threads are implemented using native Windows threads.
On GNU/Linux and macOS, POSIX threads are still used under the hood.
A new m4 macro (AX_CXX11_THREAD) is used to add the proper compilation
flags (instead of AX_PTHREAD).
2019-01-28 18:44:24 +01:00
Sébastien Villemot
a9e51ac4c0
Dynare++ sylvester equation solver: remove the SylvMemory class, not actually used
2019-01-25 18:43:21 +01:00
Sébastien Villemot
e45d230a3d
Rename .dat file to standard .hh extension
2019-01-10 14:29:58 +01:00
Sébastien Villemot
188d6296d7
Dynare++: finish to apply Dynare C++ coding style and extensions (.cc/.hh)
2019-01-08 17:12:05 +01:00
Sébastien Villemot
ce1ef47093
dynare++ / tensor library (TL): move away from CWEB
...
By the way apply Dynare C++ coding style and extensions (.cc/.hh).
2019-01-08 16:09:25 +01:00
Sébastien Villemot
84255f9e9a
dynare++/integ: move away from CWEB
...
By the way apply Dynare C++ coding style and extensions (.cc/.hh).
2019-01-04 17:28:20 +01:00
Sébastien Villemot
df772325a2
dynare++/kord: move away from CWEB
...
By the way apply Dynare C++ coding style and extensions (.cc/.hh).
2019-01-04 16:32:05 +01:00
Sébastien Villemot
736d43c4e6
Bump minimal MATLAB version requirement to 7.9 (R2009b)
2018-11-13 15:59:16 +01:00
Sébastien Villemot
c6f5c804d9
Gensylv MEX also needs MatIO (because Dynare++ code does)
2018-11-12 12:56:01 +01:00
Sébastien Villemot
afc9f94854
On Windows, statically link the pthread library
...
Otherwise the DLL is dynamically linked against libwinpthread. This regression
was introduced by commit 671fe4bcd
.
2018-11-07 14:38:04 +01:00
Sébastien Villemot
671fe4bcd4
Build system improvements on Windows (MinGW / MSYS2)
...
- Use the -static flag when linking Dynare++, so that shipping libquadmath and
libgcc DLL in the installer is no longer needed.
- Use AM_CXXFLAGS and AM_LDFLAGS variables for changing flags, since CXXFLAGS
and LDFLAGS are user variables. Also, this avoids passing these flags down to
configure scripts in subdirectories.
- Check for the SZIP library in the configure test for the MatIO, this is
needed under MSYS2.
- Statically link MatIO and GSL in MEX files for MATLAB, this is needed under
MSYS2.
2018-11-06 12:17:56 +01:00
Sébastien Villemot
feeda74dfb
Remove spurious executable permission
2018-09-27 12:24:57 +02:00
Houtan Bastani
f5bf76deb5
fix mex build system for macOS
2018-06-27 15:04:33 +02:00
Sébastien Villemot
a71e0ebee4
Add a compile-time check for MATLAB version, as we already do for Octave
2018-06-06 14:31:25 +02:00
Sébastien Villemot
e669321eec
Require C++14 for MEX files
...
Needed because bytecode DLL uses some preprocessor code which is C++14.
2018-06-05 11:34:41 +02:00
Sébastien Villemot
02084ce310
Remove qzcomplex Oct-file
...
It's actually not needed. The QZ complex decomposition can be obtained in
Octave on real matrices by casting them to the complex type.
2018-05-17 12:11:15 +02:00
Sébastien Villemot
3f674f0f26
Enforce minimal Octave version in the configure script
2018-05-16 10:50:27 +02:00
Sébastien Villemot
e2c2f2d966
Remove fallbacks for ilu, linsolve and ordschur under Octave
...
These functions are all included in Octave 4.2.
2018-05-16 10:48:44 +02:00
Sébastien Villemot
f665379fcc
Kludge for bug in MinGW, that defines __STDC_UTF_16__ but not char16_t
...
This breaks the matrix.h of older MATLABs (e.g. R2009a). Also see <uchar.h>.
2018-05-15 19:29:17 +02:00
Sébastien Villemot
fbddfc0aae
Require C99 when compiling MEX files, since mjdgges now uses C99 features
2018-05-15 14:53:56 +02:00
Houtan Bastani
fdf9a8a453
move preprocessor to submodule
2018-02-16 16:44:16 +01:00
Houtan Bastani
fb6a11f544
move estimation-dll to its own repository: https://github.com/DynareTeam/estimation-dll.git
2017-09-22 15:31:23 +02:00
Stéphane Adjemian (Charybdis)
e3769670df
Updated AC_INIT
2017-05-19 18:54:32 +02:00
Stéphane Adjemian (Charybdis)
8925e7ca1f
Cosmetic patch (remove some warnings about potentially uninitialized variables in bytecode).
2017-02-13 19:22:26 +01:00
Stéphane Adjemian (Charybdis)
537e384122
Fixed make parallel mode (missing dependency in automake).
2016-12-01 23:25:01 +01:00
Sébastien Villemot
d0628af1f2
No longer compile ordschur.oct for Octave >= 4.0.
...
The function is now an Octave builtin.
2015-03-17 17:53:11 +01:00
Houtan Bastani
cf910cb64f
build system: add flag for mex compilation on OS X 10.9
2014-07-24 12:18:38 +02:00
Sébastien Villemot
9b5a09958c
Fixes to make install.
...
- fix DESTDIR for preprocessor and MEX files (it was duplicated)
- don't install libdynare++.a
2014-07-18 12:15:36 +02:00
Houtan Bastani
8d2b79a224
make install, closes #576
2014-07-16 16:18:06 +02:00
Sébastien Villemot
9d32204790
Ensure that -lpthread is statically linked under MinGW.
2014-03-10 17:25:39 +01:00
Sébastien Villemot
75ae191d33
Upgrade to a newer version of the AX_BOOST_BASE macro.
...
Our workaround for cross-compilation has been incorporated upstream.
2014-03-03 11:13:27 +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
a8d07308a9
ms-sbvar: support ctrl-c changes in submodule, #304
2013-12-05 16:13:58 +01:00
Sébastien Villemot
7ada720e7b
Bump version number
2013-12-02 17:55:10 +01:00
Sébastien Villemot
82edf48256
No longer consider automake warnings as fatal
...
With automake 1.14 there are a lot of new warnings related to the way we deal
with MEX files (they are compiled from source files located in a different
tree). Automake wants us to use the 'subdir-objects' option, but it breaks in
our case.
In automake 2.0, the 'subdir-objects' option will be activated by default, so
we will have to refactor the build system for MEX files. But for now we can
live with the automake warnings.
2013-09-09 14:50:32 +02:00
Sébastien Villemot
d8e9bc978d
Revert "Compatibility fix with automake 1.14"
...
This reverts commit 7541bb52f5
.
This commit was breaking compilation of MEX files: the subdir-objects option
does not deal well with source files that are under a distinct tree.
2013-09-09 14:47:29 +02:00
Sébastien Villemot
7541bb52f5
Compatibility fix with automake 1.14
2013-09-06 15:00:37 +02:00
Houtan Bastani
47b53dbeea
build system: osx fix for bytecode mex in octave
2013-04-17 17:45:28 +02:00
Sébastien Villemot
c8e59f1361
Do not put -lumfpack in LIBS, rather use a special variable for it
2013-03-29 15:30:31 +01:00
Sébastien Villemot
513ae741e3
Build system for MEX/Octave: use Octave's LDFLAGS in the configure script
...
This will facilitate the detection of UMFPACK under Windows
2013-03-29 15:07:58 +01:00
Sébastien Villemot
86db8d805c
Add configure test for UMFPACK
2013-03-23 17:09:00 +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
03e487a092
Major update of bytecode:
...
- Iterative linear solvers using CUDA
- interpreter.cc decomposed
2013-03-22 15:44:34 +01:00
Sébastien Villemot
82930ee29a
Implementation of steady state computation in estim DLL, using the GSL
...
Does not seem very robust (fails on fs2000), need to investigate why.
2013-03-06 16:58:22 +01:00
Sébastien Villemot
18af0655a3
More spurious executable perms
2012-10-13 22:08:56 +02:00
Sébastien Villemot
3d39d77917
Remove spurious executable permissions
2012-10-13 16:10:01 +02:00
Sébastien Villemot
3e612e0211
Fix build system with Automake 1.12
2012-09-28 17:31:39 +02:00
Sébastien Villemot
5d5771a823
Another typo
2012-09-25 19:58:03 +02:00
Sébastien Villemot
6cfec3f6ad
More CPPFLAGS_MATIO fun
2012-09-25 19:53:20 +02:00
Sébastien Villemot
08f7c61e89
Add missing CPPFLAGS_MATIO
2012-09-25 14:25:02 +02:00
Sébastien Villemot
3589c04f49
Add missing CPPFLAGS_MATIO
2012-09-21 07:29:11 +02:00
Sébastien Villemot
4d98c2007f
Rename CFLAGS_MATIO to CPPFLAGS_MATIO
2012-09-20 22:53:47 +02:00
Houtan Bastani
4f54391e94
add --with-matio option to configure
2012-09-19 12:11:57 +02:00
Houtan Bastani
fd66086c38
bug fix: configure output should be no for k-order if matlab is not present
2012-09-19 12:11:57 +02:00
Houtan Bastani
e48f535004
bug fix: ms_sbvar requires matio under octave but configure output doesn't state that it's missing.
2012-09-19 12:11:57 +02:00
Houtan Bastani
a54af094f2
bug fix: slicot configuration (allow path specification using --with-slicot flag)
2012-09-18 14:45:32 +02:00
Houtan Bastani
469a1d2c25
fix slicot configuration on OS X
2012-09-17 11:58:18 +02:00
Sébastien Villemot
c07ffd8705
Merge branch 'slicot'
2012-09-13 11:11:46 +02:00
Sébastien Villemot
0332309647
Remove embedded SLICOT, rely on external binary
2012-09-13 11:08:42 +02:00
Sébastien Villemot
5f861cb0d8
Use MatIO in Dynare++ instead of the home-made engine
2012-08-23 18:31:07 +02:00
Sébastien Villemot
2e65a9ab96
Provide a better implementation of linsolve for Octave
...
Closes : #273
2012-08-06 18:26:16 +02:00
Houtan Bastani
7c4b36695d
change autoconf min version to match that of root config file
2012-08-02 16:17:08 +02:00
Sébastien Villemot
91967eac6d
Bump version numbers
2012-06-11 12:07:10 +02:00
Sébastien Villemot
ff4285d6fb
matio is a requirement for ms-sbvar under Octave
2012-04-20 11:50:03 +02:00
Houtan Bastani
9576255ead
Create new contrib folder & move ms-sbvar submodules there
2012-04-19 11:02:40 +02:00
Houtan Bastani
b96c35a1a4
ms-sbvar: remove unused code
2012-04-13 15:56:25 +02:00
Houtan Bastani
f402d59acf
ms-sbvar: link to Matio library for Octave compilation
2012-04-13 15:54:48 +02:00
Houtan Bastani
402363bab2
MS-SBVAR: rewrite ms_variance_decomposition
2012-03-08 17:54:35 +01:00
Houtan Bastani
5f60f1bd27
MS-SBVAR: rewrite ms_forecast
2012-03-08 17:54:05 +01:00
Houtan Bastani
864e0b7c7e
MS-SBVAR: rewrite ms_irf
2012-03-08 17:53:58 +01:00
Stéphane Adjemian (Charybdis)
40329e3e29
Added routine to compute one step ahead state space iteration (mex and m). The state space
...
equations are approximated at order two around the deterministic steady state.
2012-03-04 22:07:27 +01:00
Michel Juillard
da0beac147
updating calling sequence for estimation dll and introducing templates
...
when necessary
2012-02-23 18:39:41 +01:00
Sébastien Villemot
a66594caed
Add MEXEXT define to build system, adapt relevant DLL and Windows packaging
...
Closes : #235
2012-01-09 12:39:09 +01:00
Sébastien Villemot
2185924081
Build system: fix for Octave 3.4
2011-12-28 13:05:30 +01:00