Chris@41: /* Chris@41: ** Copyright (c) 2002-2016, Erik de Castro Lopo Chris@41: ** All rights reserved. Chris@41: ** Chris@41: ** This code is released under 2-clause BSD license. Please see the Chris@41: ** file at : https://github.com/erikd/libsamplerate/blob/master/COPYING Chris@41: */ Chris@41: Chris@41: #define ABS(a) (((a) < 0) ? - (a) : (a)) Chris@41: #define MIN(a,b) (((a) < (b)) ? (a) : (b)) Chris@41: #define MAX(a,b) (((a) >= (b)) ? (a) : (b)) Chris@41: Chris@41: #define ARRAY_LEN(x) ((int) (sizeof (x) / sizeof ((x) [0]))) Chris@41: Chris@41: void gen_windowed_sines (int freq_count, const double *freqs, double max, float *output, int output_len) ; Chris@41: Chris@41: void save_oct_float (char *filename, float *input, int in_len, float *output, int out_len) ; Chris@41: void save_oct_double (char *filename, double *input, int in_len, double *output, int out_len) ; Chris@41: Chris@41: void interleave_data (const float *in, float *out, int frames, int channels) ; Chris@41: Chris@41: void deinterleave_data (const float *in, float *out, int frames, int channels) ; Chris@41: Chris@41: void reverse_data (float *data, int datalen) ; Chris@41: Chris@41: double calculate_snr (float *data, int len, int expected_peaks) ; Chris@41: Chris@41: const char * get_cpu_name (void) ; Chris@41: Chris@41: #if OS_IS_WIN32 Chris@41: /* Chris@41: ** Extra Win32 hacks. Chris@41: ** Chris@41: ** Despite Microsoft claim of windows being POSIX compatibile it has '_sleep' Chris@41: ** instead of 'sleep'. Chris@41: */ Chris@41: Chris@41: #define sleep _sleep Chris@41: #endif Chris@41: