Copyright | (c) OleksandrZhabenko 2020 |
---|---|
License | MIT |
Stability | experimental |
Safe Haskell | Safe |
Language | Haskell2010 |
System.Extended.MathPauses.PrintMessage
Contents
Description
Maintainer : olexandr543@yahoo.com
Creates the time intervals for CLI changing messages on the screen.
Synopsis
- printUpdatedMsg :: String -> [String] -> Int -> IO ()
- printUpdatedMsg2 :: String -> [String] -> [Int] -> IO ()
- endZQuot :: Double -> (Double, Integer)
- endZQuotInteger :: Double -> Integer -> IO (Double, Integer)
- phi0 :: Double
- timeIntervalsPHi0 :: Double -> [Int]
- timeIntervalsPHi0s :: Double -> [Double]
- deltaTimePHi0 :: Double -> [Int]
- deltaTimePHi0s :: Double -> [Double]
IO functions
printUpdatedMsg :: String -> [String] -> Int -> IO () Source #
Function printUpdatedMsg
prints a sequence of the first String
concatenated with the appropriate element of the second [String]
argument
through special time interval specified by the Int
argument after the pause in the Int
microseconds (1/10^6 second)
(approximately, depending on the GHC generated code performance). This looks like continually updated string on the screen of the terminal. All
String arguments must not contain the special symbols 'n' and 'r' and vertical spaces. Please, check by yourself that the Int
argument does not exceed the maxBound :: Int
.
printUpdatedMsg2 :: String -> [String] -> [Int] -> IO () Source #
Function printMessage
works the same as the function printUpdatedMsg
with the difference that time intervals are specified by the list of Int
s.
The length of the lists must be equal, otherwise the function will truncate them to the less of the both ones length. Please, check by yourself that every Int
argument does not exceed the maxBound :: Int
.
Pure funcions
No 'divine proportion' inside
endZQuot :: Double -> (Double, Integer) Source #
Function endZQuot
returns a tuple of numbers -- a fractional part and a whole part of the number.
Inspired by: 'https://mail.haskell.org/pipermail/beginners/2009-November/002814.html'
endZQuotInteger :: Double -> Integer -> IO (Double, Integer) Source #
Function endZQuotInteger
splits a Double
argument to a less by absolute value Double
specified by the Integer
argument with some
regularization for the not natural values to avoid the undefined situations.
The 'divine proportion' inside
timeIntervalsPHi0 :: Double -> [Int] Source #
Function timeIntervalPHi0
produces a list of Int
s of the time interval values for the threadDelay
function from the IO
module.
These time interval points can create for some users an impression of the smooth convergence to the end of the time intervals.
timeIntervalsPHi0s :: Double -> [Double] Source #
The same as timeIntervalsPHi0
function, but the result is in seconds.
Differences functions
deltaTimePHi0 :: Double -> [Int] Source #
Function deltaTimePHi0
returns a list of Int
s of the differences between the neighbour values in the list produced by the timeIntervalsPHi0
function.
deltaTimePHi0s :: Double -> [Double] Source #
The same as deltaTimePHi0
function, but the result is in seconds.