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

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 gammma function is to be computed. It can be float, double or long double.

Return Value: This function returns the gamma function value of x.

  • 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++:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to show the
// use of tgamma() method
  
#include <cmath>
#include <iostream>
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;
}

chevron_right


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

Reference: http://www.cplusplus.com/reference/cmath/tgamma/

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.