Range consolidation: Difference between revisions

m
Line 649:
 
consolidated :: [(Float, Float)] -> [(Float, Float)]
consolidated xs = foldr go [] . sort . fmap ab
where
let go xy [] = [xy]
go xy@(x, y)[] abetc@((a,= b) : etc)[xy]
go |xy@(x, y) >=abetc@((a, b = xy) : etc)
| y >= ab = (x, b)xy : etc
| y |>= otherwisea = xy(x, b) : abetcetc
ab| (a,otherwise b)= xy : abetc
| a <= b =ab (a, b)
| a |<= otherwiseb = (ba, ab)
in foldr go []| (sortotherwise .= fmap ab $(b, xsa)
 
 
9,655

edits