{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE DeriveGeneric              #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE AllowAmbiguousTypes#-}

module Q.Options.ImpliedVol
  (
      module Q.Types
    , module Q.Options
    , LogRelStrike(..)
    , AbsRelStrike(..)
    , MoneynessForwardStrike(..)
    , LogMoneynessForwardStrike(..)
    , MoneynessSpotStrike(..)
    , LogMoneynessSpotStrike(..)
    , VolShift(..)
    , VolType(..)
    , euImpliedVol
  )
  where

import Q.Types
import Q.Options
import Q.Options.BlackScholes
import           GHC.Generics (Generic)
import Data.Vector.Storable (Storable)
import qualified Q.Options.ImpliedVol.Normal as Bacherlier
import qualified Q.Options.ImpliedVol.LetsBeRational as B76


newtype AbsRelStrike = AbsRel Double
  deriving ((forall x. AbsRelStrike -> Rep AbsRelStrike x)
-> (forall x. Rep AbsRelStrike x -> AbsRelStrike)
-> Generic AbsRelStrike
forall x. Rep AbsRelStrike x -> AbsRelStrike
forall x. AbsRelStrike -> Rep AbsRelStrike x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AbsRelStrike x -> AbsRelStrike
$cfrom :: forall x. AbsRelStrike -> Rep AbsRelStrike x
Generic, AbsRelStrike -> AbsRelStrike -> Bool
(AbsRelStrike -> AbsRelStrike -> Bool)
-> (AbsRelStrike -> AbsRelStrike -> Bool) -> Eq AbsRelStrike
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AbsRelStrike -> AbsRelStrike -> Bool
$c/= :: AbsRelStrike -> AbsRelStrike -> Bool
== :: AbsRelStrike -> AbsRelStrike -> Bool
$c== :: AbsRelStrike -> AbsRelStrike -> Bool
Eq, Int -> AbsRelStrike -> ShowS
[AbsRelStrike] -> ShowS
AbsRelStrike -> String
(Int -> AbsRelStrike -> ShowS)
-> (AbsRelStrike -> String)
-> ([AbsRelStrike] -> ShowS)
-> Show AbsRelStrike
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AbsRelStrike] -> ShowS
$cshowList :: [AbsRelStrike] -> ShowS
show :: AbsRelStrike -> String
$cshow :: AbsRelStrike -> String
showsPrec :: Int -> AbsRelStrike -> ShowS
$cshowsPrec :: Int -> AbsRelStrike -> ShowS
Show, ReadPrec [AbsRelStrike]
ReadPrec AbsRelStrike
Int -> ReadS AbsRelStrike
ReadS [AbsRelStrike]
(Int -> ReadS AbsRelStrike)
-> ReadS [AbsRelStrike]
-> ReadPrec AbsRelStrike
-> ReadPrec [AbsRelStrike]
-> Read AbsRelStrike
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AbsRelStrike]
$creadListPrec :: ReadPrec [AbsRelStrike]
readPrec :: ReadPrec AbsRelStrike
$creadPrec :: ReadPrec AbsRelStrike
readList :: ReadS [AbsRelStrike]
$creadList :: ReadS [AbsRelStrike]
readsPrec :: Int -> ReadS AbsRelStrike
$creadsPrec :: Int -> ReadS AbsRelStrike
Read, Eq AbsRelStrike
Eq AbsRelStrike
-> (AbsRelStrike -> AbsRelStrike -> Ordering)
-> (AbsRelStrike -> AbsRelStrike -> Bool)
-> (AbsRelStrike -> AbsRelStrike -> Bool)
-> (AbsRelStrike -> AbsRelStrike -> Bool)
-> (AbsRelStrike -> AbsRelStrike -> Bool)
-> (AbsRelStrike -> AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike -> AbsRelStrike)
-> Ord AbsRelStrike
AbsRelStrike -> AbsRelStrike -> Bool
AbsRelStrike -> AbsRelStrike -> Ordering
AbsRelStrike -> AbsRelStrike -> AbsRelStrike
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
$cmin :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
max :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
$cmax :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
>= :: AbsRelStrike -> AbsRelStrike -> Bool
$c>= :: AbsRelStrike -> AbsRelStrike -> Bool
> :: AbsRelStrike -> AbsRelStrike -> Bool
$c> :: AbsRelStrike -> AbsRelStrike -> Bool
<= :: AbsRelStrike -> AbsRelStrike -> Bool
$c<= :: AbsRelStrike -> AbsRelStrike -> Bool
< :: AbsRelStrike -> AbsRelStrike -> Bool
$c< :: AbsRelStrike -> AbsRelStrike -> Bool
compare :: AbsRelStrike -> AbsRelStrike -> Ordering
$ccompare :: AbsRelStrike -> AbsRelStrike -> Ordering
$cp1Ord :: Eq AbsRelStrike
Ord, Integer -> AbsRelStrike
AbsRelStrike -> AbsRelStrike
AbsRelStrike -> AbsRelStrike -> AbsRelStrike
(AbsRelStrike -> AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (Integer -> AbsRelStrike)
-> Num AbsRelStrike
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> AbsRelStrike
$cfromInteger :: Integer -> AbsRelStrike
signum :: AbsRelStrike -> AbsRelStrike
$csignum :: AbsRelStrike -> AbsRelStrike
abs :: AbsRelStrike -> AbsRelStrike
$cabs :: AbsRelStrike -> AbsRelStrike
negate :: AbsRelStrike -> AbsRelStrike
$cnegate :: AbsRelStrike -> AbsRelStrike
* :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
$c* :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
- :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
$c- :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
+ :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
$c+ :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
Num, Num AbsRelStrike
Num AbsRelStrike
-> (AbsRelStrike -> AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (Rational -> AbsRelStrike)
-> Fractional AbsRelStrike
Rational -> AbsRelStrike
AbsRelStrike -> AbsRelStrike
AbsRelStrike -> AbsRelStrike -> AbsRelStrike
forall a.
Num a
-> (a -> a -> a) -> (a -> a) -> (Rational -> a) -> Fractional a
fromRational :: Rational -> AbsRelStrike
$cfromRational :: Rational -> AbsRelStrike
recip :: AbsRelStrike -> AbsRelStrike
$crecip :: AbsRelStrike -> AbsRelStrike
/ :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
$c/ :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
$cp1Fractional :: Num AbsRelStrike
Fractional, Num AbsRelStrike
Ord AbsRelStrike
Num AbsRelStrike
-> Ord AbsRelStrike
-> (AbsRelStrike -> Rational)
-> Real AbsRelStrike
AbsRelStrike -> Rational
forall a. Num a -> Ord a -> (a -> Rational) -> Real a
toRational :: AbsRelStrike -> Rational
$ctoRational :: AbsRelStrike -> Rational
$cp2Real :: Ord AbsRelStrike
$cp1Real :: Num AbsRelStrike
Real, Fractional AbsRelStrike
Real AbsRelStrike
Real AbsRelStrike
-> Fractional AbsRelStrike
-> (forall b. Integral b => AbsRelStrike -> (b, AbsRelStrike))
-> (forall b. Integral b => AbsRelStrike -> b)
-> (forall b. Integral b => AbsRelStrike -> b)
-> (forall b. Integral b => AbsRelStrike -> b)
-> (forall b. Integral b => AbsRelStrike -> b)
-> RealFrac AbsRelStrike
AbsRelStrike -> b
AbsRelStrike -> b
AbsRelStrike -> b
AbsRelStrike -> b
AbsRelStrike -> (b, AbsRelStrike)
forall b. Integral b => AbsRelStrike -> b
forall b. Integral b => AbsRelStrike -> (b, AbsRelStrike)
forall a.
Real a
-> Fractional a
-> (forall b. Integral b => a -> (b, a))
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> RealFrac a
floor :: AbsRelStrike -> b
$cfloor :: forall b. Integral b => AbsRelStrike -> b
ceiling :: AbsRelStrike -> b
$cceiling :: forall b. Integral b => AbsRelStrike -> b
round :: AbsRelStrike -> b
$cround :: forall b. Integral b => AbsRelStrike -> b
truncate :: AbsRelStrike -> b
$ctruncate :: forall b. Integral b => AbsRelStrike -> b
properFraction :: AbsRelStrike -> (b, AbsRelStrike)
$cproperFraction :: forall b. Integral b => AbsRelStrike -> (b, AbsRelStrike)
$cp2RealFrac :: Fractional AbsRelStrike
$cp1RealFrac :: Real AbsRelStrike
RealFrac, Floating AbsRelStrike
RealFrac AbsRelStrike
RealFrac AbsRelStrike
-> Floating AbsRelStrike
-> (AbsRelStrike -> Integer)
-> (AbsRelStrike -> Int)
-> (AbsRelStrike -> (Int, Int))
-> (AbsRelStrike -> (Integer, Int))
-> (Integer -> Int -> AbsRelStrike)
-> (AbsRelStrike -> Int)
-> (AbsRelStrike -> AbsRelStrike)
-> (Int -> AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> Bool)
-> (AbsRelStrike -> Bool)
-> (AbsRelStrike -> Bool)
-> (AbsRelStrike -> Bool)
-> (AbsRelStrike -> Bool)
-> (AbsRelStrike -> AbsRelStrike -> AbsRelStrike)
-> RealFloat AbsRelStrike
Int -> AbsRelStrike -> AbsRelStrike
Integer -> Int -> AbsRelStrike
AbsRelStrike -> Bool
AbsRelStrike -> Int
AbsRelStrike -> Integer
AbsRelStrike -> (Int, Int)
AbsRelStrike -> (Integer, Int)
AbsRelStrike -> AbsRelStrike
AbsRelStrike -> AbsRelStrike -> AbsRelStrike
forall a.
RealFrac a
-> Floating a
-> (a -> Integer)
-> (a -> Int)
-> (a -> (Int, Int))
-> (a -> (Integer, Int))
-> (Integer -> Int -> a)
-> (a -> Int)
-> (a -> a)
-> (Int -> a -> a)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> a -> a)
-> RealFloat a
atan2 :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
$catan2 :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
isIEEE :: AbsRelStrike -> Bool
$cisIEEE :: AbsRelStrike -> Bool
isNegativeZero :: AbsRelStrike -> Bool
$cisNegativeZero :: AbsRelStrike -> Bool
isDenormalized :: AbsRelStrike -> Bool
$cisDenormalized :: AbsRelStrike -> Bool
isInfinite :: AbsRelStrike -> Bool
$cisInfinite :: AbsRelStrike -> Bool
isNaN :: AbsRelStrike -> Bool
$cisNaN :: AbsRelStrike -> Bool
scaleFloat :: Int -> AbsRelStrike -> AbsRelStrike
$cscaleFloat :: Int -> AbsRelStrike -> AbsRelStrike
significand :: AbsRelStrike -> AbsRelStrike
$csignificand :: AbsRelStrike -> AbsRelStrike
exponent :: AbsRelStrike -> Int
$cexponent :: AbsRelStrike -> Int
encodeFloat :: Integer -> Int -> AbsRelStrike
$cencodeFloat :: Integer -> Int -> AbsRelStrike
decodeFloat :: AbsRelStrike -> (Integer, Int)
$cdecodeFloat :: AbsRelStrike -> (Integer, Int)
floatRange :: AbsRelStrike -> (Int, Int)
$cfloatRange :: AbsRelStrike -> (Int, Int)
floatDigits :: AbsRelStrike -> Int
$cfloatDigits :: AbsRelStrike -> Int
floatRadix :: AbsRelStrike -> Integer
$cfloatRadix :: AbsRelStrike -> Integer
$cp2RealFloat :: Floating AbsRelStrike
$cp1RealFloat :: RealFrac AbsRelStrike
RealFloat, Fractional AbsRelStrike
AbsRelStrike
Fractional AbsRelStrike
-> AbsRelStrike
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> (AbsRelStrike -> AbsRelStrike)
-> Floating AbsRelStrike
AbsRelStrike -> AbsRelStrike
AbsRelStrike -> AbsRelStrike -> AbsRelStrike
forall a.
Fractional a
-> a
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> Floating a
log1mexp :: AbsRelStrike -> AbsRelStrike
$clog1mexp :: AbsRelStrike -> AbsRelStrike
log1pexp :: AbsRelStrike -> AbsRelStrike
$clog1pexp :: AbsRelStrike -> AbsRelStrike
expm1 :: AbsRelStrike -> AbsRelStrike
$cexpm1 :: AbsRelStrike -> AbsRelStrike
log1p :: AbsRelStrike -> AbsRelStrike
$clog1p :: AbsRelStrike -> AbsRelStrike
atanh :: AbsRelStrike -> AbsRelStrike
$catanh :: AbsRelStrike -> AbsRelStrike
acosh :: AbsRelStrike -> AbsRelStrike
$cacosh :: AbsRelStrike -> AbsRelStrike
asinh :: AbsRelStrike -> AbsRelStrike
$casinh :: AbsRelStrike -> AbsRelStrike
tanh :: AbsRelStrike -> AbsRelStrike
$ctanh :: AbsRelStrike -> AbsRelStrike
cosh :: AbsRelStrike -> AbsRelStrike
$ccosh :: AbsRelStrike -> AbsRelStrike
sinh :: AbsRelStrike -> AbsRelStrike
$csinh :: AbsRelStrike -> AbsRelStrike
atan :: AbsRelStrike -> AbsRelStrike
$catan :: AbsRelStrike -> AbsRelStrike
acos :: AbsRelStrike -> AbsRelStrike
$cacos :: AbsRelStrike -> AbsRelStrike
asin :: AbsRelStrike -> AbsRelStrike
$casin :: AbsRelStrike -> AbsRelStrike
tan :: AbsRelStrike -> AbsRelStrike
$ctan :: AbsRelStrike -> AbsRelStrike
cos :: AbsRelStrike -> AbsRelStrike
$ccos :: AbsRelStrike -> AbsRelStrike
sin :: AbsRelStrike -> AbsRelStrike
$csin :: AbsRelStrike -> AbsRelStrike
logBase :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
$clogBase :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
** :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
$c** :: AbsRelStrike -> AbsRelStrike -> AbsRelStrike
sqrt :: AbsRelStrike -> AbsRelStrike
$csqrt :: AbsRelStrike -> AbsRelStrike
log :: AbsRelStrike -> AbsRelStrike
$clog :: AbsRelStrike -> AbsRelStrike
exp :: AbsRelStrike -> AbsRelStrike
$cexp :: AbsRelStrike -> AbsRelStrike
pi :: AbsRelStrike
$cpi :: AbsRelStrike
$cp1Floating :: Fractional AbsRelStrike
Floating, Ptr b -> Int -> IO AbsRelStrike
Ptr b -> Int -> AbsRelStrike -> IO ()
Ptr AbsRelStrike -> IO AbsRelStrike
Ptr AbsRelStrike -> Int -> IO AbsRelStrike
Ptr AbsRelStrike -> Int -> AbsRelStrike -> IO ()
Ptr AbsRelStrike -> AbsRelStrike -> IO ()
AbsRelStrike -> Int
(AbsRelStrike -> Int)
-> (AbsRelStrike -> Int)
-> (Ptr AbsRelStrike -> Int -> IO AbsRelStrike)
-> (Ptr AbsRelStrike -> Int -> AbsRelStrike -> IO ())
-> (forall b. Ptr b -> Int -> IO AbsRelStrike)
-> (forall b. Ptr b -> Int -> AbsRelStrike -> IO ())
-> (Ptr AbsRelStrike -> IO AbsRelStrike)
-> (Ptr AbsRelStrike -> AbsRelStrike -> IO ())
-> Storable AbsRelStrike
forall b. Ptr b -> Int -> IO AbsRelStrike
forall b. Ptr b -> Int -> AbsRelStrike -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr AbsRelStrike -> AbsRelStrike -> IO ()
$cpoke :: Ptr AbsRelStrike -> AbsRelStrike -> IO ()
peek :: Ptr AbsRelStrike -> IO AbsRelStrike
$cpeek :: Ptr AbsRelStrike -> IO AbsRelStrike
pokeByteOff :: Ptr b -> Int -> AbsRelStrike -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> AbsRelStrike -> IO ()
peekByteOff :: Ptr b -> Int -> IO AbsRelStrike
$cpeekByteOff :: forall b. Ptr b -> Int -> IO AbsRelStrike
pokeElemOff :: Ptr AbsRelStrike -> Int -> AbsRelStrike -> IO ()
$cpokeElemOff :: Ptr AbsRelStrike -> Int -> AbsRelStrike -> IO ()
peekElemOff :: Ptr AbsRelStrike -> Int -> IO AbsRelStrike
$cpeekElemOff :: Ptr AbsRelStrike -> Int -> IO AbsRelStrike
alignment :: AbsRelStrike -> Int
$calignment :: AbsRelStrike -> Int
sizeOf :: AbsRelStrike -> Int
$csizeOf :: AbsRelStrike -> Int
Storable)

