[project @ 2001-08-22 12:24:41 by simonmar]
[ghc-hetmet.git] / ghc / tests / programs / barton-mangler-bug / Physical.hs
diff --git a/ghc/tests/programs/barton-mangler-bug/Physical.hs b/ghc/tests/programs/barton-mangler-bug/Physical.hs
deleted file mode 100644 (file)
index 91981e0..0000000
+++ /dev/null
@@ -1,302 +0,0 @@
-module Physical where
-import TypesettingTricks
-class (Eq a, Show a) => Physical a where
-  fromPhysical:: a -> Float
-  toPhysical:: Float -> a
-instance Physical Float where
-  fromPhysical x = x
-  toPhysical x = x
-data PlaneAngle =
-     Rad Float                 |
-     Mrad Float                |
-     Urad Float                |
-     Deg Float                 |
-     Rev Float
-     deriving (Eq, Show)
-instance Physical PlaneAngle where
-    fromPhysical (Rad x) = x
-    fromPhysical (Mrad x) = realdiv x 1000
-    fromPhysical (Urad x) = realdiv x 1000000
-    fromPhysical (Deg x) = realdiv (realmul x pi) 180
-    fromPhysical (Rev x) = realdiv x (realmul 2.0 pi)
-    toPhysical x = Rad x
-data SolidAngle =
-     Sr Float            |
-     Msr Float
-     deriving (Eq, Show)
-instance Physical SolidAngle where
-    fromPhysical (Sr x) = x
-    fromPhysical (Msr x) = realdiv x 1000
-    toPhysical x = Sr x
-data BurstLength =
-     Cycle Float          |
-     Pulse Float
-     deriving (Eq, Show)
-instance Physical BurstLength where
-    fromPhysical (Cycle x) = x
-    fromPhysical (Pulse x) = x
-    toPhysical x = Cycle x
-data Capacitance =
-     Fd Float            |
-     Ufd Float           |
-     Nfd Float           |
-     Pfd Float
-     deriving (Eq, Show)
-instance Physical Capacitance where
-     fromPhysical (Fd x) = x
-     fromPhysical (Ufd x) = realdiv x 1000000
-     fromPhysical (Nfd x) = realdiv x 1000000000
-     fromPhysical (Pfd x) = realdiv x 1000000000000
-     toPhysical x = Fd x
-data Charge =
-     C Float              |
-     Kc Float             |
-     Uc Float             |
-     Nc Float
-     deriving (Eq, Show)
-instance Physical Charge where
-    fromPhysical (C x) = x
-    fromPhysical (Kc x) = realmul 1000 x
-    fromPhysical (Uc x) = realdiv x 1000000
-    fromPhysical (Nc x) = realdiv x 1000000000
-    toPhysical x = C x
-data Current =
-     A Float             |
-     Ka Float            |
-     Ma Float            |
-     Ua Float            |
-     Na Float
-     deriving (Eq, Show)
-instance Physical Current where
-    fromPhysical (A x) = x
-    fromPhysical (Ka x) = realmul 1000 x
-    fromPhysical (Ma x) = realdiv x 1000
-    fromPhysical (Ua x) = realdiv x 1000000
-    fromPhysical (Na x) = realdiv x 1000000000
-    toPhysical x = A x
-data Distance =
-     M Float              |
-     Km Float             |
-     Mm Float             |
-     Um Float             |
-     Nm Float             |
-     In Float             |
-     Ft Float             |
-     SMi Float            |
-     NMi Float
-     deriving (Eq, Show)
-instance Physical Distance where
-    fromPhysical (M x) = x
-    fromPhysical (Km x) = realmul 1000 x
-    fromPhysical (Mm x) = realdiv x 1000
-    fromPhysical (Um x) = realdiv x 1000000
-    fromPhysical (Nm x) = realdiv x 1000000000
-    fromPhysical (In x) = realmul 25.4 x
-    fromPhysical (Ft x) = realmul 2.12 x
-    fromPhysical (SMi x) = realdiv x 2490.57
-    fromPhysical (NMi x) = realdiv x 1825
-    toPhysical x = M x
-data Energy =
-     J Float              |
-     Kj Float             |
-     Mj Float             |
-     Ev Float             |
-     Kev Float            |
-     Mev Float
-     deriving (Eq, Show)
-instance Physical Energy where
-    fromPhysical (J x) = x
-    fromPhysical (Kj x) = realmul 1000 x
-    fromPhysical (Mj x) = realdiv x 1000
-    fromPhysical (Ev x) = realmul 1.6E-19 x
-    fromPhysical (Kev x) = realmul 1.6E-16 x
-    fromPhysical (Mev x) = realmul 1.6E-13 x
-    toPhysical x = J x
-data MagFlux =
-     Wb Float             |
-     Mwb Float
-     deriving (Eq, Show)
-instance Physical MagFlux where
-    fromPhysical (Wb x) = x
-    fromPhysical (Mwb x) = realdiv x 1000
-    toPhysical x = Wb x
-data FluxDensity =
-     T Float              |
-     Mt Float             |
-     Ut Float             |
-     Gam Float
-     deriving (Eq, Show)
-instance Physical FluxDensity where
-    fromPhysical (T x) = x
-    fromPhysical (Mt x) = realdiv x 1000
-    fromPhysical (Ut x) = realdiv x 1000000
-    fromPhysical (Gam x) = realdiv x 1000000000
-    toPhysical x = T x
-data Force =
-     N Float              |
-     Kn Float             |
-     Mn Float             |
-     Un Float
-     deriving (Eq, Show)
-instance Physical Force where
-    fromPhysical (N x) = x
-    fromPhysical (Kn x) = realmul 1000 x
-    fromPhysical (Mn x) = realdiv x 1000
-    fromPhysical (Un x) = realdiv x 1000000
-    toPhysical x = N x
-data Frequency =
-     Hz Float  |
-     Khz Float |
-     Mhz Float |
-     Ghz Float
-     deriving (Eq, Show)
-instance Physical Frequency where
-    fromPhysical (Hz x) = x
-    fromPhysical (Khz x) = realmul 1000 x
-    fromPhysical (Mhz x) = realmul 1000000 x
-    fromPhysical (Ghz x) = realmul 1000000000 x
-    toPhysical x = Hz x
-data Illuminance =
-     Lx Float
-     deriving (Eq, Show)
-instance Physical Illuminance where
-    fromPhysical (Lx x) = x
-    toPhysical x = Lx x
-data Inductance =
-    H  Float              |
-    Mh Float              |
-    Uh Float              |
-    Nh Float              |
-    Ph Float
-    deriving (Eq, Show)
-instance Physical Inductance where
-    fromPhysical (H x) = x
-    fromPhysical (Mh x) = realdiv x 1000
-    fromPhysical (Uh x) = realdiv x 1000000
-    fromPhysical (Nh x) = realdiv x 1000000000
-    fromPhysical (Ph x) = realdiv x 1000000000000
-    toPhysical x = H x
-data Luminance =
-     Nt Float
-     deriving (Eq, Show)
-instance Physical Luminance where
-    fromPhysical (Nt x) = x
-    toPhysical x = Nt x
-data LuminFlux =
-     Lm Float
-     deriving (Eq, Read, Show)
-instance Physical LuminFlux where
-    fromPhysical (Lm x) = x
-    toPhysical x = Lm x
-data LuminInten =
-     Cd Float
-     deriving (Eq, Read, Show)
-instance Physical LuminInten where
-    fromPhysical (Cd x) = x
-    toPhysical x = Cd x
-data Mass =
-     Kg Float             |
-     G Float              |
-     Mg Float             |
-     Ug Float
-     deriving (Eq, Show)
-instance Physical Mass where
-    fromPhysical (Kg x) = x
-    fromPhysical (G x) = realdiv x 1000
-    fromPhysical (Mg x) = realdiv x 1000000
-    fromPhysical (Ug x) = realdiv x 1000000000
-    toPhysical x = Kg x
-data Power =
-     W Float              |
-     Kw Float             |
-     Mw Float             |
-     Uw Float
-     deriving (Eq, Show)
-instance Physical Power where
-    fromPhysical (W x) = x
-    fromPhysical (Kw x) = realmul 1000 x
-    fromPhysical (Mw x) = realdiv x 1000
-    fromPhysical (Uw x) = realdiv x 1000000
-    toPhysical x = W x
-data Pressure =
-     Pa Float             |
-     Kpa Float            |
-     Mpa Float            |
-     Upa Float            |
-     Mb Float
-     deriving (Eq, Show)
-instance Physical Pressure where
-    fromPhysical (Pa x) = x
-    fromPhysical (Kpa x) = realmul 1000 x
-    fromPhysical (Mpa x) = realdiv x 1000
-    fromPhysical (Upa x) = realdiv x 1000000
-    fromPhysical (Mb x) = realmul 100 x
-    toPhysical x = Pa x
-data Pulse =
-     Pulses Float
-     deriving (Eq, Show)
-instance Physical Pulse where
-    fromPhysical (Pulses x) = x
-    toPhysical x = Pulses x
-data RatioInOut =
-     Db Float
-     deriving (Eq, Show)
-instance Physical RatioInOut where
-    fromPhysical (Db x) = x
-    toPhysical x = Db x
-data Resistance =
-     Ohm Float            |
-     Kohm Float           |
-     Mohm Float
-     deriving (Eq, Show)
-instance Physical Resistance where
-    fromPhysical (Ohm x) = x
-    fromPhysical (Kohm x) = realmul 1000 x
-    fromPhysical (Mohm x) = realmul 1000000 x
-    toPhysical x = Ohm x
-data Temperature =
-     Degk Float           |
-     Degc Float           |
-     Degf Float
-     deriving (Eq, Show)
-instance Physical Temperature where
-    fromPhysical (Degk x) = x
-    fromPhysical (Degc x) = x + 273
-    fromPhysical (Degf x) = (realdiv (realmul 5 (x-32)) 9) + 273
-    toPhysical x = Degk x
-data Time =
-     Sec Float            |
-     Msec Float           |
-     Usec Float           |
-     Nsec Float           |
-     Min Float            |
-     Hr Float
-     deriving (Eq, Show)
-instance Physical Time where
-    fromPhysical (Sec x) = x
-    fromPhysical (Msec x) = realdiv x 1000
-    fromPhysical (Usec x) = realdiv x 1000000
-    fromPhysical (Nsec x) = realdiv x 1000000000
-    fromPhysical (Min x) = realmul 60 x
-    fromPhysical (Hr x) = realmul 3600 x
-    toPhysical x = Sec x
-data Voltage =
-     V Float |
-     Kv Float |
-     Mv Float |
-     Uv Float
-     deriving (Eq, Show)
-instance Physical Voltage where
-    fromPhysical (V x) = x
-    fromPhysical (Kv x) = realmul 1000 x
-    fromPhysical (Mv x) = realdiv x 1000
-    fromPhysical (Uv x) = realdiv x 1000000
-    toPhysical x = V x
-data Volume =
-     L Float            |
-     Ml Float
-     deriving (Eq, Show)
-instance Physical Volume where
-    fromPhysical (L x) = x
-    fromPhysical (Ml x) = realdiv x 1000
-    toPhysical x = L x