Я намагаюся зрозуміти, що таке машинний епсилон. Згідно з Вікіпедією, його можна обчислити так:
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
класу. Чи може хто-небудь допомогти із зміною функції?
numpy.float32
як аргумент функції!