Content-Transfer-Encoding: |
8bit |
Sender: |
|
Subject: |
|
From: |
|
Date: |
Mon, 17 Feb 2014 13:55:47 -0500 |
MIME-version: |
1.0 (Mac OS X Mail 7.1 \(1827\)) |
Content-type: |
text/plain; charset=us-ascii |
Reply-To: |
|
Parts/Attachments: |
|
|
Inspired by Raymond's discovery, I decided to pull the trigger and perform the long-awaited upgrade of all floats to doubles in Fitness classes. This entailed:
- Changing floats to doubles
- Changing various FLOAT.. to DOUBLE..
- Changing float literals (0.0f, etc.) to double just in case
- Removing unnecessary casts
- Slight tweaks to the documentation
This will be *sort* of non-backward compatible: you'll want to modify your applications so that you don't cast stuff to floats before setting the fitness or else you'll lose out on the extra expressivity.
It was a lot of by-hand refactoring and I'm sure I messed something up. I'm a bit spooked about committing it, and haven't done so, unless I can get a few people to do some testing for me. Here's the classes which were affected. Can anyone volunteer for me?
Sean
FITNESS METHODS
ec/Fitness.java
ec/simple/SimpleFitness.java
ec/gp/koza/KozaFitness.java
ec/multiobjective/MultiObjectiveFitness.java
SELECTION METHODS
ec/select/BestSelection.java
ec/select/BoltzmannSelection.java
ec/select/FitProportionateSelection.java
ec/select/GreedyOverselection.java
ec/select/SUSSelection.java
ec/select/SigmaScalingSelection.java
ec/select/TournamentSelection.java
STATISTICS
ec/multiobjective/MultiObjectiveStatistics.java
APPLICATION EXAMPLES
ec/app/ant/Ant.java
ec/app/bbob/BBOBenchmarks.java
ec/app/coevolve1/CompetitiveMaxOnes.java
ec/app/coevolve2/CoevolutionaryECSuite.java
ec/app/ecsuite/ECSuite.java
ec/app/edge/Edge.java
ec/app/gpsemantics/Semantic.java
ec/app/hiff/HIFF.java
ec/app/klandscapes/KLandscapes.java
ec/app/lawnmower/Lawnmower.java
ec/app/lid/Lid.java
ec/app/majority/MajorityGA.java
ec/app/majority/MajorityGP.java
ec/app/mona/Mona.java
ec/app/moosuite/MooSuite.java
ec/app/multiplexer/Multiplexer.java
ec/app/multiplexerslow/Multiplexer.java
ec/app/nk/NK.java
ec/app/ordertree/OrderTree.java
ec/app/parity/Parity.java
ec/app/push/Regression.java
ec/app/regression/Benchmarks.java
ec/app/regression/Regression.java
ec/app/regression/func/RegERC.java
ec/app/royaltree/RoyalTree.java
ec/app/sat/SAT.java
ec/app/sum/Sum.java
ec/app/tutorial1/MaxOnes.java
ec/app/tutorial2/AddSubtract.java
ec/app/tutorial3/OddRosenbrock.java
ec/app/tutorial4/MultiValuedRegression.java
ec/app/twobox/TwoBox.java
|
|
|