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