This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of NAD status.
Section: 28.7 [c.math] Status: NAD Submitter: Beman Dawes Opened: 2006-06-15 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [c.math].
View all issues with NAD status.
Discussion:
There is no div() function for unsigned integer types.
There are several possible resolutions. The simplest one is noted below. Other possibilities include a templated solution.
Proposed resolution:
Add to 26.7 [lib.c.math] paragraph 8:
struct udiv_t div(unsigned, unsigned); struct uldiv_t div(unsigned long, unsigned long); struct ulldiv_t div(unsigned long long, unsigned long long);
Rationale:
Toronto: C99 does not have these unsigned versions because the signed version exist just to define the implementation-defined behavior of signed integer division. Unsigned integer division has no implementation-defined behavior and thus does not need this treatment.