aivika-transformers-5.1: Transformers for the Aivika simulation library

CopyrightCopyright (c) 2009-2017 David Sorokin <david.sorokin@gmail.com>
LicenseBSD3
MaintainerDavid Sorokin <david.sorokin@gmail.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Simulation.Aivika.Trans.Results.IO

Contents

Description

Tested with: GHC 8.0.1

The module allows printing and converting the Simulation Results to a String.

Synopsis

Basic Types

type ResultSourcePrint m = ResultSource m -> Event m () Source #

This is a function that prints the simulation results within the Event computation synchronized with the event queue.

type ResultSourceShowS m = ResultSource m -> Event m ShowS Source #

This is a function that shows the simulation results within the Event computation synchronized with the event queue.

Printing the Results

printResultsWithTime :: (MonadDES m, MonadIO (Event m)) => ResultSourcePrint m -> Results m -> Event m () Source #

Print the results with the information about the modeling time.

printResultsInStartTime :: (MonadDES m, EventIOQueueing m) => ResultSourcePrint m -> Results m -> Simulation m () Source #

Print the simulation results in start time.

printResultsInStopTime :: (MonadDES m, EventIOQueueing m) => ResultSourcePrint m -> Results m -> Simulation m () Source #

Print the simulation results in stop time.

printResultsInIntegTimes :: (MonadDES m, EventIOQueueing m) => ResultSourcePrint m -> Results m -> Simulation m () Source #

Print the simulation results in the integration time points.

printResultsInTime :: (MonadDES m, EventIOQueueing m) => Double -> ResultSourcePrint m -> Results m -> Simulation m () Source #

Print the simulation results in the specified time.

printResultsInTimes :: (MonadDES m, EventIOQueueing m) => [Double] -> ResultSourcePrint m -> Results m -> Simulation m () Source #

Print the simulation results in the specified time points.

Simulating and Printing the Results

printSimulationResultsInStartTime :: (MonadDES m, EventIOQueueing m) => ResultSourcePrint m -> Simulation m (Results m) -> Specs m -> m () Source #

Run the simulation and then print the results in the start time.

printSimulationResultsInStopTime :: (MonadDES m, EventIOQueueing m) => ResultSourcePrint m -> Simulation m (Results m) -> Specs m -> m () Source #

Run the simulation and then print the results in the final time.

printSimulationResultsInIntegTimes :: (MonadDES m, EventIOQueueing m) => ResultSourcePrint m -> Simulation m (Results m) -> Specs m -> m () Source #

Run the simulation and then print the results in the integration time points.

printSimulationResultsInTime :: (MonadDES m, EventIOQueueing m) => Double -> ResultSourcePrint m -> Simulation m (Results m) -> Specs m -> m () Source #

Run the simulation and then print the results in the specified time point.

printSimulationResultsInTimes :: (MonadDES m, EventIOQueueing m) => [Double] -> ResultSourcePrint m -> Simulation m (Results m) -> Specs m -> m () Source #

Run the simulation and then print the results in the specified time points.

Showing the Results

showResultsWithTime :: MonadDES m => ResultSourceShowS m -> Results m -> Event m ShowS Source #

Show the results with the information about the modeling time.

showResultsInStartTime :: MonadDES m => ResultSourceShowS m -> Results m -> Simulation m ShowS Source #

Show the simulation results in start time.

showResultsInStopTime :: MonadDES m => ResultSourceShowS m -> Results m -> Simulation m ShowS Source #

Show the simulation results in stop time.

showResultsInIntegTimes :: MonadDES m => ResultSourceShowS m -> Results m -> Simulation m ShowS Source #

Show the simulation results in the integration time points.

It may consume much memory, for we have to traverse all the integration points to create the resulting function within the Simulation computation.

showResultsInTime :: MonadDES m => Double -> ResultSourceShowS m -> Results m -> Simulation m ShowS Source #

Show the simulation results in the specified time point.

showResultsInTimes :: MonadDES m => [Double] -> ResultSourceShowS m -> Results m -> Simulation m ShowS Source #

Show the simulation results in the specified time points.

It may consume much memory, for we have to traverse all the specified points to create the resulting function within the Simulation computation.

Simulating and Showing the Results

showSimulationResultsInStartTime :: MonadDES m => ResultSourceShowS m -> Simulation m (Results m) -> Specs m -> m ShowS Source #

Run the simulation and then show the results in the start time.

showSimulationResultsInStopTime :: MonadDES m => ResultSourceShowS m -> Simulation m (Results m) -> Specs m -> m ShowS Source #

Run the simulation and then show the results in the final time.

showSimulationResultsInIntegTimes :: MonadDES m => ResultSourceShowS m -> Simulation m (Results m) -> Specs m -> m ShowS Source #

Run the simulation and then show the results in the integration time points.

It may consume much memory, for we have to traverse all the integration points to create the resulting function within the IO computation.

showSimulationResultsInTime :: MonadDES m => Double -> ResultSourceShowS m -> Simulation m (Results m) -> Specs m -> m ShowS Source #

Run the simulation and then show the results in the integration time point.

showSimulationResultsInTimes :: MonadDES m => [Double] -> ResultSourceShowS m -> Simulation m (Results m) -> Specs m -> m ShowS Source #

Run the simulation and then show the results in the specified time points.

It may consume much memory, for we have to traverse all the specified points to create the resulting function within the IO computation.

Printing the Result Source

hPrintResultSourceIndented Source #

Arguments

:: (MonadDES m, MonadIO (Event m)) 
=> Handle

a handle

-> Int

an indent

-> ResultLocalisation

a localisation

-> ResultSourcePrint m 

Print a localised text representation of the results by the specified source and with the given indent.

hPrintResultSource Source #

Arguments

:: (MonadDES m, MonadIO (Event m)) 
=> Handle

a handle

-> ResultLocalisation

a localisation

-> ResultSourcePrint m 

Print a localised text representation of the results by the specified source.

hPrintResultSourceInRussian :: (MonadDES m, MonadIO (Event m)) => Handle -> ResultSourcePrint m Source #

Print in Russian a text representation of the results by the specified source.

hPrintResultSourceInEnglish :: (MonadDES m, MonadIO (Event m)) => Handle -> ResultSourcePrint m Source #

Print in English a text representation of the results by the specified source.

printResultSourceIndented Source #

Arguments

:: (MonadDES m, MonadIO (Event m)) 
=> Int

an indent

-> ResultLocalisation

a localisation

-> ResultSourcePrint m 

Print a localised text representation of the results by the specified source and with the given indent.

printResultSource Source #

Arguments

:: (MonadDES m, MonadIO (Event m)) 
=> ResultLocalisation

a localisation

-> ResultSourcePrint m 

Print a localised text representation of the results by the specified source.

printResultSourceInRussian :: (MonadDES m, MonadIO (Event m)) => ResultSourcePrint m Source #

Print in Russian a text representation of the results by the specified source.

printResultSourceInEnglish :: (MonadDES m, MonadIO (Event m)) => ResultSourcePrint m Source #

Print in English a text representation of the results by the specified source.

Enqueue Printing of the Result Source

hEnqueuePrintingResultSourceIndented Source #

Arguments

:: (MonadDES m, EventIOQueueing m) 
=> Handle

a handle

-> Int

an indent

-> ResultLocalisation

a localisation

-> ResultSourcePrint m 

Enqueue printing of a localised text representation of the results by the specified source and with the given indent.

hEnqueuePrintingResultSource Source #

Arguments

:: (MonadDES m, EventIOQueueing m) 
=> Handle

a handle

-> ResultLocalisation

a localisation

-> ResultSourcePrint m 

Enqueue printing of a localised text representation of the results by the specified source.

hEnqueuePrintingResultSourceInRussian :: (MonadDES m, EventIOQueueing m) => Handle -> ResultSourcePrint m Source #

Enqueue printing in Russian of a text representation of the results by the specified source.

hEnqueuePrintingResultSourceInEnglish :: (MonadDES m, EventIOQueueing m) => Handle -> ResultSourcePrint m Source #

Enqueue printing in English of a text representation of the results by the specified source.

enqueuePrintingResultSourceIndented Source #

Arguments

:: (MonadDES m, EventIOQueueing m) 
=> Int

an indent

-> ResultLocalisation

a localisation

-> ResultSourcePrint m 

Enqueue printing of a localised text representation of the results by the specified source and with the given indent.

enqueuePrintingResultSource Source #

Arguments

:: (MonadDES m, EventIOQueueing m) 
=> ResultLocalisation

a localisation

-> ResultSourcePrint m 

Enqueue printing of a localised text representation of the results by the specified source.

enqueuePrintingResultSourceInRussian :: (MonadDES m, EventIOQueueing m) => ResultSourcePrint m Source #

Enqueue printing in Russian of a text representation of the results by the specified source.

enqueuePrintingResultSourceInEnglish :: (MonadDES m, EventIOQueueing m) => ResultSourcePrint m Source #

Enqueue printing in English of a text representation of the results by the specified source.

Showing the Result Source

showResultSourceIndented Source #

Arguments

:: MonadDES m 
=> Int

an indent

-> ResultLocalisation

a localisation

-> ResultSourceShowS m 

Show a localised text representation of the results by the specified source and with the given indent.

showResultSource Source #

Arguments

:: MonadDES m 
=> ResultLocalisation

a localisation

-> ResultSourceShowS m 

Show a localised text representation of the results by the specified source.

showResultSourceInRussian :: MonadDES m => ResultSourceShowS m Source #

Show in Russian a text representation of the results by the specified source.

showResultSourceInEnglish :: MonadDES m => ResultSourceShowS m Source #

Show in English a text representation of the results by the specified source.