lsp2poly
public c v1 · immutablestatic void lsp2poly(float *lsp, float *f) { int i, j; f[-1] = 0.0; f[ 0] = 1.0;#if 0 for(i=0; i<5; i++) { int idx_lsp = 2*i; f[i+1] = -lsp[idx_lsp]*f[i] + 2.0*f[i-1]; for(j=i; j>0; j--) { f[j] += -lsp[idx_lsp]*f[j-1] + f[j-2]; } }#else f[1] = -2*lsp[0]; for(i=1; i<5; i++) { float b = -2*lsp[2*i]; f[i+1] = b*f[i] + 2.0*f[i-1]; for(j=i; j>1; j--) { f[j] += b*f[j-1] + f[j-2]; } f[1]+=b; }#endif}