Search in sources :

Example 31 with Pair

use of com.sri.ai.util.base.Pair in project aic-expresso by aic-sri-international.

the class IndexExpressions method getIndexAndDomain.

public static Pair<Expression, Expression> getIndexAndDomain(Expression indexExpression) {
    boolean bothIndexAndDomain = indexExpression.hasFunctor("in") && indexExpression.numberOfArguments() == 2;
    Expression index;
    Expression indexDomain;
    if (bothIndexAndDomain) {
        index = indexExpression.get(0);
        indexDomain = indexExpression.get(1);
    } else {
        index = indexExpression;
        indexDomain = type(index);
    }
    return new Pair<Expression, Expression>(index, indexDomain);
}
Also used : Expression(com.sri.ai.expresso.api.Expression) QuantifiedExpression(com.sri.ai.expresso.api.QuantifiedExpression) Pair(com.sri.ai.util.base.Pair)

Example 32 with Pair

use of com.sri.ai.util.base.Pair in project aic-expresso by aic-sri-international.

the class InversionPerformanceEvaluationTest method evaluate.

private Pair<Long, Expression> evaluate(Expression sumProduct, SumProductInterpreter sumProductInterpreter) {
    long start = System.currentTimeMillis();
    Expression evalResult = sumProductInterpreter.apply(sumProduct, context);
    long duration = System.currentTimeMillis() - start;
    Pair<Long, Expression> result = new Pair<>(duration, evalResult);
    return result;
}
Also used : Expression(com.sri.ai.expresso.api.Expression) Pair(com.sri.ai.util.base.Pair)

Aggregations

Pair (com.sri.ai.util.base.Pair)32 Expression (com.sri.ai.expresso.api.Expression)29 ArrayList (java.util.ArrayList)20 Map (java.util.Map)17 LinkedHashMap (java.util.LinkedHashMap)12 Type (com.sri.ai.expresso.api.Type)10 List (java.util.List)10 Expressions (com.sri.ai.expresso.helper.Expressions)9 TupleType (com.sri.ai.expresso.type.TupleType)8 Context (com.sri.ai.grinder.api.Context)8 Context (com.sri.ai.grinder.sgdpllt.api.Context)6 LinkedHashSet (java.util.LinkedHashSet)6 Beta (com.google.common.annotations.Beta)5 Expressions.apply (com.sri.ai.expresso.helper.Expressions.apply)5 Expressions.makeSymbol (com.sri.ai.expresso.helper.Expressions.makeSymbol)5 Util.map (com.sri.ai.util.Util.map)5 Function (com.google.common.base.Function)4 Symbol (com.sri.ai.expresso.api.Symbol)4 INFINITY (com.sri.ai.expresso.helper.Expressions.INFINITY)4 MINUS_INFINITY (com.sri.ai.expresso.helper.Expressions.MINUS_INFINITY)4