logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface

Application Usage

       On error, the expressions (math_errhandling & MATH_ERRNO) and  (math_errhandling  &  MATH_ERREXCEPT)  are
       independent of each other, but at least one of them must be non-zero.

Description

       The  functionality  described  on  this  reference  page is aligned with the ISO C standard. Any conflict
       between the requirements described  here  and  the  ISO C  standard  is  unintentional.  This  volume  of
       POSIX.1‐2017 defers to the ISO C standard.

--

Errors

       These functions shall fail if:

       Pole Error  The x argument is a negative integer or zero.

                   If the integer expression (math_errhandling & MATH_ERRNO) is non-zero, then  errno  shall  be
                   set  to [ERANGE].  If the integer expression (math_errhandling & MATH_ERREXCEPT) is non-zero,
                   then the divide-by-zero floating-point exception shall be raised.

       Range Error The result overflows.

                   If the integer expression (math_errhandling & MATH_ERRNO) is non-zero, then  errno  shall  be
                   set  to [ERANGE].  If the integer expression (math_errhandling & MATH_ERREXCEPT) is non-zero,
                   then the overflow floating-point exception shall be raised.

       Thefollowingsectionsareinformative.

Examples

       None.

Future Directions

       None.

Name

       lgamma, lgammaf, lgammal, signgam — log gamma function

Prolog

       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of this interface
       may differ (consult the corresponding Linux manual page for details of Linux behavior), or the  interface
       may not be implemented on Linux.

Rationale

       None.

Return Value

       Upon successful completion, these functions shall return the logarithmic gamma of x.

       If x is a non-positive integer, a pole error shall occur and lgamma(),  lgammaf(),  and  lgammal()  shall
       return +HUGE_VAL, +HUGE_VALF, and +HUGE_VALL, respectively.

       If  the  correct  value  would  cause  overflow,  a  range error shall occur and lgamma(), lgammaf(), and
       lgammal() shall return ±HUGE_VAL, ±HUGE_VALF, and ±HUGE_VALL (having the same sign as the correct value),
       respectively.

       If x is NaN, a NaN shall be returned.

       If x is 1 or 2, +0 shall be returned.

       If x is ±Inf, +Inf shall be returned.

See Also

exp(), feclearexcept(), fetestexcept(), isnan()

       The Base Definitions volume of POSIX.1‐2017, Section4.20, TreatmentofErrorConditionsforMathematicalFunctions, <math.h>

Synopsis

       #include <math.h>

       double lgamma(double x);
       float lgammaf(float x);
       long double lgammal(long double x);
       extern int signgam;

See Also