C++ Valarray::asin Function



The C++ Valarray::asin()function generates a valarray holding the values of all the elements and computes the arc sine of each element's value.

The C++ asin() function returns the inverse sine of a radian-based integer. The asin() function of cmath is overloaded, and it is used once for each element.

Syntax

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

asin (const valarray<T>& x);

Parameters

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

Examples

Example 1

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

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

int main() {
   valarray<double>
   varr = {  1.6, -0.5, 0, -1 };
   valarray<double> varr1;
   varr1 = asin(varr);
   
   cout << "The asin Valarray "
      << "Values : "
      << 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 asin Valarray Values : 
nan -0.523599 0 -1.5708 

Example 2

Following is the another example, where we are going to use the asin() function and retrieving the output with comparison of original and asin Valarray.

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

int main() {
   valarray<int> myvalarr = { 10, 22, 33, 46, 28 };
   cout << "The Orignal Valarray : ";
   
   for (int& ele : myvalarr)
      cout << ele << " ";
   valarray<int> asinvalarray = asin(myvalarr);
   cout << "\nThe asin Valarray  : ";
   
   for (int& ele : asinvalarray)
      cout << ele << " ";
   return 0;
}

Output

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

The Orignal Valarray : 10 22 33 46 28 
The asin Valarray  : -2147483648 -2147483648 -2147483648 -2147483648 -2147483648 

Example 3

Considering the another scenario, where we are going to use the asin() function with integral type and retrieving the output in radians, degrees.

#include <iostream>
#include <cmath>
#define PI 3.141592654
using namespace std;

int main() {
   int x = 1.6;
   double result;
   result = asin(x);
   cout << "asin(x) = " << result << " radians" << endl;
   cout << "asin(x1) = " << result*180/PI << " degrees";
   return 0;
}

Output

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

asin(x) = 1.5708 radians
asin(x1) = 90 degrees
Advertisements