Я подумал, что это должно быть прямо вперед:Sum или продукт Rationals с Spire (как получить scala.Numeric)
Я думаю, это просто вопрос приведения правильного материала в неявную область. Но что мне импортировать?
Я могу видеть, что для того, чтобы получить RationalIsNumeric
, я должен сделать что-то вроде этого:
import spire.math.Numeric._
implicit val err = new ApproximationContext(Rational(1, 192))
implicit val num = RationalIsNumeric
Но это просто дает мне spire.math.Numeric
. Поэтому я стараюсь с этим дополнительно:
import spire.math.compat._
Но не повезло ...
OT: для чего вы используете шпиль? – Edmondo1984
Я занимаюсь ритмическими (музыкальными) вычислениями. Музыкальные продолжительности обычно выражаются как рациональные, поэтому вы должны уметь их калечить :) Например. учитывая ритмическую ячейку с относительной продолжительностью 3, 2, 1 и общую длительность 1/2, вычисляют индивидуальные продолжительности, находят некоторые растягивающие факторы, которые приводят к малым знаменателям и т. д. –