eps e tolleranze
« il: Aprile 26, 2019, 20:40 »
Ciao a tutti,
Sto cercando un modo robusto per definire se un intervallo impostato da utente sia divisibile un numero intero di volte per un terzo valore.
(estremi dell'intervallo e valori tutti float)
Per il momento pensavo a qualcosa del genere:

import numpy as np

def foo(sx, dx, val):
delta = abs(sx - dx)
delta += np.spacing(delta) # eps calc
return np.isclose(delta%val, 0., rtol=1e-05, atol=1e-11)

Cosa ne pensate?
Se l'intervallo diventa molto grande l'eps può diventare anche maggiore di atol.
Sarebbe meglio un eps costante piuttosto di calcolarlo ogni volta?
Avete in mente qualcosa di meglio?
Grazie a tutti per l'aiuto