Я пытаюсь понять, что такое машинный эпсилон. Согласно Википедии, его можно рассчитать следующим образом:
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
class. Кто-нибудь может помочь с изменением функции?
numpy.float32
функции в качестве аргумента!