Skip to content

Commit 374ded6

Browse files
feature: Adds volume dry units
1 parent 47657f2 commit 374ded6

3 files changed

Lines changed: 37 additions & 5 deletions

File tree

Sources/Units/Registry.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,17 +324,21 @@ internal class Registry {
324324
DefaultUnits.deciliter,
325325
DefaultUnits.kiloliter,
326326
DefaultUnits.megaliter,
327-
DefaultUnits.bushel,
328327
DefaultUnits.teaspoon,
329328
DefaultUnits.tablespoon,
330329
DefaultUnits.fluidOunce,
331330
DefaultUnits.cup,
332331
DefaultUnits.pint,
333332
DefaultUnits.gallon,
333+
DefaultUnits.dryPint,
334+
DefaultUnits.dryQuart,
335+
DefaultUnits.peck,
336+
DefaultUnits.bushel,
334337
DefaultUnits.imperialFluidOunce,
335338
DefaultUnits.imperialCup,
336339
DefaultUnits.imperialPint,
337340
DefaultUnits.imperialGallon,
341+
DefaultUnits.imperialPeck,
338342
DefaultUnits.metricCup,
339343
]
340344
}

Sources/Units/Unit/DefaultUnits.swift

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1029,12 +1029,30 @@ enum DefaultUnits {
10291029
dimension: [.Length: 3],
10301030
coefficient: 0.003785411784
10311031
)
1032-
// Dry measures
1032+
// Dry measures: https://en.wikipedia.org/wiki/Dry_measure
1033+
static let dryPint: DefinedUnit = try! DefinedUnit(
1034+
name: "dryPint",
1035+
symbol: "drypt",
1036+
dimension: [.Length: 3],
1037+
coefficient: 5.506104713575e-4
1038+
)
1039+
static let dryQuart: DefinedUnit = try! DefinedUnit(
1040+
name: "dryQuart",
1041+
symbol: "dryqt",
1042+
dimension: [.Length: 3],
1043+
coefficient: 1.101220942715e-3
1044+
)
1045+
static let peck: DefinedUnit = try! DefinedUnit(
1046+
name: "peck",
1047+
symbol: "pk",
1048+
dimension: [.Length: 3],
1049+
coefficient: 8.80976754172e-3
1050+
)
10331051
static let bushel = try! DefinedUnit(
10341052
name: "bushel",
1035-
symbol: "bushel",
1053+
symbol: "bu",
10361054
dimension: [.Length: 3],
1037-
coefficient: 0.03523907
1055+
coefficient: 0.035239070167
10381056
)
10391057
// Imperial measures
10401058
static let imperialFluidOunce = try! DefinedUnit(
@@ -1067,6 +1085,12 @@ enum DefaultUnits {
10671085
dimension: [.Length: 3],
10681086
coefficient: 0.00454609
10691087
)
1088+
static let imperialPeck: DefinedUnit = try! DefinedUnit(
1089+
name: "imperialPeck",
1090+
symbol: "ipk",
1091+
dimension: [.Length: 3],
1092+
coefficient: 9.09218e-3
1093+
)
10701094
static let metricCup = try! DefinedUnit(
10711095
name: "metricCup",
10721096
symbol: "mcup",

Sources/Units/Unit/Unit+DefaultUnits.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,18 +233,22 @@ public extension Unit {
233233
static let deciliter = Unit(definedBy: DefaultUnits.deciliter)
234234
static let kiloliter = Unit(definedBy: DefaultUnits.kiloliter)
235235
static let megaliter = Unit(definedBy: DefaultUnits.megaliter)
236-
static let bushel = Unit(definedBy: DefaultUnits.bushel)
237236
static let teaspoon = Unit(definedBy: DefaultUnits.teaspoon)
238237
static let tablespoon = Unit(definedBy: DefaultUnits.tablespoon)
239238
static let fluidOunce = Unit(definedBy: DefaultUnits.fluidOunce)
240239
static let cup = Unit(definedBy: DefaultUnits.cup)
241240
static let pint = Unit(definedBy: DefaultUnits.pint)
242241
static let quart = Unit(definedBy: DefaultUnits.quart)
243242
static let gallon = Unit(definedBy: DefaultUnits.gallon)
243+
static let dryPint = Unit(definedBy: DefaultUnits.dryPint)
244+
static let dryQuart = Unit(definedBy: DefaultUnits.dryQuart)
245+
static let peck = Unit(definedBy: DefaultUnits.peck)
246+
static let bushel = Unit(definedBy: DefaultUnits.bushel)
244247
static let imperialFluidOunce = Unit(definedBy: DefaultUnits.imperialFluidOunce)
245248
static let imperialCup = Unit(definedBy: DefaultUnits.imperialCup)
246249
static let imperialPint = Unit(definedBy: DefaultUnits.imperialPint)
247250
static let imperialQuart = Unit(definedBy: DefaultUnits.imperialQuart)
248251
static let imperialGallon = Unit(definedBy: DefaultUnits.imperialGallon)
252+
static let imperialPeck = Unit(definedBy: DefaultUnits.imperialPeck)
249253
static let metricCup = Unit(definedBy: DefaultUnits.metricCup)
250254
}

0 commit comments

Comments
 (0)