# [racket-dev] Racket Questions?

 From: Michael Wilber (mwilber at uccs.edu) Date: Sat Sep 15 14:45:38 EDT 2012 Previous message: [racket-dev] Racket Questions? Next message: [racket-dev] Racket Questions? Messages sorted by: [date] [thread] [subject] [author]

```For the record, I've always just defined my own modulo when I need it
for floats:

; A modulo operator for floats!
(define (float-modulo p q)
(- p (* q (truncate (/ p q)))))

It doesn't properly handle negative numbers though.

David Van Horn <dvanhorn at ccs.neu.edu> writes:
> On 9/14/12 3:36 PM, Becca MacKenzie wrote:
>> Hello!
>> So a friend of mine just started learning Racket and was wondering if
>> there's a particular reason why the modulo function in racket only takes
>> in integers? He wrote his own mod function to take in other things but
>> he was just wondering what the reasoning is behind this.
>
> Hi Becca,
>
> Excellent question -- I hope you don't mind that I've forwarded it to
> the Racket developers list for a more authoritative answer (and
> potentially a change to Racket).
>
> I don't believe there's any principled reason not to extend `modulo' to
> other kinds of numbers such as rationals and (exact) complex numbers.  I
> worry that the idea of modulo may not be well defined for inexact
> numbers, but I could be wrong (inexact numbers don't obey a lot of the
> usual mathematical properties we're used to).  I see that in
> Mathematica, "the arguments of Mod can be any numeric quantities, not
> necessarily integers".  Here are some examples:
>
>     http://reference.wolfram.com/mathematica/ref/Mod.html#6881
>
> Recently, Racket's GCD and LCM were extended to work on non-integer
> arguments, and I believe this is a similar case where the function could
> (and should?) be extended to work for more kinds of numbers.  But I'm
> interested to hear what the dev list has to say on the matter.
>
> David
>
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev
```

 Posted on the dev mailing list. Previous message: [racket-dev] Racket Questions? Next message: [racket-dev] Racket Questions? Messages sorted by: [date] [thread] [subject] [author]