Fixed a bug in TableReducer that prevented the loading of stored truth tables.

This commit is contained in:
hneemann 2018-01-16 08:36:50 +01:00
parent c699845861
commit 04aa294032
3 changed files with 24 additions and 23 deletions

View File

@ -240,29 +240,31 @@ public class TruthTable {
sb.append(s.getIdentifier()).append("\t");
for (Result s : results)
sb.append(s.getName()).append("\t");
sb.append('\n');
for (int row = 0; row < getRows(); row++) {
for (int col = 0; col < variables.size(); col++) {
if (getBitSetter().getBit(row, col))
sb.append("1\t");
else
sb.append("0\t");
}
for (int col = 0; col < results.size(); col++) {
switch (results.get(col).getValues().get(row)) {
case one:
if (getRows() <= 256) {
sb.append('\n');
for (int row = 0; row < getRows(); row++) {
for (int col = 0; col < variables.size(); col++) {
if (getBitSetter().getBit(row, col))
sb.append("1\t");
break;
case zero:
else
sb.append("0\t");
break;
default:
sb.append("x\t");
break;
}
for (int col = 0; col < results.size(); col++) {
switch (results.get(col).getValues().get(row)) {
case one:
sb.append("1\t");
break;
case zero:
sb.append("0\t");
break;
default:
sb.append("x\t");
break;
}
}
sb.append("\n");
}
sb.append("\n");
}
return sb.toString();
}

View File

@ -24,8 +24,7 @@ public class TableReducer {
* @param table the bool table
*/
public TableReducer(List<Variable> vars, BoolTable table) {
this.vars = new ArrayList<>();
this.vars.addAll(vars);
this.vars = new ArrayList<>(vars);
this.table = table;
}
@ -37,7 +36,7 @@ public class TableReducer {
public boolean canReduce() {
if (table instanceof BoolTableExpanded) {
BoolTableExpanded t = (BoolTableExpanded) table;
vars = t.getVars();
vars = new ArrayList<>(t.getVars());
table = t.getBoolTable();
canReduceOnlyCheckTable();
return true;

View File

@ -672,7 +672,7 @@ public class TableDialog extends JDialog {
}
@Override
public void resultFound(String name, Expression expression) throws FormatterException, ExpressionException {
public void resultFound(String name, Expression expression) throws FormatterException {
if (count == 0)
firstExp = "<html>" + htmlFormatter.identifier(name) + "=" + htmlFormatter.format(expression) + "</html>";
html.append("<tr>");
@ -762,7 +762,7 @@ public class TableDialog extends JDialog {
}
@Override
public void resultFound(String name, Expression expression) throws FormatterException, ExpressionException {
public void resultFound(String name, Expression expression) throws FormatterException {
sb.append(FormatToTableLatex.formatIdentifier(name))
.append("&=&")
.append(FormatToExpression.FORMATTER_LATEX.format(expression))