OSDN Git Service

Bヘッダのない形式への部分的対応
[karinto/karinto.git] / Karinto / Unit.cs
1 /*\r
2  *      Karinto Library Project\r
3  *\r
4  *      This software is distributed under a zlib-style license.\r
5  *      See license.txt for more information.\r
6  */\r
7 \r
8 using System;\r
9 using System.Collections.Generic;\r
10 using System.Text;\r
11 \r
12 namespace Karinto\r
13 {\r
14     public class Unit\r
15     {\r
16         static Unit()\r
17         { \r
18             InitializeSiPrefix();\r
19         }\r
20 \r
21         public static Dictionary<string, double> SiPrefix\r
22         {\r
23             get;\r
24             private set;\r
25         }\r
26 \r
27         private static void InitializeSiPrefix()\r
28         {\r
29             SiPrefix = new Dictionary<string,double>();\r
30             SiPrefix.Add("Y", 1e24);\r
31             SiPrefix.Add("yotta", 1e24);\r
32             SiPrefix.Add("Z", 1e21);\r
33             SiPrefix.Add("zetta", 1e21);\r
34             SiPrefix.Add("E", 1e18);\r
35             SiPrefix.Add("exa", 1e18);\r
36             SiPrefix.Add("P", 1e15);\r
37             SiPrefix.Add("peta", 1e15);\r
38             SiPrefix.Add("T", 1e12);\r
39             SiPrefix.Add("tera", 1e12);\r
40             SiPrefix.Add("G", 1e9);\r
41             SiPrefix.Add("giga", 1e9);\r
42             SiPrefix.Add("M", 1e6);\r
43             SiPrefix.Add("mega", 1e6);\r
44             SiPrefix.Add("K", 1e3);\r
45             SiPrefix.Add("k", 1e3);\r
46             SiPrefix.Add("kilo", 1e3);\r
47             SiPrefix.Add("h", 1e2);\r
48             SiPrefix.Add("hecto", 1e2);\r
49             SiPrefix.Add("da", 1e2);\r
50             SiPrefix.Add("deca", 1e1);\r
51             SiPrefix.Add("", 1.0);\r
52             SiPrefix.Add("d", 1e-1);\r
53             SiPrefix.Add("deci", 1e-1);\r
54             SiPrefix.Add("c", 1e-2);\r
55             SiPrefix.Add("centi", 1e-2);\r
56             SiPrefix.Add("m", 1e-3);\r
57             SiPrefix.Add("milli", 1e-3);\r
58             SiPrefix.Add("u", 1e-6);\r
59             SiPrefix.Add("\u03BC", 1e-6);\r
60             SiPrefix.Add("\u00B5", 1e-6);\r
61             SiPrefix.Add("micro", 1e-6);\r
62             SiPrefix.Add("n", 1e-9);\r
63             SiPrefix.Add("nano", 1e-9);\r
64             SiPrefix.Add("p", 1e-12);\r
65             SiPrefix.Add("pico", 1e-12);\r
66             SiPrefix.Add("f", 1e-15);\r
67             SiPrefix.Add("femto", 1e-15);\r
68             SiPrefix.Add("a", 1e-18);\r
69             SiPrefix.Add("atto", 1e-18);\r
70             SiPrefix.Add("z", 1e-21);\r
71             SiPrefix.Add("zepto", 1e-21);\r
72             SiPrefix.Add("y", 1e-24);\r
73             SiPrefix.Add("yocto", 1e-24);\r
74         }\r
75 \r
76     }\r
77 }\r