* gnu/packages/patches/python-telingo-fix-comparison.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/maths.scm (python-telingo): New variable.
		
			
				
	
	
		
			19 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
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])
 | 
						|
 
 |