habsim-0.1.0.0: High Altitude Balloon flight path simulator

Safe HaskellNone
LanguageHaskell2010

Data.HABSim.Types

Synopsis

Documentation

newtype Meter #

Constructors

Meter 

Fields

Instances

Enum Meter # 
Eq Meter # 

Methods

(==) :: Meter -> Meter -> Bool #

(/=) :: Meter -> Meter -> Bool #

Floating Meter # 
Fractional Meter # 
Num Meter # 
Ord Meter # 

Methods

compare :: Meter -> Meter -> Ordering #

(<) :: Meter -> Meter -> Bool #

(<=) :: Meter -> Meter -> Bool #

(>) :: Meter -> Meter -> Bool #

(>=) :: Meter -> Meter -> Bool #

max :: Meter -> Meter -> Meter #

min :: Meter -> Meter -> Meter #

Read Meter # 
Real Meter # 

Methods

toRational :: Meter -> Rational #

RealFloat Meter # 
RealFrac Meter # 

Methods

properFraction :: Integral b => Meter -> (b, Meter) #

truncate :: Integral b => Meter -> b #

round :: Integral b => Meter -> b #

ceiling :: Integral b => Meter -> b #

floor :: Integral b => Meter -> b #

Show Meter # 

Methods

showsPrec :: Int -> Meter -> ShowS #

show :: Meter -> String #

showList :: [Meter] -> ShowS #

FromField Meter # 

Methods

parseField :: Field -> Parser Meter

Hashable Meter # 

Methods

hashWithSalt :: Int -> Meter -> Int

hash :: Meter -> Int

HasMeter Meter Double # 

Methods

meter :: Lens' Meter Double #

newtype Altitude #

Constructors

Altitude 

Fields

Instances

Enum Altitude # 
Eq Altitude # 
Floating Altitude # 
Fractional Altitude # 
Num Altitude # 
Ord Altitude # 
Read Altitude # 
Real Altitude # 
RealFloat Altitude # 
RealFrac Altitude # 

Methods

properFraction :: Integral b => Altitude -> (b, Altitude) #

truncate :: Integral b => Altitude -> b #

round :: Integral b => Altitude -> b #

ceiling :: Integral b => Altitude -> b #

floor :: Integral b => Altitude -> b #

Show Altitude # 
FromField Altitude # 

Methods

parseField :: Field -> Parser Altitude

Hashable Altitude # 
HasAltitude Altitude Double # 

Methods

altitude :: Lens' Altitude Double #

HasAlt PosVel Altitude # 

Methods

alt :: Lens' PosVel Altitude #

HasAlt Coordinate Altitude # 

Methods

alt :: Lens' Coordinate Altitude #

newtype Latitude #

Constructors

Latitude 

Fields

Instances

Enum Latitude # 
Eq Latitude # 
Floating Latitude # 
Fractional Latitude # 
Num Latitude # 
Ord Latitude # 
Read Latitude # 
Real Latitude # 
RealFloat Latitude # 
RealFrac Latitude # 

Methods

properFraction :: Integral b => Latitude -> (b, Latitude) #

truncate :: Integral b => Latitude -> b #

round :: Integral b => Latitude -> b #

ceiling :: Integral b => Latitude -> b #

floor :: Integral b => Latitude -> b #

Show Latitude # 
FromField Latitude # 

Methods

parseField :: Field -> Parser Latitude

Hashable Latitude # 
HasLat Coordinate Latitude # 

Methods

lat :: Lens' Coordinate Latitude #

HasLatitude Latitude Double # 

Methods

latitude :: Lens' Latitude Double #

HasLatitude RawGribLine Latitude # 

Methods

latitude :: Lens' RawGribLine Latitude #

newtype Longitude #

Constructors

Longitude 

Fields

Instances

Enum Longitude # 
Eq Longitude # 
Floating Longitude # 
Fractional Longitude # 
Num Longitude # 
Ord Longitude # 
Read Longitude # 
Real Longitude # 
RealFloat Longitude # 
RealFrac Longitude # 
Show Longitude # 
FromField Longitude # 

Methods

parseField :: Field -> Parser Longitude

Hashable Longitude # 
HasLon Coordinate Longitude # 

Methods

lon :: Lens' Coordinate Longitude #

HasLongitude Longitude Double # 

Methods

longitude :: Lens' Longitude Double #

HasLongitude RawGribLine Longitude # 

newtype Pressure #

Constructors

Pressure 

Fields

Instances

Enum Pressure # 
Eq Pressure # 
Floating Pressure # 
Fractional Pressure # 
Num Pressure # 
Ord Pressure # 
Read Pressure # 
Real Pressure # 
RealFloat Pressure # 
RealFrac Pressure # 

Methods

properFraction :: Integral b => Pressure -> (b, Pressure) #

truncate :: Integral b => Pressure -> b #

round :: Integral b => Pressure -> b #

ceiling :: Integral b => Pressure -> b #

floor :: Integral b => Pressure -> b #

Show Pressure # 
FromField Pressure # 

Methods

parseField :: Field -> Parser Pressure

Hashable Pressure # 
HasB_pres Burst Pressure # 

Methods

b_pres :: Lens' Burst Pressure #

HasPressure PressureDensity Pressure # 
HasPressure Pressure Double # 

Methods

pressure :: Lens' Pressure Double #

newtype Density #

Constructors

Density 

Fields

Instances

Enum Density # 
Eq Density # 

Methods

(==) :: Density -> Density -> Bool #

(/=) :: Density -> Density -> Bool #

Floating Density # 
Fractional Density # 
Num Density # 
Ord Density # 
Read Density # 
Real Density # 
RealFloat Density # 
RealFrac Density # 

Methods

properFraction :: Integral b => Density -> (b, Density) #

truncate :: Integral b => Density -> b #

round :: Integral b => Density -> b #

ceiling :: Integral b => Density -> b #

floor :: Integral b => Density -> b #

Show Density # 
FromField Density # 

Methods

parseField :: Field -> Parser Density

Hashable Density # 

Methods

hashWithSalt :: Int -> Density -> Int

hash :: Density -> Int

HasDensity PressureDensity Density # 
HasDensity Density Double # 

Methods

density :: Lens' Density Double #

newtype Liter #

Constructors

Liter 

Fields

Instances

Enum Liter # 
Eq Liter # 

Methods

(==) :: Liter -> Liter -> Bool #

(/=) :: Liter -> Liter -> Bool #

Floating Liter # 
Fractional Liter # 
Num Liter # 
Ord Liter # 

Methods

compare :: Liter -> Liter -> Ordering #

(<) :: Liter -> Liter -> Bool #

(<=) :: Liter -> Liter -> Bool #

(>) :: Liter -> Liter -> Bool #

(>=) :: Liter -> Liter -> Bool #

max :: Liter -> Liter -> Liter #

min :: Liter -> Liter -> Liter #

Read Liter # 
Real Liter # 

Methods

toRational :: Liter -> Rational #

RealFloat Liter # 
RealFrac Liter # 

Methods

properFraction :: Integral b => Liter -> (b, Liter) #

truncate :: Integral b => Liter -> b #

round :: Integral b => Liter -> b #

ceiling :: Integral b => Liter -> b #

floor :: Integral b => Liter -> b #

Show Liter # 

Methods

showsPrec :: Int -> Liter -> ShowS #

show :: Liter -> String #

showList :: [Liter] -> ShowS #

FromField Liter # 

Methods

parseField :: Field -> Parser Liter

Hashable Liter # 

Methods

hashWithSalt :: Int -> Liter -> Int

hash :: Liter -> Int

HasBurst_vol Burst Volume # 

Methods

burst_vol :: Lens' Burst Volume #

HasB_vol Burst Volume # 

Methods

b_vol :: Lens' Burst Volume #

HasLiter Liter Double # 

Methods

liter :: Lens' Liter Double #

newtype WindMs #

Constructors

WindMs 

Fields

Instances

Enum WindMs # 
Eq WindMs # 

Methods

(==) :: WindMs -> WindMs -> Bool #

(/=) :: WindMs -> WindMs -> Bool #

Floating WindMs # 
Fractional WindMs # 
Num WindMs # 
Ord WindMs # 
Read WindMs # 
Real WindMs # 
RealFloat WindMs # 
RealFrac WindMs # 

Methods

properFraction :: Integral b => WindMs -> (b, WindMs) #

truncate :: Integral b => WindMs -> b #

round :: Integral b => WindMs -> b #

ceiling :: Integral b => WindMs -> b #

floor :: Integral b => WindMs -> b #

Show WindMs # 
FromField WindMs # 

Methods

parseField :: Field -> Parser WindMs

Hashable WindMs # 

Methods

hashWithSalt :: Int -> WindMs -> Int

hash :: WindMs -> Int

HasWindMs WindMs Double # 

Methods

windMs :: Lens' WindMs Double #

HasWindX WindX WindMs # 

Methods

windX :: Lens' WindX WindMs #

HasWindY WindY WindMs # 

Methods

windY :: Lens' WindY WindMs #

newtype CoeffDrag #

Constructors

CoeffDrag 

Fields

Instances

Enum CoeffDrag # 
Eq CoeffDrag # 
Floating CoeffDrag # 
Fractional CoeffDrag # 
Num CoeffDrag # 
Ord CoeffDrag # 
Read CoeffDrag # 
Real CoeffDrag # 
RealFloat CoeffDrag # 
RealFrac CoeffDrag # 
Show CoeffDrag # 
FromField CoeffDrag # 

Methods

parseField :: Field -> Parser CoeffDrag

Hashable CoeffDrag # 
HasPar_cd Burst CoeffDrag # 

Methods

par_cd :: Lens' Burst CoeffDrag #

HasPackages_cd Burst CoeffDrag # 

Methods

packages_cd :: Lens' Burst CoeffDrag #

HasBal_cd Burst CoeffDrag # 

Methods

bal_cd :: Lens' Burst CoeffDrag #

HasCoeffDrag CoeffDrag Double # 

Methods

coeffDrag :: Lens' CoeffDrag Double #

newtype Velocity #

Constructors

Velocity 

Fields

Instances

Enum Velocity # 
Eq Velocity # 
Floating Velocity # 
Fractional Velocity # 
Num Velocity # 
Ord Velocity # 
Read Velocity # 
Real Velocity # 
RealFloat Velocity # 
RealFrac Velocity # 

Methods

properFraction :: Integral b => Velocity -> (b, Velocity) #

truncate :: Integral b => Velocity -> b #

round :: Integral b => Velocity -> b #

ceiling :: Integral b => Velocity -> b #

floor :: Integral b => Velocity -> b #

Show Velocity # 
FromField Velocity # 

Methods

parseField :: Field -> Parser Velocity

Hashable Velocity # 
HasVel_z PosVel Velocity # 

Methods

vel_z :: Lens' PosVel Velocity #

HasVel_y PosVel Velocity # 

Methods

vel_y :: Lens' PosVel Velocity #

HasVel_x PosVel Velocity # 

Methods

vel_x :: Lens' PosVel Velocity #

HasVelocity Velocity Double # 

Methods

velocity :: Lens' Velocity Double #

newtype CrossSecArea #

Constructors

CrossSecArea 

Instances

Enum CrossSecArea # 
Eq CrossSecArea # 
Floating CrossSecArea # 
Fractional CrossSecArea # 
Num CrossSecArea # 
Ord CrossSecArea # 
Read CrossSecArea # 
Real CrossSecArea # 
RealFloat CrossSecArea # 
RealFrac CrossSecArea # 
Show CrossSecArea # 
FromField CrossSecArea # 

Methods

parseField :: Field -> Parser CrossSecArea

Hashable CrossSecArea # 
HasCrossSecArea CrossSecArea Double # 

newtype Force #

Constructors

Force 

Fields

Instances

Enum Force # 
Eq Force # 

Methods

(==) :: Force -> Force -> Bool #

(/=) :: Force -> Force -> Bool #

Floating Force # 
Fractional Force # 
Num Force # 
Ord Force # 

Methods

compare :: Force -> Force -> Ordering #

(<) :: Force -> Force -> Bool #

(<=) :: Force -> Force -> Bool #

(>) :: Force -> Force -> Bool #

(>=) :: Force -> Force -> Bool #

max :: Force -> Force -> Force #

min :: Force -> Force -> Force #

Read Force # 
Real Force # 

Methods

toRational :: Force -> Rational #

RealFloat Force # 
RealFrac Force # 

Methods

properFraction :: Integral b => Force -> (b, Force) #

truncate :: Integral b => Force -> b #

round :: Integral b => Force -> b #

ceiling :: Integral b => Force -> b #

floor :: Integral b => Force -> b #

Show Force # 

Methods

showsPrec :: Int -> Force -> ShowS #

show :: Force -> String #

showList :: [Force] -> ShowS #

FromField Force # 

Methods

parseField :: Field -> Parser Force

Hashable Force # 

Methods

hashWithSalt :: Int -> Force -> Int

hash :: Force -> Int

HasForce Force Double # 

Methods

force :: Lens' Force Double #

newtype Acceleration #

Constructors

Acceleration 

Instances

Enum Acceleration # 
Eq Acceleration # 
Floating Acceleration # 
Fractional Acceleration # 
Num Acceleration # 
Ord Acceleration # 
Read Acceleration # 
Real Acceleration # 
RealFloat Acceleration # 
RealFrac Acceleration # 
Show Acceleration # 
FromField Acceleration # 

Methods

parseField :: Field -> Parser Acceleration

Hashable Acceleration # 
HasAcceleration Acceleration Double # 

newtype Mass #

Constructors

Mass 

Fields

Instances

Enum Mass # 

Methods

succ :: Mass -> Mass #

pred :: Mass -> Mass #

toEnum :: Int -> Mass #

fromEnum :: Mass -> Int #

enumFrom :: Mass -> [Mass] #

enumFromThen :: Mass -> Mass -> [Mass] #

enumFromTo :: Mass -> Mass -> [Mass] #

enumFromThenTo :: Mass -> Mass -> Mass -> [Mass] #

Eq Mass # 

Methods

(==) :: Mass -> Mass -> Bool #

(/=) :: Mass -> Mass -> Bool #

Floating Mass # 

Methods

pi :: Mass #

exp :: Mass -> Mass #

log :: Mass -> Mass #

sqrt :: Mass -> Mass #

(**) :: Mass -> Mass -> Mass #

logBase :: Mass -> Mass -> Mass #

sin :: Mass -> Mass #

cos :: Mass -> Mass #

tan :: Mass -> Mass #

asin :: Mass -> Mass #

acos :: Mass -> Mass #

atan :: Mass -> Mass #

sinh :: Mass -> Mass #

cosh :: Mass -> Mass #

tanh :: Mass -> Mass #

asinh :: Mass -> Mass #

acosh :: Mass -> Mass #

atanh :: Mass -> Mass #

log1p :: Mass -> Mass #

expm1 :: Mass -> Mass #

log1pexp :: Mass -> Mass #

log1mexp :: Mass -> Mass #

Fractional Mass # 

Methods

(/) :: Mass -> Mass -> Mass #

recip :: Mass -> Mass #

fromRational :: Rational -> Mass #

Num Mass # 

Methods

(+) :: Mass -> Mass -> Mass #

(-) :: Mass -> Mass -> Mass #

(*) :: Mass -> Mass -> Mass #

negate :: Mass -> Mass #

abs :: Mass -> Mass #

signum :: Mass -> Mass #

fromInteger :: Integer -> Mass #

Ord Mass # 

Methods

compare :: Mass -> Mass -> Ordering #

(<) :: Mass -> Mass -> Bool #

(<=) :: Mass -> Mass -> Bool #

(>) :: Mass -> Mass -> Bool #

(>=) :: Mass -> Mass -> Bool #

max :: Mass -> Mass -> Mass #

min :: Mass -> Mass -> Mass #

Read Mass # 
Real Mass # 

Methods

toRational :: Mass -> Rational #

RealFloat Mass # 
RealFrac Mass # 

Methods

properFraction :: Integral b => Mass -> (b, Mass) #

truncate :: Integral b => Mass -> b #

round :: Integral b => Mass -> b #

ceiling :: Integral b => Mass -> b #

floor :: Integral b => Mass -> b #

Show Mass # 

Methods

showsPrec :: Int -> Mass -> ShowS #

show :: Mass -> String #

showList :: [Mass] -> ShowS #

FromField Mass # 

Methods

parseField :: Field -> Parser Mass

Hashable Mass # 

Methods

hashWithSalt :: Int -> Mass -> Int

hash :: Mass -> Int

HasMass Burst Mass # 

Methods

mass :: Lens' Burst Mass #

HasMass Mass Double # 

Methods

mass :: Lens' Mass Double #

newtype Displacement #

Constructors

Displacement 

Instances

Enum Displacement # 
Eq Displacement # 
Floating Displacement # 
Fractional Displacement # 
Num Displacement # 
Ord Displacement # 
Read Displacement # 
Real Displacement # 
RealFloat Displacement # 
RealFrac Displacement # 
Show Displacement # 
FromField Displacement # 

Methods

parseField :: Field -> Parser Displacement

Hashable Displacement # 
HasDisplacement Displacement Double # 

newtype WindX #

Constructors

WindX 

Fields

Instances

Enum WindX # 
Eq WindX # 

Methods

(==) :: WindX -> WindX -> Bool #

(/=) :: WindX -> WindX -> Bool #

Floating WindX # 
Fractional WindX # 
Num WindX # 
Ord WindX # 

Methods

compare :: WindX -> WindX -> Ordering #

(<) :: WindX -> WindX -> Bool #

(<=) :: WindX -> WindX -> Bool #

(>) :: WindX -> WindX -> Bool #

(>=) :: WindX -> WindX -> Bool #

max :: WindX -> WindX -> WindX #

min :: WindX -> WindX -> WindX #

Read WindX # 
Real WindX # 

Methods

toRational :: WindX -> Rational #

RealFloat WindX # 
RealFrac WindX # 

Methods

properFraction :: Integral b => WindX -> (b, WindX) #

truncate :: Integral b => WindX -> b #

round :: Integral b => WindX -> b #

ceiling :: Integral b => WindX -> b #

floor :: Integral b => WindX -> b #

Show WindX # 

Methods

showsPrec :: Int -> WindX -> ShowS #

show :: WindX -> String #

showList :: [WindX] -> ShowS #

FromField WindX # 

Methods

parseField :: Field -> Parser WindX

Hashable WindX # 

Methods

hashWithSalt :: Int -> WindX -> Int

hash :: WindX -> Int

HasVelo_x Wind WindX # 

Methods

velo_x :: Lens' Wind WindX #

HasWindX WindX WindMs # 

Methods

windX :: Lens' WindX WindMs #

newtype WindY #

Constructors

WindY 

Fields

Instances

Enum WindY # 
Eq WindY # 

Methods

(==) :: WindY -> WindY -> Bool #

(/=) :: WindY -> WindY -> Bool #

Floating WindY # 
Fractional WindY # 
Num WindY # 
Ord WindY # 

Methods

compare :: WindY -> WindY -> Ordering #

(<) :: WindY -> WindY -> Bool #

(<=) :: WindY -> WindY -> Bool #

(>) :: WindY -> WindY -> Bool #

(>=) :: WindY -> WindY -> Bool #

max :: WindY -> WindY -> WindY #

min :: WindY -> WindY -> WindY #

Read WindY # 
Real WindY # 

Methods

toRational :: WindY -> Rational #

RealFloat WindY # 
RealFrac WindY # 

Methods

properFraction :: Integral b => WindY -> (b, WindY) #

truncate :: Integral b => WindY -> b #

round :: Integral b => WindY -> b #

ceiling :: Integral b => WindY -> b #

floor :: Integral b => WindY -> b #

Show WindY # 

Methods

showsPrec :: Int -> WindY -> ShowS #

show :: WindY -> String #

showList :: [WindY] -> ShowS #

FromField WindY # 

Methods

parseField :: Field -> Parser WindY

Hashable WindY # 

Methods

hashWithSalt :: Int -> WindY -> Int

hash :: WindY -> Int

HasVelo_y Wind WindY # 

Methods

velo_y :: Lens' Wind WindY #

HasWindY WindY WindMs # 

Methods

windY :: Lens' WindY WindMs #

type Volume = Liter #

data Wind #

Constructors

Wind 

Fields

Instances

Eq Wind # 

Methods

(==) :: Wind -> Wind -> Bool #

(/=) :: Wind -> Wind -> Bool #

Ord Wind # 

Methods

compare :: Wind -> Wind -> Ordering #

(<) :: Wind -> Wind -> Bool #

(<=) :: Wind -> Wind -> Bool #

(>) :: Wind -> Wind -> Bool #

(>=) :: Wind -> Wind -> Bool #

max :: Wind -> Wind -> Wind #

min :: Wind -> Wind -> Wind #

Show Wind # 

Methods

showsPrec :: Int -> Wind -> ShowS #

show :: Wind -> String #

showList :: [Wind] -> ShowS #

HasRetW Simulation Wind # 

Methods

retW :: Lens' Simulation Wind #

HasVelo_y Wind WindY # 

Methods

velo_y :: Lens' Wind WindY #

HasVelo_x Wind WindX # 

Methods

velo_x :: Lens' Wind WindX #

data Pitch #

Constructors

Ascent 
Descent 

Instances

Eq Pitch # 

Methods

(==) :: Pitch -> Pitch -> Bool #

(/=) :: Pitch -> Pitch -> Bool #

Show Pitch # 

Methods

showsPrec :: Int -> Pitch -> ShowS #

show :: Pitch -> String #

showList :: [Pitch] -> ShowS #

pitch #

Arguments

:: Pitch

The pitch we are analyzing

-> a

What to return if it is Ascent

-> a

What to return if it is Descent

-> a

The thing we decide to return

Case analysis for Pitch.