[racket] Fwd: typo in signatures?

From: Neil Toronto (neil.toronto at gmail.com)
Date: Mon Oct 3 13:15:17 EDT 2011

The "...+" means "takes at least one argument".

 > (+)
0
 > (max)
max: expects at least 1 argument, given 0
 >

I think the preferred way to check for inexact equality is to compare 
the absolute difference with a small tolerance, like you were looking for.

(require rackunit)

(define (inexact=? a b epsilon)
   ((abs (- a b)) . < . epsilon))

(check-false (inexact=? 1 2 0.1))
(check-true (inexact=? 1 1.05 0.1))


There are more sophisticated ways to do this, but they're harder to 
understand and I've never seen them implemented in a math library.

Neil T

On 10/03/2011 10:55 AM, John Riedl wrote:
> In section 3.2.2 of the online Racket documentation a number of the
> signatures of the functions end with "+", e.g.,:
>
> (max x ...+) → real?
>
> Most signatures do not have the +, including those that take an
> arbitrary number of arguments, e.g.,:
>
> (+ z ...) → number?
>
> Do the plus signs mean anything, or are they just typos?
>
> (The reason I was looking is to see if there is a version of equal?
> that takes a tolerance, like check-=? from rackunit.  What is the
> preferred way to check equality for inexact numbers?)
>
> Thanks!
> John
>
> _________________________________________________
>    For list-related administrative tasks:
>    http://lists.racket-lang.org/listinfo/users



Posted on the users mailing list.