| Modifier and Type | Class | Description |
|---|---|---|
class |
And<K> |
|
class |
Literal<K> |
|
class |
NExpression<K> |
|
class |
Not<K> |
|
class |
Or<K> |
|
class |
Variable<K> |
| Modifier and Type | Field | Description |
|---|---|---|
Expression<K>[] |
NExpression.expressions |
| Modifier and Type | Field | Description |
|---|---|---|
static Comparator<Expression> |
Expression.HASH_COMPARATOR |
|
static Comparator<Expression> |
Expression.LEXICOGRAPHIC_COMPARATOR |
| Modifier and Type | Method | Description |
|---|---|---|
abstract List<Expression<K>> |
Expression.getChildren() |
|
List<Expression<K>> |
Literal.getChildren() |
|
List<Expression<K>> |
NExpression.getChildren() |
|
List<Expression<K>> |
Not.getChildren() |
|
List<Expression<K>> |
Variable.getChildren() |
|
static <K> List<Expression<K>> |
ExprUtil.list(Expression... exprs) |
| Modifier and Type | Method | Description |
|---|---|---|
static <K> void |
ExprUtil.addAll(Collection<Expression<K>> set,
Expression<K>[] values) |
|
static <K> Expression<K>[] |
ExprUtil.allExceptMatch(Expression<K>[] exprs,
Expression<K> omit,
ExprOptions<K> options) |
|
static <K> Expression<K>[] |
ExprUtil.allExceptMatch(List<Expression<K>> exprs,
Expression<K> omit,
ExprOptions<K> options) |
|
Expression<K> |
InternFunction.None.apply(Expression<K> kExpression) |
|
static <K> Expression<K> |
ExprUtil.collapseToSOP(And<K> and,
Or<K> internalOr,
Expression<K> omitFromOr,
ExprOptions<K> options) |
|
int |
Expression.HashComparator.compare(Expression o1,
Expression o2) |
|
int |
Expression.LexicographicComparator.compare(Expression o1,
Expression o2) |
|
static <K> List<K> |
ExprUtil.getConstraintsByWeight(Expression<K> expression,
ExprOptions<K> options) |
|
static <K> Set<K> |
ExprUtil.getVariables(Expression<K> expr) |
|
static <K> List<Expression<K>> |
ExprUtil.list(Expression... exprs) |
|
static <K> And<K> |
And.of(Expression<K> child1) |
|
static <K> And<K> |
And.of(Expression<K>... children) |
|
static <K> And<K> |
And.of(Expression<K>[] children,
Comparator<Expression> comparator) |
|
static <K> And<K> |
And.of(Expression<K> child1,
Expression<K> child2) |
|
static <K> And<K> |
And.of(Expression<K> child1,
Expression<K> child2,
Expression<K> child3) |
|
static <K> Not<K> |
Not.of(Expression<K> e) |
|
static <K> Or<K> |
Or.of(Expression<K> child1) |
|
static <K> Or<K> |
Or.of(Expression<K>... children) |
|
static <K> Or<K> |
Or.of(Expression<K>[] children,
Comparator<Expression> comparator) |
|
static <K> Or<K> |
Or.of(Expression<K> child1,
Expression<K> child2) |
|
static <K> Or<K> |
Or.of(Expression<K> child1,
Expression<K> child2,
Expression<K> child3) |
|
static <K> Or<K> |
Or.of(Expression<K> child1,
Expression<K> child2,
Expression<K> child3,
Expression<K> child4) |
|
static <K> Expression<K> |
ExprUtil.stripNegation(And<K> and,
Or<K> internalOr,
Expression<K> omitFromOr,
ExprOptions<K> options) |
|
static <K> Expression<K> |
ExprUtil.stripNegation(Or<K> or,
And<K> internalAnd,
Expression<K> omitFromAnd,
ExprOptions<K> options) |
| Constructor | Description |
|---|---|
NExpression(Expression<K>[] expressions,
int seed,
Comparator<Expression> sort) |
| Constructor | Description |
|---|---|
NExpression(Expression<K>[] expressions,
int seed,
Comparator<Expression> sort) |
| Modifier and Type | Method | Description |
|---|---|---|
static <K> boolean |
BenchmarkQMC.checkEquivalent(Expression<K> a,
Expression<K> b) |
| Modifier and Type | Method | Description |
|---|---|---|
Expression<K> |
RuleCache.get(Class<? extends Rule> rule,
Expression<K> input) |
|
Expression<K> |
RuleCache.NoCache.get(Class<? extends Rule> rule,
Expression<K> input) |
|
Expression<K> |
RuleSetCache.get(RuleList<K> rules,
Expression<K> input) |
|
Expression<K> |
RuleSetCache.NoCache.get(RuleList<K> rules,
Expression<K> input) |
|
Expression<K> |
UnboundedRuleCache.get(Class<? extends Rule> rule,
Expression<K> input) |
|
Expression<K> |
UnboundedRuleSetCache.get(RuleList<K> rules,
Expression<K> input) |
| Modifier and Type | Method | Description |
|---|---|---|
Expression<K> |
RuleCache.get(Class<? extends Rule> rule,
Expression<K> input) |
|
Expression<K> |
RuleCache.NoCache.get(Class<? extends Rule> rule,
Expression<K> input) |
|
Expression<K> |
RuleSetCache.get(RuleList<K> rules,
Expression<K> input) |
|
Expression<K> |
RuleSetCache.NoCache.get(RuleList<K> rules,
Expression<K> input) |
|
Expression<K> |
UnboundedRuleCache.get(Class<? extends Rule> rule,
Expression<K> input) |
|
Expression<K> |
UnboundedRuleSetCache.get(RuleList<K> rules,
Expression<K> input) |
|
void |
RuleCache.NoCache.put(Class<? extends Rule> rule,
Expression<K> input,
Expression<K> output,
ExprOptions<K> options) |
|
void |
RuleCache.put(Class<? extends Rule> rule,
Expression<K> input,
Expression<K> output,
ExprOptions<K> options) |
|
void |
RuleSetCache.NoCache.put(RuleList<K> rules,
Expression<K> input,
Expression<K> output,
ExprOptions<K> options) |
|
void |
RuleSetCache.put(RuleList<K> rules,
Expression<K> input,
Expression<K> output,
ExprOptions<K> options) |
|
void |
UnboundedRuleCache.put(Class<? extends Rule> rule,
Expression<K> input,
Expression<K> output,
ExprOptions<K> options) |
|
void |
UnboundedRuleSetCache.put(RuleList<K> rules,
Expression<K> input,
Expression<K> output,
ExprOptions<K> options) |
| Constructor | Description |
|---|---|
UnboundedRuleCache(Function<Expression<K>,Expression<K>> interningFunction) |
|
UnboundedRuleCache(Function<Expression<K>,Expression<K>> interningFunction) |
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
EvalAnd.evaluate(Expression<K> expression,
Map<String,EvalRule<K>> rules) |
|
static <K> boolean |
EvalEngine.evaluate(Expression<K> expr,
Map<String,EvalRule<K>> rules) |
|
boolean |
EvalLiteral.evaluate(Expression<K> expression,
Map<String,EvalRule<K>> rules) |
|
boolean |
EvalNot.evaluate(Expression<K> expression,
Map<String,EvalRule<K>> rules) |
|
boolean |
EvalOr.evaluate(Expression<K> expression,
Map<String,EvalRule<K>> rules) |
|
abstract boolean |
EvalRule.evaluate(Expression<K> expression,
Map<String,EvalRule<K>> rules) |
|
boolean |
EvalVariable.evaluate(Expression<K> expression,
Map<String,EvalRule<K>> rules) |
|
static <K> boolean |
EvalEngine.evaluateBoolean(Expression<K> expr,
Map<K,Boolean> values) |
|
protected static <K> boolean |
EvalRule.evaluateInternal(Expression<K> expression,
Map<String,EvalRule<K>> rules) |
| Modifier and Type | Method | Description |
|---|---|---|
static Expression<String> |
ExprParser.parse(String expression) |
|
static <T> Expression<T> |
ExprParser.parse(String expression,
TokenMapper<T> mapper) |
|
static <T> Expression<T> |
ExprParser.parse(org.antlr.runtime.tree.Tree tree,
TokenMapper<T> mapper) |
| Modifier and Type | Class | Description |
|---|---|---|
class |
Rule<E extends Expression<K>,K> |
| Modifier and Type | Method | Description |
|---|---|---|
Expression<K> |
Intern.apply(Expression<K> kExpression) |
|
Expression<K> |
Rule.apply(Expression<K> input,
ExprOptions<K> options) |
|
static <K> Expression<K> |
RulesHelper.applyAll(Expression<K> e,
RuleList<K> rules,
ExprOptions<K> options) |
|
Expression<K> |
CollapseNegation.applyInternal(NExpression<K> input,
ExprOptions<K> options) |
|
Expression<K> |
CombineAnd.applyInternal(And<K> and,
ExprOptions<K> options) |
|
Expression<K> |
CombineOr.applyInternal(Or<K> or,
ExprOptions<K> options) |
|
Expression<K> |
DeMorgan.applyInternal(Not<K> not,
ExprOptions<K> options) |
|
Expression<K> |
QMC.applyInternal(Expression<K> input,
ExprOptions<K> options) |
|
abstract Expression<K> |
Rule.applyInternal(E input,
ExprOptions<K> options) |
|
Expression<K> |
SimplifyAnd.applyInternal(And<K> input,
ExprOptions<K> options) |
|
Expression<K> |
SimplifyNExprChildren.applyInternal(NExpression<K> input,
ExprOptions<K> options) |
|
Expression<K> |
SimplifyNExpression.applyInternal(NExpression<K> input,
ExprOptions<K> options) |
|
Expression<K> |
SimplifyNot.applyInternal(Not<K> input,
ExprOptions<K> options) |
|
Expression<K> |
SimplifyOr.applyInternal(Or<K> input,
ExprOptions<K> options) |
|
Expression<K> |
ToSOP.applyInternal(And<K> and,
ExprOptions<K> options) |
|
static <K> Expression<K> |
RulesHelper.applySet(Expression<K> root,
RuleList<K> allRules,
ExprOptions<K> options) |
|
static <K> Expression<K> |
QuineMcCluskey.assign(Expression<K> root,
Map<K,Boolean> values,
RuleList<K> simplifyRules,
ExprOptions<K> options) |
|
static <K> Expression<K> |
RuleSet.assign(Expression<K> root,
Map<K,Boolean> values) |
|
static <K> Expression<K> |
RuleSet.assign(Expression<K> root,
Map<K,Boolean> values,
ExprOptions<K> options) |
|
static <K> Expression<K> |
RuleSet.simplify(Expression<K> root) |
|
static <K> Expression<K> |
RuleSet.simplify(Expression<K> root,
ExprOptions<K> options) |
|
static <K> Expression<K> |
RuleSet.toCNF(Expression<K> root) |
|
static <K> Expression<K> |
RuleSet.toCNF(Expression<K> root,
ExprOptions<K> options) |
More formal name for product-of-sums
|
static <K> Expression<K> |
QuineMcCluskey.toDNF(Expression<K> input,
ExprOptions<K> options) |
|
static <K> Expression<K> |
RuleSet.toDNF(Expression<K> root) |
|
static <K> Expression<K> |
RuleSet.toDNF(Expression<K> root,
ExprOptions<K> options) |
More formal name for sum-of-products
|
static <K> Expression<K> |
RuleSet.toDNFViaQMC(Expression<K> root,
ExprOptions<K> options) |
This method transforms an expression to DNF, but at a variable cardinality less than 9, switches to the QuineMcCluskey algorithm.
|
static <K> Expression<K> |
RuleSet.toPos(Expression<K> root) |
|
static <K> Expression<K> |
RuleSet.toPos(Expression<K> root,
ExprOptions<K> options) |
|
static <K> Expression<K> |
RuleSet.toSop(Expression<K> root) |
|
static <K> Expression<K> |
RuleSet.toSop(Expression<K> root,
ExprOptions<K> options) |
| Modifier and Type | Method | Description |
|---|---|---|
protected static <K> List<Expression<K>> |
QuineMcCluskey.getPetrickMethodImplicants(List<K> variables,
List<Integer> remainingMinterms,
List<QuineMcCluskey.Implicant> implicants) |
| Modifier and Type | Method | Description |
|---|---|---|
Expression<K> |
Intern.apply(Expression<K> kExpression) |
|
Expression<K> |
Rule.apply(Expression<K> input,
ExprOptions<K> options) |
|
static <K> Expression<K> |
RulesHelper.applyAll(Expression<K> e,
RuleList<K> rules,
ExprOptions<K> options) |
|
Expression<K> |
QMC.applyInternal(Expression<K> input,
ExprOptions<K> options) |
|
static <K> Expression<K> |
RulesHelper.applySet(Expression<K> root,
RuleList<K> allRules,
ExprOptions<K> options) |
|
static <K> Expression<K> |
QuineMcCluskey.assign(Expression<K> root,
Map<K,Boolean> values,
RuleList<K> simplifyRules,
ExprOptions<K> options) |
|
static <K> Expression<K> |
RuleSet.assign(Expression<K> root,
Map<K,Boolean> values) |
|
static <K> Expression<K> |
RuleSet.assign(Expression<K> root,
Map<K,Boolean> values,
ExprOptions<K> options) |
|
static <K> void |
QuineMcCluskey.findMinterms(int pos,
ArrayList<K> variables,
Expression<K> input,
Map<K,Boolean> assignments,
List<Integer> collectedMinterms,
RuleList<K> simplifyRules,
ExprOptions<K> options) |
|
static <K> List<Integer> |
QuineMcCluskey.findMinterms(int pos,
ArrayList<K> variables,
Map<K,Boolean> assignments,
Expression<K> input,
RuleList<K> simplifyRules,
ExprOptions<K> options) |
|
protected boolean |
CollapseNegation.isApply(Expression<K> input) |
|
protected boolean |
CombineAnd.isApply(Expression<K> input) |
|
protected boolean |
CombineOr.isApply(Expression input) |
|
protected boolean |
DeMorgan.isApply(Expression input) |
|
protected boolean |
QMC.isApply(Expression<K> input) |
|
protected abstract boolean |
Rule.isApply(Expression<K> input) |
|
protected boolean |
SimplifyAnd.isApply(Expression<K> input) |
|
protected boolean |
SimplifyNExprChildren.isApply(Expression<K> input) |
|
protected boolean |
SimplifyNExpression.isApply(Expression<K> input) |
|
protected boolean |
SimplifyNot.isApply(Expression<K> input) |
|
protected boolean |
SimplifyOr.isApply(Expression<K> input) |
|
protected boolean |
ToSOP.isApply(Expression<K> input) |
|
static <K> Expression<K> |
RuleSet.simplify(Expression<K> root) |
|
static <K> Expression<K> |
RuleSet.simplify(Expression<K> root,
ExprOptions<K> options) |
|
static <K> Expression<K> |
RuleSet.toCNF(Expression<K> root) |
|
static <K> Expression<K> |
RuleSet.toCNF(Expression<K> root,
ExprOptions<K> options) |
More formal name for product-of-sums
|
static <K> Expression<K> |
QuineMcCluskey.toDNF(Expression<K> input,
ExprOptions<K> options) |
|
static <K> Expression<K> |
RuleSet.toDNF(Expression<K> root) |
|
static <K> Expression<K> |
RuleSet.toDNF(Expression<K> root,
ExprOptions<K> options) |
More formal name for sum-of-products
|
static <K> Expression<K> |
RuleSet.toDNFViaQMC(Expression<K> root,
ExprOptions<K> options) |
This method transforms an expression to DNF, but at a variable cardinality less than 9, switches to the QuineMcCluskey algorithm.
|
static <K> Expression<K> |
RuleSet.toPos(Expression<K> root) |
|
static <K> Expression<K> |
RuleSet.toPos(Expression<K> root,
ExprOptions<K> options) |
|
static <K> Expression<K> |
RuleSet.toSop(Expression<K> root) |
|
static <K> Expression<K> |
RuleSet.toSop(Expression<K> root,
ExprOptions<K> options) |
| Constructor | Description |
|---|---|
Intern(Map<Expression<K>,Expression<K>> cache) |
|
Intern(Map<Expression<K>,Expression<K>> cache) |
| Modifier and Type | Method | Description |
|---|---|---|
Expression<K> |
ExprFactory.and(Expression<K>[] children) |
|
Expression<K> |
ExprFactory.Default.and(Expression<K>[] children) |
|
Expression<K> |
ExprFactory.Interning.and(Expression<K>[] children) |
|
Expression<K> |
ExprFactory.Default.not(Expression<K> child) |
|
Expression<K> |
ExprFactory.Interning.not(Expression<K> child) |
|
Expression<K> |
ExprFactory.not(Expression<K> child) |
|
Expression<K> |
ExprFactory.Default.or(Expression<K>[] children) |
|
Expression<K> |
ExprFactory.Interning.or(Expression<K>[] children) |
|
Expression<K> |
ExprFactory.or(Expression<K>[] children) |
| Modifier and Type | Method | Description |
|---|---|---|
Expression<K> |
ExprFactory.and(Expression<K>[] children) |
|
Expression<K> |
ExprFactory.Default.and(Expression<K>[] children) |
|
Expression<K> |
ExprFactory.Interning.and(Expression<K>[] children) |
|
Expression<K> |
ExprFactory.Default.not(Expression<K> child) |
|
Expression<K> |
ExprFactory.Interning.not(Expression<K> child) |
|
Expression<K> |
ExprFactory.not(Expression<K> child) |
|
Expression<K> |
ExprFactory.Default.or(Expression<K>[] children) |
|
Expression<K> |
ExprFactory.Interning.or(Expression<K>[] children) |
|
Expression<K> |
ExprFactory.or(Expression<K>[] children) |
| Constructor | Description |
|---|---|
Interning(Map<Expression<K>,Expression<K>> internMap) |
|
Interning(Map<Expression<K>,Expression<K>> internMap) |
Copyright © 2019. All rights reserved.