Search in sources :

Example 36 with Expression

use of de.neemann.digital.analyse.expression.Expression in project Digital by hneemann.

the class DetermineJKStateMachineTest method testSimple.

public void testSimple() throws Exception {
    Expression e = or(and(a, c), and(nota, notb));
    DetermineJKStateMachine jk = new DetermineJKStateMachine("a", e);
    assertEquals(toStr(notb), toStr(jk.getJ()));
    assertEquals(toStr(notc), toStr(jk.getK()));
    assertFalse(jk.isDFF());
}
Also used : FormatToExpression(de.neemann.digital.analyse.expression.format.FormatToExpression) Expression(de.neemann.digital.analyse.expression.Expression)

Example 37 with Expression

use of de.neemann.digital.analyse.expression.Expression in project Digital by hneemann.

the class FormatToExpressionTest method testFormatExp.

public void testFormatExp() throws Exception {
    Variable a = v("A");
    Variable b = v("B");
    Expression e = and(not(or(not(a), not(b))), not(and(not(a), not(b))));
    assertEquals("!(!A || !B) && !(!A && !B)", FormatToExpression.FORMATTER_JAVA.format(e));
    assertEquals("\\nicht{\\nicht{A} \\oder \\nicht{B}} \\und \\nicht{\\nicht{A} \\und \\nicht{B}}", FormatToExpression.FORMATTER_LATEX.format(e));
    assertEquals("NOT (NOT A OR NOT B) AND NOT (NOT A AND NOT B)", FormatToExpression.FORMATTER_DERIVE.format(e));
    assertEquals("~(~A + ~B) ~(~A ~B)", FormatToExpression.FORMATTER_LOGISIM.format(e));
    assertEquals("¬(¬A ∨ ¬B) ∧ ¬(¬A ∧ ¬B)", FormatToExpression.FORMATTER_UNICODE.format(e));
    assertEquals("!(!A + !B) * !(!A * !B)", FormatToExpression.FORMATTER_SHORT.format(e));
    assertEquals("!(!A + !B) !(!A !B)", FormatToExpression.FORMATTER_SHORTER.format(e));
}
Also used : Variable(de.neemann.digital.analyse.expression.Variable) Expression(de.neemann.digital.analyse.expression.Expression) NamedExpression(de.neemann.digital.analyse.expression.NamedExpression)

Example 38 with Expression

use of de.neemann.digital.analyse.expression.Expression in project Digital by hneemann.

the class FormatToExpressionTest method testFormatExpNot.

public void testFormatExpNot() throws Exception, FormatterException {
    Variable a = new Variable("A");
    Expression e = not(a);
    assertEquals("¬A", FormatToExpression.FORMATTER_UNICODE.format(e));
}
Also used : Variable(de.neemann.digital.analyse.expression.Variable) Expression(de.neemann.digital.analyse.expression.Expression) NamedExpression(de.neemann.digital.analyse.expression.NamedExpression)

Example 39 with Expression

use of de.neemann.digital.analyse.expression.Expression in project Digital by hneemann.

the class FormatToExpressionTest method testFormatTable.

public void testFormatTable() throws Exception {
    Variable a = new Variable("A");
    Variable b = new Variable("B");
    Expression e = and(not(or(not(a), not(b))), not(and(not(a), not(b))));
    assertEquals("AB|Y\n" + "00|0\n" + "01|0\n" + "10|0\n" + "11|1\n", new FormatToTable().format(e));
}
Also used : Variable(de.neemann.digital.analyse.expression.Variable) Expression(de.neemann.digital.analyse.expression.Expression) NamedExpression(de.neemann.digital.analyse.expression.NamedExpression)

Example 40 with Expression

use of de.neemann.digital.analyse.expression.Expression in project Digital by hneemann.

the class FormatToExpressionTest method testFormatLatex.

public void testFormatLatex() throws Exception {
    Variable a = new Variable("A");
    Variable b = new Variable("B");
    Expression e = and(not(or(not(a), not(b))), not(and(not(a), not(b))));
    assertEquals("\\begin{tabular}{cc|c}\n" + "$A$&$B$&$Y$\\\\\n" + "\\hline\n" + "0&0&0\\\\\n" + "0&1&0\\\\\n" + "1&0&0\\\\\n" + "1&1&1\\\\\n" + "\\end{tabular}\n", new FormatToTableLatex().format(e));
}
Also used : Variable(de.neemann.digital.analyse.expression.Variable) Expression(de.neemann.digital.analyse.expression.Expression) NamedExpression(de.neemann.digital.analyse.expression.NamedExpression)

Aggregations

Expression (de.neemann.digital.analyse.expression.Expression)60 Variable (de.neemann.digital.analyse.expression.Variable)34 FormatToExpression (de.neemann.digital.analyse.expression.format.FormatToExpression)12 Parser (de.neemann.digital.analyse.parser.Parser)11 ContextFiller (de.neemann.digital.analyse.expression.ContextFiller)10 NamedExpression (de.neemann.digital.analyse.expression.NamedExpression)9 ByteArrayOutputStream (java.io.ByteArrayOutputStream)7 Circuit (de.neemann.digital.draw.elements.Circuit)5 ElementLibrary (de.neemann.digital.draw.library.ElementLibrary)5 ModelCreator (de.neemann.digital.draw.model.ModelCreator)5 ShapeFactory (de.neemann.digital.draw.shapes.ShapeFactory)5 ArrayList (java.util.ArrayList)5 TestExecuter (de.neemann.digital.TestExecuter)4 QuineMcCluskey (de.neemann.digital.analyse.quinemc.QuineMcCluskey)3 PrimeSelectorDefault (de.neemann.digital.analyse.quinemc.primeselector.PrimeSelectorDefault)3 TableRow (de.neemann.digital.analyse.quinemc.TableRow)2 Model (de.neemann.digital.core.Model)2 Date (java.util.Date)2 DetermineJKStateMachine (de.neemann.digital.analyse.DetermineJKStateMachine)1 ExpressionException (de.neemann.digital.analyse.expression.ExpressionException)1