/* * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab * Copyright (C) 2008 - INRIA - Allan SIMON * * This file must be used under the terms of the CeCILL. * This source file is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt * */ #include "ifft_internal.h" /* get binary log of integer argument; exact if n a power of 2 */ static int fastlog2( int n) { int log = -1; while(n) { log++; n >>= 1; } return(log); } /* int in; FORWARD or INVERSE int n; length of vector DPCOMPLEX *b; input vector */ void ifft842 (doubleComplex* b, int size , int in) { double fn; doubleComplex temp ; int L[16],L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15; int j1,j2,j3,j4,j5,j6,j7,j8,j9,j10,j11,j12,j13,j14; int i = 0, j, ij, ji, ij1, ji1; int n2pow, n8pow, nthpo, ipass, nxtlt, lengt; n2pow = fastlog2( size ); nthpo = size ; fn = nthpo; if(in==INVERSE) /*scramble inputs*/ for(i=0,j=size/2;j