public BigDecimal convert(double original) { BigDecimal big = BigDecimal.ZERO; for (Conversion c : conversions) { big = big.add(c.convert(original)); } return big; }
private static Map<UnitsTemperature, Conversion> createMapFAHRENHEIT() { EnumMap<UnitsTemperature, Conversion> c = new EnumMap<UnitsTemperature, Conversion>(UnitsTemperature.class); c.put(UnitsTemperature.CELSIUS, Add(Mul(Rat(Int(5), Int(9)), Sym("f")), Rat(Int(-160), Int(9)))); c.put(UnitsTemperature.KELVIN, Add(Mul(Rat(Int(5), Int(9)), Sym("f")), Rat(Int(45967), Int(180)))); c.put(UnitsTemperature.RANKINE, Add(Sym("f"), Rat(Int(45967), Int(100)))); return Collections.unmodifiableMap(c); }
private static Map<UnitsElectricPotential, Conversion> createMapYOCTOVOLT() { EnumMap<UnitsElectricPotential, Conversion> c = new EnumMap<UnitsElectricPotential, Conversion>(UnitsElectricPotential.class); c.put(UnitsElectricPotential.ATTOVOLT, Mul(Rat(Int(1), Pow(10, 6)), Sym("yoctov"))); c.put(UnitsElectricPotential.CENTIVOLT, Mul(Rat(Int(1), Pow(10, 22)), Sym("yoctov"))); c.put(UnitsElectricPotential.DECAVOLT, Mul(Rat(Int(1), Pow(10, 25)), Sym("yoctov"))); c.put(UnitsElectricPotential.DECIVOLT, Mul(Rat(Int(1), Pow(10, 23)), Sym("yoctov"))); c.put(UnitsElectricPotential.EXAVOLT, Mul(Rat(Int(1), Pow(10, 42)), Sym("yoctov"))); c.put(UnitsElectricPotential.FEMTOVOLT, Mul(Rat(Int(1), Pow(10, 9)), Sym("yoctov"))); c.put(UnitsElectricPotential.GIGAVOLT, Mul(Rat(Int(1), Pow(10, 33)), Sym("yoctov"))); c.put(UnitsElectricPotential.HECTOVOLT, Mul(Rat(Int(1), Pow(10, 26)), Sym("yoctov"))); c.put(UnitsElectricPotential.KILOVOLT, Mul(Rat(Int(1), Pow(10, 27)), Sym("yoctov"))); c.put(UnitsElectricPotential.MEGAVOLT, Mul(Rat(Int(1), Pow(10, 30)), Sym("yoctov"))); c.put(UnitsElectricPotential.MICROVOLT, Mul(Rat(Int(1), Pow(10, 18)), Sym("yoctov"))); c.put(UnitsElectricPotential.MILLIVOLT, Mul(Rat(Int(1), Pow(10, 21)), Sym("yoctov"))); c.put(UnitsElectricPotential.NANOVOLT, Mul(Rat(Int(1), Pow(10, 15)), Sym("yoctov"))); c.put(UnitsElectricPotential.PETAVOLT, Mul(Rat(Int(1), Pow(10, 39)), Sym("yoctov"))); c.put(UnitsElectricPotential.PICOVOLT, Mul(Rat(Int(1), Pow(10, 12)), Sym("yoctov"))); c.put(UnitsElectricPotential.TERAVOLT, Mul(Rat(Int(1), Pow(10, 36)), Sym("yoctov"))); c.put(UnitsElectricPotential.VOLT, Mul(Rat(Int(1), Pow(10, 24)), Sym("yoctov"))); c.put(UnitsElectricPotential.YOTTAVOLT, Mul(Rat(Int(1), Pow(10, 48)), Sym("yoctov"))); c.put(UnitsElectricPotential.ZEPTOVOLT, Mul(Rat(Int(1), Int(1000)), Sym("yoctov"))); c.put(UnitsElectricPotential.ZETTAVOLT, Mul(Rat(Int(1), Pow(10, 45)), Sym("yoctov"))); return Collections.unmodifiableMap(c); }
private static Map<UnitsFrequency, Conversion> createMapZEPTOHERTZ() { EnumMap<UnitsFrequency, Conversion> c = new EnumMap<UnitsFrequency, Conversion>(UnitsFrequency.class); c.put(UnitsFrequency.ATTOHERTZ, Mul(Rat(Int(1), Int(1000)), Sym("zeptohz"))); c.put(UnitsFrequency.CENTIHERTZ, Mul(Rat(Int(1), Pow(10, 19)), Sym("zeptohz"))); c.put(UnitsFrequency.DECAHERTZ, Mul(Rat(Int(1), Pow(10, 22)), Sym("zeptohz"))); c.put(UnitsFrequency.DECIHERTZ, Mul(Rat(Int(1), Pow(10, 20)), Sym("zeptohz"))); c.put(UnitsFrequency.EXAHERTZ, Mul(Rat(Int(1), Pow(10, 39)), Sym("zeptohz"))); c.put(UnitsFrequency.FEMTOHERTZ, Mul(Rat(Int(1), Pow(10, 6)), Sym("zeptohz"))); c.put(UnitsFrequency.GIGAHERTZ, Mul(Rat(Int(1), Pow(10, 30)), Sym("zeptohz"))); c.put(UnitsFrequency.HECTOHERTZ, Mul(Rat(Int(1), Pow(10, 23)), Sym("zeptohz"))); c.put(UnitsFrequency.HERTZ, Mul(Rat(Int(1), Pow(10, 21)), Sym("zeptohz"))); c.put(UnitsFrequency.KILOHERTZ, Mul(Rat(Int(1), Pow(10, 24)), Sym("zeptohz"))); c.put(UnitsFrequency.MEGAHERTZ, Mul(Rat(Int(1), Pow(10, 27)), Sym("zeptohz"))); c.put(UnitsFrequency.MICROHERTZ, Mul(Rat(Int(1), Pow(10, 15)), Sym("zeptohz"))); c.put(UnitsFrequency.MILLIHERTZ, Mul(Rat(Int(1), Pow(10, 18)), Sym("zeptohz"))); c.put(UnitsFrequency.NANOHERTZ, Mul(Rat(Int(1), Pow(10, 12)), Sym("zeptohz"))); c.put(UnitsFrequency.PETAHERTZ, Mul(Rat(Int(1), Pow(10, 36)), Sym("zeptohz"))); c.put(UnitsFrequency.PICOHERTZ, Mul(Rat(Int(1), Pow(10, 9)), Sym("zeptohz"))); c.put(UnitsFrequency.TERAHERTZ, Mul(Rat(Int(1), Pow(10, 33)), Sym("zeptohz"))); c.put(UnitsFrequency.YOCTOHERTZ, Mul(Int(1000), Sym("zeptohz"))); c.put(UnitsFrequency.YOTTAHERTZ, Mul(Rat(Int(1), Pow(10, 45)), Sym("zeptohz"))); c.put(UnitsFrequency.ZETTAHERTZ, Mul(Rat(Int(1), Pow(10, 42)), Sym("zeptohz"))); return Collections.unmodifiableMap(c); }
private static Map<UnitsTemperature, Conversion> createMapKELVIN() { EnumMap<UnitsTemperature, Conversion> c = new EnumMap<UnitsTemperature, Conversion>(UnitsTemperature.class); c.put(UnitsTemperature.CELSIUS, Add(Sym("k"), Rat(Int(-5463), Int(20)))); c.put(UnitsTemperature.FAHRENHEIT, Add(Mul(Rat(Int(9), Int(5)), Sym("k")), Rat(Int(-45967), Int(100)))); c.put(UnitsTemperature.RANKINE, Mul(Rat(Int(9), Int(5)), Sym("k"))); return Collections.unmodifiableMap(c); }
public BigDecimal convert(double original) { BigDecimal big = BigDecimal.ONE; for (Conversion c : conversions) { big = big.multiply(c.convert(original)); } return big; } }
private static Map<UnitsFrequency, Conversion> createMapYOCTOHERTZ() { EnumMap<UnitsFrequency, Conversion> c = new EnumMap<UnitsFrequency, Conversion>(UnitsFrequency.class); c.put(UnitsFrequency.ATTOHERTZ, Mul(Rat(Int(1), Pow(10, 6)), Sym("yoctohz"))); c.put(UnitsFrequency.CENTIHERTZ, Mul(Rat(Int(1), Pow(10, 22)), Sym("yoctohz"))); c.put(UnitsFrequency.DECAHERTZ, Mul(Rat(Int(1), Pow(10, 25)), Sym("yoctohz"))); c.put(UnitsFrequency.DECIHERTZ, Mul(Rat(Int(1), Pow(10, 23)), Sym("yoctohz"))); c.put(UnitsFrequency.EXAHERTZ, Mul(Rat(Int(1), Pow(10, 42)), Sym("yoctohz"))); c.put(UnitsFrequency.FEMTOHERTZ, Mul(Rat(Int(1), Pow(10, 9)), Sym("yoctohz"))); c.put(UnitsFrequency.GIGAHERTZ, Mul(Rat(Int(1), Pow(10, 33)), Sym("yoctohz"))); c.put(UnitsFrequency.HECTOHERTZ, Mul(Rat(Int(1), Pow(10, 26)), Sym("yoctohz"))); c.put(UnitsFrequency.HERTZ, Mul(Rat(Int(1), Pow(10, 24)), Sym("yoctohz"))); c.put(UnitsFrequency.KILOHERTZ, Mul(Rat(Int(1), Pow(10, 27)), Sym("yoctohz"))); c.put(UnitsFrequency.MEGAHERTZ, Mul(Rat(Int(1), Pow(10, 30)), Sym("yoctohz"))); c.put(UnitsFrequency.MICROHERTZ, Mul(Rat(Int(1), Pow(10, 18)), Sym("yoctohz"))); c.put(UnitsFrequency.MILLIHERTZ, Mul(Rat(Int(1), Pow(10, 21)), Sym("yoctohz"))); c.put(UnitsFrequency.NANOHERTZ, Mul(Rat(Int(1), Pow(10, 15)), Sym("yoctohz"))); c.put(UnitsFrequency.PETAHERTZ, Mul(Rat(Int(1), Pow(10, 39)), Sym("yoctohz"))); c.put(UnitsFrequency.PICOHERTZ, Mul(Rat(Int(1), Pow(10, 12)), Sym("yoctohz"))); c.put(UnitsFrequency.TERAHERTZ, Mul(Rat(Int(1), Pow(10, 36)), Sym("yoctohz"))); c.put(UnitsFrequency.YOTTAHERTZ, Mul(Rat(Int(1), Pow(10, 48)), Sym("yoctohz"))); c.put(UnitsFrequency.ZEPTOHERTZ, Mul(Rat(Int(1), Int(1000)), Sym("yoctohz"))); c.put(UnitsFrequency.ZETTAHERTZ, Mul(Rat(Int(1), Pow(10, 45)), Sym("yoctohz"))); return Collections.unmodifiableMap(c); }
private static Map<UnitsTemperature, Conversion> createMapCELSIUS() { EnumMap<UnitsTemperature, Conversion> c = new EnumMap<UnitsTemperature, Conversion>(UnitsTemperature.class); c.put(UnitsTemperature.FAHRENHEIT, Add(Mul(Rat(Int(9), Int(5)), Sym("c")), Int(32))); c.put(UnitsTemperature.KELVIN, Add(Sym("c"), Rat(Int(5463), Int(20)))); c.put(UnitsTemperature.RANKINE, Add(Mul(Rat(Int(9), Int(5)), Sym("c")), Rat(Int(49167), Int(100)))); return Collections.unmodifiableMap(c); }
private static Map<UnitsPower, Conversion> createMapYOCTOWATT() { EnumMap<UnitsPower, Conversion> c = new EnumMap<UnitsPower, Conversion>(UnitsPower.class); c.put(UnitsPower.ATTOWATT, Mul(Rat(Int(1), Pow(10, 6)), Sym("yoctow"))); c.put(UnitsPower.CENTIWATT, Mul(Rat(Int(1), Pow(10, 22)), Sym("yoctow"))); c.put(UnitsPower.DECAWATT, Mul(Rat(Int(1), Pow(10, 25)), Sym("yoctow"))); c.put(UnitsPower.DECIWATT, Mul(Rat(Int(1), Pow(10, 23)), Sym("yoctow"))); c.put(UnitsPower.EXAWATT, Mul(Rat(Int(1), Pow(10, 42)), Sym("yoctow"))); c.put(UnitsPower.FEMTOWATT, Mul(Rat(Int(1), Pow(10, 9)), Sym("yoctow"))); c.put(UnitsPower.GIGAWATT, Mul(Rat(Int(1), Pow(10, 33)), Sym("yoctow"))); c.put(UnitsPower.HECTOWATT, Mul(Rat(Int(1), Pow(10, 26)), Sym("yoctow"))); c.put(UnitsPower.KILOWATT, Mul(Rat(Int(1), Pow(10, 27)), Sym("yoctow"))); c.put(UnitsPower.MEGAWATT, Mul(Rat(Int(1), Pow(10, 30)), Sym("yoctow"))); c.put(UnitsPower.MICROWATT, Mul(Rat(Int(1), Pow(10, 18)), Sym("yoctow"))); c.put(UnitsPower.MILLIWATT, Mul(Rat(Int(1), Pow(10, 21)), Sym("yoctow"))); c.put(UnitsPower.NANOWATT, Mul(Rat(Int(1), Pow(10, 15)), Sym("yoctow"))); c.put(UnitsPower.PETAWATT, Mul(Rat(Int(1), Pow(10, 39)), Sym("yoctow"))); c.put(UnitsPower.PICOWATT, Mul(Rat(Int(1), Pow(10, 12)), Sym("yoctow"))); c.put(UnitsPower.TERAWATT, Mul(Rat(Int(1), Pow(10, 36)), Sym("yoctow"))); c.put(UnitsPower.WATT, Mul(Rat(Int(1), Pow(10, 24)), Sym("yoctow"))); c.put(UnitsPower.YOTTAWATT, Mul(Rat(Int(1), Pow(10, 48)), Sym("yoctow"))); c.put(UnitsPower.ZEPTOWATT, Mul(Rat(Int(1), Int(1000)), Sym("yoctow"))); c.put(UnitsPower.ZETTAWATT, Mul(Rat(Int(1), Pow(10, 45)), Sym("yoctow"))); return Collections.unmodifiableMap(c); }
private static Map<UnitsTemperature, Conversion> createMapRANKINE() { EnumMap<UnitsTemperature, Conversion> c = new EnumMap<UnitsTemperature, Conversion>(UnitsTemperature.class); c.put(UnitsTemperature.CELSIUS, Add(Mul(Rat(Int(5), Int(9)), Sym("r")), Rat(Int(-5463), Int(20)))); c.put(UnitsTemperature.FAHRENHEIT, Add(Sym("r"), Rat(Int(-45967), Int(100)))); c.put(UnitsTemperature.KELVIN, Mul(Rat(Int(5), Int(9)), Sym("r"))); return Collections.unmodifiableMap(c); }
/** * Copy constructor that converts the given {@link omero.model.Pressure} * based on the given enum string. * * @param target String representation of the CODE enum */ public PressureI(Pressure value, String target) throws BigResult { String source = value.getUnit().toString(); if (target.equals(source)) { setValue(value.getValue()); setUnit(value.getUnit()); } else { UnitsPressure targetUnit = UnitsPressure.valueOf(target); Conversion conversion = conversions.get(value.getUnit()).get(targetUnit); if (conversion == null) { throw new RuntimeException(String.format( "%f %s cannot be converted to %s", value.getValue(), value.getUnit(), target)); } double orig = value.getValue(); BigDecimal big = conversion.convert(orig); double converted = big.doubleValue(); if (Double.isInfinite(converted)) { throw new BigResult(big, "Failed to convert " + source + ":" + target); } setValue(converted); setUnit(targetUnit); } }
private static Map<UnitsElectricPotential, Conversion> createMapMICROVOLT() { EnumMap<UnitsElectricPotential, Conversion> c = new EnumMap<UnitsElectricPotential, Conversion>(UnitsElectricPotential.class); c.put(UnitsElectricPotential.ATTOVOLT, Mul(Pow(10, 12), Sym("microv"))); c.put(UnitsElectricPotential.CENTIVOLT, Mul(Rat(Int(1), Pow(10, 4)), Sym("microv"))); c.put(UnitsElectricPotential.DECAVOLT, Mul(Rat(Int(1), Pow(10, 7)), Sym("microv"))); c.put(UnitsElectricPotential.DECIVOLT, Mul(Rat(Int(1), Pow(10, 5)), Sym("microv"))); c.put(UnitsElectricPotential.EXAVOLT, Mul(Rat(Int(1), Pow(10, 24)), Sym("microv"))); c.put(UnitsElectricPotential.FEMTOVOLT, Mul(Pow(10, 9), Sym("microv"))); c.put(UnitsElectricPotential.GIGAVOLT, Mul(Rat(Int(1), Pow(10, 15)), Sym("microv"))); c.put(UnitsElectricPotential.HECTOVOLT, Mul(Rat(Int(1), Pow(10, 8)), Sym("microv"))); c.put(UnitsElectricPotential.KILOVOLT, Mul(Rat(Int(1), Pow(10, 9)), Sym("microv"))); c.put(UnitsElectricPotential.MEGAVOLT, Mul(Rat(Int(1), Pow(10, 12)), Sym("microv"))); c.put(UnitsElectricPotential.MILLIVOLT, Mul(Rat(Int(1), Int(1000)), Sym("microv"))); c.put(UnitsElectricPotential.NANOVOLT, Mul(Int(1000), Sym("microv"))); c.put(UnitsElectricPotential.PETAVOLT, Mul(Rat(Int(1), Pow(10, 21)), Sym("microv"))); c.put(UnitsElectricPotential.PICOVOLT, Mul(Pow(10, 6), Sym("microv"))); c.put(UnitsElectricPotential.TERAVOLT, Mul(Rat(Int(1), Pow(10, 18)), Sym("microv"))); c.put(UnitsElectricPotential.VOLT, Mul(Rat(Int(1), Pow(10, 6)), Sym("microv"))); c.put(UnitsElectricPotential.YOCTOVOLT, Mul(Pow(10, 18), Sym("microv"))); c.put(UnitsElectricPotential.YOTTAVOLT, Mul(Rat(Int(1), Pow(10, 30)), Sym("microv"))); c.put(UnitsElectricPotential.ZEPTOVOLT, Mul(Pow(10, 15), Sym("microv"))); c.put(UnitsElectricPotential.ZETTAVOLT, Mul(Rat(Int(1), Pow(10, 27)), Sym("microv"))); return Collections.unmodifiableMap(c); }
/** * Copy constructor that converts the given {@link omero.model.Power} * based on the given enum string. * * @param target String representation of the CODE enum */ public PowerI(Power value, String target) throws BigResult { String source = value.getUnit().toString(); if (target.equals(source)) { setValue(value.getValue()); setUnit(value.getUnit()); } else { UnitsPower targetUnit = UnitsPower.valueOf(target); Conversion conversion = conversions.get(value.getUnit()).get(targetUnit); if (conversion == null) { throw new RuntimeException(String.format( "%f %s cannot be converted to %s", value.getValue(), value.getUnit(), target)); } double orig = value.getValue(); BigDecimal big = conversion.convert(orig); double converted = big.doubleValue(); if (Double.isInfinite(converted)) { throw new BigResult(big, "Failed to convert " + source + ":" + target); } setValue(converted); setUnit(targetUnit); } }
private static Map<UnitsFrequency, Conversion> createMapMILLIHERTZ() { EnumMap<UnitsFrequency, Conversion> c = new EnumMap<UnitsFrequency, Conversion>(UnitsFrequency.class); c.put(UnitsFrequency.ATTOHERTZ, Mul(Pow(10, 15), Sym("millihz"))); c.put(UnitsFrequency.CENTIHERTZ, Mul(Rat(Int(1), Int(10)), Sym("millihz"))); c.put(UnitsFrequency.DECAHERTZ, Mul(Rat(Int(1), Pow(10, 4)), Sym("millihz"))); c.put(UnitsFrequency.DECIHERTZ, Mul(Rat(Int(1), Int(100)), Sym("millihz"))); c.put(UnitsFrequency.EXAHERTZ, Mul(Rat(Int(1), Pow(10, 21)), Sym("millihz"))); c.put(UnitsFrequency.FEMTOHERTZ, Mul(Pow(10, 12), Sym("millihz"))); c.put(UnitsFrequency.GIGAHERTZ, Mul(Rat(Int(1), Pow(10, 12)), Sym("millihz"))); c.put(UnitsFrequency.HECTOHERTZ, Mul(Rat(Int(1), Pow(10, 5)), Sym("millihz"))); c.put(UnitsFrequency.HERTZ, Mul(Rat(Int(1), Int(1000)), Sym("millihz"))); c.put(UnitsFrequency.KILOHERTZ, Mul(Rat(Int(1), Pow(10, 6)), Sym("millihz"))); c.put(UnitsFrequency.MEGAHERTZ, Mul(Rat(Int(1), Pow(10, 9)), Sym("millihz"))); c.put(UnitsFrequency.MICROHERTZ, Mul(Int(1000), Sym("millihz"))); c.put(UnitsFrequency.NANOHERTZ, Mul(Pow(10, 6), Sym("millihz"))); c.put(UnitsFrequency.PETAHERTZ, Mul(Rat(Int(1), Pow(10, 18)), Sym("millihz"))); c.put(UnitsFrequency.PICOHERTZ, Mul(Pow(10, 9), Sym("millihz"))); c.put(UnitsFrequency.TERAHERTZ, Mul(Rat(Int(1), Pow(10, 15)), Sym("millihz"))); c.put(UnitsFrequency.YOCTOHERTZ, Mul(Pow(10, 21), Sym("millihz"))); c.put(UnitsFrequency.YOTTAHERTZ, Mul(Rat(Int(1), Pow(10, 27)), Sym("millihz"))); c.put(UnitsFrequency.ZEPTOHERTZ, Mul(Pow(10, 18), Sym("millihz"))); c.put(UnitsFrequency.ZETTAHERTZ, Mul(Rat(Int(1), Pow(10, 24)), Sym("millihz"))); return Collections.unmodifiableMap(c); }
/** * Copy constructor that converts the given {@link omero.model.Temperature} * based on the given enum string. * * @param target String representation of the CODE enum */ public TemperatureI(Temperature value, String target) throws BigResult { String source = value.getUnit().toString(); if (target.equals(source)) { setValue(value.getValue()); setUnit(value.getUnit()); } else { UnitsTemperature targetUnit = UnitsTemperature.valueOf(target); Conversion conversion = conversions.get(value.getUnit()).get(targetUnit); if (conversion == null) { throw new RuntimeException(String.format( "%f %s cannot be converted to %s", value.getValue(), value.getUnit(), target)); } double orig = value.getValue(); BigDecimal big = conversion.convert(orig); double converted = big.doubleValue(); if (Double.isInfinite(converted)) { throw new BigResult(big, "Failed to convert " + source + ":" + target); } setValue(converted); setUnit(targetUnit); } }
private static Map<UnitsElectricPotential, Conversion> createMapFEMTOVOLT() { EnumMap<UnitsElectricPotential, Conversion> c = new EnumMap<UnitsElectricPotential, Conversion>(UnitsElectricPotential.class); c.put(UnitsElectricPotential.ATTOVOLT, Mul(Int(1000), Sym("femtov"))); c.put(UnitsElectricPotential.CENTIVOLT, Mul(Rat(Int(1), Pow(10, 13)), Sym("femtov"))); c.put(UnitsElectricPotential.DECAVOLT, Mul(Rat(Int(1), Pow(10, 16)), Sym("femtov"))); c.put(UnitsElectricPotential.DECIVOLT, Mul(Rat(Int(1), Pow(10, 14)), Sym("femtov"))); c.put(UnitsElectricPotential.EXAVOLT, Mul(Rat(Int(1), Pow(10, 33)), Sym("femtov"))); c.put(UnitsElectricPotential.GIGAVOLT, Mul(Rat(Int(1), Pow(10, 24)), Sym("femtov"))); c.put(UnitsElectricPotential.HECTOVOLT, Mul(Rat(Int(1), Pow(10, 17)), Sym("femtov"))); c.put(UnitsElectricPotential.KILOVOLT, Mul(Rat(Int(1), Pow(10, 18)), Sym("femtov"))); c.put(UnitsElectricPotential.MEGAVOLT, Mul(Rat(Int(1), Pow(10, 21)), Sym("femtov"))); c.put(UnitsElectricPotential.MICROVOLT, Mul(Rat(Int(1), Pow(10, 9)), Sym("femtov"))); c.put(UnitsElectricPotential.MILLIVOLT, Mul(Rat(Int(1), Pow(10, 12)), Sym("femtov"))); c.put(UnitsElectricPotential.NANOVOLT, Mul(Rat(Int(1), Pow(10, 6)), Sym("femtov"))); c.put(UnitsElectricPotential.PETAVOLT, Mul(Rat(Int(1), Pow(10, 30)), Sym("femtov"))); c.put(UnitsElectricPotential.PICOVOLT, Mul(Rat(Int(1), Int(1000)), Sym("femtov"))); c.put(UnitsElectricPotential.TERAVOLT, Mul(Rat(Int(1), Pow(10, 27)), Sym("femtov"))); c.put(UnitsElectricPotential.VOLT, Mul(Rat(Int(1), Pow(10, 15)), Sym("femtov"))); c.put(UnitsElectricPotential.YOCTOVOLT, Mul(Pow(10, 9), Sym("femtov"))); c.put(UnitsElectricPotential.YOTTAVOLT, Mul(Rat(Int(1), Pow(10, 39)), Sym("femtov"))); c.put(UnitsElectricPotential.ZEPTOVOLT, Mul(Pow(10, 6), Sym("femtov"))); c.put(UnitsElectricPotential.ZETTAVOLT, Mul(Rat(Int(1), Pow(10, 36)), Sym("femtov"))); return Collections.unmodifiableMap(c); }
/** * Copy constructor that converts the given {@link omero.model.Length} * based on the given enum string. * * @param target String representation of the CODE enum */ public LengthI(Length value, String target) throws BigResult { String source = value.getUnit().toString(); if (target.equals(source)) { setValue(value.getValue()); setUnit(value.getUnit()); } else { UnitsLength targetUnit = UnitsLength.valueOf(target); Conversion conversion = conversions.get(value.getUnit()).get(targetUnit); if (conversion == null) { throw new RuntimeException(String.format( "%f %s cannot be converted to %s", value.getValue(), value.getUnit(), target)); } double orig = value.getValue(); BigDecimal big = conversion.convert(orig); double converted = big.doubleValue(); if (Double.isInfinite(converted)) { throw new BigResult(big, "Failed to convert " + source + ":" + target); } setValue(converted); setUnit(targetUnit); } }
private static Map<UnitsPower, Conversion> createMapFEMTOWATT() { EnumMap<UnitsPower, Conversion> c = new EnumMap<UnitsPower, Conversion>(UnitsPower.class); c.put(UnitsPower.ATTOWATT, Mul(Int(1000), Sym("femtow"))); c.put(UnitsPower.CENTIWATT, Mul(Rat(Int(1), Pow(10, 13)), Sym("femtow"))); c.put(UnitsPower.DECAWATT, Mul(Rat(Int(1), Pow(10, 16)), Sym("femtow"))); c.put(UnitsPower.DECIWATT, Mul(Rat(Int(1), Pow(10, 14)), Sym("femtow"))); c.put(UnitsPower.EXAWATT, Mul(Rat(Int(1), Pow(10, 33)), Sym("femtow"))); c.put(UnitsPower.GIGAWATT, Mul(Rat(Int(1), Pow(10, 24)), Sym("femtow"))); c.put(UnitsPower.HECTOWATT, Mul(Rat(Int(1), Pow(10, 17)), Sym("femtow"))); c.put(UnitsPower.KILOWATT, Mul(Rat(Int(1), Pow(10, 18)), Sym("femtow"))); c.put(UnitsPower.MEGAWATT, Mul(Rat(Int(1), Pow(10, 21)), Sym("femtow"))); c.put(UnitsPower.MICROWATT, Mul(Rat(Int(1), Pow(10, 9)), Sym("femtow"))); c.put(UnitsPower.MILLIWATT, Mul(Rat(Int(1), Pow(10, 12)), Sym("femtow"))); c.put(UnitsPower.NANOWATT, Mul(Rat(Int(1), Pow(10, 6)), Sym("femtow"))); c.put(UnitsPower.PETAWATT, Mul(Rat(Int(1), Pow(10, 30)), Sym("femtow"))); c.put(UnitsPower.PICOWATT, Mul(Rat(Int(1), Int(1000)), Sym("femtow"))); c.put(UnitsPower.TERAWATT, Mul(Rat(Int(1), Pow(10, 27)), Sym("femtow"))); c.put(UnitsPower.WATT, Mul(Rat(Int(1), Pow(10, 15)), Sym("femtow"))); c.put(UnitsPower.YOCTOWATT, Mul(Pow(10, 9), Sym("femtow"))); c.put(UnitsPower.YOTTAWATT, Mul(Rat(Int(1), Pow(10, 39)), Sym("femtow"))); c.put(UnitsPower.ZEPTOWATT, Mul(Pow(10, 6), Sym("femtow"))); c.put(UnitsPower.ZETTAWATT, Mul(Rat(Int(1), Pow(10, 36)), Sym("femtow"))); return Collections.unmodifiableMap(c); }
/** * Copy constructor that converts the given {@link omero.model.Time} * based on the given enum string. * * @param target String representation of the CODE enum */ public TimeI(Time value, String target) throws BigResult { String source = value.getUnit().toString(); if (target.equals(source)) { setValue(value.getValue()); setUnit(value.getUnit()); } else { UnitsTime targetUnit = UnitsTime.valueOf(target); Conversion conversion = conversions.get(value.getUnit()).get(targetUnit); if (conversion == null) { throw new RuntimeException(String.format( "%f %s cannot be converted to %s", value.getValue(), value.getUnit(), target)); } double orig = value.getValue(); BigDecimal big = conversion.convert(orig); double converted = big.doubleValue(); if (Double.isInfinite(converted)) { throw new BigResult(big, "Failed to convert " + source + ":" + target); } setValue(converted); setUnit(targetUnit); } }