Skip to content

Commit 2f88af8

Browse files
committed
fix issue with max_scale_index where the max index should be inclusive
rename MatrixGenotype max_index to max_index_excl for clarity fix issue with nqueens examples where the max_index is exclusive, no need for -1, rename to genes_size for clarity
1 parent 3007654 commit 2f88af8

13 files changed

+26
-26
lines changed

examples/evolve_nqueens.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ impl Fitness for NQueensFitness {
1111
_genotype: &FitnessGenotype<Self>,
1212
) -> Option<FitnessValue> {
1313
let mut score = 0;
14-
let max_index = chromosome.genes.len() - 1;
15-
for i in 0..max_index {
16-
for j in 0..max_index {
14+
let genes_size = chromosome.genes.len();
15+
for i in 0..genes_size {
16+
for j in 0..genes_size {
1717
if i != j {
1818
let dx = i.abs_diff(j);
1919
let dy = chromosome.genes[i].abs_diff(chromosome.genes[j]) as usize;

examples/evolve_range_float.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ fn main() {
3535
-0.01..=0.01,
3636
-0.001..=0.001,
3737
-0.0001..=0.0001,
38-
-0.00001..=0.0001,
38+
-0.00001..=0.00001,
3939
])
4040
.build()
4141
.unwrap();

examples/hill_climb_nqueens.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ impl Fitness for NQueensFitness {
1111
_genotype: &FitnessGenotype<Self>,
1212
) -> Option<FitnessValue> {
1313
let mut score = 0;
14-
let max_index = chromosome.genes.len() - 1;
15-
for i in 0..max_index {
16-
for j in 0..max_index {
14+
let genes_size = chromosome.genes.len();
15+
for i in 0..genes_size {
16+
for j in 0..genes_size {
1717
if i != j {
1818
let dx = i.abs_diff(j);
1919
let dy = chromosome.genes[i].abs_diff(chromosome.genes[j]) as usize;

examples/hill_climb_range.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ fn main() {
3232
-0.01..=0.01,
3333
-0.001..=0.001,
3434
-0.0001..=0.0001,
35-
-0.00001..=0.0001,
35+
-0.00001..=0.00001,
3636
])
3737
.build()
3838
.unwrap();

examples/permutate_range.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ fn main() {
3030
-0.01..=0.01,
3131
-0.001..=0.001,
3232
-0.0001..=0.0001,
33-
-0.00001..=0.0001,
33+
-0.00001..=0.00001,
3434
])
3535
.build()
3636
.unwrap();

examples/profile_evolve_nqueens.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ impl Fitness for NQueensFitness {
1515
_genotype: &FitnessGenotype<Self>,
1616
) -> Option<FitnessValue> {
1717
let mut score = 0;
18-
let max_index = chromosome.genes.len() - 1;
19-
for i in 0..max_index {
20-
for j in 0..max_index {
18+
let genes_size = chromosome.genes.len();
19+
for i in 0..genes_size {
20+
for j in 0..genes_size {
2121
if i != j {
2222
let dx = i.abs_diff(j);
2323
let dy = chromosome.genes[i].abs_diff(chromosome.genes[j]) as usize;

examples/profile_hill_climb_nqueens.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ impl Fitness for NQueensFitness {
1515
_genotype: &FitnessGenotype<Self>,
1616
) -> Option<FitnessValue> {
1717
let mut score = 0;
18-
let max_index = chromosome.genes.len() - 1;
19-
for i in 0..max_index {
20-
for j in 0..max_index {
18+
let genes_size = chromosome.genes.len();
19+
for i in 0..genes_size {
20+
for j in 0..genes_size {
2121
if i != j {
2222
let dx = i.abs_diff(j);
2323
let dy = chromosome.genes[i].abs_diff(chromosome.genes[j]) as usize;

src/genotype/dynamic_matrix.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -282,13 +282,13 @@ where
282282
Bound::Excluded(&i) => i + 1,
283283
}
284284
.max(0);
285-
let max_index = match range.end_bound() {
285+
let max_index_excl = match range.end_bound() {
286286
Bound::Unbounded => self.genes_size,
287287
Bound::Included(&i) => i + 1,
288288
Bound::Excluded(&i) => i,
289289
}
290290
.min(self.genes_size);
291-
(min_index..max_index, min_index..max_index)
291+
(min_index..max_index_excl, min_index..max_index_excl)
292292
}
293293
}
294294

src/genotype/multi_range.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -612,7 +612,7 @@ where
612612
fn chromosome_permutations_size(&self) -> BigUint {
613613
if self.seed_genes_list.is_empty() {
614614
match self.mutation_type {
615-
MutationType::Scaled => (0..self.max_scale_index().unwrap())
615+
MutationType::Scaled => (0..=self.max_scale_index().unwrap())
616616
.map(|scale_index| self.chromosome_permutations_size_scaled(scale_index))
617617
.sum(),
618618
MutationType::Relative => {
@@ -856,7 +856,7 @@ where
856856
writeln!(f, " mutation_type: {:?}", self.mutation_type)?;
857857

858858
if self.mutation_type_allows_permutation() {
859-
let size_per_scale: Vec<BigUint> = (0..self.max_scale_index().unwrap())
859+
let size_per_scale: Vec<BigUint> = (0..=self.max_scale_index().unwrap())
860860
.map(|scale_index| self.chromosome_permutations_size_scaled(scale_index))
861861
.collect();
862862
writeln!(

src/genotype/range.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ where
553553
fn chromosome_permutations_size(&self) -> BigUint {
554554
if self.seed_genes_list.is_empty() {
555555
match self.mutation_type {
556-
MutationType::Scaled => (0..self.max_scale_index().unwrap())
556+
MutationType::Scaled => (0..=self.max_scale_index().unwrap())
557557
.map(|scale_index| self.chromosome_permutations_size_scaled(scale_index))
558558
.sum(),
559559
MutationType::Relative => {
@@ -769,7 +769,7 @@ where
769769
writeln!(f, " mutation_type: {:?}", self.mutation_type)?;
770770

771771
if self.mutation_type_allows_permutation() {
772-
let size_per_scale: Vec<BigUint> = (0..self.max_scale_index().unwrap())
772+
let size_per_scale: Vec<BigUint> = (0..=self.max_scale_index().unwrap())
773773
.map(|scale_index| self.chromosome_permutations_size_scaled(scale_index))
774774
.collect();
775775
writeln!(

0 commit comments

Comments
 (0)