Age | Commit message (Collapse) | Author |
|
|
|
|
|
use `cc_xx' rather than awkward synonyms.
|
|
|
|
- use `static constexpr inline' to avoid requiring
explicit declarations in object code
- use `const Foo* const' to maybe put into readonly
binary segment (at least for ELF DSOs)
- `constexpr' in function scope has storage, avoid
`static'
- don't use `constexpr' where there's no advantage,
like arrays
We'd like to avoid overhead of atomic initialization
for each function call. No idea how `static constexpr'
requiring storage in the standard plays with atomic
initialization requirement. Hearsay points that
`constexpr' without `static' in block scope behaves
more to our liking. It's all hazy though.
I'm not 100% sure if `static inline constexpr' has any
storage. Hopefully none, like a #define, and stuff
bigger than registers gets coalesced within the same
module, with small stuff being immediates.
|
|
Adjust usages.
|
|
|
|
|
|
|
|
|
|
- mapping window clamps are now value<max_clamp> in
spline
- clamp won't mess up saved spline content
- clean up artifacts on spline widget
|
|
|
|
|
|
|
|
Generally nothing of importance, just readability.
- There was a particularly scary typo where:
const unsigned end = std::min(unsigned(value_count), unsigned(p2_x * mult_));
clamping to value_count doesn't make sense, given arbitrary p2_x.
- Try harder to avoid assigning s->points. Also the overlap
threshold constant was arbitrarily too high.
- Sort predicate is meant to use strict ordering,
not partial total order.
|
|
|
|
Update usages.
|
|
|
|
Adjust usages.
|