News for hackers. Stuff that matters.
Re:Timsort by shin_lao on Wednesday November 09, 2011 @10:23AM (#3215780)
It should work to g++ easily, provided the usual "typename" adjustments.

Basically I wrote each sort block as individual functors (partitioning, merging). You run that through a filter stack that decides what to do depending on the input size and the current recursion depth.

It's faster (I think) because when the recursion depth is a compile-time value, the compiler can unroll the recursion.

It's old code I wrote for Boost but never had the time to finish & submit. As I quickly read through it there's a couple of rough edges to polish.

Re:Timsort by KaeseEs on Wednesday November 09, 2011 @04:31PM (#3217510)
Function objects are not 'functor's. Please do not call them that. Functor is a word that has a specific meaning in category theory that winds up being relevant in some other programming languages (Haskell, ML and friends) and we don't need to shoot ourselves in the foot by overloading it with another meaning.
Re:Timsort by shin_lao on Thursday November 10, 2011 @02:21AM (#3219287)
A functor is another word for "function object".

http://en.wikipedia.org/wiki/Function_object