sde-solver-0.1.0.0: src/Numeric/DSDE/SDE/GeometricBrownian.hs
{-# Language BangPatterns #-}
module Numeric.DSDE.SDE.GeometricBrownian where
import Numeric.DSDE.SDE
-- | Geometric Brownian motion with rate r and diffusion sigma.
data GeometricBrownian p = GB !p !p
instance SDE GeometricBrownian where
{-# SPECIALIZE INLINE f :: GeometricBrownian Double -> Double -> Double -> Double #-}
f !(GB rate _) _ !w_i = rate * w_i
{-# SPECIALIZE INLINE g :: GeometricBrownian Double -> Double -> Double -> Double #-}
g !(GB _ sigma) _ !w_i = sigma * w_i
{-# SPECIALIZE INLINE partgoverparty :: GeometricBrownian Double -> Double -> Double -> Double #-}
partgoverparty !(GB _ sigma) _ _ = sigma