@@ -34,39 +34,72 @@ pub struct Length {
3434}
3535
3636impl Length {
37- // Inputs, metric
37+ // Inputs, metric, with both spellings of meter/metre
38+
3839 pub fn from_meters ( meters : f64 ) -> Self {
3940 Length { meters : meters }
4041 }
4142
43+ pub fn from_metres ( metres : f64 ) -> Self {
44+ Self :: from_meters ( metres)
45+ }
46+
4247 pub fn from_nanometers ( nanometers : f64 ) -> Self {
4348 Self :: from_meters ( nanometers / METER_NANOMETER_FACTOR )
4449 }
4550
51+ pub fn from_nanometres ( nanometers : f64 ) -> Self {
52+ Self :: from_nanometers ( nanometers)
53+ }
54+
4655 pub fn from_micrometers ( micrometers : f64 ) -> Self {
4756 Self :: from_meters ( micrometers / METER_MICROMETER_FACTOR )
4857 }
4958
59+ pub fn from_micrometres ( micrometers : f64 ) -> Self {
60+ Self :: from_micrometers ( micrometers)
61+ }
62+
5063 pub fn from_millimeters ( millimeters : f64 ) -> Self {
5164 Self :: from_meters ( millimeters / METER_MILLIMETER_FACTOR )
5265 }
5366
67+ pub fn from_millimetres ( millimeters : f64 ) -> Self {
68+ Self :: from_millimeters ( millimeters)
69+ }
70+
5471 pub fn from_centimeters ( centimeters : f64 ) -> Self {
5572 Self :: from_meters ( centimeters / METER_CENTIMETER_FACTOR )
5673 }
5774
75+ pub fn from_centimetres ( centimeters : f64 ) -> Self {
76+ Self :: from_centimeters ( centimeters)
77+ }
78+
5879 pub fn from_decameters ( decameters : f64 ) -> Self {
5980 Self :: from_meters ( decameters / METER_DECAMETER_FACTOR )
6081 }
6182
83+ pub fn from_decametres ( decameters : f64 ) -> Self {
84+ Self :: from_decameters ( decameters)
85+ }
86+
6287 pub fn from_hectometers ( hectometers : f64 ) -> Self {
6388 Self :: from_meters ( hectometers / METER_HECTOMETER_FACTOR )
6489 }
6590
91+ pub fn from_hectometres ( hectometers : f64 ) -> Self {
92+ Self :: from_hectometers ( hectometers)
93+ }
94+
6695 pub fn from_kilometers ( kilometers : f64 ) -> Self {
6796 Self :: from_meters ( kilometers / METER_KILOMETER_FACTOR )
6897 }
6998
99+ pub fn from_kilometres ( kilometers : f64 ) -> Self {
100+ Self :: from_kilometers ( kilometers)
101+ }
102+
70103 // Inputs, imperial
71104 pub fn from_inches ( inches : f64 ) -> Self {
72105 Self :: from_meters ( inches / METER_INCH_FACTOR )
@@ -93,34 +126,66 @@ impl Length {
93126 self . meters * METER_NANOMETER_FACTOR
94127 }
95128
129+ pub fn as_nanometres ( & self ) -> f64 {
130+ self . as_nanometers ( )
131+ }
132+
96133 pub fn as_micrometers ( & self ) -> f64 {
97134 self . meters * METER_MICROMETER_FACTOR
98135 }
99136
137+ pub fn as_micrometres ( & self ) -> f64 {
138+ self . as_micrometers ( )
139+ }
140+
100141 pub fn as_millimeters ( & self ) -> f64 {
101142 self . meters * METER_MILLIMETER_FACTOR
102143 }
103144
145+ pub fn as_millimetres ( & self ) -> f64 {
146+ self . as_millimeters ( )
147+ }
148+
104149 pub fn as_centimeters ( & self ) -> f64 {
105150 self . meters * METER_CENTIMETER_FACTOR
106151 }
107152
153+ pub fn as_centimetres ( & self ) -> f64 {
154+ self . as_centimeters ( )
155+ }
156+
108157 pub fn as_meters ( & self ) -> f64 {
109158 self . meters
110159 }
111160
161+ pub fn as_metres ( & self ) -> f64 {
162+ self . as_meters ( )
163+ }
164+
112165 pub fn as_decameters ( & self ) -> f64 {
113166 self . meters * METER_DECAMETER_FACTOR
114167 }
115168
116- pub fn as_hectometer ( & self ) -> f64 {
169+ pub fn as_decametres ( & self ) -> f64 {
170+ self . as_decameters ( )
171+ }
172+
173+ pub fn as_hectometers ( & self ) -> f64 {
117174 self . meters * METER_HECTOMETER_FACTOR
118175 }
119176
177+ pub fn as_hectometres ( & self ) -> f64 {
178+ self . as_hectometers ( )
179+ }
180+
120181 pub fn as_kilometers ( & self ) -> f64 {
121182 self . meters * METER_KILOMETER_FACTOR
122183 }
123184
185+ pub fn as_kilometres ( & self ) -> f64 {
186+ self . as_kilometers ( )
187+ }
188+
124189 // Outputs, imperial
125190 pub fn as_inches ( & self ) -> f64 {
126191 self . meters * METER_INCH_FACTOR
0 commit comments