60 while(i < power_sample)
62 rev = (rev << 1) | (index & 1);
76 n_uint NumSamples = 1 << power_sample;
78 n_uint BlockSize, BlockEnd;
80 n_double *d_in, *d_ini, *d_out, *d_outi;
86 angle_numerator = -angle_numerator;
108 while(i < NumSamples)
110 n_uint j = audio_reverse_bits (i, power_sample);
122 while (BlockSize <= NumSamples)
125 n_double sm2 = sin ( -2 * delta_angle );
126 n_double sm1 = sin ( -delta_angle );
127 n_double cm2 = cos ( -2 * delta_angle );
128 n_double cm1 = cos ( -delta_angle );
133 while( i < NumSamples )
158 n_double tr = ar0*d_outi[k] - ai0*d_out[k];
159 n_double ti = ar0*d_out[k] + ai0*d_outi[k];
161 d_outi[k] = d_outi[j] - tr;
162 d_out[k] = d_out[j] - ti;
173 BlockEnd = BlockSize;
183 while (i < NumSamples)
199 while (loop < length)
202 timedomain[loop] = 0;
203 frequencyi[loop] = 0;
204 timedomaini[loop] = 0;
217 while (loop < length)
232 while (loop < length)
234 audio[loop] = (
n_audio)timedomain[loop];
247 while (loop < length)
249 audio[loop] *= timedomain[loop];
261 frequency[entry] = value/1E+00;
262 frequencyi[entry] = 0E+00;
266 static void audio_aiff_uint(
n_byte * buffer,
n_uint value)
268 buffer[0] = (value & 0xff000000) >> 24;
269 buffer[1] = (value & 0x00ff0000) >> 16;
270 buffer[2] = (value & 0x0000ff00) >> 8;
271 buffer[3] = (value & 0x000000ff) >> 0;
276 fwrite(samples,number_samples,
sizeof(
n_audio),(FILE*)fptr);
279 static void audio_header(
n_byte * header)
315 return 4 + 8 + 18 + 8 + (
sizeof(
n_audio) * total_samples) + 8;
320 return (2 * total_samples) + 8;
326 audio_header(header);
327 audio_aiff_uint(&header[4], audio_total_size(total_samples));
328 audio_aiff_uint(&header[22], total_samples);
329 audio_aiff_uint(&header[42], audio_sound_size(total_samples));
330 fwrite(header, 54, 1, (FILE*)fptr);