Nyquist / XLISP 2.0 -
Contents |
Tutorials |
Examples |
Reference
round
Type: |
- |
Lisp function (closure) |
Source: |
- |
fileio.lsp |
Syntax
- (round number)
- number - an integer or floating point numbers
returns - the number, rounded to the next integer value
In Nyquist, 'round' is implemented as a Lisp function:
(defun round (x)
(cond ((> x 0) (truncate (+ x 0.5)))
((= (- x 0.5) (truncate (- x 0.5))) (truncate x))
(t (truncate (- x 0.5)))))
Description
The 'round' function rounds a number to the next integer value. This is
tricky because truncate rounds toward zero as
does C in other words, rounding is down for positive numbers
and up for negative numbers. You can convert rounding up to
rounding down by subtracting one, but this fails on the integers, so we need
a special test if (- x 0.5) is an integer.
Examples
(round .5) => 1
(round -.5) => 0
Back to Top
Nyquist / XLISP 2.0 -
Contents |
Tutorials |
Examples |
Reference