# valarray log() function in C++

• Last Updated : 24 Oct, 2018

The log() function is defined in valarray header file. This function is used to calculate natural logarithm of the value of the elements in valarray.
Syntax:

```log(varr);
```

Parameter: This function takes a mandatory parameter varr which represents valarray.

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

Returns: This function returns a valarray containing the natural logarithm of all the elements.

Below programs illustrate the above function:

Example 1:-

 `// C++ program to demonstrate``// example of log() function.`` ` `#include``using` `namespace` `std; ``int` `main() ``{ ``    ``// Initializing valarray ``    ``valarray<``double``>`` ``varr = { 1, 2, 3, 4, 5 }; ``       ` `    ``// Declaring new valarray ``    ``valarray<``double``> varr1 ; ``       ` `    ``// use of log() function ``    ``varr1 = ``log``(varr); ``       ` `    ``// Displaying new elements value``    ``cout << ``"The new valarray with"``         ``<< ``" manipulated values is : "``         ``<< endl;`` ` `    ``for` `(``double``& x : varr1) {``        ``cout << x << ``" "``;``    ``}`` ` `    ``cout << endl;`` ` `    ``return` `0;``} `
Output:
```The new valarray with manipulated values is :
0 0.693147 1.09861 1.38629 1.60944
```

Example 2:-

 `// C++ program to demonstrate``// example of log() function.`` ` `#include``using` `namespace` `std; ``int` `main() ``{ ``    ``// Initializing valarray ``    ``valarray<``double``>`` ``varr = { -1, 6, 3, 45, 5 }; ``       ` `    ``// Declaring new valarray ``    ``valarray<``double``> varr1 ; ``       ` `    ``// use of log() function ``    ``varr1 = ``log``(varr); ``       ` `    ``// Displaying new elements value``    ``cout << ``"The new valarray with"``         ``<< ``" manipulated values is : "``         ``<< endl;`` ` `    ``for` `(``double``& x : varr1) {``        ``cout << x << ``" "``;``    ``}`` ` `    ``cout << endl;`` ` `    ``return` `0;``} `
Output:
```The new valarray with manipulated values is :
nan 1.79176 1.09861 3.80666 1.60944
```

My Personal Notes arrow_drop_up