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.

These functions shall compute the quotient and remainder of the division
of the numerator numer by the denominator
denom. If the division is inexact, the resulting quotient is
the long integer (for the ldiv() function) or
long long integer (for the lldiv() function) of lesser
magnitude that is the nearest to the algebraic quotient. If
the result cannot be represented, the behavior is undefined; otherwise,
quot * denom+rem shall equal
numer.

The ldiv() function shall return a structure of type ldiv_t,
comprising both the quotient and the remainder. The
structure shall include the following members, in any order:

long quot; /* Quotient */
long rem; /* Remainder */

The lldiv() function shall return a structure of type lldiv_t,
comprising both the quotient and the remainder. The
structure shall include the following members, in any order:

long long quot; /* Quotient */
long long rem; /* Remainder */

Portions of this text are reprinted and reproduced in electronic form
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
-- Portable Operating System Interface (POSIX), The Open Group Base
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group. In the
event of any discrepancy between this version and the original IEEE and
The Open Group Standard, the original IEEE and The Open Group Standard
is the referee document. The original Standard can be obtained online at
http://www.opengroup.org/unix/online.html .