diff --git a/CHANGELOG.md b/CHANGELOG.md
index 644c634b2..8b4dddf81 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,6 +19,7 @@
### Removed
- Nearest in Domain. To be implemented in geometry package.
- Number multiplication and division in main Algebra chain
+- `contentEquals` from Buffer. It moved to the companion.
### Fixed
diff --git a/README.md b/README.md
index 436495c9c..2aaeb3150 100644
--- a/README.md
+++ b/README.md
@@ -87,12 +87,12 @@ KMath is a modular library. Different modules provide different features with di
> **Maturity**: PROTOTYPE
>
> **Features:**
-> - [expression-language](kmath-ast/src/jvmMain/kotlin/kscience/kmath/ast/parser.kt) : Expression language and its parser
-> - [mst](kmath-ast/src/commonMain/kotlin/kscience/kmath/ast/MST.kt) : MST (Mathematical Syntax Tree) as expression language's syntax intermediate representation
-> - [mst-building](kmath-ast/src/commonMain/kotlin/kscience/kmath/ast/MstAlgebra.kt) : MST building algebraic structure
-> - [mst-interpreter](kmath-ast/src/commonMain/kotlin/kscience/kmath/ast/MST.kt) : MST interpreter
-> - [mst-jvm-codegen](kmath-ast/src/jvmMain/kotlin/kscience/kmath/asm/asm.kt) : Dynamic MST to JVM bytecode compiler
-> - [mst-js-codegen](kmath-ast/src/jsMain/kotlin/kscience/kmath/estree/estree.kt) : Dynamic MST to JS compiler
+> - [expression-language](kmath-ast/src/jvmMain/kotlin/space/kscience/kmath/ast/parser.kt) : Expression language and its parser
+> - [mst](kmath-ast/src/commonMain/kotlin/space/kscience/kmath/ast/MST.kt) : MST (Mathematical Syntax Tree) as expression language's syntax intermediate representation
+> - [mst-building](kmath-ast/src/commonMain/kotlin/space/kscience/kmath/ast/MstAlgebra.kt) : MST building algebraic structure
+> - [mst-interpreter](kmath-ast/src/commonMain/kotlin/space/kscience/kmath/ast/MST.kt) : MST interpreter
+> - [mst-jvm-codegen](kmath-ast/src/jvmMain/kotlin/space/kscience/kmath/asm/asm.kt) : Dynamic MST to JVM bytecode compiler
+> - [mst-js-codegen](kmath-ast/src/jsMain/kotlin/space/kscience/kmath/estree/estree.kt) : Dynamic MST to JS compiler
@@ -108,8 +108,8 @@ KMath is a modular library. Different modules provide different features with di
> **Maturity**: PROTOTYPE
>
> **Features:**
-> - [complex](kmath-complex/src/commonMain/kotlin/kscience/kmath/complex/Complex.kt) : Complex Numbers
-> - [quaternion](kmath-complex/src/commonMain/kotlin/kscience/kmath/complex/Quaternion.kt) : Quaternions
+> - [complex](kmath-complex/src/commonMain/kotlin/space/kscience/kmath/complex/Complex.kt) : Complex Numbers
+> - [quaternion](kmath-complex/src/commonMain/kotlin/space/kscience/kmath/complex/Quaternion.kt) : Quaternions
@@ -119,15 +119,15 @@ KMath is a modular library. Different modules provide different features with di
> **Maturity**: DEVELOPMENT
>
> **Features:**
-> - [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) : By writing a single mathematical expression once, users will be able to apply different types of
+> - [algebras](kmath-core/src/commonMain/kotlin/space/kscience/kmath/operations/Algebra.kt) : Algebraic structures like rings, spaces and fields.
+> - [nd](kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/StructureND.kt) : Many-dimensional structures and operations on them.
+> - [linear](kmath-core/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.
+> - [buffers](kmath-core/src/commonMain/kotlin/space/kscience/kmath/structures/Buffer.kt) : One-dimensional structure
+> - [expressions](kmath-core/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.
-> - [domains](kmath-core/src/commonMain/kotlin/kscience/kmath/domains) : Domains
-> - [autodif](kmath-core/src/commonMain/kotlin/kscience/kmath/expressions/SimpleAutoDiff.kt) : Automatic differentiation
+> - [domains](kmath-core/src/commonMain/kotlin/space/kscience/kmath/domains) : Domains
+> - [autodif](kmath-core/src/commonMain/kotlin/space/kscience/kmath/expressions/SimpleAutoDiff.kt) : Automatic differentiation
@@ -157,9 +157,9 @@ One can still use generic algebras though.
> **Maturity**: EXPERIMENTAL
>
> **Features:**
-> - [RealVector](kmath-for-real/src/commonMain/kotlin/kscience/kmath/real/RealVector.kt) : Numpy-like operations for Buffers/Points
-> - [RealMatrix](kmath-for-real/src/commonMain/kotlin/kscience/kmath/real/RealMatrix.kt) : Numpy-like operations for 2d real structures
-> - [grids](kmath-for-real/src/commonMain/kotlin/kscience/kmath/structures/grids.kt) : Uniform grid generators
+> - [DoubleVector](kmath-for-real/src/commonMain/kotlin/space/kscience/kmath/real/DoubleVector.kt) : Numpy-like operations for Buffers/Points
+> - [DoubleMatrix](kmath-for-real/src/commonMain/kotlin/space/kscience/kmath/real/DoubleMatrix.kt) : Numpy-like operations for 2d real structures
+> - [grids](kmath-for-real/src/commonMain/kotlin/space/kscience/kmath/structures/grids.kt) : Uniform grid generators
@@ -169,10 +169,10 @@ One can still use generic algebras though.
> **Maturity**: PROTOTYPE
>
> **Features:**
-> - [piecewise](kmath-functions/Piecewise functions.) : src/commonMain/kotlin/kscience/kmath/functions/Piecewise.kt
-> - [polynomials](kmath-functions/Polynomial functions.) : src/commonMain/kotlin/kscience/kmath/functions/Polynomial.kt
-> - [linear interpolation](kmath-functions/Linear XY interpolator.) : src/commonMain/kotlin/kscience/kmath/interpolation/LinearInterpolator.kt
-> - [spline interpolation](kmath-functions/Cubic spline XY interpolator.) : src/commonMain/kotlin/kscience/kmath/interpolation/SplineInterpolator.kt
+> - [piecewise](kmath-functions/Piecewise functions.) : src/commonMain/kotlin/space/kscience/kmath/functions/Piecewise.kt
+> - [polynomials](kmath-functions/Polynomial functions.) : src/commonMain/kotlin/space/kscience/kmath/functions/Polynomial.kt
+> - [linear interpolation](kmath-functions/Linear XY interpolator.) : src/commonMain/kotlin/space/kscience/kmath/interpolation/LinearInterpolator.kt
+> - [spline interpolation](kmath-functions/Cubic spline XY interpolator.) : src/commonMain/kotlin/space/kscience/kmath/interpolation/SplineInterpolator.kt
@@ -206,9 +206,9 @@ One can still use generic algebras though.
> **Maturity**: EXPERIMENTAL
>
> **Features:**
-> - [nd4jarraystructure](kmath-nd4j/src/commonMain/kotlin/kscience/kmath/operations/Algebra.kt) : NDStructure wrapper for INDArray
-> - [nd4jarrayrings](kmath-nd4j/src/commonMain/kotlin/kscience/kmath/structures/NDStructure.kt) : Rings over Nd4jArrayStructure of Int and Long
-> - [nd4jarrayfields](kmath-nd4j/src/commonMain/kotlin/kscience/kmath/structures/Buffers.kt) : Fields over Nd4jArrayStructure of Float and Double
+> - [nd4jarraystructure](kmath-nd4j/src/commonMain/kotlin/space/kscience/kmath/operations/Algebra.kt) : NDStructure wrapper for INDArray
+> - [nd4jarrayrings](kmath-nd4j/src/commonMain/kotlin/space/kscience/kmath/structures/NDStructure.kt) : Rings over Nd4jArrayStructure of Int and Long
+> - [nd4jarrayfields](kmath-nd4j/src/commonMain/kotlin/space/kscience/kmath/structures/Buffers.kt) : Fields over Nd4jArrayStructure of Float and Double
@@ -254,8 +254,8 @@ repositories {
}
dependencies {
- api("space.kscience:kmath-core:0.3.0-dev-2")
- // api("kscience.kmath:kmath-core-jvm:0.3.0-dev-2") for jvm-specific version
+ api("space.kscience:kmath-core:0.3.0-dev-3")
+ // api("kscience.kmath:kmath-core-jvm:0.3.0-dev-3") for jvm-specific version
}
```
diff --git a/build.gradle.kts b/build.gradle.kts
index 9810e378f..5f1a8b88a 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -20,7 +20,7 @@ allprojects {
}
group = "space.kscience"
- version = "0.3.0-dev-2"
+ version = "0.3.0-dev-3"
}
subprojects {
diff --git a/kmath-ast/README.md b/kmath-ast/README.md
index 1b3f70080..4c79b5b36 100644
--- a/kmath-ast/README.md
+++ b/kmath-ast/README.md
@@ -2,17 +2,17 @@
This subproject implements the following features:
- - [expression-language](src/jvmMain/kotlin/kscience/kmath/ast/parser.kt) : Expression language and its parser
- - [mst](src/commonMain/kotlin/kscience/kmath/ast/MST.kt) : MST (Mathematical Syntax Tree) as expression language's syntax intermediate representation
- - [mst-building](src/commonMain/kotlin/kscience/kmath/ast/MstAlgebra.kt) : MST building algebraic structure
- - [mst-interpreter](src/commonMain/kotlin/kscience/kmath/ast/MST.kt) : MST interpreter
- - [mst-jvm-codegen](src/jvmMain/kotlin/kscience/kmath/asm/asm.kt) : Dynamic MST to JVM bytecode compiler
- - [mst-js-codegen](src/jsMain/kotlin/kscience/kmath/estree/estree.kt) : Dynamic MST to JS compiler
+ - [expression-language](src/jvmMain/kotlin/space/kscience/kmath/ast/parser.kt) : Expression language and its parser
+ - [mst](src/commonMain/kotlin/space/kscience/kmath/ast/MST.kt) : MST (Mathematical Syntax Tree) as expression language's syntax intermediate representation
+ - [mst-building](src/commonMain/kotlin/space/kscience/kmath/ast/MstAlgebra.kt) : MST building algebraic structure
+ - [mst-interpreter](src/commonMain/kotlin/space/kscience/kmath/ast/MST.kt) : MST interpreter
+ - [mst-jvm-codegen](src/jvmMain/kotlin/space/kscience/kmath/asm/asm.kt) : Dynamic MST to JVM bytecode compiler
+ - [mst-js-codegen](src/jsMain/kotlin/space/kscience/kmath/estree/estree.kt) : Dynamic MST to JS compiler
> #### Artifact:
>
-> This module artifact: `space.kscience:kmath-ast:0.3.0-dev-2`.
+> This module artifact: `space.kscience:kmath-ast:0.3.0-dev-3`.
>
> 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)
>
@@ -25,13 +25,10 @@ This subproject implements the following features:
> maven { url 'https://repo.kotlin.link' }
> maven { url 'https://dl.bintray.com/hotkeytlt/maven' }
> maven { url "https://dl.bintray.com/kotlin/kotlin-eap" } // include for builds based on kotlin-eap
->// Uncomment if repo.kotlin.link is unavailable
->// maven { url 'https://dl.bintray.com/mipt-npm/kscience' }
->// maven { url 'https://dl.bintray.com/mipt-npm/dev' }
> }
>
> dependencies {
-> implementation 'space.kscience:kmath-ast:0.3.0-dev-2'
+> implementation 'space.kscience:kmath-ast:0.3.0-dev-3'
> }
> ```
> **Gradle Kotlin DSL:**
@@ -41,13 +38,10 @@ This subproject implements the following features:
> maven("https://repo.kotlin.link")
> maven("https://dl.bintray.com/kotlin/kotlin-eap") // include for builds based on kotlin-eap
> maven("https://dl.bintray.com/hotkeytlt/maven") // required for a
->// Uncomment if repo.kotlin.link is unavailable
->// maven("https://dl.bintray.com/mipt-npm/kscience")
->// maven("https://dl.bintray.com/mipt-npm/dev")
> }
>
> dependencies {
-> implementation("space.kscience:kmath-ast:0.3.0-dev-2")
+> implementation("space.kscience:kmath-ast:0.3.0-dev-3")
> }
> ```
diff --git a/kmath-ast/build.gradle.kts b/kmath-ast/build.gradle.kts
index 5b764459c..e3a7faf0a 100644
--- a/kmath-ast/build.gradle.kts
+++ b/kmath-ast/build.gradle.kts
@@ -58,36 +58,36 @@ readme {
feature(
id = "expression-language",
description = "Expression language and its parser",
- ref = "src/jvmMain/kotlin/kscience/kmath/ast/parser.kt"
+ ref = "src/jvmMain/kotlin/space/kscience/kmath/ast/parser.kt"
)
feature(
id = "mst",
description = "MST (Mathematical Syntax Tree) as expression language's syntax intermediate representation",
- ref = "src/commonMain/kotlin/kscience/kmath/ast/MST.kt"
+ ref = "src/commonMain/kotlin/space/kscience/kmath/ast/MST.kt"
)
feature(
id = "mst-building",
description = "MST building algebraic structure",
- ref = "src/commonMain/kotlin/kscience/kmath/ast/MstAlgebra.kt"
+ ref = "src/commonMain/kotlin/space/kscience/kmath/ast/MstAlgebra.kt"
)
feature(
id = "mst-interpreter",
description = "MST interpreter",
- ref = "src/commonMain/kotlin/kscience/kmath/ast/MST.kt"
+ ref = "src/commonMain/kotlin/space/kscience/kmath/ast/MST.kt"
)
feature(
id = "mst-jvm-codegen",
description = "Dynamic MST to JVM bytecode compiler",
- ref = "src/jvmMain/kotlin/kscience/kmath/asm/asm.kt"
+ ref = "src/jvmMain/kotlin/space/kscience/kmath/asm/asm.kt"
)
feature(
id = "mst-js-codegen",
description = "Dynamic MST to JS compiler",
- ref = "src/jsMain/kotlin/kscience/kmath/estree/estree.kt"
+ ref = "src/jsMain/kotlin/space/kscience/kmath/estree/estree.kt"
)
}
diff --git a/kmath-complex/README.md b/kmath-complex/README.md
index 7a7628a2c..9e9cd5b6f 100644
--- a/kmath-complex/README.md
+++ b/kmath-complex/README.md
@@ -2,13 +2,13 @@
Complex and hypercomplex number systems in KMath:
- - [complex](src/commonMain/kotlin/kscience/kmath/complex/Complex.kt) : Complex Numbers
- - [quaternion](src/commonMain/kotlin/kscience/kmath/complex/Quaternion.kt) : Quaternions
+ - [complex](src/commonMain/kotlin/space/kscience/kmath/complex/Complex.kt) : Complex Numbers
+ - [quaternion](src/commonMain/kotlin/space/kscience/kmath/complex/Quaternion.kt) : Quaternions
> #### Artifact:
>
-> This module artifact: `space.kscience:kmath-complex:0.3.0-dev-2`.
+> This module artifact: `space.kscience:kmath-complex:0.3.0-dev-3`.
>
> Bintray release version: [ ![Download](https://api.bintray.com/packages/mipt-npm/kscience/kmath-complex/images/download.svg) ](https://bintray.com/mipt-npm/kscience/kmath-complex/_latestVersion)
>
@@ -21,13 +21,10 @@ Complex and hypercomplex number systems in KMath:
> maven { url 'https://repo.kotlin.link' }
> maven { url 'https://dl.bintray.com/hotkeytlt/maven' }
> maven { url "https://dl.bintray.com/kotlin/kotlin-eap" } // include for builds based on kotlin-eap
->// Uncomment if repo.kotlin.link is unavailable
->// maven { url 'https://dl.bintray.com/mipt-npm/kscience' }
->// maven { url 'https://dl.bintray.com/mipt-npm/dev' }
> }
>
> dependencies {
-> implementation 'space.kscience:kmath-complex:0.3.0-dev-2'
+> implementation 'space.kscience:kmath-complex:0.3.0-dev-3'
> }
> ```
> **Gradle Kotlin DSL:**
@@ -37,12 +34,9 @@ Complex and hypercomplex number systems in KMath:
> maven("https://repo.kotlin.link")
> maven("https://dl.bintray.com/kotlin/kotlin-eap") // include for builds based on kotlin-eap
> maven("https://dl.bintray.com/hotkeytlt/maven") // required for a
->// Uncomment if repo.kotlin.link is unavailable
->// maven("https://dl.bintray.com/mipt-npm/kscience")
->// maven("https://dl.bintray.com/mipt-npm/dev")
> }
>
> dependencies {
-> implementation("space.kscience:kmath-complex:0.3.0-dev-2")
+> implementation("space.kscience:kmath-complex:0.3.0-dev-3")
> }
> ```
diff --git a/kmath-complex/build.gradle.kts b/kmath-complex/build.gradle.kts
index 4cd43c70c..5b9dc3ba0 100644
--- a/kmath-complex/build.gradle.kts
+++ b/kmath-complex/build.gradle.kts
@@ -25,12 +25,12 @@ readme {
feature(
id = "complex",
description = "Complex Numbers",
- ref = "src/commonMain/kotlin/kscience/kmath/complex/Complex.kt"
+ ref = "src/commonMain/kotlin/space/kscience/kmath/complex/Complex.kt"
)
feature(
id = "quaternion",
description = "Quaternions",
- ref = "src/commonMain/kotlin/kscience/kmath/complex/Quaternion.kt"
+ ref = "src/commonMain/kotlin/space/kscience/kmath/complex/Quaternion.kt"
)
}
diff --git a/kmath-core/README.md b/kmath-core/README.md
index 14f1ecb41..dd54b7aeb 100644
--- a/kmath-core/README.md
+++ b/kmath-core/README.md
@@ -2,20 +2,20 @@
The core features of KMath:
- - [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) : By writing a single mathematical expression once, users will be able to apply different types of
+ - [algebras](src/commonMain/kotlin/space/kscience/kmath/operations/Algebra.kt) : Algebraic structures like rings, spaces and fields.
+ - [nd](src/commonMain/kotlin/space/kscience/kmath/structures/NDStructure.kt) : Many-dimensional structures and operations on them.
+ - [linear](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.
+ - [buffers](src/commonMain/kotlin/space/kscience/kmath/structures/Buffers.kt) : One-dimensional structure
+ - [expressions](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.
- - [domains](src/commonMain/kotlin/kscience/kmath/domains) : Domains
- - [autodif](src/commonMain/kotlin/kscience/kmath/expressions/SimpleAutoDiff.kt) : Automatic differentiation
+ - [domains](src/commonMain/kotlin/space/kscience/kmath/domains) : Domains
+ - [autodif](src/commonMain/kotlin/space/kscience/kmath/expressions/SimpleAutoDiff.kt) : Automatic differentiation
> #### Artifact:
>
-> This module artifact: `space.kscience:kmath-core:0.3.0-dev-2`.
+> This module artifact: `space.kscience:kmath-core:0.3.0-dev-3`.
>
> 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)
>
@@ -28,13 +28,10 @@ performance calculations to code generation.
> maven { url 'https://repo.kotlin.link' }
> maven { url 'https://dl.bintray.com/hotkeytlt/maven' }
> maven { url "https://dl.bintray.com/kotlin/kotlin-eap" } // include for builds based on kotlin-eap
->// Uncomment if repo.kotlin.link is unavailable
->// maven { url 'https://dl.bintray.com/mipt-npm/kscience' }
->// maven { url 'https://dl.bintray.com/mipt-npm/dev' }
> }
>
> dependencies {
-> implementation 'space.kscience:kmath-core:0.3.0-dev-2'
+> implementation 'space.kscience:kmath-core:0.3.0-dev-3'
> }
> ```
> **Gradle Kotlin DSL:**
@@ -44,12 +41,9 @@ performance calculations to code generation.
> maven("https://repo.kotlin.link")
> maven("https://dl.bintray.com/kotlin/kotlin-eap") // include for builds based on kotlin-eap
> maven("https://dl.bintray.com/hotkeytlt/maven") // required for a
->// Uncomment if repo.kotlin.link is unavailable
->// maven("https://dl.bintray.com/mipt-npm/kscience")
->// maven("https://dl.bintray.com/mipt-npm/dev")
> }
>
> dependencies {
-> implementation("space.kscience:kmath-core:0.3.0-dev-2")
+> implementation("space.kscience:kmath-core:0.3.0-dev-3")
> }
> ```
diff --git a/kmath-core/api/kmath-core.api b/kmath-core/api/kmath-core.api
index 529f6c5f8..04325379e 100644
--- a/kmath-core/api/kmath-core.api
+++ b/kmath-core/api/kmath-core.api
@@ -721,11 +721,11 @@ public final class space/kscience/kmath/nd/BufferAlgebraNDKt {
public static final fun ring (Lspace/kscience/kmath/nd/AlgebraND$Companion;Lspace/kscience/kmath/operations/Ring;Lkotlin/jvm/functions/Function2;[I)Lspace/kscience/kmath/nd/BufferedRingND;
}
-public class space/kscience/kmath/nd/BufferND : space/kscience/kmath/nd/StructureND {
+public final class space/kscience/kmath/nd/BufferND : space/kscience/kmath/nd/StructureND {
public fun (Lspace/kscience/kmath/nd/Strides;Lspace/kscience/kmath/structures/Buffer;)V
public fun elements ()Lkotlin/sequences/Sequence;
public fun get ([I)Ljava/lang/Object;
- public fun getBuffer ()Lspace/kscience/kmath/structures/Buffer;
+ public final fun getBuffer ()Lspace/kscience/kmath/structures/Buffer;
public fun getDimension ()I
public fun getShape ()[I
public final fun getStrides ()Lspace/kscience/kmath/nd/Strides;
@@ -972,13 +972,6 @@ public final class space/kscience/kmath/nd/GroupND$DefaultImpls {
public static fun unaryPlus (Lspace/kscience/kmath/nd/GroupND;Lspace/kscience/kmath/nd/StructureND;)Lspace/kscience/kmath/nd/StructureND;
}
-public final class space/kscience/kmath/nd/MutableBufferND : space/kscience/kmath/nd/BufferND, space/kscience/kmath/nd/MutableStructureND {
- public fun (Lspace/kscience/kmath/nd/Strides;Lspace/kscience/kmath/structures/MutableBuffer;)V
- public synthetic fun getBuffer ()Lspace/kscience/kmath/structures/Buffer;
- public fun getBuffer ()Lspace/kscience/kmath/structures/MutableBuffer;
- public fun set ([ILjava/lang/Object;)V
-}
-
public abstract interface class space/kscience/kmath/nd/MutableStructureND : space/kscience/kmath/nd/StructureND {
public abstract fun set ([ILjava/lang/Object;)V
}
@@ -1127,6 +1120,7 @@ public final class space/kscience/kmath/nd/StructureND$Companion {
public static synthetic fun buffered$default (Lspace/kscience/kmath/nd/StructureND$Companion;Lspace/kscience/kmath/nd/Strides;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lspace/kscience/kmath/nd/BufferND;
public static synthetic fun buffered$default (Lspace/kscience/kmath/nd/StructureND$Companion;[ILkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lspace/kscience/kmath/nd/BufferND;
public final fun contentEquals (Lspace/kscience/kmath/nd/StructureND;Lspace/kscience/kmath/nd/StructureND;)Z
+ public final fun toString (Lspace/kscience/kmath/nd/StructureND;)Ljava/lang/String;
}
public final class space/kscience/kmath/nd/StructureND$DefaultImpls {
diff --git a/kmath-core/build.gradle.kts b/kmath-core/build.gradle.kts
index 8d30f1d6e..2fed3eb2f 100644
--- a/kmath-core/build.gradle.kts
+++ b/kmath-core/build.gradle.kts
@@ -23,13 +23,13 @@ readme {
description = """
Algebraic structures like rings, spaces and fields.
""".trimIndent(),
- ref = "src/commonMain/kotlin/kscience/kmath/operations/Algebra.kt"
+ ref = "src/commonMain/kotlin/space/kscience/kmath/operations/Algebra.kt"
)
feature(
id = "nd",
description = "Many-dimensional structures and operations on them.",
- ref = "src/commonMain/kotlin/kscience/kmath/structures/NDStructure.kt"
+ ref = "src/commonMain/kotlin/space/kscience/kmath/structures/StructureND.kt"
)
feature(
@@ -37,13 +37,13 @@ readme {
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"
+ ref = "src/commonMain/kotlin/space/kscience/kmath/operations/Algebra.kt"
)
feature(
id = "buffers",
description = "One-dimensional structure",
- ref = "src/commonMain/kotlin/kscience/kmath/structures/Buffers.kt"
+ ref = "src/commonMain/kotlin/space/kscience/kmath/structures/Buffers.kt"
)
feature(
@@ -53,18 +53,18 @@ readme {
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"
+ ref = "src/commonMain/kotlin/space/kscience/kmath/expressions"
)
feature(
id = "domains",
description = "Domains",
- ref = "src/commonMain/kotlin/kscience/kmath/domains"
+ ref = "src/commonMain/kotlin/space/kscience/kmath/domains"
)
feature(
id = "autodif",
description = "Automatic differentiation",
- ref = "src/commonMain/kotlin/kscience/kmath/expressions/SimpleAutoDiff.kt"
+ ref = "src/commonMain/kotlin/space/kscience/kmath/expressions/SimpleAutoDiff.kt"
)
}
diff --git a/kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/BufferND.kt b/kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/BufferND.kt
new file mode 100644
index 000000000..c7f8d222d
--- /dev/null
+++ b/kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/BufferND.kt
@@ -0,0 +1,48 @@
+package space.kscience.kmath.nd
+
+import space.kscience.kmath.structures.Buffer
+import space.kscience.kmath.structures.BufferFactory
+
+/**
+ * Represents [StructureND] over [Buffer].
+ *
+ * @param T the type of items.
+ * @param strides The strides to access elements of [Buffer] by linear indices.
+ * @param buffer The underlying buffer.
+ */
+public class BufferND(
+ public val strides: Strides,
+ public val buffer: Buffer,
+) : StructureND {
+
+ init {
+ if (strides.linearSize != buffer.size) {
+ error("Expected buffer side of ${strides.linearSize}, but found ${buffer.size}")
+ }
+ }
+
+ override operator fun get(index: IntArray): T = buffer[strides.offset(index)]
+
+ override val shape: IntArray get() = strides.shape
+
+ override fun elements(): Sequence> = strides.indices().map {
+ it to this[it]
+ }
+
+ override fun toString(): String = StructureND.toString(this)
+}
+
+/**
+ * Transform structure to a new structure using provided [BufferFactory] and optimizing if argument is [BufferND]
+ */
+public inline fun StructureND.mapToBuffer(
+ factory: BufferFactory = Buffer.Companion::auto,
+ crossinline transform: (T) -> R,
+): BufferND {
+ return if (this is BufferND)
+ BufferND(this.strides, factory.invoke(strides.linearSize) { transform(buffer[it]) })
+ else {
+ val strides = DefaultStrides(shape)
+ BufferND(strides, factory.invoke(strides.linearSize) { transform(get(strides.index(it))) })
+ }
+}
\ No newline at end of file
diff --git a/kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/StructureND.kt b/kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/StructureND.kt
index b31ce3eac..78eac1809 100644
--- a/kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/StructureND.kt
+++ b/kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/StructureND.kt
@@ -3,8 +3,6 @@ package space.kscience.kmath.nd
import space.kscience.kmath.misc.UnstableKMathAPI
import space.kscience.kmath.structures.Buffer
import space.kscience.kmath.structures.BufferFactory
-import space.kscience.kmath.structures.MutableBuffer
-import space.kscience.kmath.structures.asSequence
import kotlin.jvm.JvmName
import kotlin.native.concurrent.ThreadLocal
import kotlin.reflect.KClass
@@ -56,7 +54,7 @@ public interface StructureND {
/**
* Indicates whether some [StructureND] is equal to another one.
*/
- public fun contentEquals(st1: StructureND, st2: StructureND): Boolean {
+ public fun contentEquals(st1: StructureND, st2: StructureND): Boolean {
if (st1 === st2) return true
// fast comparison of buffers if possible
@@ -67,6 +65,25 @@ public interface StructureND {
return st1.elements().all { (index, value) -> value == st2[index] }
}
+ /**
+ * Debug output to string
+ */
+ public fun toString(structure: StructureND<*>): String {
+ val bufferRepr: String = when (structure.shape.size) {
+ 1 -> (0 until structure.shape[0]).map { structure[it] }
+ .joinToString(prefix = "[", postfix = "]", separator = ", ")
+ 2 -> (0 until structure.shape[0]).joinToString(prefix = "[", postfix = "]", separator = ", ") { i ->
+ (0 until structure.shape[1]).joinToString(prefix = "[", postfix = "]", separator = ", ") { j ->
+ structure[i, j].toString()
+ }
+ }
+ else -> "..."
+ }
+ val className = structure::class.simpleName ?: "StructureND"
+
+ return "$className(shape=${structure.shape.contentToString()}, buffer=$bufferRepr)"
+ }
+
/**
* Creates a NDStructure with explicit buffer factory.
*
@@ -249,83 +266,6 @@ public class DefaultStrides private constructor(override val shape: IntArray) :
}
}
-/**
- * Represents [StructureND] over [Buffer].
- *
- * @param T the type of items.
- * @param strides The strides to access elements of [Buffer] by linear indices.
- * @param buffer The underlying buffer.
- */
-public open class BufferND(
- public val strides: Strides,
- buffer: Buffer,
-) : StructureND {
-
- init {
- if (strides.linearSize != buffer.size) {
- error("Expected buffer side of ${strides.linearSize}, but found ${buffer.size}")
- }
- }
-
- public open val buffer: Buffer = buffer
-
- override operator fun get(index: IntArray): T = buffer[strides.offset(index)]
-
- override val shape: IntArray get() = strides.shape
-
- override fun elements(): Sequence> = strides.indices().map {
- it to this[it]
- }
-
- override fun toString(): String {
- val bufferRepr: String = when (shape.size) {
- 1 -> buffer.asSequence().joinToString(prefix = "[", postfix = "]", separator = ", ")
- 2 -> (0 until shape[0]).joinToString(prefix = "[", postfix = "]", separator = ", ") { i ->
- (0 until shape[1]).joinToString(prefix = "[", postfix = "]", separator = ", ") { j ->
- val offset = strides.offset(intArrayOf(i, j))
- buffer[offset].toString()
- }
- }
- else -> "..."
- }
- return "NDBuffer(shape=${shape.contentToString()}, buffer=$bufferRepr)"
- }
-}
-
-/**
- * Transform structure to a new structure using provided [BufferFactory] and optimizing if argument is [BufferND]
- */
-public inline fun StructureND.mapToBuffer(
- factory: BufferFactory = Buffer.Companion::auto,
- crossinline transform: (T) -> R,
-): BufferND {
- return if (this is BufferND)
- BufferND(this.strides, factory.invoke(strides.linearSize) { transform(buffer[it]) })
- else {
- val strides = DefaultStrides(shape)
- BufferND(strides, factory.invoke(strides.linearSize) { transform(get(strides.index(it))) })
- }
-}
-
-/**
- * Mutable ND buffer based on linear [MutableBuffer].
- */
-public class MutableBufferND(
- strides: Strides,
- buffer: MutableBuffer,
-) : BufferND(strides, buffer), MutableStructureND {
-
- init {
- require(strides.linearSize == buffer.size) {
- "Expected buffer side of ${strides.linearSize}, but found ${buffer.size}"
- }
- }
-
- override val buffer: MutableBuffer = super.buffer as MutableBuffer
-
- override operator fun set(index: IntArray, value: T): Unit = buffer.set(strides.offset(index), value)
-}
-
public inline fun StructureND.combine(
struct: StructureND,
crossinline block: (T, T) -> T,
diff --git a/kmath-core/src/commonMain/kotlin/space/kscience/kmath/structures/Buffer.kt b/kmath-core/src/commonMain/kotlin/space/kscience/kmath/structures/Buffer.kt
index b29181cea..7ce098ed1 100644
--- a/kmath-core/src/commonMain/kotlin/space/kscience/kmath/structures/Buffer.kt
+++ b/kmath-core/src/commonMain/kotlin/space/kscience/kmath/structures/Buffer.kt
@@ -41,6 +41,9 @@ public interface Buffer {
public companion object {
+ /**
+ * Check the element-by-element match of content of two buffers.
+ */
public fun contentEquals(first: Buffer, second: Buffer): Boolean{
if (first.size != second.size) return false
for (i in first.indices) {
diff --git a/kmath-for-real/README.md b/kmath-for-real/README.md
index 63c5cd249..139cd3cef 100644
--- a/kmath-for-real/README.md
+++ b/kmath-for-real/README.md
@@ -1,13 +1,13 @@
# Real number specialization module (`kmath-for-real`)
- - [RealVector](src/commonMain/kotlin/kscience/kmath/real/RealVector.kt) : Numpy-like operations for Buffers/Points
- - [RealMatrix](src/commonMain/kotlin/kscience/kmath/real/RealMatrix.kt) : Numpy-like operations for 2d real structures
- - [grids](src/commonMain/kotlin/kscience/kmath/structures/grids.kt) : Uniform grid generators
+ - [DoubleVector](src/commonMain/kotlin/space/kscience/kmath/real/DoubleVector.kt) : Numpy-like operations for Buffers/Points
+ - [DoubleMatrix](src/commonMain/kotlin/space/kscience/kmath/real/DoubleMatrix.kt) : Numpy-like operations for 2d real structures
+ - [grids](src/commonMain/kotlin/space/kscience/kmath/structures/grids.kt) : Uniform grid generators
> #### Artifact:
>
-> This module artifact: `space.kscience:kmath-for-real:0.3.0-dev-2`.
+> This module artifact: `space.kscience:kmath-for-real:0.3.0-dev-3`.
>
> 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)
>
@@ -20,13 +20,10 @@
> maven { url 'https://repo.kotlin.link' }
> maven { url 'https://dl.bintray.com/hotkeytlt/maven' }
> maven { url "https://dl.bintray.com/kotlin/kotlin-eap" } // include for builds based on kotlin-eap
->// Uncomment if repo.kotlin.link is unavailable
->// maven { url 'https://dl.bintray.com/mipt-npm/kscience' }
->// maven { url 'https://dl.bintray.com/mipt-npm/dev' }
> }
>
> dependencies {
-> implementation 'space.kscience:kmath-for-real:0.3.0-dev-2'
+> implementation 'space.kscience:kmath-for-real:0.3.0-dev-3'
> }
> ```
> **Gradle Kotlin DSL:**
@@ -36,12 +33,9 @@
> maven("https://repo.kotlin.link")
> maven("https://dl.bintray.com/kotlin/kotlin-eap") // include for builds based on kotlin-eap
> maven("https://dl.bintray.com/hotkeytlt/maven") // required for a
->// Uncomment if repo.kotlin.link is unavailable
->// maven("https://dl.bintray.com/mipt-npm/kscience")
->// maven("https://dl.bintray.com/mipt-npm/dev")
> }
>
> dependencies {
-> implementation("space.kscience:kmath-for-real:0.3.0-dev-2")
+> implementation("space.kscience:kmath-for-real:0.3.0-dev-3")
> }
> ```
diff --git a/kmath-for-real/build.gradle.kts b/kmath-for-real/build.gradle.kts
index 5fc6724f3..0dcaf330a 100644
--- a/kmath-for-real/build.gradle.kts
+++ b/kmath-for-real/build.gradle.kts
@@ -20,18 +20,18 @@ readme {
feature(
id = "DoubleVector",
description = "Numpy-like operations for Buffers/Points",
- ref = "src/commonMain/kotlin/kscience/kmath/real/DoubleVector.kt"
+ ref = "src/commonMain/kotlin/space/kscience/kmath/real/DoubleVector.kt"
)
feature(
id = "DoubleMatrix",
description = "Numpy-like operations for 2d real structures",
- ref = "src/commonMain/kotlin/kscience/kmath/real/DoubleMatrix.kt"
+ ref = "src/commonMain/kotlin/space/kscience/kmath/real/DoubleMatrix.kt"
)
feature(
id = "grids",
description = "Uniform grid generators",
- ref = "src/commonMain/kotlin/kscience/kmath/structures/grids.kt"
+ ref = "src/commonMain/kotlin/space/kscience/kmath/structures/grids.kt"
)
}
diff --git a/kmath-functions/README.md b/kmath-functions/README.md
index 29cc68c8e..d13c4c107 100644
--- a/kmath-functions/README.md
+++ b/kmath-functions/README.md
@@ -2,15 +2,15 @@
Functions and interpolations:
- - [piecewise](Piecewise functions.) : src/commonMain/kotlin/kscience/kmath/functions/Piecewise.kt
- - [polynomials](Polynomial functions.) : src/commonMain/kotlin/kscience/kmath/functions/Polynomial.kt
- - [linear interpolation](Linear XY interpolator.) : src/commonMain/kotlin/kscience/kmath/interpolation/LinearInterpolator.kt
- - [spline interpolation](Cubic spline XY interpolator.) : src/commonMain/kotlin/kscience/kmath/interpolation/SplineInterpolator.kt
+ - [piecewise](Piecewise functions.) : src/commonMain/kotlin/space/kscience/kmath/functions/Piecewise.kt
+ - [polynomials](Polynomial functions.) : src/commonMain/kotlin/space/kscience/kmath/functions/Polynomial.kt
+ - [linear interpolation](Linear XY interpolator.) : src/commonMain/kotlin/space/kscience/kmath/interpolation/LinearInterpolator.kt
+ - [spline interpolation](Cubic spline XY interpolator.) : src/commonMain/kotlin/space/kscience/kmath/interpolation/SplineInterpolator.kt
> #### Artifact:
>
-> This module artifact: `space.kscience:kmath-functions:0.3.0-dev-2`.
+> This module artifact: `space.kscience:kmath-functions:0.3.0-dev-3`.
>
> 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)
>
@@ -23,13 +23,10 @@ Functions and interpolations:
> maven { url 'https://repo.kotlin.link' }
> maven { url 'https://dl.bintray.com/hotkeytlt/maven' }
> maven { url "https://dl.bintray.com/kotlin/kotlin-eap" } // include for builds based on kotlin-eap
->// Uncomment if repo.kotlin.link is unavailable
->// maven { url 'https://dl.bintray.com/mipt-npm/kscience' }
->// maven { url 'https://dl.bintray.com/mipt-npm/dev' }
> }
>
> dependencies {
-> implementation 'space.kscience:kmath-functions:0.3.0-dev-2'
+> implementation 'space.kscience:kmath-functions:0.3.0-dev-3'
> }
> ```
> **Gradle Kotlin DSL:**
@@ -39,12 +36,9 @@ Functions and interpolations:
> maven("https://repo.kotlin.link")
> maven("https://dl.bintray.com/kotlin/kotlin-eap") // include for builds based on kotlin-eap
> maven("https://dl.bintray.com/hotkeytlt/maven") // required for a
->// Uncomment if repo.kotlin.link is unavailable
->// maven("https://dl.bintray.com/mipt-npm/kscience")
->// maven("https://dl.bintray.com/mipt-npm/dev")
> }
>
> dependencies {
-> implementation("space.kscience:kmath-functions:0.3.0-dev-2")
+> implementation("space.kscience:kmath-functions:0.3.0-dev-3")
> }
> ```
diff --git a/kmath-functions/build.gradle.kts b/kmath-functions/build.gradle.kts
index 067dbd9b3..51fc75501 100644
--- a/kmath-functions/build.gradle.kts
+++ b/kmath-functions/build.gradle.kts
@@ -13,12 +13,12 @@ readme {
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("piecewise", "src/commonMain/kotlin/space/kscience/kmath/functions/Piecewise.kt", "Piecewise functions.")
+ feature("polynomials", "src/commonMain/kotlin/space/kscience/kmath/functions/Polynomial.kt", "Polynomial functions.")
feature("linear interpolation",
- "src/commonMain/kotlin/kscience/kmath/interpolation/LinearInterpolator.kt",
+ "src/commonMain/kotlin/space/kscience/kmath/interpolation/LinearInterpolator.kt",
"Linear XY interpolator.")
feature("spline interpolation",
- "src/commonMain/kotlin/kscience/kmath/interpolation/SplineInterpolator.kt",
+ "src/commonMain/kotlin/space/kscience/kmath/interpolation/SplineInterpolator.kt",
"Cubic spline XY interpolator.")
}
\ No newline at end of file
diff --git a/kmath-nd4j/README.md b/kmath-nd4j/README.md
index 08f0ae541..2771722eb 100644
--- a/kmath-nd4j/README.md
+++ b/kmath-nd4j/README.md
@@ -2,14 +2,14 @@
This subproject implements the following features:
- - [nd4jarraystructure](src/commonMain/kotlin/kscience/kmath/operations/Algebra.kt) : NDStructure wrapper for INDArray
- - [nd4jarrayrings](src/commonMain/kotlin/kscience/kmath/structures/NDStructure.kt) : Rings over Nd4jArrayStructure of Int and Long
- - [nd4jarrayfields](src/commonMain/kotlin/kscience/kmath/structures/Buffers.kt) : Fields over Nd4jArrayStructure of Float and Double
+ - [nd4jarraystructure](#) : NDStructure wrapper for INDArray
+ - [nd4jarrayrings](#) : Rings over Nd4jArrayStructure of Int and Long
+ - [nd4jarrayfields](#) : Fields over Nd4jArrayStructure of Float and Double
> #### Artifact:
>
-> This module artifact: `space.kscience:kmath-nd4j:0.3.0-dev-2`.
+> This module artifact: `space.kscience:kmath-nd4j:0.3.0-dev-3`.
>
> 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)
>
@@ -22,13 +22,10 @@ This subproject implements the following features:
> maven { url 'https://repo.kotlin.link' }
> maven { url 'https://dl.bintray.com/hotkeytlt/maven' }
> maven { url "https://dl.bintray.com/kotlin/kotlin-eap" } // include for builds based on kotlin-eap
->// Uncomment if repo.kotlin.link is unavailable
->// maven { url 'https://dl.bintray.com/mipt-npm/kscience' }
->// maven { url 'https://dl.bintray.com/mipt-npm/dev' }
> }
>
> dependencies {
-> implementation 'space.kscience:kmath-nd4j:0.3.0-dev-2'
+> implementation 'space.kscience:kmath-nd4j:0.3.0-dev-3'
> }
> ```
> **Gradle Kotlin DSL:**
@@ -38,13 +35,10 @@ This subproject implements the following features:
> maven("https://repo.kotlin.link")
> maven("https://dl.bintray.com/kotlin/kotlin-eap") // include for builds based on kotlin-eap
> maven("https://dl.bintray.com/hotkeytlt/maven") // required for a
->// Uncomment if repo.kotlin.link is unavailable
->// maven("https://dl.bintray.com/mipt-npm/kscience")
->// maven("https://dl.bintray.com/mipt-npm/dev")
> }
>
> dependencies {
-> implementation("space.kscience:kmath-nd4j:0.3.0-dev-2")
+> implementation("space.kscience:kmath-nd4j:0.3.0-dev-3")
> }
> ```
@@ -57,7 +51,7 @@ import org.nd4j.linalg.factory.*
import scientifik.kmath.nd4j.*
import scientifik.kmath.structures.*
-val array = Nd4j.ones(2, 2).asRealStructure()
+val array = Nd4j.ones(2, 2).asDoubleStructure()
println(array[0, 0]) // 1.0
array[intArrayOf(0, 0)] = 24.0
println(array[0, 0]) // 24.0
@@ -70,8 +64,8 @@ import org.nd4j.linalg.factory.*
import scientifik.kmath.nd4j.*
import scientifik.kmath.operations.*
-val field = RealNd4jArrayField(intArrayOf(2, 2))
-val array = Nd4j.rand(2, 2).asRealStructure()
+val field = DoubleNd4jArrayField(intArrayOf(2, 2))
+val array = Nd4j.rand(2, 2).asDoubleStructure()
val res = field {
(25.0 / array + 20) * 4
diff --git a/kmath-nd4j/build.gradle.kts b/kmath-nd4j/build.gradle.kts
index c801f8e51..2954a1e65 100644
--- a/kmath-nd4j/build.gradle.kts
+++ b/kmath-nd4j/build.gradle.kts
@@ -19,19 +19,16 @@ readme {
feature(
id = "nd4jarraystructure",
- description = "NDStructure wrapper for INDArray",
- ref = "src/commonMain/kotlin/kscience/kmath/operations/Algebra.kt"
+ description = "NDStructure wrapper for INDArray"
)
feature(
id = "nd4jarrayrings",
- description = "Rings over Nd4jArrayStructure of Int and Long",
- ref = "src/commonMain/kotlin/kscience/kmath/structures/NDStructure.kt"
+ description = "Rings over Nd4jArrayStructure of Int and Long"
)
feature(
id = "nd4jarrayfields",
- description = "Fields over Nd4jArrayStructure of Float and Double",
- ref = "src/commonMain/kotlin/kscience/kmath/structures/Buffers.kt"
+ description = "Fields over Nd4jArrayStructure of Float and Double"
)
}