mirror of
https://github.com/esphome/esphome.git
synced 2026-02-24 20:35:30 -07:00
light-fast-lerp
std::lerp includes NaN/infinity edge-case handling per C++20 spec which adds ~200 bytes of overhead per call. With 10 fields interpolated, this bloated the symbol to 2,038 bytes on BK72xx. Since all light color values are pre-clamped finite floats, a simple a + t * (b - a) is sufficient. Reduces LightColorValues::lerp from 2,038 B to 286 B on BK72xx. Also saves 16 bytes on ESP8266.
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
483 MiB
Languages
C++
64.1%
Python
35.6%
C
0.2%
