# tgamma() method in C/C++ with Examples

• Last Updated : 04 Oct, 2021

The tgamma() function is defined in header math.h header in C and cmath library in C++. This function is used to compute the gamma function of an argument passed to the function.
Syntax:

```float tgamma(float x);
double tgamma(double x);
long double tgamma(long double x);  ```

Parameters: This method accepts a parameter x which is the value whose gamma function is to be computed. It can be float, double or long double.
Return Value: This function returns the gamma function value of x.

Take a step-up from those "Hello World" programs. Learn to implement data structures like Heap, Stacks, Linked List and many more! Check out our Data Structures in C course to start learning today.

• For x = 0: +inf/-inf
• For x = -inf: NAN
• For x = +inf: +inf
• For x = -ve: NAN
• For x = NAN: NAN

Errors: There are two types of errors that usually occur with tgamma() method:

1. Range errors:
• Overflow range error: This occurs when the magnitude of the parameter x is very large.
• Underflow range error: This occurs when the magnitude of the parameter x is very small.
2. Domain/Pole errors:
• If x is zero or a negative integer for which the function is asymptotic, it may cause a domain error or a pole error (or none, depending on implementation).

Below examples demonstrate the use of tgamma() function in C/C++:

## CPP

 `// C++ program to show the` `// use of tgamma() method`   `#include ` `#include ` `using` `namespace` `std;`   `// Driver code` `int` `main()` `{`   `    ``// Example 1` `    ``float` `x = 0.0;` `    ``cout << ``"For x = "` `<< x` `         ``<< ``", tgamma(x) = "` `         ``<< tgamma(x) << endl;`   `    ``// Example 2` `    ``x = -18.0 / 0.0;` `    ``cout << ``"For x = "` `<< x` `         ``<< ``", tgamma(x) = "` `         ``<< tgamma(x) << endl;`   `    ``// Example 3` `    ``x = 10.0 / 0.0;` `    ``cout << ``"For x = "` `<< x` `         ``<< ``", tgamma(x) = "` `         ``<< tgamma(x) << endl;`   `    ``// Example 4` `    ``x = 0.0 / 0.0;` `    ``cout << ``"For x = "` `<< x` `         ``<< ``", tgamma(x) = "` `         ``<< tgamma(x);`   `    ``return` `0;` `}`

Output:

```For x = 0, tgamma(x) = inf
For x = -inf, tgamma(x) = nan
For x = inf, tgamma(x) = inf
For x = -nan, tgamma(x) = -nan```

My Personal Notes arrow_drop_up
Recommended Articles
Page :