Python Numpy Maschine Epsilon

Ich versuche zu verstehen, was Maschine epsilon ist. Laut Wikipedia kann es wie folgt berechnet werden:

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

Es ist jedoch nur für Zahlen mit doppelter Genauigkeit geeignet. Ich bin daran interessiert, es so zu ändern, dass es auch Zahlen mit einfacher Genauigkeit unterstützt. Ich habe gelesen, dass insbesondere Numpy verwendet werden kannnumpy.float32 Klasse. Kann jemand bei der Änderung der Funktion helfen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage