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