Skip to content
Prev Previous commit
Next Next commit
Minimise float calculations
Less is more
  • Loading branch information
Crypter authored Jan 18, 2018
commit b56bc495f3afe76639ef91a0803fbcbe93aba8b5
5 changes: 3 additions & 2 deletions cores/esp8266/core_esp8266_i2s.c
Original file line number Diff line number Diff line change
Expand Up @@ -220,8 +220,9 @@ void ICACHE_FLASH_ATTR i2s_set_rate(uint32_t rate){ //Rate in HZ
uint8_t scd_div_best=1;
for (uint8_t i=1; i<64; i++){
for (uint8_t j=i; j<64; j++){
if (fabs(((float)scaled_base_freq/i/j) - rate) < delta_best){
delta_best = fabs(((float)scaled_base_freq/i/j) - rate);
float new_delta = fabs(((float)scaled_base_freq/i/j) - rate);
if (new_delta < delta_best){
delta_best = new_delta;
sbd_div_best = i;
scd_div_best = j;
}
Expand Down