]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.datatypes.ontology/graph/SI.pgraph
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.datatypes.ontology / graph / SI.pgraph
diff --git a/bundles/org.simantics.datatypes.ontology/graph/SI.pgraph b/bundles/org.simantics.datatypes.ontology/graph/SI.pgraph
new file mode 100644 (file)
index 0000000..8c9ec90
--- /dev/null
@@ -0,0 +1,2063 @@
+L0 = <http://www.simantics.org/Layer0-1.1>\r
+DATA = <http://www.simantics.org/Datatypes-1.1>\r
+SI = DATA.SI : L0.Library\r
+    L0.HasResourceClass "org.simantics.datatypes.SIResource"\r
+\r
+SI.Unit <T L0.Entity\r
+\r
+// SI base units\r
+\r
+SI.TeraMetre <T SI.Unit\r
+SI.TeraMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Tm")\r
+SI.TeraMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Tm")\r
+\r
+SI.GigaMetre <T SI.Unit\r
+SI.GigaMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Gm")\r
+SI.GigaMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Gm")\r
+\r
+SI.MegaMetre <T SI.Unit\r
+SI.MegaMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mm")\r
+SI.MegaMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mm")\r
+\r
+SI.KiloMetre <T SI.Unit\r
+SI.KiloMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="km")\r
+SI.KiloMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="km")\r
+\r
+SI.HectoMetre <T SI.Unit\r
+SI.HectoMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hm")\r
+SI.HectoMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hm")\r
+\r
+SI.Metre <T SI.Unit\r
+SI.Metre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="m")\r
+SI.Metre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="m")\r
+\r
+SI.CentiMetre <T SI.Unit\r
+SI.CentiMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cm")\r
+SI.CentiMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cm")\r
+\r
+SI.MilliMetre <T SI.Unit\r
+SI.MilliMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mm")\r
+SI.MilliMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mm")\r
+\r
+SI.MicroMetre <T SI.Unit\r
+SI.MicroMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="um")\r
+SI.MicroMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="um")\r
+\r
+SI.Teragram <T SI.Unit\r
+SI.Teragram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Tg")\r
+SI.Teragram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Tg")\r
+\r
+SI.Gigagram <T SI.Unit\r
+SI.Gigagram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Gg")\r
+SI.Gigagram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Gg")\r
+\r
+SI.Megagram <T SI.Unit\r
+SI.Megagram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mg")\r
+SI.Megagram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mg")\r
+\r
+SI.Kilogram <T SI.Unit\r
+SI.Kilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kg")\r
+SI.Kilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kg")\r
+\r
+SI.Hectogram <T SI.Unit\r
+SI.Hectogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hg")\r
+SI.Hectogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hg")\r
+\r
+SI.gram <T SI.Unit\r
+SI.gram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="g")\r
+SI.gram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="g")\r
+\r
+SI.Centigram <T SI.Unit\r
+SI.Centigram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cg")\r
+SI.Centigram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cg")\r
+\r
+SI.Milligram <T SI.Unit\r
+SI.Milligram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mg")\r
+SI.Milligram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mg")\r
+\r
+SI.Microgram <T SI.Unit\r
+SI.Microgram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="ug")\r
+SI.Microgram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="ug")\r
+\r
+SI.TeraSecond <T SI.Unit\r
+SI.TeraSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Ts")\r
+SI.TeraSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Ts")\r
+\r
+SI.GigaSecond <T SI.Unit\r
+SI.GigaSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Gs")\r
+SI.GigaSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Gs")\r
+\r
+SI.MegaSecond <T SI.Unit\r
+SI.MegaSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Ms")\r
+SI.MegaSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Ms")\r
+\r
+SI.KiloSecond <T SI.Unit\r
+SI.KiloSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="ks")\r
+SI.KiloSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="ks")\r
+\r
+SI.HectoSecond <T SI.Unit\r
+SI.HectoSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hs")\r
+SI.HectoSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hs")\r
+\r
+SI.Second <T SI.Unit\r
+SI.Second.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="s")\r
+SI.Second.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="s")\r
+\r
+SI.CentiSecond <T SI.Unit\r
+SI.CentiSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cs")\r
+SI.CentiSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cs")\r
+\r
+SI.MilliSecond <T SI.Unit\r
+SI.MilliSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="ms")\r
+SI.MilliSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="ms")\r
+\r
+SI.MicroSecond <T SI.Unit\r
+SI.MicroSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="us")\r
+SI.MicroSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="us")\r
+\r
+SI.TeraAmpere <T SI.Unit\r
+SI.TeraAmpere.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TA")\r
+SI.TeraAmpere.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TA")\r
+\r
+SI.GigaAmpere <T SI.Unit\r
+SI.GigaAmpere.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GA")\r
+SI.GigaAmpere.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GA")\r
+\r
+SI.MegaAmpere <T SI.Unit\r
+SI.MegaAmpere.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MA")\r
+SI.MegaAmpere.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MA")\r
+\r
+SI.KiloAmpere <T SI.Unit\r
+SI.KiloAmpere.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kA")\r
+SI.KiloAmpere.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kA")\r
+\r
+SI.HectoAmpere <T SI.Unit\r
+SI.HectoAmpere.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hA")\r
+SI.HectoAmpere.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hA")\r
+\r
+SI.Ampere <T SI.Unit\r
+SI.Ampere.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="A")\r
+SI.Ampere.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="A")\r
+\r
+SI.CentiAmpere <T SI.Unit\r
+SI.CentiAmpere.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cA")\r
+SI.CentiAmpere.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cA")\r
+\r
+SI.MilliAmpere <T SI.Unit\r
+SI.MilliAmpere.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mA")\r
+SI.MilliAmpere.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mA")\r
+\r
+SI.MicroAmpere <T SI.Unit\r
+SI.MicroAmpere.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uA")\r
+SI.MicroAmpere.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uA")\r
+\r
+SI.TeraKelvin <T SI.Unit\r
+SI.TeraKelvin.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TK")\r
+SI.TeraKelvin.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TK")\r
+\r
+SI.GigaKelvin <T SI.Unit\r
+SI.GigaKelvin.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GK")\r
+SI.GigaKelvin.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GK")\r
+\r
+SI.MegaKelvin <T SI.Unit\r
+SI.MegaKelvin.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MK")\r
+SI.MegaKelvin.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MK")\r
+\r
+SI.KiloKelvin <T SI.Unit\r
+SI.KiloKelvin.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kK")\r
+SI.KiloKelvin.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kK")\r
+\r
+SI.HectoKelvin <T SI.Unit\r
+SI.HectoKelvin.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hK")\r
+SI.HectoKelvin.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hK")\r
+\r
+SI.Kelvin <T SI.Unit\r
+SI.Kelvin.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="K")\r
+SI.Kelvin.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="K")\r
+\r
+SI.CentiKelvin <T SI.Unit\r
+SI.CentiKelvin.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cK")\r
+SI.CentiKelvin.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cK")\r
+\r
+SI.MilliKelvin <T SI.Unit\r
+SI.MilliKelvin.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mK")\r
+SI.MilliKelvin.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mK")\r
+\r
+SI.MicroKelvin <T SI.Unit\r
+SI.MicroKelvin.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uK")\r
+SI.MicroKelvin.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uK")\r
+\r
+SI.TeraCandela <T SI.Unit\r
+SI.TeraCandela.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Tcd")\r
+SI.TeraCandela.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Tcd")\r
+\r
+SI.GigaCandela <T SI.Unit\r
+SI.GigaCandela.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Gcd")\r
+SI.GigaCandela.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Gcd")\r
+\r
+SI.MegaCandela <T SI.Unit\r
+SI.MegaCandela.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mcd")\r
+SI.MegaCandela.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mcd")\r
+\r
+SI.KiloCandela <T SI.Unit\r
+SI.KiloCandela.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kcd")\r
+SI.KiloCandela.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kcd")\r
+\r
+SI.HectoCandela <T SI.Unit\r
+SI.HectoCandela.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hcd")\r
+SI.HectoCandela.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hcd")\r
+\r
+SI.Candela <T SI.Unit\r
+SI.Candela.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cd")\r
+SI.Candela.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cd")\r
+\r
+SI.CentiCandela <T SI.Unit\r
+SI.CentiCandela.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="ccd")\r
+SI.CentiCandela.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="ccd")\r
+\r
+SI.MilliCandela <T SI.Unit\r
+SI.MilliCandela.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mcd")\r
+SI.MilliCandela.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mcd")\r
+\r
+SI.MicroCandela <T SI.Unit\r
+SI.MicroCandela.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="ucd")\r
+SI.MicroCandela.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="ucd")\r
+\r
+SI.TeraMole <T SI.Unit\r
+SI.TeraMole.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Tmol")\r
+SI.TeraMole.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Tmol")\r
+\r
+SI.GigaMole <T SI.Unit\r
+SI.GigaMole.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Gmol")\r
+SI.GigaMole.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Gmol")\r
+\r
+SI.MegaMole <T SI.Unit\r
+SI.MegaMole.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mmol")\r
+SI.MegaMole.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mmol")\r
+\r
+SI.KiloMole <T SI.Unit\r
+SI.KiloMole.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kmol")\r
+SI.KiloMole.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kmol")\r
+\r
+SI.HectoMole <T SI.Unit\r
+SI.HectoMole.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hmol")\r
+SI.HectoMole.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hmol")\r
+\r
+SI.Mole <T SI.Unit\r
+SI.Mole.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mol")\r
+SI.Mole.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mol")\r
+\r
+SI.CentiMole <T SI.Unit\r
+SI.CentiMole.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cmol")\r
+SI.CentiMole.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cmol")\r
+\r
+SI.MilliMole <T SI.Unit\r
+SI.MilliMole.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mmol")\r
+SI.MilliMole.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mmol")\r
+\r
+SI.MicroMole <T SI.Unit\r
+SI.MicroMole.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="umol")\r
+SI.MicroMole.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="umol")\r
+\r
+// SI derived units\r
+\r
+SI.TeraHertz <T SI.Unit\r
+SI.TeraHertz.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Thz")\r
+SI.TeraHertz.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Thz")\r
+\r
+SI.GigaHertz <T SI.Unit\r
+SI.GigaHertz.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Ghz")\r
+SI.GigaHertz.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Ghz")\r
+\r
+SI.MegaHertz <T SI.Unit\r
+SI.MegaHertz.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mhz")\r
+SI.MegaHertz.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mhz")\r
+\r
+SI.KiloHertz <T SI.Unit\r
+SI.KiloHertz.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="khz")\r
+SI.KiloHertz.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="khz")\r
+\r
+SI.HectoHertz <T SI.Unit\r
+SI.HectoHertz.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hhz")\r
+SI.HectoHertz.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hhz")\r
+\r
+SI.Hertz <T SI.Unit\r
+SI.Hertz.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hz")\r
+SI.Hertz.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hz")\r
+\r
+SI.CentiHertz <T SI.Unit\r
+SI.CentiHertz.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="chz")\r
+SI.CentiHertz.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="chz")\r
+\r
+SI.MilliHertz <T SI.Unit\r
+SI.MilliHertz.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mhz")\r
+SI.MilliHertz.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mhz")\r
+\r
+SI.MicroHertz <T SI.Unit\r
+SI.MicroHertz.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uhz")\r
+SI.MicroHertz.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uhz")\r
+\r
+SI.TeraRadian <T SI.Unit\r
+SI.TeraRadian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Trad")\r
+SI.TeraRadian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Trad")\r
+\r
+SI.GigaRadian <T SI.Unit\r
+SI.GigaRadian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Grad")\r
+SI.GigaRadian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Grad")\r
+\r
+SI.MegaRadian <T SI.Unit\r
+SI.MegaRadian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mrad")\r
+SI.MegaRadian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mrad")\r
+\r
+SI.KiloRadian <T SI.Unit\r
+SI.KiloRadian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="krad")\r
+SI.KiloRadian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="krad")\r
+\r
+SI.HectoRadian <T SI.Unit\r
+SI.HectoRadian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hrad")\r
+SI.HectoRadian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hrad")\r
+\r
+SI.Radian <T SI.Unit\r
+SI.Radian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="rad")\r
+SI.Radian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="rad")\r
+\r
+SI.CentiRadian <T SI.Unit\r
+SI.CentiRadian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="crad")\r
+SI.CentiRadian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="crad")\r
+\r
+SI.MilliRadian <T SI.Unit\r
+SI.MilliRadian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mrad")\r
+SI.MilliRadian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mrad")\r
+\r
+SI.MicroRadian <T SI.Unit\r
+SI.MicroRadian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="urad")\r
+SI.MicroRadian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="urad")\r
+\r
+SI.TeraSteradian <T SI.Unit\r
+SI.TeraSteradian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Tsr")\r
+SI.TeraSteradian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Tsr")\r
+\r
+SI.GigaSteradian <T SI.Unit\r
+SI.GigaSteradian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Gsr")\r
+SI.GigaSteradian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Gsr")\r
+\r
+SI.MegaSteradian <T SI.Unit\r
+SI.MegaSteradian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Msr")\r
+SI.MegaSteradian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Msr")\r
+\r
+SI.KiloSteradian <T SI.Unit\r
+SI.KiloSteradian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="ksr")\r
+SI.KiloSteradian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="ksr")\r
+\r
+SI.HectoSteradian <T SI.Unit\r
+SI.HectoSteradian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hsr")\r
+SI.HectoSteradian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hsr")\r
+\r
+SI.Steradian <T SI.Unit\r
+SI.Steradian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="sr")\r
+SI.Steradian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="sr")\r
+\r
+SI.CentiSteradian <T SI.Unit\r
+SI.CentiSteradian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="csr")\r
+SI.CentiSteradian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="csr")\r
+\r
+SI.MilliSteradian <T SI.Unit\r
+SI.MilliSteradian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="msr")\r
+SI.MilliSteradian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="msr")\r
+\r
+SI.MicroSteradian <T SI.Unit\r
+SI.MicroSteradian.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="usr")\r
+SI.MicroSteradian.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="usr")\r
+\r
+SI.TeraNewton <T SI.Unit\r
+SI.TeraNewton.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TN")\r
+SI.TeraNewton.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TN")\r
+\r
+SI.GigaNewton <T SI.Unit\r
+SI.GigaNewton.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GN")\r
+SI.GigaNewton.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GN")\r
+\r
+SI.MegaNewton <T SI.Unit\r
+SI.MegaNewton.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MN")\r
+SI.MegaNewton.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MN")\r
+\r
+SI.KiloNewton <T SI.Unit\r
+SI.KiloNewton.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kN")\r
+SI.KiloNewton.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kN")\r
+\r
+SI.HectoNewton <T SI.Unit\r
+SI.HectoNewton.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hN")\r
+SI.HectoNewton.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hN")\r
+\r
+SI.Newton <T SI.Unit\r
+SI.Newton.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="N")\r
+SI.Newton.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="N")\r
+\r
+SI.CentiNewton <T SI.Unit\r
+SI.CentiNewton.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cN")\r
+SI.CentiNewton.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cN")\r
+\r
+SI.MilliNewton <T SI.Unit\r
+SI.MilliNewton.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mN")\r
+SI.MilliNewton.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mN")\r
+\r
+SI.MicroNewton <T SI.Unit\r
+SI.MicroNewton.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uN")\r
+SI.MicroNewton.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uN")\r
+\r
+SI.TeraPascal <T SI.Unit\r
+SI.TeraPascal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TPa")\r
+SI.TeraPascal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TPa")\r
+\r
+SI.GigaPascal <T SI.Unit\r
+SI.GigaPascal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GPa")\r
+SI.GigaPascal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GPa")\r
+\r
+SI.MegaPascal <T SI.Unit\r
+SI.MegaPascal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MPa")\r
+SI.MegaPascal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MPa")\r
+\r
+SI.KiloPascal <T SI.Unit\r
+SI.KiloPascal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kPa")\r
+SI.KiloPascal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kPa")\r
+\r
+SI.HectoPascal <T SI.Unit\r
+SI.HectoPascal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hPa")\r
+SI.HectoPascal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hPa")\r
+\r
+SI.Pascal <T SI.Unit\r
+SI.Pascal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Pa")\r
+SI.Pascal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Pa")\r
+\r
+SI.CentiPascal <T SI.Unit\r
+SI.CentiPascal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cPa")\r
+SI.CentiPascal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cPa")\r
+\r
+SI.MilliPascal <T SI.Unit\r
+SI.MilliPascal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mPa")\r
+SI.MilliPascal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mPa")\r
+\r
+SI.MicroPascal <T SI.Unit\r
+SI.MicroPascal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uPa")\r
+SI.MicroPascal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uPa")\r
+\r
+SI.TeraJoule <T SI.Unit\r
+SI.TeraJoule.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TJ")\r
+SI.TeraJoule.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TJ")\r
+\r
+SI.GigaJoule <T SI.Unit\r
+SI.GigaJoule.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GJ")\r
+SI.GigaJoule.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GJ")\r
+\r
+SI.MegaJoule <T SI.Unit\r
+SI.MegaJoule.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MJ")\r
+SI.MegaJoule.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MJ")\r
+\r
+SI.KiloJoule <T SI.Unit\r
+SI.KiloJoule.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kJ")\r
+SI.KiloJoule.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kJ")\r
+\r
+SI.HectoJoule <T SI.Unit\r
+SI.HectoJoule.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hJ")\r
+SI.HectoJoule.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hJ")\r
+\r
+SI.Joule <T SI.Unit\r
+SI.Joule.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="J")\r
+SI.Joule.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="J")\r
+\r
+SI.CentiJoule <T SI.Unit\r
+SI.CentiJoule.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cJ")\r
+SI.CentiJoule.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cJ")\r
+\r
+SI.MilliJoule <T SI.Unit\r
+SI.MilliJoule.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mJ")\r
+SI.MilliJoule.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mJ")\r
+\r
+SI.MicroJoule <T SI.Unit\r
+SI.MicroJoule.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uJ")\r
+SI.MicroJoule.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uJ")\r
+\r
+SI.TeraWatt <T SI.Unit\r
+SI.TeraWatt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TW")\r
+SI.TeraWatt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TW")\r
+\r
+SI.GigaWatt <T SI.Unit\r
+SI.GigaWatt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GW")\r
+SI.GigaWatt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GW")\r
+\r
+SI.MegaWatt <T SI.Unit\r
+SI.MegaWatt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MW")\r
+SI.MegaWatt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MW")\r
+\r
+SI.KiloWatt <T SI.Unit\r
+SI.KiloWatt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kW")\r
+SI.KiloWatt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kW")\r
+\r
+SI.HectoWatt <T SI.Unit\r
+SI.HectoWatt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hW")\r
+SI.HectoWatt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hW")\r
+\r
+SI.Watt <T SI.Unit\r
+SI.Watt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="W")\r
+SI.Watt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="W")\r
+\r
+SI.CentiWatt <T SI.Unit\r
+SI.CentiWatt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cW")\r
+SI.CentiWatt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cW")\r
+\r
+SI.MilliWatt <T SI.Unit\r
+SI.MilliWatt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mW")\r
+SI.MilliWatt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mW")\r
+\r
+SI.MicroWatt <T SI.Unit\r
+SI.MicroWatt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uW")\r
+SI.MicroWatt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uW")\r
+\r
+SI.TeraCoulomb <T SI.Unit\r
+SI.TeraCoulomb.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TC")\r
+SI.TeraCoulomb.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TC")\r
+\r
+SI.GigaCoulomb <T SI.Unit\r
+SI.GigaCoulomb.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GC")\r
+SI.GigaCoulomb.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GC")\r
+\r
+SI.MegaCoulomb <T SI.Unit\r
+SI.MegaCoulomb.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MC")\r
+SI.MegaCoulomb.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MC")\r
+\r
+SI.KiloCoulomb <T SI.Unit\r
+SI.KiloCoulomb.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kC")\r
+SI.KiloCoulomb.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kC")\r
+\r
+SI.HectoCoulomb <T SI.Unit\r
+SI.HectoCoulomb.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hC")\r
+SI.HectoCoulomb.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hC")\r
+\r
+SI.Coulomb <T SI.Unit\r
+SI.Coulomb.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="C")\r
+SI.Coulomb.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="C")\r
+\r
+SI.CentiCoulomb <T SI.Unit\r
+SI.CentiCoulomb.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cC")\r
+SI.CentiCoulomb.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cC")\r
+\r
+SI.MilliCoulomb <T SI.Unit\r
+SI.MilliCoulomb.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mC")\r
+SI.MilliCoulomb.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mC")\r
+\r
+SI.MicroCoulomb <T SI.Unit\r
+SI.MicroCoulomb.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uC")\r
+SI.MicroCoulomb.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uC")\r
+\r
+SI.TeraVolt <T SI.Unit\r
+SI.TeraVolt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TV")\r
+SI.TeraVolt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TV")\r
+\r
+SI.GigaVolt <T SI.Unit\r
+SI.GigaVolt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GV")\r
+SI.GigaVolt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GV")\r
+\r
+SI.MegaVolt <T SI.Unit\r
+SI.MegaVolt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MV")\r
+SI.MegaVolt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MV")\r
+\r
+SI.KiloVolt <T SI.Unit\r
+SI.KiloVolt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kV")\r
+SI.KiloVolt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kV")\r
+\r
+SI.HectoVolt <T SI.Unit\r
+SI.HectoVolt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hV")\r
+SI.HectoVolt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hV")\r
+\r
+SI.Volt <T SI.Unit\r
+SI.Volt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="V")\r
+SI.Volt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="V")\r
+\r
+SI.CentiVolt <T SI.Unit\r
+SI.CentiVolt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cV")\r
+SI.CentiVolt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cV")\r
+\r
+SI.MilliVolt <T SI.Unit\r
+SI.MilliVolt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mV")\r
+SI.MilliVolt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mV")\r
+\r
+SI.MicroVolt <T SI.Unit\r
+SI.MicroVolt.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uV")\r
+SI.MicroVolt.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uV")\r
+\r
+SI.TeraFarad <T SI.Unit\r
+SI.TeraFarad.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TF")\r
+SI.TeraFarad.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TF")\r
+\r
+SI.GigaFarad <T SI.Unit\r
+SI.GigaFarad.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GF")\r
+SI.GigaFarad.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GF")\r
+\r
+SI.MegaFarad <T SI.Unit\r
+SI.MegaFarad.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MF")\r
+SI.MegaFarad.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MF")\r
+\r
+SI.KiloFarad <T SI.Unit\r
+SI.KiloFarad.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kF")\r
+SI.KiloFarad.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kF")\r
+\r
+SI.HectoFarad <T SI.Unit\r
+SI.HectoFarad.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hF")\r
+SI.HectoFarad.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hF")\r
+\r
+SI.Farad <T SI.Unit\r
+SI.Farad.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="F")\r
+SI.Farad.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="F")\r
+\r
+SI.CentiFarad <T SI.Unit\r
+SI.CentiFarad.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cF")\r
+SI.CentiFarad.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cF")\r
+\r
+SI.MilliFarad <T SI.Unit\r
+SI.MilliFarad.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mF")\r
+SI.MilliFarad.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mF")\r
+\r
+SI.MicroFarad <T SI.Unit\r
+SI.MicroFarad.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uF")\r
+SI.MicroFarad.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uF")\r
+\r
+SI.TeraOhm <T SI.Unit\r
+SI.TeraOhm.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Tohm")\r
+SI.TeraOhm.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Tohm")\r
+\r
+SI.GigaOhm <T SI.Unit\r
+SI.GigaOhm.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Gohm")\r
+SI.GigaOhm.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Gohm")\r
+\r
+SI.MegaOhm <T SI.Unit\r
+SI.MegaOhm.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mohm")\r
+SI.MegaOhm.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mohm")\r
+\r
+SI.KiloOhm <T SI.Unit\r
+SI.KiloOhm.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kohm")\r
+SI.KiloOhm.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kohm")\r
+\r
+SI.HectoOhm <T SI.Unit\r
+SI.HectoOhm.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hohm")\r
+SI.HectoOhm.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hohm")\r
+\r
+SI.Ohm <T SI.Unit\r
+SI.Ohm.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="ohm")\r
+SI.Ohm.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="ohm")\r
+\r
+SI.CentiOhm <T SI.Unit\r
+SI.CentiOhm.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cohm")\r
+SI.CentiOhm.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cohm")\r
+\r
+SI.MilliOhm <T SI.Unit\r
+SI.MilliOhm.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mohm")\r
+SI.MilliOhm.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mohm")\r
+\r
+SI.MicroOhm <T SI.Unit\r
+SI.MicroOhm.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uohm")\r
+SI.MicroOhm.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uohm")\r
+\r
+SI.TeraSiemens <T SI.Unit\r
+SI.TeraSiemens.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TS")\r
+SI.TeraSiemens.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TS")\r
+\r
+SI.GigaSiemens <T SI.Unit\r
+SI.GigaSiemens.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GS")\r
+SI.GigaSiemens.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GS")\r
+\r
+SI.MegaSiemens <T SI.Unit\r
+SI.MegaSiemens.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MS")\r
+SI.MegaSiemens.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MS")\r
+\r
+SI.KiloSiemens <T SI.Unit\r
+SI.KiloSiemens.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kS")\r
+SI.KiloSiemens.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kS")\r
+\r
+SI.HectoSiemens <T SI.Unit\r
+SI.HectoSiemens.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hS")\r
+SI.HectoSiemens.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hS")\r
+\r
+SI.Siemens <T SI.Unit\r
+SI.Siemens.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="S")\r
+SI.Siemens.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="S")\r
+\r
+SI.CentiSiemens <T SI.Unit\r
+SI.CentiSiemens.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cS")\r
+SI.CentiSiemens.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cS")\r
+\r
+SI.MilliSiemens <T SI.Unit\r
+SI.MilliSiemens.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mS")\r
+SI.MilliSiemens.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mS")\r
+\r
+SI.MicroSiemens <T SI.Unit\r
+SI.MicroSiemens.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uS")\r
+SI.MicroSiemens.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uS")\r
+\r
+SI.TeraWeber <T SI.Unit\r
+SI.TeraWeber.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TWb")\r
+SI.TeraWeber.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TWb")\r
+\r
+SI.GigaWeber <T SI.Unit\r
+SI.GigaWeber.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GWb")\r
+SI.GigaWeber.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GWb")\r
+\r
+SI.MegaWeber <T SI.Unit\r
+SI.MegaWeber.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MWb")\r
+SI.MegaWeber.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MWb")\r
+\r
+SI.KiloWeber <T SI.Unit\r
+SI.KiloWeber.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kWb")\r
+SI.KiloWeber.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kWb")\r
+\r
+SI.HectoWeber <T SI.Unit\r
+SI.HectoWeber.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hWb")\r
+SI.HectoWeber.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hWb")\r
+\r
+SI.Weber <T SI.Unit\r
+SI.Weber.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Wb")\r
+SI.Weber.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Wb")\r
+\r
+SI.CentiWeber <T SI.Unit\r
+SI.CentiWeber.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cWb")\r
+SI.CentiWeber.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cWb")\r
+\r
+SI.MilliWeber <T SI.Unit\r
+SI.MilliWeber.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mWb")\r
+SI.MilliWeber.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mWb")\r
+\r
+SI.MicroWeber <T SI.Unit\r
+SI.MicroWeber.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uWb")\r
+SI.MicroWeber.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uWb")\r
+\r
+SI.TeraTesla <T SI.Unit\r
+SI.TeraTesla.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TT")\r
+SI.TeraTesla.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TT")\r
+\r
+SI.GigaTesla <T SI.Unit\r
+SI.GigaTesla.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GT")\r
+SI.GigaTesla.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GT")\r
+\r
+SI.MegaTesla <T SI.Unit\r
+SI.MegaTesla.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MT")\r
+SI.MegaTesla.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MT")\r
+\r
+SI.KiloTesla <T SI.Unit\r
+SI.KiloTesla.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kT")\r
+SI.KiloTesla.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kT")\r
+\r
+SI.HectoTesla <T SI.Unit\r
+SI.HectoTesla.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hT")\r
+SI.HectoTesla.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hT")\r
+\r
+SI.Tesla <T SI.Unit\r
+SI.Tesla.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="T")\r
+SI.Tesla.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="T")\r
+\r
+SI.CentiTesla <T SI.Unit\r
+SI.CentiTesla.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cT")\r
+SI.CentiTesla.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cT")\r
+\r
+SI.MilliTesla <T SI.Unit\r
+SI.MilliTesla.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mT")\r
+SI.MilliTesla.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mT")\r
+\r
+SI.MicroTesla <T SI.Unit\r
+SI.MicroTesla.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uT")\r
+SI.MicroTesla.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uT")\r
+\r
+SI.TeraHenry <T SI.Unit\r
+SI.TeraHenry.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TH")\r
+SI.TeraHenry.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TH")\r
+\r
+SI.GigaHenry <T SI.Unit\r
+SI.GigaHenry.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GH")\r
+SI.GigaHenry.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GH")\r
+\r
+SI.MegaHenry <T SI.Unit\r
+SI.MegaHenry.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MH")\r
+SI.MegaHenry.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MH")\r
+\r
+SI.KiloHenry <T SI.Unit\r
+SI.KiloHenry.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kH")\r
+SI.KiloHenry.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kH")\r
+\r
+SI.HectoHenry <T SI.Unit\r
+SI.HectoHenry.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hH")\r
+SI.HectoHenry.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hH")\r
+\r
+SI.Henry <T SI.Unit\r
+SI.Henry.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="H")\r
+SI.Henry.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="H")\r
+\r
+SI.CentiHenry <T SI.Unit\r
+SI.CentiHenry.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cH")\r
+SI.CentiHenry.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cH")\r
+\r
+SI.MilliHenry <T SI.Unit\r
+SI.MilliHenry.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mH")\r
+SI.MilliHenry.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mH")\r
+\r
+SI.MicroHenry <T SI.Unit\r
+SI.MicroHenry.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uH")\r
+SI.MicroHenry.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uH")\r
+\r
+SI.TeraCelsius <T SI.Unit\r
+SI.TeraCelsius.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TC")\r
+SI.TeraCelsius.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TC")\r
+\r
+SI.GigaCelsius <T SI.Unit\r
+SI.GigaCelsius.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GC")\r
+SI.GigaCelsius.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GC")\r
+\r
+SI.MegaCelsius <T SI.Unit\r
+SI.MegaCelsius.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MC")\r
+SI.MegaCelsius.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MC")\r
+\r
+SI.KiloCelsius <T SI.Unit\r
+SI.KiloCelsius.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kC")\r
+SI.KiloCelsius.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kC")\r
+\r
+SI.HectoCelsius <T SI.Unit\r
+SI.HectoCelsius.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hC")\r
+SI.HectoCelsius.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hC")\r
+\r
+SI.Celsius <T SI.Unit\r
+SI.Celsius.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="C")\r
+SI.Celsius.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="C")\r
+\r
+SI.CentiCelsius <T SI.Unit\r
+SI.CentiCelsius.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cC")\r
+SI.CentiCelsius.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cC")\r
+\r
+SI.MilliCelsius <T SI.Unit\r
+SI.MilliCelsius.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mC")\r
+SI.MilliCelsius.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mC")\r
+\r
+SI.MicroCelsius <T SI.Unit\r
+SI.MicroCelsius.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uC")\r
+SI.MicroCelsius.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uC")\r
+\r
+SI.TeraLumen <T SI.Unit\r
+SI.TeraLumen.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Tlm")\r
+SI.TeraLumen.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Tlm")\r
+\r
+SI.GigaLumen <T SI.Unit\r
+SI.GigaLumen.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Glm")\r
+SI.GigaLumen.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Glm")\r
+\r
+SI.MegaLumen <T SI.Unit\r
+SI.MegaLumen.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mlm")\r
+SI.MegaLumen.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mlm")\r
+\r
+SI.KiloLumen <T SI.Unit\r
+SI.KiloLumen.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="klm")\r
+SI.KiloLumen.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="klm")\r
+\r
+SI.HectoLumen <T SI.Unit\r
+SI.HectoLumen.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hlm")\r
+SI.HectoLumen.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hlm")\r
+\r
+SI.Lumen <T SI.Unit\r
+SI.Lumen.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="lm")\r
+SI.Lumen.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="lm")\r
+\r
+SI.CentiLumen <T SI.Unit\r
+SI.CentiLumen.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="clm")\r
+SI.CentiLumen.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="clm")\r
+\r
+SI.MilliLumen <T SI.Unit\r
+SI.MilliLumen.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mlm")\r
+SI.MilliLumen.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mlm")\r
+\r
+SI.MicroLumen <T SI.Unit\r
+SI.MicroLumen.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="ulm")\r
+SI.MicroLumen.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="ulm")\r
+\r
+SI.TeraLux <T SI.Unit\r
+SI.TeraLux.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Tlx")\r
+SI.TeraLux.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Tlx")\r
+\r
+SI.GigaLux <T SI.Unit\r
+SI.GigaLux.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Glx")\r
+SI.GigaLux.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Glx")\r
+\r
+SI.MegaLux <T SI.Unit\r
+SI.MegaLux.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mlx")\r
+SI.MegaLux.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mlx")\r
+\r
+SI.KiloLux <T SI.Unit\r
+SI.KiloLux.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="klx")\r
+SI.KiloLux.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="klx")\r
+\r
+SI.HectoLux <T SI.Unit\r
+SI.HectoLux.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hlx")\r
+SI.HectoLux.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hlx")\r
+\r
+SI.Lux <T SI.Unit\r
+SI.Lux.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="lx")\r
+SI.Lux.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="lx")\r
+\r
+SI.CentiLux <T SI.Unit\r
+SI.CentiLux.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="clx")\r
+SI.CentiLux.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="clx")\r
+\r
+SI.MilliLux <T SI.Unit\r
+SI.MilliLux.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mlx")\r
+SI.MilliLux.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mlx")\r
+\r
+SI.MicroLux <T SI.Unit\r
+SI.MicroLux.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="ulx")\r
+SI.MicroLux.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="ulx")\r
+\r
+SI.TeraBecquerel <T SI.Unit\r
+SI.TeraBecquerel.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TBq")\r
+SI.TeraBecquerel.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TBq")\r
+\r
+SI.GigaBecquerel <T SI.Unit\r
+SI.GigaBecquerel.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GBq")\r
+SI.GigaBecquerel.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GBq")\r
+\r
+SI.MegaBecquerel <T SI.Unit\r
+SI.MegaBecquerel.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MBq")\r
+SI.MegaBecquerel.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MBq")\r
+\r
+SI.KiloBecquerel <T SI.Unit\r
+SI.KiloBecquerel.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kBq")\r
+SI.KiloBecquerel.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kBq")\r
+\r
+SI.HectoBecquerel <T SI.Unit\r
+SI.HectoBecquerel.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hBq")\r
+SI.HectoBecquerel.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hBq")\r
+\r
+SI.Becquerel <T SI.Unit\r
+SI.Becquerel.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Bq")\r
+SI.Becquerel.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Bq")\r
+\r
+SI.CentiBecquerel <T SI.Unit\r
+SI.CentiBecquerel.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cBq")\r
+SI.CentiBecquerel.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cBq")\r
+\r
+SI.MilliBecquerel <T SI.Unit\r
+SI.MilliBecquerel.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mBq")\r
+SI.MilliBecquerel.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mBq")\r
+\r
+SI.MicroBecquerel <T SI.Unit\r
+SI.MicroBecquerel.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uBq")\r
+SI.MicroBecquerel.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uBq")\r
+\r
+SI.TeraGray <T SI.Unit\r
+SI.TeraGray.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TGy")\r
+SI.TeraGray.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TGy")\r
+\r
+SI.GigaGray <T SI.Unit\r
+SI.GigaGray.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GGy")\r
+SI.GigaGray.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GGy")\r
+\r
+SI.MegaGray <T SI.Unit\r
+SI.MegaGray.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MGy")\r
+SI.MegaGray.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MGy")\r
+\r
+SI.KiloGray <T SI.Unit\r
+SI.KiloGray.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kGy")\r
+SI.KiloGray.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kGy")\r
+\r
+SI.HectoGray <T SI.Unit\r
+SI.HectoGray.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hGy")\r
+SI.HectoGray.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hGy")\r
+\r
+SI.Gray <T SI.Unit\r
+SI.Gray.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Gy")\r
+SI.Gray.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Gy")\r
+\r
+SI.CentiGray <T SI.Unit\r
+SI.CentiGray.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cGy")\r
+SI.CentiGray.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cGy")\r
+\r
+SI.MilliGray <T SI.Unit\r
+SI.MilliGray.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mGy")\r
+SI.MilliGray.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mGy")\r
+\r
+SI.MicroGray <T SI.Unit\r
+SI.MicroGray.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uGy")\r
+SI.MicroGray.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uGy")\r
+\r
+SI.TeraSievert <T SI.Unit\r
+SI.TeraSievert.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TSv")\r
+SI.TeraSievert.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TSv")\r
+\r
+SI.GigaSievert <T SI.Unit\r
+SI.GigaSievert.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GSv")\r
+SI.GigaSievert.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GSv")\r
+\r
+SI.MegaSievert <T SI.Unit\r
+SI.MegaSievert.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MSv")\r
+SI.MegaSievert.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MSv")\r
+\r
+SI.KiloSievert <T SI.Unit\r
+SI.KiloSievert.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kSv")\r
+SI.KiloSievert.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kSv")\r
+\r
+SI.HectoSievert <T SI.Unit\r
+SI.HectoSievert.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hSv")\r
+SI.HectoSievert.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hSv")\r
+\r
+SI.Sievert <T SI.Unit\r
+SI.Sievert.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Sv")\r
+SI.Sievert.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Sv")\r
+\r
+SI.CentiSievert <T SI.Unit\r
+SI.CentiSievert.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cSv")\r
+SI.CentiSievert.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cSv")\r
+\r
+SI.MilliSievert <T SI.Unit\r
+SI.MilliSievert.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mSv")\r
+SI.MilliSievert.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mSv")\r
+\r
+SI.MicroSievert <T SI.Unit\r
+SI.MicroSievert.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uSv")\r
+SI.MicroSievert.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uSv")\r
+\r
+SI.TeraKatal <T SI.Unit\r
+SI.TeraKatal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Tkat")\r
+SI.TeraKatal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Tkat")\r
+\r
+SI.GigaKatal <T SI.Unit\r
+SI.GigaKatal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Gkat")\r
+SI.GigaKatal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Gkat")\r
+\r
+SI.MegaKatal <T SI.Unit\r
+SI.MegaKatal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mkat")\r
+SI.MegaKatal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mkat")\r
+\r
+SI.KiloKatal <T SI.Unit\r
+SI.KiloKatal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kkat")\r
+SI.KiloKatal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kkat")\r
+\r
+SI.HectoKatal <T SI.Unit\r
+SI.HectoKatal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hkat")\r
+SI.HectoKatal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hkat")\r
+\r
+SI.Katal <T SI.Unit\r
+SI.Katal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kat")\r
+SI.Katal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kat")\r
+\r
+SI.CentiKatal <T SI.Unit\r
+SI.CentiKatal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="ckat")\r
+SI.CentiKatal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="ckat")\r
+\r
+SI.MilliKatal <T SI.Unit\r
+SI.MilliKatal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mkat")\r
+SI.MilliKatal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mkat")\r
+\r
+SI.MicroKatal <T SI.Unit\r
+SI.MicroKatal.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="ukat")\r
+SI.MicroKatal.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="ukat")\r
+\r
+// SI scalable compound units\r
+\r
+SI.TeragramPerSecond <T SI.Unit\r
+SI.TeragramPerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Tg/s")\r
+SI.TeragramPerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Tg/s")\r
+\r
+SI.GigagramPerSecond <T SI.Unit\r
+SI.GigagramPerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Gg/s")\r
+SI.GigagramPerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Gg/s")\r
+\r
+SI.MegagramPerSecond <T SI.Unit\r
+SI.MegagramPerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mg/s")\r
+SI.MegagramPerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mg/s")\r
+\r
+SI.KilogramPerSecond <T SI.Unit\r
+SI.KilogramPerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kg/s")\r
+SI.KilogramPerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kg/s")\r
+\r
+SI.HectogramPerSecond <T SI.Unit\r
+SI.HectogramPerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hg/s")\r
+SI.HectogramPerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hg/s")\r
+\r
+SI.gramPerSecond <T SI.Unit\r
+SI.gramPerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="g/s")\r
+SI.gramPerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="g/s")\r
+\r
+SI.CentigramPerSecond <T SI.Unit\r
+SI.CentigramPerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cg/s")\r
+SI.CentigramPerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cg/s")\r
+\r
+SI.MilligramPerSecond <T SI.Unit\r
+SI.MilligramPerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mg/s")\r
+SI.MilligramPerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mg/s")\r
+\r
+SI.MicrogramPerSecond <T SI.Unit\r
+SI.MicrogramPerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="ug/s")\r
+SI.MicrogramPerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="ug/s")\r
+\r
+SI.TeragramPerLitre <T SI.Unit\r
+SI.TeragramPerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Tg/l")\r
+SI.TeragramPerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Tg/l")\r
+\r
+SI.GigagramPerLitre <T SI.Unit\r
+SI.GigagramPerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Gg/l")\r
+SI.GigagramPerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Gg/l")\r
+\r
+SI.MegagramPerLitre <T SI.Unit\r
+SI.MegagramPerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mg/l")\r
+SI.MegagramPerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mg/l")\r
+\r
+SI.KilogramPerLitre <T SI.Unit\r
+SI.KilogramPerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kg/l")\r
+SI.KilogramPerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kg/l")\r
+\r
+SI.HectogramPerLitre <T SI.Unit\r
+SI.HectogramPerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hg/l")\r
+SI.HectogramPerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hg/l")\r
+\r
+SI.gramPerLitre <T SI.Unit\r
+SI.gramPerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="g/l")\r
+SI.gramPerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="g/l")\r
+\r
+SI.CentigramPerLitre <T SI.Unit\r
+SI.CentigramPerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cg/l")\r
+SI.CentigramPerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cg/l")\r
+\r
+SI.MilligramPerLitre <T SI.Unit\r
+SI.MilligramPerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mg/l")\r
+SI.MilligramPerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mg/l")\r
+\r
+SI.MicrogramPerLitre <T SI.Unit\r
+SI.MicrogramPerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="ug/l")\r
+SI.MicrogramPerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="ug/l")\r
+\r
+SI.TeragramPerCubicMetre <T SI.Unit\r
+SI.TeragramPerCubicMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Tg/m3")\r
+SI.TeragramPerCubicMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Tg/m3")\r
+\r
+SI.GigagramPerCubicMetre <T SI.Unit\r
+SI.GigagramPerCubicMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Gg/m3")\r
+SI.GigagramPerCubicMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Gg/m3")\r
+\r
+SI.MegagramPerCubicMetre <T SI.Unit\r
+SI.MegagramPerCubicMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mg/m3")\r
+SI.MegagramPerCubicMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mg/m3")\r
+\r
+SI.KilogramPerCubicMetre <T SI.Unit\r
+SI.KilogramPerCubicMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kg/m3")\r
+SI.KilogramPerCubicMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kg/m3")\r
+\r
+SI.HectogramPerCubicMetre <T SI.Unit\r
+SI.HectogramPerCubicMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hg/m3")\r
+SI.HectogramPerCubicMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hg/m3")\r
+\r
+SI.gramPerCubicMetre <T SI.Unit\r
+SI.gramPerCubicMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="g/m3")\r
+SI.gramPerCubicMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="g/m3")\r
+\r
+SI.CentigramPerCubicMetre <T SI.Unit\r
+SI.CentigramPerCubicMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cg/m3")\r
+SI.CentigramPerCubicMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cg/m3")\r
+\r
+SI.MilligramPerCubicMetre <T SI.Unit\r
+SI.MilligramPerCubicMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mg/m3")\r
+SI.MilligramPerCubicMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mg/m3")\r
+\r
+SI.MicrogramPerCubicMetre <T SI.Unit\r
+SI.MicrogramPerCubicMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="ug/m3")\r
+SI.MicrogramPerCubicMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="ug/m3")\r
+\r
+SI.TeraNewtonPerMetre <T SI.Unit\r
+SI.TeraNewtonPerMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TN/m")\r
+SI.TeraNewtonPerMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TN/m")\r
+\r
+SI.GigaNewtonPerMetre <T SI.Unit\r
+SI.GigaNewtonPerMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GN/m")\r
+SI.GigaNewtonPerMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GN/m")\r
+\r
+SI.MegaNewtonPerMetre <T SI.Unit\r
+SI.MegaNewtonPerMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MN/m")\r
+SI.MegaNewtonPerMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MN/m")\r
+\r
+SI.KiloNewtonPerMetre <T SI.Unit\r
+SI.KiloNewtonPerMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kN/m")\r
+SI.KiloNewtonPerMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kN/m")\r
+\r
+SI.HectoNewtonPerMetre <T SI.Unit\r
+SI.HectoNewtonPerMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hN/m")\r
+SI.HectoNewtonPerMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hN/m")\r
+\r
+SI.NewtonPerMetre <T SI.Unit\r
+SI.NewtonPerMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="N/m")\r
+SI.NewtonPerMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="N/m")\r
+\r
+SI.CentiNewtonPerMetre <T SI.Unit\r
+SI.CentiNewtonPerMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cN/m")\r
+SI.CentiNewtonPerMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cN/m")\r
+\r
+SI.MilliNewtonPerMetre <T SI.Unit\r
+SI.MilliNewtonPerMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mN/m")\r
+SI.MilliNewtonPerMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mN/m")\r
+\r
+SI.MicroNewtonPerMetre <T SI.Unit\r
+SI.MicroNewtonPerMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uN/m")\r
+SI.MicroNewtonPerMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uN/m")\r
+\r
+SI.TeraJoulePerKilogram <T SI.Unit\r
+SI.TeraJoulePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="TJ/kg")\r
+SI.TeraJoulePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="TJ/kg")\r
+\r
+SI.GigaJoulePerKilogram <T SI.Unit\r
+SI.GigaJoulePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="GJ/kg")\r
+SI.GigaJoulePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="GJ/kg")\r
+\r
+SI.MegaJoulePerKilogram <T SI.Unit\r
+SI.MegaJoulePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="MJ/kg")\r
+SI.MegaJoulePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="MJ/kg")\r
+\r
+SI.KiloJoulePerKilogram <T SI.Unit\r
+SI.KiloJoulePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kJ/kg")\r
+SI.KiloJoulePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kJ/kg")\r
+\r
+SI.HectoJoulePerKilogram <T SI.Unit\r
+SI.HectoJoulePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hJ/kg")\r
+SI.HectoJoulePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hJ/kg")\r
+\r
+SI.JoulePerKilogram <T SI.Unit\r
+SI.JoulePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="J/kg")\r
+SI.JoulePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="J/kg")\r
+\r
+SI.CentiJoulePerKilogram <T SI.Unit\r
+SI.CentiJoulePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cJ/kg")\r
+SI.CentiJoulePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cJ/kg")\r
+\r
+SI.MilliJoulePerKilogram <T SI.Unit\r
+SI.MilliJoulePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mJ/kg")\r
+SI.MilliJoulePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mJ/kg")\r
+\r
+SI.MicroJoulePerKilogram <T SI.Unit\r
+SI.MicroJoulePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="uJ/kg")\r
+SI.MicroJoulePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="uJ/kg")\r
+\r
+SI.TeraMetrePerSecond <T SI.Unit\r
+SI.TeraMetrePerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Tm/s")\r
+SI.TeraMetrePerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Tm/s")\r
+\r
+SI.GigaMetrePerSecond <T SI.Unit\r
+SI.GigaMetrePerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Gm/s")\r
+SI.GigaMetrePerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Gm/s")\r
+\r
+SI.MegaMetrePerSecond <T SI.Unit\r
+SI.MegaMetrePerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mm/s")\r
+SI.MegaMetrePerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mm/s")\r
+\r
+SI.KiloMetrePerSecond <T SI.Unit\r
+SI.KiloMetrePerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="km/s")\r
+SI.KiloMetrePerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="km/s")\r
+\r
+SI.HectoMetrePerSecond <T SI.Unit\r
+SI.HectoMetrePerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hm/s")\r
+SI.HectoMetrePerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hm/s")\r
+\r
+SI.MetrePerSecond <T SI.Unit\r
+SI.MetrePerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="m/s")\r
+SI.MetrePerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="m/s")\r
+\r
+SI.CentiMetrePerSecond <T SI.Unit\r
+SI.CentiMetrePerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cm/s")\r
+SI.CentiMetrePerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cm/s")\r
+\r
+SI.MilliMetrePerSecond <T SI.Unit\r
+SI.MilliMetrePerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mm/s")\r
+SI.MilliMetrePerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mm/s")\r
+\r
+SI.MicroMetrePerSecond <T SI.Unit\r
+SI.MicroMetrePerSecond.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="um/s")\r
+SI.MicroMetrePerSecond.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="um/s")\r
+\r
+SI.TeraMolePerLitre <T SI.Unit\r
+SI.TeraMolePerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Tmol/l")\r
+SI.TeraMolePerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Tmol/l")\r
+\r
+SI.GigaMolePerLitre <T SI.Unit\r
+SI.GigaMolePerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Gmol/l")\r
+SI.GigaMolePerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Gmol/l")\r
+\r
+SI.MegaMolePerLitre <T SI.Unit\r
+SI.MegaMolePerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mmol/l")\r
+SI.MegaMolePerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mmol/l")\r
+\r
+SI.KiloMolePerLitre <T SI.Unit\r
+SI.KiloMolePerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kmol/l")\r
+SI.KiloMolePerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kmol/l")\r
+\r
+SI.HectoMolePerLitre <T SI.Unit\r
+SI.HectoMolePerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hmol/l")\r
+SI.HectoMolePerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hmol/l")\r
+\r
+SI.MolePerLitre <T SI.Unit\r
+SI.MolePerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mol/l")\r
+SI.MolePerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mol/l")\r
+\r
+SI.CentiMolePerLitre <T SI.Unit\r
+SI.CentiMolePerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cmol/l")\r
+SI.CentiMolePerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cmol/l")\r
+\r
+SI.MilliMolePerLitre <T SI.Unit\r
+SI.MilliMolePerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mmol/l")\r
+SI.MilliMolePerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mmol/l")\r
+\r
+SI.MicroMolePerLitre <T SI.Unit\r
+SI.MicroMolePerLitre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="umol/l")\r
+SI.MicroMolePerLitre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="umol/l")\r
+\r
+SI.TeraMolePerKilogram <T SI.Unit\r
+SI.TeraMolePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Tmol/kg")\r
+SI.TeraMolePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Tmol/kg")\r
+\r
+SI.GigaMolePerKilogram <T SI.Unit\r
+SI.GigaMolePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Gmol/kg")\r
+SI.GigaMolePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Gmol/kg")\r
+\r
+SI.MegaMolePerKilogram <T SI.Unit\r
+SI.MegaMolePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="Mmol/kg")\r
+SI.MegaMolePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="Mmol/kg")\r
+\r
+SI.KiloMolePerKilogram <T SI.Unit\r
+SI.KiloMolePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="kmol/kg")\r
+SI.KiloMolePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="kmol/kg")\r
+\r
+SI.HectoMolePerKilogram <T SI.Unit\r
+SI.HectoMolePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="hmol/kg")\r
+SI.HectoMolePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="hmol/kg")\r
+\r
+SI.MolePerKilogram <T SI.Unit\r
+SI.MolePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mol/kg")\r
+SI.MolePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mol/kg")\r
+\r
+SI.CentiMolePerKilogram <T SI.Unit\r
+SI.CentiMolePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="cmol/kg")\r
+SI.CentiMolePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="cmol/kg")\r
+\r
+SI.MilliMolePerKilogram <T SI.Unit\r
+SI.MilliMolePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="mmol/kg")\r
+SI.MilliMolePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="mmol/kg")\r
+\r
+SI.MicroMolePerKilogram <T SI.Unit\r
+SI.MicroMolePerKilogram.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="umol/kg")\r
+SI.MicroMolePerKilogram.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="umol/kg")\r
+\r
+// SI compound units\r
+\r
+SI.SquareMetre <T SI.Unit\r
+SI.SquareMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="m2")\r
+SI.SquareMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="m2")\r
+\r
+SI.CubicMetre <T SI.Unit\r
+SI.CubicMetre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="m3")\r
+SI.CubicMetre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="m3")\r
+\r
+// Special units\r
+\r
+SI.MassPercentage <T SI.Unit\r
+SI.MassPercentage.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="w-%")\r
+SI.MassPercentage.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="w-%")\r
+\r
+SI.Percentage <T SI.Unit\r
+SI.Percentage.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="%")\r
+SI.Percentage.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="%")\r
+\r
+SI.Degree <T SI.Unit\r
+SI.Degree.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="deg")\r
+SI.Degree.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="deg")\r
+\r
+SI.Minute <T SI.Unit\r
+SI.Minute.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="min")\r
+SI.Minute.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="min")\r
+\r
+SI.Hour <T SI.Unit\r
+SI.Hour.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="h")\r
+SI.Hour.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="h")\r
+\r
+SI.Litre <T SI.Unit\r
+SI.Litre.Double <T L0.Double\r
+  @L0.assert L0.HasDataType $Double(unit="l")\r
+SI.Litre.Float <T L0.Float\r
+  @L0.assert L0.HasDataType $Float(unit="l")\r
+\r