From 0703ea9ea4155d59d1356713789c60f5e6e8c7a6 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Wed, 11 May 2016 18:22:11 +0200 Subject: Always satisfy n=qd+r to avoid confusion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- test-generate.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'test-generate.py') diff --git a/test-generate.py b/test-generate.py index f384000..482c457 100755 --- a/test-generate.py +++ b/test-generate.py @@ -1,11 +1,16 @@ #!/usr/bin/env python3 # See LICENSE file for copyright and license details. -import random +import sys, random def mod(a, b): - return abs(a) % abs(b) + r = (abs(a) % abs(b)) * (-1 if a < 0 else 1) + q = div(a, b) + if a != q * b + r: + print('zdivmod does not satisfly n = qd + r', file = sys.stderr) + sys.exit(1) + return r def div(a, b): # Python's division is floored, not truncated. r = abs(a) // abs(b) -- cgit v1.2.3-70-g09d2