From fcef3ca09f003a4c47aa5b779cb0fbdd8135c1a3 Mon Sep 17 00:00:00 2001
From: Willi Mutschler <willi@mutschler.eu>
Date: Thu, 26 Nov 2020 12:57:57 +0100
Subject: [PATCH] :white_check_mark: Don't do bgp/solow in Octave

[skip ci]
The levenberg-marquardt algorithm is not available in octave's implementation of fsolve, so we check the verbatim block only in matlab
---
 tests/bgp/solow-1/solow.mod | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/tests/bgp/solow-1/solow.mod b/tests/bgp/solow-1/solow.mod
index e4d9fa8be8..fae22bcd3c 100644
--- a/tests/bgp/solow-1/solow.mod
+++ b/tests/bgp/solow-1/solow.mod
@@ -36,7 +36,9 @@ model;
     PhysicalCapitalStock = (1-delta)*PhysicalCapitalStock(-1) + s*Output;
 end;
 
-
+if ~isoctave
+% The levenberg-marquardt algorithm is not available in octave's
+% implementation of fsolve, so we skip this check for Octave
 verbatim;
 
     bgp.write(M_);
@@ -57,6 +59,7 @@ verbatim;
     else
         fun = @solow.bgpfun;
     end
+    reverseStr = '';
     for i=1:MC
         y = 1+(rand(6,1)-.5)*.2;
         g = ones(6,1);
@@ -66,8 +69,14 @@ verbatim;
             GY(i) = y(11);
             GK(i) = y(12);
             EG(i) = y(2);
-        end
+        end        
+        % Display the progress
+        percentDone = 100 * i / MC;
+        msg = sprintf('Percent done: %3.1f', percentDone);
+        fprintf([reverseStr, msg]);
+        reverseStr = repmat(sprintf('\b'), 1, length(msg));
     end
+    fprintf('\n');
     % Compute the physical capital stock over output ratio along the BGP as
     % a function of the deep parameters...
     theoretical_long_run_ratio = s*EfficiencyGrowth_ss*PopulationGrowth_ss/(EfficiencyGrowth_ss*PopulationGrowth_ss-1+delta);
@@ -89,3 +98,5 @@ verbatim;
     assert(var(EG(~isnan(EG)))<1e-16);
 
 end;
+
+end;
\ No newline at end of file
-- 
GitLab