c

# Temperature 

### Companion object Temperature

#### 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)
Definition Classes
AnyRef → Any
2. final def ##(): Int
Definition Classes
AnyRef → Any
3. def %(that: Temperature)
Definition Classes
Quantity
4. def %(that: Double)
Definition Classes
Quantity
5. def *(that: ThermalCapacity)
6. def *(that: Double)
Definition Classes
Quantity
7. def +(that: Temperature)
Definition Classes
Quantity
8. def +-(that: Temperature)
Definition Classes
Quantity
9. def -(that: Temperature)
Definition Classes
Quantity
10. def /(that: Temperature)
Definition Classes
Quantity
11. def /(that: Double)
Definition Classes
Quantity
12. def /%(that: Temperature): (Double, Temperature)
Definition Classes
Quantity
13. def /%(that: Double)
Definition Classes
Quantity
14. def <(that: Temperature)
Definition Classes
Ordered
15. def <=(that: Temperature)
Definition Classes
Ordered
16. final def ==(arg0: Any)
Definition Classes
AnyRef → Any
17. def =~(that: Temperature)(implicit tolerance: Temperature)

approx

approx

Definition Classes
Quantity
18. def >(that: Temperature)
Definition Classes
Ordered
19. def >=(that: Temperature)
Definition Classes
Ordered
20. def abs

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)

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
Definition Classes
Any
23. def ceil

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

java.lang.Math#ceil(double)

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

Implements Ordered.compare

Implements Ordered.compare

that

Quantity

returns

Int

Definition Classes
Quantity → Ordered
26. def compareTo(that: Temperature): Int
Definition Classes
Ordered → Comparable
27. def dimension: Temperature.type

The Dimension this quantity represents

The Dimension this quantity represents

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

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)

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)

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)

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)
Definition Classes
AnyRef
33. def equals(that: Any)

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
Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
35. def floor

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

java.lang.Math#floor(double)

36. final def getClass(): Class[_]
Definition Classes
AnyRef → Any
37. def hashCode(): Int

Override of hashCode

Override of hashCode

Definition Classes
Quantity → AnyRef → Any
38. def in(unit: TemperatureScale)
39. def in(uom: UnitOfMeasure[Temperature])

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
41. def inFahrenheit
42. def inKelvin
43. final def isInstanceOf[T0]
Definition Classes
Any
44. def map(f: (Double) ⇒ Double)

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)

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)

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)

Subtract two like quantities

Subtract two like quantities

that

Quantity

returns

Quantity

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

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])

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
Definition Classes
AnyRef
52. final def notifyAll(): Unit
Definition Classes
AnyRef
53. def plus(that: Temperature)

that

Quantity

returns

Quantity

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

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)

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)

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

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

java.lang.Math#rint(double)

58. final def synchronized[T0](arg0: ⇒ T0): T0
Definition Classes
AnyRef
59. def times(that: Double)

Multiply this quantity by some number

Multiply this quantity by some number

that

Double

returns

Quantity

Definition Classes
Quantity
60. def to(unit: TemperatureScale)
61. def to(uom: UnitOfMeasure[Temperature])

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
62. def to(that: Temperature)

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
63. def toCelsiusDegrees
64. def toCelsiusScale
65. def toDegrees(unit: TemperatureScale)
66. def toFahrenheitDegrees
67. def toFahrenheitScale
68. def toKelvinDegrees
69. def toKelvinScale
70. def toScale(unit: TemperatureScale)
71. def toString(unit: TemperatureScale): String
72. def toString(): String

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
73. def toString(uom: UnitOfMeasure[Temperature], format: String): String

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
74. def toString(uom: UnitOfMeasure[Temperature]): String

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
75. def toTuple(uom: UnitOfMeasure[Temperature]): (Double, String)

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
76. def toTuple: (Double, String)

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
77. def unary_-()
Definition Classes
Quantity
78. val unit
Definition Classes
TemperatureQuantity
79. val value
Definition Classes
TemperatureQuantity
80. final def wait(): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
81. final def wait(arg0: Long, arg1: Int): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
82. final def wait(arg0: Long): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
83. def within(range: QuantityRange[Temperature])

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
84. def ~=(that: Temperature)(implicit tolerance: Temperature)

approx

approx

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

approx

approx

Definition Classes
Quantity