From 4e3bf094954a57bbed7cbd007412ec3d3feff7ca Mon Sep 17 00:00:00 2001
From: Houtan Bastani <houtan@dynare.org>
Date: Tue, 26 Nov 2019 10:39:16 +0100
Subject: [PATCH] macro processor: fix typo that caused logical or not to work
 when one of the arguments is Real == 1 and other arguments are false

---
 src/macro/Expressions.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/macro/Expressions.cc b/src/macro/Expressions.cc
index d48683b5..ec54db44 100644
--- a/src/macro/Expressions.cc
+++ b/src/macro/Expressions.cc
@@ -175,7 +175,7 @@ Real::logical_and(const BaseTypePtr &btp) const
 BoolPtr
 Real::logical_or(const BaseTypePtr &btp) const
 {
-  if (auto btp2 = dynamic_pointer_cast<Real>(btp); !btp2)
+  if (auto btp2 = dynamic_pointer_cast<Real>(btp); btp2)
     return make_shared<Bool>(value || *btp2, env);
 
   if (auto btp2 = dynamic_pointer_cast<Bool>(btp); btp2)
-- 
GitLab