File size distribution: Difference between revisions

Content added Content deleted
Line 548: Line 548:
printf "Total size: %s\n" $ displaySize $ totalBytes items
printf "Total size: %s\n" $ displaySize $ totalBytes items
putStrLn "\nDistribution:"
putStrLn "\nDistribution:"
let results = filteredGroups groupSize items
let results = expandedGroups groupSize (sizes items) (groupThreshold fileCount) items
deepResults = expandedGroups groupSize (sizes items) (groupThreshold fileCount) results
mapM_ (displayFrequency fileCount) results
mapM_ (displayFrequency fileCount) deepResults
where
where
sizes = sort . fileSizes
sizes = sort . fileSizes
filteredGroups n = filter ((>0) . snd) . frequencyGroups n . sizes
initialGroups n = filter ((>0) . snd) . frequencyGroups n . sizes
groupThreshold = round . (*0.25) . realToFrac
groupThreshold = round . (*0.25) . realToFrac
expandedGroups gsize sizes n = filter ((>0) . snd) . expandGroups gsize sizes n</lang>
expandedGroups gsize sizes n = filter ((>0) . snd)
. expandGroups gsize sizes n
. initialGroups gsize</lang>
{{out}}
{{out}}
<pre style="height: 50rem;">$ filedist
<pre style="height: 50rem;">$ filedist