diff --git a/.gitignore b/.gitignore
index d6c4af4e3..2a13b9e3c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,7 +5,6 @@ out/
.idea/
!.idea/copyright/
-!.idea/scopes/
.vscode/
diff --git a/.idea/copyright/kmath.xml b/.idea/copyright/kmath.xml
deleted file mode 100644
index 17e44e4d0..000000000
--- a/.idea/copyright/kmath.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml
deleted file mode 100644
index b538bdf41..000000000
--- a/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/scopes/Apply_copyright.xml b/.idea/scopes/Apply_copyright.xml
deleted file mode 100644
index 0eb589133..000000000
--- a/.idea/scopes/Apply_copyright.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
diff --git a/benchmarks/build.gradle.kts b/benchmarks/build.gradle.kts
index 88f034a2a..d6796ed46 100644
--- a/benchmarks/build.gradle.kts
+++ b/benchmarks/build.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
kotlin("multiplatform")
kotlin("plugin.allopen")
diff --git a/build.gradle.kts b/build.gradle.kts
index 4e0b6f256..a7c9144a7 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
id("ru.mipt.npm.gradle.project")
}
diff --git a/examples/build.gradle.kts b/examples/build.gradle.kts
index 56feee9dc..67fe9853a 100644
--- a/examples/build.gradle.kts
+++ b/examples/build.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
kotlin("jvm")
}
diff --git a/examples/src/main/kotlin/space/kscience/kmath/functions/integrate.kt b/examples/src/main/kotlin/space/kscience/kmath/functions/integrate.kt
index 6990e8c8f..90542adf4 100644
--- a/examples/src/main/kotlin/space/kscience/kmath/functions/integrate.kt
+++ b/examples/src/main/kotlin/space/kscience/kmath/functions/integrate.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
- */
-
package space.kscience.kmath.functions
import space.kscience.kmath.integration.integrate
diff --git a/examples/src/main/kotlin/space/kscience/kmath/functions/matrixIntegration.kt b/examples/src/main/kotlin/space/kscience/kmath/functions/matrixIntegration.kt
index 8020df8f6..bd431c22c 100644
--- a/examples/src/main/kotlin/space/kscience/kmath/functions/matrixIntegration.kt
+++ b/examples/src/main/kotlin/space/kscience/kmath/functions/matrixIntegration.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
- */
-
package space.kscience.kmath.functions
import space.kscience.kmath.integration.integrate
diff --git a/gradlew b/gradlew
index 4f906e0c8..6ad9eb930 100755
--- a/gradlew
+++ b/gradlew
@@ -1,19 +1,8 @@
#!/usr/bin/env sh
#
-# Copyright 2015 the original author or authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
+# Copyright 2018-2021 KMath contributors.
+# Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
#
##############################################################################
diff --git a/kmath-ast/build.gradle.kts b/kmath-ast/build.gradle.kts
index b4a0b28ac..15357b2d5 100644
--- a/kmath-ast/build.gradle.kts
+++ b/kmath-ast/build.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
kotlin("multiplatform")
id("ru.mipt.npm.gradle.common")
diff --git a/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/ParserPrecedenceTest.kt b/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/ParserPrecedenceTest.kt
index 14ceefc30..509f87d98 100644
--- a/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/ParserPrecedenceTest.kt
+++ b/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/ParserPrecedenceTest.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
- */
-
package space.kscisnce.kmath.ast
import space.kscience.kmath.ast.parseMath
diff --git a/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/ParserTest.kt b/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/ParserTest.kt
index a0dcba9c0..13f5b3290 100644
--- a/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/ParserTest.kt
+++ b/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/ParserTest.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
- */
-
package space.kscisnce.kmath.ast
import space.kscience.kmath.ast.parseMath
diff --git a/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/rendering/TestFeatures.kt b/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/rendering/TestFeatures.kt
new file mode 100644
index 000000000..1584293ce
--- /dev/null
+++ b/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/rendering/TestFeatures.kt
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package space.kscience.kmath.ast.rendering
+
+import space.kscience.kmath.ast.rendering.TestUtils.testLatex
+import space.kscience.kmath.expressions.MST.Numeric
+import kotlin.test.Test
+
+internal class TestFeatures {
+ @Test
+ fun printSymbolic() = testLatex("x", "x")
+
+ @Test
+ fun printNumeric() {
+ val num = object : Number() {
+ override fun toByte(): Byte = throw UnsupportedOperationException()
+ override fun toChar(): Char = throw UnsupportedOperationException()
+ override fun toDouble(): Double = throw UnsupportedOperationException()
+ override fun toFloat(): Float = throw UnsupportedOperationException()
+ override fun toInt(): Int = throw UnsupportedOperationException()
+ override fun toLong(): Long = throw UnsupportedOperationException()
+ override fun toShort(): Short = throw UnsupportedOperationException()
+ override fun toString(): String = "foo"
+ }
+
+ testLatex(Numeric(num), "foo")
+ }
+
+ @Test
+ fun prettyPrintFloats() {
+ testLatex(Numeric(Double.NaN), "NaN")
+ testLatex(Numeric(Double.POSITIVE_INFINITY), "\\infty")
+ testLatex(Numeric(Double.NEGATIVE_INFINITY), "-\\infty")
+ testLatex(Numeric(1.0), "1")
+ testLatex(Numeric(-1.0), "-1")
+ testLatex(Numeric(1.42), "1.42")
+ testLatex(Numeric(-1.42), "-1.42")
+ testLatex(Numeric(1.1e10), "1.1\\times10^{10}")
+ testLatex(Numeric(1.1e-10), "1.1\\times10^{-10}")
+ testLatex(Numeric(-1.1e-10), "-1.1\\times10^{-10}")
+ testLatex(Numeric(-1.1e10), "-1.1\\times10^{10}")
+ }
+
+ @Test
+ fun prettyPrintIntegers() {
+ testLatex(Numeric(42), "42")
+ testLatex(Numeric(-42), "-42")
+ }
+
+ @Test
+ fun prettyPrintPi() {
+ testLatex("pi", "\\pi")
+ }
+
+ @Test
+ fun binaryPlus() = testLatex("2+2", "2+2")
+
+ @Test
+ fun binaryMinus() = testLatex("2-2", "2-2")
+
+ @Test
+ fun fraction() = testLatex("2/2", "\\frac{2}{2}")
+
+ @Test
+ fun binaryOperator() = testLatex("f(x, y)", "\\operatorname{f}\\left(x,y\\right)")
+
+ @Test
+ fun unaryOperator() = testLatex("f(x)", "\\operatorname{f}\\,\\left(x\\right)")
+
+ @Test
+ fun power() = testLatex("x^y", "x^{y}")
+
+ @Test
+ fun squareRoot() = testLatex("sqrt(x)", "\\sqrt{x}")
+
+ @Test
+ fun exponential() = testLatex("exp(x)", "e^{x}")
+
+ @Test
+ fun multiplication() = testLatex("x*1", "x\\times1")
+
+ @Test
+ fun inverseTrigonometry() {
+ testLatex("asin(x)", "\\operatorname{sin}^{-1}\\,\\left(x\\right)")
+ testLatex("asinh(x)", "\\operatorname{sinh}^{-1}\\,\\left(x\\right)")
+ testLatex("acos(x)", "\\operatorname{cos}^{-1}\\,\\left(x\\right)")
+ testLatex("acosh(x)", "\\operatorname{cosh}^{-1}\\,\\left(x\\right)")
+ testLatex("atan(x)", "\\operatorname{tan}^{-1}\\,\\left(x\\right)")
+ testLatex("atanh(x)", "\\operatorname{tanh}^{-1}\\,\\left(x\\right)")
+ }
+
+// @Test
+// fun unaryPlus() {
+// testLatex("+1", "+1")
+// testLatex("+1", "++1")
+// }
+}
diff --git a/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/rendering/TestLatex.kt b/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/rendering/TestLatex.kt
new file mode 100644
index 000000000..6322df25d
--- /dev/null
+++ b/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/rendering/TestLatex.kt
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package space.kscience.kmath.ast.rendering
+
+import space.kscience.kmath.ast.rendering.TestUtils.testLatex
+import space.kscience.kmath.expressions.MST
+import space.kscience.kmath.operations.GroupOperations
+import kotlin.test.Test
+
+internal class TestLatex {
+ @Test
+ fun number() = testLatex("42", "42")
+
+ @Test
+ fun symbol() = testLatex("x", "x")
+
+ @Test
+ fun operatorName() = testLatex("sin(1)", "\\operatorname{sin}\\,\\left(1\\right)")
+
+ @Test
+ fun specialSymbol() {
+ testLatex(MST.Numeric(Double.POSITIVE_INFINITY), "\\infty")
+ testLatex("pi", "\\pi")
+ }
+
+ @Test
+ fun operand() {
+ testLatex("sin(1)", "\\operatorname{sin}\\,\\left(1\\right)")
+ testLatex("1+1", "1+1")
+ }
+
+ @Test
+ fun unaryOperator() = testLatex("sin(1)", "\\operatorname{sin}\\,\\left(1\\right)")
+
+ @Test
+ fun unaryPlus() = testLatex(MST.Unary(GroupOperations.PLUS_OPERATION, MST.Numeric(1)), "+1")
+
+ @Test
+ fun unaryMinus() = testLatex("-x", "-x")
+
+ @Test
+ fun radical() = testLatex("sqrt(x)", "\\sqrt{x}")
+
+ @Test
+ fun superscript() = testLatex("x^y", "x^{y}")
+
+ @Test
+ fun subscript() = testLatex(SubscriptSyntax("", SymbolSyntax("x"), NumberSyntax("123")), "x_{123}")
+
+ @Test
+ fun binaryOperator() = testLatex("f(x, y)", "\\operatorname{f}\\left(x,y\\right)")
+
+ @Test
+ fun binaryPlus() = testLatex("x+x", "x+x")
+
+ @Test
+ fun binaryMinus() = testLatex("x-x", "x-x")
+
+ @Test
+ fun fraction() = testLatex("x/x", "\\frac{x}{x}")
+
+ @Test
+ fun radicalWithIndex() = testLatex(RadicalWithIndexSyntax("", SymbolSyntax("x"), SymbolSyntax("y")), "\\sqrt[x]{y}")
+
+ @Test
+ fun multiplication() {
+ testLatex("x*1", "x\\times1")
+ testLatex("1*x", "1\\,x")
+ }
+}
diff --git a/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/rendering/TestMathML.kt b/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/rendering/TestMathML.kt
new file mode 100644
index 000000000..2d7bfad19
--- /dev/null
+++ b/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/rendering/TestMathML.kt
@@ -0,0 +1,92 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package space.kscience.kmath.ast.rendering
+
+import space.kscience.kmath.ast.rendering.TestUtils.testMathML
+import space.kscience.kmath.expressions.MST
+import space.kscience.kmath.operations.GroupOperations
+import kotlin.test.Test
+
+internal class TestMathML {
+ @Test
+ fun number() = testMathML("42", "42")
+
+ @Test
+ fun symbol() = testMathML("x", "x")
+
+ @Test
+ fun operatorName() = testMathML(
+ "sin(1)",
+ "sin1",
+ )
+
+ @Test
+ fun specialSymbol() {
+ testMathML(MST.Numeric(Double.POSITIVE_INFINITY), "∞")
+ testMathML("pi", "π")
+ }
+
+ @Test
+ fun operand() {
+ testMathML(
+ "sin(1)",
+ "sin1",
+ )
+
+ testMathML("1+1", "1+1")
+ }
+
+ @Test
+ fun unaryOperator() = testMathML(
+ "sin(1)",
+ "sin1",
+ )
+
+ @Test
+ fun unaryPlus() =
+ testMathML(MST.Unary(GroupOperations.PLUS_OPERATION, MST.Numeric(1)), "+1")
+
+ @Test
+ fun unaryMinus() = testMathML("-x", "-x")
+
+ @Test
+ fun radical() = testMathML("sqrt(x)", "x")
+
+ @Test
+ fun superscript() = testMathML("x^y", "xy")
+
+ @Test
+ fun subscript() = testMathML(
+ SubscriptSyntax("", SymbolSyntax("x"), NumberSyntax("123")),
+ "x123",
+ )
+
+ @Test
+ fun binaryOperator() = testMathML(
+ "f(x, y)",
+ "fx,y",
+ )
+
+ @Test
+ fun binaryPlus() = testMathML("x+x", "x+x")
+
+ @Test
+ fun binaryMinus() = testMathML("x-x", "x-x")
+
+ @Test
+ fun fraction() = testMathML("x/x", "xx")
+
+ @Test
+ fun radicalWithIndex() =
+ testMathML(RadicalWithIndexSyntax("", SymbolSyntax("x"), SymbolSyntax("y")),
+ "yx")
+
+ @Test
+ fun multiplication() {
+ testMathML("x*1", "x×1")
+ testMathML("1*x", "1x")
+ }
+}
diff --git a/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/rendering/TestStages.kt b/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/rendering/TestStages.kt
new file mode 100644
index 000000000..a4017fdb4
--- /dev/null
+++ b/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/rendering/TestStages.kt
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package space.kscience.kmath.ast.rendering
+
+import space.kscience.kmath.ast.rendering.TestUtils.testLatex
+import kotlin.test.Test
+
+internal class TestStages {
+ @Test
+ fun betterMultiplication() {
+ testLatex("a*1", "a\\times1")
+ testLatex("1*(2/3)", "1\\times\\left(\\frac{2}{3}\\right)")
+ testLatex("1*1", "1\\times1")
+ testLatex("2e10", "2\\times10^{10}")
+ testLatex("2*x", "2\\,x")
+ testLatex("2*(x+1)", "2\\,\\left(x+1\\right)")
+ testLatex("x*y", "x\\,y")
+ }
+
+ @Test
+ fun parentheses() {
+ testLatex("(x+1)", "x+1")
+ testLatex("x*x*x", "x\\,x\\,x")
+ testLatex("(x+x)*x", "\\left(x+x\\right)\\,x")
+ testLatex("x+x*x", "x+x\\,x")
+ testLatex("x+x^x*x+x", "x+x^{x}\\,x+x")
+ testLatex("(x+x)^x+x*x", "\\left(x+x\\right)^{x}+x\\,x")
+ testLatex("x^(x+x)", "x^{x+x}")
+ }
+}
diff --git a/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/rendering/TestUtils.kt b/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/rendering/TestUtils.kt
new file mode 100644
index 000000000..7c9400532
--- /dev/null
+++ b/kmath-ast/src/commonTest/kotlin/space/kscisnce/kmath/ast/rendering/TestUtils.kt
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package space.kscience.kmath.ast.rendering
+
+import space.kscience.kmath.ast.parseMath
+import space.kscience.kmath.expressions.MST
+import kotlin.test.assertEquals
+
+internal object TestUtils {
+ private fun mathSyntax(mst: MST) = FeaturedMathRendererWithPostProcess.Default.render(mst)
+ private fun latex(mst: MST) = LatexSyntaxRenderer.renderWithStringBuilder(mathSyntax(mst))
+ private fun mathML(mst: MST) = MathMLSyntaxRenderer.renderWithStringBuilder(mathSyntax(mst))
+
+ internal fun testLatex(mst: MST, expectedLatex: String) = assertEquals(
+ expected = expectedLatex,
+ actual = latex(mst),
+ )
+
+ internal fun testLatex(expression: String, expectedLatex: String) = assertEquals(
+ expected = expectedLatex,
+ actual = latex(expression.parseMath()),
+ )
+
+ internal fun testLatex(expression: MathSyntax, expectedLatex: String) = assertEquals(
+ expected = expectedLatex,
+ actual = LatexSyntaxRenderer.renderWithStringBuilder(expression),
+ )
+
+ internal fun testMathML(mst: MST, expectedMathML: String) = assertEquals(
+ expected = "",
+ actual = mathML(mst),
+ )
+
+ internal fun testMathML(expression: String, expectedMathML: String) = assertEquals(
+ expected = "",
+ actual = mathML(expression.parseMath()),
+ )
+
+ internal fun testMathML(expression: MathSyntax, expectedMathML: String) = assertEquals(
+ expected = "",
+ actual = MathMLSyntaxRenderer.renderWithStringBuilder(expression),
+ )
+}
diff --git a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/astring/astring.typealises.kt b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/astring/astring.typealises.kt
index 93b4f6ce6..1f6a5f04d 100644
--- a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/astring/astring.typealises.kt
+++ b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/astring/astring.typealises.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
- */
-
package space.kscience.kmath.internal.astring
internal typealias Generator = Any
diff --git a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/base64/base64.kt b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/base64/base64.kt
index 86e0cede7..a0c7cb6ee 100644
--- a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/base64/base64.kt
+++ b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/base64/base64.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * 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",
diff --git a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/binaryen/index.binaryen.kt b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/binaryen/index.binaryen.kt
index 42b6ac7d8..d3e3539c6 100644
--- a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/binaryen/index.binaryen.kt
+++ b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/binaryen/index.binaryen.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * 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",
diff --git a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/binaryen/index.binaryen.typealiases.kt b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/binaryen/index.binaryen.typealiases.kt
index 523b13b40..f89db20e2 100644
--- a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/binaryen/index.binaryen.typealiases.kt
+++ b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/binaryen/index.binaryen.typealiases.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * 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("PackageDirectoryMismatch", "NO_EXPLICIT_VISIBILITY_IN_API_MODE_WARNING", "KDocMissingDocumentation")
package space.kscience.kmath.internal.binaryen
diff --git a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/stream/stream.kt b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/stream/stream.kt
index 52be5530f..ae6c7eb35 100644
--- a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/stream/stream.kt
+++ b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/stream/stream.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
- */
-
package space.kscience.kmath.internal.stream
import space.kscience.kmath.internal.emitter.Emitter
diff --git a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/webassembly/lib.dom.WebAssembly.module_dukat.kt b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/webassembly/lib.dom.WebAssembly.module_dukat.kt
index 3754c3eff..322a2fa7b 100644
--- a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/webassembly/lib.dom.WebAssembly.module_dukat.kt
+++ b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/webassembly/lib.dom.WebAssembly.module_dukat.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
- */
-
@file:JsQualifier("WebAssembly")
@file:Suppress(
diff --git a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/webassembly/nonDeclarations.WebAssembly.kt b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/webassembly/nonDeclarations.WebAssembly.kt
index 59733299a..095e46140 100644
--- a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/webassembly/nonDeclarations.WebAssembly.kt
+++ b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/internal/webassembly/nonDeclarations.WebAssembly.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * 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",
diff --git a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/wasm/internal/WasmBuilder.kt b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/wasm/internal/WasmBuilder.kt
index bd2b340a0..a031a4de4 100644
--- a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/wasm/internal/WasmBuilder.kt
+++ b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/wasm/internal/WasmBuilder.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
- */
-
package space.kscience.kmath.wasm.internal
import space.kscience.kmath.expressions.Expression
diff --git a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/wasm/internal/f64StandardFunctions.kt b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/wasm/internal/f64StandardFunctions.kt
index 21a88b5d0..cb0d71ad5 100644
--- a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/wasm/internal/f64StandardFunctions.kt
+++ b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/wasm/internal/f64StandardFunctions.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
- */
-
package space.kscience.kmath.wasm.internal
import space.kscience.kmath.internal.base64.toUint8Array
diff --git a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/wasm/wasm.kt b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/wasm/wasm.kt
index d44c4e49d..822dedc3a 100644
--- a/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/wasm/wasm.kt
+++ b/kmath-ast/src/jsMain/kotlin/space/kscience/kmath/wasm/wasm.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
- */
-
package space.kscience.kmath.wasm
import space.kscience.kmath.estree.compileWith
diff --git a/kmath-ast/src/jsTest/kotlin/space/kscience/kmath/ast/TestExecutionTime.kt b/kmath-ast/src/jsTest/kotlin/space/kscience/kmath/ast/TestExecutionTime.kt
index 01746ddb6..634a89b26 100644
--- a/kmath-ast/src/jsTest/kotlin/space/kscience/kmath/ast/TestExecutionTime.kt
+++ b/kmath-ast/src/jsTest/kotlin/space/kscience/kmath/ast/TestExecutionTime.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
- */
-
package space.kscience.kmath.ast
import space.kscience.kmath.expressions.*
diff --git a/kmath-ast/src/jsTest/kotlin/space/kscience/kmath/wasm/TestWasmSpecific.kt b/kmath-ast/src/jsTest/kotlin/space/kscience/kmath/wasm/TestWasmSpecific.kt
index dd5452d04..e627f551c 100644
--- a/kmath-ast/src/jsTest/kotlin/space/kscience/kmath/wasm/TestWasmSpecific.kt
+++ b/kmath-ast/src/jsTest/kotlin/space/kscience/kmath/wasm/TestWasmSpecific.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
- */
-
package space.kscience.kmath.wasm
import space.kscience.kmath.expressions.MstExtendedField
diff --git a/kmath-commons/build.gradle.kts b/kmath-commons/build.gradle.kts
index a208c956c..570ac2b74 100644
--- a/kmath-commons/build.gradle.kts
+++ b/kmath-commons/build.gradle.kts
@@ -1,8 +1,12 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
kotlin("jvm")
id("ru.mipt.npm.gradle.common")
}
-
description = "Commons math binding for kmath"
dependencies {
diff --git a/kmath-complex/build.gradle.kts b/kmath-complex/build.gradle.kts
index ea74df646..a28226d90 100644
--- a/kmath-complex/build.gradle.kts
+++ b/kmath-complex/build.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
kotlin("multiplatform")
id("ru.mipt.npm.gradle.common")
diff --git a/kmath-core/build.gradle.kts b/kmath-core/build.gradle.kts
index 92a5f419d..f1a2ed40f 100644
--- a/kmath-core/build.gradle.kts
+++ b/kmath-core/build.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
kotlin("multiplatform")
id("ru.mipt.npm.gradle.common")
diff --git a/kmath-core/src/commonTest/kotlin/space/kscience/kmath/expressions/InterpretTest.kt b/kmath-core/src/commonTest/kotlin/space/kscience/kmath/expressions/InterpretTest.kt
index 980819364..b5e652784 100644
--- a/kmath-core/src/commonTest/kotlin/space/kscience/kmath/expressions/InterpretTest.kt
+++ b/kmath-core/src/commonTest/kotlin/space/kscience/kmath/expressions/InterpretTest.kt
@@ -1,8 +1,3 @@
-/*
- * Copyright 2018-2021 KMath contributors.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
- */
-
package space.kscience.kmath.expressions
import space.kscience.kmath.misc.Symbol
diff --git a/kmath-coroutines/build.gradle.kts b/kmath-coroutines/build.gradle.kts
index 1546e7d96..531bbd935 100644
--- a/kmath-coroutines/build.gradle.kts
+++ b/kmath-coroutines/build.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
kotlin("multiplatform")
id("ru.mipt.npm.gradle.common")
diff --git a/kmath-functions/build.gradle.kts b/kmath-functions/build.gradle.kts
index 622b8f8da..ca678bc0e 100644
--- a/kmath-functions/build.gradle.kts
+++ b/kmath-functions/build.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
kotlin("multiplatform")
id("ru.mipt.npm.gradle.common")
diff --git a/kmath-geometry/build.gradle.kts b/kmath-geometry/build.gradle.kts
index 9b6e593b2..121498ce8 100644
--- a/kmath-geometry/build.gradle.kts
+++ b/kmath-geometry/build.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
kotlin("multiplatform")
id("ru.mipt.npm.gradle.common")
diff --git a/kmath-histograms/build.gradle.kts b/kmath-histograms/build.gradle.kts
index 2167726c0..af3ebaed9 100644
--- a/kmath-histograms/build.gradle.kts
+++ b/kmath-histograms/build.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
kotlin("multiplatform")
id("ru.mipt.npm.gradle.common")
diff --git a/kmath-kotlingrad/build.gradle.kts b/kmath-kotlingrad/build.gradle.kts
index f627beec9..576c073c3 100644
--- a/kmath-kotlingrad/build.gradle.kts
+++ b/kmath-kotlingrad/build.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
kotlin("jvm")
id("ru.mipt.npm.gradle.common")
@@ -11,4 +16,4 @@ dependencies {
readme {
maturity = ru.mipt.npm.gradle.Maturity.PROTOTYPE
-}
+}
\ No newline at end of file
diff --git a/kmath-memory/build.gradle.kts b/kmath-memory/build.gradle.kts
index 288c61a51..50c317324 100644
--- a/kmath-memory/build.gradle.kts
+++ b/kmath-memory/build.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
kotlin("multiplatform")
id("ru.mipt.npm.gradle.common")
@@ -9,4 +14,4 @@ readme {
description = """
An API and basic implementation for arranging objects in a continous memory block.
""".trimIndent()
-}
+}
\ No newline at end of file
diff --git a/kmath-nd4j/build.gradle.kts b/kmath-nd4j/build.gradle.kts
index bc61060db..2b549f919 100644
--- a/kmath-nd4j/build.gradle.kts
+++ b/kmath-nd4j/build.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
kotlin("jvm")
id("ru.mipt.npm.gradle.common")
diff --git a/kmath-stat/build.gradle.kts b/kmath-stat/build.gradle.kts
index e8f629f7a..8522cf92f 100644
--- a/kmath-stat/build.gradle.kts
+++ b/kmath-stat/build.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
kotlin("multiplatform")
id("ru.mipt.npm.gradle.common")
diff --git a/kmath-viktor/build.gradle.kts b/kmath-viktor/build.gradle.kts
index 232bd1388..747fe0252 100644
--- a/kmath-viktor/build.gradle.kts
+++ b/kmath-viktor/build.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
plugins {
kotlin("jvm")
id("ru.mipt.npm.gradle.common")
diff --git a/settings.gradle.kts b/settings.gradle.kts
index ca36168e1..553367a22 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2018-2021 KMath contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
pluginManagement {
repositories {
mavenLocal()