Class/Object

squants.thermal

Temperature

Related Docs: object Temperature | package thermal

Permalink

final class Temperature extends Quantity[Temperature]

Represents a quantity of temperature

Temperatures are somewhat unique in the world of quantities for a couple of reasons.

First, different units (scales) have different "zero" values. This means that these scales are not simple multiples of the others. There is a "zero offset" that must be applied to conversions from one scale to another.

Second, temperatures are often quoted as though they were quantities, when in fact they are just points on a scale. Similar to a mile marker on a highway, the quantity represented is the number degrees (miles) from a specific "zero" value on the scale.

In fact an absolute quantity of thermodynamic temperature should be measured from absolute zero. Thus, Kelvin, is the SI Base unit for temperature.

The other scales supported here, Celsius and Fahrenheit, are known as empirical scales. Of course, these scales set their respective zero values well above absolute zero. This is done to provide a granular and reasonably sized ranges of values for dealing with everyday temperatures.

This library supports another absolute scale, the Rankine scale. Rankine sets its zero at absolute zero, but degrees are measure in Fahrenheit (as opposed to Celsius, as the Kelvin scale uses).

In consideration of these more unique scale conversions, two conversion types are supported: Degrees and Scale.

Scale based conversions DO adjust for the zero offset. Thus 5 degrees C is the same as 41 degrees F on the thermometer.

Degrees based conversions DO NOT adjust for the zero point. Thus 5 degrees C|K is the same amount of temperature as 9 degrees F|R.

When creating a temperature it is not important to consider these differences. It is also irrelevant when performing operation on temperatures in the same scale. However, when performing operations on two temperatures of different scales these factors do become important.

The Quantity.to(unit) and Quantity.in(unit) methods are overridden to use Scale conversions for convenience

The Ordered.compare method is implemented to use Scale conversions

The Quantity.plus and Quantity.minus methods are implemented to treat right operands as Quantity of Degrees and not a scale Temperature. Operands that differ in scale will use Degree conversions. This supports mixed scale expressions:

val temp = Fahrenheit(100) - Celsius(5) // returns Fahrenheit(91)

This also supports declaring temperature ranges using typical nomenclature:

val tempRange = 65.F +- 5.C // returns QuantityRange(56.0°F,74.0°F)

The toDegrees(unit) methods are implemented to use Degree conversions.

Source
Temperature.scala
Since

