forked from kscience/kmath
Alexander Nozik
a526dcc16b
# Conflicts: # kmath-core/src/commonMain/kotlin/space/kscience/kmath/linear/MatrixFeatures.kt # kmath-core/src/commonMain/kotlin/space/kscience/kmath/misc/Featured.kt # kmath-ejml/src/main/kotlin/space/kscience/kmath/ejml/_generated.kt # kmath-memory/src/commonMain/kotlin/space/kscience/kmath/memory/MemoryBuffer.kt # kmath-optimization/src/commonMain/kotlin/space/kscience/kmath/optimization/OptimizationBuilder.kt |
||
---|---|---|
.. | ||
docs | ||
src/main/kotlin/space/kscience/kmath/jafama | ||
build.gradle.kts | ||
README.md |
Module kmath-jafama
Integration with Jafama.
- jafama-double : Double ExtendedField implementations based on Jafama
Artifact:
The Maven coordinates of this project are space.kscience:kmath-jafama:0.4.0-dev-1
.
Gradle Groovy:
repositories {
maven { url 'https://repo.kotlin.link' }
mavenCentral()
}
dependencies {
implementation 'space.kscience:kmath-jafama:0.4.0-dev-1'
}
Gradle Kotlin DSL:
repositories {
maven("https://repo.kotlin.link")
mavenCentral()
}
dependencies {
implementation("space.kscience:kmath-jafama:0.4.0-dev-1")
}
Example usage
All the DoubleField
uses can be replaced with JafamaDoubleField
or StrictJafamaDoubleField
.
import space.kscience.kmath.jafama.*
import space.kscience.kmath.operations.*
fun main() {
val a = 2.0
val b = StrictJafamaDoubleField { exp(a) }
println(JafamaDoubleField { b + a })
println(StrictJafamaDoubleField { ln(b) })
}
Performance
According to KMath benchmarks on GraalVM, Jafama functions are slower than JDK math; however, there are indications that on Hotspot Jafama is a bit faster.
Can't find appropriate benchmark data. Try generating readme files after running benchmarks.