diff --git a/exact-numbers/build.gradle.kts b/exact-numbers/build.gradle.kts index a4604e79..5ff528f0 100644 --- a/exact-numbers/build.gradle.kts +++ b/exact-numbers/build.gradle.kts @@ -24,7 +24,7 @@ repositories { } dependencies { - val kotlinUtilsVersion = "1.3.2" + val kotlinUtilsVersion = "1.4.4" val mockkVersion = "1.12.4" implementation(kotlin("stdlib")) diff --git a/exact-numbers/src/main/kotlin/xyz/lbres/exactnumbers/ext/BigDecimalExt.kt b/exact-numbers/src/main/kotlin/xyz/lbres/exactnumbers/ext/BigDecimalExt.kt index feaa57b1..bfc18537 100644 --- a/exact-numbers/src/main/kotlin/xyz/lbres/exactnumbers/ext/BigDecimalExt.kt +++ b/exact-numbers/src/main/kotlin/xyz/lbres/exactnumbers/ext/BigDecimalExt.kt @@ -1,7 +1,6 @@ package xyz.lbres.exactnumbers.ext import xyz.lbres.exactnumbers.utils.divideByZero -import xyz.lbres.kotlinutils.general.succeeds import java.math.BigDecimal import java.math.MathContext @@ -23,10 +22,3 @@ internal fun BigDecimal.divideBy(other: BigDecimal): BigDecimal { divide(other, mc) } } - -/** - * Determine if decimal is a whole number - * - * @return `true` if number is a whole number, `false` otherwise - */ -internal fun BigDecimal.isWholeNumber(): Boolean = succeeds { toBigIntegerExact() } diff --git a/exact-numbers/src/main/kotlin/xyz/lbres/exactnumbers/irrationals/log/LogImpl.kt b/exact-numbers/src/main/kotlin/xyz/lbres/exactnumbers/irrationals/log/LogImpl.kt index 0b79367d..36e2264c 100644 --- a/exact-numbers/src/main/kotlin/xyz/lbres/exactnumbers/irrationals/log/LogImpl.kt +++ b/exact-numbers/src/main/kotlin/xyz/lbres/exactnumbers/irrationals/log/LogImpl.kt @@ -2,10 +2,10 @@ package xyz.lbres.exactnumbers.irrationals.log import xyz.lbres.exactnumbers.exactfraction.ExactFraction import xyz.lbres.exactnumbers.ext.divideBy -import xyz.lbres.exactnumbers.ext.isWholeNumber import xyz.lbres.exactnumbers.utils.createHashCode import xyz.lbres.exactnumbers.utils.divideByZero import xyz.lbres.exactnumbers.utils.getOrSet +import xyz.lbres.kotlinutils.bigdecimal.ext.isWholeNumber import xyz.lbres.kotlinutils.biginteger.ext.isZero import xyz.lbres.kotlinutils.general.simpleIf import java.math.BigDecimal diff --git a/exact-numbers/src/main/kotlin/xyz/lbres/exactnumbers/irrationals/sqrt/SqrtImpl.kt b/exact-numbers/src/main/kotlin/xyz/lbres/exactnumbers/irrationals/sqrt/SqrtImpl.kt index be8c3577..8cdb2d3c 100644 --- a/exact-numbers/src/main/kotlin/xyz/lbres/exactnumbers/irrationals/sqrt/SqrtImpl.kt +++ b/exact-numbers/src/main/kotlin/xyz/lbres/exactnumbers/irrationals/sqrt/SqrtImpl.kt @@ -2,10 +2,10 @@ package xyz.lbres.exactnumbers.irrationals.sqrt import xyz.lbres.exactnumbers.exactfraction.ExactFraction import xyz.lbres.exactnumbers.ext.divideBy -import xyz.lbres.exactnumbers.ext.isWholeNumber import xyz.lbres.exactnumbers.utils.createHashCode import xyz.lbres.exactnumbers.utils.divideByZero import xyz.lbres.exactnumbers.utils.getOrSet +import xyz.lbres.kotlinutils.bigdecimal.ext.isWholeNumber import java.math.BigDecimal // implementation of Sqrt class diff --git a/exact-numbers/src/test/kotlin/xyz/lbres/exactnumbers/ext/BigDecimalExtTest.kt b/exact-numbers/src/test/kotlin/xyz/lbres/exactnumbers/ext/BigDecimalExtTest.kt index 88c7bc30..710e06fe 100644 --- a/exact-numbers/src/test/kotlin/xyz/lbres/exactnumbers/ext/BigDecimalExtTest.kt +++ b/exact-numbers/src/test/kotlin/xyz/lbres/exactnumbers/ext/BigDecimalExtTest.kt @@ -4,8 +4,6 @@ import xyz.lbres.exactnumbers.testutils.assertDivByZero import java.math.BigDecimal import kotlin.test.Test import kotlin.test.assertEquals -import kotlin.test.assertFalse -import kotlin.test.assertTrue class BigDecimalExtTest { @Test @@ -47,39 +45,4 @@ class BigDecimalExtTest { expected = BigDecimal("7.3571428571428571429") // rounds up assertEquals(expected, bd1.divideBy(bd2)) } - - @Test - fun testIsWholeNumber() { - // whole number - var bd = BigDecimal.ZERO - assertTrue(bd.isWholeNumber()) - - bd = BigDecimal("100") - assertTrue(bd.isWholeNumber()) - - bd = BigDecimal("-100") - assertTrue(bd.isWholeNumber()) - - bd = BigDecimal("-1234560000000000000999") - assertTrue(bd.isWholeNumber()) - - bd = BigDecimal("123456000000000.0000") - assertTrue(bd.isWholeNumber()) - - bd = BigDecimal("7.00000000000000000000000000000") - assertTrue(bd.isWholeNumber()) - - // decimal - bd = BigDecimal("0.00000000000000000001") - assertFalse(bd.isWholeNumber()) - - bd = BigDecimal("-1.01") - assertFalse(bd.isWholeNumber()) - - bd = BigDecimal("123456000000000000099.9") - assertFalse(bd.isWholeNumber()) - - bd = BigDecimal("99999999999999999999999.9") - assertFalse(bd.isWholeNumber()) - } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ffed3a25..aa991fce 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists