ソースを参照

Add consistency checks, fix two errors

David Peter 2 年 前
コミット
8f945538fd

+ 52 - 0
examples/consistency_others.nbt

@@ -0,0 +1,52 @@
+assert_eq(1 deg, pi / 180 * rad)
+assert_eq(1 ha, 1 hm²)
+assert_eq(1 L, 1 dm³)
+assert_eq(1 ton, 1000 kg)
+assert_eq(1 eV, 1.602176e-19 J, 1e-6 eV)
+assert_eq(1 au, 149597870700 meter)
+assert_eq(1 bar, 10^5 Pa)
+assert_eq(1 Å, 100 pm)
+assert_eq(1 barn, 100 fm², 1e-5 fm²)
+
+assert_eq(1 min, 60 s)
+assert_eq(1 hour, 60 min)
+assert_eq(1 week, 7 day)
+assert_eq(1 day, 24 hour)
+assert_eq(1 month, 730.485 hour)
+assert_eq(1 year, 365.2425 day)
+assert_eq(1 year, 12 months)
+assert_eq(1 julian_year, 365.25 day)
+
+assert_eq(1 gallon, 231 inch³, 1e-5 inch³)
+assert_eq(8 pint, 1 gallon)
+assert_eq(2 cup, 1 pint)
+assert_eq(16 tablespoon, 1 cup)
+assert_eq(3 teaspoon, 1 tablespoon, 1e-5 teaspoon)
+assert_eq(1 floz, 2 tablespoon)
+assert_eq(1 hogshead, 63 gallon)
+assert_eq(1 rod, 16.5 foot)
+
+assert_eq(1 gauss, 100 µT)
+assert_eq(1 furlong, 220 yard)
+
+assert_eq(1 parsec, 206264 au, 1 au)
+assert_eq(1 lightyear, 63241 au, 1 au)
+assert_eq(1 lightyear, 0.3066 parsec, 1e-3 parsec)
+
+assert_eq(1 knot, 1 NM/hour)
+
+assert_eq(3 percent, 3e-2)
+assert_eq(400e-6, 400 ppm, 1e-16)
+assert_eq(8e-9, 8 ppb, 1e-16)
+assert_eq(8e-12, 8 ppt, 1e-16)
+assert_eq(8e-15, 8 ppq, 1e-16)
+
+assert_eq(1 calorie, 4.184 J)
+assert_eq(1 BTU, 1055.05585262 J)
+assert_eq(1 lbf, 4.448222 N)
+assert_eq(1 ozf, (4.448222 / 16.0) N, 1e-5 N)
+assert_eq(60 RPM, 1 Hz)
+assert_eq(1 fortnight, 2 week)
+assert_eq(1 mmHg, 133.322387415 Pa, 1e-5 Pa)
+assert_eq(1 PSI, 6.894757 kPa)
+assert_eq(1 atm, 101325.0 Pa)

+ 0 - 0
examples/si_derived_units.nbt → examples/consistency_si.nbt


+ 1 - 1
modules/math/partsperx.nbt

@@ -1,4 +1,4 @@
-let pct = 1e-03
+let pct = 1e-02
 let ppm = 1e-06
 let ppb = 1e-09
 let ppt = 1e-12

+ 1 - 1
modules/units/misc.nbt

@@ -21,7 +21,7 @@ unit BTU: Energy = 1055.05585262 joule
 unit pound_force: Force = 4.448222 newton
 
 @aliases(ozf: short)
-unit ounce_force: Force = 16 lbf
+unit ounce_force: Force = 1 / 16 * lbf
 
 @aliases(kgf: short)
 unit kilogram_force: Force = 9.80665 newton