diff --git a/rings.scaladsl/build.sbt b/rings.scaladsl/build.sbt
index c5553f4..df10dd3 100644
--- a/rings.scaladsl/build.sbt
+++ b/rings.scaladsl/build.sbt
@@ -1,9 +1,15 @@
import sbt.Keys._
organization := "cc.redberry"
+
name := "rings.scaladsl"
+
version := "2.0"
+
scalaVersion := "2.12.3"
+
+crossScalaVersions := Seq("2.11.11", "2.12.3")
+
moduleName := name.value
resolvers += Resolver.mavenLocal
@@ -14,4 +20,19 @@ libraryDependencies ++= Seq(
"com.novocode" % "junit-interface" % "0.11" % Test exclude("junit", "junit-dep")
)
-crossScalaVersions := Seq("2.11.11", "2.12.3")
\ No newline at end of file
+publishTo := Some(
+ if (isSnapshot.value)
+ Opts.resolver.sonatypeSnapshots
+ else
+ Opts.resolver.sonatypeStaging
+)
+
+import sbtrelease.ReleasePlugin.autoImport.ReleaseTransformations._
+
+releaseCrossBuild := true // true if you cross-build the project for multiple Scala versions
+releaseProcess := Seq[ReleaseStep](
+ checkSnapshotDependencies,
+ runClean,
+ runTest,
+ releaseStepCommand("publishSigned")
+)
diff --git a/rings.scaladsl/project/plugins.sbt b/rings.scaladsl/project/plugins.sbt
new file mode 100644
index 0000000..c61b3cc
--- /dev/null
+++ b/rings.scaladsl/project/plugins.sbt
@@ -0,0 +1,5 @@
+addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.6")
+addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "2.0")
+addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.1.0-M1")
+
+
diff --git a/rings.scaladsl/sonatype.sbt b/rings.scaladsl/sonatype.sbt
new file mode 100644
index 0000000..20be434
--- /dev/null
+++ b/rings.scaladsl/sonatype.sbt
@@ -0,0 +1,24 @@
+
+// Your profile name of the sonatype account. The default is the same with the organization value
+sonatypeProfileName := "cc.redberry"
+
+// To sync with Maven central, you need to supply the following information:
+publishMavenStyle := true
+
+// License of your choice
+licenses := Seq("APL2" -> url("http://www.apache.org/licenses/LICENSE-2.0.txt"))
+homepage := Some(url("https://github.com/PoslavskySV/rings"))
+scmInfo := Some(
+ ScmInfo(
+ url("https://github.com/PoslavskySV/rings"),
+ "scm:git@github.com:PoslavskySV/rings.git"
+ )
+)
+developers := List(
+ Developer(
+ id = "PoslavskySV",
+ name = "Stanislav Poslavsky",
+ email = "stvlpos@mail.ru",
+ url = url("http://redberry.cc")
+ )
+)
diff --git a/rings.scaladsl/src/test/scala/cc/redberry/rings/scaladsl/Examples.scala b/rings.scaladsl/src/test/scala/cc/redberry/rings/scaladsl/Examples.scala
index 4c11a18..3b9ba60 100644
--- a/rings.scaladsl/src/test/scala/cc/redberry/rings/scaladsl/Examples.scala
+++ b/rings.scaladsl/src/test/scala/cc/redberry/rings/scaladsl/Examples.scala
@@ -717,23 +717,4 @@ class Examples {
assert(r1 == r2 * div + rem)
}
}
-
-
- @Test
- def test1111 = {
-
- import cc.redberry.rings.poly.univar.UnivariateGCD._
- import syntax._
-
- // The ring Z/17[x]
- implicit val ring = UnivariateRingZp64(17, "x")
-
- val x = ring("x")
-
- val (gcd, s, t) = PolynomialExtendedGCD(1 + x + x.pow(2) + x.pow(3), 1 + 2 * x + 9 * x.pow(2)).tuple3
-
- println(s)
- println(t)
- println(gcd)
- }
}
\ No newline at end of file
diff --git a/rings/pom.xml b/rings/pom.xml
index 0b5f9ab..e8f8b5b 100644
--- a/rings/pom.xml
+++ b/rings/pom.xml
@@ -7,6 +7,12 @@
cc.redberry
rings
2.0
+ jar
+ rings
+ https://github.com/PoslavskySV/rings/
+
+ Rings: efficient Java/Scala library for polynomial rings
+
org.sonatype.oss
@@ -15,6 +21,34 @@
+
+
+ Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+ repo
+
+
+
+
+
+ PoslavskySV
+ stvlpos@mail.ru
+ Stanislav Poslavsky
+
+ architect
+ developer
+ tester
+ documentation
+
+ UTC+04:00
+ https://github.com/PoslavskySV
+
+
+
+
+ scm:git:https://github.com/PoslavskySV/rings.git
+
+
diff --git a/rings/src/main/java/cc/redberry/rings/Ring.java b/rings/src/main/java/cc/redberry/rings/Ring.java
index d7e7f41..ed80524 100644
--- a/rings/src/main/java/cc/redberry/rings/Ring.java
+++ b/rings/src/main/java/cc/redberry/rings/Ring.java
@@ -105,6 +105,7 @@ default boolean isFiniteField() {
* @param elements elements to sum
* @return sum of the array
*/
+ @SuppressWarnings("unchecked")
default E add(E... elements) {
E r = elements[0];
for (int i = 1; i < elements.length; i++)
@@ -156,6 +157,7 @@ default E decrement(E element) {
* @param elements the elements
* @return product of the array
*/
+ @SuppressWarnings("unchecked")
default E multiply(E... elements) {
E r = elements[0];
for (int i = 1; i < elements.length; i++)
@@ -326,6 +328,7 @@ default E lcm(E a, E b) {
* @param elements the elements
* @return gcd
*/
+ @SuppressWarnings("unchecked")
default E gcd(E... elements) {
return gcd(Arrays.asList(elements));
}
diff --git a/rings/src/main/java/cc/redberry/rings/poly/univar/UnivariatePolynomial.java b/rings/src/main/java/cc/redberry/rings/poly/univar/UnivariatePolynomial.java
index 55ffc11..cff83e1 100644
--- a/rings/src/main/java/cc/redberry/rings/poly/univar/UnivariatePolynomial.java
+++ b/rings/src/main/java/cc/redberry/rings/poly/univar/UnivariatePolynomial.java
@@ -60,6 +60,7 @@ public static UnivariatePolynomial parse(String string, Ring ring) {
* @param data the coefficients
* @return new univariate polynomial over specified ring with specified coefficients
*/
+ @SuppressWarnings("unchecked")
public static UnivariatePolynomial create(Ring ring, E... data) {
ring.setToValueOf(data);
return new UnivariatePolynomial<>(ring, data);