Skip to content
Snippets Groups Projects
Verified Commit 3bc4823c authored by Sébastien Villemot's avatar Sébastien Villemot
Browse files

Suppress error messages of k_order_perturbation MEX when options_.verbosity=0

parent 4f6344e6
No related branches found
No related tags found
No related merge requests found
...@@ -43,7 +43,9 @@ end ...@@ -43,7 +43,9 @@ end
try try
[dynpp_derivs, dyn_derivs] = k_order_perturbation(dr,M_,options_); [dynpp_derivs, dyn_derivs] = k_order_perturbation(dr,M_,options_);
catch ME catch ME
disp(ME.message) if options_.verbosity > 0
disp(ME.message)
end
info(1)=9; info(1)=9;
return return
end end
......
...@@ -131,6 +131,11 @@ extern "C" ...@@ -131,6 +131,11 @@ extern "C"
mexErrMsgTxt("options_.pruning should be a logical scalar"); mexErrMsgTxt("options_.pruning should be a logical scalar");
bool pruning = static_cast<bool>(mxGetScalar(pruning_mx)); bool pruning = static_cast<bool>(mxGetScalar(pruning_mx));
const mxArray* verbosity_mx = mxGetField(options_mx, 0, "verbosity");
if (!(verbosity_mx && mxIsScalar(verbosity_mx) && mxIsNumeric(verbosity_mx)))
mexErrMsgTxt("options_.verbosity should be a numeric scalar");
int verbosity {static_cast<int>(mxGetScalar(verbosity_mx))};
// Extract various fields from M_ // Extract various fields from M_
const mxArray* fname_mx = mxGetField(M_mx, 0, "fname"); const mxArray* fname_mx = mxGetField(M_mx, 0, "fname");
if (!(fname_mx && mxIsChar(fname_mx) && mxGetM(fname_mx) == 1)) if (!(fname_mx && mxIsChar(fname_mx) && mxGetM(fname_mx) == 1))
...@@ -356,18 +361,21 @@ extern "C" ...@@ -356,18 +361,21 @@ extern "C"
} }
catch (const KordException& e) catch (const KordException& e)
{ {
e.print(); if (verbosity > 0)
e.print();
mexErrMsgTxt( mexErrMsgTxt(
("dynare:k_order_perturbation: Caught Kord exception: " + e.get_message()).c_str()); ("dynare:k_order_perturbation: Caught Kord exception: " + e.get_message()).c_str());
} }
catch (const TLException& e) catch (const TLException& e)
{ {
e.print(); if (verbosity > 0)
e.print();
mexErrMsgTxt("dynare:k_order_perturbation: Caught TL exception"); mexErrMsgTxt("dynare:k_order_perturbation: Caught TL exception");
} }
catch (SylvException& e) catch (SylvException& e)
{ {
e.printMessage(); if (verbosity > 0)
e.printMessage();
mexErrMsgTxt("dynare:k_order_perturbation: Caught Sylv exception"); mexErrMsgTxt("dynare:k_order_perturbation: Caught Sylv exception");
} }
catch (const DynareException& e) catch (const DynareException& e)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment