Nieprawidłowości w dziale "Dokumentacja C++" nt. Atan2
Ostatnio zmodyfikowano 2020-06-22 23:37
Qrdel Temat założony przez niniejszego użytkownika |
Nieprawidłowości w dziale "Dokumentacja C++" nt. Atan2 » 2020-06-21 17:09:42 Szanowni
Aż się zarejestrowałem, tak się zdziwiłem.
W dziale "Dokumentacja C++" w opisie funkcji ATAN2 (http://cpp0x.pl/dokumentacja/standard-C/atan2/229) w opisie argumentów funkcji znalazłem: "Funkcja przyjmuje dwa argumenty, których iloraz musi zawierać się w przedziale od -M_PI/2 (-π/2) do M_PI/2 (π/2)."
i nieco później
"Jeżeli wartość ilorazu y/x nie mieści się w określonym wyżej przedziale to funkcja atan2 zwróci wartość niezdefiniowaną."
Nie sądzę aby dotyczyło to jakiejkolwiek sensownej implementacji funkcji. Funkcja jest dwuargumentowa właśnie po to aby mogła przyjąć np. zestaw y=1; x=0; (spodziewany wynik π/2, ale iloraz Inf, NaN).
Sądzę że to wynik niekontrolowanego stosowania Copy&Paste, tylko że właśnie ta strona pojawiła mi się _jako_pierwsza_w_Google_ gdy próbowałem zweryfikować własności Atan2; konkretnie sprawdzałem "fazę" czy jest zgodna ze standardem matematycznym. O problemie tym akurat zbyt jasno nie jest napisane.
Przywołany link http://www.cplusplus.com/reference/clibrary/cmath/atan2/ prawdopodobnego źródła przekładu - nie zawiera takich błędów i jasno precyzuje rolę ilorazu: "Principal arc tangent of y/x," co próbowałbym tłumaczyć jako "W zasadzie arctan(y/x)" albo dla większej szczegółowości "Wartości funkcji zgodne z arctan(y/x) gdy y/x dobrze określony, dla y=0, x=0 > wynik 0, dla x=0, y!=0 > wynik +/- π/2".
Pozdrawiam
|
|
jankowalski25 |
» 2020-06-21 17:40:45 Potwierdzam, trzeba to poprawić. Na stronie https://en.cppreference.com/w/c/numeric/math/atan2 znalazłem następujący cytat: If x is ±0 and y is negative, -π/2 is returned If x is ±0 and y is positive, +π/2 is returned |
Z tego, co sprawdziłem w drafcie standardu C (bo w drafcie standardu C++ znalazłem jedynie odniesienie do standardu C), wartość niezdefiniowana może się trafić tylko wtedy, gdy oba argumenty będą zerami (a i to tylko przy nietypowej implementacji, bo zarówno dla IEEE 754, jak i przy innych popularnych implementacjach, nic takiego nie wystąpi). |
|
DejaVu |
» 2020-06-22 20:11:32 |
|
Qrdel Temat założony przez niniejszego użytkownika |
Nie do końca. » 2020-06-22 20:23:54 Zdanie "Funkcja przyjmuje dwa argumenty, których iloraz musi zawierać się w przedziale od -M_PI/2 (-π/2) do M_PI/2 (π/2)." nadal nie ma sensu. Mogło by się kończyć na przecinku, albo mówić coś o ilorazie i konieczności ominięcia NaN. |
|
DejaVu |
» 2020-06-22 23:37:53 Fixed. Tego nie czytałem :) Pewnie opis powstał w wyniku kopiowania jakiegoś innego hasła i nie został on usunięty/poprawiony. Dzięki za wkład! :) |
|
« 1 » |