module LetsBeRational
( lbr
) where
import Foreign.C.Types
import Data.Coerce (coerce)
foreign import ccall
"lets_be_rational.h implied_volatility_from_a_transformed_rational_guess" c_lbr ::
CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble
lbr :: Int
-> Double
-> Double
-> Double
-> Double
-> Double
lbr :: Int -> Double -> Double -> Double -> Double -> Double
lbr Int
cp Double
f Double
k Double
t Double
p = CDouble -> Double
coerce (CDouble -> Double) -> CDouble -> Double
forall a b. (a -> b) -> a -> b
$ CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble
c_lbr (Double -> CDouble
coerce Double
p) (Double -> CDouble
coerce Double
f) (Double -> CDouble
coerce Double
k) (Double -> CDouble
coerce Double
t) (Double -> CDouble
coerce (Int -> Double
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
cp::Double))