Próbuję zrozumieć, czym jest epsilon maszyny. Według Wikipedii można ją obliczyć w następujący sposób:python numpy machine epsilon
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
Jednak nadaje się tylko do liczb podwójnej precyzji. Interesuje mnie modyfikowanie go tak, aby obsługiwał również liczby pojedynczej precyzji. Czytałem, że można używać numpy, szczególnie klasy numpy.float32
. Czy ktokolwiek może pomóc w modyfikacji funkcji?
Ta funkcja jest ogólnie wystarczy, aby pracować ze wszystkimi szczegółami. Wystarczy przekazać 'numpy.float32' jako argument do funkcji! –