diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index 31d539cdd..000000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Gradle publish - -on: - workflow_dispatch: - release: - types: [ created ] - -jobs: - publish: - environment: - name: publish - strategy: - matrix: - os: [ macOS-latest, windows-latest ] - runs-on: ${{matrix.os}} - steps: - - uses: actions/checkout@v3.0.0 - - uses: actions/setup-java@v3.10.0 - with: - java-version: 11 - distribution: liberica - - name: Cache konan - uses: actions/cache@v3.0.1 - with: - path: ~/.konan - key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }} - restore-keys: | - ${{ runner.os }}-gradle- - - name: Publish Windows Artifacts - if: matrix.os == 'windows-latest' - uses: gradle/gradle-build-action@v2.4.2 - with: - arguments: | - publishAllPublicationsToSpaceRepository - -Ppublishing.targets=all - -Ppublishing.space.user=${{ secrets.SPACE_APP_ID }} - -Ppublishing.space.token=${{ secrets.SPACE_APP_SECRET }} - - name: Publish Mac Artifacts - if: matrix.os == 'macOS-latest' - uses: gradle/gradle-build-action@v2.4.2 - with: - arguments: | - publishMacosX64PublicationToSpaceRepository - publishMacosArm64PublicationToSpaceRepository - publishIosX64PublicationToSpaceRepository - publishIosArm64PublicationToSpaceRepository - publishIosSimulatorArm64PublicationToSpaceRepository - -Ppublishing.targets=all - -Ppublishing.space.user=${{ secrets.SPACE_APP_ID }} - -Ppublishing.space.token=${{ secrets.SPACE_APP_SECRET }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 89b06e3cf..89a398145 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ### Added - Convenient matrix builders for rows, columns, vstacks and hstacks -- Spreadsheet matrix builder +- Sparse matrix builder ### Changed diff --git a/build.gradle.kts b/build.gradle.kts index 781f5822c..17279f0cb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,7 +14,7 @@ allprojects { } group = "space.kscience" - version = "0.4.2-dev" + version = "0.4.2" } dependencies{ diff --git a/kmath-core/api/kmath-core.api b/kmath-core/api/kmath-core.api index 460c2e3c4..bc9fc8e09 100644 --- a/kmath-core/api/kmath-core.api +++ b/kmath-core/api/kmath-core.api @@ -9,15 +9,9 @@ public abstract interface annotation class space/kscience/kmath/UnsafeKMathAPI : public abstract interface annotation class space/kscience/kmath/UnstableKMathAPI : java/lang/annotation/Annotation { } -public final class space/kscience/kmath/data/ColumnarDataKt { -} - public final class space/kscience/kmath/data/XYColumnarData$Companion { } -public final class space/kscience/kmath/data/XYColumnarDataKt { -} - public final class space/kscience/kmath/data/XYErrorColumnarData$Companion { public final fun of (Lspace/kscience/kmath/structures/Buffer;Lspace/kscience/kmath/structures/Buffer;Lspace/kscience/kmath/structures/Buffer;)Lspace/kscience/kmath/data/XYErrorColumnarData; } @@ -27,9 +21,6 @@ public abstract interface class space/kscience/kmath/domains/Domain { public abstract fun getDimension ()I } -public final class space/kscience/kmath/domains/Domain1DKt { -} - public abstract interface class space/kscience/kmath/expressions/AutoDiffProcessor { public abstract fun differentiate (Lkotlin/jvm/functions/Function1;)Lspace/kscience/kmath/expressions/DifferentiableExpression; } @@ -39,9 +30,6 @@ public class space/kscience/kmath/expressions/AutoDiffValue { public final fun getValue ()Ljava/lang/Object; } -public final class space/kscience/kmath/expressions/DSAlgebraKt { -} - public final class space/kscience/kmath/expressions/DSCompiler { public final fun getAlgebra ()Lspace/kscience/kmath/operations/Algebra; public final fun getFreeParameters ()I @@ -412,34 +400,6 @@ public final class space/kscience/kmath/expressions/MstRing : space/kscience/kma public fun unaryPlus (Lspace/kscience/kmath/expressions/MST;)Lspace/kscience/kmath/expressions/MST$Unary; } -public final class space/kscience/kmath/expressions/NamedMatrix : space/kscience/kmath/nd/Structure2D { - public static final field Companion Lspace/kscience/kmath/expressions/NamedMatrix$Companion; - public fun (Lspace/kscience/kmath/nd/Structure2D;Lspace/kscience/kmath/expressions/SymbolIndexer;)V - public fun elements ()Lkotlin/sequences/Sequence; - public fun get (II)Ljava/lang/Object; - public final fun get (Lspace/kscience/kmath/expressions/Symbol;Lspace/kscience/kmath/expressions/Symbol;)Ljava/lang/Object; - public fun get ([I)Ljava/lang/Object; - public fun getAttributes ()Lspace/kscience/attributes/Attributes; - public fun getColNum ()I - public fun getColumns ()Ljava/util/List; - public fun getDimension ()I - public final fun getIndexer ()Lspace/kscience/kmath/expressions/SymbolIndexer; - public fun getIndices ()Lspace/kscience/kmath/nd/ShapeIndexer; - public fun getRowNum ()I - public fun getRows ()Ljava/util/List; - public fun getShape-IIYLAfE ()[I - public final fun getValues ()Lspace/kscience/kmath/nd/Structure2D; -} - -public final class space/kscience/kmath/expressions/NamedMatrix$Companion { - public final fun toStringWithSymbols (Lspace/kscience/kmath/nd/Structure2D;Lspace/kscience/kmath/expressions/SymbolIndexer;)Ljava/lang/String; -} - -public final class space/kscience/kmath/expressions/NamedMatrixKt { - public static final fun named (Lspace/kscience/kmath/nd/Structure2D;Ljava/util/List;)Lspace/kscience/kmath/expressions/NamedMatrix; - public static final fun named (Lspace/kscience/kmath/nd/Structure2D;Lspace/kscience/kmath/expressions/SymbolIndexer;)Lspace/kscience/kmath/expressions/NamedMatrix; -} - public final class space/kscience/kmath/expressions/SimpleAutoDiffExpression : space/kscience/kmath/expressions/FirstDerivativeExpression { public fun (Lspace/kscience/kmath/operations/Field;Lkotlin/jvm/functions/Function1;)V public fun derivativeOrNull (Lspace/kscience/kmath/expressions/Symbol;)Lspace/kscience/kmath/expressions/Expression; @@ -565,9 +525,6 @@ public final class space/kscience/kmath/expressions/Symbol$Companion { public final fun getZError ()Lspace/kscience/kmath/expressions/Symbol; } -public final class space/kscience/kmath/expressions/SymbolIndexerKt { -} - public final class space/kscience/kmath/expressions/SymbolKt { public static final fun Symbol (Ljava/lang/String;)Lspace/kscience/kmath/expressions/Symbol; public static final fun get (Ljava/util/Map;Ljava/lang/String;)Ljava/lang/Object; @@ -679,7 +636,7 @@ public final class space/kscience/kmath/linear/Inverted : space/kscience/attribu public fun ()V } -public abstract interface class space/kscience/kmath/linear/IsDiagonal : space/kscience/attributes/FlagAttribute, space/kscience/kmath/linear/MatrixAttribute { +public abstract interface class space/kscience/kmath/linear/IsDiagonal : space/kscience/kmath/linear/Symmetric { public static final field Companion Lspace/kscience/kmath/linear/IsDiagonal$Companion; } @@ -786,24 +743,15 @@ public final class space/kscience/kmath/linear/MatrixAttributesKt { public static final fun getSVD (Lspace/kscience/kmath/linear/MatrixScope;)Lspace/kscience/kmath/linear/SVDAttribute; } -public final class space/kscience/kmath/linear/MatrixBuilder : space/kscience/attributes/WithType { - public fun (Lspace/kscience/kmath/linear/LinearSpace;II)V - public final fun getColumns ()I - public final fun getLinearSpace ()Lspace/kscience/kmath/linear/LinearSpace; - public final fun getRows ()I - public fun getType-V0oMfBY ()Lkotlin/reflect/KType; - public final fun invoke ([Ljava/lang/Object;)Lspace/kscience/kmath/nd/Structure2D; -} - -public final class space/kscience/kmath/linear/MatrixBuilderKt { - public static final fun column (Lspace/kscience/kmath/linear/LinearSpace;ILkotlin/jvm/functions/Function1;)Lspace/kscience/kmath/nd/Structure2D; +public final class space/kscience/kmath/linear/MatrixBuildersKt { + public static final fun column (Lspace/kscience/kmath/linear/LinearSpace;ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/Structure2D; public static final fun column (Lspace/kscience/kmath/linear/LinearSpace;[Ljava/lang/Object;)Lspace/kscience/kmath/nd/Structure2D; - public static final fun row (Lspace/kscience/kmath/linear/LinearSpace;ILkotlin/jvm/functions/Function1;)Lspace/kscience/kmath/nd/Structure2D; + public static final fun row (Lspace/kscience/kmath/linear/LinearSpace;ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/Structure2D; public static final fun row (Lspace/kscience/kmath/linear/LinearSpace;[Ljava/lang/Object;)Lspace/kscience/kmath/nd/Structure2D; - public static final fun symmetric (Lspace/kscience/kmath/linear/MatrixBuilder;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/Structure2D; + public static final fun vector (Lspace/kscience/kmath/linear/LinearSpace;[Ljava/lang/Object;)Lspace/kscience/kmath/structures/Buffer; } -public abstract interface class space/kscience/kmath/linear/MatrixScope : space/kscience/attributes/AttributeScope, space/kscience/attributes/WithType { +public abstract interface class space/kscience/kmath/linear/MatrixScope : space/kscience/attributes/WithType { } public final class space/kscience/kmath/linear/MatrixWrapper : space/kscience/kmath/nd/Structure2D { @@ -818,7 +766,7 @@ public final class space/kscience/kmath/linear/MatrixWrapper : space/kscience/km public final fun getOrigin ()Lspace/kscience/kmath/nd/Structure2D; public fun getRowNum ()I public fun getRows ()Ljava/util/List; - public fun getShape-IIYLAfE ()[I + public fun getShape ()Lspace/kscience/kmath/nd/ShapeND; public fun toString ()Ljava/lang/String; } @@ -854,8 +802,11 @@ public abstract interface class space/kscience/kmath/linear/SingularValueDecompo public abstract fun getV ()Lspace/kscience/kmath/nd/Structure2D; } -public final class space/kscience/kmath/linear/Symmetric : space/kscience/attributes/FlagAttribute, space/kscience/kmath/linear/MatrixAttribute { - public static final field INSTANCE Lspace/kscience/kmath/linear/Symmetric; +public abstract interface class space/kscience/kmath/linear/Symmetric : space/kscience/attributes/FlagAttribute, space/kscience/kmath/linear/MatrixAttribute { + public static final field Companion Lspace/kscience/kmath/linear/Symmetric$Companion; +} + +public final class space/kscience/kmath/linear/Symmetric$Companion : space/kscience/kmath/linear/Symmetric { } public final class space/kscience/kmath/linear/TransposedKt { @@ -883,12 +834,6 @@ public final class space/kscience/kmath/linear/VirtualMatrix : space/kscience/km public fun getColNum ()I public final fun getGenerator ()Lkotlin/jvm/functions/Function2; public fun getRowNum ()I - public fun getShape-IIYLAfE ()[I -} - -public final class space/kscience/kmath/linear/VirtualMatrixKt { - public static final fun virtual (Lspace/kscience/kmath/linear/MatrixBuilder;Lspace/kscience/attributes/Attributes;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/linear/VirtualMatrix; - public static synthetic fun virtual$default (Lspace/kscience/kmath/linear/MatrixBuilder;Lspace/kscience/attributes/Attributes;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lspace/kscience/kmath/linear/VirtualMatrix; } public final class space/kscience/kmath/misc/CollectionsKt { @@ -944,14 +889,66 @@ public final class space/kscience/kmath/misc/SortingKt { public static final fun sortedWith (Lspace/kscience/kmath/structures/Buffer;Ljava/util/Comparator;)Lspace/kscience/kmath/structures/Buffer; } +public final class space/kscience/kmath/named/NamedBuffer : space/kscience/kmath/structures/Buffer { + public fun (Lspace/kscience/kmath/structures/Buffer;Lspace/kscience/kmath/expressions/SymbolIndexer;)V + public fun get (I)Ljava/lang/Object; + public final fun get (Lspace/kscience/kmath/expressions/Symbol;)Ljava/lang/Object; + public final fun getIndexer ()Lspace/kscience/kmath/expressions/SymbolIndexer; + public fun getSize ()I + public final fun getValues ()Lspace/kscience/kmath/structures/Buffer; + public fun iterator ()Ljava/util/Iterator; + public fun toString ()Ljava/lang/String; +} + +public final class space/kscience/kmath/named/NamedMatrix : space/kscience/kmath/nd/Structure2D { + public static final field Companion Lspace/kscience/kmath/named/NamedMatrix$Companion; + public fun (Lspace/kscience/kmath/nd/Structure2D;Lspace/kscience/kmath/expressions/SymbolIndexer;)V + public fun elements ()Lkotlin/sequences/Sequence; + public fun get (II)Ljava/lang/Object; + public final fun get (Lspace/kscience/kmath/expressions/Symbol;Lspace/kscience/kmath/expressions/Symbol;)Ljava/lang/Object; + public fun get ([I)Ljava/lang/Object; + public fun getAttributes ()Lspace/kscience/attributes/Attributes; + public fun getColNum ()I + public fun getColumns ()Ljava/util/List; + public fun getDimension ()I + public final fun getIndexer ()Lspace/kscience/kmath/expressions/SymbolIndexer; + public fun getIndices ()Lspace/kscience/kmath/nd/ShapeIndexer; + public fun getRowNum ()I + public fun getRows ()Ljava/util/List; + public fun getShape ()Lspace/kscience/kmath/nd/ShapeND; + public final fun getValues ()Lspace/kscience/kmath/nd/Structure2D; +} + +public final class space/kscience/kmath/named/NamedMatrix$Companion { + public final fun toStringWithSymbols (Lspace/kscience/kmath/nd/Structure2D;Lspace/kscience/kmath/expressions/SymbolIndexer;)Ljava/lang/String; +} + +public final class space/kscience/kmath/named/NamedMatrixKt { + public static final fun named (Lspace/kscience/kmath/nd/Structure2D;Ljava/util/List;)Lspace/kscience/kmath/named/NamedMatrix; + public static final fun named (Lspace/kscience/kmath/nd/Structure2D;Lspace/kscience/kmath/expressions/SymbolIndexer;)Lspace/kscience/kmath/named/NamedMatrix; +} + +public final class space/kscience/kmath/named/NamedMutableBuffer : space/kscience/kmath/structures/MutableBuffer { + public fun (Lspace/kscience/kmath/structures/MutableBuffer;Lspace/kscience/kmath/expressions/SymbolIndexer;)V + public fun get (I)Ljava/lang/Object; + public final fun get (Lspace/kscience/kmath/expressions/Symbol;)Ljava/lang/Object; + public final fun getIndexer ()Lspace/kscience/kmath/expressions/SymbolIndexer; + public fun getSize ()I + public final fun getValues ()Lspace/kscience/kmath/structures/MutableBuffer; + public fun iterator ()Ljava/util/Iterator; + public fun set (ILjava/lang/Object;)V + public final fun set (Lspace/kscience/kmath/expressions/Symbol;Ljava/lang/Object;)V + public fun toString ()Ljava/lang/String; +} + public abstract interface class space/kscience/kmath/nd/AlgebraND : space/kscience/kmath/operations/Algebra { public static final field Companion Lspace/kscience/kmath/nd/AlgebraND$Companion; public abstract fun getElementAlgebra ()Lspace/kscience/kmath/operations/Algebra; public fun invoke (Lkotlin/jvm/functions/Function1;Lspace/kscience/kmath/nd/StructureND;)Lspace/kscience/kmath/nd/StructureND; public fun map (Lspace/kscience/kmath/nd/StructureND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/StructureND; public fun mapIndexed (Lspace/kscience/kmath/nd/StructureND;Lkotlin/jvm/functions/Function3;)Lspace/kscience/kmath/nd/StructureND; - public abstract fun mutableStructureND-qL90JFI ([ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/MutableStructureND; - public fun structureND-qL90JFI ([ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/StructureND; + public abstract fun mutableStructureND (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/MutableStructureND; + public fun structureND (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/StructureND; public fun zip (Lspace/kscience/kmath/nd/StructureND;Lspace/kscience/kmath/nd/StructureND;Lkotlin/jvm/functions/Function3;)Lspace/kscience/kmath/nd/StructureND; } @@ -960,10 +957,10 @@ public final class space/kscience/kmath/nd/AlgebraND$Companion { public final class space/kscience/kmath/nd/AlgebraNDExtentionsKt { public static final fun mutableStructureND (Lspace/kscience/kmath/nd/AlgebraND;I[ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/MutableStructureND; - public static final fun one-waz_sdI (Lspace/kscience/kmath/nd/AlgebraND;[I)Lspace/kscience/kmath/nd/StructureND; + public static final fun one (Lspace/kscience/kmath/nd/AlgebraND;Lspace/kscience/kmath/nd/ShapeND;)Lspace/kscience/kmath/nd/StructureND; public static final fun oneVarArg (Lspace/kscience/kmath/nd/AlgebraND;I[I)Lspace/kscience/kmath/nd/StructureND; public static final fun structureND (Lspace/kscience/kmath/nd/AlgebraND;I[ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/StructureND; - public static final fun zero-waz_sdI (Lspace/kscience/kmath/nd/AlgebraND;[I)Lspace/kscience/kmath/nd/StructureND; + public static final fun zero (Lspace/kscience/kmath/nd/AlgebraND;Lspace/kscience/kmath/nd/ShapeND;)Lspace/kscience/kmath/nd/StructureND; public static final fun zeroVarArg (Lspace/kscience/kmath/nd/AlgebraND;I[I)Lspace/kscience/kmath/nd/StructureND; } @@ -976,10 +973,10 @@ public abstract interface class space/kscience/kmath/nd/BufferAlgebraND : space/ public synthetic fun map (Lspace/kscience/kmath/nd/StructureND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/StructureND; public fun mapIndexed (Lspace/kscience/kmath/nd/StructureND;Lkotlin/jvm/functions/Function3;)Lspace/kscience/kmath/nd/BufferND; public synthetic fun mapIndexed (Lspace/kscience/kmath/nd/StructureND;Lkotlin/jvm/functions/Function3;)Lspace/kscience/kmath/nd/StructureND; - public fun mutableStructureND-qL90JFI ([ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/MutableBufferND; - public synthetic fun mutableStructureND-qL90JFI ([ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/MutableStructureND; - public fun structureND-qL90JFI ([ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/BufferND; - public synthetic fun structureND-qL90JFI ([ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/StructureND; + public fun mutableStructureND (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/MutableBufferND; + public synthetic fun mutableStructureND (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/MutableStructureND; + public fun structureND (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/BufferND; + public synthetic fun structureND (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/StructureND; public fun toBufferND (Lspace/kscience/kmath/nd/StructureND;)Lspace/kscience/kmath/nd/BufferND; public fun zip (Lspace/kscience/kmath/nd/StructureND;Lspace/kscience/kmath/nd/StructureND;Lkotlin/jvm/functions/Function3;)Lspace/kscience/kmath/nd/BufferND; public synthetic fun zip (Lspace/kscience/kmath/nd/StructureND;Lspace/kscience/kmath/nd/StructureND;Lkotlin/jvm/functions/Function3;)Lspace/kscience/kmath/nd/StructureND; @@ -1004,7 +1001,7 @@ public class space/kscience/kmath/nd/BufferND : space/kscience/kmath/nd/Structur public fun get ([I)Ljava/lang/Object; public fun getBuffer ()Lspace/kscience/kmath/structures/Buffer; public fun getIndices ()Lspace/kscience/kmath/nd/ShapeIndexer; - public fun getShape-IIYLAfE ()[I + public fun getShape ()Lspace/kscience/kmath/nd/ShapeND; public fun toString ()Ljava/lang/String; } @@ -1034,10 +1031,10 @@ public class space/kscience/kmath/nd/BufferedRingOpsND : space/kscience/kmath/nd public final class space/kscience/kmath/nd/ColumnStrides : space/kscience/kmath/nd/Strides { public static final field Companion Lspace/kscience/kmath/nd/ColumnStrides$Companion; - public synthetic fun ([ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Lspace/kscience/kmath/nd/ShapeND;)V public fun equals (Ljava/lang/Object;)Z public fun getLinearSize ()I - public fun getShape-IIYLAfE ()[I + public fun getShape ()Lspace/kscience/kmath/nd/ShapeND; public fun hashCode ()I public fun index (I)[I } @@ -1107,9 +1104,9 @@ public abstract class space/kscience/kmath/nd/Floa64FieldOpsND : space/kscience/ public synthetic fun multiply (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; public fun multiply (Lspace/kscience/kmath/nd/StructureND;Lspace/kscience/kmath/nd/StructureND;)Lspace/kscience/kmath/nd/Float64BufferND; public synthetic fun multiply (Lspace/kscience/kmath/nd/StructureND;Lspace/kscience/kmath/nd/StructureND;)Lspace/kscience/kmath/nd/StructureND; - public fun mutableStructureND-qL90JFI ([ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/Float64BufferND; - public synthetic fun mutableStructureND-qL90JFI ([ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/MutableBufferND; - public synthetic fun mutableStructureND-qL90JFI ([ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/MutableStructureND; + public fun mutableStructureND (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/Float64BufferND; + public synthetic fun mutableStructureND (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/MutableBufferND; + public synthetic fun mutableStructureND (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/MutableStructureND; public fun plus (DLspace/kscience/kmath/nd/StructureND;)Lspace/kscience/kmath/nd/StructureND; public synthetic fun plus (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; public synthetic fun plus (Ljava/lang/Object;Lspace/kscience/kmath/nd/StructureND;)Lspace/kscience/kmath/nd/StructureND; @@ -1159,7 +1156,7 @@ public final class space/kscience/kmath/nd/Float64BufferND : space/kscience/kmat } public final class space/kscience/kmath/nd/Float64FieldND : space/kscience/kmath/nd/Floa64FieldOpsND, space/kscience/kmath/nd/FieldND, space/kscience/kmath/operations/ExtendedField, space/kscience/kmath/operations/NumbersAddOps { - public synthetic fun ([ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Lspace/kscience/kmath/nd/ShapeND;)V public synthetic fun acosh (Ljava/lang/Object;)Ljava/lang/Object; public fun acosh (Lspace/kscience/kmath/nd/StructureND;)Lspace/kscience/kmath/nd/Float64BufferND; public synthetic fun asinh (Ljava/lang/Object;)Ljava/lang/Object; @@ -1168,7 +1165,7 @@ public final class space/kscience/kmath/nd/Float64FieldND : space/kscience/kmath public fun atanh (Lspace/kscience/kmath/nd/StructureND;)Lspace/kscience/kmath/nd/Float64BufferND; public synthetic fun cosh (Ljava/lang/Object;)Ljava/lang/Object; public fun cosh (Lspace/kscience/kmath/nd/StructureND;)Lspace/kscience/kmath/nd/Float64BufferND; - public fun getShape-IIYLAfE ()[I + public fun getShape ()Lspace/kscience/kmath/nd/ShapeND; public synthetic fun number (Ljava/lang/Number;)Ljava/lang/Object; public fun number (Ljava/lang/Number;)Lspace/kscience/kmath/nd/Float64BufferND; public synthetic fun power (Ljava/lang/Object;I)Ljava/lang/Object; @@ -1186,8 +1183,8 @@ public final class space/kscience/kmath/nd/Float64FieldND : space/kscience/kmath public final class space/kscience/kmath/nd/Float64FieldNDKt { public static final fun getNdAlgebra (Lspace/kscience/kmath/operations/Float64Field;)Lspace/kscience/kmath/nd/Floa64FieldOpsND; + public static final fun ndAlgebra (Lspace/kscience/kmath/operations/Float64Field;Lspace/kscience/kmath/nd/ShapeND;)Lspace/kscience/kmath/nd/Float64FieldND; public static final fun ndAlgebra (Lspace/kscience/kmath/operations/Float64Field;[I)Lspace/kscience/kmath/nd/Float64FieldND; - public static final fun ndAlgebra-waz_sdI (Lspace/kscience/kmath/operations/Float64Field;[I)Lspace/kscience/kmath/nd/Float64FieldND; } public abstract interface class space/kscience/kmath/nd/GroupND : space/kscience/kmath/nd/GroupOpsND, space/kscience/kmath/nd/WithShape, space/kscience/kmath/operations/Group { @@ -1210,14 +1207,14 @@ public final class space/kscience/kmath/nd/GroupOpsND$Companion { } public final class space/kscience/kmath/nd/IndexOutOfShapeException : java/lang/RuntimeException { - public synthetic fun ([I[ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Lspace/kscience/kmath/nd/ShapeND;[I)V public final fun getIndex ()[I - public final fun getShape-IIYLAfE ()[I + public final fun getShape ()Lspace/kscience/kmath/nd/ShapeND; } public final class space/kscience/kmath/nd/Int16RingND : space/kscience/kmath/nd/Int16RingOpsND, space/kscience/kmath/nd/RingND, space/kscience/kmath/operations/NumbersAddOps { - public synthetic fun ([ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun getShape-IIYLAfE ()[I + public fun (Lspace/kscience/kmath/nd/ShapeND;)V + public fun getShape ()Lspace/kscience/kmath/nd/ShapeND; public synthetic fun number (Ljava/lang/Number;)Ljava/lang/Object; public fun number (Ljava/lang/Number;)Lspace/kscience/kmath/nd/BufferND; } @@ -1241,8 +1238,8 @@ public final class space/kscience/kmath/nd/IntBufferND : space/kscience/kmath/nd } public final class space/kscience/kmath/nd/IntRingND : space/kscience/kmath/nd/IntRingOpsND, space/kscience/kmath/nd/RingND, space/kscience/kmath/operations/NumbersAddOps { - public synthetic fun ([ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun getShape-IIYLAfE ()[I + public fun (Lspace/kscience/kmath/nd/ShapeND;)V + public fun getShape ()Lspace/kscience/kmath/nd/ShapeND; public synthetic fun number (Ljava/lang/Number;)Ljava/lang/Object; public fun number (Ljava/lang/Number;)Lspace/kscience/kmath/nd/BufferND; } @@ -1253,9 +1250,9 @@ public final class space/kscience/kmath/nd/IntRingNDKt { public abstract class space/kscience/kmath/nd/IntRingOpsND : space/kscience/kmath/nd/BufferedRingOpsND { public static final field Companion Lspace/kscience/kmath/nd/IntRingOpsND$Companion; - public synthetic fun structureND-qL90JFI ([ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/BufferND; - public fun structureND-qL90JFI ([ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/IntBufferND; - public synthetic fun structureND-qL90JFI ([ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/StructureND; + public synthetic fun structureND (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/BufferND; + public fun structureND (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/IntBufferND; + public synthetic fun structureND (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/StructureND; } public final class space/kscience/kmath/nd/IntRingOpsND$Companion : space/kscience/kmath/nd/IntRingOpsND { @@ -1302,12 +1299,12 @@ public final class space/kscience/kmath/nd/OperationsNDKt { } public final class space/kscience/kmath/nd/PermutedMutableStructureND : space/kscience/kmath/nd/MutableStructureND { - public synthetic fun (Lspace/kscience/kmath/nd/MutableStructureND;[ILkotlin/jvm/functions/Function1;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lspace/kscience/kmath/nd/MutableStructureND;[ILkotlin/jvm/functions/Function1;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Lspace/kscience/kmath/nd/MutableStructureND;Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function1;)V + public synthetic fun (Lspace/kscience/kmath/nd/MutableStructureND;Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function1;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public fun get ([I)Ljava/lang/Object; public final fun getOrigin ()Lspace/kscience/kmath/nd/MutableStructureND; public final fun getPermutation ()Lkotlin/jvm/functions/Function1; - public fun getShape-IIYLAfE ()[I + public fun getShape ()Lspace/kscience/kmath/nd/ShapeND; public fun set ([ILjava/lang/Object;)V } @@ -1316,13 +1313,13 @@ public final class space/kscience/kmath/nd/PermutedStructureND : space/kscience/ public fun get ([I)Ljava/lang/Object; public final fun getOrigin ()Lspace/kscience/kmath/nd/StructureND; public final fun getPermutation ()Lkotlin/jvm/functions/Function1; - public fun getShape-IIYLAfE ()[I + public fun getShape ()Lspace/kscience/kmath/nd/ShapeND; } public final class space/kscience/kmath/nd/PermutedStructureNDKt { + public static final fun permute (Lspace/kscience/kmath/nd/MutableStructureND;Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function1;)Lspace/kscience/kmath/nd/PermutedMutableStructureND; public static final fun permute (Lspace/kscience/kmath/nd/StructureND;Lkotlin/jvm/functions/Function1;)Lspace/kscience/kmath/nd/PermutedStructureND; - public static final fun permute-_A0By-k (Lspace/kscience/kmath/nd/MutableStructureND;[ILkotlin/jvm/functions/Function1;)Lspace/kscience/kmath/nd/PermutedMutableStructureND; - public static synthetic fun permute-_A0By-k$default (Lspace/kscience/kmath/nd/MutableStructureND;[ILkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lspace/kscience/kmath/nd/PermutedMutableStructureND; + public static synthetic fun permute$default (Lspace/kscience/kmath/nd/MutableStructureND;Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lspace/kscience/kmath/nd/PermutedMutableStructureND; } public final class space/kscience/kmath/nd/PrimitiveStructureNDKt { @@ -1349,10 +1346,10 @@ public final class space/kscience/kmath/nd/RingOpsND$Companion { public final class space/kscience/kmath/nd/RowStrides : space/kscience/kmath/nd/Strides { public static final field Companion Lspace/kscience/kmath/nd/RowStrides$Companion; - public synthetic fun ([ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Lspace/kscience/kmath/nd/ShapeND;)V public fun equals (Ljava/lang/Object;)Z public fun getLinearSize ()I - public fun getShape-IIYLAfE ()[I + public fun getShape ()Lspace/kscience/kmath/nd/ShapeND; public fun hashCode ()I public fun index (I)[I } @@ -1364,7 +1361,7 @@ public abstract interface class space/kscience/kmath/nd/ShapeIndexer : java/lang public abstract fun asSequence ()Lkotlin/sequences/Sequence; public abstract fun equals (Ljava/lang/Object;)Z public abstract fun getLinearSize ()I - public abstract fun getShape-IIYLAfE ()[I + public abstract fun getShape ()Lspace/kscience/kmath/nd/ShapeND; public abstract fun hashCode ()I public abstract fun index (I)[I public fun iterator ()Ljava/util/Iterator; @@ -1372,54 +1369,49 @@ public abstract interface class space/kscience/kmath/nd/ShapeIndexer : java/lang } public final class space/kscience/kmath/nd/ShapeIndicesKt { - public static final fun Strides-dNlrn20 ([I)Lspace/kscience/kmath/nd/Strides; + public static final fun Strides (Lspace/kscience/kmath/nd/ShapeND;)Lspace/kscience/kmath/nd/Strides; } public final class space/kscience/kmath/nd/ShapeMismatchException : java/lang/RuntimeException { - public synthetic fun ([I[ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getActual-IIYLAfE ()[I - public final fun getExpected-IIYLAfE ()[I + public fun (Lspace/kscience/kmath/nd/ShapeND;Lspace/kscience/kmath/nd/ShapeND;)V + public final fun getActual ()Lspace/kscience/kmath/nd/ShapeND; + public final fun getExpected ()Lspace/kscience/kmath/nd/ShapeND; } public final class space/kscience/kmath/nd/ShapeND { - public static final synthetic fun box-impl ([I)Lspace/kscience/kmath/nd/ShapeND; - public static fun constructor-impl ([I)[I + public fun ([I)V public fun equals (Ljava/lang/Object;)Z - public static fun equals-impl ([ILjava/lang/Object;)Z - public static final fun equals-impl0 ([I[I)Z - public static final fun get-impl ([II)I - public static final fun getSize-impl ([I)I + public final fun get (I)I + public final fun getArray ()[I + public final fun getSize ()I public fun hashCode ()I - public static fun hashCode-impl ([I)I public fun toString ()Ljava/lang/String; - public static fun toString-impl ([I)Ljava/lang/String; - public final synthetic fun unbox-impl ()[I } public final class space/kscience/kmath/nd/ShapeNDKt { - public static final fun ShapeND (I[I)[I - public static final fun asArray-dNlrn20 ([I)[I - public static final fun asList-dNlrn20 ([I)Ljava/util/List; - public static final fun component1-dNlrn20 ([I)I - public static final fun component2-dNlrn20 ([I)I - public static final fun component3-dNlrn20 ([I)I - public static final fun contentEquals-9Nqdy04 ([I[I)Z - public static final fun contentHashCode-dNlrn20 ([I)I - public static final fun first-dNlrn20 ([I)I - public static final fun first-qL90JFI ([II)[I - public static final fun forEach-qL90JFI ([ILkotlin/jvm/functions/Function1;)V - public static final fun forEachIndexed-qL90JFI ([ILkotlin/jvm/functions/Function2;)V - public static final fun getIndices-dNlrn20 ([I)Lkotlin/ranges/IntRange; - public static final fun getLinearSize-dNlrn20 ([I)I - public static final fun isEmpty-dNlrn20 ([I)Z - public static final fun isNotEmpty-dNlrn20 ([I)Z - public static final fun last-dNlrn20 ([I)I - public static final fun last-qL90JFI ([II)[I - public static final fun plus-9Nqdy04 ([I[I)[I - public static final fun plus-qL90JFI ([I[I)[I - public static final fun slice-qL90JFI ([ILkotlin/ranges/IntRange;)[I - public static final fun toArray-dNlrn20 ([I)[I - public static final fun transposed-bYNkpeI ([III)[I + public static final fun ShapeND (I[I)Lspace/kscience/kmath/nd/ShapeND; + public static final fun asArray (Lspace/kscience/kmath/nd/ShapeND;)[I + public static final fun asList (Lspace/kscience/kmath/nd/ShapeND;)Ljava/util/List; + public static final fun component1 (Lspace/kscience/kmath/nd/ShapeND;)I + public static final fun component2 (Lspace/kscience/kmath/nd/ShapeND;)I + public static final fun component3 (Lspace/kscience/kmath/nd/ShapeND;)I + public static final fun contentEquals (Lspace/kscience/kmath/nd/ShapeND;Lspace/kscience/kmath/nd/ShapeND;)Z + public static final fun contentHashCode (Lspace/kscience/kmath/nd/ShapeND;)I + public static final fun first (Lspace/kscience/kmath/nd/ShapeND;)I + public static final fun first (Lspace/kscience/kmath/nd/ShapeND;I)Lspace/kscience/kmath/nd/ShapeND; + public static final fun forEach (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function1;)V + public static final fun forEachIndexed (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function2;)V + public static final fun getIndices (Lspace/kscience/kmath/nd/ShapeND;)Lkotlin/ranges/IntRange; + public static final fun getLinearSize (Lspace/kscience/kmath/nd/ShapeND;)I + public static final fun isEmpty (Lspace/kscience/kmath/nd/ShapeND;)Z + public static final fun isNotEmpty (Lspace/kscience/kmath/nd/ShapeND;)Z + public static final fun last (Lspace/kscience/kmath/nd/ShapeND;)I + public static final fun last (Lspace/kscience/kmath/nd/ShapeND;I)Lspace/kscience/kmath/nd/ShapeND; + public static final fun plus (Lspace/kscience/kmath/nd/ShapeND;Lspace/kscience/kmath/nd/ShapeND;)Lspace/kscience/kmath/nd/ShapeND; + public static final fun plus (Lspace/kscience/kmath/nd/ShapeND;[I)Lspace/kscience/kmath/nd/ShapeND; + public static final fun slice (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/ranges/IntRange;)Lspace/kscience/kmath/nd/ShapeND; + public static final fun toArray (Lspace/kscience/kmath/nd/ShapeND;)[I + public static final fun transposed (Lspace/kscience/kmath/nd/ShapeND;II)Lspace/kscience/kmath/nd/ShapeND; } public abstract class space/kscience/kmath/nd/Strides : space/kscience/kmath/nd/ShapeIndexer { @@ -1453,7 +1445,7 @@ public abstract interface class space/kscience/kmath/nd/Structure2D : space/ksci public fun getColumns ()Ljava/util/List; public abstract fun getRowNum ()I public fun getRows ()Ljava/util/List; - public fun getShape-IIYLAfE ()[I + public fun getShape ()Lspace/kscience/kmath/nd/ShapeND; } public final class space/kscience/kmath/nd/Structure2D$Companion { @@ -1473,7 +1465,7 @@ public abstract interface class space/kscience/kmath/nd/StructureND : space/ksci public abstract fun get ([I)Ljava/lang/Object; public fun getAttributes ()Lspace/kscience/attributes/Attributes; public fun getDimension ()I - public abstract fun getShape-IIYLAfE ()[I + public abstract fun getShape ()Lspace/kscience/kmath/nd/ShapeND; } public final class space/kscience/kmath/nd/StructureND$Companion { @@ -1484,9 +1476,9 @@ public final class space/kscience/kmath/nd/StructureND$Companion { } public final class space/kscience/kmath/nd/StructureNDKt { + public static final fun BufferND--rwW0uw (Lkotlin/reflect/KType;Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function1;)Lspace/kscience/kmath/nd/BufferND; public static final fun BufferND--rwW0uw (Lkotlin/reflect/KType;Lspace/kscience/kmath/nd/Strides;Lkotlin/jvm/functions/Function1;)Lspace/kscience/kmath/nd/BufferND; public static final fun BufferND--rwW0uw (Lkotlin/reflect/KType;[ILkotlin/jvm/functions/Function1;)Lspace/kscience/kmath/nd/BufferND; - public static final fun BufferND-vHyE91E (Lkotlin/reflect/KType;[ILkotlin/jvm/functions/Function1;)Lspace/kscience/kmath/nd/BufferND; public static final fun contentEquals (Lspace/kscience/kmath/linear/LinearSpace;Lspace/kscience/kmath/nd/StructureND;Lspace/kscience/kmath/nd/StructureND;)Z public static final fun contentEquals (Lspace/kscience/kmath/linear/LinearSpace;Lspace/kscience/kmath/nd/StructureND;Lspace/kscience/kmath/nd/StructureND;Ljava/lang/Comparable;)Z public static final fun contentEquals (Lspace/kscience/kmath/nd/AlgebraND;Lspace/kscience/kmath/nd/StructureND;Lspace/kscience/kmath/nd/StructureND;)Z @@ -1506,15 +1498,15 @@ public abstract interface class space/kscience/kmath/nd/StructureNDOfInt : space } public class space/kscience/kmath/nd/VirtualStructureND : space/kscience/kmath/nd/StructureND { - public synthetic fun ([ILkotlin/jvm/functions/Function1;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function1;)V public fun get ([I)Ljava/lang/Object; public final fun getProducer ()Lkotlin/jvm/functions/Function1; - public fun getShape-IIYLAfE ()[I + public fun getShape ()Lspace/kscience/kmath/nd/ShapeND; } public abstract interface class space/kscience/kmath/nd/WithShape { public fun getIndices ()Lspace/kscience/kmath/nd/ShapeIndexer; - public abstract fun getShape-IIYLAfE ()[I + public abstract fun getShape ()Lspace/kscience/kmath/nd/ShapeND; } public abstract interface class space/kscience/kmath/operations/Algebra : space/kscience/attributes/WithType { @@ -2429,9 +2421,6 @@ public final class space/kscience/kmath/structures/BufferListKt { public static final fun asList (Lspace/kscience/kmath/structures/Buffer;)Ljava/util/List; } -public final class space/kscience/kmath/structures/BufferPrimitiveAccessKt { -} - public final class space/kscience/kmath/structures/BufferSlice : space/kscience/kmath/structures/BufferView { public fun (Lspace/kscience/kmath/structures/Buffer;II)V public synthetic fun (Lspace/kscience/kmath/structures/Buffer;IIILkotlin/jvm/internal/DefaultConstructorMarker;)V diff --git a/kmath-core/src/commonMain/kotlin/space/kscience/kmath/linear/SparseMatrix.kt b/kmath-core/src/commonMain/kotlin/space/kscience/kmath/linear/SparseMatrix.kt index 601924ecd..03eeb8a60 100644 --- a/kmath-core/src/commonMain/kotlin/space/kscience/kmath/linear/SparseMatrix.kt +++ b/kmath-core/src/commonMain/kotlin/space/kscience/kmath/linear/SparseMatrix.kt @@ -49,17 +49,10 @@ public class SparseMatrix( } } -@UnstableKMathAPI -public fun SparseMatrix.fill(vararg elements: T): SparseMatrix { - require(rowNum * colNum == elements.size) { "The number of elements ${elements.size} is not equal $rowNum * $colNum" } - for (i in 0 until rowNum) { - for (j in 0 until colNum) { - set(i, j, elements[i * rowNum + j]) - } - } - return this -} - +/** + * Create and optionally fill DOK [SparseMatrix]. Those matrices must be converted to dense or effective sparse form + * after creation for effective use. + */ @UnstableKMathAPI public fun LinearSpace>.sparse( rows: Int, diff --git a/kmath-core/src/commonMain/kotlin/space/kscience/kmath/linear/matrixBuilders.kt b/kmath-core/src/commonMain/kotlin/space/kscience/kmath/linear/matrixBuilders.kt index 76f95fb86..daf7f2917 100644 --- a/kmath-core/src/commonMain/kotlin/space/kscience/kmath/linear/matrixBuilders.kt +++ b/kmath-core/src/commonMain/kotlin/space/kscience/kmath/linear/matrixBuilders.kt @@ -79,3 +79,20 @@ public fun LinearSpace>.hstack(vararg matrices: Matrix): Matri columns[column][row] } } + + +/** + * Fill the matrix with given elements. The number of elements must be the same as the number of elements in the matrix. + * + * This method is used for small matrices and test purposes. + */ +@UnstableKMathAPI +public fun MutableMatrix.fill(vararg elements: T): MutableMatrix { + require(rowNum * colNum == elements.size) { "The number of elements ${elements.size} is not equal $rowNum * $colNum" } + for (i in 0 until rowNum) { + for (j in 0 until colNum) { + set(i, j, elements[i * rowNum + j]) + } + } + return this +} diff --git a/kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/VirtualStructureND.kt b/kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/VirtualStructureND.kt index 3765707a8..e444ef65a 100644 --- a/kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/VirtualStructureND.kt +++ b/kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/VirtualStructureND.kt @@ -8,6 +8,7 @@ package space.kscience.kmath.nd import space.kscience.kmath.PerformancePitfall import space.kscience.kmath.UnstableKMathAPI import space.kscience.kmath.structures.Float64 +import space.kscience.kmath.structures.Int32 public open class VirtualStructureND( override val shape: ShapeND, @@ -22,13 +23,13 @@ public open class VirtualStructureND( } @UnstableKMathAPI -public class VirtualDoubleStructureND( +public class VirtualFloat64StructureND( shape: ShapeND, - producer: (IntArray) -> Double, + producer: (IntArray) -> Float64, ) : VirtualStructureND(shape, producer) @UnstableKMathAPI -public class VirtualIntStructureND( +public class VirtualInt32StructureND( shape: ShapeND, - producer: (IntArray) -> Int, + producer: (IntArray) -> Int32, ) : VirtualStructureND(shape, producer) \ No newline at end of file diff --git a/kmath-core/src/commonTest/kotlin/space/kscience/kmath/linear/MatrixBuilderTest.kt b/kmath-core/src/commonTest/kotlin/space/kscience/kmath/linear/MatrixBuilderTest.kt index 3b53f4361..75c6792cd 100644 --- a/kmath-core/src/commonTest/kotlin/space/kscience/kmath/linear/MatrixBuilderTest.kt +++ b/kmath-core/src/commonTest/kotlin/space/kscience/kmath/linear/MatrixBuilderTest.kt @@ -6,11 +6,9 @@ package space.kscience.kmath.linear import space.kscience.kmath.UnstableKMathAPI -import space.kscience.kmath.nd.StructureND import space.kscience.kmath.operations.algebra import space.kscience.kmath.structures.Float64 import kotlin.test.Test -import kotlin.test.assertEquals @UnstableKMathAPI class MatrixBuilderTest { @@ -31,8 +29,15 @@ class MatrixBuilderTest { ) ) - println(StructureND.toString(matrix)) + val expected = sparse(5, 5).fill( + 0.0, 0.0, 0.0, 0.0, 1.0, + 1.0, 1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 1.0, 0.0 + ) + + assertMatrixEquals(expected, matrix) - assertEquals(1.0, matrix[0, 4]) } } \ No newline at end of file diff --git a/kmath-viktor/api/kmath-viktor.api b/kmath-viktor/api/kmath-viktor.api index 0ad7368a9..7beb73775 100644 --- a/kmath-viktor/api/kmath-viktor.api +++ b/kmath-viktor/api/kmath-viktor.api @@ -27,7 +27,7 @@ public class space/kscience/kmath/viktor/ViktorFieldND : space/kscience/kmath/vi public synthetic fun getOne ()Ljava/lang/Object; public synthetic fun getOne ()Lspace/kscience/kmath/nd/StructureND; public fun getOne ()Lspace/kscience/kmath/viktor/ViktorStructureND; - public fun getShape-IIYLAfE ()[I + public fun getShape ()Lspace/kscience/kmath/nd/ShapeND; public synthetic fun getZero ()Ljava/lang/Object; public synthetic fun getZero ()Lspace/kscience/kmath/nd/StructureND; public fun getZero ()Lspace/kscience/kmath/viktor/ViktorStructureND; @@ -70,8 +70,8 @@ public class space/kscience/kmath/viktor/ViktorFieldOpsND : space/kscience/kmath public fun mapIndexed (Lspace/kscience/kmath/nd/StructureND;Lkotlin/jvm/functions/Function3;)Lspace/kscience/kmath/viktor/ViktorStructureND; public synthetic fun minus (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; public fun minus (Lspace/kscience/kmath/nd/StructureND;Lspace/kscience/kmath/nd/StructureND;)Lspace/kscience/kmath/viktor/ViktorStructureND; - public synthetic fun mutableStructureND-qL90JFI ([ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/MutableStructureND; - public fun mutableStructureND-qL90JFI ([ILkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/viktor/ViktorStructureND; + public synthetic fun mutableStructureND (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/nd/MutableStructureND; + public fun mutableStructureND (Lspace/kscience/kmath/nd/ShapeND;Lkotlin/jvm/functions/Function2;)Lspace/kscience/kmath/viktor/ViktorStructureND; public synthetic fun plus (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; public fun plus (Lspace/kscience/kmath/nd/StructureND;D)Lspace/kscience/kmath/viktor/ViktorStructureND; public synthetic fun plus (Lspace/kscience/kmath/nd/StructureND;Ljava/lang/Object;)Lspace/kscience/kmath/nd/StructureND; @@ -110,7 +110,7 @@ public final class space/kscience/kmath/viktor/ViktorStructureND : space/kscienc public fun get ([I)Ljava/lang/Double; public synthetic fun get ([I)Ljava/lang/Object; public final fun getF64Buffer ()Lorg/jetbrains/bio/viktor/F64Array; - public fun getShape-IIYLAfE ()[I + public fun getShape ()Lspace/kscience/kmath/nd/ShapeND; public fun set ([ID)V public synthetic fun set ([ILjava/lang/Object;)V } diff --git a/test-utils/api/test-utils.api b/test-utils/api/test-utils.api index 2915fa039..098af5c16 100644 --- a/test-utils/api/test-utils.api +++ b/test-utils/api/test-utils.api @@ -1,6 +1,8 @@ public final class space/kscience/kmath/testutils/AssertsKt { public static final fun assertBufferEquals (Lspace/kscience/kmath/structures/Buffer;Lspace/kscience/kmath/structures/Buffer;D)V public static synthetic fun assertBufferEquals$default (Lspace/kscience/kmath/structures/Buffer;Lspace/kscience/kmath/structures/Buffer;DILjava/lang/Object;)V + public static final fun assertStructureEquals (Lspace/kscience/kmath/nd/StructureND;Lspace/kscience/kmath/nd/StructureND;D)V + public static synthetic fun assertStructureEquals$default (Lspace/kscience/kmath/nd/StructureND;Lspace/kscience/kmath/nd/StructureND;DILjava/lang/Object;)V } public final class space/kscience/kmath/testutils/BufferEqualityKt {