typelevel/spire

Eq[Polynomial[C]] throws ArrayIndexOutOfBoundsException for negative exponents

Open

#756 opened on Jan 9, 2019

View on GitHub
 (7 comments) (0 reactions) (0 assignees)Scala (238 forks)batch import
good first issue

Repository metrics

Stars
 (1,775 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Reproduce:

scala> def x: Polynomial[Int] = PolySparse(List(Term(-1642198702, -1)))
x: spire.math.Polynomial[Int]
scala> x === x
java.lang.ArrayIndexOutOfBoundsException: -1
  at scala.runtime.ScalaRunTime$.array_update(ScalaRunTime.scala:76)
  at spire.math.poly.PolySparse.coeffsArray(PolySparse.scala:54)
  at spire.math.PolynomialEq.eqv(Polynomial.scala:556)
  at spire.math.PolynomialEq.eqv$(Polynomial.scala:555)
  at spire.math.PolynomialInstances0$$anon$14.eqv(Polynomial.scala:568)
  ... 36 elided

Contributor guide