st->fft_lookup = speex_alloc(sizeof(struct drft_lookup));
st->fft_lookup = (struct drft_lookup*)speex_alloc(sizeof(struct drft_lookup));
SpeexEchoState *speex_echo_state_init(int frame_size, int filter_length){   int i,N,M;   SpeexEchoState *st = (SpeexEchoState *)speex_alloc(sizeof(SpeexEchoState));   st->frame_size = frame_size;   st->window_size = 2*frame_size;   N = st->window_size;   M = st->M = (filter_length+N-1)/frame_size;   st->cancel_count=0;   st->adapt_rate = .01;   st->fft_lookup = speex_alloc(sizeof(struct drft_lookup));   drft_init(st->fft_lookup, N);      st->x = (float*)speex_alloc(N*sizeof(float));   st->d = (float*)speex_alloc(N*sizeof(float));   st->y = (float*)speex_alloc(N*sizeof(float));   st->X = (float*)speex_alloc(M*N*sizeof(float));   st->D = (float*)speex_alloc(N*sizeof(float));   st->Y = (float*)speex_alloc(N*sizeof(float));   st->E = (float*)speex_alloc(N*sizeof(float));   st->W = (float*)speex_alloc(M*N*sizeof(float));   st->PHI = (float*)speex_alloc(N*sizeof(float));   st->power = (float*)speex_alloc((frame_size+1)*sizeof(float));   st->power_1 = (float*)speex_alloc((frame_size+1)*sizeof(float));   st->grad = (float*)speex_alloc(N*M*sizeof(float));   st->old_grad = (float*)speex_alloc(N*M*sizeof(float));      for (i=0;i<N*M;i++)   {      st->W[i] = 0;   }   return st;}