From ba36629759f566489c988336f766cb7c1232ac53 Mon Sep 17 00:00:00 2001 From: Mikhail Belyaev Date: Sat, 22 Aug 2020 02:14:04 +0300 Subject: [PATCH] Using some lib for bigints --- pom.xml | 7 ++++++- src/main/kotlin/ru/spbstu/logic/Main.kt | 3 ++- src/main/kotlin/ru/spbstu/logic/lib/Reify.kt | 6 +++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 27195d3..b74e9d0 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ UTF-8 - 1.3.72 + 1.4.0 official 4.12 @@ -39,6 +39,11 @@ kotlinx-collections-immutable-jvm 0.3.2 + + com.ionspin.kotlin + bignum-jvm + 0.2.0 + diff --git a/src/main/kotlin/ru/spbstu/logic/Main.kt b/src/main/kotlin/ru/spbstu/logic/Main.kt index 91278cd..d222410 100644 --- a/src/main/kotlin/ru/spbstu/logic/Main.kt +++ b/src/main/kotlin/ru/spbstu/logic/Main.kt @@ -26,7 +26,8 @@ fun main(args: Array) { var b by vars var c by vars var d by vars - eqlO(a, b) + a = nat(30) + mulO(a, b, c) //x = nat(3) } diff --git a/src/main/kotlin/ru/spbstu/logic/lib/Reify.kt b/src/main/kotlin/ru/spbstu/logic/lib/Reify.kt index adb0d7f..35d5766 100644 --- a/src/main/kotlin/ru/spbstu/logic/lib/Reify.kt +++ b/src/main/kotlin/ru/spbstu/logic/lib/Reify.kt @@ -1,12 +1,16 @@ package ru.spbstu.logic.lib +import com.ionspin.kotlin.bignum.integer.BigInteger +import com.ionspin.kotlin.bignum.integer.* import kotlinx.collections.immutable.PersistentList import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.plus import ru.spbstu.logic.App import ru.spbstu.logic.Constant import ru.spbstu.logic.Expr -import java.math.BigInteger +import ru.spbstu.wheels.tryEx + +fun String.toBigIntegerOrNull(): BigInteger? = tryEx { toBigInteger() }.getOrNull() fun reifyAsNumber(expr: Expr): BigInteger? = run { when (expr) {