That's a wierd behviour, but it never produces incorrect results (it
throws an exception when it would).

the two-argument versions of + - * / get inlined to a static method
call. Either to a static method which accepts unboxed primitives or
one that accepts their boxed variants. The problem is that the
primitive versions return primitives and thus cannot overflow to
Bignums, so they throw an exception. This 'bug' is unsolvable for now
(until we get Fixnums on the JVM) without sacrificing the speed of
primitive math.

AlexK


On 5 Mai, 14:44, Sean Devlin <[email protected]> wrote:
> Yeah, I just reproduced this.  I think it's a bug.  Created Assembla
> ticket 339.  I've added some more test cases their too.
>
> Thanks!
> Sean
>
> On May 5, 3:15 am, alux <[email protected]> wrote:
>
>
>
> > Hello,
>
> > can somebody please explain the difference between the following two?
>
> > (def imax (Integer/MAX_VALUE))
> > (+ imax imax)
>
> > gives 4294967294
>
> > but
>
> > (+ (Integer/MAX_VALUE) (Integer/MAX_VALUE))
>
> > results in integer overflow
> >    [Thrown class java.lang.ArithmeticException]
>
> > Shouldnt this be the same?
>
> > Thank you, alux
>
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Clojure" group.
> > To post to this group, send email to [email protected]
> > Note that posts from new members are moderated - please be patient with 
> > your first post.
> > To unsubscribe from this group, send email to
> > [email protected]
> > For more options, visit this group 
> > athttp://groups.google.com/group/clojure?hl=en
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to [email protected]
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group 
> athttp://groups.google.com/group/clojure?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to