1------------------------------------------------------------------------------
2--                                                                          --
3--                         GNAT RUN-TIME COMPONENTS                         --
4--                                                                          --
5--         S Y S T E M . D I M . M K S . O T H E R _ P R E F I X E S        --
6--                                                                          --
7--                                  S p e c                                 --
8--                                                                          --
9--           Copyright (C) 2011-2012, Free Software Foundation, Inc.        --
10--                                                                          --
11-- GNAT is free software;  you can  redistribute it  and/or modify it under --
12-- terms of the  GNU General Public License as published  by the Free Soft- --
13-- ware  Foundation;  either version 3,  or (at your option) any later ver- --
14-- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
15-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
16-- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
17--                                                                          --
18-- As a special exception under Section 7 of GPL version 3, you are granted --
19-- additional permissions described in the GCC Runtime Library Exception,   --
20-- version 3.1, as published by the Free Software Foundation.               --
21--                                                                          --
22-- You should have received a copy of the GNU General Public License and    --
23-- a copy of the GCC Runtime Library Exception along with this program;     --
24-- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
25-- <http://www.gnu.org/licenses/>.                                          --
26--                                                                          --
27-- GNAT was originally developed  by the GNAT team at  New York University. --
28-- Extensive contributions were provided by Ada Core Technologies Inc.      --
29--                                                                          --
30------------------------------------------------------------------------------
31
32--  Package that defines some other prefixes for the MKS base unit system.
33
34--  These prefixes have been defined in a child package in order to avoid too
35--  many constant declarations in System.Dim_Mks.
36
37package System.Dim.Mks.Other_Prefixes is
38
39   --  SI prefixes for Meter
40
41   pragma Warnings (Off);
42   --  Turn off the all the dimension warnings
43
44   ym  : constant Length := 1.0E-24;  -- yocto
45   zm  : constant Length := 1.0E-21;  -- zepto
46   am  : constant Length := 1.0E-18;  -- atto
47   fm  : constant Length := 1.0E-15;  -- femto
48   pm  : constant Length := 1.0E-12;  -- pico
49   nm  : constant Length := 1.0E-09;  -- nano
50   Gm  : constant Length := 1.0E+09;  -- giga
51   Tm  : constant Length := 1.0E+12;  -- tera
52   Pem : constant Length := 1.0E+15;  -- peta
53   Em  : constant Length := 1.0E+18;  -- exa
54   Zem : constant Length := 1.0E+21;  -- zetta
55   Yom : constant Length := 1.0E+24;  -- yotta
56
57   --  SI prefixes for Kilogram
58
59   yg  : constant Mass := 1.0E-27;  -- yocto
60   zg  : constant Mass := 1.0E-24;  -- zepto
61   ag  : constant Mass := 1.0E-21;  -- atto
62   fg  : constant Mass := 1.0E-18;  -- femto
63   pg  : constant Mass := 1.0E-15;  -- pico
64   ng  : constant Mass := 1.0E-12;  -- nano
65   Gg  : constant Mass := 1.0E+06;  -- giga
66   Tg  : constant Mass := 1.0E+09;  -- tera
67   Peg : constant Mass := 1.0E+13;  -- peta
68   Eg  : constant Mass := 1.0E+15;  -- exa
69   Zeg : constant Mass := 1.0E+18;  -- zetta
70   Yog : constant Mass := 1.0E+21;  -- yotta
71
72   --  SI prefixes for Second
73
74   ys  : constant Time := 1.0E-24;  -- yocto
75   zs  : constant Time := 1.0E-21;  -- zepto
76   as  : constant Time := 1.0E-18;  -- atto
77   fs  : constant Time := 1.0E-15;  -- femto
78   ps  : constant Time := 1.0E-12;  -- pico
79   ns  : constant Time := 1.0E-09;  -- nano
80   Gs  : constant Time := 1.0E+09;  -- giga
81   Ts  : constant Time := 1.0E+12;  -- tera
82   Pes : constant Time := 1.0E+15;  -- peta
83   Es  : constant Time := 1.0E+18;  -- exa
84   Zes : constant Time := 1.0E+21;  -- zetta
85   Yos : constant Time := 1.0E+24;  -- yotta
86
87   --  SI prefixes for Ampere
88
89   yA  : constant Electric_Current := 1.0E-24;  -- yocto
90   zA  : constant Electric_Current := 1.0E-21;  -- zepto
91   aA  : constant Electric_Current := 1.0E-18;  -- atto
92   fA  : constant Electric_Current := 1.0E-15;  -- femto
93   nA  : constant Electric_Current := 1.0E-09;  -- nano
94   uA  : constant Electric_Current := 1.0E-06;  -- micro (u)
95   GA  : constant Electric_Current := 1.0E+09;  -- giga
96   TA  : constant Electric_Current := 1.0E+12;  -- tera
97   PeA : constant Electric_Current := 1.0E+15;  -- peta
98   EA  : constant Electric_Current := 1.0E+18;  -- exa
99   ZeA : constant Electric_Current := 1.0E+21;  -- zetta
100   YoA : constant Electric_Current := 1.0E+24;  -- yotta
101
102   --  SI prefixes for Kelvin
103
104   yK  : constant Thermodynamic_Temperature := 1.0E-24;  -- yocto
105   zK  : constant Thermodynamic_Temperature := 1.0E-21;  -- zepto
106   aK  : constant Thermodynamic_Temperature := 1.0E-18;  -- atto
107   fK  : constant Thermodynamic_Temperature := 1.0E-15;  -- femto
108   pK  : constant Thermodynamic_Temperature := 1.0E-12;  -- pico
109   nK  : constant Thermodynamic_Temperature := 1.0E-09;  -- nano
110   uK  : constant Thermodynamic_Temperature := 1.0E-06;  -- micro (u)
111   mK  : constant Thermodynamic_Temperature := 1.0E-03;  -- milli
112   cK  : constant Thermodynamic_Temperature := 1.0E-02;  -- centi
113   dK  : constant Thermodynamic_Temperature := 1.0E-01;  -- deci
114   daK : constant Thermodynamic_Temperature := 1.0E+01;  -- deka
115   hK  : constant Thermodynamic_Temperature := 1.0E+02;  -- hecto
116   kK  : constant Thermodynamic_Temperature := 1.0E+03;  -- kilo
117   MeK : constant Thermodynamic_Temperature := 1.0E+06;  -- mega
118   GK  : constant Thermodynamic_Temperature := 1.0E+09;  -- giga
119   TK  : constant Thermodynamic_Temperature := 1.0E+12;  -- tera
120   PeK : constant Thermodynamic_Temperature := 1.0E+15;  -- peta
121   EK  : constant Thermodynamic_Temperature := 1.0E+18;  -- exa
122   ZeK : constant Thermodynamic_Temperature := 1.0E+21;  -- zetta
123   YoK : constant Thermodynamic_Temperature := 1.0E+24;  -- yotta
124
125   --  SI prefixes for Mole
126
127   ymol  : constant Amount_Of_Substance := 1.0E-24;  -- yocto
128   zmol  : constant Amount_Of_Substance := 1.0E-21;  -- zepto
129   amol  : constant Amount_Of_Substance := 1.0E-18;  -- atto
130   fmol  : constant Amount_Of_Substance := 1.0E-15;  -- femto
131   pmol  : constant Amount_Of_Substance := 1.0E-12;  -- pico
132   nmol  : constant Amount_Of_Substance := 1.0E-09;  -- nano
133   umol  : constant Amount_Of_Substance := 1.0E-06;  -- micro (u)
134   mmol  : constant Amount_Of_Substance := 1.0E-03;  -- milli
135   cmol  : constant Amount_Of_Substance := 1.0E-02;  -- centi
136   dmol  : constant Amount_Of_Substance := 1.0E-01;  -- deci
137   damol : constant Amount_Of_Substance := 1.0E+01;  -- deka
138   hmol  : constant Amount_Of_Substance := 1.0E+02;  -- hecto
139   kmol  : constant Amount_Of_Substance := 1.0E+03;  -- kilo
140   Memol : constant Amount_Of_Substance := 1.0E+06;  -- mega
141   Gmol  : constant Amount_Of_Substance := 1.0E+09;  -- giga
142   Tmol  : constant Amount_Of_Substance := 1.0E+12;  -- tera
143   Pemol : constant Amount_Of_Substance := 1.0E+15;  -- peta
144   Emol  : constant Amount_Of_Substance := 1.0E+18;  -- exa
145   Zemol : constant Amount_Of_Substance := 1.0E+21;  -- zetta
146   Yomol : constant Amount_Of_Substance := 1.0E+24;  -- yotta
147
148   --  SI prefixes for Candela
149
150   ycd  : constant Luminous_Intensity := 1.0E-24;  -- yocto
151   zcd  : constant Luminous_Intensity := 1.0E-21;  -- zepto
152   acd  : constant Luminous_Intensity := 1.0E-18;  -- atto
153   fcd  : constant Luminous_Intensity := 1.0E-15;  -- femto
154   pcd  : constant Luminous_Intensity := 1.0E-12;  -- pico
155   ncd  : constant Luminous_Intensity := 1.0E-09;  -- nano
156   ucd  : constant Luminous_Intensity := 1.0E-06;  -- micro (u)
157   mcd  : constant Luminous_Intensity := 1.0E-03;  -- milli
158   ccd  : constant Luminous_Intensity := 1.0E-02;  -- centi
159   dcd  : constant Luminous_Intensity := 1.0E-01;  -- deci
160   dacd : constant Luminous_Intensity := 1.0E+01;  -- deka
161   hcd  : constant Luminous_Intensity := 1.0E+02;  -- hecto
162   kcd  : constant Luminous_Intensity := 1.0E+03;  -- kilo
163   Mecd : constant Luminous_Intensity := 1.0E+06;  -- mega
164   Gcd  : constant Luminous_Intensity := 1.0E+09;  -- giga
165   Tcd  : constant Luminous_Intensity := 1.0E+12;  -- tera
166   Pecd : constant Luminous_Intensity := 1.0E+15;  -- peta
167   Ecd  : constant Luminous_Intensity := 1.0E+18;  -- exa
168   Zecd : constant Luminous_Intensity := 1.0E+21;  -- zetta
169   Yocd : constant Luminous_Intensity := 1.0E+24;  -- yotta
170
171   pragma Warnings (On);
172end System.Dim.Mks.Other_Prefixes;
173