optimisation: defined a reciprocal square root (celt_rsqrt) for use in
[opus.git] / libcelt / pitch.c
index 01eec28..2dab60f 100644 (file)
@@ -167,7 +167,8 @@ void find_spectral_pitch(kiss_fftr_cfg fft, const struct PsyDecay *decay, const
       celt_word32_t tmp;
       /*printf ("%d %d ", X[2*i]*X[2*i]+X[2*i+1]*X[2*i+1], Y[2*i]*Y[2*i]+Y[2*i+1]*Y[2*i+1]);*/
       /*n = DIV32_16(Q15ONE,celt_sqrt(EPSILON+curve[i]));*/
-      n = ROUND16(celt_rcp(celt_sqrt(EPSILON+curve[i])),16);
+      /*n = ROUND16(celt_rcp(celt_sqrt(EPSILON+curve[i])),16);*/
+      n = celt_rsqrt(EPSILON+curve[i]);
       /*printf ("%f ", n);*/
       tmp = X[2*i];
       X[2*i] = MULT16_32_Q15(n, ADD32(MULT16_16(X[2*i  ],Y[2*i  ]), MULT16_16(X[2*i+1],Y[2*i+1])));