C++ Valarray::cos Function



The C++ Valarray::cos() function calculates the cosine of each element's value in a valarray and returns a valarray that contains the cosines of all the elements. Each element receives a single call to this method, which overloads the cmath’s cos() function.

Syntax

Following is the syntax for C++ Valarray::cos Function −

cos (const valarray<T>& x);

Parameters

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

Examples

Example 1

Let's look into the following example, where we are going to use cos() function and retrieving the output.

#include <iostream>
#include <valarray>
using namespace std;

int main() {
	valarray<double>
	varr = { 0.1, 0.2, 0.3, 0.4, 0.5 };
	valarray<double> varr1;
	varr1 = cos(varr);
	
   cout << "The New cos "
      << " Valarray is : "
		<< endl;
	for (double& x : varr1) {
		cout << x << " ";
	}
	cout << endl;
	return 0;
}

Output

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

The New cos  Valarray is : 
0.995004 0.980067 0.955336 0.921061 0.877583

Example 2

Let's consider the following example, where we are going to use cos() function and retrieving the output along with multiplication result value of the cos().

#include <cmath>
#include <iomanip>
#include <iostream>
#include <valarray>

void show(const char* title, const std::valarray<float>& data) {
   const int w { 8};
   std::cout << std::setw(w) << title << " | ";
   
   for (float a : data)
      std::cout << std::setw(w) << a << " | ";
   std::cout << '\n';
}
int main() {
   const std::valarray<float> a { .1, .2, .3, .4 };
   const auto cos = std::cos(a);
   const auto Multiply = (cos * cos);
   show("a", a);
   show("cos(a)", cos);
   show("Multiply(cos * cos)", Multiply );
}

Output

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

   a                |      0.1 |      0.2 |      0.3 |      0.4 | 
  cos(a)            | 0.995004 | 0.980067 | 0.955337 | 0.921061 | 
Multiply(cos * cos) | 0.990033 | 0.960531 | 0.912668 | 0.848353 | 

Example 3

In the following example, we are going to use cos() function and retrieving the output of both original valarray and cos() valarray.

#include <iostream>
#include <valarray>
using namespace std;

int main() {
   valarray<double> myvalarray = { 0.6, -0.5, -0.4, -1 };
   cout << "The Orignal Valarray is : ";
   
   for (double& ele : myvalarray)
      cout << ele << " ";
   valarray<double> cosvalarray = cos(myvalarray);
   cout << "\nThe cos Valarray is: ";
   
   for (double& ele : cosvalarray)
      cout << ele << " ";
   return 0;
}

Output

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

The Orignal Valarray is : 0.6 -0.5 -0.4 -1 
The cos Valarray is: 0.825336 0.877583 0.921061 0.540302

Example 4

Following is the another example, where we are going to use cos() with integral type and retrieving the output.

#include <iostream>
#include <cmath>
using namespace std;

int main() {
   int a = 142;
   double result;
   result = cos(a);
   cout << "cos(a) = " << result << endl;
   return 0;
}

Output

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

cos(a) = -0.80901
Advertisements