Skip to content

Commit c63265c

Browse files
Merge pull request #10 from NeedleInAJayStack/feature/quart
Quart & Dry Volumes
2 parents 79b843c + 338204b commit c63265c

3 files changed

Lines changed: 58 additions & 9 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: 46 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/// Static type containing this package's pre-defined units
22
enum DefaultUnits {
3-
// MARK: If adding additional units to this list, add corresponding entries in the `Unit+DefaultUnits.swift` file
3+
// MARK: If adding units to this list, add corresponding entries in the `Unit+DefaultUnits.swift` & `Registry.swift` files
44

55
// MARK: Acceleration
66

@@ -986,12 +986,7 @@ enum DefaultUnits {
986986
dimension: [.Length: 3],
987987
coefficient: 1000
988988
)
989-
static let bushel = try! DefinedUnit(
990-
name: "bushel",
991-
symbol: "bushel",
992-
dimension: [.Length: 3],
993-
coefficient: 0.03523907
994-
)
989+
// Liquid measures
995990
static let teaspoon = try! DefinedUnit(
996991
name: "teaspoon",
997992
symbol: "tsp",
@@ -1022,12 +1017,44 @@ enum DefaultUnits {
10221017
dimension: [.Length: 3],
10231018
coefficient: 473.176473e-6
10241019
)
1020+
static let quart = try! DefinedUnit(
1021+
name: "quart",
1022+
symbol: "qt",
1023+
dimension: [.Length: 3],
1024+
coefficient: 9.46352946e-4
1025+
)
10251026
static let gallon = try! DefinedUnit(
10261027
name: "gallon",
10271028
symbol: "gal",
10281029
dimension: [.Length: 3],
10291030
coefficient: 0.003785411784
10301031
)
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+
)
1051+
static let bushel = try! DefinedUnit(
1052+
name: "bushel",
1053+
symbol: "bu",
1054+
dimension: [.Length: 3],
1055+
coefficient: 0.035239070167
1056+
)
1057+
// Imperial measures
10311058
static let imperialFluidOunce = try! DefinedUnit(
10321059
name: "imperialFluidOunce",
10331060
symbol: "ifl_oz",
@@ -1046,12 +1073,24 @@ enum DefaultUnits {
10461073
dimension: [.Length: 3],
10471074
coefficient: 568.26125e-6
10481075
)
1076+
static let imperialQuart = try! DefinedUnit(
1077+
name: "imperialQuart",
1078+
symbol: "iqt",
1079+
dimension: [.Length: 3],
1080+
coefficient: 1.1365225e-3
1081+
)
10491082
static let imperialGallon = try! DefinedUnit(
10501083
name: "imperialGallon",
10511084
symbol: "igal",
10521085
dimension: [.Length: 3],
10531086
coefficient: 0.00454609
10541087
)
1088+
static let imperialPeck: DefinedUnit = try! DefinedUnit(
1089+
name: "imperialPeck",
1090+
symbol: "ipk",
1091+
dimension: [.Length: 3],
1092+
coefficient: 9.09218e-3
1093+
)
10551094
static let metricCup = try! DefinedUnit(
10561095
name: "metricCup",
10571096
symbol: "mcup",

Sources/Units/Unit/Unit+DefaultUnits.swift

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,16 +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)
241+
static let quart = Unit(definedBy: DefaultUnits.quart)
242242
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)
243247
static let imperialFluidOunce = Unit(definedBy: DefaultUnits.imperialFluidOunce)
244248
static let imperialCup = Unit(definedBy: DefaultUnits.imperialCup)
245249
static let imperialPint = Unit(definedBy: DefaultUnits.imperialPint)
250+
static let imperialQuart = Unit(definedBy: DefaultUnits.imperialQuart)
246251
static let imperialGallon = Unit(definedBy: DefaultUnits.imperialGallon)
252+
static let imperialPeck = Unit(definedBy: DefaultUnits.imperialPeck)
247253
static let metricCup = Unit(definedBy: DefaultUnits.metricCup)
248254
}

0 commit comments

Comments
 (0)