https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114566

--- Comment #3 from Yuxuan Shui <yshuiv7 at gmail dot com> ---
Roughly reduced example:

#include <math.h>
#include <string.h>

#define toOC(n)     (log(n)*1.442695f-5.965784f)

float *setup_tone_curves(float binHz,
                         float center_decay_rate) {
  float workc[8][56];
  float *ret = NULL;

  memset(workc, 0, sizeof(workc));

  for (int j = 0; j < 8; j++) {
    for (int k = 0; k < 56; k++) {
      float adj =  k * center_decay_rate;
      if (adj < 0.)
        adj = 0.;
      if (adj > 0.)
        adj = 0.;
      workc[j][k] += adj;
    }
  }

  int lo_curve, bin = 0;
  lo_curve = ceil(toOC(bin * binHz + 1) * 2);

  return (ret);
}

int main() {
  setup_tone_curves(86.1328125, 0.625001);
  return 0;
}

Reply via email to