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