forked from kscience/kmath
Kotlin 2.0.0-Beta1
This commit is contained in:
parent
a84f1e1500
commit
9e88bff668
@ -81,7 +81,7 @@ benchmark {
|
|||||||
// Setup configurations
|
// Setup configurations
|
||||||
targets {
|
targets {
|
||||||
register("jvm")
|
register("jvm")
|
||||||
register("js")
|
// register("js")
|
||||||
}
|
}
|
||||||
|
|
||||||
fun kotlinx.benchmark.gradle.BenchmarkConfiguration.commonConfiguration() {
|
fun kotlinx.benchmark.gradle.BenchmarkConfiguration.commonConfiguration() {
|
||||||
|
@ -12,6 +12,6 @@ org.gradle.jvmargs=-Xmx4096m
|
|||||||
org.gradle.parallel=true
|
org.gradle.parallel=true
|
||||||
org.gradle.workers.max=4
|
org.gradle.workers.max=4
|
||||||
|
|
||||||
toolsVersion=0.15.0-kotlin-1.9.20
|
toolsVersion=0.15.0-kotlin-2.0.0-Beta1
|
||||||
#kotlin.experimental.tryK2=true
|
#kotlin.experimental.tryK2=true
|
||||||
#kscience.wasm.disabled=true
|
#kscience.wasm.disabled=true
|
@ -4,11 +4,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@file:Suppress(
|
@file:Suppress(
|
||||||
"INTERFACE_WITH_SUPERCLASS",
|
|
||||||
"OVERRIDING_FINAL_MEMBER",
|
|
||||||
"RETURN_TYPE_MISMATCH_ON_OVERRIDE",
|
|
||||||
"CONFLICTING_OVERLOADS",
|
|
||||||
"NO_EXPLICIT_VISIBILITY_IN_API_MODE_WARNING",
|
|
||||||
"ObjectPropertyName",
|
"ObjectPropertyName",
|
||||||
"ClassName",
|
"ClassName",
|
||||||
)
|
)
|
||||||
|
@ -4,10 +4,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@file:Suppress(
|
@file:Suppress(
|
||||||
"INTERFACE_WITH_SUPERCLASS",
|
|
||||||
"OVERRIDING_FINAL_MEMBER",
|
|
||||||
"RETURN_TYPE_MISMATCH_ON_OVERRIDE",
|
|
||||||
"CONFLICTING_OVERLOADS",
|
|
||||||
"PropertyName",
|
"PropertyName",
|
||||||
"ClassName", "ENUM_CLASS_IN_EXTERNAL_DECLARATION_WARNING",
|
"ClassName", "ENUM_CLASS_IN_EXTERNAL_DECLARATION_WARNING",
|
||||||
)
|
)
|
||||||
|
@ -6,94 +6,46 @@
|
|||||||
@file:JsQualifier("WebAssembly")
|
@file:JsQualifier("WebAssembly")
|
||||||
|
|
||||||
@file:Suppress(
|
@file:Suppress(
|
||||||
"INTERFACE_WITH_SUPERCLASS",
|
|
||||||
"OVERRIDING_FINAL_MEMBER",
|
|
||||||
"RETURN_TYPE_MISMATCH_ON_OVERRIDE",
|
|
||||||
"NO_EXPLICIT_VISIBILITY_IN_API_MODE_WARNING",
|
|
||||||
"ClassName",
|
"ClassName",
|
||||||
)
|
)
|
||||||
|
|
||||||
package space.kscience.kmath.internal.webassembly
|
package space.kscience.kmath.internal.webassembly
|
||||||
|
|
||||||
import space.kscience.kmath.internal.tsstdlib.PromiseLike
|
|
||||||
import org.khronos.webgl.ArrayBuffer
|
import org.khronos.webgl.ArrayBuffer
|
||||||
import org.khronos.webgl.ArrayBufferView
|
import org.khronos.webgl.ArrayBufferView
|
||||||
import org.khronos.webgl.Uint8Array
|
import org.khronos.webgl.Uint8Array
|
||||||
import org.w3c.fetch.Response
|
import org.w3c.fetch.Response
|
||||||
|
import space.kscience.kmath.internal.tsstdlib.PromiseLike
|
||||||
import kotlin.js.Promise
|
import kotlin.js.Promise
|
||||||
|
|
||||||
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
|
internal external interface CompileError
|
||||||
internal external interface CompileError {
|
|
||||||
companion object {
|
|
||||||
var prototype: CompileError
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
|
|
||||||
internal external interface Global {
|
internal external interface Global {
|
||||||
var value: Any
|
var value: Any
|
||||||
fun valueOf(): Any
|
fun valueOf(): Any
|
||||||
|
|
||||||
companion object {
|
|
||||||
var prototype: Global
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
|
|
||||||
@JsName("Instance")
|
@JsName("Instance")
|
||||||
internal external interface Instance1 {
|
internal external interface Instance1 {
|
||||||
var exports: Exports
|
var exports: Exports
|
||||||
|
|
||||||
companion object {
|
|
||||||
var prototype: Instance
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
|
internal external interface LinkError
|
||||||
internal external interface LinkError {
|
|
||||||
companion object {
|
|
||||||
var prototype: LinkError
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
|
|
||||||
internal external interface Memory {
|
internal external interface Memory {
|
||||||
var buffer: ArrayBuffer
|
var buffer: ArrayBuffer
|
||||||
fun grow(delta: Number): Number
|
fun grow(delta: Number): Number
|
||||||
|
|
||||||
companion object {
|
|
||||||
var prototype: Memory
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
|
|
||||||
@JsName("Module")
|
|
||||||
internal external interface Module1 {
|
|
||||||
companion object {
|
|
||||||
var prototype: Module
|
|
||||||
fun customSections(moduleObject: Module, sectionName: String): Array<ArrayBuffer>
|
|
||||||
fun exports(moduleObject: Module): Array<ModuleExportDescriptor>
|
|
||||||
fun imports(moduleObject: Module): Array<ModuleImportDescriptor>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
|
internal external interface RuntimeError
|
||||||
internal external interface RuntimeError {
|
|
||||||
companion object {
|
|
||||||
var prototype: RuntimeError
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
|
|
||||||
internal external interface Table {
|
internal external interface Table {
|
||||||
var length: Number
|
var length: Number
|
||||||
fun get(index: Number): Function<*>?
|
fun get(index: Number): Function<*>?
|
||||||
fun grow(delta: Number): Number
|
fun grow(delta: Number): Number
|
||||||
fun set(index: Number, value: Function<*>?)
|
fun set(index: Number, value: Function<*>?)
|
||||||
|
|
||||||
companion object {
|
|
||||||
var prototype: Table
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal external interface GlobalDescriptor {
|
internal external interface GlobalDescriptor {
|
||||||
|
@ -3,13 +3,6 @@
|
|||||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@file:Suppress(
|
|
||||||
"INTERFACE_WITH_SUPERCLASS",
|
|
||||||
"OVERRIDING_FINAL_MEMBER",
|
|
||||||
"RETURN_TYPE_MISMATCH_ON_OVERRIDE",
|
|
||||||
"CONFLICTING_OVERLOADS",
|
|
||||||
"NO_EXPLICIT_VISIBILITY_IN_API_MODE_WARNING",
|
|
||||||
)
|
|
||||||
|
|
||||||
package space.kscience.kmath.internal.webassembly
|
package space.kscience.kmath.internal.webassembly
|
||||||
|
|
||||||
|
@ -146,7 +146,7 @@ class Rational {
|
|||||||
override fun equals(other: Any?): Boolean =
|
override fun equals(other: Any?): Boolean =
|
||||||
when (other) {
|
when (other) {
|
||||||
is Rational -> numerator == other.numerator && denominator == other.denominator
|
is Rational -> numerator == other.numerator && denominator == other.denominator
|
||||||
is Int -> numerator == other && denominator == 1L
|
is Int -> numerator == other.toLong() && denominator == 1L
|
||||||
is Long -> numerator == other && denominator == 1L
|
is Long -> numerator == other && denominator == 1L
|
||||||
else -> false
|
else -> false
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ public object Float64Space2D : GeometrySpace<DoubleVector2D>, ScaleOperations<Do
|
|||||||
override val y: Double,
|
override val y: Double,
|
||||||
) : DoubleVector2D
|
) : DoubleVector2D
|
||||||
|
|
||||||
public object VectorSerializer : KSerializer<DoubleVector2D> {
|
public object VectorSerializer : KSerializer<Float64Vector2D> {
|
||||||
private val proxySerializer = Vector2DImpl.serializer()
|
private val proxySerializer = Vector2DImpl.serializer()
|
||||||
override val descriptor: SerialDescriptor get() = proxySerializer.descriptor
|
override val descriptor: SerialDescriptor get() = proxySerializer.descriptor
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ public interface Histogram<in T : Any, out V, out B : Bin<T, V>> {
|
|||||||
/**
|
/**
|
||||||
* Find existing bin, corresponding to given coordinates
|
* Find existing bin, corresponding to given coordinates
|
||||||
*/
|
*/
|
||||||
public operator fun get(point: Point<out T>): B?
|
public operator fun get(point: Point<T>): B?
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dimension of the histogram
|
* Dimension of the histogram
|
||||||
@ -57,11 +57,11 @@ public interface HistogramBuilder<in T : Any, V : Any> {
|
|||||||
/**
|
/**
|
||||||
* Increment appropriate bin with given value
|
* Increment appropriate bin with given value
|
||||||
*/
|
*/
|
||||||
public fun putValue(point: Point<out T>, value: V = defaultValue)
|
public fun putValue(point: Point<T>, value: V = defaultValue)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public fun <T : Any> HistogramBuilder<T, *>.put(point: Point<out T>): Unit = putValue(point)
|
public fun <T : Any> HistogramBuilder<T, *>.put(point: Point<T>): Unit = putValue(point)
|
||||||
|
|
||||||
public fun <T : Any> HistogramBuilder<T, *>.put(vararg point: T): Unit = put(point.asBuffer())
|
public fun <T : Any> HistogramBuilder<T, *>.put(vararg point: T): Unit = put(point.asBuffer())
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ public interface Histogram1DBuilder<in T : Any, V : Any> : HistogramBuilder<T, V
|
|||||||
*/
|
*/
|
||||||
public fun putValue(at: T, value: V = defaultValue)
|
public fun putValue(at: T, value: V = defaultValue)
|
||||||
|
|
||||||
override fun putValue(point: Point<out T>, value: V) {
|
override fun putValue(point: Point<T>, value: V) {
|
||||||
require(point.size == 1) { "Only points with single value could be used in Histogram1D" }
|
require(point.size == 1) { "Only points with single value could be used in Histogram1D" }
|
||||||
putValue(point[0], value)
|
putValue(point[0], value)
|
||||||
}
|
}
|
||||||
|
@ -91,7 +91,7 @@ public class UniformHistogramGroupND<V : Any, A : Field<V>>(
|
|||||||
val hBuilder = object : HistogramBuilder<Double, V> {
|
val hBuilder = object : HistogramBuilder<Double, V> {
|
||||||
override val defaultValue: V get() = valueAlgebraND.elementAlgebra.one
|
override val defaultValue: V get() = valueAlgebraND.elementAlgebra.one
|
||||||
|
|
||||||
override fun putValue(point: Point<out Double>, value: V) = with(valueAlgebraND.elementAlgebra) {
|
override fun putValue(point: Point<Double>, value: V) = with(valueAlgebraND.elementAlgebra) {
|
||||||
val index = getIndexOrNull(point)
|
val index = getIndexOrNull(point)
|
||||||
ndCounter[index].add(value)
|
ndCounter[index].add(value)
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ internal class MCScopeTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@OptIn(DelicateCoroutinesApi::class)
|
@OptIn(DelicateCoroutinesApi::class, ExperimentalCoroutinesApi::class)
|
||||||
fun compareResult(test: ATest) {
|
fun compareResult(test: ATest) {
|
||||||
val res1 = runBlocking(Dispatchers.Default) { test() }
|
val res1 = runBlocking(Dispatchers.Default) { test() }
|
||||||
val res2 = runBlocking(newSingleThreadContext("test")) { test() }
|
val res2 = runBlocking(newSingleThreadContext("test")) { test() }
|
||||||
|
Loading…
Reference in New Issue
Block a user