summary refs log tree commit diff
path: root/gnu/packages/patches/python-telingo-fix-comparison.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/python-telingo-fix-comparison.patch')
-rw-r--r--gnu/packages/patches/python-telingo-fix-comparison.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/gnu/packages/patches/python-telingo-fix-comparison.patch b/gnu/packages/patches/python-telingo-fix-comparison.patch
new file mode 100644
index 0000000000..6d05048dcb
--- /dev/null
+++ b/gnu/packages/patches/python-telingo-fix-comparison.patch
@@ -0,0 +1,19 @@
+Index: source/telingo/transformers/head.py
+===================================================================
+--- source.orig/telingo/transformers/head.py
++++ source/telingo/transformers/head.py
+@@ -564,10 +564,12 @@ class HeadTransformer:
+                 cond = []
+                 diff = _ast.BinaryOperation(loc, _ast.BinaryOperator.Minus, param, shift)
+                 if lhs.ast_type != _ast.ASTType.SymbolicTerm or lhs.symbol.type != _clingo.SymbolType.Number or lhs.symbol.number > 0:
+-                    cond.append(_ast.Literal(loc, _ast.Sign.NoSign, _ast.Comparison(_ast.ComparisonOperator.LessEqual, lhs, diff)))
++                    cond.append(_ast.Literal(loc, _ast.Sign.NoSign,
++                                             _ast.Comparison(lhs, [_ast.Guard(_ast.ComparisonOperator.LessEqual, diff)])))
+ 
+                 if rhs.ast_type != _ast.ASTType.SymbolicTerm or rhs.symbol.type != _clingo.SymbolType.Supremum:
+-                    cond.append(_ast.Literal(loc, _ast.Sign.NoSign, _ast.Comparison(_ast.ComparisonOperator.LessEqual, diff, rhs)))
++                    cond.append(_ast.Literal(loc, _ast.Sign.NoSign,
++                                             _ast.Comparison(diff, [_ast.Guard(_ast.ComparisonOperator.LessEqual, rhs)])))
+ 
+                 elems.extend([_ast.ConditionalLiteral(loc, _ast.Literal(loc, _ast.Sign.NoSign, head), cond) for head in heads])
+