0.1

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Temperature
  2. Quantity
  3. Ordered
  4. Comparable
  5. Serializable
  6. Serializable
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. def %(that: Temperature): Double

    Permalink
    Definition Classes
    Quantity
  4. def %(that: Double): Temperature

    Permalink
    Definition Classes
    Quantity
  5. def *(that: ThermalCapacity): energy.Energy

    Permalink
  6. def *(that: Double): Temperature

    Permalink
    Definition Classes
    Quantity
  7. def +(that: Temperature): Temperature

    Permalink
    Definition Classes
    Quantity
  8. def +-(that: Temperature): QuantityRange[Temperature]

    Permalink
    Definition Classes
    Quantity
  9. def -(that: Temperature): Temperature

    Permalink
    Definition Classes
    Quantity
  10. def /(that: Temperature): Double

    Permalink
    Definition Classes
    Quantity
  11. def /(that: Double): Temperature

    Permalink
    Definition Classes
    Quantity
  12. def /%(that: Temperature): (Double, Temperature)

    Permalink
    Definition Classes
    Quantity
  13. def /%(that: Double): (Temperature, Temperature)

    Permalink
    Definition Classes
    Quantity
  14. def <(that: Temperature): Boolean

    Permalink
    Definition Classes
    Ordered
  15. def <=(that: Temperature): Boolean

    Permalink
    Definition Classes
    Ordered
  16. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  17. def =~(that: Temperature)(implicit tolerance: Temperature): Boolean

    Permalink

    approx

    approx

    Definition Classes
    Quantity
  18. def >(that: Temperature): Boolean

    Permalink
    Definition Classes
    Ordered
  19. def >=(that: Temperature): Boolean

    Permalink
    Definition Classes
    Ordered
  20. def abs: Temperature

    Permalink

    Returns the absolute value of this Quantity

    Returns the absolute value of this Quantity

    returns

    Quantity

    Definition Classes
    Quantity
  21. def approx(that: Temperature)(implicit tolerance: Temperature): Boolean

    Permalink

    Returns boolean result of approximate equality comparison

    Returns boolean result of approximate equality comparison

    that

    Quantity

    tolerance

    Quantity

    Definition Classes
    Quantity
  22. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  23. def ceil: Temperature

    Permalink

    Returns the smallest (closest to negative infinity) Quantity value that is greater than or equal to the argument and is equal to a mathematical integer.

    Returns the smallest (closest to negative infinity) Quantity value that is greater than or equal to the argument and is equal to a mathematical integer.

    returns

    Quantity

    Definition Classes
    Quantity
    See also

    java.lang.Math#ceil(double)

  24. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. def compare(that: Temperature): Int

    Permalink

    Implements Ordered.compare

    Implements Ordered.compare

    that

    Quantity

    returns

    Int

    Definition Classes
    Quantity → Ordered
  26. def compareTo(that: Temperature): Int

    Permalink
    Definition Classes
    Ordered → Comparable
  27. def dimension: Temperature.type

    Permalink

    The Dimension this quantity represents

    The Dimension this quantity represents

    Definition Classes
    TemperatureQuantity
  28. def divide(that: Temperature): Double

    Permalink

    Divide this quantity by a like quantity

    Divide this quantity by a like quantity

    that

    Quantity

    returns

    Double

    Definition Classes
    Quantity
  29. def divide(that: Double): Temperature

    Permalink

    Divide this quantity by some number

    Divide this quantity by some number

    that

    Double

    returns

    Quantity

    Definition Classes
    Quantity
  30. def divideAndRemainder(that: Temperature): (Double, Temperature)

    Permalink

    Returns a Pair that includes the result of divideToInteger and remainder

    Returns a Pair that includes the result of divideToInteger and remainder

    that

    Quantity

    returns

    (Double, Quantity)

    Definition Classes
    Quantity
  31. def divideAndRemainder(that: Double): (Temperature, Temperature)

    Permalink

    Returns a Pair that includes the result of divideToInteger and remainder

    Returns a Pair that includes the result of divideToInteger and remainder

    that

    Double

    returns

    (Quantity, Quantity)

    Definition Classes
    Quantity
  32. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  33. def equals(that: Any): Boolean

    Permalink

    Override of equals method

    Override of equals method

    that

    must be of matching value and unit

    Definition Classes
    Quantity → AnyRef → Any
  34. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  35. def floor: Temperature

    Permalink

    Returns the largest (closest to positive infinity) Quantity value that is less than or equal to the argument and is equal to a mathematical integer

    Returns the largest (closest to positive infinity) Quantity value that is less than or equal to the argument and is equal to a mathematical integer

    returns

    Quantity

    Definition Classes
    Quantity
    See also

    java.lang.Math#floor(double)

  36. final def getClass(): Class[_]

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

    Permalink

    Override of hashCode

    Override of hashCode

    Definition Classes
    Quantity → AnyRef → Any
  38. def in(unit: TemperatureScale): Temperature

    Permalink
  39. def in(uom: UnitOfMeasure[Temperature]): Temperature

    Permalink

    Returns an equivalent Quantity boxed with the supplied Unit

    Returns an equivalent Quantity boxed with the supplied Unit

    uom

    UnitOfMeasure[A]

    returns

    Quantity

    Definition Classes
    Quantity
  40. def inCelsius: Temperature

    Permalink
  41. def inFahrenheit: Temperature

    Permalink
  42. def inKelvin: Temperature

    Permalink
  43. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  44. def map(f: (Double) ⇒ Double): Temperature

    Permalink

    Applies a function to the underlying value of the Quantity, returning a new Quantity in the same unit

    Applies a function to the underlying value of the Quantity, returning a new Quantity in the same unit

    f

    Double => Double function

    Definition Classes
    Quantity
  45. def max(that: Temperature): Temperature

    Permalink

    Returns the max of this and that Quantity

    Returns the max of this and that Quantity

    that

    Quantity

    returns

    Quantity

    Definition Classes
    Quantity
  46. def min(that: Temperature): Temperature

    Permalink

    Returns the min of this and that Quantity

    Returns the min of this and that Quantity

    that

    Quantity

    returns

    Quantity

    Definition Classes
    Quantity
  47. def minus(that: Temperature): Temperature

    Permalink

    Subtract two like quantities

    Subtract two like quantities

    that

    Quantity

    returns

    Quantity

    Definition Classes
    TemperatureQuantity
  48. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  49. def negate: Temperature

    Permalink

    Returns the negative value of this Quantity

    Returns the negative value of this Quantity

    returns

    Quantity

    Definition Classes
    Quantity
  50. def notWithin(range: QuantityRange[Temperature]): Boolean

    Permalink

    Returns true if this value is not within (contains) the range

    Returns true if this value is not within (contains) the range

    range

    QuantityRange

    returns

    Boolean

    Definition Classes
    Quantity
  51. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  53. def plus(that: Temperature): Temperature

    Permalink

    Add two like quantities

    Add two like quantities

    that

    Quantity

    returns

    Quantity

    Definition Classes
    TemperatureQuantity
  54. def plusOrMinus(that: Temperature): QuantityRange[Temperature]

    Permalink

    Returns a QuantityRange representing the range for this value +- that

    Returns a QuantityRange representing the range for this value +- that

    that

    Quantity

    returns

    QuantityRange

    Definition Classes
    Quantity
  55. def remainder(that: Temperature): Double

    Permalink

    Returns the remainder of a division by a like quantity

    Returns the remainder of a division by a like quantity

    that

    Quantity

    returns

    Double

    Definition Classes
    Quantity
  56. def remainder(that: Double): Temperature

    Permalink

    Returns the remainder of a division by a number

    Returns the remainder of a division by a number

    that

    Quantity

    returns

    Quantity

    Definition Classes
    Quantity
  57. def rint: Temperature

    Permalink

    Returns the Quantity value that is closest in value to the argument and is equal to a mathematical integer.

    Returns the Quantity value that is closest in value to the argument and is equal to a mathematical integer.

    returns

    Quantity

    Definition Classes
    Quantity
    See also

    java.lang.Math#rint(double)

  58. def rounded(scale: Int, mode: RoundingMode = RoundingMode.HALF_EVEN): Temperature

    Permalink

    Returns the Quantity with its coefficient value rounded using scale and mode.

    Returns the Quantity with its coefficient value rounded using scale and mode. The unit is maintained.

    scale

    Int - scale of the value to be returned

    mode

    RoundingMode - defaults to HALF_EVEN

    returns

    Quantity

    Definition Classes
    Quantity
  59. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  60. def times(that: Double): Temperature

    Permalink

    Multiply this quantity by some number

    Multiply this quantity by some number

    that

    Double

    returns

    Quantity

    Definition Classes
    Quantity
  61. def to(unit: TemperatureScale): Double

    Permalink
  62. def to(uom: UnitOfMeasure[Temperature]): Double

    Permalink

    Returns a Double representing the quantity in terms of the supplied unit

    Returns a Double representing the quantity in terms of the supplied unit

    val d = Feet(3)
    (d to Inches) should be(36)
    uom

    UnitOfMeasure[A]

    returns

    Double

    Definition Classes
    Quantity
  63. def to(that: Temperature): QuantityRange[Temperature]

    Permalink

    Returns a QuantityRange that goes from this to that

    Returns a QuantityRange that goes from this to that

    that

    Quantity

    returns

    QuantityRange

    Definition Classes
    Quantity
  64. def toCelsiusDegrees: Double

    Permalink
  65. def toCelsiusScale: Double

    Permalink
  66. def toDegrees(unit: TemperatureScale): Double

    Permalink
  67. def toFahrenheitDegrees: Double

    Permalink
  68. def toFahrenheitScale: Double

    Permalink
  69. def toKelvinDegrees: Double

    Permalink
  70. def toKelvinScale: Double

    Permalink
  71. def toScale(unit: TemperatureScale): Double

    Permalink
  72. def toString(unit: TemperatureScale): String

    Permalink
  73. def toString(): String

    Permalink

    Returns a string representing the quantity's value in unit

    Returns a string representing the quantity's value in unit

    returns

    String

    Definition Classes
    TemperatureQuantity → AnyRef → Any
  74. def toString(uom: UnitOfMeasure[Temperature], format: String): String

    Permalink

    Returns a string representing the quantity's value in the given unit in the given format

    Returns a string representing the quantity's value in the given unit in the given format

    uom

    UnitOfMeasure[A] with UnitConverter

    format

    String containing the format for the value (ie "%.3f")

    returns

    String

    Definition Classes
    Quantity
  75. def toString(uom: UnitOfMeasure[Temperature]): String

    Permalink

    Returns a string representing the quantity's value in the given unit

    Returns a string representing the quantity's value in the given unit

    uom

    UnitOfMeasure[A] with UnitConverter

    returns

    String

    Definition Classes
    Quantity
  76. def toTuple(uom: UnitOfMeasure[Temperature]): (Double, String)

    Permalink

    Returns a pair representing the numeric value and the uom's symbol

    Returns a pair representing the numeric value and the uom's symbol

    uom

    UnitOfMeasure[A]

    Definition Classes
    Quantity
  77. def toTuple: (Double, String)

    Permalink

    Returns a tuple representing the numeric value and the unit's symbol

    Returns a tuple representing the numeric value and the unit's symbol

    Definition Classes
    Quantity
  78. def unary_-(): Temperature

    Permalink
    Definition Classes
    Quantity
  79. val unit: TemperatureScale

    Permalink

    The Unit of Measure the value represents

    The Unit of Measure the value represents

    returns

    UnitOfMeasure[A]

    Definition Classes
    TemperatureQuantity
  80. val value: Double

    Permalink

    the value of the temperature

    the value of the temperature

    Definition Classes
    TemperatureQuantity
  81. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  84. def within(range: QuantityRange[Temperature]): Boolean

    Permalink

    Returns true if this value is within (contains) the range

    Returns true if this value is within (contains) the range

    range

    QuantityRange

    returns

    Boolean

    Definition Classes
    Quantity
  85. def ~=(that: Temperature)(implicit tolerance: Temperature): Boolean

    Permalink

    approx

    approx

    Definition Classes
    Quantity
  86. def (that: Temperature)(implicit tolerance: Temperature): Boolean

    Permalink

    approx

    approx

    Definition Classes
    Quantity

Inherited from Quantity[Temperature]

Inherited from Ordered[Temperature]

Inherited from Comparable[Temperature]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped