Open In App

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 of tgamma()

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

Parameters

x: The value whose gamma function is to be computed. It can be float, double or long double.



Return Value

Errors in tgamma() Function

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).

Example of tgamma Function

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






// C program to show the use of tgamma() method
#include <math.h>
#include <stdio.h>
 
int main()
{
 
    // Example 1
    float x = 0.0;
    printf("For x = %f, tgamma(x) = %f\n", x, tgamma(x));
 
    // Example 2
    x = -18.0 / 0.0;
    printf("For x = %f, tgamma(x) = %f\n", x, tgamma(x));
 
    // Example 3
    x = 10.0 / 0.0;
    printf("For x = %f, tgamma(x) = %f\n", x, tgamma(x));
 
    // Example 4
    x = 0.0 / 0.0;
    printf("For x = %f, tgamma(x) = %f", x, tgamma(x));
 
    return 0;
}




// 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;
}

Output

For x = 0.000000, tgamma(x) = inf
For x = -inf, tgamma(x) = nan
For x = inf, tgamma(x) = inf
For x = -nan, tgamma(x) = -nan

Article Tags :