我试图理解什么是机器 ε。根据维基百科,它可以计算如下:
def machineEpsilon(func=float):
machine_epsilon = func(1)
while func(1)+func(machine_epsilon) != func(1):
machine_epsilon_last = machine_epsilon
machine_epsilon = func(machine_epsilon) / func(2)
return machine_epsilon_last
但是,它只适用于双精度数。我有兴趣修改它,以支持也单精度数字。我读到可以使用 numpy,特别是 numpy.float32
类。有人能帮忙修改这个函数吗?