From e7a3c5eb91e9a6a7a365b183bf07adfe8ae76ef7 Mon Sep 17 00:00:00 2001 From: "Jonathan E. Guyer" Date: Thu, 9 Aug 2012 12:54:32 +0000 Subject: [PATCH 1/3] creating branch for ticket453 git-svn-id: svn+ssh://code.matforge.org/fipy/branches/ticket453@5270 d80e17d7-ff13-0410-a124-85740d801063 From 5ae348574f03d46e31bc523987d8c4a686a3ffbf Mon Sep 17 00:00:00 2001 From: "Jonathan E. Guyer" Date: Thu, 9 Aug 2012 13:26:52 +0000 Subject: [PATCH 2/3] repeated calls to `numerix.array()` lose `bool` for some reason git-svn-id: svn+ssh://code.matforge.org/fipy/branches/ticket453@5271 d80e17d7-ff13-0410-a124-85740d801063 --- fipy/variables/constraintMask.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fipy/variables/constraintMask.py b/fipy/variables/constraintMask.py index 5655d0802b..82adaa63b0 100644 --- a/fipy/variables/constraintMask.py +++ b/fipy/variables/constraintMask.py @@ -49,7 +49,7 @@ def __init__(self, var): def _calcValue(self): returnMask = numerix.zeros(self.shape, dtype=bool) for constraint in self.var.constraints: - returnMask = returnMask | numerix.array(constraint.where) + returnMask = returnMask | numerix.asarray(constraint.where, dtype=bool) return returnMask return _ConstraintMaskVariable(var) From 95b58d30949612c0d1bcd6145202e3eddc91a62f Mon Sep 17 00:00:00 2001 From: "Jonathan E. Guyer" Date: Thu, 9 Aug 2012 17:08:46 +0000 Subject: [PATCH 3/3] Cast `--inline` `bool` results back to `bool`. Fixes ticket:453 git-svn-id: svn+ssh://code.matforge.org/fipy/branches/ticket453@5272 d80e17d7-ff13-0410-a124-85740d801063 --- fipy/variables/constraintMask.py | 2 +- fipy/variables/variable.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/fipy/variables/constraintMask.py b/fipy/variables/constraintMask.py index 82adaa63b0..2e86d8ea5d 100644 --- a/fipy/variables/constraintMask.py +++ b/fipy/variables/constraintMask.py @@ -49,7 +49,7 @@ def __init__(self, var): def _calcValue(self): returnMask = numerix.zeros(self.shape, dtype=bool) for constraint in self.var.constraints: - returnMask = returnMask | numerix.asarray(constraint.where, dtype=bool) + returnMask = returnMask | numerix.asarray(constraint.where) return returnMask return _ConstraintMaskVariable(var) diff --git a/fipy/variables/variable.py b/fipy/variables/variable.py index 965deabcab..ffd2f138a4 100644 --- a/fipy/variables/variable.py +++ b/fipy/variables/variable.py @@ -999,6 +999,9 @@ def _execInline(self, comment=None): if resultShape == (): argDict['result'] = numerix.reshape(argDict['result'], resultShape) + + if self.getsctype() == numerix.bool_: + argDict['result'] = numerix.asarray(argDict['result'], dtype=self.getsctype()) return argDict['result']