optimization
replacing MIN / MAX (arduino macros) by more efficient min/max (libc templates)
This commit is contained in:
@@ -1333,12 +1333,12 @@ uint16_t mode_fire_flicker(void) {
|
||||
byte r = (SEGCOLOR(0) >> 16);
|
||||
byte g = (SEGCOLOR(0) >> 8);
|
||||
byte b = (SEGCOLOR(0) );
|
||||
byte lum = (SEGMENT.palette == 0) ? MAX(w, MAX(r, MAX(g, b))) : 255;
|
||||
byte lum = (SEGMENT.palette == 0) ? max(w, max(r, max(g, b))) : 255;
|
||||
lum /= (((256-SEGMENT.intensity)/16)+1);
|
||||
for (int i = 0; i < SEGLEN; i++) {
|
||||
byte flicker = random8(lum);
|
||||
if (SEGMENT.palette == 0) {
|
||||
SEGMENT.setPixelColor(i, MAX(r - flicker, 0), MAX(g - flicker, 0), MAX(b - flicker, 0), MAX(w - flicker, 0));
|
||||
SEGMENT.setPixelColor(i, max(r - flicker, 0), max(g - flicker, 0), max(b - flicker, 0), max(w - flicker, 0));
|
||||
} else {
|
||||
SEGMENT.setPixelColor(i, SEGMENT.color_from_palette(i, true, PALETTE_SOLID_WRAP, 0, 255 - flicker));
|
||||
}
|
||||
@@ -1369,7 +1369,7 @@ uint16_t gradient_base(bool loading) {
|
||||
{
|
||||
val = abs(((i>pp) ? p2:pp) -i);
|
||||
} else {
|
||||
val = MIN(abs(pp-i),MIN(abs(p1-i),abs(p2-i)));
|
||||
val = min(abs(pp-i), min(abs(p1-i), abs(p2-i)));
|
||||
}
|
||||
val = (brd > val) ? val/brd * 255 : 255;
|
||||
SEGMENT.setPixelColor(i, color_blend(SEGCOLOR(0), SEGMENT.color_from_palette(i, true, PALETTE_SOLID_WRAP, 1), val));
|
||||
@@ -2129,7 +2129,7 @@ uint16_t mode_fire_2012() {
|
||||
|
||||
// Step 4. Map from heat cells to LED colors
|
||||
for (int j = 0; j < SEGLEN; j++) {
|
||||
SEGMENT.setPixelColor(indexToVStrip(j, stripNr), ColorFromPalette(SEGPALETTE, MIN(heat[j],240), 255, NOBLEND));
|
||||
SEGMENT.setPixelColor(indexToVStrip(j, stripNr), ColorFromPalette(SEGPALETTE, min(heat[j],byte(240)), 255, NOBLEND));
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -2971,7 +2971,7 @@ uint16_t mode_bouncing_balls(void) {
|
||||
|
||||
uint32_t color = SEGCOLOR(0);
|
||||
if (SEGMENT.palette) {
|
||||
color = SEGMENT.color_wheel(i*(256/MAX(numBalls, 8)));
|
||||
color = SEGMENT.color_wheel(i*(256/max(numBalls, uint16_t(8))));
|
||||
} else if (hasCol2) {
|
||||
color = SEGCOLOR(i % NUM_COLORS);
|
||||
}
|
||||
@@ -6245,7 +6245,7 @@ uint16_t mode_2Dfloatingblobs(void) {
|
||||
if (blob->grow[i]) {
|
||||
// enlarge radius until it is >= 4
|
||||
blob->r[i] += (fabsf(blob->sX[i]) > fabsf(blob->sY[i]) ? fabsf(blob->sX[i]) : fabsf(blob->sY[i])) * 0.05f;
|
||||
if (blob->r[i] >= MIN(cols/4.f,2.f)) {
|
||||
if (blob->r[i] >= min(cols/4.f,2.f)) {
|
||||
blob->grow[i] = false;
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user