Copyright | Copyright (c) 2016-2017 David Sorokin <david.sorokin@gmail.com> |
---|---|
License | BSD3 |
Maintainer | David Sorokin <david.sorokin@gmail.com> |
Stability | experimental |
Safe Haskell | None |
Language | Haskell98 |
Tested with: GHC 7.10.3
This module defines LIO
as an instance of the MonadDES
and EventIOQueueing
type classes.
- data LIO a
- data LIOLattice
- lattice :: Int -> (Int -> Int -> Int) -> LIOLattice
- newRandomLattice :: Int -> IO LIOLattice
- runLIO :: LIOLattice -> LIO a -> IO a
- latticeTimeIndex :: LIO Int
- latticeMemberIndex :: LIO Int
- latticeSize :: LIO Int
- latticeTime :: Parameter LIO Double
- latticeTimeStep :: Parameter LIO Double
- findLatticeTimeIndex :: Double -> Parameter LIO Double
Documentation
The LIO
computation that can be run as nested one on the lattice node.
data LIOLattice Source #
Specifies the lattice.
:: Int | the lattice size |
-> (Int -> Int -> Int) | get the parent member index by the specified time and member indices |
-> LIOLattice |
Return a lattice by the specifed size and the parent member function.
newRandomLattice :: Int -> IO LIOLattice Source #
Create a new random lattice by the specified size.
latticeTimeIndex :: LIO Int Source #
Return the lattice time index starting from 0. The index should be less than or equaled to latticeSize
.
latticeMemberIndex :: LIO Int Source #
Return the lattice member index starting from 0. It is always less than or equaled to latticeTimeIndex
.
latticeSize :: LIO Int Source #
Return the lattice size.
findLatticeTimeIndex :: Double -> Parameter LIO Double Source #
Find the lattice time index by the specified modeling time.