Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Nieprawidłowości w dziale "Dokumentacja C++" nt. Atan2

Ostatnio zmodyfikowano 2020-06-22 23:37
Autor Wiadomość
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
P-177181
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).
P-177182
DejaVu
» 2020-06-22 20:11:32
P-177189
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.
P-177190
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! :)
P-177192
« 1 »
  Strona 1 z 1