Python numpy máquina epsilon

Eu estou tentando entender o que é epsilon de máquina. Segundo a Wikipedia, ela pode ser calculada da seguinte maneira:

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

No entanto, é adequado apenas para números de precisão dupla. Estou interessado em modificá-lo para suportar também números de precisão simples. Eu li que numpy pode ser usado, particularmentenumpy.float32 classe. Alguém pode ajudar com a modificação da função?

questionAnswers(3)

yourAnswerToTheQuestion