Revision ba6c6006

b/hbal.hs
148 148
         else
149 149
             return (ini_tbl, cmd_strs))
150 150

  
151
-- | Formats the solution for the oneline display
152
formatOneline :: Double -> Int -> Double -> String
153
formatOneline ini_cv plc_len fin_cv =
154
    printf "%.8f %d %.8f %8.3f" ini_cv plc_len fin_cv
155
               (if fin_cv == 0 then 1 else (ini_cv / fin_cv))
156

  
151 157
-- | Main function.
152 158
main :: IO ()
153 159
main = do
......
201 207

  
202 208
  when (Container.size il == 0) $ do
203 209
         (if oneline then
204
              printf "%.8f %d %.8f %8.3f\n"
205
                         (0::Double) (0::Integer) (0::Double) (1::Double)
210
              putStrLn $ formatOneline 0 0 0
206 211
          else
207 212
              printf "Cluster is empty, exiting.\n")
208 213
         exitWith ExitSuccess
......
235 240

  
236 241
  when (ini_cv < min_cv) $ do
237 242
         (if oneline then
238
              printf "%.8f %d %.8f %8.3f\n"
239
                     ini_cv (0::Integer) ini_cv (1::Double)
243
              putStrLn $ formatOneline ini_cv 0 ini_cv
240 244
          else printf "Cluster is already well balanced (initial score %.6g,\n\
241 245
                      \minimum score %.6g).\nNothing to do, exiting\n"
242 246
                      ini_cv min_cv)
......
297 301
              do
298 302
                printf "Original: mem=%d disk=%d\n" orig_mem orig_disk
299 303
                printf "Final:    mem=%d disk=%d\n" final_mem final_disk
300
  when oneline $ do
301
         printf "%.8f %d %.8f %8.3f\n"
302
                ini_cv (length ord_plc) fin_cv (ini_cv / fin_cv)
304
  when oneline $
305
         putStrLn $ formatOneline ini_cv (length ord_plc) fin_cv

Also available in: Unified diff