summaryrefslogtreecommitdiff
path: root/src/org/unitConverter/unit/NonlinearUnits.java
diff options
context:
space:
mode:
authorAdrien Hopkins <adrien.p.hopkins@gmail.com>2019-05-22 17:32:40 -0400
committerAdrien Hopkins <adrien.p.hopkins@gmail.com>2019-05-22 17:32:40 -0400
commit987fd8406d65505aedecd17e51216eb0ce393fbb (patch)
treeb10a551a57cbd099450ffe539cb8d6d8e230459d /src/org/unitConverter/unit/NonlinearUnits.java
parent50a195ef78af5d15dd6e548d4d6928c281bbaac2 (diff)
Added new default methods to the Unit interface.
Diffstat (limited to 'src/org/unitConverter/unit/NonlinearUnits.java')
-rwxr-xr-xsrc/org/unitConverter/unit/NonlinearUnits.java28
1 files changed, 4 insertions, 24 deletions
diff --git a/src/org/unitConverter/unit/NonlinearUnits.java b/src/org/unitConverter/unit/NonlinearUnits.java
index e47c28f..eda4a74 100755
--- a/src/org/unitConverter/unit/NonlinearUnits.java
+++ b/src/org/unitConverter/unit/NonlinearUnits.java
@@ -24,31 +24,11 @@ package org.unitConverter.unit;
* @since v0.1.0
*/
public final class NonlinearUnits {
- public static final Unit CELSIUS = new AbstractUnit(SI.KELVIN) {
+ public static final Unit CELSIUS = Unit.fromConversionFunctions(SI.KELVIN, tempK -> tempK - 273.15,
+ tempC -> tempC + 273.15);
- @Override
- public double convertFromBase(final double value) {
- return value - 273.15;
- }
-
- @Override
- public double convertToBase(final double value) {
- return value + 273.15;
- }
- };
-
- public static final Unit FAHRENHEIT = new AbstractUnit(SI.KELVIN) {
-
- @Override
- public double convertFromBase(final double value) {
- return 1.8 * value - 459.67;
- }
-
- @Override
- public double convertToBase(final double value) {
- return (value + 459.67) / 1.8;
- }
- };
+ public static final Unit FAHRENHEIT = Unit.fromConversionFunctions(SI.KELVIN, tempK -> tempK * 1.8 - 459.67,
+ tempF -> (tempF + 459.67) / 1.8);
// You may NOT get a NonlinearUnits instance.
private NonlinearUnits() {