std::tan(std::valarray)
Von cppreference.com
| Definiert in der Header-Datei <valarray> |
||
| template< class T > valarray<T> tan( const valarray<T>& va ); |
||
Für jedes Element in va wird der Tangens seines Wertes berechnet.
Inhalt |
[bearbeiten] Parameter
| va | - | Wert-Array, auf das die Operation angewendet werden soll. |
[bearbeiten] Rückgabewert
Ein Wert-Array, das die Tangenswerte der Elemente in va enthält.
[bearbeiten] Hinweise
Die unqualifizierte Funktion (tan) wird zur Berechnung verwendet. Wenn eine solche Funktion nicht verfügbar ist, wird aufgrund der argumentabhängigen Suche (std::tan) verwendet.
Die Funktion kann mit einem anderen Rückgabetyp als std::valarray implementiert werden. In diesem Fall hat der Ersatztyp die folgenden Eigenschaften
- Alle const-Mitgliedsfunktionen von std::valarray sind vorhanden.
- std::valarray, std::slice_array, std::gslice_array, std::mask_array und std::indirect_array können aus dem Ersatztyp konstruiert werden.
- Für jede Funktion, die ein const std::valarray<T>& als Argument nimmt (außer begin() und end())(seit C++11), werden identische Funktionen hinzugefügt, die die Ersatztypen nehmen;
- Für jede Funktion, die zwei Argumente vom Typ const std::valarray<T>& annimmt, werden identische Funktionen hinzugefügt, die jede Kombination aus const std::valarray<T>& und Ersatztypen annehmen.
- Der Rückgabetyp fügt nicht mehr als zwei Ebenen von Template-Verschachtelung über den am tiefsten verschachtelten Argumenttyp hinaus hinzu.
[bearbeiten] Mögliche Implementierung
template<class T> valarray<T> tan(const valarray<T>& va) { valarray<T> other = va; for (T& i : other) i = tan(i); return other; // proxy object may be returned } |
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <cmath> #include <iostream> #include <valarray> auto show = [](char const* title, const std::valarray<double>& va) { std::cout << title << " :"; for (auto x : va) std::cout << " " << std::fixed << x; std::cout << '\n'; }; int main() { const std::valarray<double> x = {.0, .1, .2, .3}; const std::valarray<double> y = std::tan(x); const std::valarray<double> z = std::atan(y); show("x ", x); show("y = tan(x) ", y); show("z = atan(y)", z); }
Ausgabe
x : 0.000000 0.100000 0.200000 0.300000 y = tan(x) : 0.000000 0.100335 0.202710 0.309336 z = atan(y) : 0.000000 0.100000 0.200000 0.300000
[bearbeiten] Siehe auch
| wendet die Funktion std::sin auf jedes Element des Valarrays an (function template) | |
| wendet die Funktion std::cos auf jedes Element des Valarrays an (function template) | |
| wendet die Funktion std::atan auf jedes Element des Valarrays an (function template) | |
| (C++11)(C++11) |
berechnet Tangens (tan(x)) (Funktion) |
| berechnet den Tangens einer komplexen Zahl (tan(z)) (function template) |