@@ -12,69 +12,192 @@ class MeasurementPrefix
12
12
TimePrefix ,
13
13
VolumePrefix {
14
14
/// Constructs an arbitrary [MeasurementPrefix] .
15
- const MeasurementPrefix (this ._multiplier);
15
+ const MeasurementPrefix (
16
+ this ._multiplier, {
17
+ final String name = '' ,
18
+ }) : _name = name;
19
+
20
+ /// The default prefix (equivalent to no prefix).
21
+ const MeasurementPrefix .unit ()
22
+ : _multiplier = 1.0 ,
23
+ _name = '' ;
16
24
17
- /// The configured multiplier.
18
- @override
19
25
final double _multiplier;
26
+
27
+ /// The standardized short form name of the prefix (e.g. "m" for milli).
28
+ final String _name;
29
+
30
+ @override
31
+ MeasurementPrefix get _prefix => this ;
32
+
33
+ @override
34
+ String toString () => _name;
35
+
36
+ /// SI prefix "quecto".
37
+ static final MeasurementPrefix _quecto =
38
+ const MeasurementPrefix (1e-30 , name: 'q' );
39
+
40
+ /// SI prefix "ronto".
41
+ static final MeasurementPrefix _ronto =
42
+ const MeasurementPrefix (1e-27 , name: 'r' );
43
+
44
+ /// SI prefix "yocto".
45
+ static final MeasurementPrefix _yocto =
46
+ const MeasurementPrefix (1e-24 , name: 'y' );
47
+
48
+ /// SI prefix "zepto".
49
+ static final MeasurementPrefix _zepto =
50
+ const MeasurementPrefix (1e-21 , name: 'z' );
51
+
52
+ /// SI prefix "atto".
53
+ static final MeasurementPrefix _atto =
54
+ const MeasurementPrefix (1e-18 , name: 'a' );
55
+
56
+ /// SI prefix "femto".
57
+ static final MeasurementPrefix _femto =
58
+ const MeasurementPrefix (1e-15 , name: 'f' );
59
+
60
+ /// SI prefix "pico".
61
+ static final MeasurementPrefix _pico =
62
+ const MeasurementPrefix (1e-12 , name: 'p' );
63
+
64
+ /// SI prefix "nano".
65
+ static final MeasurementPrefix _nano =
66
+ const MeasurementPrefix (1e-9 , name: 'n' );
67
+
68
+ /// SI prefix "micro".
69
+ static final MeasurementPrefix _micro =
70
+ const MeasurementPrefix (1e-6 , name: 'μ' );
71
+
72
+ /// SI prefix "milli".
73
+ static final MeasurementPrefix _milli =
74
+ const MeasurementPrefix (1e-3 , name: 'm' );
75
+
76
+ /// SI prefix "centi".
77
+ static final MeasurementPrefix _centi =
78
+ const MeasurementPrefix (1e-2 , name: 'c' );
79
+
80
+ /// SI prefix "deci".
81
+ static final MeasurementPrefix _deci =
82
+ const MeasurementPrefix (1e-1 , name: 'd' );
83
+
84
+ /// SI prefix "deka".
85
+ static final MeasurementPrefix _deka =
86
+ const MeasurementPrefix (1e1 , name: 'da' );
87
+
88
+ /// SI prefix "hecto".
89
+ static final MeasurementPrefix _hecto =
90
+ const MeasurementPrefix (1e2 , name: 'h' );
91
+
92
+ /// SI prefix "kilo".
93
+ static final MeasurementPrefix _kilo =
94
+ const MeasurementPrefix (1e3 , name: 'k' );
95
+
96
+ /// SI prefix "mega".
97
+ static final MeasurementPrefix _mega =
98
+ const MeasurementPrefix (1e6 , name: 'M' );
99
+
100
+ /// SI prefix "giga".
101
+ static final MeasurementPrefix _giga =
102
+ const MeasurementPrefix (1e9 , name: 'G' );
103
+
104
+ /// SI prefix "tera".
105
+ static final MeasurementPrefix _tera =
106
+ const MeasurementPrefix (1e12 , name: 'T' );
107
+
108
+ /// SI prefix "peta".
109
+ static final MeasurementPrefix _peta =
110
+ const MeasurementPrefix (1e15 , name: 'P' );
111
+
112
+ /// SI prefix "exa".
113
+ static final MeasurementPrefix _exa =
114
+ const MeasurementPrefix (1e18 , name: 'E' );
115
+
116
+ /// SI prefix "zetta".
117
+ static final MeasurementPrefix _zetta =
118
+ const MeasurementPrefix (1e21 , name: 'Z' );
119
+
120
+ /// SI prefix "yotta".
121
+ static final MeasurementPrefix _yotta =
122
+ const MeasurementPrefix (1e24 , name: 'Y' );
123
+
124
+ /// SI prefix "ronna".
125
+ static final MeasurementPrefix _ronna =
126
+ const MeasurementPrefix (1e27 , name: 'R' );
127
+
128
+ /// SI prefix "quetta".
129
+ static final MeasurementPrefix _quetta =
130
+ const MeasurementPrefix (1e30 , name: 'Q' );
20
131
}
21
132
133
+ /// SI prefix "quecto".
134
+ final MeasurementPrefix quecto = MeasurementPrefix ._quecto;
135
+
136
+ /// SI prefix "ronto".
137
+ final MeasurementPrefix ronto = MeasurementPrefix ._ronto;
138
+
22
139
/// SI prefix "yocto".
23
- final MeasurementPrefix yocto = MeasurementPrefix ( 1e-24 ) ;
140
+ final MeasurementPrefix yocto = MeasurementPrefix ._yocto ;
24
141
25
142
/// SI prefix "zepto".
26
- final MeasurementPrefix zepto = MeasurementPrefix ( 1e-21 ) ;
143
+ final MeasurementPrefix zepto = MeasurementPrefix ._zepto ;
27
144
28
145
/// SI prefix "atto".
29
- final MeasurementPrefix atto = MeasurementPrefix ( 1e-18 ) ;
146
+ final MeasurementPrefix atto = MeasurementPrefix ._atto ;
30
147
31
148
/// SI prefix "femto".
32
- final MeasurementPrefix femto = MeasurementPrefix ( 1e-15 ) ;
149
+ final MeasurementPrefix femto = MeasurementPrefix ._femto ;
33
150
34
151
/// SI prefix "pico".
35
- final MeasurementPrefix pico = MeasurementPrefix ( 1e-12 ) ;
152
+ final MeasurementPrefix pico = MeasurementPrefix ._pico ;
36
153
37
154
/// SI prefix "nano".
38
- final MeasurementPrefix nano = MeasurementPrefix ( 1e-9 ) ;
155
+ final MeasurementPrefix nano = MeasurementPrefix ._nano ;
39
156
40
157
/// SI prefix "micro".
41
- final MeasurementPrefix micro = MeasurementPrefix ( 1e-6 ) ;
158
+ final MeasurementPrefix micro = MeasurementPrefix ._micro ;
42
159
43
160
/// SI prefix "milli".
44
- final MeasurementPrefix milli = MeasurementPrefix ( 1e-3 ) ;
161
+ final MeasurementPrefix milli = MeasurementPrefix ._milli ;
45
162
46
163
/// SI prefix "centi".
47
- final MeasurementPrefix centi = MeasurementPrefix ( 1e-2 ) ;
164
+ final MeasurementPrefix centi = MeasurementPrefix ._centi ;
48
165
49
166
/// SI prefix "deci".
50
- final MeasurementPrefix deci = MeasurementPrefix ( 1e-1 ) ;
167
+ final MeasurementPrefix deci = MeasurementPrefix ._deci ;
51
168
52
169
/// SI prefix "deka".
53
- final MeasurementPrefix deka = MeasurementPrefix ( 1e1 ) ;
170
+ final MeasurementPrefix deka = MeasurementPrefix ._deka ;
54
171
55
172
/// SI prefix "hecto".
56
- final MeasurementPrefix hecto = MeasurementPrefix ( 1e2 ) ;
173
+ final MeasurementPrefix hecto = MeasurementPrefix ._hecto ;
57
174
58
175
/// SI prefix "kilo".
59
- final MeasurementPrefix kilo = MeasurementPrefix ( 1e3 ) ;
176
+ final MeasurementPrefix kilo = MeasurementPrefix ._kilo ;
60
177
61
178
/// SI prefix "mega".
62
- final MeasurementPrefix mega = MeasurementPrefix ( 1e6 ) ;
179
+ final MeasurementPrefix mega = MeasurementPrefix ._mega ;
63
180
64
181
/// SI prefix "giga".
65
- final MeasurementPrefix giga = MeasurementPrefix ( 1e9 ) ;
182
+ final MeasurementPrefix giga = MeasurementPrefix ._giga ;
66
183
67
184
/// SI prefix "tera".
68
- final MeasurementPrefix tera = MeasurementPrefix ( 1e12 ) ;
185
+ final MeasurementPrefix tera = MeasurementPrefix ._tera ;
69
186
70
187
/// SI prefix "peta".
71
- final MeasurementPrefix peta = MeasurementPrefix ( 1e15 ) ;
188
+ final MeasurementPrefix peta = MeasurementPrefix ._peta ;
72
189
73
190
/// SI prefix "exa".
74
- final MeasurementPrefix exa = MeasurementPrefix ( 1e18 ) ;
191
+ final MeasurementPrefix exa = MeasurementPrefix ._exa ;
75
192
76
193
/// SI prefix "zetta".
77
- final MeasurementPrefix zetta = MeasurementPrefix ( 1e21 ) ;
194
+ final MeasurementPrefix zetta = MeasurementPrefix ._zetta ;
78
195
79
196
/// SI prefix "yotta".
80
- final MeasurementPrefix yotta = MeasurementPrefix (1e24 );
197
+ final MeasurementPrefix yotta = MeasurementPrefix ._yotta;
198
+
199
+ /// SI prefix "ronna".
200
+ final MeasurementPrefix ronna = MeasurementPrefix ._ronna;
201
+
202
+ /// SI prefix "quetta".
203
+ final MeasurementPrefix quetta = MeasurementPrefix ._quetta;
0 commit comments