Boost logo

Boost :

Subject: Re: [boost] non-branching min()
From: Tim Blechmann (tim_at_[hidden])
Date: 2009-09-10 13:31:33

> traditionaly min() has an implementation like
> template<typename type> inline
> type min(type a, type b) { return a<b ? a : b; }

well, depending on your compiler optimization and cpu architecture, the
compiler is able to optimize it, removing the branch ...
e.g. different revisions of sse provide opcodes for min/max of
floats/doubles and different kinds of integers ...

in those cases, your branchless code may be even slower, unless it isn't
optimized to use these instructions as well :)


The composer makes plans, music laughs.
  Morton Feldman

Boost list run by bdawes at, gregod at, cpdaniel at, john at