#for float
import numpy as np
import struct
dtypes = [np.float16, np.float32, np.float64]
for dtype in dtypes:
    fmt = np.dtype(dtype).char
    size = struct.calcsize(fmt)
    min_val = struct.unpack(fmt, b'\x80' + b'\x00' * (size - 1))[0]
    max_val = struct.unpack(fmt, b'\x7f' + b'\xff' * (size - 1))[0]
    print(f"{dtype.__name__}:")
    print(f"  min = {min_val}")
    print(f"  max = {max_val}")