package it.unibo.tuprolog.solve.function
Classes
Name | Description |
---|---|
abstract class AbstractEvaluator<E : ExecutionContext, T : Term> : TermVisitor<T>, Any
|
|
class ArithmeticEvaluator<E : ExecutionContext> : AbstractEvaluator<E, Numeric>
|
Evaluates an expression as a Numeric term. Throws a TypeError in case a non-evaluable sub-term is met. Throws a TypeError in case the evaluation produces a non-numeric term. |
abstract class BinaryMathFunction: MathFunction
|
Base class to implement unary math functions |
sealed class Compute: Any
|
A base class for Computation requests and responses |
class ExpressionEvaluator<E : ExecutionContext> : AbstractEvaluator<E, Term>
|
Evaluates a Term as an expression, w.r.t. the loaded functions provided through request. Throws a TypeError in case a non-evaluable sub-term is met. |
class ExpressionReducer<E : ExecutionContext> : AbstractEvaluator<E, Term>
|
Reduces a Term as an expression by evaluating all the evaluable sub-terms it contains w.r.t. the loaded functions provided through request. If the input expression is non-evaluable, it remains unaffected and no error is thrown |
abstract class FunctionWrapper<C : ExecutionContext> : AbstractWrapper<LogicFunction>
|
A class wrapping a LogicFunction implementation |
abstract class IntegersBinaryMathFunction: BinaryMathFunction
|
Base class to implement math functions accepting only integers |
interface LogicFunction: Any
|
|
abstract class MathFunction: FunctionWrapper<ExecutionContext>
|
Base class to implement arithmetic functions |
abstract class NullaryMathFunction: MathFunction
|
Base class to implement nullary math functions (with no arguments) |
abstract class UnaryMathFunction: MathFunction
|
Base class to implement unary math functions |
Methods
evalAsExpression
fun Term.evalAsExpression(request: Request<*>, index: Int?): Term
Receiver
Name | Description |
---|---|
Term
|
Parameters
Name | Description |
---|---|
request: Request<*>
|
|
index: Int?
|
ReturnValue
Name | Description |
---|---|
Term
|
evalAsArithmeticExpression
fun Term.evalAsArithmeticExpression(request: Request<*>, index: Int?): Numeric
Receiver
Name | Description |
---|---|
Term
|
Parameters
Name | Description |
---|---|
request: Request<*>
|
|
index: Int?
|
ReturnValue
Name | Description |
---|---|
Numeric
|
<no name provided>
fun <no name provided>()
ReturnValue
Name | Description |
---|---|
Unit
|
A typealias for a prolog function that accepts a Compute.Request and returns a Compute.Response