File: inf_nan_arith.py

package info (click to toggle)
micropython 1.25.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 48,944 kB
  • sloc: ansic: 317,850; python: 59,539; xml: 4,241; makefile: 3,530; sh: 1,421; javascript: 744; asm: 681; cpp: 45; exp: 11; pascal: 6
file content (20 lines) | stat: -rw-r--r-- 591 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Test behaviour of inf and nan in basic float operations

inf = float("inf")
nan = float("nan")

values = (-2, -1, 0, 1, 2, inf, -inf, nan)

for x in values:
    for y in values:
        print(x, y)
        print("  + - *", x + y, x - y, x * y)
        try:
            print("  /", x / y)
        except ZeroDivisionError:
            print("  / ZeroDivisionError")
        try:
            print("  ** pow", x**y, pow(x, y))
        except ZeroDivisionError:
            print("  ** pow ZeroDivisionError")
        print("  == != < <= > >=", x == y, x != y, x < y, x <= y, x > y, x >= y)