branchless optimization
This commit is contained in:
parent
0fbc29e482
commit
640672be47
@ -61,14 +61,22 @@ public:
|
||||
inline void insert(int elem) noexcept {
|
||||
if(TL_LIKELY(count < capacity)) {
|
||||
// INSERT
|
||||
|
||||
/* Same as this:
|
||||
if(mid > 0) {
|
||||
nex[mid - 1] = old[mid - 1];
|
||||
--mid;
|
||||
}
|
||||
*/
|
||||
bool hasmid = (mid > 0);
|
||||
mid -= hasmid;
|
||||
nex[mid] = hasmid ? old[mid] : nex[mid];
|
||||
|
||||
nex[end++] = elem;
|
||||
++count;
|
||||
} else {
|
||||
// GROW
|
||||
|
||||
grow_and_insert(elem);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user