newtype LogRelStrike = LogRel Double
  deriving ((forall x. LogRelStrike -> Rep LogRelStrike x)
-> (forall x. Rep LogRelStrike x -> LogRelStrike)
-> Generic LogRelStrike
forall x. Rep LogRelStrike x -> LogRelStrike
forall x. LogRelStrike -> Rep LogRelStrike x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep LogRelStrike x -> LogRelStrike
$cfrom :: forall x. LogRelStrike -> Rep LogRelStrike x
Generic, LogRelStrike -> LogRelStrike -> Bool
(LogRelStrike -> LogRelStrike -> Bool)
-> (LogRelStrike -> LogRelStrike -> Bool) -> Eq LogRelStrike
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LogRelStrike -> LogRelStrike -> Bool
$c/= :: LogRelStrike -> LogRelStrike -> Bool
== :: LogRelStrike -> LogRelStrike -> Bool
$c== :: LogRelStrike -> LogRelStrike -> Bool
Eq, Int -> LogRelStrike -> ShowS
[LogRelStrike] -> ShowS
LogRelStrike -> String
(Int -> LogRelStrike -> ShowS)
-> (LogRelStrike -> String)
-> ([LogRelStrike] -> ShowS)
-> Show LogRelStrike
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LogRelStrike] -> ShowS
$cshowList :: [LogRelStrike] -> ShowS
show :: LogRelStrike -> String
$cshow :: LogRelStrike -> String
showsPrec :: Int -> LogRelStrike -> ShowS
$cshowsPrec :: Int -> LogRelStrike -> ShowS
Show, ReadPrec [LogRelStrike]
ReadPrec LogRelStrike
Int -> ReadS LogRelStrike
ReadS [LogRelStrike]
(Int -> ReadS LogRelStrike)
-> ReadS [LogRelStrike]
-> ReadPrec LogRelStrike
-> ReadPrec [LogRelStrike]
-> Read LogRelStrike
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [LogRelStrike]
$creadListPrec :: ReadPrec [LogRelStrike]
readPrec :: ReadPrec LogRelStrike
$creadPrec :: ReadPrec LogRelStrike
readList :: ReadS [LogRelStrike]
$creadList :: ReadS [LogRelStrike]
readsPrec :: Int -> ReadS LogRelStrike
$creadsPrec :: Int -> ReadS LogRelStrike
Read, Eq LogRelStrike
Eq LogRelStrike
-> (LogRelStrike -> LogRelStrike -> Ordering)
-> (LogRelStrike -> LogRelStrike -> Bool)
-> (LogRelStrike -> LogRelStrike -> Bool)
-> (LogRelStrike -> LogRelStrike -> Bool)
-> (LogRelStrike -> LogRelStrike -> Bool)
-> (LogRelStrike -> LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike -> LogRelStrike)
-> Ord LogRelStrike
LogRelStrike -> LogRelStrike -> Bool
LogRelStrike -> LogRelStrike -> Ordering
LogRelStrike -> LogRelStrike -> LogRelStrike
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: LogRelStrike -> LogRelStrike -> LogRelStrike
$cmin :: LogRelStrike -> LogRelStrike -> LogRelStrike
max :: LogRelStrike -> LogRelStrike -> LogRelStrike
$cmax :: LogRelStrike -> LogRelStrike -> LogRelStrike
>= :: LogRelStrike -> LogRelStrike -> Bool
$c>= :: LogRelStrike -> LogRelStrike -> Bool
> :: LogRelStrike -> LogRelStrike -> Bool
$c> :: LogRelStrike -> LogRelStrike -> Bool
<= :: LogRelStrike -> LogRelStrike -> Bool
$c<= :: LogRelStrike -> LogRelStrike -> Bool
< :: LogRelStrike -> LogRelStrike -> Bool
$c< :: LogRelStrike -> LogRelStrike -> Bool
compare :: LogRelStrike -> LogRelStrike -> Ordering
$ccompare :: LogRelStrike -> LogRelStrike -> Ordering
$cp1Ord :: Eq LogRelStrike
Ord, Integer -> LogRelStrike
LogRelStrike -> LogRelStrike
LogRelStrike -> LogRelStrike -> LogRelStrike
(LogRelStrike -> LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (Integer -> LogRelStrike)
-> Num LogRelStrike
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> LogRelStrike
$cfromInteger :: Integer -> LogRelStrike
signum :: LogRelStrike -> LogRelStrike
$csignum :: LogRelStrike -> LogRelStrike
abs :: LogRelStrike -> LogRelStrike
$cabs :: LogRelStrike -> LogRelStrike
negate :: LogRelStrike -> LogRelStrike
$cnegate :: LogRelStrike -> LogRelStrike
* :: LogRelStrike -> LogRelStrike -> LogRelStrike
$c* :: LogRelStrike -> LogRelStrike -> LogRelStrike
- :: LogRelStrike -> LogRelStrike -> LogRelStrike
$c- :: LogRelStrike -> LogRelStrike -> LogRelStrike
+ :: LogRelStrike -> LogRelStrike -> LogRelStrike
$c+ :: LogRelStrike -> LogRelStrike -> LogRelStrike
Num, Num LogRelStrike
Num LogRelStrike
-> (LogRelStrike -> LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (Rational -> LogRelStrike)
-> Fractional LogRelStrike
Rational -> LogRelStrike
LogRelStrike -> LogRelStrike
LogRelStrike -> LogRelStrike -> LogRelStrike
forall a.
Num a
-> (a -> a -> a) -> (a -> a) -> (Rational -> a) -> Fractional a
fromRational :: Rational -> LogRelStrike
$cfromRational :: Rational -> LogRelStrike
recip :: LogRelStrike -> LogRelStrike
$crecip :: LogRelStrike -> LogRelStrike
/ :: LogRelStrike -> LogRelStrike -> LogRelStrike
$c/ :: LogRelStrike -> LogRelStrike -> LogRelStrike
$cp1Fractional :: Num LogRelStrike
Fractional, Num LogRelStrike
Ord LogRelStrike
Num LogRelStrike
-> Ord LogRelStrike
-> (LogRelStrike -> Rational)
-> Real LogRelStrike
LogRelStrike -> Rational
forall a. Num a -> Ord a -> (a -> Rational) -> Real a
toRational :: LogRelStrike -> Rational
$ctoRational :: LogRelStrike -> Rational
$cp2Real :: Ord LogRelStrike
$cp1Real :: Num LogRelStrike
Real, Fractional LogRelStrike
Real LogRelStrike
Real LogRelStrike
-> Fractional LogRelStrike
-> (forall b. Integral b => LogRelStrike -> (b, LogRelStrike))
-> (forall b. Integral b => LogRelStrike -> b)
-> (forall b. Integral b => LogRelStrike -> b)
-> (forall b. Integral b => LogRelStrike -> b)
-> (forall b. Integral b => LogRelStrike -> b)
-> RealFrac LogRelStrike
LogRelStrike -> b
LogRelStrike -> b
LogRelStrike -> b
LogRelStrike -> b
LogRelStrike -> (b, LogRelStrike)
forall b. Integral b => LogRelStrike -> b
forall b. Integral b => LogRelStrike -> (b, LogRelStrike)
forall a.
Real a
-> Fractional a
-> (forall b. Integral b => a -> (b, a))
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> RealFrac a
floor :: LogRelStrike -> b
$cfloor :: forall b. Integral b => LogRelStrike -> b
ceiling :: LogRelStrike -> b
$cceiling :: forall b. Integral b => LogRelStrike -> b
round :: LogRelStrike -> b
$cround :: forall b. Integral b => LogRelStrike -> b
truncate :: LogRelStrike -> b
$ctruncate :: forall b. Integral b => LogRelStrike -> b
properFraction :: LogRelStrike -> (b, LogRelStrike)
$cproperFraction :: forall b. Integral b => LogRelStrike -> (b, LogRelStrike)
$cp2RealFrac :: Fractional LogRelStrike
$cp1RealFrac :: Real LogRelStrike
RealFrac, Floating LogRelStrike
RealFrac LogRelStrike
RealFrac LogRelStrike
-> Floating LogRelStrike
-> (LogRelStrike -> Integer)
-> (LogRelStrike -> Int)
-> (LogRelStrike -> (Int, Int))
-> (LogRelStrike -> (Integer, Int))
-> (Integer -> Int -> LogRelStrike)
-> (LogRelStrike -> Int)
-> (LogRelStrike -> LogRelStrike)
-> (Int -> LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> Bool)
-> (LogRelStrike -> Bool)
-> (LogRelStrike -> Bool)
-> (LogRelStrike -> Bool)
-> (LogRelStrike -> Bool)
-> (LogRelStrike -> LogRelStrike -> LogRelStrike)
-> RealFloat LogRelStrike
Int -> LogRelStrike -> LogRelStrike
Integer -> Int -> LogRelStrike
LogRelStrike -> Bool
LogRelStrike -> Int
LogRelStrike -> Integer
LogRelStrike -> (Int, Int)
LogRelStrike -> (Integer, Int)
LogRelStrike -> LogRelStrike
LogRelStrike -> LogRelStrike -> LogRelStrike
forall a.
RealFrac a
-> Floating a
-> (a -> Integer)
-> (a -> Int)
-> (a -> (Int, Int))
-> (a -> (Integer, Int))
-> (Integer -> Int -> a)
-> (a -> Int)
-> (a -> a)
-> (Int -> a -> a)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> a -> a)
-> RealFloat a
atan2 :: LogRelStrike -> LogRelStrike -> LogRelStrike
$catan2 :: LogRelStrike -> LogRelStrike -> LogRelStrike
isIEEE :: LogRelStrike -> Bool
$cisIEEE :: LogRelStrike -> Bool
isNegativeZero :: LogRelStrike -> Bool
$cisNegativeZero :: LogRelStrike -> Bool
isDenormalized :: LogRelStrike -> Bool
$cisDenormalized :: LogRelStrike -> Bool
isInfinite :: LogRelStrike -> Bool
$cisInfinite :: LogRelStrike -> Bool
isNaN :: LogRelStrike -> Bool
$cisNaN :: LogRelStrike -> Bool
scaleFloat :: Int -> LogRelStrike -> LogRelStrike
$cscaleFloat :: Int -> LogRelStrike -> LogRelStrike
significand :: LogRelStrike -> LogRelStrike
$csignificand :: LogRelStrike -> LogRelStrike
exponent :: LogRelStrike -> Int
$cexponent :: LogRelStrike -> Int
encodeFloat :: Integer -> Int -> LogRelStrike
$cencodeFloat :: Integer -> Int -> LogRelStrike
decodeFloat :: LogRelStrike -> (Integer, Int)
$cdecodeFloat :: LogRelStrike -> (Integer, Int)
floatRange :: LogRelStrike -> (Int, Int)
$cfloatRange :: LogRelStrike -> (Int, Int)
floatDigits :: LogRelStrike -> Int
$cfloatDigits :: LogRelStrike -> Int
floatRadix :: LogRelStrike -> Integer
$cfloatRadix :: LogRelStrike -> Integer
$cp2RealFloat :: Floating LogRelStrike
$cp1RealFloat :: RealFrac LogRelStrike
RealFloat, Fractional LogRelStrike
LogRelStrike
Fractional LogRelStrike
-> LogRelStrike
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> (LogRelStrike -> LogRelStrike)
-> Floating LogRelStrike
LogRelStrike -> LogRelStrike
LogRelStrike -> LogRelStrike -> LogRelStrike
forall a.
Fractional a
-> a
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> Floating a
log1mexp :: LogRelStrike -> LogRelStrike
$clog1mexp :: LogRelStrike -> LogRelStrike
log1pexp :: LogRelStrike -> LogRelStrike
$clog1pexp :: LogRelStrike -> LogRelStrike
expm1 :: LogRelStrike -> LogRelStrike
$cexpm1 :: LogRelStrike -> LogRelStrike
log1p :: LogRelStrike -> LogRelStrike
$clog1p :: LogRelStrike -> LogRelStrike
atanh :: LogRelStrike -> LogRelStrike
$catanh :: LogRelStrike -> LogRelStrike
acosh :: LogRelStrike -> LogRelStrike
$cacosh :: LogRelStrike -> LogRelStrike
asinh :: LogRelStrike -> LogRelStrike
$casinh :: LogRelStrike -> LogRelStrike
tanh :: LogRelStrike -> LogRelStrike
$ctanh :: LogRelStrike -> LogRelStrike
cosh :: LogRelStrike -> LogRelStrike
$ccosh :: LogRelStrike -> LogRelStrike
sinh :: LogRelStrike -> LogRelStrike
$csinh :: LogRelStrike -> LogRelStrike
atan :: LogRelStrike -> LogRelStrike
$catan :: LogRelStrike -> LogRelStrike
acos :: LogRelStrike -> LogRelStrike
$cacos :: LogRelStrike -> LogRelStrike
asin :: LogRelStrike -> LogRelStrike
$casin :: LogRelStrike -> LogRelStrike
tan :: LogRelStrike -> LogRelStrike
$ctan :: LogRelStrike -> LogRelStrike
cos :: LogRelStrike -> LogRelStrike
$ccos :: LogRelStrike -> LogRelStrike
sin :: LogRelStrike -> LogRelStrike
$csin :: LogRelStrike -> LogRelStrike
logBase :: LogRelStrike -> LogRelStrike -> LogRelStrike
$clogBase :: LogRelStrike -> LogRelStrike -> LogRelStrike
** :: LogRelStrike -> LogRelStrike -> LogRelStrike
$c** :: LogRelStrike -> LogRelStrike -> LogRelStrike
sqrt :: LogRelStrike -> LogRelStrike
$csqrt :: LogRelStrike -> LogRelStrike
log :: LogRelStrike -> LogRelStrike
$clog :: LogRelStrike -> LogRelStrike
exp :: LogRelStrike -> LogRelStrike
$cexp :: LogRelStrike -> LogRelStrike
pi :: LogRelStrike
$cpi :: LogRelStrike
$cp1Floating :: Fractional LogRelStrike
Floating, Ptr b -> Int -> IO LogRelStrike
Ptr b -> Int -> LogRelStrike -> IO ()
Ptr LogRelStrike -> IO LogRelStrike
Ptr LogRelStrike -> Int -> IO LogRelStrike
Ptr LogRelStrike -> Int -> LogRelStrike -> IO ()
Ptr LogRelStrike -> LogRelStrike -> IO ()
LogRelStrike -> Int
(LogRelStrike -> Int)
-> (LogRelStrike -> Int)
-> (Ptr LogRelStrike -> Int -> IO LogRelStrike)
-> (Ptr LogRelStrike -> Int -> LogRelStrike -> IO ())
-> (forall b. Ptr b -> Int -> IO LogRelStrike)
-> (forall b. Ptr b -> Int -> LogRelStrike -> IO ())
-> (Ptr LogRelStrike -> IO LogRelStrike)
-> (Ptr LogRelStrike -> LogRelStrike -> IO ())
-> Storable LogRelStrike
forall b. Ptr b -> Int -> IO LogRelStrike
forall b. Ptr b -> Int -> LogRelStrike -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr LogRelStrike -> LogRelStrike -> IO ()
$cpoke :: Ptr LogRelStrike -> LogRelStrike -> IO ()
peek :: Ptr LogRelStrike -> IO LogRelStrike
$cpeek :: Ptr LogRelStrike -> IO LogRelStrike
pokeByteOff :: Ptr b -> Int -> LogRelStrike -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> LogRelStrike -> IO ()
peekByteOff :: Ptr b -> Int -> IO LogRelStrike
$cpeekByteOff :: forall b. Ptr b -> Int -> IO LogRelStrike
pokeElemOff :: Ptr LogRelStrike -> Int -> LogRelStrike -> IO ()
$cpokeElemOff :: Ptr LogRelStrike -> Int -> LogRelStrike -> IO ()
peekElemOff :: Ptr LogRelStrike -> Int -> IO LogRelStrike
$cpeekElemOff :: Ptr LogRelStrike -> Int -> IO LogRelStrike
alignment :: LogRelStrike -> Int
$calignment :: LogRelStrike -> Int
sizeOf :: LogRelStrike -> Int
$csizeOf :: LogRelStrike -> Int
Storable)

newtype MoneynessForwardStrike = MoneynessForward Double
  deriving ((forall x. MoneynessForwardStrike -> Rep MoneynessForwardStrike x)
-> (forall x.
    Rep MoneynessForwardStrike x -> MoneynessForwardStrike)
-> Generic MoneynessForwardStrike
forall x. Rep MoneynessForwardStrike x -> MoneynessForwardStrike
forall x. MoneynessForwardStrike -> Rep MoneynessForwardStrike x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep MoneynessForwardStrike x -> MoneynessForwardStrike
$cfrom :: forall x. MoneynessForwardStrike -> Rep MoneynessForwardStrike x
Generic, MoneynessForwardStrike -> MoneynessForwardStrike -> Bool
(MoneynessForwardStrike -> MoneynessForwardStrike -> Bool)
-> (MoneynessForwardStrike -> MoneynessForwardStrike -> Bool)
-> Eq MoneynessForwardStrike
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MoneynessForwardStrike -> MoneynessForwardStrike -> Bool
$c/= :: MoneynessForwardStrike -> MoneynessForwardStrike -> Bool
== :: MoneynessForwardStrike -> MoneynessForwardStrike -> Bool
$c== :: MoneynessForwardStrike -> MoneynessForwardStrike -> Bool
Eq, Int -> MoneynessForwardStrike -> ShowS
[MoneynessForwardStrike] -> ShowS
MoneynessForwardStrike -> String
(Int -> MoneynessForwardStrike -> ShowS)
-> (MoneynessForwardStrike -> String)
-> ([MoneynessForwardStrike] -> ShowS)
-> Show MoneynessForwardStrike
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MoneynessForwardStrike] -> ShowS
$cshowList :: [MoneynessForwardStrike] -> ShowS
show :: MoneynessForwardStrike -> String
$cshow :: MoneynessForwardStrike -> String
showsPrec :: Int -> MoneynessForwardStrike -> ShowS
$cshowsPrec :: Int -> MoneynessForwardStrike -> ShowS
Show, ReadPrec [MoneynessForwardStrike]
ReadPrec MoneynessForwardStrike
Int -> ReadS MoneynessForwardStrike
ReadS [MoneynessForwardStrike]
(Int -> ReadS MoneynessForwardStrike)
-> ReadS [MoneynessForwardStrike]
-> ReadPrec MoneynessForwardStrike
-> ReadPrec [MoneynessForwardStrike]
-> Read MoneynessForwardStrike
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [MoneynessForwardStrike]
$creadListPrec :: ReadPrec [MoneynessForwardStrike]
readPrec :: ReadPrec MoneynessForwardStrike
$creadPrec :: ReadPrec MoneynessForwardStrike
readList :: ReadS [MoneynessForwardStrike]
$creadList :: ReadS [MoneynessForwardStrike]
readsPrec :: Int -> ReadS MoneynessForwardStrike
$creadsPrec :: Int -> ReadS MoneynessForwardStrike
Read, Eq MoneynessForwardStrike
Eq MoneynessForwardStrike
-> (MoneynessForwardStrike -> MoneynessForwardStrike -> Ordering)
-> (MoneynessForwardStrike -> MoneynessForwardStrike -> Bool)
-> (MoneynessForwardStrike -> MoneynessForwardStrike -> Bool)
-> (MoneynessForwardStrike -> MoneynessForwardStrike -> Bool)
-> (MoneynessForwardStrike -> MoneynessForwardStrike -> Bool)
-> (MoneynessForwardStrike
    -> MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike
    -> MoneynessForwardStrike -> MoneynessForwardStrike)
-> Ord MoneynessForwardStrike
MoneynessForwardStrike -> MoneynessForwardStrike -> Bool
MoneynessForwardStrike -> MoneynessForwardStrike -> Ordering
MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
$cmin :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
max :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
$cmax :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
>= :: MoneynessForwardStrike -> MoneynessForwardStrike -> Bool
$c>= :: MoneynessForwardStrike -> MoneynessForwardStrike -> Bool
> :: MoneynessForwardStrike -> MoneynessForwardStrike -> Bool
$c> :: MoneynessForwardStrike -> MoneynessForwardStrike -> Bool
<= :: MoneynessForwardStrike -> MoneynessForwardStrike -> Bool
$c<= :: MoneynessForwardStrike -> MoneynessForwardStrike -> Bool
< :: MoneynessForwardStrike -> MoneynessForwardStrike -> Bool
$c< :: MoneynessForwardStrike -> MoneynessForwardStrike -> Bool
compare :: MoneynessForwardStrike -> MoneynessForwardStrike -> Ordering
$ccompare :: MoneynessForwardStrike -> MoneynessForwardStrike -> Ordering
$cp1Ord :: Eq MoneynessForwardStrike
Ord, Integer -> MoneynessForwardStrike
MoneynessForwardStrike -> MoneynessForwardStrike
MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
(MoneynessForwardStrike
 -> MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike
    -> MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike
    -> MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (Integer -> MoneynessForwardStrike)
-> Num MoneynessForwardStrike
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> MoneynessForwardStrike
$cfromInteger :: Integer -> MoneynessForwardStrike
signum :: MoneynessForwardStrike -> MoneynessForwardStrike
$csignum :: MoneynessForwardStrike -> MoneynessForwardStrike
abs :: MoneynessForwardStrike -> MoneynessForwardStrike
$cabs :: MoneynessForwardStrike -> MoneynessForwardStrike
negate :: MoneynessForwardStrike -> MoneynessForwardStrike
$cnegate :: MoneynessForwardStrike -> MoneynessForwardStrike
* :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
$c* :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
- :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
$c- :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
+ :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
$c+ :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
Num, Num MoneynessForwardStrike
Num MoneynessForwardStrike
-> (MoneynessForwardStrike
    -> MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (Rational -> MoneynessForwardStrike)
-> Fractional MoneynessForwardStrike
Rational -> MoneynessForwardStrike
MoneynessForwardStrike -> MoneynessForwardStrike
MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
forall a.
Num a
-> (a -> a -> a) -> (a -> a) -> (Rational -> a) -> Fractional a
fromRational :: Rational -> MoneynessForwardStrike
$cfromRational :: Rational -> MoneynessForwardStrike
recip :: MoneynessForwardStrike -> MoneynessForwardStrike
$crecip :: MoneynessForwardStrike -> MoneynessForwardStrike
/ :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
$c/ :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
$cp1Fractional :: Num MoneynessForwardStrike
Fractional, Num MoneynessForwardStrike
Ord MoneynessForwardStrike
Num MoneynessForwardStrike
-> Ord MoneynessForwardStrike
-> (MoneynessForwardStrike -> Rational)
-> Real MoneynessForwardStrike
MoneynessForwardStrike -> Rational
forall a. Num a -> Ord a -> (a -> Rational) -> Real a
toRational :: MoneynessForwardStrike -> Rational
$ctoRational :: MoneynessForwardStrike -> Rational
$cp2Real :: Ord MoneynessForwardStrike
$cp1Real :: Num MoneynessForwardStrike
Real, Fractional MoneynessForwardStrike
Real MoneynessForwardStrike
Real MoneynessForwardStrike
-> Fractional MoneynessForwardStrike
-> (forall b.
    Integral b =>
    MoneynessForwardStrike -> (b, MoneynessForwardStrike))
-> (forall b. Integral b => MoneynessForwardStrike -> b)
-> (forall b. Integral b => MoneynessForwardStrike -> b)
-> (forall b. Integral b => MoneynessForwardStrike -> b)
-> (forall b. Integral b => MoneynessForwardStrike -> b)
-> RealFrac MoneynessForwardStrike
MoneynessForwardStrike -> b
MoneynessForwardStrike -> b
MoneynessForwardStrike -> b
MoneynessForwardStrike -> b
MoneynessForwardStrike -> (b, MoneynessForwardStrike)
forall b. Integral b => MoneynessForwardStrike -> b
forall b.
Integral b =>
MoneynessForwardStrike -> (b, MoneynessForwardStrike)
forall a.
Real a
-> Fractional a
-> (forall b. Integral b => a -> (b, a))
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> RealFrac a
floor :: MoneynessForwardStrike -> b
$cfloor :: forall b. Integral b => MoneynessForwardStrike -> b
ceiling :: MoneynessForwardStrike -> b
$cceiling :: forall b. Integral b => MoneynessForwardStrike -> b
round :: MoneynessForwardStrike -> b
$cround :: forall b. Integral b => MoneynessForwardStrike -> b
truncate :: MoneynessForwardStrike -> b
$ctruncate :: forall b. Integral b => MoneynessForwardStrike -> b
properFraction :: MoneynessForwardStrike -> (b, MoneynessForwardStrike)
$cproperFraction :: forall b.
Integral b =>
MoneynessForwardStrike -> (b, MoneynessForwardStrike)
$cp2RealFrac :: Fractional MoneynessForwardStrike
$cp1RealFrac :: Real MoneynessForwardStrike
RealFrac, Floating MoneynessForwardStrike
RealFrac MoneynessForwardStrike
RealFrac MoneynessForwardStrike
-> Floating MoneynessForwardStrike
-> (MoneynessForwardStrike -> Integer)
-> (MoneynessForwardStrike -> Int)
-> (MoneynessForwardStrike -> (Int, Int))
-> (MoneynessForwardStrike -> (Integer, Int))
-> (Integer -> Int -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> Int)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (Int -> MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> Bool)
-> (MoneynessForwardStrike -> Bool)
-> (MoneynessForwardStrike -> Bool)
-> (MoneynessForwardStrike -> Bool)
-> (MoneynessForwardStrike -> Bool)
-> (MoneynessForwardStrike
    -> MoneynessForwardStrike -> MoneynessForwardStrike)
-> RealFloat MoneynessForwardStrike
Int -> MoneynessForwardStrike -> MoneynessForwardStrike
Integer -> Int -> MoneynessForwardStrike
MoneynessForwardStrike -> Bool
MoneynessForwardStrike -> Int
MoneynessForwardStrike -> Integer
MoneynessForwardStrike -> (Int, Int)
MoneynessForwardStrike -> (Integer, Int)
MoneynessForwardStrike -> MoneynessForwardStrike
MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
forall a.
RealFrac a
-> Floating a
-> (a -> Integer)
-> (a -> Int)
-> (a -> (Int, Int))
-> (a -> (Integer, Int))
-> (Integer -> Int -> a)
-> (a -> Int)
-> (a -> a)
-> (Int -> a -> a)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> a -> a)
-> RealFloat a
atan2 :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
$catan2 :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
isIEEE :: MoneynessForwardStrike -> Bool
$cisIEEE :: MoneynessForwardStrike -> Bool
isNegativeZero :: MoneynessForwardStrike -> Bool
$cisNegativeZero :: MoneynessForwardStrike -> Bool
isDenormalized :: MoneynessForwardStrike -> Bool
$cisDenormalized :: MoneynessForwardStrike -> Bool
isInfinite :: MoneynessForwardStrike -> Bool
$cisInfinite :: MoneynessForwardStrike -> Bool
isNaN :: MoneynessForwardStrike -> Bool
$cisNaN :: MoneynessForwardStrike -> Bool
scaleFloat :: Int -> MoneynessForwardStrike -> MoneynessForwardStrike
$cscaleFloat :: Int -> MoneynessForwardStrike -> MoneynessForwardStrike
significand :: MoneynessForwardStrike -> MoneynessForwardStrike
$csignificand :: MoneynessForwardStrike -> MoneynessForwardStrike
exponent :: MoneynessForwardStrike -> Int
$cexponent :: MoneynessForwardStrike -> Int
encodeFloat :: Integer -> Int -> MoneynessForwardStrike
$cencodeFloat :: Integer -> Int -> MoneynessForwardStrike
decodeFloat :: MoneynessForwardStrike -> (Integer, Int)
$cdecodeFloat :: MoneynessForwardStrike -> (Integer, Int)
floatRange :: MoneynessForwardStrike -> (Int, Int)
$cfloatRange :: MoneynessForwardStrike -> (Int, Int)
floatDigits :: MoneynessForwardStrike -> Int
$cfloatDigits :: MoneynessForwardStrike -> Int
floatRadix :: MoneynessForwardStrike -> Integer
$cfloatRadix :: MoneynessForwardStrike -> Integer
$cp2RealFloat :: Floating MoneynessForwardStrike
$cp1RealFloat :: RealFrac MoneynessForwardStrike
RealFloat, Fractional MoneynessForwardStrike
MoneynessForwardStrike
Fractional MoneynessForwardStrike
-> MoneynessForwardStrike
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike
    -> MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike
    -> MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> (MoneynessForwardStrike -> MoneynessForwardStrike)
-> Floating MoneynessForwardStrike
MoneynessForwardStrike -> MoneynessForwardStrike
MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
forall a.
Fractional a
-> a
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> Floating a
log1mexp :: MoneynessForwardStrike -> MoneynessForwardStrike
$clog1mexp :: MoneynessForwardStrike -> MoneynessForwardStrike
log1pexp :: MoneynessForwardStrike -> MoneynessForwardStrike
$clog1pexp :: MoneynessForwardStrike -> MoneynessForwardStrike
expm1 :: MoneynessForwardStrike -> MoneynessForwardStrike
$cexpm1 :: MoneynessForwardStrike -> MoneynessForwardStrike
log1p :: MoneynessForwardStrike -> MoneynessForwardStrike
$clog1p :: MoneynessForwardStrike -> MoneynessForwardStrike
atanh :: MoneynessForwardStrike -> MoneynessForwardStrike
$catanh :: MoneynessForwardStrike -> MoneynessForwardStrike
acosh :: MoneynessForwardStrike -> MoneynessForwardStrike
$cacosh :: MoneynessForwardStrike -> MoneynessForwardStrike
asinh :: MoneynessForwardStrike -> MoneynessForwardStrike
$casinh :: MoneynessForwardStrike -> MoneynessForwardStrike
tanh :: MoneynessForwardStrike -> MoneynessForwardStrike
$ctanh :: MoneynessForwardStrike -> MoneynessForwardStrike
cosh :: MoneynessForwardStrike -> MoneynessForwardStrike
$ccosh :: MoneynessForwardStrike -> MoneynessForwardStrike
sinh :: MoneynessForwardStrike -> MoneynessForwardStrike
$csinh :: MoneynessForwardStrike -> MoneynessForwardStrike
atan :: MoneynessForwardStrike -> MoneynessForwardStrike
$catan :: MoneynessForwardStrike -> MoneynessForwardStrike
acos :: MoneynessForwardStrike -> MoneynessForwardStrike
$cacos :: MoneynessForwardStrike -> MoneynessForwardStrike
asin :: MoneynessForwardStrike -> MoneynessForwardStrike
$casin :: MoneynessForwardStrike -> MoneynessForwardStrike
tan :: MoneynessForwardStrike -> MoneynessForwardStrike
$ctan :: MoneynessForwardStrike -> MoneynessForwardStrike
cos :: MoneynessForwardStrike -> MoneynessForwardStrike
$ccos :: MoneynessForwardStrike -> MoneynessForwardStrike
sin :: MoneynessForwardStrike -> MoneynessForwardStrike
$csin :: MoneynessForwardStrike -> MoneynessForwardStrike
logBase :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
$clogBase :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
** :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
$c** :: MoneynessForwardStrike
-> MoneynessForwardStrike -> MoneynessForwardStrike
sqrt :: MoneynessForwardStrike -> MoneynessForwardStrike
$csqrt :: MoneynessForwardStrike -> MoneynessForwardStrike
log :: MoneynessForwardStrike -> MoneynessForwardStrike
$clog :: MoneynessForwardStrike -> MoneynessForwardStrike
exp :: MoneynessForwardStrike -> MoneynessForwardStrike
$cexp :: MoneynessForwardStrike -> MoneynessForwardStrike
pi :: MoneynessForwardStrike
$cpi :: MoneynessForwardStrike
$cp1Floating :: Fractional MoneynessForwardStrike
Floating, Ptr b -> Int -> IO MoneynessForwardStrike
Ptr b -> Int -> MoneynessForwardStrike -> IO ()
Ptr MoneynessForwardStrike -> IO MoneynessForwardStrike
Ptr MoneynessForwardStrike -> Int -> IO MoneynessForwardStrike
Ptr MoneynessForwardStrike
-> Int -> MoneynessForwardStrike -> IO ()
Ptr MoneynessForwardStrike -> MoneynessForwardStrike -> IO ()
MoneynessForwardStrike -> Int
(MoneynessForwardStrike -> Int)
-> (MoneynessForwardStrike -> Int)
-> (Ptr MoneynessForwardStrike -> Int -> IO MoneynessForwardStrike)
-> (Ptr MoneynessForwardStrike
    -> Int -> MoneynessForwardStrike -> IO ())
-> (forall b. Ptr b -> Int -> IO MoneynessForwardStrike)
-> (forall b. Ptr b -> Int -> MoneynessForwardStrike -> IO ())
-> (Ptr MoneynessForwardStrike -> IO MoneynessForwardStrike)
-> (Ptr MoneynessForwardStrike -> MoneynessForwardStrike -> IO ())
-> Storable MoneynessForwardStrike
forall b. Ptr b -> Int -> IO MoneynessForwardStrike
forall b. Ptr b -> Int -> MoneynessForwardStrike -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr MoneynessForwardStrike -> MoneynessForwardStrike -> IO ()
$cpoke :: Ptr MoneynessForwardStrike -> MoneynessForwardStrike -> IO ()
peek :: Ptr MoneynessForwardStrike -> IO MoneynessForwardStrike
$cpeek :: Ptr MoneynessForwardStrike -> IO MoneynessForwardStrike
pokeByteOff :: Ptr b -> Int -> MoneynessForwardStrike -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> MoneynessForwardStrike -> IO ()
peekByteOff :: Ptr b -> Int -> IO MoneynessForwardStrike
$cpeekByteOff :: forall b. Ptr b -> Int -> IO MoneynessForwardStrike
pokeElemOff :: Ptr MoneynessForwardStrike
-> Int -> MoneynessForwardStrike -> IO ()
$cpokeElemOff :: Ptr MoneynessForwardStrike
-> Int -> MoneynessForwardStrike -> IO ()
peekElemOff :: Ptr MoneynessForwardStrike -> Int -> IO MoneynessForwardStrike
$cpeekElemOff :: Ptr MoneynessForwardStrike -> Int -> IO MoneynessForwardStrike
alignment :: MoneynessForwardStrike -> Int
$calignment :: MoneynessForwardStrike -> Int
sizeOf :: MoneynessForwardStrike -> Int
$csizeOf :: MoneynessForwardStrike -> Int
Storable)

newtype LogMoneynessForwardStrike = LogMoneynessForward Double
  deriving ((forall x.
 LogMoneynessForwardStrike -> Rep LogMoneynessForwardStrike x)
-> (forall x.
    Rep LogMoneynessForwardStrike x -> LogMoneynessForwardStrike)
-> Generic LogMoneynessForwardStrike
forall x.
Rep LogMoneynessForwardStrike x -> LogMoneynessForwardStrike
forall x.
LogMoneynessForwardStrike -> Rep LogMoneynessForwardStrike x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep LogMoneynessForwardStrike x -> LogMoneynessForwardStrike
$cfrom :: forall x.
LogMoneynessForwardStrike -> Rep LogMoneynessForwardStrike x
Generic, LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool
(LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool)
-> Eq LogMoneynessForwardStrike
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool
$c/= :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool
== :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool
$c== :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool
Eq, Int -> LogMoneynessForwardStrike -> ShowS
[LogMoneynessForwardStrike] -> ShowS
LogMoneynessForwardStrike -> String
(Int -> LogMoneynessForwardStrike -> ShowS)
-> (LogMoneynessForwardStrike -> String)
-> ([LogMoneynessForwardStrike] -> ShowS)
-> Show LogMoneynessForwardStrike
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LogMoneynessForwardStrike] -> ShowS
$cshowList :: [LogMoneynessForwardStrike] -> ShowS
show :: LogMoneynessForwardStrike -> String
$cshow :: LogMoneynessForwardStrike -> String
showsPrec :: Int -> LogMoneynessForwardStrike -> ShowS
$cshowsPrec :: Int -> LogMoneynessForwardStrike -> ShowS
Show, ReadPrec [LogMoneynessForwardStrike]
ReadPrec LogMoneynessForwardStrike
Int -> ReadS LogMoneynessForwardStrike
ReadS [LogMoneynessForwardStrike]
(Int -> ReadS LogMoneynessForwardStrike)
-> ReadS [LogMoneynessForwardStrike]
-> ReadPrec LogMoneynessForwardStrike
-> ReadPrec [LogMoneynessForwardStrike]
-> Read LogMoneynessForwardStrike
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [LogMoneynessForwardStrike]
$creadListPrec :: ReadPrec [LogMoneynessForwardStrike]
readPrec :: ReadPrec LogMoneynessForwardStrike
$creadPrec :: ReadPrec LogMoneynessForwardStrike
readList :: ReadS [LogMoneynessForwardStrike]
$creadList :: ReadS [LogMoneynessForwardStrike]
readsPrec :: Int -> ReadS LogMoneynessForwardStrike
$creadsPrec :: Int -> ReadS LogMoneynessForwardStrike
Read, Eq LogMoneynessForwardStrike
Eq LogMoneynessForwardStrike
-> (LogMoneynessForwardStrike
    -> LogMoneynessForwardStrike -> Ordering)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool)
-> (LogMoneynessForwardStrike
    -> LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike
    -> LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> Ord LogMoneynessForwardStrike
LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool
LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Ordering
LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$cmin :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
max :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$cmax :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
>= :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool
$c>= :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool
> :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool
$c> :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool
<= :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool
$c<= :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool
< :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool
$c< :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Bool
compare :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Ordering
$ccompare :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> Ordering
$cp1Ord :: Eq LogMoneynessForwardStrike
Ord, Integer -> LogMoneynessForwardStrike
LogMoneynessForwardStrike -> LogMoneynessForwardStrike
LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
(LogMoneynessForwardStrike
 -> LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike
    -> LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike
    -> LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (Integer -> LogMoneynessForwardStrike)
-> Num LogMoneynessForwardStrike
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> LogMoneynessForwardStrike
$cfromInteger :: Integer -> LogMoneynessForwardStrike
signum :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$csignum :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
abs :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$cabs :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
negate :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$cnegate :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
* :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$c* :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
- :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$c- :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
+ :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$c+ :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
Num, Num LogMoneynessForwardStrike
Num LogMoneynessForwardStrike
-> (LogMoneynessForwardStrike
    -> LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (Rational -> LogMoneynessForwardStrike)
-> Fractional LogMoneynessForwardStrike
Rational -> LogMoneynessForwardStrike
LogMoneynessForwardStrike -> LogMoneynessForwardStrike
LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
forall a.
Num a
-> (a -> a -> a) -> (a -> a) -> (Rational -> a) -> Fractional a
fromRational :: Rational -> LogMoneynessForwardStrike
$cfromRational :: Rational -> LogMoneynessForwardStrike
recip :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$crecip :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
/ :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$c/ :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$cp1Fractional :: Num LogMoneynessForwardStrike
Fractional, Num LogMoneynessForwardStrike
Ord LogMoneynessForwardStrike
Num LogMoneynessForwardStrike
-> Ord LogMoneynessForwardStrike
-> (LogMoneynessForwardStrike -> Rational)
-> Real LogMoneynessForwardStrike
LogMoneynessForwardStrike -> Rational
forall a. Num a -> Ord a -> (a -> Rational) -> Real a
toRational :: LogMoneynessForwardStrike -> Rational
$ctoRational :: LogMoneynessForwardStrike -> Rational
$cp2Real :: Ord LogMoneynessForwardStrike
$cp1Real :: Num LogMoneynessForwardStrike
Real, Fractional LogMoneynessForwardStrike
Real LogMoneynessForwardStrike
Real LogMoneynessForwardStrike
-> Fractional LogMoneynessForwardStrike
-> (forall b.
    Integral b =>
    LogMoneynessForwardStrike -> (b, LogMoneynessForwardStrike))
-> (forall b. Integral b => LogMoneynessForwardStrike -> b)
-> (forall b. Integral b => LogMoneynessForwardStrike -> b)
-> (forall b. Integral b => LogMoneynessForwardStrike -> b)
-> (forall b. Integral b => LogMoneynessForwardStrike -> b)
-> RealFrac LogMoneynessForwardStrike
LogMoneynessForwardStrike -> b
LogMoneynessForwardStrike -> b
LogMoneynessForwardStrike -> b
LogMoneynessForwardStrike -> b
LogMoneynessForwardStrike -> (b, LogMoneynessForwardStrike)
forall b. Integral b => LogMoneynessForwardStrike -> b
forall b.
Integral b =>
LogMoneynessForwardStrike -> (b, LogMoneynessForwardStrike)
forall a.
Real a
-> Fractional a
-> (forall b. Integral b => a -> (b, a))
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> RealFrac a
floor :: LogMoneynessForwardStrike -> b
$cfloor :: forall b. Integral b => LogMoneynessForwardStrike -> b
ceiling :: LogMoneynessForwardStrike -> b
$cceiling :: forall b. Integral b => LogMoneynessForwardStrike -> b
round :: LogMoneynessForwardStrike -> b
$cround :: forall b. Integral b => LogMoneynessForwardStrike -> b
truncate :: LogMoneynessForwardStrike -> b
$ctruncate :: forall b. Integral b => LogMoneynessForwardStrike -> b
properFraction :: LogMoneynessForwardStrike -> (b, LogMoneynessForwardStrike)
$cproperFraction :: forall b.
Integral b =>
LogMoneynessForwardStrike -> (b, LogMoneynessForwardStrike)
$cp2RealFrac :: Fractional LogMoneynessForwardStrike
$cp1RealFrac :: Real LogMoneynessForwardStrike
RealFrac, Floating LogMoneynessForwardStrike
RealFrac LogMoneynessForwardStrike
RealFrac LogMoneynessForwardStrike
-> Floating LogMoneynessForwardStrike
-> (LogMoneynessForwardStrike -> Integer)
-> (LogMoneynessForwardStrike -> Int)
-> (LogMoneynessForwardStrike -> (Int, Int))
-> (LogMoneynessForwardStrike -> (Integer, Int))
-> (Integer -> Int -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> Int)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (Int -> LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> Bool)
-> (LogMoneynessForwardStrike -> Bool)
-> (LogMoneynessForwardStrike -> Bool)
-> (LogMoneynessForwardStrike -> Bool)
-> (LogMoneynessForwardStrike -> Bool)
-> (LogMoneynessForwardStrike
    -> LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> RealFloat LogMoneynessForwardStrike
Int -> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
Integer -> Int -> LogMoneynessForwardStrike
LogMoneynessForwardStrike -> Bool
LogMoneynessForwardStrike -> Int
LogMoneynessForwardStrike -> Integer
LogMoneynessForwardStrike -> (Int, Int)
LogMoneynessForwardStrike -> (Integer, Int)
LogMoneynessForwardStrike -> LogMoneynessForwardStrike
LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
forall a.
RealFrac a
-> Floating a
-> (a -> Integer)
-> (a -> Int)
-> (a -> (Int, Int))
-> (a -> (Integer, Int))
-> (Integer -> Int -> a)
-> (a -> Int)
-> (a -> a)
-> (Int -> a -> a)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> a -> a)
-> RealFloat a
atan2 :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$catan2 :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
isIEEE :: LogMoneynessForwardStrike -> Bool
$cisIEEE :: LogMoneynessForwardStrike -> Bool
isNegativeZero :: LogMoneynessForwardStrike -> Bool
$cisNegativeZero :: LogMoneynessForwardStrike -> Bool
isDenormalized :: LogMoneynessForwardStrike -> Bool
$cisDenormalized :: LogMoneynessForwardStrike -> Bool
isInfinite :: LogMoneynessForwardStrike -> Bool
$cisInfinite :: LogMoneynessForwardStrike -> Bool
isNaN :: LogMoneynessForwardStrike -> Bool
$cisNaN :: LogMoneynessForwardStrike -> Bool
scaleFloat :: Int -> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$cscaleFloat :: Int -> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
significand :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$csignificand :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
exponent :: LogMoneynessForwardStrike -> Int
$cexponent :: LogMoneynessForwardStrike -> Int
encodeFloat :: Integer -> Int -> LogMoneynessForwardStrike
$cencodeFloat :: Integer -> Int -> LogMoneynessForwardStrike
decodeFloat :: LogMoneynessForwardStrike -> (Integer, Int)
$cdecodeFloat :: LogMoneynessForwardStrike -> (Integer, Int)
floatRange :: LogMoneynessForwardStrike -> (Int, Int)
$cfloatRange :: LogMoneynessForwardStrike -> (Int, Int)
floatDigits :: LogMoneynessForwardStrike -> Int
$cfloatDigits :: LogMoneynessForwardStrike -> Int
floatRadix :: LogMoneynessForwardStrike -> Integer
$cfloatRadix :: LogMoneynessForwardStrike -> Integer
$cp2RealFloat :: Floating LogMoneynessForwardStrike
$cp1RealFloat :: RealFrac LogMoneynessForwardStrike
RealFloat, Fractional LogMoneynessForwardStrike
LogMoneynessForwardStrike
Fractional LogMoneynessForwardStrike
-> LogMoneynessForwardStrike
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike
    -> LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike
    -> LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> (LogMoneynessForwardStrike -> LogMoneynessForwardStrike)
-> Floating LogMoneynessForwardStrike
LogMoneynessForwardStrike -> LogMoneynessForwardStrike
LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
forall a.
Fractional a
-> a
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> Floating a
log1mexp :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$clog1mexp :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
log1pexp :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$clog1pexp :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
expm1 :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$cexpm1 :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
log1p :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$clog1p :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
atanh :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$catanh :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
acosh :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$cacosh :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
asinh :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$casinh :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
tanh :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$ctanh :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
cosh :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$ccosh :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
sinh :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$csinh :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
atan :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$catan :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
acos :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$cacos :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
asin :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$casin :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
tan :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$ctan :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
cos :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$ccos :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
sin :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$csin :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
logBase :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$clogBase :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
** :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$c** :: LogMoneynessForwardStrike
-> LogMoneynessForwardStrike -> LogMoneynessForwardStrike
sqrt :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$csqrt :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
log :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$clog :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
exp :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
$cexp :: LogMoneynessForwardStrike -> LogMoneynessForwardStrike
pi :: LogMoneynessForwardStrike
$cpi :: LogMoneynessForwardStrike
$cp1Floating :: Fractional LogMoneynessForwardStrike
Floating, Ptr b -> Int -> IO LogMoneynessForwardStrike
Ptr b -> Int -> LogMoneynessForwardStrike -> IO ()
Ptr LogMoneynessForwardStrike -> IO LogMoneynessForwardStrike
Ptr LogMoneynessForwardStrike
-> Int -> IO LogMoneynessForwardStrike
Ptr LogMoneynessForwardStrike
-> Int -> LogMoneynessForwardStrike -> IO ()
Ptr LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> IO ()
LogMoneynessForwardStrike -> Int
(LogMoneynessForwardStrike -> Int)
-> (LogMoneynessForwardStrike -> Int)
-> (Ptr LogMoneynessForwardStrike
    -> Int -> IO LogMoneynessForwardStrike)
-> (Ptr LogMoneynessForwardStrike
    -> Int -> LogMoneynessForwardStrike -> IO ())
-> (forall b. Ptr b -> Int -> IO LogMoneynessForwardStrike)
-> (forall b. Ptr b -> Int -> LogMoneynessForwardStrike -> IO ())
-> (Ptr LogMoneynessForwardStrike -> IO LogMoneynessForwardStrike)
-> (Ptr LogMoneynessForwardStrike
    -> LogMoneynessForwardStrike -> IO ())
-> Storable LogMoneynessForwardStrike
forall b. Ptr b -> Int -> IO LogMoneynessForwardStrike
forall b. Ptr b -> Int -> LogMoneynessForwardStrike -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> IO ()
$cpoke :: Ptr LogMoneynessForwardStrike -> LogMoneynessForwardStrike -> IO ()
peek :: Ptr LogMoneynessForwardStrike -> IO LogMoneynessForwardStrike
$cpeek :: Ptr LogMoneynessForwardStrike -> IO LogMoneynessForwardStrike
pokeByteOff :: Ptr b -> Int -> LogMoneynessForwardStrike -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> LogMoneynessForwardStrike -> IO ()
peekByteOff :: Ptr b -> Int -> IO LogMoneynessForwardStrike
$cpeekByteOff :: forall b. Ptr b -> Int -> IO LogMoneynessForwardStrike
pokeElemOff :: Ptr LogMoneynessForwardStrike
-> Int -> LogMoneynessForwardStrike -> IO ()
$cpokeElemOff :: Ptr LogMoneynessForwardStrike
-> Int -> LogMoneynessForwardStrike -> IO ()
peekElemOff :: Ptr LogMoneynessForwardStrike
-> Int -> IO LogMoneynessForwardStrike
$cpeekElemOff :: Ptr LogMoneynessForwardStrike
-> Int -> IO LogMoneynessForwardStrike
alignment :: LogMoneynessForwardStrike -> Int
$calignment :: LogMoneynessForwardStrike -> Int
sizeOf :: LogMoneynessForwardStrike -> Int
$csizeOf :: LogMoneynessForwardStrike -> Int
Storable)

newtype MoneynessSpotStrike = MoneynessSpot Double
  deriving ((forall x. MoneynessSpotStrike -> Rep MoneynessSpotStrike x)
-> (forall x. Rep MoneynessSpotStrike x -> MoneynessSpotStrike)
-> Generic MoneynessSpotStrike
forall x. Rep MoneynessSpotStrike x -> MoneynessSpotStrike
forall x. MoneynessSpotStrike -> Rep MoneynessSpotStrike x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep MoneynessSpotStrike x -> MoneynessSpotStrike
$cfrom :: forall x. MoneynessSpotStrike -> Rep MoneynessSpotStrike x
Generic, MoneynessSpotStrike -> MoneynessSpotStrike -> Bool
(MoneynessSpotStrike -> MoneynessSpotStrike -> Bool)
-> (MoneynessSpotStrike -> MoneynessSpotStrike -> Bool)
-> Eq MoneynessSpotStrike
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MoneynessSpotStrike -> MoneynessSpotStrike -> Bool
$c/= :: MoneynessSpotStrike -> MoneynessSpotStrike -> Bool
== :: MoneynessSpotStrike -> MoneynessSpotStrike -> Bool
$c== :: MoneynessSpotStrike -> MoneynessSpotStrike -> Bool
Eq, Int -> MoneynessSpotStrike -> ShowS
[MoneynessSpotStrike] -> ShowS
MoneynessSpotStrike -> String
(Int -> MoneynessSpotStrike -> ShowS)
-> (MoneynessSpotStrike -> String)
-> ([MoneynessSpotStrike] -> ShowS)
-> Show MoneynessSpotStrike
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MoneynessSpotStrike] -> ShowS
$cshowList :: [MoneynessSpotStrike] -> ShowS
show :: MoneynessSpotStrike -> String
$cshow :: MoneynessSpotStrike -> String
showsPrec :: Int -> MoneynessSpotStrike -> ShowS
$cshowsPrec :: Int -> MoneynessSpotStrike -> ShowS
Show, ReadPrec [MoneynessSpotStrike]
ReadPrec MoneynessSpotStrike
Int -> ReadS MoneynessSpotStrike
ReadS [MoneynessSpotStrike]
(Int -> ReadS MoneynessSpotStrike)
-> ReadS [MoneynessSpotStrike]
-> ReadPrec MoneynessSpotStrike
-> ReadPrec [MoneynessSpotStrike]
-> Read MoneynessSpotStrike
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [MoneynessSpotStrike]
$creadListPrec :: ReadPrec [MoneynessSpotStrike]
readPrec :: ReadPrec MoneynessSpotStrike
$creadPrec :: ReadPrec MoneynessSpotStrike
readList :: ReadS [MoneynessSpotStrike]
$creadList :: ReadS [MoneynessSpotStrike]
readsPrec :: Int -> ReadS MoneynessSpotStrike
$creadsPrec :: Int -> ReadS MoneynessSpotStrike
Read, Eq MoneynessSpotStrike
Eq MoneynessSpotStrike
-> (MoneynessSpotStrike -> MoneynessSpotStrike -> Ordering)
-> (MoneynessSpotStrike -> MoneynessSpotStrike -> Bool)
-> (MoneynessSpotStrike -> MoneynessSpotStrike -> Bool)
-> (MoneynessSpotStrike -> MoneynessSpotStrike -> Bool)
-> (MoneynessSpotStrike -> MoneynessSpotStrike -> Bool)
-> (MoneynessSpotStrike
    -> MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike
    -> MoneynessSpotStrike -> MoneynessSpotStrike)
-> Ord MoneynessSpotStrike
MoneynessSpotStrike -> MoneynessSpotStrike -> Bool
MoneynessSpotStrike -> MoneynessSpotStrike -> Ordering
MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
$cmin :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
max :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
$cmax :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
>= :: MoneynessSpotStrike -> MoneynessSpotStrike -> Bool
$c>= :: MoneynessSpotStrike -> MoneynessSpotStrike -> Bool
> :: MoneynessSpotStrike -> MoneynessSpotStrike -> Bool
$c> :: MoneynessSpotStrike -> MoneynessSpotStrike -> Bool
<= :: MoneynessSpotStrike -> MoneynessSpotStrike -> Bool
$c<= :: MoneynessSpotStrike -> MoneynessSpotStrike -> Bool
< :: MoneynessSpotStrike -> MoneynessSpotStrike -> Bool
$c< :: MoneynessSpotStrike -> MoneynessSpotStrike -> Bool
compare :: MoneynessSpotStrike -> MoneynessSpotStrike -> Ordering
$ccompare :: MoneynessSpotStrike -> MoneynessSpotStrike -> Ordering
$cp1Ord :: Eq MoneynessSpotStrike
Ord, Integer -> MoneynessSpotStrike
MoneynessSpotStrike -> MoneynessSpotStrike
MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
(MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike
    -> MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike
    -> MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (Integer -> MoneynessSpotStrike)
-> Num MoneynessSpotStrike
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> MoneynessSpotStrike
$cfromInteger :: Integer -> MoneynessSpotStrike
signum :: MoneynessSpotStrike -> MoneynessSpotStrike
$csignum :: MoneynessSpotStrike -> MoneynessSpotStrike
abs :: MoneynessSpotStrike -> MoneynessSpotStrike
$cabs :: MoneynessSpotStrike -> MoneynessSpotStrike
negate :: MoneynessSpotStrike -> MoneynessSpotStrike
$cnegate :: MoneynessSpotStrike -> MoneynessSpotStrike
* :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
$c* :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
- :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
$c- :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
+ :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
$c+ :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
Num, Num MoneynessSpotStrike
Num MoneynessSpotStrike
-> (MoneynessSpotStrike
    -> MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (Rational -> MoneynessSpotStrike)
-> Fractional MoneynessSpotStrike
Rational -> MoneynessSpotStrike
MoneynessSpotStrike -> MoneynessSpotStrike
MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
forall a.
Num a
-> (a -> a -> a) -> (a -> a) -> (Rational -> a) -> Fractional a
fromRational :: Rational -> MoneynessSpotStrike
$cfromRational :: Rational -> MoneynessSpotStrike
recip :: MoneynessSpotStrike -> MoneynessSpotStrike
$crecip :: MoneynessSpotStrike -> MoneynessSpotStrike
/ :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
$c/ :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
$cp1Fractional :: Num MoneynessSpotStrike
Fractional, Num MoneynessSpotStrike
Ord MoneynessSpotStrike
Num MoneynessSpotStrike
-> Ord MoneynessSpotStrike
-> (MoneynessSpotStrike -> Rational)
-> Real MoneynessSpotStrike
MoneynessSpotStrike -> Rational
forall a. Num a -> Ord a -> (a -> Rational) -> Real a
toRational :: MoneynessSpotStrike -> Rational
$ctoRational :: MoneynessSpotStrike -> Rational
$cp2Real :: Ord MoneynessSpotStrike
$cp1Real :: Num MoneynessSpotStrike
Real, Fractional MoneynessSpotStrike
Real MoneynessSpotStrike
Real MoneynessSpotStrike
-> Fractional MoneynessSpotStrike
-> (forall b.
    Integral b =>
    MoneynessSpotStrike -> (b, MoneynessSpotStrike))
-> (forall b. Integral b => MoneynessSpotStrike -> b)
-> (forall b. Integral b => MoneynessSpotStrike -> b)
-> (forall b. Integral b => MoneynessSpotStrike -> b)
-> (forall b. Integral b => MoneynessSpotStrike -> b)
-> RealFrac MoneynessSpotStrike
MoneynessSpotStrike -> b
MoneynessSpotStrike -> b
MoneynessSpotStrike -> b
MoneynessSpotStrike -> b
MoneynessSpotStrike -> (b, MoneynessSpotStrike)
forall b. Integral b => MoneynessSpotStrike -> b
forall b.
Integral b =>
MoneynessSpotStrike -> (b, MoneynessSpotStrike)
forall a.
Real a
-> Fractional a
-> (forall b. Integral b => a -> (b, a))
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> RealFrac a
floor :: MoneynessSpotStrike -> b
$cfloor :: forall b. Integral b => MoneynessSpotStrike -> b
ceiling :: MoneynessSpotStrike -> b
$cceiling :: forall b. Integral b => MoneynessSpotStrike -> b
round :: MoneynessSpotStrike -> b
$cround :: forall b. Integral b => MoneynessSpotStrike -> b
truncate :: MoneynessSpotStrike -> b
$ctruncate :: forall b. Integral b => MoneynessSpotStrike -> b
properFraction :: MoneynessSpotStrike -> (b, MoneynessSpotStrike)
$cproperFraction :: forall b.
Integral b =>
MoneynessSpotStrike -> (b, MoneynessSpotStrike)
$cp2RealFrac :: Fractional MoneynessSpotStrike
$cp1RealFrac :: Real MoneynessSpotStrike
RealFrac, Floating MoneynessSpotStrike
RealFrac MoneynessSpotStrike
RealFrac MoneynessSpotStrike
-> Floating MoneynessSpotStrike
-> (MoneynessSpotStrike -> Integer)
-> (MoneynessSpotStrike -> Int)
-> (MoneynessSpotStrike -> (Int, Int))
-> (MoneynessSpotStrike -> (Integer, Int))
-> (Integer -> Int -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> Int)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (Int -> MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> Bool)
-> (MoneynessSpotStrike -> Bool)
-> (MoneynessSpotStrike -> Bool)
-> (MoneynessSpotStrike -> Bool)
-> (MoneynessSpotStrike -> Bool)
-> (MoneynessSpotStrike
    -> MoneynessSpotStrike -> MoneynessSpotStrike)
-> RealFloat MoneynessSpotStrike
Int -> MoneynessSpotStrike -> MoneynessSpotStrike
Integer -> Int -> MoneynessSpotStrike
MoneynessSpotStrike -> Bool
MoneynessSpotStrike -> Int
MoneynessSpotStrike -> Integer
MoneynessSpotStrike -> (Int, Int)
MoneynessSpotStrike -> (Integer, Int)
MoneynessSpotStrike -> MoneynessSpotStrike
MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
forall a.
RealFrac a
-> Floating a
-> (a -> Integer)
-> (a -> Int)
-> (a -> (Int, Int))
-> (a -> (Integer, Int))
-> (Integer -> Int -> a)
-> (a -> Int)
-> (a -> a)
-> (Int -> a -> a)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> a -> a)
-> RealFloat a
atan2 :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
$catan2 :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
isIEEE :: MoneynessSpotStrike -> Bool
$cisIEEE :: MoneynessSpotStrike -> Bool
isNegativeZero :: MoneynessSpotStrike -> Bool
$cisNegativeZero :: MoneynessSpotStrike -> Bool
isDenormalized :: MoneynessSpotStrike -> Bool
$cisDenormalized :: MoneynessSpotStrike -> Bool
isInfinite :: MoneynessSpotStrike -> Bool
$cisInfinite :: MoneynessSpotStrike -> Bool
isNaN :: MoneynessSpotStrike -> Bool
$cisNaN :: MoneynessSpotStrike -> Bool
scaleFloat :: Int -> MoneynessSpotStrike -> MoneynessSpotStrike
$cscaleFloat :: Int -> MoneynessSpotStrike -> MoneynessSpotStrike
significand :: MoneynessSpotStrike -> MoneynessSpotStrike
$csignificand :: MoneynessSpotStrike -> MoneynessSpotStrike
exponent :: MoneynessSpotStrike -> Int
$cexponent :: MoneynessSpotStrike -> Int
encodeFloat :: Integer -> Int -> MoneynessSpotStrike
$cencodeFloat :: Integer -> Int -> MoneynessSpotStrike
decodeFloat :: MoneynessSpotStrike -> (Integer, Int)
$cdecodeFloat :: MoneynessSpotStrike -> (Integer, Int)
floatRange :: MoneynessSpotStrike -> (Int, Int)
$cfloatRange :: MoneynessSpotStrike -> (Int, Int)
floatDigits :: MoneynessSpotStrike -> Int
$cfloatDigits :: MoneynessSpotStrike -> Int
floatRadix :: MoneynessSpotStrike -> Integer
$cfloatRadix :: MoneynessSpotStrike -> Integer
$cp2RealFloat :: Floating MoneynessSpotStrike
$cp1RealFloat :: RealFrac MoneynessSpotStrike
RealFloat, Fractional MoneynessSpotStrike
MoneynessSpotStrike
Fractional MoneynessSpotStrike
-> MoneynessSpotStrike
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike
    -> MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike
    -> MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> (MoneynessSpotStrike -> MoneynessSpotStrike)
-> Floating MoneynessSpotStrike
MoneynessSpotStrike -> MoneynessSpotStrike
MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
forall a.
Fractional a
-> a
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> Floating a
log1mexp :: MoneynessSpotStrike -> MoneynessSpotStrike
$clog1mexp :: MoneynessSpotStrike -> MoneynessSpotStrike
log1pexp :: MoneynessSpotStrike -> MoneynessSpotStrike
$clog1pexp :: MoneynessSpotStrike -> MoneynessSpotStrike
expm1 :: MoneynessSpotStrike -> MoneynessSpotStrike
$cexpm1 :: MoneynessSpotStrike -> MoneynessSpotStrike
log1p :: MoneynessSpotStrike -> MoneynessSpotStrike
$clog1p :: MoneynessSpotStrike -> MoneynessSpotStrike
atanh :: MoneynessSpotStrike -> MoneynessSpotStrike
$catanh :: MoneynessSpotStrike -> MoneynessSpotStrike
acosh :: MoneynessSpotStrike -> MoneynessSpotStrike
$cacosh :: MoneynessSpotStrike -> MoneynessSpotStrike
asinh :: MoneynessSpotStrike -> MoneynessSpotStrike
$casinh :: MoneynessSpotStrike -> MoneynessSpotStrike
tanh :: MoneynessSpotStrike -> MoneynessSpotStrike
$ctanh :: MoneynessSpotStrike -> MoneynessSpotStrike
cosh :: MoneynessSpotStrike -> MoneynessSpotStrike
$ccosh :: MoneynessSpotStrike -> MoneynessSpotStrike
sinh :: MoneynessSpotStrike -> MoneynessSpotStrike
$csinh :: MoneynessSpotStrike -> MoneynessSpotStrike
atan :: MoneynessSpotStrike -> MoneynessSpotStrike
$catan :: MoneynessSpotStrike -> MoneynessSpotStrike
acos :: MoneynessSpotStrike -> MoneynessSpotStrike
$cacos :: MoneynessSpotStrike -> MoneynessSpotStrike
asin :: MoneynessSpotStrike -> MoneynessSpotStrike
$casin :: MoneynessSpotStrike -> MoneynessSpotStrike
tan :: MoneynessSpotStrike -> MoneynessSpotStrike
$ctan :: MoneynessSpotStrike -> MoneynessSpotStrike
cos :: MoneynessSpotStrike -> MoneynessSpotStrike
$ccos :: MoneynessSpotStrike -> MoneynessSpotStrike
sin :: MoneynessSpotStrike -> MoneynessSpotStrike
$csin :: MoneynessSpotStrike -> MoneynessSpotStrike
logBase :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
$clogBase :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
** :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
$c** :: MoneynessSpotStrike -> MoneynessSpotStrike -> MoneynessSpotStrike
sqrt :: MoneynessSpotStrike -> MoneynessSpotStrike
$csqrt :: MoneynessSpotStrike -> MoneynessSpotStrike
log :: MoneynessSpotStrike -> MoneynessSpotStrike
$clog :: MoneynessSpotStrike -> MoneynessSpotStrike
exp :: MoneynessSpotStrike -> MoneynessSpotStrike
$cexp :: MoneynessSpotStrike -> MoneynessSpotStrike
pi :: MoneynessSpotStrike
$cpi :: MoneynessSpotStrike
$cp1Floating :: Fractional MoneynessSpotStrike
Floating, Ptr b -> Int -> IO MoneynessSpotStrike
Ptr b -> Int -> MoneynessSpotStrike -> IO ()
Ptr MoneynessSpotStrike -> IO MoneynessSpotStrike
Ptr MoneynessSpotStrike -> Int -> IO MoneynessSpotStrike
Ptr MoneynessSpotStrike -> Int -> MoneynessSpotStrike -> IO ()
Ptr MoneynessSpotStrike -> MoneynessSpotStrike -> IO ()
MoneynessSpotStrike -> Int
(MoneynessSpotStrike -> Int)
-> (MoneynessSpotStrike -> Int)
-> (Ptr MoneynessSpotStrike -> Int -> IO MoneynessSpotStrike)
-> (Ptr MoneynessSpotStrike -> Int -> MoneynessSpotStrike -> IO ())
-> (forall b. Ptr b -> Int -> IO MoneynessSpotStrike)
-> (forall b. Ptr b -> Int -> MoneynessSpotStrike -> IO ())
-> (Ptr MoneynessSpotStrike -> IO MoneynessSpotStrike)
-> (Ptr MoneynessSpotStrike -> MoneynessSpotStrike -> IO ())
-> Storable MoneynessSpotStrike
forall b. Ptr b -> Int -> IO MoneynessSpotStrike
forall b. Ptr b -> Int -> MoneynessSpotStrike -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr MoneynessSpotStrike -> MoneynessSpotStrike -> IO ()
$cpoke :: Ptr MoneynessSpotStrike -> MoneynessSpotStrike -> IO ()
peek :: Ptr MoneynessSpotStrike -> IO MoneynessSpotStrike
$cpeek :: Ptr MoneynessSpotStrike -> IO MoneynessSpotStrike
pokeByteOff :: Ptr b -> Int -> MoneynessSpotStrike -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> MoneynessSpotStrike -> IO ()
peekByteOff :: Ptr b -> Int -> IO MoneynessSpotStrike
$cpeekByteOff :: forall b. Ptr b -> Int -> IO MoneynessSpotStrike
pokeElemOff :: Ptr MoneynessSpotStrike -> Int -> MoneynessSpotStrike -> IO ()
$cpokeElemOff :: Ptr MoneynessSpotStrike -> Int -> MoneynessSpotStrike -> IO ()
peekElemOff :: Ptr MoneynessSpotStrike -> Int -> IO MoneynessSpotStrike
$cpeekElemOff :: Ptr MoneynessSpotStrike -> Int -> IO MoneynessSpotStrike
alignment :: MoneynessSpotStrike -> Int
$calignment :: MoneynessSpotStrike -> Int
sizeOf :: MoneynessSpotStrike -> Int
$csizeOf :: MoneynessSpotStrike -> Int
Storable)

newtype LogMoneynessSpotStrike = LogMoneynessSpot Double
  deriving ((forall x. LogMoneynessSpotStrike -> Rep LogMoneynessSpotStrike x)
-> (forall x.
    Rep LogMoneynessSpotStrike x -> LogMoneynessSpotStrike)
-> Generic LogMoneynessSpotStrike
forall x. Rep LogMoneynessSpotStrike x -> LogMoneynessSpotStrike
forall x. LogMoneynessSpotStrike -> Rep LogMoneynessSpotStrike x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep LogMoneynessSpotStrike x -> LogMoneynessSpotStrike
$cfrom :: forall x. LogMoneynessSpotStrike -> Rep LogMoneynessSpotStrike x
Generic, LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool
(LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool)
-> Eq LogMoneynessSpotStrike
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool
$c/= :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool
== :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool
$c== :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool
Eq, Int -> LogMoneynessSpotStrike -> ShowS
[LogMoneynessSpotStrike] -> ShowS
LogMoneynessSpotStrike -> String
(Int -> LogMoneynessSpotStrike -> ShowS)
-> (LogMoneynessSpotStrike -> String)
-> ([LogMoneynessSpotStrike] -> ShowS)
-> Show LogMoneynessSpotStrike
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LogMoneynessSpotStrike] -> ShowS
$cshowList :: [LogMoneynessSpotStrike] -> ShowS
show :: LogMoneynessSpotStrike -> String
$cshow :: LogMoneynessSpotStrike -> String
showsPrec :: Int -> LogMoneynessSpotStrike -> ShowS
$cshowsPrec :: Int -> LogMoneynessSpotStrike -> ShowS
Show, ReadPrec [LogMoneynessSpotStrike]
ReadPrec LogMoneynessSpotStrike
Int -> ReadS LogMoneynessSpotStrike
ReadS [LogMoneynessSpotStrike]
(Int -> ReadS LogMoneynessSpotStrike)
-> ReadS [LogMoneynessSpotStrike]
-> ReadPrec LogMoneynessSpotStrike
-> ReadPrec [LogMoneynessSpotStrike]
-> Read LogMoneynessSpotStrike
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [LogMoneynessSpotStrike]
$creadListPrec :: ReadPrec [LogMoneynessSpotStrike]
readPrec :: ReadPrec LogMoneynessSpotStrike
$creadPrec :: ReadPrec LogMoneynessSpotStrike
readList :: ReadS [LogMoneynessSpotStrike]
$creadList :: ReadS [LogMoneynessSpotStrike]
readsPrec :: Int -> ReadS LogMoneynessSpotStrike
$creadsPrec :: Int -> ReadS LogMoneynessSpotStrike
Read, Eq LogMoneynessSpotStrike
Eq LogMoneynessSpotStrike
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Ordering)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool)
-> (LogMoneynessSpotStrike
    -> LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike
    -> LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> Ord LogMoneynessSpotStrike
LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool
LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Ordering
LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$cmin :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
max :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$cmax :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
>= :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool
$c>= :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool
> :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool
$c> :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool
<= :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool
$c<= :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool
< :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool
$c< :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Bool
compare :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Ordering
$ccompare :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> Ordering
$cp1Ord :: Eq LogMoneynessSpotStrike
Ord, Integer -> LogMoneynessSpotStrike
LogMoneynessSpotStrike -> LogMoneynessSpotStrike
LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
(LogMoneynessSpotStrike
 -> LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike
    -> LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike
    -> LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (Integer -> LogMoneynessSpotStrike)
-> Num LogMoneynessSpotStrike
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> LogMoneynessSpotStrike
$cfromInteger :: Integer -> LogMoneynessSpotStrike
signum :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$csignum :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
abs :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$cabs :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
negate :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$cnegate :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
* :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$c* :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
- :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$c- :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
+ :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$c+ :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
Num, Num LogMoneynessSpotStrike
Num LogMoneynessSpotStrike
-> (LogMoneynessSpotStrike
    -> LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (Rational -> LogMoneynessSpotStrike)
-> Fractional LogMoneynessSpotStrike
Rational -> LogMoneynessSpotStrike
LogMoneynessSpotStrike -> LogMoneynessSpotStrike
LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
forall a.
Num a
-> (a -> a -> a) -> (a -> a) -> (Rational -> a) -> Fractional a
fromRational :: Rational -> LogMoneynessSpotStrike
$cfromRational :: Rational -> LogMoneynessSpotStrike
recip :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$crecip :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
/ :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$c/ :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$cp1Fractional :: Num LogMoneynessSpotStrike
Fractional, Num LogMoneynessSpotStrike
Ord LogMoneynessSpotStrike
Num LogMoneynessSpotStrike
-> Ord LogMoneynessSpotStrike
-> (LogMoneynessSpotStrike -> Rational)
-> Real LogMoneynessSpotStrike
LogMoneynessSpotStrike -> Rational
forall a. Num a -> Ord a -> (a -> Rational) -> Real a
toRational :: LogMoneynessSpotStrike -> Rational
$ctoRational :: LogMoneynessSpotStrike -> Rational
$cp2Real :: Ord LogMoneynessSpotStrike
$cp1Real :: Num LogMoneynessSpotStrike
Real, Fractional LogMoneynessSpotStrike
Real LogMoneynessSpotStrike
Real LogMoneynessSpotStrike
-> Fractional LogMoneynessSpotStrike
-> (forall b.
    Integral b =>
    LogMoneynessSpotStrike -> (b, LogMoneynessSpotStrike))
-> (forall b. Integral b => LogMoneynessSpotStrike -> b)
-> (forall b. Integral b => LogMoneynessSpotStrike -> b)
-> (forall b. Integral b => LogMoneynessSpotStrike -> b)
-> (forall b. Integral b => LogMoneynessSpotStrike -> b)
-> RealFrac LogMoneynessSpotStrike
LogMoneynessSpotStrike -> b
LogMoneynessSpotStrike -> b
LogMoneynessSpotStrike -> b
LogMoneynessSpotStrike -> b
LogMoneynessSpotStrike -> (b, LogMoneynessSpotStrike)
forall b. Integral b => LogMoneynessSpotStrike -> b
forall b.
Integral b =>
LogMoneynessSpotStrike -> (b, LogMoneynessSpotStrike)
forall a.
Real a
-> Fractional a
-> (forall b. Integral b => a -> (b, a))
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> RealFrac a
floor :: LogMoneynessSpotStrike -> b
$cfloor :: forall b. Integral b => LogMoneynessSpotStrike -> b
ceiling :: LogMoneynessSpotStrike -> b
$cceiling :: forall b. Integral b => LogMoneynessSpotStrike -> b
round :: LogMoneynessSpotStrike -> b
$cround :: forall b. Integral b => LogMoneynessSpotStrike -> b
truncate :: LogMoneynessSpotStrike -> b
$ctruncate :: forall b. Integral b => LogMoneynessSpotStrike -> b
properFraction :: LogMoneynessSpotStrike -> (b, LogMoneynessSpotStrike)
$cproperFraction :: forall b.
Integral b =>
LogMoneynessSpotStrike -> (b, LogMoneynessSpotStrike)
$cp2RealFrac :: Fractional LogMoneynessSpotStrike
$cp1RealFrac :: Real LogMoneynessSpotStrike
RealFrac, Floating LogMoneynessSpotStrike
RealFrac LogMoneynessSpotStrike
RealFrac LogMoneynessSpotStrike
-> Floating LogMoneynessSpotStrike
-> (LogMoneynessSpotStrike -> Integer)
-> (LogMoneynessSpotStrike -> Int)
-> (LogMoneynessSpotStrike -> (Int, Int))
-> (LogMoneynessSpotStrike -> (Integer, Int))
-> (Integer -> Int -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> Int)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (Int -> LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> Bool)
-> (LogMoneynessSpotStrike -> Bool)
-> (LogMoneynessSpotStrike -> Bool)
-> (LogMoneynessSpotStrike -> Bool)
-> (LogMoneynessSpotStrike -> Bool)
-> (LogMoneynessSpotStrike
    -> LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> RealFloat LogMoneynessSpotStrike
Int -> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
Integer -> Int -> LogMoneynessSpotStrike
LogMoneynessSpotStrike -> Bool
LogMoneynessSpotStrike -> Int
LogMoneynessSpotStrike -> Integer
LogMoneynessSpotStrike -> (Int, Int)
LogMoneynessSpotStrike -> (Integer, Int)
LogMoneynessSpotStrike -> LogMoneynessSpotStrike
LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
forall a.
RealFrac a
-> Floating a
-> (a -> Integer)
-> (a -> Int)
-> (a -> (Int, Int))
-> (a -> (Integer, Int))
-> (Integer -> Int -> a)
-> (a -> Int)
-> (a -> a)
-> (Int -> a -> a)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> a -> a)
-> RealFloat a
atan2 :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$catan2 :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
isIEEE :: LogMoneynessSpotStrike -> Bool
$cisIEEE :: LogMoneynessSpotStrike -> Bool
isNegativeZero :: LogMoneynessSpotStrike -> Bool
$cisNegativeZero :: LogMoneynessSpotStrike -> Bool
isDenormalized :: LogMoneynessSpotStrike -> Bool
$cisDenormalized :: LogMoneynessSpotStrike -> Bool
isInfinite :: LogMoneynessSpotStrike -> Bool
$cisInfinite :: LogMoneynessSpotStrike -> Bool
isNaN :: LogMoneynessSpotStrike -> Bool
$cisNaN :: LogMoneynessSpotStrike -> Bool
scaleFloat :: Int -> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$cscaleFloat :: Int -> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
significand :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$csignificand :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
exponent :: LogMoneynessSpotStrike -> Int
$cexponent :: LogMoneynessSpotStrike -> Int
encodeFloat :: Integer -> Int -> LogMoneynessSpotStrike
$cencodeFloat :: Integer -> Int -> LogMoneynessSpotStrike
decodeFloat :: LogMoneynessSpotStrike -> (Integer, Int)
$cdecodeFloat :: LogMoneynessSpotStrike -> (Integer, Int)
floatRange :: LogMoneynessSpotStrike -> (Int, Int)
$cfloatRange :: LogMoneynessSpotStrike -> (Int, Int)
floatDigits :: LogMoneynessSpotStrike -> Int
$cfloatDigits :: LogMoneynessSpotStrike -> Int
floatRadix :: LogMoneynessSpotStrike -> Integer
$cfloatRadix :: LogMoneynessSpotStrike -> Integer
$cp2RealFloat :: Floating LogMoneynessSpotStrike
$cp1RealFloat :: RealFrac LogMoneynessSpotStrike
RealFloat, Fractional LogMoneynessSpotStrike
LogMoneynessSpotStrike
Fractional LogMoneynessSpotStrike
-> LogMoneynessSpotStrike
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike
    -> LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike
    -> LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> (LogMoneynessSpotStrike -> LogMoneynessSpotStrike)
-> Floating LogMoneynessSpotStrike
LogMoneynessSpotStrike -> LogMoneynessSpotStrike
LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
forall a.
Fractional a
-> a
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> Floating a
log1mexp :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$clog1mexp :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
log1pexp :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$clog1pexp :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
expm1 :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$cexpm1 :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
log1p :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$clog1p :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
atanh :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$catanh :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
acosh :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$cacosh :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
asinh :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$casinh :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
tanh :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$ctanh :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
cosh :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$ccosh :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
sinh :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$csinh :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
atan :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$catan :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
acos :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$cacos :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
asin :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$casin :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
tan :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$ctan :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
cos :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$ccos :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
sin :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$csin :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
logBase :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$clogBase :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
** :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$c** :: LogMoneynessSpotStrike
-> LogMoneynessSpotStrike -> LogMoneynessSpotStrike
sqrt :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$csqrt :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
log :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$clog :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
exp :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
$cexp :: LogMoneynessSpotStrike -> LogMoneynessSpotStrike
pi :: LogMoneynessSpotStrike
$cpi :: LogMoneynessSpotStrike
$cp1Floating :: Fractional LogMoneynessSpotStrike
Floating, Ptr b -> Int -> IO LogMoneynessSpotStrike
Ptr b -> Int -> LogMoneynessSpotStrike -> IO ()
Ptr LogMoneynessSpotStrike -> IO LogMoneynessSpotStrike
Ptr LogMoneynessSpotStrike -> Int -> IO LogMoneynessSpotStrike
Ptr LogMoneynessSpotStrike
-> Int -> LogMoneynessSpotStrike -> IO ()
Ptr LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> IO ()
LogMoneynessSpotStrike -> Int
(LogMoneynessSpotStrike -> Int)
-> (LogMoneynessSpotStrike -> Int)
-> (Ptr LogMoneynessSpotStrike -> Int -> IO LogMoneynessSpotStrike)
-> (Ptr LogMoneynessSpotStrike
    -> Int -> LogMoneynessSpotStrike -> IO ())
-> (forall b. Ptr b -> Int -> IO LogMoneynessSpotStrike)
-> (forall b. Ptr b -> Int -> LogMoneynessSpotStrike -> IO ())
-> (Ptr LogMoneynessSpotStrike -> IO LogMoneynessSpotStrike)
-> (Ptr LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> IO ())
-> Storable LogMoneynessSpotStrike
forall b. Ptr b -> Int -> IO LogMoneynessSpotStrike
forall b. Ptr b -> Int -> LogMoneynessSpotStrike -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> IO ()
$cpoke :: Ptr LogMoneynessSpotStrike -> LogMoneynessSpotStrike -> IO ()
peek :: Ptr LogMoneynessSpotStrike -> IO LogMoneynessSpotStrike
$cpeek :: Ptr LogMoneynessSpotStrike -> IO LogMoneynessSpotStrike
pokeByteOff :: Ptr b -> Int -> LogMoneynessSpotStrike -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> LogMoneynessSpotStrike -> IO ()
peekByteOff :: Ptr b -> Int -> IO LogMoneynessSpotStrike
$cpeekByteOff :: forall b. Ptr b -> Int -> IO LogMoneynessSpotStrike
pokeElemOff :: Ptr LogMoneynessSpotStrike
-> Int -> LogMoneynessSpotStrike -> IO ()
$cpokeElemOff :: Ptr LogMoneynessSpotStrike
-> Int -> LogMoneynessSpotStrike -> IO ()
peekElemOff :: Ptr LogMoneynessSpotStrike -> Int -> IO LogMoneynessSpotStrike
$cpeekElemOff :: Ptr LogMoneynessSpotStrike -> Int -> IO LogMoneynessSpotStrike
alignment :: LogMoneynessSpotStrike -> Int
$calignment :: LogMoneynessSpotStrike -> Int
sizeOf :: LogMoneynessSpotStrike -> Int
$csizeOf :: LogMoneynessSpotStrike -> Int
Storable)


newtype VolShift = VolShift Double
  deriving ((forall x. VolShift -> Rep VolShift x)
-> (forall x. Rep VolShift x -> VolShift) -> Generic VolShift
forall x. Rep VolShift x -> VolShift
forall x. VolShift -> Rep VolShift x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep VolShift x -> VolShift
$cfrom :: forall x. VolShift -> Rep VolShift x
Generic, VolShift -> VolShift -> Bool
(VolShift -> VolShift -> Bool)
-> (VolShift -> VolShift -> Bool) -> Eq VolShift
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VolShift -> VolShift -> Bool
$c/= :: VolShift -> VolShift -> Bool
== :: VolShift -> VolShift -> Bool
$c== :: VolShift -> VolShift -> Bool
Eq, Int -> VolShift -> ShowS
[VolShift] -> ShowS
VolShift -> String
(Int -> VolShift -> ShowS)
-> (VolShift -> String) -> ([VolShift] -> ShowS) -> Show VolShift
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [VolShift] -> ShowS
$cshowList :: [VolShift] -> ShowS
show :: VolShift -> String
$cshow :: VolShift -> String
showsPrec :: Int -> VolShift -> ShowS
$cshowsPrec :: Int -> VolShift -> ShowS
Show, ReadPrec [VolShift]
ReadPrec VolShift
Int -> ReadS VolShift
ReadS [VolShift]
(Int -> ReadS VolShift)
-> ReadS [VolShift]
-> ReadPrec VolShift
-> ReadPrec [VolShift]
-> Read VolShift
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [VolShift]
$creadListPrec :: ReadPrec [VolShift]
readPrec :: ReadPrec VolShift
$creadPrec :: ReadPrec VolShift
readList :: ReadS [VolShift]
$creadList :: ReadS [VolShift]
readsPrec :: Int -> ReadS VolShift
$creadsPrec :: Int -> ReadS VolShift
Read, Eq VolShift
Eq VolShift
-> (VolShift -> VolShift -> Ordering)
-> (VolShift -> VolShift -> Bool)
-> (VolShift -> VolShift -> Bool)
-> (VolShift -> VolShift -> Bool)
-> (VolShift -> VolShift -> Bool)
-> (VolShift -> VolShift -> VolShift)
-> (VolShift -> VolShift -> VolShift)
-> Ord VolShift
VolShift -> VolShift -> Bool
VolShift -> VolShift -> Ordering
VolShift -> VolShift -> VolShift
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: VolShift -> VolShift -> VolShift
$cmin :: VolShift -> VolShift -> VolShift
max :: VolShift -> VolShift -> VolShift
$cmax :: VolShift -> VolShift -> VolShift
>= :: VolShift -> VolShift -> Bool
$c>= :: VolShift -> VolShift -> Bool
> :: VolShift -> VolShift -> Bool
$c> :: VolShift -> VolShift -> Bool
<= :: VolShift -> VolShift -> Bool
$c<= :: VolShift -> VolShift -> Bool
< :: VolShift -> VolShift -> Bool
$c< :: VolShift -> VolShift -> Bool
compare :: VolShift -> VolShift -> Ordering
$ccompare :: VolShift -> VolShift -> Ordering
$cp1Ord :: Eq VolShift
Ord, Integer -> VolShift
VolShift -> VolShift
VolShift -> VolShift -> VolShift
(VolShift -> VolShift -> VolShift)
-> (VolShift -> VolShift -> VolShift)
-> (VolShift -> VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (Integer -> VolShift)
-> Num VolShift
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> VolShift
$cfromInteger :: Integer -> VolShift
signum :: VolShift -> VolShift
$csignum :: VolShift -> VolShift
abs :: VolShift -> VolShift
$cabs :: VolShift -> VolShift
negate :: VolShift -> VolShift
$cnegate :: VolShift -> VolShift
* :: VolShift -> VolShift -> VolShift
$c* :: VolShift -> VolShift -> VolShift
- :: VolShift -> VolShift -> VolShift
$c- :: VolShift -> VolShift -> VolShift
+ :: VolShift -> VolShift -> VolShift
$c+ :: VolShift -> VolShift -> VolShift
Num, Num VolShift
Num VolShift
-> (VolShift -> VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (Rational -> VolShift)
-> Fractional VolShift
Rational -> VolShift
VolShift -> VolShift
VolShift -> VolShift -> VolShift
forall a.
Num a
-> (a -> a -> a) -> (a -> a) -> (Rational -> a) -> Fractional a
fromRational :: Rational -> VolShift
$cfromRational :: Rational -> VolShift
recip :: VolShift -> VolShift
$crecip :: VolShift -> VolShift
/ :: VolShift -> VolShift -> VolShift
$c/ :: VolShift -> VolShift -> VolShift
$cp1Fractional :: Num VolShift
Fractional, Num VolShift
Ord VolShift
Num VolShift
-> Ord VolShift -> (VolShift -> Rational) -> Real VolShift
VolShift -> Rational
forall a. Num a -> Ord a -> (a -> Rational) -> Real a
toRational :: VolShift -> Rational
$ctoRational :: VolShift -> Rational
$cp2Real :: Ord VolShift
$cp1Real :: Num VolShift
Real, Fractional VolShift
Real VolShift
Real VolShift
-> Fractional VolShift
-> (forall b. Integral b => VolShift -> (b, VolShift))
-> (forall b. Integral b => VolShift -> b)
-> (forall b. Integral b => VolShift -> b)
-> (forall b. Integral b => VolShift -> b)
-> (forall b. Integral b => VolShift -> b)
-> RealFrac VolShift
VolShift -> b
VolShift -> b
VolShift -> b
VolShift -> b
VolShift -> (b, VolShift)
forall b. Integral b => VolShift -> b
forall b. Integral b => VolShift -> (b, VolShift)
forall a.
Real a
-> Fractional a
-> (forall b. Integral b => a -> (b, a))
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> RealFrac a
floor :: VolShift -> b
$cfloor :: forall b. Integral b => VolShift -> b
ceiling :: VolShift -> b
$cceiling :: forall b. Integral b => VolShift -> b
round :: VolShift -> b
$cround :: forall b. Integral b => VolShift -> b
truncate :: VolShift -> b
$ctruncate :: forall b. Integral b => VolShift -> b
properFraction :: VolShift -> (b, VolShift)
$cproperFraction :: forall b. Integral b => VolShift -> (b, VolShift)
$cp2RealFrac :: Fractional VolShift
$cp1RealFrac :: Real VolShift
RealFrac, Floating VolShift
RealFrac VolShift
RealFrac VolShift
-> Floating VolShift
-> (VolShift -> Integer)
-> (VolShift -> Int)
-> (VolShift -> (Int, Int))
-> (VolShift -> (Integer, Int))
-> (Integer -> Int -> VolShift)
-> (VolShift -> Int)
-> (VolShift -> VolShift)
-> (Int -> VolShift -> VolShift)
-> (VolShift -> Bool)
-> (VolShift -> Bool)
-> (VolShift -> Bool)
-> (VolShift -> Bool)
-> (VolShift -> Bool)
-> (VolShift -> VolShift -> VolShift)
-> RealFloat VolShift
Int -> VolShift -> VolShift
Integer -> Int -> VolShift
VolShift -> Bool
VolShift -> Int
VolShift -> Integer
VolShift -> (Int, Int)
VolShift -> (Integer, Int)
VolShift -> VolShift
VolShift -> VolShift -> VolShift
forall a.
RealFrac a
-> Floating a
-> (a -> Integer)
-> (a -> Int)
-> (a -> (Int, Int))
-> (a -> (Integer, Int))
-> (Integer -> Int -> a)
-> (a -> Int)
-> (a -> a)
-> (Int -> a -> a)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> a -> a)
-> RealFloat a
atan2 :: VolShift -> VolShift -> VolShift
$catan2 :: VolShift -> VolShift -> VolShift
isIEEE :: VolShift -> Bool
$cisIEEE :: VolShift -> Bool
isNegativeZero :: VolShift -> Bool
$cisNegativeZero :: VolShift -> Bool
isDenormalized :: VolShift -> Bool
$cisDenormalized :: VolShift -> Bool
isInfinite :: VolShift -> Bool
$cisInfinite :: VolShift -> Bool
isNaN :: VolShift -> Bool
$cisNaN :: VolShift -> Bool
scaleFloat :: Int -> VolShift -> VolShift
$cscaleFloat :: Int -> VolShift -> VolShift
significand :: VolShift -> VolShift
$csignificand :: VolShift -> VolShift
exponent :: VolShift -> Int
$cexponent :: VolShift -> Int
encodeFloat :: Integer -> Int -> VolShift
$cencodeFloat :: Integer -> Int -> VolShift
decodeFloat :: VolShift -> (Integer, Int)
$cdecodeFloat :: VolShift -> (Integer, Int)
floatRange :: VolShift -> (Int, Int)
$cfloatRange :: VolShift -> (Int, Int)
floatDigits :: VolShift -> Int
$cfloatDigits :: VolShift -> Int
floatRadix :: VolShift -> Integer
$cfloatRadix :: VolShift -> Integer
$cp2RealFloat :: Floating VolShift
$cp1RealFloat :: RealFrac VolShift
RealFloat, Fractional VolShift
VolShift
Fractional VolShift
-> VolShift
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift -> VolShift)
-> (VolShift -> VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> (VolShift -> VolShift)
-> Floating VolShift
VolShift -> VolShift
VolShift -> VolShift -> VolShift
forall a.
Fractional a
-> a
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> Floating a
log1mexp :: VolShift -> VolShift
$clog1mexp :: VolShift -> VolShift
log1pexp :: VolShift -> VolShift
$clog1pexp :: VolShift -> VolShift
expm1 :: VolShift -> VolShift
$cexpm1 :: VolShift -> VolShift
log1p :: VolShift -> VolShift
$clog1p :: VolShift -> VolShift
atanh :: VolShift -> VolShift
$catanh :: VolShift -> VolShift
acosh :: VolShift -> VolShift
$cacosh :: VolShift -> VolShift
asinh :: VolShift -> VolShift
$casinh :: VolShift -> VolShift
tanh :: VolShift -> VolShift
$ctanh :: VolShift -> VolShift
cosh :: VolShift -> VolShift
$ccosh :: VolShift -> VolShift
sinh :: VolShift -> VolShift
$csinh :: VolShift -> VolShift
atan :: VolShift -> VolShift
$catan :: VolShift -> VolShift
acos :: VolShift -> VolShift
$cacos :: VolShift -> VolShift
asin :: VolShift -> VolShift
$casin :: VolShift -> VolShift
tan :: VolShift -> VolShift
$ctan :: VolShift -> VolShift
cos :: VolShift -> VolShift
$ccos :: VolShift -> VolShift
sin :: VolShift -> VolShift
$csin :: VolShift -> VolShift
logBase :: VolShift -> VolShift -> VolShift
$clogBase :: VolShift -> VolShift -> VolShift
** :: VolShift -> VolShift -> VolShift
$c** :: VolShift -> VolShift -> VolShift
sqrt :: VolShift -> VolShift
$csqrt :: VolShift -> VolShift
log :: VolShift -> VolShift
$clog :: VolShift -> VolShift
exp :: VolShift -> VolShift
$cexp :: VolShift -> VolShift
pi :: VolShift
$cpi :: VolShift
$cp1Floating :: Fractional VolShift
Floating, Ptr b -> Int -> IO VolShift
Ptr b -> Int -> VolShift -> IO ()
Ptr VolShift -> IO VolShift
Ptr VolShift -> Int -> IO VolShift
Ptr VolShift -> Int -> VolShift -> IO ()
Ptr VolShift -> VolShift -> IO ()
VolShift -> Int
(VolShift -> Int)
-> (VolShift -> Int)
-> (Ptr VolShift -> Int -> IO VolShift)
-> (Ptr VolShift -> Int -> VolShift -> IO ())
-> (forall b. Ptr b -> Int -> IO VolShift)
-> (forall b. Ptr b -> Int -> VolShift -> IO ())
-> (Ptr VolShift -> IO VolShift)
-> (Ptr VolShift -> VolShift -> IO ())
-> Storable VolShift
forall b. Ptr b -> Int -> IO VolShift
forall b. Ptr b -> Int -> VolShift -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr VolShift -> VolShift -> IO ()
$cpoke :: Ptr VolShift -> VolShift -> IO ()
peek :: Ptr VolShift -> IO VolShift
$cpeek :: Ptr VolShift -> IO VolShift
pokeByteOff :: Ptr b -> Int -> VolShift -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VolShift -> IO ()
peekByteOff :: Ptr b -> Int -> IO VolShift
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VolShift
pokeElemOff :: Ptr VolShift -> Int -> VolShift -> IO ()
$cpokeElemOff :: Ptr VolShift -> Int -> VolShift -> IO ()
peekElemOff :: Ptr VolShift -> Int -> IO VolShift
$cpeekElemOff :: Ptr VolShift -> Int -> IO VolShift
alignment :: VolShift -> Int
$calignment :: VolShift -> Int
sizeOf :: VolShift -> Int
$csizeOf :: VolShift -> Int
Storable)

data VolType = Normal
             | LogNormal
             | ShiftedLogNormal VolShift
             deriving ((forall x. VolType -> Rep VolType x)
-> (forall x. Rep VolType x -> VolType) -> Generic VolType
forall x. Rep VolType x -> VolType
forall x. VolType -> Rep VolType x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep VolType x -> VolType
$cfrom :: forall x. VolType -> Rep VolType x
Generic, VolType -> VolType -> Bool
(VolType -> VolType -> Bool)
-> (VolType -> VolType -> Bool) -> Eq VolType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VolType -> VolType -> Bool
$c/= :: VolType -> VolType -> Bool
== :: VolType -> VolType -> Bool
$c== :: VolType -> VolType -> Bool
Eq, Int -> VolType -> ShowS
[VolType] -> ShowS
VolType -> String
(Int -> VolType -> ShowS)
-> (VolType -> String) -> ([VolType] -> ShowS) -> Show VolType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [VolType] -> ShowS
$cshowList :: [VolType] -> ShowS
show :: VolType -> String
$cshow :: VolType -> String
showsPrec :: Int -> VolType -> ShowS
$cshowsPrec :: Int -> VolType -> ShowS
Show, ReadPrec [VolType]
ReadPrec VolType
Int -> ReadS VolType
ReadS [VolType]
(Int -> ReadS VolType)
-> ReadS [VolType]
-> ReadPrec VolType
-> ReadPrec [VolType]
-> Read VolType
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [VolType]
$creadListPrec :: ReadPrec [VolType]
readPrec :: ReadPrec VolType
$creadPrec :: ReadPrec VolType
readList :: ReadS [VolType]
$creadList :: ReadS [VolType]
readsPrec :: Int -> ReadS VolType
$creadsPrec :: Int -> ReadS VolType
Read)


euImpliedVol :: VolType -> OptionType -> Forward -> Strike -> YearFrac -> DF -> Premium -> Vol
euImpliedVol :: VolType
-> OptionType
-> Forward
-> Strike
-> YearFrac
-> DF
-> Premium
-> Vol
euImpliedVol VolType
Normal OptionType
cp Forward
f Strike
k YearFrac
t DF
df Premium
premium =
  let r :: Rate
r = YearFrac -> DF -> Rate
rateFromDiscount YearFrac
t DF
df
  in OptionType
-> Forward -> Strike -> YearFrac -> Rate -> Premium -> Vol
Bacherlier.euImpliedVol OptionType
cp Forward
f Strike
k YearFrac
t Rate
r Premium
premium
euImpliedVol (ShiftedLogNormal (VolShift Double
shift)) OptionType
cp Forward
f Strike
k YearFrac
t DF
df Premium
premium =
  let r :: Rate
r = YearFrac -> DF -> Rate
rateFromDiscount YearFrac
t DF
df
  in OptionType
-> Forward -> Strike -> YearFrac -> Rate -> Premium -> Vol
B76.euImpliedVol OptionType
cp (Forward
f Forward -> Forward -> Forward
forall a. Num a => a -> a -> a
+ Double -> Forward
Forward Double
shift) (Strike
k Strike -> Strike -> Strike
forall a. Num a => a -> a -> a
+ Double -> Strike
Strike Double
shift) YearFrac
t Rate
r Premium
premium
euImpliedVol VolType
LogNormal OptionType
cp Forward
f Strike
k YearFrac
t DF
df Premium
p = VolType
-> OptionType
-> Forward
-> Strike
-> YearFrac
-> DF
-> Premium
-> Vol
euImpliedVol (VolShift -> VolType
ShiftedLogNormal VolShift
0) OptionType
cp Forward
f Strike
k YearFrac
t DF
df Premium
p