C/acos: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
m format
Linia 1:
=== Deklaracja ===
Deklaracje znajdują się w pliku [[C/Biblioteka_standardowa/Indeks_tematyczny#math.h|math.h]]
==== Arcusy funkcji trygonometrycznych ====
 
double acos (double x);
Linia 19:
long double atan2l(long double a, double b);
 
==== Funkcje trygonometryczne ====
 
double cos (double x);
Linia 33:
long double tanl (long double x);
 
==== Area funkcji hiperbolicznych ====
 
double acosh (double x);
Linia 47:
long double atanhl(long double x);
 
==== Funkcje hiperboliczne ====
 
double cosh (double x);
Linia 61:
long double tanhl(long double x);
 
=== Argumenty ===
; x: argument funkcji matematycznej. Miary kątów podawane są w radianach
; a, b: współrzędne punktu na okręgu
 
=== Opis ===
Funkcje z przyrostkami "f" i "l" to inne wersje odpowiedniej funkcji bez przyrostka operujące na innych typach danych. Z tego powodu w poniższym opisie odwołanie do konkretnej funkcji będzie oznaczać odwołanie się do wszystkich 3 werji.
 
Linia 78:
Funkcje z przyrostkiem "h" obliczają wartości analogicznych [[w:Funkcje hiperboliczne|funkcji hiperbolicznych]] i [[w:Funkcje hiperboliczne odwrotne|funkcji area]].
 
Funkcja atan2 bierze pod uwagę znaki obu argumentów dzięki czemu może dokładnie obliczyć kąt. Funkcja atan nie posiada takich informacji przez co przedział zwracanych przez nią wartości jest dwa razy mniejszy.
 
Jeżeli wartości argumentu <tt>x</tt> jest spoza przedziału <tt><nowiki>[-1; 1]</nowiki></tt> funkcje acos i asin zwracają nieokreśloną wartość na zmienna [[C/errno|errno]] ustawiona jest na [[C/EDOM|EDOM]]. Podobnie, jeżeli argumenty <tt>a</tt> i <tt>b</tt> są jednocześnie równe 0 funkcja atan2 ustawia zmienną errno na EDOM.
 
==Wartość pobierana (ang. input)==
Funkcja atan2 bierze pod uwagę znaki obu argumentów dzięki czemu może dokładnie obliczyć kąt. Funkcja atan nie posiada takich informacji przez co przedział zwracanych przez nią wartości jest dwa razy mniejszy.
 
Jeżeli wartości argumentu <tt>x</tt> jest spoza przedziału <tt><nowiki>[-1; 1]</nowiki></tt> funkcje acos i asin zwracają nieokreśloną wartość na zmienna [[C/errno|errno]] ustawiona jest na [[C/EDOM|EDOM]]. Podobnie, jeżeli argumenty <tt>a</tt> i <tt>b</tt> są jednocześnie równe 0 funkcja atan2 ustawia zmienną errno na EDOM.
 
=== Wartość zwracana ( ang. output)===
Wartości odpowiednich funkcji matematycznych. Dodatkowo, dla arcusów funkcji trygonometrycznych zakres zwracanych wartości jest ograniczony. Dla funkcji:
* acos jest to przedział <tt><nowiki>[0; &Pi;]</nowiki></tt>,
Linia 93 ⟶ 94:
Ponadto, jeżeli wystąpi nadmair funkcja zwraca w wyniku [[C/HUGE_VAL|HUGE_VAL]] z odpowiednim znakiem i ustawia wartość zmeinnej errno na [[C/ERANGE|ERANGE]]. Jeśli wystąpi niedomiar funkcja w wyniku zwraca zero, a to czy do zmiennej errno zostanie zapisana wartość ERANGE zależy od implementacji.
 
===Jak Przykładużywać użycia ===
* dyrektywa #include <math.h>
* opcja kompilacji -lm
 
== Przykłady ==
<source lang="c">
#include <math.h>
Linia 150 ⟶ 155:
{ 1.0,-1.0},
{ 1.0,-0.1}};
 
 
 
 
int length = sizeof(p)/sizeof(p[0]);
Linia 163 ⟶ 165:
 
}
 
 
 
 
return 0;
 
}
</source>
Linia 195 ⟶ 188:
</pre>
 
=== Uwagi ===
Wersje funkcji z przyroskiem "f" i "l" (tzn. wersje operujące na zmiennych typu float i long double) zostały wprwoadzone dopiero w standardzie C99.