diff --git a/.github/workflows/gradle.yml b/.github/workflows/build.yml
similarity index 91%
rename from .github/workflows/gradle.yml
rename to .github/workflows/build.yml
index 467a867bc..626062abf 100644
--- a/.github/workflows/gradle.yml
+++ b/.github/workflows/build.yml
@@ -12,6 +12,8 @@ jobs:
uses: actions/setup-java@v1
with:
java-version: 11
+ - name: Grant execute permission for gradlew
+ run: chmod +x gradlew
- name: Install Chrome
run: |
sudo apt install -y libappindicator1 fonts-liberation
@@ -47,6 +49,8 @@ jobs:
uses: actions/setup-java@v1
with:
java-version: 11
+ - name: Grant execute permission for gradlew
+ run: chmod +x gradlew
- name: Cache gradle
uses: actions/cache@v2
with:
@@ -77,6 +81,8 @@ jobs:
uses: actions/setup-java@v1
with:
java-version: 11
+ - name: Grant execute permission for gradlew
+ run: chmod +x gradlew
- name: Add msys to path
run: SETX PATH "%PATH%;C:\msys64\mingw64\bin"
- name: Cache gradle
diff --git a/README.md b/README.md
index 258d79be5..8dfb783aa 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ Bintray-dev: [ ![Download](https://api.bintray.com/packages/mipt-npm/dev/kmat
# KMath
-Could be pronounced as `key-math`. The Kotlin MATHematics library was initially intended as a Kotlin-based analog to
+Could be pronounced as `key-math`. The **K**otlin **Math**ematics library was initially intended as a Kotlin-based analog to
Python's NumPy library. Later we found that kotlin is much more flexible language and allows superior architecture
designs. In contrast to `numpy` and `scipy` it is modular and has a lightweight core. The `numpy`-like experience could
be achieved with [kmath-for-real](/kmath-for-real) extension module.
@@ -32,49 +32,46 @@ be achieved with [kmath-for-real](/kmath-for-real) extension module.
* Provide the best performance out of the box. We have specialized libraries for that. Need only API wrappers for them.
* Cover all cases as immediately and in one bundle. We will modularize everything and add new features gradually.
* Provide specialized behavior in the core. API is made generic on purpose, so one needs to specialize for types, like
-for `Double` in the core. For that we will have specialization modules like `for-real`, which will give better
+for `Double` in the core. For that we will have specialization modules like `kmath-for-real`, which will give better
experience for those, who want to work with specific types.
-## Features
+## Features and stability
-Current feature list is [here](/docs/features.md)
+KMath is a modular library. Different modules provide different features with different API stability guarantees. All core modules are released with the same version, but with different API change policy. The features are described in module definitions below. The module stability could have following levels:
-* **Algebra**
- * Algebraic structures like rings, spaces and fields (**TODO** add example to wiki)
- * Basic linear algebra operations (sums, products, etc.), backed by the `Space` API.
- * Complex numbers backed by the `Field` API (meaning they will be usable in any structure like vectors and
- N-dimensional arrays).
- * Advanced linear algebra operations like matrix inversion and LU decomposition.
+* **PROTOTYPE**. On this level there are no compatibility guarantees. All methods and classes form those modules could break any moment. You can still use it, but be sure to fix the specific version.
+* **EXPERIMENTAL**. The general API is decided, but some changes could be made. Volatile API is marked with `@UnstableKmathAPI` or other stability warning annotations.
+* **DEVELOPMENT**. API breaking genrally follows semantic versioning ideology. There could be changes in minor versions, but not in patch versions. API is protected with [binary-compatibility-validator](https://github.com/Kotlin/binary-compatibility-validator) tool.
+* **STABLE**. The API stabilized. Breaking changes are allowed only in major releases.
-* **Array-like structures** Full support of many-dimensional array-like structures
-including mixed arithmetic operations and function operations over arrays and numbers (with the added benefit of static type checking).
+
-* **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.
-* **Histograms** Fast multi-dimensional histograms.
+
+
-* **Streaming** Streaming operations on mathematical objects and objects buffers.
+
-* **Type-safe dimensions** Type-safe dimensions for matrix operations.
+
-* **Commons-math wrapper** It is planned to gradually wrap most parts of
-[Apache commons-math](http://commons.apache.org/proper/commons-math/) library in Kotlin code and maybe rewrite some
-parts to better suit the Kotlin programming paradigm, however there is no established roadmap for that. Feel free to
-submit a feature request if you want something to be implemented first.
-
-## Planned features
+
-* **Messaging** A mathematical notation to support multi-language and multi-node communication for mathematical tasks.
+
+
+
+
+
+
-* **Array statistics**
+
-* **Integration** Univariate and multivariate integration framework.
+
-* **Probability and distributions**
+
-* **Fitting** Non-linear curve fitting facilities
+
+
+
## Modules
@@ -113,10 +110,13 @@ submit a feature request if you want something to be implemented first.
> **Maturity**: DEVELOPMENT
>
> **Features:**
-> - [algebras](kmath-core/src/commonMain/kotlin/kscience/kmath/operations/Algebra.kt) : Algebraic structures: contexts and elements
-> - [nd](kmath-core/src/commonMain/kotlin/kscience/kmath/nd/NDStructure.kt) : Many-dimensional structures
+> - [algebras](kmath-core/src/commonMain/kotlin/kscience/kmath/operations/Algebra.kt) : Algebraic structures like rings, spaces and fields.
+> - [nd](kmath-core/src/commonMain/kotlin/kscience/kmath/structures/NDStructure.kt) : Many-dimensional structures and operations on them.
+> - [linear](kmath-core/src/commonMain/kotlin/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.
> - [buffers](kmath-core/src/commonMain/kotlin/kscience/kmath/structures/Buffers.kt) : One-dimensional structure
-> - [expressions](kmath-core/src/commonMain/kotlin/kscience/kmath/expressions) : Functional Expressions
+> - [expressions](kmath-core/src/commonMain/kotlin/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.
> - [domains](kmath-core/src/commonMain/kotlin/kscience/kmath/domains) : Domains
> - [autodif](kmath-core/src/commonMain/kotlin/kscience/kmath/expressions/SimpleAutoDiff.kt) : Automatic differentiation
@@ -155,9 +155,16 @@ One can still use generic algebras though.
* ### [kmath-functions](kmath-functions)
->
+> Functions and interpolation
>
-> **Maturity**: EXPERIMENTAL
+> **Maturity**: PROTOTYPE
+>
+> **Features:**
+> - [piecewise](kmath-functions/src/commonMain/kotlin/kscience/kmath/functions/Piecewise.kt) : Piecewise functions.
+> - [polynomials](kmath-functions/src/commonMain/kotlin/kscience/kmath/functions/Polynomial.kt) : Polynomial functions.
+> - [linear interpolation](kmath-functions/src/commonMain/kotlin/kscience/kmath/interpolation/LinearInterpolator.kt) : Linear XY interpolator.
+> - [spline interpolation](kmath-functions/src/commonMain/kotlin/kscience/kmath/interpolation/SplineInterpolator.kt) : Cubic spline XY interpolator.
+
* ### [kmath-geometry](kmath-geometry)
@@ -169,7 +176,7 @@ One can still use generic algebras though.
* ### [kmath-histograms](kmath-histograms)
>
>
-> **Maturity**: EXPERIMENTAL
+> **Maturity**: PROTOTYPE
* ### [kmath-kotlingrad](kmath-kotlingrad)
@@ -238,8 +245,8 @@ repositories {
}
dependencies {
- api("kscience.kmath:kmath-core:0.2.0-dev-4")
- // api("kscience.kmath:kmath-core-jvm:0.2.0-dev-4") for jvm-specific version
+ api("kscience.kmath:kmath-core:0.2.0-dev-6")
+ // api("kscience.kmath:kmath-core-jvm:0.2.0-dev-6") for jvm-specific version
}
```
diff --git a/build.gradle.kts b/build.gradle.kts
index 0572217af..41f762a5f 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -35,10 +35,6 @@ readme {
readmeTemplate = file("docs/templates/README-TEMPLATE.md")
}
-apiValidation {
- validationDisabled = true
-}
-
ksciencePublish {
spaceRepo = "https://maven.pkg.jetbrains.space/mipt-npm/p/sci/maven"
}
diff --git a/docs/templates/README-TEMPLATE.md b/docs/templates/README-TEMPLATE.md
index ee1df818c..44b27acf3 100644
--- a/docs/templates/README-TEMPLATE.md
+++ b/docs/templates/README-TEMPLATE.md
@@ -9,7 +9,7 @@ Bintray-dev: [ ![Download](https://api.bintray.com/packages/mipt-npm/dev/kmat
# KMath
-Could be pronounced as `key-math`. The Kotlin MATHematics library was initially intended as a Kotlin-based analog to
+Could be pronounced as `key-math`. The **K**otlin **Math**ematics library was initially intended as a Kotlin-based analog to
Python's NumPy library. Later we found that kotlin is much more flexible language and allows superior architecture
designs. In contrast to `numpy` and `scipy` it is modular and has a lightweight core. The `numpy`-like experience could
be achieved with [kmath-for-real](/kmath-for-real) extension module.
@@ -32,49 +32,46 @@ be achieved with [kmath-for-real](/kmath-for-real) extension module.
* Provide the best performance out of the box. We have specialized libraries for that. Need only API wrappers for them.
* Cover all cases as immediately and in one bundle. We will modularize everything and add new features gradually.
* Provide specialized behavior in the core. API is made generic on purpose, so one needs to specialize for types, like
-for `Double` in the core. For that we will have specialization modules like `for-real`, which will give better
+for `Double` in the core. For that we will have specialization modules like `kmath-for-real`, which will give better
experience for those, who want to work with specific types.
-## Features
+## Features and stability
-Current feature list is [here](/docs/features.md)
+KMath is a modular library. Different modules provide different features with different API stability guarantees. All core modules are released with the same version, but with different API change policy. The features are described in module definitions below. The module stability could have following levels:
-* **Algebra**
- * Algebraic structures like rings, spaces and fields (**TODO** add example to wiki)
- * Basic linear algebra operations (sums, products, etc.), backed by the `Space` API.
- * Complex numbers backed by the `Field` API (meaning they will be usable in any structure like vectors and
- N-dimensional arrays).
- * Advanced linear algebra operations like matrix inversion and LU decomposition.
+* **PROTOTYPE**. On this level there are no compatibility guarantees. All methods and classes form those modules could break any moment. You can still use it, but be sure to fix the specific version.
+* **EXPERIMENTAL**. The general API is decided, but some changes could be made. Volatile API is marked with `@UnstableKmathAPI` or other stability warning annotations.
+* **DEVELOPMENT**. API breaking genrally follows semantic versioning ideology. There could be changes in minor versions, but not in patch versions. API is protected with [binary-compatibility-validator](https://github.com/Kotlin/binary-compatibility-validator) tool.
+* **STABLE**. The API stabilized. Breaking changes are allowed only in major releases.
-* **Array-like structures** Full support of many-dimensional array-like structures
-including mixed arithmetic operations and function operations over arrays and numbers (with the added benefit of static type checking).
+
-* **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.
-* **Histograms** Fast multi-dimensional histograms.
+
+
-* **Streaming** Streaming operations on mathematical objects and objects buffers.
+
-* **Type-safe dimensions** Type-safe dimensions for matrix operations.
+
-* **Commons-math wrapper** It is planned to gradually wrap most parts of
-[Apache commons-math](http://commons.apache.org/proper/commons-math/) library in Kotlin code and maybe rewrite some
-parts to better suit the Kotlin programming paradigm, however there is no established roadmap for that. Feel free to
-submit a feature request if you want something to be implemented first.
-
-## Planned features
+
-* **Messaging** A mathematical notation to support multi-language and multi-node communication for mathematical tasks.
+
+
+
+
+
+
-* **Array statistics**
+
-* **Integration** Univariate and multivariate integration framework.
+
-* **Probability and distributions**
+
-* **Fitting** Non-linear curve fitting facilities
+
+
+
## Modules
diff --git a/examples/build.gradle.kts b/examples/build.gradle.kts
index 4e780ff36..1810e1a88 100644
--- a/examples/build.gradle.kts
+++ b/examples/build.gradle.kts
@@ -87,3 +87,7 @@ kotlin.sourceSets.all {
tasks.withType {
kotlinOptions.jvmTarget = "11"
}
+
+readme{
+ maturity = ru.mipt.npm.gradle.Maturity.EXPERIMENTAL
+}
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index da9702f9e..28ff446a2 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-6.8-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/kmath-ast/README.md b/kmath-ast/README.md
index 19e9ee4a9..33b118973 100644
--- a/kmath-ast/README.md
+++ b/kmath-ast/README.md
@@ -12,7 +12,7 @@ This subproject implements the following features:
> #### Artifact:
>
-> This module artifact: `kscience.kmath:kmath-ast:0.2.0-dev-4`.
+> This module artifact: `kscience.kmath:kmath-ast:0.2.0-dev-6`.
>
> Bintray release version: [ ![Download](https://api.bintray.com/packages/mipt-npm/kscience/kmath-ast/images/download.svg) ](https://bintray.com/mipt-npm/kscience/kmath-ast/_latestVersion)
>
@@ -30,7 +30,7 @@ This subproject implements the following features:
> }
>
> dependencies {
-> implementation 'kscience.kmath:kmath-ast:0.2.0-dev-4'
+> implementation 'kscience.kmath:kmath-ast:0.2.0-dev-6'
> }
> ```
> **Gradle Kotlin DSL:**
@@ -44,7 +44,7 @@ This subproject implements the following features:
> }
>
> dependencies {
-> implementation("kscience.kmath:kmath-ast:0.2.0-dev-4")
+> implementation("kscience.kmath:kmath-ast:0.2.0-dev-6")
> }
> ```
@@ -61,7 +61,7 @@ For example, the following builder:
RealField.mstInField { symbol("x") + 2 }.compile()
```
-… leads to generation of bytecode, which can be decompiled to the following Java class:
+… leads to generation of bytecode, which can be decompiled to the following Java class:
```java
package kscience.kmath.asm.generated;
diff --git a/kmath-core/README.md b/kmath-core/README.md
index 9ed54b9eb..504171fe2 100644
--- a/kmath-core/README.md
+++ b/kmath-core/README.md
@@ -2,17 +2,20 @@
The core features of KMath:
- - [algebras](src/commonMain/kotlin/kscience/kmath/operations/Algebra.kt) : Algebraic structures: contexts and elements
- - [nd](src/commonMain/kotlin/kscience/kmath/nd/NDStructure.kt) : Many-dimensional structures
+ - [algebras](src/commonMain/kotlin/kscience/kmath/operations/Algebra.kt) : Algebraic structures like rings, spaces and fields.
+ - [nd](src/commonMain/kotlin/kscience/kmath/structures/NDStructure.kt) : Many-dimensional structures and operations on them.
+ - [linear](src/commonMain/kotlin/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.
- [buffers](src/commonMain/kotlin/kscience/kmath/structures/Buffers.kt) : One-dimensional structure
- - [expressions](src/commonMain/kotlin/kscience/kmath/expressions) : Functional Expressions
+ - [expressions](src/commonMain/kotlin/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.
- [domains](src/commonMain/kotlin/kscience/kmath/domains) : Domains
- [autodif](src/commonMain/kotlin/kscience/kmath/expressions/SimpleAutoDiff.kt) : Automatic differentiation
> #### Artifact:
>
-> This module artifact: `kscience.kmath:kmath-core:0.2.0-dev-4`.
+> This module artifact: `kscience.kmath:kmath-core:0.2.0-dev-6`.
>
> Bintray release version: [ ![Download](https://api.bintray.com/packages/mipt-npm/kscience/kmath-core/images/download.svg) ](https://bintray.com/mipt-npm/kscience/kmath-core/_latestVersion)
>
@@ -30,7 +33,7 @@ The core features of KMath:
> }
>
> dependencies {
-> implementation 'kscience.kmath:kmath-core:0.2.0-dev-4'
+> implementation 'kscience.kmath:kmath-core:0.2.0-dev-6'
> }
> ```
> **Gradle Kotlin DSL:**
@@ -44,6 +47,6 @@ The core features of KMath:
> }
>
> dependencies {
-> implementation("kscience.kmath:kmath-core:0.2.0-dev-4")
+> implementation("kscience.kmath:kmath-core:0.2.0-dev-6")
> }
> ```
diff --git a/kmath-core/build.gradle.kts b/kmath-core/build.gradle.kts
index 9ed7e690b..8c495bddc 100644
--- a/kmath-core/build.gradle.kts
+++ b/kmath-core/build.gradle.kts
@@ -16,16 +16,26 @@ readme {
feature(
id = "algebras",
- description = "Algebraic structures: contexts and elements",
+ description = """
+ Algebraic structures like rings, spaces and fields.
+ """.trimIndent(),
ref = "src/commonMain/kotlin/kscience/kmath/operations/Algebra.kt"
)
feature(
id = "nd",
- description = "Many-dimensional structures",
+ description = "Many-dimensional structures and operations on them.",
ref = "src/commonMain/kotlin/kscience/kmath/structures/NDStructure.kt"
)
+ feature(
+ id = "linear",
+ description = """
+ Basic linear algebra operations (sums, products, etc.), backed by the `Space` API. Advanced linear algebra operations like matrix inversion and LU decomposition.
+ """.trimIndent(),
+ ref = "src/commonMain/kotlin/kscience/kmath/operations/Algebra.kt"
+ )
+
feature(
id = "buffers",
description = "One-dimensional structure",
@@ -34,7 +44,11 @@ readme {
feature(
id = "expressions",
- description = "Functional Expressions",
+ description = """
+ 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(),
ref = "src/commonMain/kotlin/kscience/kmath/expressions"
)
diff --git a/kmath-for-real/README.md b/kmath-for-real/README.md
index d6b66b7da..9b191121d 100644
--- a/kmath-for-real/README.md
+++ b/kmath-for-real/README.md
@@ -7,7 +7,7 @@
> #### Artifact:
>
-> This module artifact: `kscience.kmath:kmath-for-real:0.2.0-dev-4`.
+> This module artifact: `kscience.kmath:kmath-for-real:0.2.0-dev-6`.
>
> Bintray release version: [ ![Download](https://api.bintray.com/packages/mipt-npm/kscience/kmath-for-real/images/download.svg) ](https://bintray.com/mipt-npm/kscience/kmath-for-real/_latestVersion)
>
@@ -25,7 +25,7 @@
> }
>
> dependencies {
-> implementation 'kscience.kmath:kmath-for-real:0.2.0-dev-4'
+> implementation 'kscience.kmath:kmath-for-real:0.2.0-dev-6'
> }
> ```
> **Gradle Kotlin DSL:**
@@ -39,6 +39,6 @@
> }
>
> dependencies {
-> implementation("kscience.kmath:kmath-for-real:0.2.0-dev-4")
+> implementation("kscience.kmath:kmath-for-real:0.2.0-dev-6")
> }
> ```
diff --git a/kmath-functions/README.md b/kmath-functions/README.md
new file mode 100644
index 000000000..993baafc4
--- /dev/null
+++ b/kmath-functions/README.md
@@ -0,0 +1,47 @@
+# Functions (`kmath-functions`)
+
+Functions and interpolations:
+
+ - [piecewise](src/commonMain/kotlin/kscience/kmath/functions/Piecewise.kt) : Piecewise functions.
+ - [polynomials](src/commonMain/kotlin/kscience/kmath/functions/Polynomial.kt) : Polynomial functions.
+ - [linear interpolation](src/commonMain/kotlin/kscience/kmath/interpolation/LinearInterpolator.kt) : Linear XY interpolator.
+ - [spline interpolation](src/commonMain/kotlin/kscience/kmath/interpolation/SplineInterpolator.kt) : Cubic spline XY interpolator.
+
+
+> #### Artifact:
+>
+> This module artifact: `kscience.kmath:kmath-functions:0.2.0-dev-6`.
+>
+> Bintray release version: [ ![Download](https://api.bintray.com/packages/mipt-npm/kscience/kmath-functions/images/download.svg) ](https://bintray.com/mipt-npm/kscience/kmath-functions/_latestVersion)
+>
+> Bintray development version: [ ![Download](https://api.bintray.com/packages/mipt-npm/dev/kmath-functions/images/download.svg) ](https://bintray.com/mipt-npm/dev/kmath-functions/_latestVersion)
+>
+> **Gradle:**
+>
+> ```gradle
+> repositories {
+> maven { url "https://dl.bintray.com/kotlin/kotlin-eap" }
+> maven { url 'https://dl.bintray.com/mipt-npm/kscience' }
+> maven { url 'https://dl.bintray.com/mipt-npm/dev' }
+> maven { url 'https://dl.bintray.com/hotkeytlt/maven' }
+>
+> }
+>
+> dependencies {
+> implementation 'kscience.kmath:kmath-functions:0.2.0-dev-6'
+> }
+> ```
+> **Gradle Kotlin DSL:**
+>
+> ```kotlin
+> repositories {
+> maven("https://dl.bintray.com/kotlin/kotlin-eap")
+> maven("https://dl.bintray.com/mipt-npm/kscience")
+> maven("https://dl.bintray.com/mipt-npm/dev")
+> maven("https://dl.bintray.com/hotkeytlt/maven")
+> }
+>
+> dependencies {
+> implementation("kscience.kmath:kmath-functions:0.2.0-dev-6")
+> }
+> ```
diff --git a/kmath-functions/build.gradle.kts b/kmath-functions/build.gradle.kts
index 2a4539c10..3af61a199 100644
--- a/kmath-functions/build.gradle.kts
+++ b/kmath-functions/build.gradle.kts
@@ -7,3 +7,14 @@ kotlin.sourceSets.commonMain {
api(project(":kmath-core"))
}
}
+
+readme {
+ description = "Functions and interpolation"
+ maturity = ru.mipt.npm.gradle.Maturity.PROTOTYPE
+ propertyByTemplate("artifact", rootProject.file("docs/templates/ARTIFACT-TEMPLATE.md"))
+
+ feature("piecewise", "src/commonMain/kotlin/kscience/kmath/functions/Piecewise.kt", "Piecewise functions.")
+ feature("polynomials", "src/commonMain/kotlin/kscience/kmath/functions/Polynomial.kt", "Polynomial functions.")
+ feature("linear interpolation", "src/commonMain/kotlin/kscience/kmath/interpolation/LinearInterpolator.kt", "Linear XY interpolator.")
+ feature("spline interpolation", "src/commonMain/kotlin/kscience/kmath/interpolation/SplineInterpolator.kt", "Cubic spline XY interpolator.")
+}
\ No newline at end of file
diff --git a/kmath-functions/docs/README-TEMPLATE.md b/kmath-functions/docs/README-TEMPLATE.md
new file mode 100644
index 000000000..8a34a7cc4
--- /dev/null
+++ b/kmath-functions/docs/README-TEMPLATE.md
@@ -0,0 +1,7 @@
+# Functions (`kmath-functions`)
+
+Functions and interpolations:
+
+${features}
+
+${artifact}
diff --git a/kmath-functions/src/commonMain/kotlin/kscience/kmath/functions/Piecewise.kt b/kmath-functions/src/commonMain/kotlin/kscience/kmath/functions/Piecewise.kt
index a8c020c05..8394ab39d 100644
--- a/kmath-functions/src/commonMain/kotlin/kscience/kmath/functions/Piecewise.kt
+++ b/kmath-functions/src/commonMain/kotlin/kscience/kmath/functions/Piecewise.kt
@@ -6,8 +6,7 @@ public fun interface Piecewise {
public fun findPiece(arg: T): R?
}
-public fun interface PiecewisePolynomial :
- Piecewise>
+public fun interface PiecewisePolynomial : Piecewise>
/**
* Ordered list of pieces in piecewise function
diff --git a/kmath-nd4j/README.md b/kmath-nd4j/README.md
index ff4ff4542..5ef42bab3 100644
--- a/kmath-nd4j/README.md
+++ b/kmath-nd4j/README.md
@@ -9,7 +9,7 @@ This subproject implements the following features:
> #### Artifact:
>
-> This module artifact: `kscience.kmath:kmath-nd4j:0.2.0-dev-4`.
+> This module artifact: `kscience.kmath:kmath-nd4j:0.2.0-dev-6`.
>
> Bintray release version: [ ![Download](https://api.bintray.com/packages/mipt-npm/kscience/kmath-nd4j/images/download.svg) ](https://bintray.com/mipt-npm/kscience/kmath-nd4j/_latestVersion)
>
@@ -27,7 +27,7 @@ This subproject implements the following features:
> }
>
> dependencies {
-> implementation 'kscience.kmath:kmath-nd4j:0.2.0-dev-4'
+> implementation 'kscience.kmath:kmath-nd4j:0.2.0-dev-6'
> }
> ```
> **Gradle Kotlin DSL:**
@@ -41,7 +41,7 @@ This subproject implements the following features:
> }
>
> dependencies {
-> implementation("kscience.kmath:kmath-nd4j:0.2.0-dev-4")
+> implementation("kscience.kmath:kmath-nd4j:0.2.0-dev-6")
> }
> ```
diff --git a/settings.gradle.kts b/settings.gradle.kts
index a1ea40148..44ba32752 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -8,7 +8,7 @@ pluginManagement {
maven("https://dl.bintray.com/kotlin/kotlinx")
}
- val toolsVersion = "0.7.3-1.4.30-RC"
+ val toolsVersion = "0.7.4"
val kotlinVersion = "1.4.30-RC"
plugins {