lol
en fait c'est la méthode à laquelle je faisais allusion au tout début ( le truc avec ~ NBDIR/4 multiplications )
Si NBDIR est grand, cette routine peut générer bcp de multiplications, et alors une division peut être plus rapide ( je sais pas exactement après cbien de multiplications

)
Tu peux faire plus rapide avec une recherche dichotomique. Pour cela, tu te limites au premier quadrant ( ie dx > 0 et dy > 0 ), et tu utilises le fait que la fonction arctan est croissante sur [ 0, pi/2 ] = [ 0, nbdir/ 4 ].
Concrètement, tu coupes l'intervalle en deux à chaque fois.
Le premier c'est [0,nbdir/ 4], si dy * Cos( nbdir/ 8 ) >=dx * Sin( nbdir/ 8 ), alors tu continues dans l'intervalle [ nbdir/ 8,nbdir/ 4], sinon tu vas dans [0,nbdir/8]. Et tu recommences la même opération jusqu'à ce que t'arrives à un intervalle avec une seule valeur...
J'ai pas testé la méthode, donc dsl si ça marche pas. Mais si ça marche

, tu t'en sors avec 2 * log2( NBDIR) multiplications, ce qui peut être pas mal utile quand NBDIR est grand... D'ailleurs tu veux pas dire combien il vaut ton NBDIR ?
