/* * Karinto Library Project * * This software is distributed under a zlib-style license. * See license.txt for more information. */ using System; using System.Collections.Generic; using System.Text; namespace Karinto { public class Unit { static Unit() { InitializeSiPrefix(); } public static Dictionary SiPrefix { get; private set; } private static void InitializeSiPrefix() { SiPrefix = new Dictionary(); SiPrefix.Add("Y", 1e24); SiPrefix.Add("yotta", 1e24); SiPrefix.Add("Z", 1e21); SiPrefix.Add("zetta", 1e21); SiPrefix.Add("E", 1e18); SiPrefix.Add("exa", 1e18); SiPrefix.Add("P", 1e15); SiPrefix.Add("peta", 1e15); SiPrefix.Add("T", 1e12); SiPrefix.Add("tera", 1e12); SiPrefix.Add("G", 1e9); SiPrefix.Add("giga", 1e9); SiPrefix.Add("M", 1e6); SiPrefix.Add("mega", 1e6); SiPrefix.Add("K", 1e3); SiPrefix.Add("k", 1e3); SiPrefix.Add("kilo", 1e3); SiPrefix.Add("h", 1e2); SiPrefix.Add("hecto", 1e2); SiPrefix.Add("da", 1e2); SiPrefix.Add("deca", 1e1); SiPrefix.Add("", 1.0); SiPrefix.Add("d", 1e-1); SiPrefix.Add("deci", 1e-1); SiPrefix.Add("c", 1e-2); SiPrefix.Add("centi", 1e-2); SiPrefix.Add("m", 1e-3); SiPrefix.Add("milli", 1e-3); SiPrefix.Add("u", 1e-6); SiPrefix.Add("\u03BC", 1e-6); SiPrefix.Add("\u00B5", 1e-6); SiPrefix.Add("micro", 1e-6); SiPrefix.Add("n", 1e-9); SiPrefix.Add("nano", 1e-9); SiPrefix.Add("p", 1e-12); SiPrefix.Add("pico", 1e-12); SiPrefix.Add("f", 1e-15); SiPrefix.Add("femto", 1e-15); SiPrefix.Add("a", 1e-18); SiPrefix.Add("atto", 1e-18); SiPrefix.Add("z", 1e-21); SiPrefix.Add("zepto", 1e-21); SiPrefix.Add("y", 1e-24); SiPrefix.Add("yocto", 1e-24); } } }