1 from math import *
2
3 nan = float('NaN')
4 inf = float('Inf')
5
6 def eq(left, right):
7 return left == right
8
9 def ne(left, right):
10 return left != right
11
12 def lt(left, right):
13 return left < right
14
15 def le(left, right):
16 return left <= right
17
18 def gt(left, right):
19 return left > right
20
21 def ge(left, right):
22 return left >= right
23
24 func_map = {
25 "==": eq,
26 "!=": ne,
27 "< ": lt,
28 "<=": le,
29 "> ": gt,
30 ">=": ge,
31 }
32
33 compare = [2.0, nan, -nan, inf, -inf]
34 values = [nan, -nan, inf, -inf]
35
36 for i in range(len(values)):
37 for j in range(len(compare)):
38 for op in func_map:
39 print("%g %s %g -> %s" %
40 (values[i], op, compare[j], func_map[op](values[i], compare[j])))
41
42 print("")