X-Git-Url: https://mattmccutchen.net/measurements/measurements.git/blobdiff_plain/3f5430dbc58f8f3ffe9b509bdfe00a6b6d334a37..HEAD:/src/net/mattmccutchen/measurements/Unit.java diff --git a/src/net/mattmccutchen/measurements/Unit.java b/src/net/mattmccutchen/measurements/Unit.java index 25d33ac..4becce2 100644 --- a/src/net/mattmccutchen/measurements/Unit.java +++ b/src/net/mattmccutchen/measurements/Unit.java @@ -3,21 +3,28 @@ package net.mattmccutchen.measurements; import java.util.*; public class Unit { - public static final Unit SECOND = new Unit("s" , 1.0, 1, 0, 0, 0, 0); - public static final Unit METER = new Unit("m" , 1.0, 0, 1, 0, 0, 0); - public static final Unit GRAM = new Unit("g" , 1.0, 0, 0, 1, 0, 0); - public static final Unit COULOMB = new Unit("coul", 1.0, 0, 0, 0, 1, 0); - public static final Unit KELVIN = new Unit("K" , 1.0, 0, 0, 0, 0, 1); + public static final Unit SECOND = new Unit("s" , 1.0, 1, 0, 0, 0, 0, 0); + public static final Unit METER = new Unit("m" , 1.0, 0, 1, 0, 0, 0, 0); + public static final Unit GRAM = new Unit("g" , 1.0, 0, 0, 1, 0, 0, 0); + public static final Unit COULOMB = new Unit("coul", 1.0, 0, 0, 0, 1, 0, 0); + public static final Unit KELVIN = new Unit("K" , 1.0, 0, 0, 0, 0, 1, 0); + public static final Unit MOLE = new Unit("mol" , 1.0, 0, 0, 0, 0, 0, 1); public static final Unit[] basicUnits = new Unit[] { - SECOND, METER, GRAM, COULOMB, KELVIN, + SECOND, METER, GRAM, COULOMB, KELVIN, MOLE, }; // Don't mutate - public static final Unit LITER = new Unit("L", 1e-3, 0, 3, 0, 0, 0); - public static final Unit PERCENT = new Unit("%", 1e-2, 0, 0, 0, 0, 0); + public static final Unit PERCENT = new Unit("%", 1e-2, 0, 0, 0, 0, 0, 0); + public static final Unit NEWTON = new Unit("N", 1e+3,-2, 1, 1, 0, 0, 0); + public static final Unit JOULE = new Unit("J", 1e+3,-2, 2, 1, 0, 0, 0); + public static final Unit WATT = new Unit("W", 1e+3,-3, 2, 1, 0, 0, 0); + public static final Unit VOLT = new Unit("V", 1e+3,-2, 2, 1,-1, 0, 0); + public static final Unit AMP = new Unit("A", 1.0 ,-1, 0, 0, 1, 0, 0); + public static final Unit LITER = new Unit("L", 1e-3, 0, 3, 0, 0, 0, 0); public static final Unit[] allUnits = new Unit[] { - PERCENT, SECOND, METER, GRAM, COULOMB, KELVIN, LITER, + SECOND, METER, GRAM, COULOMB, KELVIN, MOLE, + PERCENT, NEWTON, JOULE, WATT, VOLT, AMP, LITER, }; // Don't mutate public final String symbol; @@ -60,6 +67,7 @@ public class Unit { prefixes.put('E', 1e+18); prefixes.put('Z', 1e+21); prefixes.put('Y', 1e+24); + prefixes.put('c', 1e-02); prefixes.put('m', 1e-03); prefixes.put('u', 1e-06); // micro -> u: oh well prefixes.put('n', 1e-09);