интервал шпиля скала, дающий неверный результат - PullRequest
0 голосов
/ 29 января 2019

Шпиль Scala дает следующий результат.Согласно моему пониманию, оно должно дать List((0.0,0.1],[3.0,5.0)).Почему такой результат?

scala> val x = Interval.openLower(0.0,0.1)
x: spire.math.Interval[Double] = (0.0, 0.1]

scala> val y = Interval.openUpper(3.0,5.0)
y: spire.math.Interval[Double] = [3.0, 5.0)

scala> x.union(y)
res0: spire.math.Interval[Double] = (0.0, 5.0)

А также

 val S = Interval.open(1.0, 4.5)
val A = Interval.open(1.0, 3.0)
val B = Interval.open(2.0, 4.0)
val C = Interval.openUpper(3.0, 4.5)
println(S \ (A ∩ B))
val list = (S \ A).union(S \ B)
println(list)

Результат равен

List((1.0, 2.0], [3.0, 4.5))
List([3.0, 4.5), (1.0, 2.0], [4.0, 4.5))

Как мне объединить нижний результат с верхним, чтобы оба былиравны.

...