plugins { id("space.kscience.gradle.mpp") } kscience{ jvm() js() native() wasm() dependencies { api(projects.kmathMemory) api(projects.attributesKt) } testDependencies { implementation(projects.testUtils) } } kotlin.sourceSets { filter { it.name.contains("test", true) } .map(org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet::languageSettings) .forEach { it.optIn("space.kscience.kmath.PerformancePitfall") it.optIn("space.kscience.kmath.UnstableKMathAPI") } } readme { description = "Core classes, algebra definitions, basic linear algebra" maturity = space.kscience.gradle.Maturity.DEVELOPMENT propertyByTemplate("artifact", rootProject.file("docs/templates/ARTIFACT-TEMPLATE.md")) feature( id = "algebras", ref = "src/commonMain/kotlin/space/kscience/kmath/operations/Algebra.kt", ) { "Algebraic structures like rings, spaces and fields." } feature( id = "nd", ref = "src/commonMain/kotlin/space/kscience/kmath/structures/StructureND.kt", ) { "Many-dimensional structures and operations on them." } feature( id = "linear", ref = "src/commonMain/kotlin/space/kscience/kmath/operations/Algebra.kt", ) { "Basic linear algebra operations (sums, products, etc.), backed by the `Space` API. Advanced linear algebra operations like matrix inversion and LU decomposition." } feature( id = "buffers", ref = "src/commonMain/kotlin/space/kscience/kmath/structures/Buffers.kt", ) { "One-dimensional structure" } feature( id = "expressions", ref = "src/commonMain/kotlin/space/kscience/kmath/expressions" ) { """ By writing a single mathematical expression once, users will be able to apply different types of objects to the expression by providing a context. Expressions can be used for a wide variety of purposes from high performance calculations to code generation. """.trimIndent() } feature( id = "domains", ref = "src/commonMain/kotlin/space/kscience/kmath/domains", ) { "Domains" } feature( id = "autodiff", ref = "src/commonMain/kotlin/space/kscience/kmath/expressions/SimpleAutoDiff.kt" ) { "Automatic differentiation" } }