#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}")