maszyna python numpy epsilon

Próbuję zrozumieć, czym jest maszyna epsilon. Według Wikipedii można ją obliczyć w następujący sposób:

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 o podwójnej precyzji. Jestem zainteresowany jego modyfikacją, aby obsługiwał również liczby o pojedynczej precyzji. Czytałem, że w szczególności można użyć numpynumpy.float32 klasa. Czy ktoś może pomóc w modyfikacji funkcji?

questionAnswers(3)

yourAnswerToTheQuestion