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