{-# LANGUAGE FlexibleContexts #-}
module Simulation.Aivika.Trans.Transform.Memo.Unboxed
(memoTransform,
memo0Transform) where
import Simulation.Aivika.Trans.Dynamics
import Simulation.Aivika.Trans.Dynamics.Memo.Unboxed
import Simulation.Aivika.Trans.Transform
import Simulation.Aivika.Trans.SD
memoTransform :: (MonadSD m, MonadMemo m e) => Transform m e e
{-# INLINE memoTransform #-}
memoTransform :: forall (m :: * -> *) e.
(MonadSD m, MonadMemo m e) =>
Transform m e e
memoTransform = (Dynamics m e -> Simulation m (Dynamics m e)) -> Transform m e e
forall (m :: * -> *) a b.
(Dynamics m a -> Simulation m (Dynamics m b)) -> Transform m a b
Transform Dynamics m e -> Simulation m (Dynamics m e)
forall (m :: * -> *) e.
MonadMemo m e =>
Dynamics m e -> Simulation m (Dynamics m e)
memoDynamics
memo0Transform :: (MonadSD m, MonadMemo m e) => Transform m e e
{-# INLINE memo0Transform #-}
memo0Transform :: forall (m :: * -> *) e.
(MonadSD m, MonadMemo m e) =>
Transform m e e
memo0Transform = (Dynamics m e -> Simulation m (Dynamics m e)) -> Transform m e e
forall (m :: * -> *) a b.
(Dynamics m a -> Simulation m (Dynamics m b)) -> Transform m a b
Transform Dynamics m e -> Simulation m (Dynamics m e)
forall (m :: * -> *) e.
MonadMemo m e =>
Dynamics m e -> Simulation m (Dynamics m e)
memo0Dynamics