+ for i in range(len(af)):
+ if count_decimals(af[i]) != count_decimals(bf[i]):
+ sys.stderr.write("%s:%s: unexpected number of decimals\n"
+ % (sys.argv[2], line_number))
+ sys.exit(1)
+
+ if af[i] == bf[i]:
+ continue
+
+ an = to_int(af[i])
+ bn = to_int(bf[i])
+ if an != bn and (bn < an - EPSILON or bn > an + EPSILON):
+ errors += 1
+ if errors > 50:
+ print("%s: Additional differences suppressed."
+ % sys.argv[2])
+ break
+ print("%s:%s: Values differ from %s:%s"
+ % (sys.argv[2], line_number,
+ sys.argv[1], line_number))
+ print("Expected:\n%s" % a)
+ print("Calculated:\n%s" % b)
+
+ if errors > 50:
+ break
+sys.exit(1 if errors > 0 else 0)