|
Rockbox mail archiveSubject: Re: how is strnatcmp aka "Interpret numbers while sorting" supposed to sort?Re: how is strnatcmp aka "Interpret numbers while sorting" supposed to sort?
From: Thomas Martitz <thomas.martitz_at_fhtw-berlin.de>
Date: Thu, 19 Mar 2009 16:04:13 +0100 Bryan VanDyke wrote: > Thomas Martitz wrote: > >> Linus Nielsen Feltzing wrote: >> >>> Mike Holden wrote: >>> >>>> Maybe leading zeros should only be stripped if another digit follows >>>> them? >>>> >>>> I use names like 00RockFaves.m3u, 00ClassicRock.m3u for playlists that I >>>> have created (as opposed to original artist albums), and the leading >>>> zerozero is deliberately there to sort them at the top. >>>> >>> That's an interesting observation. I believe leading zeroes are >>> treated like whitespace in the current code, but in this case I think >>> that the final zero should be kept. >>> >>> Linus >>> >> That's not trivial, and adds complexity. You basically need to look at >> the current, the next, and one more for this, instead of just the >> current char. >> >> > > Actually it not that bad. > > Pseudo code: > > get current > get next > while (current != null && next != null && current == '0' && next is a > number) > { > current = next > next = get next > } > > > Now imagine this for every char in a string, and for every string in a file list (with some 100 files). It's three-times (or even more) more complexity than just. while (is_zero(a)) a = next; We're on embedded, and thus slow systems. Your would surely work well on a desktop app, but for mp3-players we need fast and small code. The gain has to justify the code, and I don't think it does it in this example. Received on 2009-03-19 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |