Trait

com.quantarray.skylark.measure

Measure

Related Doc: package measure

Permalink

trait Measure[Self <: Measure[Self]] extends AnyMeasure

Measure.

The guiding principle(s) of design is and should be:

1. Construction of a measure should be fast, without any recursion/iteration to perform simplification. 2. Compute-intensive methods, such as simplify, perform simplification and should be called only when necessary.

Self Type
Self
Linear Supertypes
AnyMeasure, Dynamic, Serializable, Serializable, Product, Equals, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Measure
  2. AnyMeasure
  3. Dynamic
  4. Serializable
  5. Serializable
  6. Product
  7. Equals
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract type D <: Dimension[Self.D]

    Permalink

Abstract Value Members

  1. abstract def base: Option[(Self, Double)]

    Permalink
  2. abstract def canEqual(that: Any): Boolean

    Permalink
    Definition Classes
    Equals
  3. abstract def composes(name: String, system: SystemOfUnits, multiple: Double): Self

    Permalink
  4. abstract def dimension: Self.D

    Permalink

    Gets dimension of this measure.

    Gets dimension of this measure.

    Definition Classes
    MeasureAnyMeasure
  5. abstract def name: String

    Permalink

    Measure name.

    Measure name.

    Definition Classes
    AnyMeasure
  6. abstract def productArity: Int

    Permalink
    Definition Classes
    Product
  7. abstract def productElement(n: Int): Any

    Permalink
    Definition Classes
    Product
  8. abstract def system: SystemOfUnits

    Permalink

    Gets system of units.

    Gets system of units.

    Definition Classes
    AnyMeasure

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def *[M2 <: Measure[M2], R](multiplier: M2)(implicit cm: CanMultiply[Self, M2, R]): R

    Permalink

    Multiplies by another measure.

  4. def *(measure: AnyMeasure)(implicit cm: CanMultiply[AnyMeasure, AnyMeasure, AnyMeasure]): AnyMeasure

    Permalink
    Definition Classes
    AnyMeasure
  5. def +[M2 <: Measure[M2]](addend: M2)(implicit ca: CanAdd[Self, M2]): R

    Permalink

    Adds another measure.

    Adds another measure. CanAdd instance allows addition of apples and oranges to obtain bananas.

  6. def -[M2 <: Measure[M2]](subtrahend: M2)(implicit ca: CanAdd[Self, M2]): R

    Permalink

    Subtracts another measure.

  7. def /[M2 <: Measure[M2], R](denominator: M2)(implicit cd: CanDivide[Self, M2, R]): R

    Permalink

    Divides by another measure.

  8. def /(measure: AnyMeasure)(implicit cd: CanDivide[AnyMeasure, AnyMeasure, AnyMeasure]): AnyMeasure

    Permalink
    Definition Classes
    AnyMeasure
  9. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def ^[R <: Measure[R]](exponent: Double)(implicit ce: CanExponentiate[Self, R]): R

    Permalink

    Exponentiates this measure.

  11. def ^(exponent: Double)(implicit ce: CanExponentiate[AnyMeasure, AnyMeasure]): AnyMeasure

    Permalink
    Definition Classes
    AnyMeasure
  12. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  13. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  14. def collect[B](pf: PartialFunction[AnyMeasure, B]): B

    Permalink
    Definition Classes
    AnyMeasure
    Annotations
    @inline()
  15. def composes(name: String, multiple: Double): Self

    Permalink
  16. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  18. def exponent: Double

    Permalink

    Gets exponent of this measure.

    Gets exponent of this measure.

    Definition Classes
    AnyMeasure
  19. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  20. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  21. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  22. lazy val immediateBase: Double

    Permalink
  23. def inverse[R <: Measure[R]](implicit ce: CanExponentiate[Self, R]): R

    Permalink

    Gets an inverse of this measure.

  24. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  25. def isStructuralAtom: Boolean

    Permalink

    Determines if this measure can be decomposed into constituent measures.

    Determines if this measure can be decomposed into constituent measures.

    Definition Classes
    AnyMeasure
  26. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  27. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  28. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  29. def productIterator: Iterator[Any]

    Permalink
    Definition Classes
    Product
  30. def productPrefix: String

    Permalink
    Definition Classes
    Product
  31. def simplify[R <: Measure[R]](implicit cs: CanSimplify[Self, Option[R]]): Option[R]

    Permalink

    Attempts to simplify to target type.

  32. def simplify(implicit cs: CanSimplify[AnyMeasure, AnyMeasure]): AnyMeasure

    Permalink
    Definition Classes
    AnyMeasure
  33. final def structuralName: String

    Permalink

    Gets structural name of this measure.

    Gets structural name of this measure.

    Definition Classes
    AnyMeasure
  34. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  35. def to[M2 <: Measure[M2]](target: M2)(implicit cc: CanConvert[Self, M2]): Option[Double]

    Permalink

    Converts to target measure.

  36. def to(target: AnyMeasure)(implicit cc: CanConvert[AnyMeasure, AnyMeasure]): Option[Double]

    Permalink
    Definition Classes
    AnyMeasure
  37. def toOrElse[M2 <: Measure[M2], B >: Double](target: M2, default: B)(implicit cc: CanConvert[Self, M2]): B

    Permalink

    Converts to target measure with default value.

  38. def toOrElse[B >: Double](target: AnyMeasure, default: B)(implicit cc: CanConvert[AnyMeasure, AnyMeasure]): B

    Permalink
    Definition Classes
    AnyMeasure
  39. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  40. lazy val ultimateBase: Option[(Self, Double)]

    Permalink

    Gets ultimate base.

    Gets ultimate base.

    Definition Classes
    MeasureAnyMeasure
  41. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  42. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyMeasure

Inherited from Dynamic

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped