{-# OPTIONS_GHC -Wno-name-shadowing #-}
module Chapter02 where
f :: Floating a => a -> a
f :: forall a. Floating a => a -> a
f a
x = a -> a
forall a. Floating a => a -> a
sqrt (a
1 a -> a -> a
forall a. Num a => a -> a -> a
+ a
x)
stdGravityMPS2 :: Double
stdGravityMPS2 :: Double
stdGravityMPS2 = Double
9.80665
yRock30 :: Double -> Double
yRock30 :: Double -> Double
yRock30 Double
t = Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* (-Double
stdGravityMPS2) Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
t Double -> Double -> Double
forall a. Floating a => a -> a -> a
** Double
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
30 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
t
vRock30 :: Double -> Double
vRock30 :: Double -> Double
vRock30 Double
t = Double
30 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
stdGravityMPS2 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
t
sinDeg :: Double -> Double
sinDeg :: Double -> Double
sinDeg Double
deg = Double -> Double
forall a. Floating a => a -> a
sin (Double
deg Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
forall a. Floating a => a
pi Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double
180)
f25 :: Double -> Double
f25 :: Double -> Double
f25 Double
x = Double
x Double -> Double -> Double
forall a. Floating a => a -> a -> a
** (Double
1 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double
3)
g :: Double -> Double
g :: Double -> Double
g Double
ɣ = Double -> Double
forall a. Floating a => a -> a
exp Double
ɣ Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
8 Double -> Double -> Double
forall a. Floating a => a -> a -> a
** Double
ɣ
h :: Double -> Double
h :: Double -> Double
h Double
x = Double
1 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double -> Double
forall a. Floating a => a -> a
sqrt ((Double
x Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
5) Double -> Double -> Double
forall a. Floating a => a -> a -> a
** Double
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
16)
ɣ :: Double -> Double
ɣ :: Double -> Double
ɣ Double
β = Double
1 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double -> Double
forall a. Floating a => a -> a
sqrt (Double
1 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
β Double -> Double -> Double
forall a. Floating a => a -> a -> a
** Double
2)
bigU :: Double -> Double
bigU :: Double -> Double
bigU Double
x = (Double
1 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ (Double
10 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
x)) Double -> Double -> Double
forall a. Num a => a -> a -> a
+ (Double
1 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ (Double
10 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
x))
bigL :: Double -> Double
bigL :: Double -> Double
bigL Double
l = Double -> Double
forall a. Floating a => a -> a
sqrt (Double
l Double -> Double -> Double
forall a. Num a => a -> a -> a
* (Double
l Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
1))
bigEx :: Double -> Double
bigEx :: Double -> Double
bigEx Double
x = Double
1 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double -> Double
forall a. Num a => a -> a
abs Double
x Double -> Double -> Double
forall a. Floating a => a -> a -> a
** Double
3
bigEz :: Double -> Double
bigEz :: Double -> Double
bigEz Double
z = Double
1 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ ((Double
z Double -> Double -> Double
forall a. Floating a => a -> a -> a
** Double
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
4) Double -> Double -> Double
forall a. Floating a => a -> a -> a
** (Double
3 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double
2))