File: gen-float-table.py

package info (click to toggle)
gawk 1%3A5.3.2-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 24,120 kB
  • sloc: ansic: 56,743; awk: 14,966; sh: 6,985; yacc: 6,820; makefile: 3,144; sed: 119; python: 31; csh: 6
file content (42 lines) | stat: -rw-r--r-- 743 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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("")