HPlogo HP-UX Reference > T

tgamma(3M)

Itanium(R)-based System Only
HP-UX 11i Version 2: December 2007 Update
» 

Technical documentation

 » Table of Contents

 » Index

NAME

tgamma(), tgammaf(), tgammal(), tgammaw(), tgammaq() — true gamma functions

SYNOPSIS

#include <math.h>

double tgamma(double x);

float tgammaf(float x);

long double tgammal(long double x);

extended tgammaw(extended x);

quad tgammaq(quad x);

DESCRIPTION

The tgamma() function computes the true gamma function of x.

In contrast, the lgamma(), lgamma_r(), and gamma() functions compute the log of gamma.

tgammaf() is a float version of tgamma(); it takes a float argument and returns a float result.

tgammal() is a long double version of tgamma(); it takes a long double argument and returns a long double result.

tgammaw() is an extended version of tgamma(); it takes an extended argument and returns an extended result.

tgammaq() is equivalent to tgammal() on HP-UX systems.

USAGE

To use these functions compile either with the default -Ae option or with the -Aa and -D_HPUX_SOURCE options.

To use tgammaw() or tgammaq(), compile also with the -fpwidetypes option.

To use any of these functions, make sure your program includes <math.h>, and link in the math library by specifying -lm on the compiler or linker command line.

For more information, see the HP-UX Floating-Point Guide.

RETURN VALUE

If x equals ±0, tgamma() returns ±INFINITY, and raises the divide-by-zero exception.

If x is a negative integer, tgamma() returns a NaN and raises the invalid exception.

If x equals -INFINITY, tgamma() returns a NaN and raises the invalid exception.

If x equals +INFINITY, tgamma() returns +INFINITY.

If x is NaN, tgamma() returns NaN.

tgamma() returns infinity (equal to HUGE_VAL) in lieu of a value whose magnitude is too large, and raises the overflow and inexact exceptions.

tgamma() raises the inexact exception whenever a rounded result does not equal the mathematical result.

ERRORS

If x is a negative integer, tgamma() sets errno to [EDOM].

HP-UX libm functions on Itanium-based systems do not set errno by default. For errno setting, compile with the +Olibmerrno option.

STANDARDS CONFORMANCE

tgamma(), tgammaf(), tgammal() : ISO/IEC C99 (including Annex F, ``IEC 60559 floating-point arithmetic'')