std::tan(std::valarray)(3)
πΈ std::tan(std::valarray) πΈ
okay bestie, this is a page straight out of the C++ Standard Libary manual, and the star of the show is std::tan(std::valarray) π
β¨ itβs giving trigonometry main character energy, fr fr.
π NAME
std::tan(std::valarray) - std::tan(std::valarray)
β¨ Synopsis β¨
Defined in header <valarray>:
template< class T >
valarray<T> tan( const valarray<T>& va );
For each element in va, it computes the tangent of that elementβs value π«Ά
π Parameters π
vaβ the value array youβre applying the operation to πΈ
π¦ Return value π¦
A value array containing the tangents of the values in va β¨
π₯ Notes π₯
Unqualified function (tan) is used to perform the computation. If such function is not available, std::tan is used due to argument-dependent lookup π
The function can be implemented with the return type different from std::valarray. In this case, the replacement type has the following properties:
- All const member functions of
std::valarrayare provided. std::valarray,std::slice_array,std::gslice_array,std::mask_arrayandstd::indirect_arraycan be constructed from the replacement type.- For every function taking a
const std::valarray<T>&exceptbegin()andend()(since C++11), identical functions taking the replacement types shall be added; - For every function taking two
const std::valarray<T>&arguments, identical functions taking every combination ofconst std::valarray<T>&and replacement types shall be added. - The return type does not add more than two levels of template nesting over the most deeply-nested argument type.
π§ Possible implementation π§
Hereβs one possible implementation β and yes, check that comment, a proxy object may be returned π
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
}
π Example π
Run this code, bestie:
#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);
}
π¨οΈ Output
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
π See also π
sin(std::valarray)β applies the functionstd::sinto each element ofvalarray(function template)cos(std::valarray)β applies the functionstd::costo each element ofvalarray(function template)atan(std::valarray)β applies the functionstd::atanto each element ofvalarray(function template)tan,tanf,tanlβ computes tangent (\({\small\tan{x}}\)tan(x)) (function) (C++11) (C++11)tan(std::complex)β computes tangent of a complex number (\({\small\tan{z}}\)tan(z)) (function template)
π Hidden category
- Pages with unreviewed LWG DR marker
signed off by the C++ Standard Libary manual β source/version: http://cppreference.com, date: 2024.06.10, page: std::tan(std::valarray)(3) β byeee bestie, go tangent some arrays π
β¨π«Ά
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms