Skip to content

Commit 3ea8992

Browse files
committed
Add docstrings to units
1 parent e40c32c commit 3ea8992

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

src/units.jl

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
module Units
22

3+
export uparse, @u_str
4+
35
import ..DEFAULT_DIM_TYPE
46
import ..DEFAULT_VALUE_TYPE
57
import ..Quantity
@@ -27,12 +29,19 @@ function _add_prefixes(base_unit::Symbol, prefixes)
2729
end
2830

2931
# SI base units
32+
"Length in meters. Available variants: `fm`, `pm`, `nm`, `μm` (/`um`), `cm`, `dm`, `mm`, `km`, `Mm`, `Gm`."
3033
const m = Quantity(1.0, length=1)
34+
"Mass in grams. Available variants: `μg` (/`ug`), `mg`, `kg`."
3135
const g = Quantity(1e-3, mass=1)
36+
"Time in seconds. Available variants: fs, ps, ns, μs (/us), ms, min, h (/hr), day, yr, kyr, Myr, Gyr."
3237
const s = Quantity(1.0, time=1)
38+
"Current in Amperes. Available variants: nA, μA (/uA), mA, kA."
3339
const A = Quantity(1.0, current=1)
40+
"Temperature in Kelvin. Available variant: mK."
3441
const K = Quantity(1.0, temperature=1)
42+
"Luminosity in candela. Available variant: mcd."
3543
const cd = Quantity(1.0, luminosity=1)
44+
"Amount in moles. Available variant: mmol."
3645
const mol = Quantity(1.0, amount=1)
3746

3847
@add_prefixes m (f, p, n, μ, u, c, d, m, k, M, G)
@@ -44,15 +53,26 @@ const mol = Quantity(1.0, amount=1)
4453
@add_prefixes mol (m,)
4554

4655
# SI derived units
56+
"Frequency in Hertz. Available variants: kHz, MHz, GHz."
4757
const Hz = inv(s)
58+
"Force in Newtons."
4859
const N = kg * m / s^2
60+
"Pressure in Pascals. Available variant: kPa."
4961
const Pa = N / m^2
62+
"Energy in Joules. Available variant: kJ."
5063
const J = N * m
64+
"Power in Watts. Available variants: kW, MW, GW."
5165
const W = J / s
66+
"Charge in Coulombs."
5267
const C = A * s
68+
"Voltage in Volts. Available variants: kV, MV, GV."
5369
const V = W / A
70+
"Capacitance in Farads."
5471
const F = C / V
72+
"Resistance in Ohms. Available variant: mΩ. Also available is ASCII `ohm` (with variant `mohm`)."
5573
const= V / A
74+
const ohm =
75+
"Magnetic flux density in Teslas."
5676
const T = N / (A * m)
5777

5878
@add_prefixes Hz (k, M, G)
@@ -64,6 +84,7 @@ const T = N / (A * m)
6484
@add_prefixes V (m, k, M, G)
6585
@add_prefixes F ()
6686
@add_prefixes Ω (m,)
87+
@add_prefixes ohm (m,)
6788
@add_prefixes T ()
6889

6990
# Common assorted units
@@ -81,11 +102,13 @@ const yr = 365.25 * day
81102
@add_prefixes yr (k, M, G)
82103

83104
## Volume
105+
"Volume in liters. Available variants: mL, dL."
84106
const L = dm^3
85107

86108
@add_prefixes L (m, d)
87109

88110
## Pressure
111+
"Pressure in bars."
89112
const bar = 100 * kPa
90113

91114
@add_prefixes bar ()
@@ -112,7 +135,7 @@ as_quantity(x::Number) = Quantity(convert(DEFAULT_VALUE_TYPE, x), DEFAULT_DIM_TY
112135
as_quantity(x) = error("Unexpected type evaluated: $(typeof(x))")
113136

114137
"""
115-
@u_str(s::AbstractString)
138+
u"[unit expression]"
116139
117140
Parse a string containing an expression of units and return the
118141
corresponding `Quantity` object. For example, `u"km/s^2"`
@@ -122,4 +145,4 @@ macro u_str(s)
122145
return esc(uparse(s))
123146
end
124147

125-
end
148+
end

0 commit comments

Comments
 (0)