ECJ-INTEREST-L Archives

March 2014

ECJ-INTEREST-L@LISTSERV.GMU.EDU

Options: Use Monospaced Font
Show HTML Part by Default
Condense Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Content-Type:
multipart/alternative; boundary=047d7ba97a94d033f104f59a2d10
Sender:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Subject:
From:
Eric 'Siggy' Scott <[log in to unmask]>
Date:
Thu, 27 Mar 2014 13:47:29 -0400
In-Reply-To:
MIME-Version:
1.0
Reply-To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Parts/Attachments:
text/plain (1596 bytes) , text/html (2414 bytes)
If you go with BigDecimal, be aware that it breaks the
equals-hashcode-compareTo contract, in that "2.0" does not equal()
"2.00"<http://docs.oracle.com/javase/6/docs/api/java/math/BigDecimal.html#equals%28java.lang.Object%29>,
and they will almost always have different hashCodes, even though
compareTo() will tell you they are equal.

This can cause problems if you put BigDecimals in a Set or Map and expect
them to behave intuitively.

Siggy


On Thu, Mar 27, 2014 at 1:18 PM, Raymond Shpeley <[log in to unmask]>wrote:

> On Mon, 24 Mar 2014 19:30:39 -0700, Warren Henning
> <[log in to unmask]> wrote:
>
> >will Java's built-in BigDecimal class suffice, or do you need something
> >more specialized?
> >
>
> BigDecimal and BigInteger look like they would provide some rudimentary
> support. Oracle's documentation doesn't show too much in the way of
> functionality for typical experimental math support.  Compare ARPREC
> (http://crd-legacy.lbl.gov/~dhbailey/mpdist/) for example, from Bailey's
> page,
> which uses the Fourier transform for digits > 1000, PSLQ, etc. So, it's
> not just
> a matter of support for big numbers but performance tradeoffs and best
> practices.
>
> Anyway, without a Java library like ARPREC maybe I'll need to start with
> BigDecimal and BigInteger and add on the other tools I need as well as
> tweeking where needed. Maybe I could rely on GP to do the evaluation and
> use
> BigDecimal and BigInteger as primitives. It should even be cleaner that
> way.
>
> Thanks Warren for pointing out BigDecimal.
>



-- 

Ph.D student in Computer Science
George Mason University
http://mason.gmu.edu/~escott8/


ATOM RSS1 RSS2