mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-14 15:26:52 -04:00
improves the variable naming in the ModelAnalyser
This commit is contained in:
parent
7f69dcda70
commit
395c04daef
@ -12,6 +12,7 @@ public class LabelNumbering {
|
|||||||
|
|
||||||
private final String name;
|
private final String name;
|
||||||
private int pos;
|
private int pos;
|
||||||
|
private boolean useIndex = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new instance
|
* Creates a new instance
|
||||||
@ -21,9 +22,10 @@ public class LabelNumbering {
|
|||||||
public LabelNumbering(String name) {
|
public LabelNumbering(String name) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
pos = name.length();
|
pos = name.length();
|
||||||
if (name.endsWith("_n"))
|
if (name.endsWith("^n")) {
|
||||||
pos = name.length() - 2;
|
pos = name.length() - 2;
|
||||||
else if (name.endsWith("n"))
|
useIndex = true;
|
||||||
|
} else if (name.endsWith("n"))
|
||||||
pos = name.length() - 1;
|
pos = name.length() - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,6 +50,9 @@ public class LabelNumbering {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String addNumber(int n) {
|
private String addNumber(int n) {
|
||||||
|
if (useIndex)
|
||||||
|
return name.substring(0, pos) + "_" + n + name.substring(pos);
|
||||||
|
else
|
||||||
return name.substring(0, pos) + n + name.substring(pos);
|
return name.substring(0, pos) + n + name.substring(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +13,8 @@ public class LabelNumberingTest extends TestCase {
|
|||||||
assertEquals("test", new LabelNumbering("test").create(name -> false));
|
assertEquals("test", new LabelNumbering("test").create(name -> false));
|
||||||
assertEquals("test2", new LabelNumbering("test").create(new TestCheck()));
|
assertEquals("test2", new LabelNumbering("test").create(new TestCheck()));
|
||||||
assertEquals("test2n", new LabelNumbering("testn").create(new TestCheck()));
|
assertEquals("test2n", new LabelNumbering("testn").create(new TestCheck()));
|
||||||
assertEquals("test2_n", new LabelNumbering("test_n").create(new TestCheck()));
|
assertEquals("test_2^n", new LabelNumbering("test^n").create(new TestCheck()));
|
||||||
|
assertEquals("test_2n", new LabelNumbering("test_n").create(new TestCheck()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private class TestCheck implements LabelNumbering.Exists {
|
private class TestCheck implements LabelNumbering.Exists {
|
||||||
|
@ -170,23 +170,23 @@ public class ModelAnalyserTest extends TestCase {
|
|||||||
Model model = createModel("dig/analyze/uniqueNames3.dig");
|
Model model = createModel("dig/analyze/uniqueNames3.dig");
|
||||||
ArrayList<Signal> ins = new ModelAnalyser(model).getInputs();
|
ArrayList<Signal> ins = new ModelAnalyser(model).getInputs();
|
||||||
assertEquals(2,ins.size());
|
assertEquals(2,ins.size());
|
||||||
assertEquals("Zn",ins.get(0).getName());
|
assertEquals("Z^n",ins.get(0).getName());
|
||||||
assertEquals("Z1n",ins.get(1).getName());
|
assertEquals("Z_1^n",ins.get(1).getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testAnalyzerUniqueNames4() throws Exception {
|
public void testAnalyzerUniqueNames4() throws Exception {
|
||||||
Model model = createModel("dig/analyze/uniqueNames4.dig");
|
Model model = createModel("dig/analyze/uniqueNames4.dig");
|
||||||
ArrayList<Signal> ins = new ModelAnalyser(model).getInputs();
|
ArrayList<Signal> ins = new ModelAnalyser(model).getInputs();
|
||||||
assertEquals(2,ins.size());
|
assertEquals(2,ins.size());
|
||||||
assertEquals("Bn",ins.get(0).getName());
|
assertEquals("B^n",ins.get(0).getName());
|
||||||
assertEquals("An",ins.get(1).getName());
|
assertEquals("A^n",ins.get(1).getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testAnalyzerMultiBit() throws Exception {
|
public void testAnalyzerMultiBit() throws Exception {
|
||||||
Model model = createModel("dig/analyze/multiBitCounter.dig");
|
Model model = createModel("dig/analyze/multiBitCounter.dig");
|
||||||
TruthTable tt = new ModelAnalyser(model).analyse();
|
TruthTable tt = new ModelAnalyser(model).analyse();
|
||||||
checkTable(tt.getResult("Q0n+1"), one, zero, one, zero);
|
checkTable(tt.getResult("Q0^{n+1}"), one, zero, one, zero);
|
||||||
checkTable(tt.getResult("Q1n+1"), zero, one, one, zero);
|
checkTable(tt.getResult("Q1^{n+1}"), zero, one, one, zero);
|
||||||
|
|
||||||
assertEquals("Y1", tt.getResultName(2));
|
assertEquals("Y1", tt.getResultName(2));
|
||||||
assertEquals("Y0", tt.getResultName(3));
|
assertEquals("Y0", tt.getResultName(3));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user