# C++ Valarray Library - sqrt Function

## Description

It returns a valarray containing the square root of all the elements of x, in the same order.

## Declaration

Following is the declaration for std::sqrt function.

```template<class T> valarray<T> sqrt (const valarray<T>& x);
```

### C++11

```template<class T> valarray<T> sqrt (const valarray<T>& x);
```

## Parameters

x − It is containing elements of a type for which the unary function abs is defined.

## Return Value

It returns a valarray containing the square root of all the elements of x, in the same order.

## 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::sqrt function.

```#include <iostream>
#include <cstddef>
#include <cmath>
#include <valarray>

int main () {
double val[] = {5, 25.0, 100.0};
std::valarray<double> foo (val,3);

std::valarray<double> bar = sqrt (foo);

std::cout << "foo:";
for (std::size_t i=0; i<foo.size(); ++i)
std::cout << ' ' << foo[i];
std::cout << '\n';

std::cout << "bar:";
for (std::size_t i=0; i<bar.size(); ++i)
std::cout << ' ' << bar[i];
std::cout << '\n';

return 0;
}
```

Let us compile and run the above program, this will produce the following result −

```foo: 5 25 100
bar: 2.23607 5 10
```
valarray.htm