diff options
author | Adrien Hopkins <masterofnumbers17@gmail.com> | 2019-11-26 21:20:11 -0500 |
---|---|---|
committer | Adrien Hopkins <masterofnumbers17@gmail.com> | 2019-11-26 21:20:11 -0500 |
commit | 908a9024f13a24def5d5e82ea08f7b5257a0426c (patch) | |
tree | 9a5d42e507f5d6a962fb255ce3b215601c6f1bdb | |
parent | bff8f363ce5e2ca84da1d57a470f0648c4b338e6 (diff) |
Added names and symbols to all of the SI units.
-rw-r--r-- | src/org/unitConverter/unit/SI.java | 167 |
1 files changed, 94 insertions, 73 deletions
diff --git a/src/org/unitConverter/unit/SI.java b/src/org/unitConverter/unit/SI.java index c8d228c..1a9eaf1 100644 --- a/src/org/unitConverter/unit/SI.java +++ b/src/org/unitConverter/unit/SI.java @@ -156,90 +156,111 @@ public final class SI { public static final LinearUnit DOLLAR = BaseUnits.DOLLAR.asLinearUnit().withName(NameSymbol.of("dollar", "$"));
// Non-base units
- public static final LinearUnit RADIAN = METRE.dividedBy(METRE);
- public static final LinearUnit STERADIAN = RADIAN.times(RADIAN);
- public static final LinearUnit HERTZ = ONE.dividedBy(SECOND); // for periodic phenomena
- public static final LinearUnit NEWTON = KILOGRAM.times(METRE).dividedBy(SECOND.times(SECOND));
- public static final LinearUnit PASCAL = NEWTON.dividedBy(METRE.times(METRE));
- public static final LinearUnit JOULE = NEWTON.times(METRE);
- public static final LinearUnit WATT = JOULE.dividedBy(SECOND);
- public static final LinearUnit COULOMB = AMPERE.times(SECOND);
- public static final LinearUnit VOLT = JOULE.dividedBy(COULOMB);
- public static final LinearUnit FARAD = COULOMB.dividedBy(VOLT);
- public static final LinearUnit OHM = VOLT.dividedBy(AMPERE);
- public static final LinearUnit SIEMENS = ONE.dividedBy(OHM);
- public static final LinearUnit WEBER = VOLT.times(SECOND);
- public static final LinearUnit TESLA = WEBER.dividedBy(METRE.times(METRE));
- public static final LinearUnit HENRY = WEBER.dividedBy(AMPERE);
- public static final LinearUnit LUMEN = CANDELA.times(STERADIAN);
- public static final LinearUnit LUX = LUMEN.dividedBy(METRE.times(METRE));
- public static final LinearUnit BEQUEREL = ONE.dividedBy(SECOND); // for activity referred to a nucleotide
- public static final LinearUnit GRAY = JOULE.dividedBy(KILOGRAM); // for absorbed dose
- public static final LinearUnit SIEVERT = JOULE.dividedBy(KILOGRAM); // for dose equivalent
- public static final LinearUnit KATAL = MOLE.dividedBy(SECOND);
+ public static final LinearUnit RADIAN = METRE.dividedBy(METRE).withName(NameSymbol.of("radian", "rad"));
+ public static final LinearUnit STERADIAN = RADIAN.times(RADIAN).withName(NameSymbol.of("steradian", "sr"));
+ public static final LinearUnit HERTZ = ONE.dividedBy(SECOND).withName(NameSymbol.of("hertz", "Hz"));
+ // for periodic phenomena
+ public static final LinearUnit NEWTON = KILOGRAM.times(METRE).dividedBy(SECOND.times(SECOND))
+ .withName(NameSymbol.of("newton", "N"));
+ public static final LinearUnit PASCAL = NEWTON.dividedBy(METRE.times(METRE))
+ .withName(NameSymbol.of("pascal", "Pa"));
+ public static final LinearUnit JOULE = NEWTON.times(METRE).withName(NameSymbol.of("joule", "J"));
+ public static final LinearUnit WATT = JOULE.dividedBy(SECOND).withName(NameSymbol.of("watt", "W"));
+ public static final LinearUnit COULOMB = AMPERE.times(SECOND).withName(NameSymbol.of("coulomb", "C"));
+ public static final LinearUnit VOLT = JOULE.dividedBy(COULOMB).withName(NameSymbol.of("volt", "V"));
+ public static final LinearUnit FARAD = COULOMB.dividedBy(VOLT).withName(NameSymbol.of("farad", "F"));
+ public static final LinearUnit OHM = VOLT.dividedBy(AMPERE).withName(NameSymbol.of("ohm", "\u03A9")); // omega
+ public static final LinearUnit SIEMENS = ONE.dividedBy(OHM).withName(NameSymbol.of("siemens", "S"));
+ public static final LinearUnit WEBER = VOLT.times(SECOND).withName(NameSymbol.of("weber", "Wb"));
+ public static final LinearUnit TESLA = WEBER.dividedBy(METRE.times(METRE)).withName(NameSymbol.of("tesla", "T"));
+ public static final LinearUnit HENRY = WEBER.dividedBy(AMPERE).withName(NameSymbol.of("henry", "H"));
+ public static final LinearUnit LUMEN = CANDELA.times(STERADIAN).withName(NameSymbol.of("lumen", "lm"));
+ public static final LinearUnit LUX = LUMEN.dividedBy(METRE.times(METRE)).withName(NameSymbol.of("lux", "lx"));
+ public static final LinearUnit BEQUEREL = ONE.dividedBy(SECOND).withName(NameSymbol.of("bequerel", "Bq"));
+ // for activity referred to a nucleotide
+ public static final LinearUnit GRAY = JOULE.dividedBy(KILOGRAM).withName(NameSymbol.of("grey", "Gy"));
+ // for absorbed dose
+ public static final LinearUnit SIEVERT = JOULE.dividedBy(KILOGRAM).withName(NameSymbol.of("sievert", "Sv"));
+ // for dose equivalent
+ public static final LinearUnit KATAL = MOLE.dividedBy(SECOND).withName(NameSymbol.of("katal", "kat"));
// common derived units included for convenience
- public static final LinearUnit GRAM = KILOGRAM.dividedBy(1000);
- public static final LinearUnit SQUARE_METRE = METRE.toExponent(2);
- public static final LinearUnit CUBIC_METRE = METRE.toExponent(3);
- public static final LinearUnit METRE_PER_SECOND = METRE.dividedBy(SECOND);
+ public static final LinearUnit GRAM = KILOGRAM.dividedBy(1000).withName(NameSymbol.of("gram", "g"));
+ public static final LinearUnit SQUARE_METRE = METRE.toExponent(2)
+ .withName(NameSymbol.of("square metre", "m^2", "square meter", "metre squared", "meter squared"));
+ public static final LinearUnit CUBIC_METRE = METRE.toExponent(3)
+ .withName(NameSymbol.of("cubic metre", "m^3", "cubic meter", "metre cubed", "meter cubed"));
+ public static final LinearUnit METRE_PER_SECOND = METRE.dividedBy(SECOND)
+ .withName(NameSymbol.of("metre per second", "m/s", "meter per second"));
// Non-SI units included for convenience
- public static final Unit CELSIUS = Unit.fromConversionFunctions(KELVIN.getBase(), tempK -> tempK - 273.15,
- tempC -> tempC + 273.15);
- public static final LinearUnit MINUTE = SECOND.times(60);
- public static final LinearUnit HOUR = MINUTE.times(60);
- public static final LinearUnit DAY = HOUR.times(60);
- public static final LinearUnit KILOMETRE_PER_HOUR = METRE.times(1000).dividedBy(HOUR);
- public static final LinearUnit DEGREE = RADIAN.times(360 / (2 * Math.PI));
- public static final LinearUnit ARCMINUTE = DEGREE.dividedBy(60);
- public static final LinearUnit ARCSECOND = ARCMINUTE.dividedBy(60);
- public static final LinearUnit ASTRONOMICAL_UNIT = METRE.times(149597870700.0);
- public static final LinearUnit PARSEC = ASTRONOMICAL_UNIT.times(ARCSECOND);
- public static final LinearUnit HECTARE = METRE.times(METRE).times(10000.0);
- public static final LinearUnit LITRE = METRE.times(METRE).times(METRE).dividedBy(1000.0);
- public static final LinearUnit TONNE = KILOGRAM.times(1000.0);
- public static final LinearUnit DALTON = KILOGRAM.times(1.660539040e-27); // approximate value
- public static final LinearUnit ELECTRONVOLT = JOULE.times(1.602176634e-19);
- public static final Unit NEPER = Unit.fromConversionFunctions(ONE.getBase(), pr -> 0.5 * Math.log(pr),
- Np -> Math.exp(2 * Np));
- public static final Unit BEL = Unit.fromConversionFunctions(ONE.getBase(), pr -> Math.log10(pr),
- dB -> Math.pow(10, dB));
- public static final Unit DECIBEL = Unit.fromConversionFunctions(ONE.getBase(), pr -> 10 * Math.log10(pr),
- dB -> Math.pow(10, dB / 10));
+ public static final Unit CELSIUS = Unit
+ .fromConversionFunctions(KELVIN.getBase(), tempK -> tempK - 273.15, tempC -> tempC + 273.15)
+ .withName(NameSymbol.of("degree Celsius", "\u00B0C"));
+ public static final LinearUnit MINUTE = SECOND.times(60).withName(NameSymbol.of("minute", "min"));
+ public static final LinearUnit HOUR = MINUTE.times(60).withName(NameSymbol.of("hour", "h", "hr"));
+ public static final LinearUnit DAY = HOUR.times(60).withName(NameSymbol.of("day", "d"));
+ public static final LinearUnit KILOMETRE_PER_HOUR = METRE.times(1000).dividedBy(HOUR)
+ .withName(NameSymbol.of("kilometre per hour", "km/h", "kilometer per hour"));
+ public static final LinearUnit DEGREE = RADIAN.times(360 / (2 * Math.PI))
+ .withName(NameSymbol.of("degree", "\u00B0", "deg"));
+ public static final LinearUnit ARCMINUTE = DEGREE.dividedBy(60).withName(NameSymbol.of("arcminute", "arcmin"));
+ public static final LinearUnit ARCSECOND = ARCMINUTE.dividedBy(60).withName(NameSymbol.of("arcsecond", "arcsec"));
+ public static final LinearUnit ASTRONOMICAL_UNIT = METRE.times(149597870700.0)
+ .withName(NameSymbol.of("astronomical unit", "au"));
+ public static final LinearUnit PARSEC = ASTRONOMICAL_UNIT.dividedBy(ARCSECOND)
+ .withName(NameSymbol.of("parsec", "pc"));
+ public static final LinearUnit HECTARE = METRE.times(METRE).times(10000.0).withName(NameSymbol.of("hectare", "ha"));
+ public static final LinearUnit LITRE = METRE.times(METRE).times(METRE).dividedBy(1000.0)
+ .withName(NameSymbol.of("litre", "L", "l", "liter"));
+ public static final LinearUnit TONNE = KILOGRAM.times(1000.0).withName(NameSymbol.of("tonne", "t", "metric ton"));
+ public static final LinearUnit DALTON = KILOGRAM.times(1.660539040e-27)
+ .withName(NameSymbol.of("dalton", "Da", "atomic unit", "u")); // approximate value
+ public static final LinearUnit ELECTRONVOLT = JOULE.times(1.602176634e-19)
+ .withName(NameSymbol.of("electron volt", "eV"));
+ public static final LinearUnit BYTE = BIT.times(8).withName(NameSymbol.of("byte", "B"));
+ public static final Unit NEPER = Unit
+ .fromConversionFunctions(ONE.getBase(), pr -> 0.5 * Math.log(pr), Np -> Math.exp(2 * Np))
+ .withName(NameSymbol.of("neper", "Np"));
+ public static final Unit BEL = Unit
+ .fromConversionFunctions(ONE.getBase(), pr -> Math.log10(pr), dB -> Math.pow(10, dB))
+ .withName(NameSymbol.of("bel", "B"));
+ public static final Unit DECIBEL = Unit
+ .fromConversionFunctions(ONE.getBase(), pr -> 10 * Math.log10(pr), dB -> Math.pow(10, dB / 10))
+ .withName(NameSymbol.of("decibel", "dB"));
/// The prefixes of the SI
// expanding decimal prefixes
- public static final UnitPrefix KILO = UnitPrefix.valueOf(1e3);
- public static final UnitPrefix MEGA = UnitPrefix.valueOf(1e6);
- public static final UnitPrefix GIGA = UnitPrefix.valueOf(1e9);
- public static final UnitPrefix TERA = UnitPrefix.valueOf(1e12);
- public static final UnitPrefix PETA = UnitPrefix.valueOf(1e15);
- public static final UnitPrefix EXA = UnitPrefix.valueOf(1e18);
- public static final UnitPrefix ZETTA = UnitPrefix.valueOf(1e21);
- public static final UnitPrefix YOTTA = UnitPrefix.valueOf(1e24);
+ public static final UnitPrefix KILO = UnitPrefix.valueOf(1e3).withName(NameSymbol.of("kilo", "k", "K"));
+ public static final UnitPrefix MEGA = UnitPrefix.valueOf(1e6).withName(NameSymbol.of("mega", "M"));
+ public static final UnitPrefix GIGA = UnitPrefix.valueOf(1e9).withName(NameSymbol.of("giga", "G"));
+ public static final UnitPrefix TERA = UnitPrefix.valueOf(1e12).withName(NameSymbol.of("tera", "T"));
+ public static final UnitPrefix PETA = UnitPrefix.valueOf(1e15).withName(NameSymbol.of("peta", "P"));
+ public static final UnitPrefix EXA = UnitPrefix.valueOf(1e18).withName(NameSymbol.of("exa", "E"));
+ public static final UnitPrefix ZETTA = UnitPrefix.valueOf(1e21).withName(NameSymbol.of("zetta", "Z"));
+ public static final UnitPrefix YOTTA = UnitPrefix.valueOf(1e24).withName(NameSymbol.of("yotta", "Y"));
// contracting decimal prefixes
- public static final UnitPrefix MILLI = UnitPrefix.valueOf(1e-3);
- public static final UnitPrefix MICRO = UnitPrefix.valueOf(1e-6);
- public static final UnitPrefix NANO = UnitPrefix.valueOf(1e-9);
- public static final UnitPrefix PICO = UnitPrefix.valueOf(1e-12);
- public static final UnitPrefix FEMTO = UnitPrefix.valueOf(1e-15);
- public static final UnitPrefix ATTO = UnitPrefix.valueOf(1e-18);
- public static final UnitPrefix ZEPTO = UnitPrefix.valueOf(1e-21);
- public static final UnitPrefix YOCTO = UnitPrefix.valueOf(1e-24);
+ public static final UnitPrefix MILLI = UnitPrefix.valueOf(1e-3).withName(NameSymbol.of("milli", "m"));
+ public static final UnitPrefix MICRO = UnitPrefix.valueOf(1e-6).withName(NameSymbol.of("micro", "\u03BC", "u")); // mu
+ public static final UnitPrefix NANO = UnitPrefix.valueOf(1e-9).withName(NameSymbol.of("nano", "n"));
+ public static final UnitPrefix PICO = UnitPrefix.valueOf(1e-12).withName(NameSymbol.of("pico", "p"));
+ public static final UnitPrefix FEMTO = UnitPrefix.valueOf(1e-15).withName(NameSymbol.of("femto", "f"));
+ public static final UnitPrefix ATTO = UnitPrefix.valueOf(1e-18).withName(NameSymbol.of("atto", "a"));
+ public static final UnitPrefix ZEPTO = UnitPrefix.valueOf(1e-21).withName(NameSymbol.of("zepto", "z"));
+ public static final UnitPrefix YOCTO = UnitPrefix.valueOf(1e-24).withName(NameSymbol.of("yocto", "y"));
// prefixes that don't match the pattern of thousands
- public static final UnitPrefix DEKA = UnitPrefix.valueOf(1e1);
- public static final UnitPrefix HECTO = UnitPrefix.valueOf(1e2);
- public static final UnitPrefix DECI = UnitPrefix.valueOf(1e-1);
- public static final UnitPrefix CENTI = UnitPrefix.valueOf(1e-2);
- public static final UnitPrefix KIBI = UnitPrefix.valueOf(1024);
- public static final UnitPrefix MEBI = KIBI.times(1024);
- public static final UnitPrefix GIBI = MEBI.times(1024);
- public static final UnitPrefix TEBI = GIBI.times(1024);
- public static final UnitPrefix PEBI = TEBI.times(1024);
- public static final UnitPrefix EXBI = PEBI.times(1024);
+ public static final UnitPrefix DEKA = UnitPrefix.valueOf(1e1).withName(NameSymbol.of("deka", "da", "deca", "D"));
+ public static final UnitPrefix HECTO = UnitPrefix.valueOf(1e2).withName(NameSymbol.of("hecto", "h", "H", "hekto"));
+ public static final UnitPrefix DECI = UnitPrefix.valueOf(1e-1).withName(NameSymbol.of("deci", "d"));
+ public static final UnitPrefix CENTI = UnitPrefix.valueOf(1e-2).withName(NameSymbol.of("centi", "c"));
+ public static final UnitPrefix KIBI = UnitPrefix.valueOf(1024).withName(NameSymbol.of("kibi", "Ki"));
+ public static final UnitPrefix MEBI = KIBI.times(1024).withName(NameSymbol.of("mebi", "Mi"));
+ public static final UnitPrefix GIBI = MEBI.times(1024).withName(NameSymbol.of("gibi", "Gi"));
+ public static final UnitPrefix TEBI = GIBI.times(1024).withName(NameSymbol.of("tebi", "Ti"));
+ public static final UnitPrefix PEBI = TEBI.times(1024).withName(NameSymbol.of("pebi", "Pi"));
+ public static final UnitPrefix EXBI = PEBI.times(1024).withName(NameSymbol.of("exbi", "Ei"));
// You may NOT get SI instances!
private SI() {
|