mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-26 22:41:59 -04:00
small memory improvement of qmc
This commit is contained in:
parent
70f1b4007f
commit
6392e371b6
@ -119,7 +119,7 @@ public class QuineMcCluskey {
|
||||
public QuineMcCluskey simplify(PrimeSelector ps) {
|
||||
QuineMcCluskey t = this;
|
||||
while (!t.isFinished())
|
||||
t = t.simplifyStep().removeDuplicates();
|
||||
t = t.simplifyStep();
|
||||
return t.simplifyPrimes(ps);
|
||||
}
|
||||
|
||||
@ -139,13 +139,18 @@ public class QuineMcCluskey {
|
||||
// can optimize;
|
||||
TableRow newRow = new TableRow(r1);
|
||||
newRow.setToOptimized(index);
|
||||
newRow.addSource(r1.getSource());
|
||||
newRow.addSource(r2.getSource());
|
||||
|
||||
TableRow r = newRows.findRow(newRow);
|
||||
if (r==null) {
|
||||
newRow.addSource(r1.getSource());
|
||||
newRow.addSource(r2.getSource());
|
||||
newRows.add(newRow);
|
||||
} else {
|
||||
r.addSource(r1.getSource());
|
||||
r.addSource(r2.getSource());
|
||||
}
|
||||
r1.setUsed();
|
||||
r2.setUsed();
|
||||
|
||||
newRows.add(newRow);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -71,6 +71,7 @@ public class QuineMcCluskeyTest extends TestCase {
|
||||
t = t.simplifyStep();
|
||||
assertFalse(t.isFinished());
|
||||
|
||||
/*
|
||||
assertEquals(
|
||||
"--00,1,4,5,8\n" +
|
||||
"--00,1,4,5,8\n" +
|
||||
@ -83,7 +84,7 @@ public class QuineMcCluskeyTest extends TestCase {
|
||||
assertEquals(1, primes.size());
|
||||
assertEquals("1-11,7,9", primes.get(0).toString());
|
||||
|
||||
t = t.removeDuplicates();
|
||||
t = t.removeDuplicates();*/
|
||||
assertFalse(t.isFinished());
|
||||
|
||||
assertEquals(
|
||||
@ -96,7 +97,7 @@ public class QuineMcCluskeyTest extends TestCase {
|
||||
|
||||
assertEquals("", t.toString());
|
||||
|
||||
primes = t.getPrimes();
|
||||
ArrayList<TableRow> primes = t.getPrimes();
|
||||
assertEquals(4, primes.size());
|
||||
assertEquals("1-11,7,9", primes.get(0).toString());
|
||||
assertEquals("-0-0,1,2,5,6", primes.get(2).toString());
|
||||
|
Loading…
x
Reference in New Issue
Block a user