This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Ticket 302: Editorial: Consider unpacking the integer division routines

2012-10-07 12:24:08
WG1 - Core
cowan
major
cowan
wontfix
source
closed
2011-10-20 12:45:49
defect

From Denis Washington:

I think it would be much clearer and easier to phrase if the .../, ...-quotient, and ...-remainder procedures were described separately.

A proposal:

(floor/ n1 n2) division library procedure (ceiling/ n1 n2) division library procedure (centered/ n1 n2) division library procedure (truncate/ n1 n2) division library procedure (round/ n1 n2) division library procedure (ceiling/ n1 n2) division library procedure

It is an error if n2 is zero. These procedures implement number-theoretic integer division, that is, they compute a quotient nq and a remainder nr such that n1 = n2nq + nr. Both nq and nr are returned (in that order). How nq is chosen depends on the concrete procedure:

floor/ floor(n1/n2) ... (floor-quotient n1 n2) division library procedure (ceiling-quotient n1 n2) division library procedure (centered-quotient n1 n2) division library procedure (truncate-quotient n1 n2) division library procedure (round-quotient n1 n2) division library procedure (ceiling-quotient n1 n2) division library procedure

These procedures each return the quotient of (<operator>/ n1 n2), where <operator> is the respective procedure's name prefix that corresponds to the matching division procedure in the division library.

(floor-quotient n1 n2) division library procedure (ceiling-quotient n1 n2) division library procedure (centered-quotient n1 n2) division library procedure (truncate-quotient n1 n2) division library procedure (round-quotient n1 n2) division library procedure (ceiling-quotient n1 n2) division library procedure

These procedures each return the remainder of (<operator>/ n1 n2), where <operator> is the respective procedure's name prefix that corresponds to the matching division procedure in the the division library.

resolution␣␣
statusnewdecided

Postponed until we decide whether to cut back the division library.

owneralexshinncowan
statusdecidedwriting

We have cut division back to only 6 procedures, so this no longer looks necessary.

resolution␣wontfix
statuswritingclosed