Python Numpy Machine Epsilon

Estoy tratando de entender qué es la máquina épsilon. Según la 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, es adecuado solo para números de doble precisión. Estoy interesado en modificarlo para admitir también números de precisión simples. Leí que se puede usar numpy, particularmentenumpy.float32 clase. ¿Alguien puede ayudar a modificar la función?

Respuestas a la pregunta(3)

Su respuesta a la pregunta