# C++ Valarray Library - pow Function

#### Complete Python Prime Pack for 2023

9 Courses     2 eBooks

#### Artificial Intelligence & Machine Learning Prime Pack

6 Courses     1 eBooks

#### Java Prime Pack 2023

8 Courses     2 eBooks

## 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