From 7bcabed20b264ad3359bb6462b15e65b2ad6acac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org> Date: Mon, 20 Jun 2022 10:44:21 +0200 Subject: [PATCH] Bytecode: in FNUMEXPR, store lag as int rather than int8_t MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Otherwise lags are truncated at ±128. (manually cherry picked from commit 4662a42c9ad2c90d921d0f72b307fd7bba29d627) --- src/CodeInterpreter.hh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/CodeInterpreter.hh b/src/CodeInterpreter.hh index 832c6e85..5045f577 100644 --- a/src/CodeInterpreter.hh +++ b/src/CodeInterpreter.hh @@ -1267,7 +1267,7 @@ class FNUMEXPR_ : public TagWithOneArgument<ExpressionType> private: unsigned int equation; uint16_t dvariable1, dvariable2, dvariable3; - int8_t lag1, lag2, lag3; + int lag1, lag2, lag3; public: inline FNUMEXPR_() : TagWithOneArgument<ExpressionType>::TagWithOneArgument{Tags::FNUMEXPR} @@ -1294,7 +1294,7 @@ public: TagWithOneArgument<ExpressionType>::TagWithOneArgument{Tags::FNUMEXPR, expression_type}, equation{equation_arg}, dvariable1{static_cast<uint16_t>(dvariable1_arg)}, dvariable2{0}, dvariable3{0}, - lag1{static_cast<int8_t>(lag1_arg)}, lag2{0}, lag3{0} + lag1{lag1_arg}, lag2{0}, lag3{0} { }; inline @@ -1314,8 +1314,8 @@ public: dvariable1{static_cast<uint16_t>(dvariable1_arg)}, dvariable2{static_cast<uint16_t>(dvariable2_arg)}, dvariable3{0}, - lag1{static_cast<int8_t>(lag1_arg)}, - lag2{static_cast<int8_t>(lag2_arg)}, + lag1{lag1_arg}, + lag2{lag2_arg}, lag3{0} { }; @@ -1336,9 +1336,9 @@ public: dvariable1{static_cast<uint16_t>(dvariable1_arg)}, dvariable2{static_cast<uint16_t>(dvariable2_arg)}, dvariable3{static_cast<uint16_t>(dvariable3_arg)}, - lag1{static_cast<int8_t>(lag1_arg)}, - lag2{static_cast<int8_t>(lag2_arg)}, - lag3{static_cast<int8_t>(lag3_arg)} + lag1{lag1_arg}, + lag2{lag2_arg}, + lag3{lag3_arg} { }; inline ExpressionType -- GitLab