Skip to content

Commit 49e807b

Browse files
committed
cleanup unit length
1 parent 27c436d commit 49e807b

File tree

4 files changed

+150
-85
lines changed

4 files changed

+150
-85
lines changed

quantities/tests/test_quantities.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -289,13 +289,13 @@ def test_creation(self):
289289

290290
def test_unit_aggregation(self):
291291
joule = q.kg*q.m**2/q.s**2
292-
pc_per_cc = q.CompoundUnit("parsec/cm**3")
292+
pc_per_cc = q.CompoundUnit("pc/cm**3")
293293
area_per_volume = q.CompoundUnit("m**2/m**3")
294294
self.assertEqual(str(joule/q.m), "1.0*kg*m/s**2", str(joule/q.m))
295295
self.assertEqual(str(joule*q.m), "1.0*kg*m**3/s**2", str(joule*q.m))
296296
self.assertEqual(
297297
str(q.J*pc_per_cc),
298-
"1.0*J*(parsec/cm**3)",
298+
"1.0*J*(pc/cm**3)",
299299
str(q.J*pc_per_cc)
300300
)
301301
temp = pc_per_cc / area_per_volume
@@ -320,12 +320,12 @@ def test_ratios(self):
320320
)
321321

322322
def test_compound_reduction(self):
323-
pc_per_cc = q.CompoundUnit("parsec/cm**3")
323+
pc_per_cc = q.CompoundUnit("pc/cm**3")
324324
temp = pc_per_cc * q.CompoundUnit('m/m**3')
325-
self.assertEqual(str(temp), "1.0*(parsec/cm**3)*(m/m**3)", str(temp))
325+
self.assertEqual(str(temp), "1.0*(pc/cm**3)*(m/m**3)", str(temp))
326326
temp = temp.simplified
327-
temp.units=q.parsec**-4
328-
self.assertEqual(str(temp), "2.79740021556e+88*1/parsec**4", str(temp))
327+
temp.units=q.pc**-4
328+
self.assertEqual(str(temp), "2.79740021556e+88*1/pc**4", str(temp))
329329
temp.units=q.m**-4
330330
self.assertEqual(str(temp), "3.08568025e+22*1/m**4", str(temp))
331331
self.assertEqual(str(1/temp), "3.24077648681e-23*m**4", str(1/temp))
@@ -343,22 +343,22 @@ def test_compound_reduction(self):
343343
self.assertEqual(str(temp1), str(temp1.simplified))
344344

345345
def test_equality(self):
346-
test1 = 1.5 * q.kilometer
347-
test2 = 1.5 * q.kilometer
346+
test1 = 1.5 * q.km
347+
test2 = 1.5 * q.km
348348

349349
self.assertEqual(test1, test2)
350350
test2.units = q.ft
351351

352352
self.assertAlmostEqual(test1, test2.rescale(q.km))
353353

354354
# test less than and greater than
355-
self.assertTrue(1.5 * q.kilometer > 2.5 * q.cm)
356-
self.assertTrue(1.5 * q.kilometer >= 2.5 * q.cm)
357-
self.assertTrue(not (1.5 * q.kilometer < 2.5 * q.cm))
358-
self.assertTrue(not (1.5 * q.kilometer <= 2.5 * q.cm))
355+
self.assertTrue(1.5 * q.km > 2.5 * q.cm)
356+
self.assertTrue(1.5 * q.km >= 2.5 * q.cm)
357+
self.assertTrue(not (1.5 * q.km < 2.5 * q.cm))
358+
self.assertTrue(not (1.5 * q.km <= 2.5 * q.cm))
359359

360360
self.assertTrue(
361-
1.5 * q.kilometer != 1.5 * q.cm,
361+
1.5 * q.km != 1.5 * q.cm,
362362
"unequal quantities are not-not-equal"
363363
)
364364

@@ -774,7 +774,7 @@ def test_numpy_functions(self):
774774
self.assertRaises(
775775
ValueError,
776776
z.put,
777-
[2, 7], [4, 6] * q.feet
777+
[2, 7], [4, 6] * q.ft
778778
)
779779
self.assertRaises(
780780
TypeError,

quantities/units/length.py

Lines changed: 129 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -3,69 +3,134 @@
33

44
from quantities.units.unitquantity import UnitLength
55

6-
m = meter = meters = metre = metres = \
7-
UnitLength('m')
8-
km = kilometer = kilometers = kilometre = kilometres = \
9-
UnitLength('km', 1000*m)
10-
cm = centimeter = centimeters = centimetre = centimetres = \
11-
UnitLength('cm', m/100)
12-
mm = millimeter = millimeters = millimetre = millimetres = \
13-
UnitLength('mm', m/1000)
14-
um = micron = microns = micrometer = micrometers = micrometre = micrometres = \
15-
UnitLength('um', mm/1000)
16-
nm = nanometer = nanometers = nanometre = nanometres = \
17-
UnitLength('nm', um/1000)
18-
pm = picometer = picometers = picometre = picometres = \
19-
UnitLength('pm', nm/1000)
20-
angstrom = angstroms = \
21-
UnitLength('angstroms', nm/10)
22-
fm = femtometer = femtometer = femtometre = femtometres = \
23-
UnitLength('fm', nm/1000)
6+
m = UnitLength(
7+
'm',
8+
aliases=['meter', 'meters', 'metre', 'metres']
9+
)
10+
km = UnitLength(
11+
'km', 1000*m, aliases=['kilometer', 'kilometers', 'kilometre', 'kilometres']
12+
)
13+
cm = UnitLength(
14+
'cm', m/100,
15+
aliases=['centimeter', 'centimeters', 'centimetre', 'centimetres']
16+
)
17+
mm = UnitLength(
18+
'mm', m/1000,
19+
aliases=['millimeter', 'millimeters', 'millimetre', 'millimetres']
20+
)
21+
um = UnitLength(
22+
'um', mm/1000,
23+
aliases=[
24+
'micron', 'microns', 'micrometer', 'micrometers', 'micrometre',
25+
'micrometres'
26+
]
27+
)
28+
nm = UnitLength(
29+
'nm', um/1000,
30+
aliases=['nanometer', 'nanometers', 'nanometre', 'nanometres']
31+
)
32+
pm = UnitLength(
33+
'pm', nm/1000,
34+
aliases=['picometer', 'picometers', 'picometre', 'picometres']
35+
)
36+
angstrom = UnitLength(
37+
'angstroms', nm/10,
38+
aliases=['angstroms']
39+
)
40+
fm = UnitLength(
41+
'fm', nm/1000,
42+
aliases=['femtometer', 'femtometer', 'femtometre', 'femtometres']
43+
)
2444

25-
inch = inches = international_inch = international_inches = \
26-
UnitLength('inch', 2.54*cm)
27-
ft = foot = feet = international_foot = international_feet = \
28-
UnitLength('ft', 12*inch)
29-
mi = mile = miles = international_mile = international_miles = \
30-
UnitLength('mi', 5280*ft)
31-
yd = yard = yards = international_yard = international_yards = \
32-
UnitLength('yd', 3*ft)
33-
mil = mils = \
34-
UnitLength('mil', 2.54e-5*m)
35-
pc = parsec = parsecs = \
36-
UnitLength('parsec', 3.08568025e16*meter)
37-
ly = light_year = light_years = \
38-
UnitLength('light_year', 9.4605284e15*m)
39-
au = astronomical_unit = astronomical_units = \
40-
UnitLength('au', 149597870691*m)
41-
fermi = fermis = \
42-
UnitLength('fermi', 1e-15*m)
43-
nmi = nmile = nmiles = nautical_mile = nautical_miles = \
44-
UnitLength('nautical_mile', 1.852e3*m)
45-
printers_point = printers_points = \
46-
UnitLength('printers_point', 3.514598e-4*m) # TODO: check
47-
pica = picas = printers_pica = printers_picas = \
48-
UnitLength('pica', 12*printers_point)
45+
inch = UnitLength(
46+
'inch', 2.54*cm,
47+
aliases=['inches', 'international_inch', 'international_inches']
48+
)
49+
ft = UnitLength(
50+
'ft', 12*inch,
51+
aliases=['foot', 'feet', 'international_foot', 'international_feet']
52+
)
53+
mi = UnitLength(
54+
'mi', 5280*ft,
55+
aliases=['mile', 'miles', 'international_mile', 'international_miles']
56+
)
57+
yd = UnitLength(
58+
'yd', 3*ft,
59+
aliases=['yard', 'yards', 'international_yard', 'international_yards']
60+
)
61+
mil = UnitLength(
62+
'mil', 2.54e-5*m,
63+
aliases=['mils']
64+
)
65+
pc = UnitLength(
66+
'pc', 3.08568025e16*m,
67+
aliases=['parsec', 'parsecs']
68+
)
69+
ly = UnitLength(
70+
'light_year', 9.4605284e15*m,
71+
aliases=['light_year', 'light_years']
72+
)
73+
au = UnitLength(
74+
'au', 149597870691*m,
75+
aliases=['astronomical_unit', 'astronomical_units']
76+
)
77+
fermi = UnitLength(
78+
'fermi', 1e-15*m,
79+
aliases=['fermis']
80+
)
81+
nmi = UnitLength(
82+
'nautical_mile', 1.852e3*m,
83+
aliases=['nmile', 'nmiles', 'nautical_mile', 'nautical_miles']
84+
)
85+
printers_point = UnitLength(
86+
'printers_point', 3.514598e-4*m, # TODO: check
87+
aliases=['printers_points']
88+
)
89+
pica = UnitLength(
90+
'pica', 12*printers_point,
91+
aliases=['picas', 'printers_pica', 'printers_picas']
92+
)
4993

50-
US_survey_foot = US_survey_feet = \
51-
UnitLength('US_survey_foot', 1200*m/3937)
52-
US_survey_yard = US_survey_yards = \
53-
UnitLength('US_survey_yard', 3*US_survey_foot)
54-
US_survey_mile = US_survey_miles = \
55-
UnitLength('US_survey_mile', 5280*US_survey_foot)
56-
US_statute_mile = US_statute_miles = \
57-
UnitLength('US_statute_mile', US_survey_mile)
58-
rod = rods = pole = poles = perch = perches = \
59-
UnitLength('rod', 16.5*US_survey_foot) # TODO: check, google uses foot
60-
furlong = furlongs = \
61-
UnitLength('furlong', 660*US_survey_foot)
62-
fathom = fathoms = \
63-
UnitLength('fathom', 6*US_survey_foot)
64-
chain = chains = \
65-
UnitLength('chain', 2.011684e1*m) # TODO: check
66-
big_point = big_points = \
67-
UnitLength('big_point', inch/72)
68-
barleycorn = barleycorns = \
69-
UnitLength('barleycorn', inch/3)
70-
arpentlin = \
71-
UnitLength('arpentlin', 191.835*foot)
94+
US_survey_foot = UnitLength(
95+
'US_survey_foot', 1200*m/3937,
96+
aliases=['US_survey_feet']
97+
)
98+
US_survey_yard = UnitLength(
99+
'US_survey_yard', 3*US_survey_foot,
100+
aliases=['US_survey_yards']
101+
)
102+
US_survey_mile = UnitLength(
103+
'US_survey_mile', 5280*US_survey_foot,
104+
aliases=['US_survey_miles']
105+
)
106+
US_statute_mile = UnitLength(
107+
'US_statute_mile', US_survey_mile,
108+
aliases=['US_statute_miles']
109+
)
110+
rod = UnitLength(
111+
'rod', 16.5*US_survey_foot, # TODO: check NIST, google uses foot
112+
aliases=['rods', 'pole', 'poles', 'perch', 'perches']
113+
)
114+
furlong = UnitLength(
115+
'furlong', 660*US_survey_foot,
116+
aliases=['furlongs']
117+
)
118+
fathom = UnitLength(
119+
'fathom', 6*US_survey_foot,
120+
aliases=['fathoms']
121+
)
122+
chain = UnitLength(
123+
'chain', 2.011684e1*m, # TODO: check
124+
aliases=['chains']
125+
)
126+
big_point = UnitLength(
127+
'big_point', inch/72,
128+
aliases=['big_points']
129+
)
130+
barleycorn = UnitLength(
131+
'barleycorn', inch/3,
132+
aliases=['barleycorns']
133+
)
134+
arpentlin = UnitLength(
135+
'arpentlin', 191.835*ft
136+
)

quantities/units/pressure.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from quantities.units.unitquantity import UnitQuantity
55
from quantities.units.acceleration import gravity
66
from quantities.units.mass import kg, pound
7-
from quantities.units.length import m, mm, cm, inch, foot
7+
from quantities.units.length import m, mm, cm, inch, ft
88
from quantities.units.force import N, kip
99

1010

@@ -51,7 +51,7 @@
5151
millimeter_Hg_0C = \
5252
UnitQuantity('millimeter_Hg_0C', mm*mercury_0C)
5353
footH2O = \
54-
UnitQuantity('footH2O', foot*water)
54+
UnitQuantity('footH2O', ft*water)
5555
cmHg = \
5656
UnitQuantity('cmHg', cm*Hg)
5757
cmH2O = \
@@ -61,12 +61,12 @@
6161
torr = torrs = mmHg = mm_Hg = millimeter_Hg = \
6262
UnitQuantity('torr', mm*Hg)
6363
foot_H2O = ftH2O = \
64-
UnitQuantity('foot_H2O', foot*water)
64+
UnitQuantity('foot_H2O', ft*water)
6565
psi = \
6666
UnitQuantity('psi', pound*gravity/inch**2)
6767
ksi = \
6868
UnitQuantity('ksi', kip/inch**2)
6969
barie = baries = barye = baryes = \
7070
UnitQuantity('barie', 0.1*N/m**2)
7171

72-
del UnitQuantity, gravity, kg, pound, m, mm, cm, inch, foot, N, kip
72+
del UnitQuantity, gravity, kg, pound, m, mm, cm, inch, ft, N, kip

quantities/units/velocity.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
"""
33

44
from quantities.units.unitquantity import UnitQuantity
5-
from quantities.units.length import m, nautical_mile
5+
from quantities.units.length import m, nmi
66
from quantities.units.time import s, h
77

88

99
c = \
1010
UnitQuantity('c', 299792458*m/s)
1111
kt = knot = knots = knot_international = international_knot = \
12-
UnitQuantity('kt', nautical_mile/h)
12+
UnitQuantity('kt', nmi/h)
1313

14-
del UnitQuantity, m, nautical_mile, s, h
14+
del UnitQuantity, m, nmi, s, h

0 commit comments

Comments
 (0)