COHERENT manpages
This page displays the COHERENT manpage for ldiv() [Perform long integer division].
List of available manpages
Index
ldiv() -- General Function (libc) Perform long integer division #include <stdlib.h> ldiv_t ldiv(numerator, denominator) long numerator, denominator; ldiv() divides numerator by denominator. It returns a structure of the type ldiv_t, which is structured as follows: typedef struct { long quot; long rem; } ldiv_t; ldiv() writes the quotient into quot and the remainder into rem. The sign of the quotient is positive if the signs of the arguments are the same; it is negative if the signs of the arguments differ. The sign of the remainder is the same as the sign of the numerator. If the remainder is non-zero, the magnitude of the quotient is the largest integer less than the magnitude of the algebraic quotient. This is not guaranteed by the operators / and %, which merely do what the machine implements for divide. See Also libc ANSI Standard, §7.10.6.4 Notes The ANSI Standard includes this function to permit a useful feature found in most versions of FORTRAN, where the sign of the remainder will be the same as the sign of the numerator. Also, on most machines, division produces a remainder. This allows a quotient and remainder to be returned from one machine-divide operation. If the result of division cannot be represented (e.g., because denominator is set to zero), the behavior of ldiv() is undefined. Caveat utilitor.