diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2020-11-15 11:54:52 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2020-11-15 11:54:52 +0200 |
commit | 6d1274d1d0c9b2f0feb109876c7c250951035a3c (patch) | |
tree | 8166de2cc662c0f54c82ecce98e8061bb5b216b1 /awklib/eg/test-programs/gen-float-table.py | |
parent | 3aadf44caf614edcdb7bb9ccc2a689db9a784a21 (diff) | |
download | egawk-6d1274d1d0c9b2f0feb109876c7c250951035a3c.tar.gz egawk-6d1274d1d0c9b2f0feb109876c7c250951035a3c.tar.bz2 egawk-6d1274d1d0c9b2f0feb109876c7c250951035a3c.zip |
Add test programs embedded in the doc.
Diffstat (limited to 'awklib/eg/test-programs/gen-float-table.py')
-rw-r--r-- | awklib/eg/test-programs/gen-float-table.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/awklib/eg/test-programs/gen-float-table.py b/awklib/eg/test-programs/gen-float-table.py new file mode 100644 index 00000000..8631b817 --- /dev/null +++ b/awklib/eg/test-programs/gen-float-table.py @@ -0,0 +1,42 @@ +from math import * + +nan = float('NaN') +inf = float('Inf') + +def eq(left, right): + return left == right + +def ne(left, right): + return left != right + +def lt(left, right): + return left < right + +def le(left, right): + return left <= right + +def gt(left, right): + return left > right + +def ge(left, right): + return left >= right + +func_map = { + "==": eq, + "!=": ne, + "< ": lt, + "<=": le, + "> ": gt, + ">=": ge, +} + +compare = [2.0, nan, -nan, inf, -inf] +values = [nan, -nan, inf, -inf] + +for i in range(len(values)): + for j in range(len(compare)): + for op in func_map: + print("%g %s %g -> %s" % + (values[i], op, compare[j], func_map[op](values[i], compare[j]))) + + print("") |