Fast deterministic simulations:
* when using "bytecode" without "block", enforce "stack_solve_algo=5" * added a test for "bytecode" without "block" option git-svn-id: https://www.dynare.org/svn/dynare/trunk@3388 ac1d8469-bf42-47a9-8791-bf33cf982152time-shift
parent
3f8bc2b2a1
commit
c44452d820
|
@ -63,8 +63,8 @@ end
|
||||||
if options_.block && ~options_.bytecode && (options_.stack_solve_algo == 0 || options_.stack_solve_algo == 5)
|
if options_.block && ~options_.bytecode && (options_.stack_solve_algo == 0 || options_.stack_solve_algo == 5)
|
||||||
error('SIMUL: for the moment, you must use stack_solve_algo={1,2,3,4} when using block without bytecode option')
|
error('SIMUL: for the moment, you must use stack_solve_algo={1,2,3,4} when using block without bytecode option')
|
||||||
end
|
end
|
||||||
if options_.block && options_.bytecode && options_.stack_solve_algo ~= 5
|
if options_.bytecode && options_.stack_solve_algo ~= 5
|
||||||
error('SIMUL: for the moment, you must use stack_solve_algo=5 with block and bytecode option')
|
error('SIMUL: for the moment, you must use stack_solve_algo=5 with bytecode option')
|
||||||
end
|
end
|
||||||
|
|
||||||
if exist('OCTAVE_VERSION') && options_.stack_solve_algo == 2
|
if exist('OCTAVE_VERSION') && options_.stack_solve_algo == 2
|
||||||
|
|
|
@ -17,6 +17,7 @@ OCTAVE_MODS = \
|
||||||
block_bytecode/fs2000_bicgstab.mod \
|
block_bytecode/fs2000_bicgstab.mod \
|
||||||
block_bytecode/fs2000_optpath.mod \
|
block_bytecode/fs2000_optpath.mod \
|
||||||
block_bytecode/fs2000_bytecode.mod \
|
block_bytecode/fs2000_bytecode.mod \
|
||||||
|
block_bytecode/fs2000_block_bytecode.mod \
|
||||||
block_bytecode/ramst.mod \
|
block_bytecode/ramst.mod \
|
||||||
block_bytecode/ireland.mod \
|
block_bytecode/ireland.mod \
|
||||||
block_bytecode/ls2003.mod \
|
block_bytecode/ls2003.mod \
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
// Tests option block + stack_solve_algo = 3 + solve_algo = 1
|
// Tests option block + stack_solve_algo = 3 + solve_algo = 1
|
||||||
// Must be launched after fs2000_simk.mod
|
// Must be launched after fs2000_simk.mod
|
||||||
|
|
||||||
@#define block_bytecode = 1
|
@#define block = 1
|
||||||
|
@#define bytecode = 0
|
||||||
@#define solve_algo = 1
|
@#define solve_algo = 1
|
||||||
@#define stack_solve_algo = 3
|
@#define stack_solve_algo = 3
|
||||||
@#include "fs2000_common.mod"
|
@#include "fs2000_common.mod"
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
// Tests option block+bytecode
|
||||||
|
// Must be launched after fs2000_simk.mod
|
||||||
|
|
||||||
|
@#define bytecode = 1
|
||||||
|
@#define block = 1
|
||||||
|
@#define solve_algo = 5
|
||||||
|
@#define stack_solve_algo = 5
|
||||||
|
@#include "fs2000_common.mod"
|
|
@ -1,7 +1,8 @@
|
||||||
// Tests option block+bytecode
|
// Tests option bytecode without block
|
||||||
// Must be launched after fs2000_simk.mod
|
// Must be launched after fs2000_simk.mod
|
||||||
|
|
||||||
@#define block_bytecode = 2
|
@#define bytecode = 1
|
||||||
|
@#define block = 0
|
||||||
@#define solve_algo = 5
|
@#define solve_algo = 5
|
||||||
@#define stack_solve_algo = 5
|
@#define stack_solve_algo = 5
|
||||||
@#include "fs2000_common.mod"
|
@#include "fs2000_common.mod"
|
||||||
|
|
|
@ -11,13 +11,17 @@ rho = 0.7;
|
||||||
psi = 0.787;
|
psi = 0.787;
|
||||||
del = 0.02;
|
del = 0.02;
|
||||||
|
|
||||||
@#if block_bytecode == 2
|
@#if block && bytecode
|
||||||
model(block, bytecode);
|
model(block, bytecode);
|
||||||
@#else
|
@#else
|
||||||
@# if block_bytecode == 1
|
@# if block && !bytecode
|
||||||
model(block);
|
model(block);
|
||||||
@# else
|
@# else
|
||||||
|
@# if !block && bytecode
|
||||||
|
model(bytecode);
|
||||||
|
@# else
|
||||||
model;
|
model;
|
||||||
|
@# endif
|
||||||
@# endif
|
@# endif
|
||||||
@#endif
|
@#endif
|
||||||
|
|
||||||
|
@ -64,7 +68,7 @@ end;
|
||||||
options_.maxit_=10;
|
options_.maxit_=10;
|
||||||
steady(solve_algo = @{solve_algo});
|
steady(solve_algo = @{solve_algo});
|
||||||
|
|
||||||
@#if block_bytecode > 0
|
@#if block
|
||||||
model_info;
|
model_info;
|
||||||
@#endif
|
@#endif
|
||||||
|
|
||||||
|
@ -76,7 +80,7 @@ end;
|
||||||
|
|
||||||
simul(periods=200, stack_solve_algo = @{stack_solve_algo});
|
simul(periods=200, stack_solve_algo = @{stack_solve_algo});
|
||||||
|
|
||||||
@#if block_bytecode > 0
|
@#if block || bytecode
|
||||||
if ~exist('fs2000_simk_results.mat','file');
|
if ~exist('fs2000_simk_results.mat','file');
|
||||||
error('fs2000_simk must be run first');
|
error('fs2000_simk must be run first');
|
||||||
end;
|
end;
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
// Tests option block + stack_solve_algo = 2 + solve_algo = 3
|
// Tests option block + stack_solve_algo = 2 + solve_algo = 3
|
||||||
// Must be launched after fs2000_simk.mod
|
// Must be launched after fs2000_simk.mod
|
||||||
|
|
||||||
@#define block_bytecode = 1
|
@#define block = 1
|
||||||
|
@#define bytecode = 0
|
||||||
@#define solve_algo = 3
|
@#define solve_algo = 3
|
||||||
@#define stack_solve_algo = 2
|
@#define stack_solve_algo = 2
|
||||||
@#include "fs2000_common.mod"
|
@#include "fs2000_common.mod"
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
// Tests option block + stack_solve_algo = 1 + solve_algo = 2
|
// Tests option block + stack_solve_algo = 1 + solve_algo = 2
|
||||||
// Must be launched after fs2000_simk.mod
|
// Must be launched after fs2000_simk.mod
|
||||||
|
|
||||||
@#define block_bytecode = 1
|
@#define block = 1
|
||||||
|
@#define bytecode = 0
|
||||||
@#define solve_algo = 2
|
@#define solve_algo = 2
|
||||||
@#define stack_solve_algo = 1
|
@#define stack_solve_algo = 1
|
||||||
@#include "fs2000_common.mod"
|
@#include "fs2000_common.mod"
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
// Tests option block + stack_solve_algo = 4 + solve_algo = 4
|
// Tests option block + stack_solve_algo = 4 + solve_algo = 4
|
||||||
// Must be launched after fs2000_simk.mod
|
// Must be launched after fs2000_simk.mod
|
||||||
|
|
||||||
@#define block_bytecode = 1
|
@#define block = 1
|
||||||
|
@#define bytecode = 0
|
||||||
@#define solve_algo = 4
|
@#define solve_algo = 4
|
||||||
@#define stack_solve_algo = 4
|
@#define stack_solve_algo = 4
|
||||||
@#include "fs2000_common.mod"
|
@#include "fs2000_common.mod"
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
@#define block_bytecode = 0
|
@#define block = 0
|
||||||
|
@#define bytecode = 0
|
||||||
@#define solve_algo = 2
|
@#define solve_algo = 2
|
||||||
@#define stack_solve_algo = 0
|
@#define stack_solve_algo = 0
|
||||||
@#include "fs2000_common.mod"
|
@#include "fs2000_common.mod"
|
||||||
|
|
Loading…
Reference in New Issue