区間の比較演算について

LongInterval クラスの変数は、比較演算子を用いて int, LongFloat, LongInterval クラスと比較できます。 ただし、戻り値の型が通常の比較演算と異なるので、注意が必要です。 通常、比較演算は bool 型の値を返します。 一方、

などの比較演算は、 int 型の値を返します。 この int 値の内容は以下のようになります。

  • 真のとき、 1
  • 偽のとき、 0
  • 不明のとき、 -1

LILIB では区間値を、下端・上端ではなく中心値・半径の形で保持しています。 この方法には、計算の高速化や記憶容量の節約などのメリットがありますが、下端・上端が厳密に求められないことがあるというデメリットも存在します。 このため、区間の比較結果として「不明」の場合が存在します。

なお、「二つの区間が等しいか」は厳密に調べることができるので、

の二つの演算は、従来通り bool 型の値を返します。