diff --git a/tests/Makefile.am b/tests/Makefile.am index 6b3d72c3d..fbe8a685f 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -7,6 +7,7 @@ MODFILES = \ example1_with_tags.mod \ example1_irf_shocks.mod \ example1_abs_sign.mod \ + example1_macroif.mod \ t_sgu_ex1.mod \ osr_example.mod \ optimal_policy/ramsey.mod \ diff --git a/tests/example1_macroif.mod b/tests/example1_macroif.mod new file mode 100644 index 000000000..35cbddaa1 --- /dev/null +++ b/tests/example1_macroif.mod @@ -0,0 +1,53 @@ +// Example 1 from Collard's guide to Dynare +var y, c, k, a, h, b; +varexo e, u; + +parameters beta, rho, alpha, delta, theta, psi, tau; + +@#ifdef NOTDEFINED +@#error "IFDEF PROBLEM" +@#else +alpha = 0.36; +rho = 0.95; +tau = 0.025; +beta = 0.99; +delta = 0.025; +psi = 0; +theta = 2.95; +phi = 0.1; +@#endif + +model; +c*theta*h^(1+psi)=(1-alpha)*y; +k = beta*(((exp(b)*c)/(exp(b(+1))*c(+1))) + *(exp(b(+1))*alpha*y(+1)+(1-delta)*k)); +y = exp(a)*(k(-1)^alpha)*(h^(1-alpha)); +k = exp(b)*(y-c)+(1-delta)*k(-1); +a = rho*a(-1)+tau*b(-1) + e; +b = tau*a(-1)+rho*b(-1) + u; +end; + +initval; +y = 1.08068253095672; +c = 0.80359242014163; +h = 0.29175631001732; +k = 11.08360443260358; +a = 0; +b = 0; +e = 0; +u = 0; +end; + +@#define DEFINED=0 + +shocks; +var e; stderr 0.009; +var u; stderr 0.009; +var e, u = phi*0.009*0.009; +end; + +@#ifdef DEFINED +stoch_simul; +@#else +@#error "IFDEF PROBLEM" +@#endif