C++ valarray pow 函数模板
-
定义和用法
template<class T> valarray<T> pow (const valarray<T>& x, const valarray<T>& y);
template<class T> valarray<T> pow (const valarray<T>& x, const T& y);
template<class T> valarray<T> pow (const T& x, const valarray<T>& y);
std::pow valarray元素的x的y方,返回一个valarray,其中包含对所有元素以相同顺序进行幂运算的结果。 将计算出的结果x提高到幂y(xy)。该函数对x和y中的每个元素调用一次pow(不限定)。 如果任何一个是单个T值,它将用于所有呼叫。此函数会使cmath的pow 重写。 -
参数
参数 描述 x valarray或具有幂运算底数的元素。 y valarray或具有幂运算指数的元素。 如果两个参数都是valarray对象,并且它们的大小不匹配,则该行为是不确定的。
-
返回值
一个x值为y的幂的valarray对象。 -
示例
尝试一下// pow valarray example #include <iostream> // std::cout #include <cstddef> // std::size_t #include <cmath> // std::pow #include <valarray> // std::valarray, std::pow int main () { std::valarray<double> val (5); std::valarray<double> results; for (int i=0; i<5; ++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; }
输出val: 1 2 3 4 5 val^val: 1 4 27 256 3125 val^2: 1 4 9 16 25 2^val: 2 4 8 16 32
-