Estoy tratando de entender qué es la máquina épsilon. Según Wikipedia, se puede calcular de la siguiente manera:
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
Sin embargo, solo es adecuado para números de doble precisión. Estoy interesado en modificarlo para admitir también números de precisión simple. Leí que se puede usar numpy, particularmente numpy.float32
class. ¿Alguien puede ayudar a modificar la función?
numpy.float32
como argumento a la función!