- The C Standard Library
- The C Standard Library
- The C++ Standard Library
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ Valarray Library - pow Function
Description
It returns a valarray containing the results of the power operation on all the elements, in the same order. The results calculated are x raised to the power y (xy).
Declaration
Following is the declaration for std::pow function.
template<class T> valarray<T> log10 (const valarray<T>& x);
C++11
template<class T> valarray<T> log10 (const valarray<T>& x);
Parameters
x − It is containing elements of a type for which the unary function abs is defined.
y − It is a valarray element with the exponents for the power operations.
Return Value
It returns a valarray containing the results of the power operation on all the elements, in the same order. The results calculated are x raised to the power y (xy).
Exceptions
Basic guarantee − if any operation performed on the elements throws an exception.
Data races
All elements effectively copied are accessed.
Example
In below example explains about std::pow function.
#include <iostream> #include <cstddef> #include <cmath> #include <valarray> int main () { std::valarray<double> val (10); std::valarray<double> results; for (int i=0; i<10; ++i) val[i]=i+1; std::cout << "val:"; for (std::size_t i=0; i<val.size(); ++i) std::cout << ' ' << val[i]; std::cout << '\n'; results = std::pow (val,val); std::cout << "val^val:"; for (std::size_t i=0; i<results.size(); ++i) std::cout << ' ' << results[i]; std::cout << '\n'; results = std::pow (val,2.0); std::cout << "val^2:"; for (std::size_t i=0; i<results.size(); ++i) std::cout << ' ' << results[i]; std::cout << '\n'; results = std::pow (2.0,val); std::cout << "2^val:"; for (std::size_t i=0; i<results.size(); ++i) std::cout << ' ' << results[i]; std::cout << '\n'; return 0; }
Let us compile and run the above program, this will produce the following result −
val: 1 2 3 4 5 6 7 8 9 10 val^val: 1 4 27 256 3125 46656 823543 1.67772e+07 3.8742e+08 1e+10 val^2: 1 4 9 16 25 36 49 64 81 100 2^val: 2 4 8 16 32 64 128 256 512 1024