hypot() prototype
double hypot(double x, double y); float hypot(float x, float y); long double hypot(long double x, long double y); Promoted pow(Type1 x, Type2 y); double hypot(double x, double y, double x); // (since C++17) float hypot(float x, float y, float z); // (since C++17) long double hypot(long double x, long double y, long double z); // (since C++17) Promoted pow(Type1 x, Type2 y, Type2 y); // (since C++17)
Since C++11, if any argument passed to hypot() is long double
, the return type Promoted is long double
. If not, the return type Promoted is double
.
h = √(x2+y2
in mathematics is equivalent to
h = hypot(x, y);
in C++ Programming.
If three arguments are passed:
h = √(x2+y2+z2))
in mathematics is equivalent to
h = hypot(x, y);
in C++ Programming.
This function is defined in <cmath> header file.
hypot() Parameters
The hytpot() takes either 2 or 3 parameters of integral or floating-point type.
hypot() Return Value
The hypot() returns:
- the hypotenuse of a right-angled triangle if two arguments are passed, i. e.
√(x2+y2)
. - distance from the origin to to the (x, y, x) if three arguments are passed, i.e,
√(x2+y2+z2)
.
Example 1: How hypot() works in C++?
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double x = 2.1, y = 3.1, result;
result = hypot(x, y);
cout << "hypot(x, y) = " << result << endl;
long double yLD, resultLD;
x = 3.52;
yLD = 5.232342323;
// hypot() returns long double in this case
resultLD = hypot(x, yLD);
cout << "hypot(x, yLD) = " << resultLD;
return 0;
}
When you run the program, the output will be:
hypot(x, y) = 3.74433 hypot(x, yLD) = 6.30617
Example 2: hypot() with Three Arguments
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double x = 2.1, y = 3.1, z = 23.3, result;
result = hypot(x, y, z);
cout << "hypot(x, y, z) = " << result << endl;
return 0;
}
Note: This program will only run in new compilers that supports C++17.