When this doesn't work:

(=
  (+ Integer/MAX_VALUE Integer/MAX_VALUE)
  (+ Integer/MAX_VALUE Integer/MAX_VALUE 0))

You have a bug.

On May 5, 9:38 am, AlexK <alexander.konstanti...@informatik.haw-
hamburg.de> wrote:
> 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 <francoisdev...@gmail.com> 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 <alu...@googlemail.com> 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 clojure@googlegroups.com
> > > Note that posts from new members are moderated - please be patient with 
> > > your first post.
> > > To unsubscribe from this group, send email to
> > > clojure+unsubscr...@googlegroups.com
> > > 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 clojure@googlegroups.com
> > Note that posts from new members are moderated - please be patient with 
> > your first post.
> > To unsubscribe from this group, send email to
> > clojure+unsubscr...@googlegroups.com
> > 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 clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> 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 clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to