These functions are provided for obtaining the absolute value (or
magnitude) of a number. The absolute value of a real number
x is x if x is positive, −x if x is
negative. For a complex number z, whose real part is x and
whose imaginary part is y, the absolute value is sqrt (x*x + y*y)
.
Prototypes for abs
, labs
and llabs
are in stdlib.h;
imaxabs
is declared in inttypes.h;
the fabs
functions are declared in math.h;
the cabs
functions are declared in complex.h.
int
abs (int number)
¶long int
labs (long int number)
¶long long int
llabs (long long int number)
¶intmax_t
imaxabs (intmax_t number)
¶Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.
These functions return the absolute value of number.
Most computers use a two’s complement integer representation, in which
the absolute value of INT_MIN
(the smallest possible int
)
cannot be represented; thus, abs (INT_MIN)
is not defined.
llabs
and imaxdiv
are new to ISO C99.
See Integers for a description of the intmax_t
type.
double
fabs (double number)
¶float
fabsf (float number)
¶long double
fabsl (long double number)
¶_FloatN
fabsfN (_FloatN number)
¶_FloatNx
fabsfNx (_FloatNx number)
¶Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.
This function returns the absolute value of the floating-point number number.
double
cabs (complex double z)
¶float
cabsf (complex float z)
¶long double
cabsl (complex long double z)
¶_FloatN
cabsfN (complex _FloatN z)
¶_FloatNx
cabsfNx (complex _FloatNx z)
¶Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.
These functions return the absolute value of the complex number z (see Complex Numbers). The absolute value of a complex number is:
sqrt (creal (z) * creal (z) + cimag (z) * cimag (z))
This function should always be used instead of the direct formula
because it takes special care to avoid losing precision. It may also
take advantage of hardware support for this operation. See hypot
in Exponentiation and Logarithms.