File size distribution: Difference between revisions
Content added Content deleted
Line 473: | Line 473: | ||
displaySize :: Integer -> String |
displaySize :: Integer -> String |
||
displaySize n |
displaySize n |
||
| |
| n <= 2^10 = show n <> "B" |
||
| n >= 2^10 && n <= 2^20 = display "KB" $ 2^10 |
| n >= 2^10 && n <= 2^20 = display "KB" $ 2^10 |
||
| n >= 2^20 && n <= 2^30 = display "MB" $ 2^20 |
| n >= 2^20 && n <= 2^30 = display "MB" $ 2^20 |
||
Line 496: | Line 496: | ||
displayFrequency :: Integer -> FrequencyGroup -> IO () |
displayFrequency :: Integer -> FrequencyGroup -> IO () |
||
displayFrequency filesCount ((min, max), count) = |
displayFrequency filesCount ((min, max), count) = |
||
printf "%5s <-> %5s = %5d % |
printf "%5s <-> %5s = %5d %6.3f%%: %-5s\n" |
||
(displaySize min) |
(displaySize min) |
||
(displaySize max) |
(displaySize max) |
||
Line 505: | Line 505: | ||
percentage :: Double |
percentage :: Double |
||
percentage = (realToFrac count / realToFrac filesCount) * 100 |
percentage = (realToFrac count / realToFrac filesCount) * 100 |
||
bars = replicate (round percentage) '█' |
bars = replicate (round $ percentage * 4) '█' -- % of 25% (max group size) |
||
parseArgs :: [String] -> Either String (FilePath, Int) |
parseArgs :: [String] -> Either String (FilePath, Int) |
||
Line 564: | Line 564: | ||
Distribution: |
Distribution: |
||
0B <-> 83B = 43580 10.093%: ████████████████████████████████████████ |
|||
0B <-> 83B = 43580 10.09%: ██████████ |
|||
84B <-> 167B = 40942 9. |
84B <-> 167B = 40942 9.482%: ██████████████████████████████████████ |
||
168B <-> 251B = 24867 5. |
168B <-> 251B = 24867 5.759%: ███████████████████████ |
||
252B <-> 335B = 20019 4. |
252B <-> 335B = 20019 4.636%: ███████████████████ |
||
336B <-> 419B = 15623 3. |
336B <-> 419B = 15623 3.618%: ██████████████ |
||
420B <-> 503B = 13403 3. |
420B <-> 503B = 13403 3.104%: ████████████ |
||
504B <-> 587B = 12778 2. |
504B <-> 587B = 12778 2.959%: ████████████ |
||
588B <-> 671B = 12125 2. |
588B <-> 671B = 12125 2.808%: ███████████ |
||
672B <-> 755B = 12736 2. |
672B <-> 755B = 12736 2.950%: ████████████ |
||
756B <-> 839B = 9565 2. |
756B <-> 839B = 9565 2.215%: █████████ |
||
826B <-> 2KB = 83110 19.247%: █████████████████████████████████████████████████████████████████████████████ |
|||
826B <-> 2KB = 83110 19.25%: ███████████████████ |
|||
2KB <-> 2KB = 34092 7. |
2KB <-> 2KB = 34092 7.895%: ████████████████████████████████ |
||
2KB <-> 3KB = 20814 4. |
2KB <-> 3KB = 20814 4.820%: ███████████████████ |
||
3KB <-> 4KB = 15088 3. |
3KB <-> 4KB = 15088 3.494%: ██████████████ |
||
4KB <-> 5KB = 10327 2. |
4KB <-> 5KB = 10327 2.392%: ██████████ |
||
5KB <-> 6KB = 7608 1. |
5KB <-> 6KB = 7608 1.762%: ███████ |
||
6KB <-> 6KB = 6260 1. |
6KB <-> 6KB = 6260 1.450%: ██████ |
||
6KB <-> 7KB = 4562 1. |
6KB <-> 7KB = 4562 1.057%: ████ |
||
7KB <-> 8KB = 3894 0. |
7KB <-> 8KB = 3894 0.902%: ████ |
||
8KB <-> 16KB = 18833 4. |
8KB <-> 16KB = 18833 4.362%: █████████████████ |
||
16KB <-> 24KB = 6188 1. |
16KB <-> 24KB = 6188 1.433%: ██████ |
||
24KB <-> 32KB = 3342 0. |
24KB <-> 32KB = 3342 0.774%: ███ |
||
32KB <-> 40KB = 2100 0. |
32KB <-> 40KB = 2100 0.486%: ██ |
||
40KB <-> 48KB = 1447 0. |
40KB <-> 48KB = 1447 0.335%: █ |
||
48KB <-> 56KB = 966 0. |
48KB <-> 56KB = 966 0.224%: █ |
||
56KB <-> 64KB = 726 0. |
56KB <-> 64KB = 726 0.168%: █ |
||
64KB <-> 72KB = 852 0. |
64KB <-> 72KB = 852 0.197%: █ |
||
72KB <-> 81KB = 563 0. |
72KB <-> 81KB = 563 0.130%: █ |
||
81KB <-> 161KB = 2368 0. |
81KB <-> 161KB = 2368 0.548%: ██ |
||
161KB <-> 242KB = 967 0. |
161KB <-> 242KB = 967 0.224%: █ |
||
242KB <-> 322KB = 558 0. |
242KB <-> 322KB = 558 0.129%: █ |
||
322KB <-> 403KB = 287 0. |
322KB <-> 403KB = 287 0.066%: |
||
403KB <-> 483KB = 176 0. |
403KB <-> 483KB = 176 0.041%: |
||
483KB <-> 564KB = 100 0. |
483KB <-> 564KB = 100 0.023%: |
||
564KB <-> 644KB = 77 0. |
564KB <-> 644KB = 77 0.018%: |
||
644KB <-> 725KB = 101 0. |
644KB <-> 725KB = 101 0.023%: |
||
725KB <-> 805KB = 77 0. |
725KB <-> 805KB = 77 0.018%: |
||
815KB <-> 2MB = 282 0. |
815KB <-> 2MB = 282 0.065%: |
||
2MB <-> 2MB = 123 0. |
2MB <-> 2MB = 123 0.028%: |
||
2MB <-> 3MB = 74 0. |
2MB <-> 3MB = 74 0.017%: |
||
3MB <-> 4MB = 59 0. |
3MB <-> 4MB = 59 0.014%: |
||
4MB <-> 5MB = 26 0. |
4MB <-> 5MB = 26 0.006%: |
||
5MB <-> 6MB = 17 0. |
5MB <-> 6MB = 17 0.004%: |
||
6MB <-> 6MB = 20 0. |
6MB <-> 6MB = 20 0.005%: |
||
6MB <-> 7MB = 7 0. |
6MB <-> 7MB = 7 0.002%: |
||
7MB <-> 8MB = 6 0. |
7MB <-> 8MB = 6 0.001%: |
||
8MB <-> 16MB = 23 0. |
8MB <-> 16MB = 23 0.005%: |
||
16MB <-> 24MB = 10 0. |
16MB <-> 24MB = 10 0.002%: |
||
24MB <-> 32MB = 9 0. |
24MB <-> 32MB = 9 0.002%: |
||
32MB <-> 40MB = 4 0. |
32MB <-> 40MB = 4 0.001%: |
||
40MB <-> 49MB = 5 0. |
40MB <-> 49MB = 5 0.001%: |
||
73MB <-> 81MB = 3 0. |
73MB <-> 81MB = 3 0.001%: |
||
98MB <-> 196MB = 8 0. |
98MB <-> 196MB = 8 0.002%: |
||
294MB <-> 392MB = 1 0. |
294MB <-> 392MB = 1 0.000%: </pre> |
||
=={{header|Julia}}== |
=={{header|Julia}}== |