feat: Arithmetic
This commit is contained in:
parent
e73e5cbfc8
commit
ac55ed4c64
6 changed files with 147 additions and 107 deletions
|
@ -96,7 +96,7 @@ open class Add(private val expr1: Expression, private val expr2: Expression) :
|
|||
override fun evaluate(subs: Substituted): Pair<Term, Substituted> {
|
||||
val result = Variable("Result")
|
||||
val map = plus(expr1, expr2, result, subs)
|
||||
return result.evaluate(map.first())
|
||||
return result.evaluate(map.first().getOrThrow())
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -108,7 +108,7 @@ open class Subtract(private val expr1: Expression, private val expr2: Expression
|
|||
override fun evaluate(subs: Substituted): Pair<Term, Substituted> {
|
||||
val result = Variable("Result")
|
||||
val map = plus(expr2, result, expr1, subs)
|
||||
return result.evaluate(map.first())
|
||||
return result.evaluate(map.first().getOrThrow())
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -121,7 +121,7 @@ class Multiply(private val expr1: Expression, private val expr2: Expression) :
|
|||
override fun evaluate(subs: Substituted): Pair<Term, Substituted> {
|
||||
val result = Variable("Result")
|
||||
val map = mul(expr1, expr2, result, subs)
|
||||
return result.evaluate(map.first())
|
||||
return result.evaluate(map.first().getOrThrow())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue