int vsip_cqrd_destroy_f( vsip_cqr_f* qr) { if(qr != NULL){ VI_cvalldestroy_f(qr->w); VI_cvalldestroy_f(qr->v); VI_cvalldestroy_f(qr->cI); free(qr->beta); free(qr); } return 0; }
int vsip_conv1d_destroy_f(vsip_conv1d_f *conv) { if(conv != NULL){ if(conv->x != NULL) VI_cvalldestroy_f(conv->x); if(conv->H != NULL) VI_cvalldestroy_f(conv->H); if(conv->fft != NULL) vsip_fft_destroy_f(conv->fft); if(conv->fftm != NULL) vsip_fftm_destroy_f(conv->fftm); if(conv->Xm != NULL) vsip_cmalldestroy_f(conv->Xm); free(conv); } return 0; }
int vsip_fftm_destroy_f(vsip_fftm_f *fftm) { #if defined(VSIP_USE_FFT_FOR_FFTM_F) if(fftm != NULL){ vsip_fft_f* fft = (vsip_fft_f*) fftm->ext_fftm_obj; if(fft != NULL) vsip_fft_destroy_f(fft); free(fftm); } #else if(fftm != NULL){ VI_cvalldestroy_f(fftm->wt); VI_cvalldestroy_f(fftm->temp); free(fftm->pn); free(fftm->p0); free(fftm->pF); free(fftm->index); free(fftm); } #endif return 0; }