diff options
author | Adrien Hopkins <adrien.p.hopkins@gmail.com> | 2019-01-25 19:09:47 -0500 |
---|---|---|
committer | Adrien Hopkins <adrien.p.hopkins@gmail.com> | 2019-01-25 19:09:47 -0500 |
commit | 8ff06e8e5661645c00656c40d15c8d13db665b57 (patch) | |
tree | 61ac16a6a78f4b2e1ee939e9527a59d9c74c1dd6 /src/unitConverter/unit/NonlinearUnits.java | |
parent | 43feeeab69b723e02694a2d93eaa44c3007665e1 (diff) |
Added code from the previous implementation of the Unit Converter
It includes:
- a units database to store units
- unit prefix classes
- a unit converter GUI that accepts some unit math
NOTE: A lot of this code will be edited in the near future.
Diffstat (limited to 'src/unitConverter/unit/NonlinearUnits.java')
-rwxr-xr-x | src/unitConverter/unit/NonlinearUnits.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/unitConverter/unit/NonlinearUnits.java b/src/unitConverter/unit/NonlinearUnits.java new file mode 100755 index 0000000..f7e257c --- /dev/null +++ b/src/unitConverter/unit/NonlinearUnits.java @@ -0,0 +1,56 @@ +/** + * Copyright (C) 2018 Adrien Hopkins + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ +package unitConverter.unit; + +/** + * Some major nonlinear units. + * + * @author Adrien Hopkins + * @since 2019-01-14 + */ +public final class NonlinearUnits { + public static final Unit CELSIUS = new AbstractUnit(SI.KELVIN) { + + @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; + } + }; + + // You may NOT get a NonlinearUnits instance. + private NonlinearUnits() { + throw new AssertionError(); + } +} |