(C) Roger Whittaker 2015
roger@disruptive.org.uk
Free software licenced under the GPL

> module Utils (format
>              ,version
>              ,genby
>              ,fixdec
>              ,fixnum
>              )

> where

> import Data.String.Utils

The input to format looks like this
["[0.2,0.2,0.2,0.2,0.2]","3","10.0","0.73"]

> format :: [[Char]] -> [[Char]]
> format [s, t, u, v] = ["g = " ++ replace "," ", " s
>                       ,"n = " ++ countdim s ++ ", " ++ t ++ iterationstext t ++ "scale = " ++ u ++ " "
>                        ]

> countdim :: [Char] -> String
> countdim = show . length . (split ",") . (replace "]" "") . (replace "[" "")

> iterationstext :: [Char] -> [Char]
> iterationstext "1" = " iteration, "
> iterationstext _   = " iterations, "

> version :: [t] -> t
> version [s, t, u, v] = v

> genby :: [Char] -> [[Char]] -> [Char]
> genby prog y = "generated by " ++ prog ++ " version " ++ version y

> fixdec :: [Char] -> Double
> fixdec st = read (if head st == '.' then "0" ++ st else st) :: Double

> fixnum :: [Char] -> Double
> fixnum st = if (head st) == '-' then negate (fixdec (tail st)) else (fixdec st)
