ceiling, floor, round, truncate  round a number
LIBRARY
(import (rnrs)) ;R6RS
(import (rnrs base)) ;R6RS
(import (scheme r5rs)) ;R7RS
(import (scheme base)) ;R7RS
(import (rnrs arithmetic flonums)) ;R6RS
SYNOPSIS
(ceiling x)
(floor x)
(round x)
(truncate x)
(flceiling fl)
(flfloor fl)
(flround fl)
(fltruncate fl)
DESCRIPTION
These procedures return inexact integer objects for inexact
arguments that are not infinities or NaNs, and exact integer
objects for exact rational arguments.
 ceiling

Returns the smallest integer object not smaller than
x.
 floor

Returns the largest integer object not larger than
x.
 round

Returns the closest integer object to
x,
rounding to even when
x
represents a number halfway between two integers.
 truncate

Returns the integer object closest to
x
whose absolute value is not larger
than the absolute value of
x.
If the argument to one of these procedures is inexact, then the result
is also inexact.
Although infinities and NaNs are not integer objects, these
procedures return an infinity when given an infinity as an
argument, and a NaN when given a NaN.
The flonum variants work as described above, but the argument and
return value is always a flonum.
RETURN VALUES
Returns a single number object that is an integer, an infinity or a
NaN.
EXAMPLES
(floor 4.3) => 5.0
(ceiling 4.3) => 4.0
(truncate 4.3) => 4.0
(round 4.3) => 4.0
(floor 3.5) => 3.0
(ceiling 3.5) => 4.0
(truncate 3.5) => 3.0
(round 3.5) => 4.0
(round 7/2) => 4
(round 7) => 7
(floor +inf.0) => +inf.0
(ceiling inf.0) => inf.0
(round +nan.0) => +nan.0
(flfloor +inf.0) => +inf.0
(flceiling inf.0) => inf.0
(fltruncate +nan.0) => +nan.0
RATIONALE
round(3scm)
rounds to even for consistency with the default rounding mode
specified by the IEEE 754 floatingpoint standard.
ERRORS
This procedure can raise exceptions with the following condition types:
 &assertion (R6RS)

The wrong number of arguments was passed or an argument was outside its domain.
 R7RS

The assertions described above are errors.
Implementations may signal an error, extend the procedure's
domain of definition to include such arguments,
or fail catastrophically.
SEE ALSO
rationalize(3scm),
divandmod(3scm),
exact(3scm)
STANDARDS
R4RS,
IEEE Scheme,
R5RS,
R6RS,
R7RS
HISTORY
These procedures first appeared in R2RS, which based them on similar
functions in Common Lisp. Note that the Common Lisp versions have a
second return value.
AUTHORS
This page is part of the
schememanpages
project.
It includes materials from the RnRS documents.
More information can be found at
https://github.com/schemedoc/manpages/
.
Markup created by unroff 1.0sc, March 04, 2023.