C++ Valarray Library - pow Function


Advertisements

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
valarray.htm
Advertisements