feat: Arithmetic

This commit is contained in:
Tibo De Peuter 2025-04-11 21:11:59 +02:00
parent e73e5cbfc8
commit ac55ed4c64
Signed by: tdpeuter
GPG key ID: 38297DE43F75FFE2
6 changed files with 147 additions and 107 deletions

View file

@ -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())
}
}