Package

org.sisioh.baseunits.scala

intervals

Permalink

package intervals

区間を表すクラスを中心としたクラス群。

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. intervals
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class Interval[T] extends Serializable

    Permalink

    「区間」を表すクラス。

    「区間」を表すクラス。

    閉区間とは、lower <= x <= upperであらわされる区間であり、 開区間とは、lower < x < upperであらわされる区間である。 どちらか一方のみが <= で、他方が < である場合は、半開区間と言う。

    The rules of this class are consistent with the common mathematical definition of "interval". For a simple explanation, see http://en.wikipedia.org/wiki/Interval_(mathematics)

    Interval (and its "ConcreteInterval" subclass) can be used for any objects that have a natural ordering reflected by implementing the Comparable interface. For example, Integer implements Comparable, so if you want to check if an Integer is within a range, make an Interval. Any class of yours which implements Comparable can have intervals defined this way.

    T

    区間要素の型

  2. class IntervalLimit[T] extends Ordered[IntervalLimit[T]] with Serializable

    Permalink

    区間における「限界」を表すクラス。

    区間における「限界」を表すクラス。

    このクラスを理解するにあたっては、「限界」と「限界値」の区別を正しく認識することが重要となる。 限界とはこのクラス this で表される値であり、限界値とは、 valueで表される値である。

    限界が「閉じている」とは、限界値そのものを超過とみなさないことを表し、 「開いている」とは、これを超過とみなすことを表す。

    無限限界とは、限界を制限しないことであり、 valueLimitless[T] であることで この状態を表現する。無限限界は常に開いていると考える。 逆に、無限限界ではない限界(valueLimitless[T] ではないもの)を有限限界と呼ぶ。

    下側限界とは、限界値以下(または未満)の値を超過とみなす限界を表し、 上側限界とは、限界値以上(または超える)の値を超過とみなす限界を表す。

    T

    限界の型

  3. abstract class IntervalMap[A, +B] extends Map[Interval[A], B] with MapLike[Interval[A], B, IntervalMap[A, B]]

    Permalink

    区間に対して値をマッピングする抽象クラス。

    区間に対して値をマッピングする抽象クラス。

    A

    キーとなる区間の型

    B

    値の型

  4. class IntervalSeq[T] extends Seq[Interval[T]] with SeqLike[Interval[T], IntervalSeq[T]]

    Permalink

    区間列(複数の Interval の列)を表すクラス。

    区間列(複数の Interval の列)を表すクラス。

    T

    Intervalの型

  5. class IntervalSeqBuilder[T] extends Builder[Interval[T], IntervalSeq[T]]

    Permalink

    org.sisioh.baseunits.scala.intervals.IntervalSeqのためのビルダー。

  6. case class Limit[T](value: T)(implicit ev: (T) ⇒ Ordered[T]) extends LimitValue[T] with Product with Serializable

    Permalink

    有限の限界値を表すクラス。

    有限の限界値を表すクラス。

    T

    限界値の型

    value

    限界値

  7. trait LimitValue[T] extends Ordered[LimitValue[T]]

    Permalink

    限界値を表すトレイト。

    限界値を表すトレイト。

    T

    限界値の型

  8. case class Limitless[T]()(implicit ev: (T) ⇒ Ordered[T]) extends LimitValue[T] with Product with Serializable

    Permalink

    無限の限界値を表すクラス。

    無限の限界値を表すクラス。

    T

    限界値の型

  9. class LinearIntervalMap[A, B] extends IntervalMap[A, B]

    Permalink
  10. class LowerUpperOrdering[T] extends Ordering[Interval[T]]

    Permalink

    区間同士の比較を行うためのOrderingの実装(下側優先)

    区間同士の比較を行うためのOrderingの実装(下側優先)

    下側限界による比較を優先し、同じであったら上側限界による比較を採用する。

  11. class UpperLowerOrdering[T] extends Ordering[Interval[T]]

    Permalink

    区間同士の比較を行うためのOrderingの実装(上側優先)

    区間同士の比較を行うためのOrderingの実装(上側優先)

    上側限界による比較を優先し、同じであったら下側限界による比較を採用する。

Value Members

  1. object Interval extends Serializable

    Permalink

    Intervalコンパニオンオブジェクト

  2. object IntervalLimit extends Serializable

    Permalink

    IntervalLimitコンパニオンオブジェクト。

  3. object IntervalSeq

    Permalink

    IntervalSeqコンパニオンオブジェクト

  4. object LimitValue

    Permalink

    LimitValueコンパニオンオブジェクト。

  5. object LinearIntervalMap

    Permalink

    LinearIntervalMapコンパニオンオブジェクト。

  6. object LowerUpperOrdering extends Serializable

    Permalink

    LowerUpperOrderingコンパニオンオブジェクト。

  7. object UpperLowerOrdering extends Serializable

    Permalink

    UpperLowerOrderingコンパニオンオブジェクト。

Inherited from AnyRef

Inherited from Any

Ungrouped