J'essaie de comprendre ce qu'est la machine epsilon. Selon Wikipedia, il peut être calculé comme suit:
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
Cependant, il ne convient que pour les nombres à double précision. Je suis intéressé à le modifier pour prendre en charge également les nombres à simple précision. J'ai lu que numpy peut être utilisé, en particulier la numpy.float32
classe. Quelqu'un peut-il aider à modifier la fonction?
numpy.float32
comme argument à la fonction!