Common mathematical functions | |||||||||||||||||||||||||||||||
Mathematical special functions(C++17) | |||||||||||||||||||||||||||||||
Mathematical constants(C++20) | |||||||||||||||||||||||||||||||
Basic linear algebra algorithms(C++26) | |||||||||||||||||||||||||||||||
Data-parallel types (SIMD)(C++26) | |||||||||||||||||||||||||||||||
Floating-point environment(C++11) | |||||||||||||||||||||||||||||||
Complex numbers | |||||||||||||||||||||||||||||||
Numeric array (valarray ) | |||||||||||||||||||||||||||||||
Pseudo-random number generation | |||||||||||||||||||||||||||||||
Bit manipulation(C++20) | |||||||||||||||||||||||||||||||
Saturation arithmetic(C++26) | |||||||||||||||||||||||||||||||
Factor operations | |||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||
Interpolations | |||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||
Generic numeric operations | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
C-style checked integer arithmetic | |||||||||||||||||||||||||||||||
|
Defined in header <valarray> | ||
template<class T> valarray<T> log(const valarray<T>& va); | ||
For each element inva computes natural logarithm of the value of the element.
Contents |
va | - | value array to apply the operation to |
Value array containing natural logarithms of the values inva.
Unqualified function (log) is used to perform the computation. If such function is not available,std::log is used due toargument-dependent lookup.
The function can be implemented with the return type different fromstd::valarray. In this case, the replacement type has the following properties:
template<class T>valarray<T> log(const valarray<T>& va){ valarray<T> other= va;for(T& i: other) i= log(i); return other;// proxy object may be returned} |
#include <iomanip>#include <iostream>#include <valarray> void show(charconst* title,conststd::valarray<double>& va){std::cout<< title<<" :"<<std::right<<std::fixed;for(double x: va)std::cout<<std::setw(10)<< x;std::cout<<'\n';} int main(){conststd::valarray<double> n{0.0,1.0,2.0,3.0};conststd::valarray<double> exp_n{std::exp(n)};conststd::valarray<double> log_exp_n{std::log(exp_n)}; show("n ", n); show("eⁿ ", exp_n); show("log(eⁿ)", log_exp_n);}
Output:
n : 0.000000 1.000000 2.000000 3.000000eⁿ : 1.000000 2.718282 7.389056 20.085537log(eⁿ) : 0.000000 1.000000 2.000000 3.000000
applies the functionstd::log10 to each element of valarray (function template)[edit] | |
applies the functionstd::exp to each element of valarray (function template)[edit] | |
(C++11)(C++11) | computes natural (basee) logarithm (\({\small\ln{x}}\)ln(x)) (function)[edit] |
complex natural logarithm with the branch cuts along the negative real axis (function template)[edit] |