/*** Copyright (c) 2002-2016, Erik de Castro Lopo <erikd@mega-nerd.com>** All rights reserved.**** This code is released under 2-clause BSD license. Please see the** file at : https://github.com/libsndfile/libsamplerate/blob/master/COPYING*/ #include "src_config.h" #define ABS(a) (((a) < 0) ? - (a) : (a)) #ifndef MAX#define MAX(a,b) (((a) > (b)) ? (a) : (b))#endif #ifndef MIN#define MIN(a,b) (((a) < (b)) ? (a) : (b))#endif #define ARRAY_LEN(x) ((int) (sizeof (x) / sizeof ((x) [0]))) void gen_windowed_sines (int freq_count, const double *freqs, double max, float *output, int output_len) ; void save_oct_float (char *filename, float *input, int in_len, float *output, int out_len) ;void save_oct_double (char *filename, double *input, int in_len, double *output, int out_len) ; void interleave_data (const float *in, float *out, int frames, int channels) ; void deinterleave_data (const float *in, float *out, int frames, int channels) ; void reverse_data (float *data, int datalen) ; double calculate_snr (float *data, int len, int expected_peaks) ; const char * get_cpu_name (void) ; #define ASSERT(condition) \ if (!(condition)) \ { printf ("Condition failed on Line %d : %s\n\n", __LINE__, #condition) ; \ exit (1) ; \ } ; #if OS_IS_WIN32/*** Extra Win32 hacks.**** Despite Microsoft claim of windows being POSIX compatibile it has '_sleep'** instead of 'sleep'.*/ #define sleep _sleep#endif
/*
** Copyright (c) 2002-2016, Erik de Castro Lopo <erikd@mega-nerd.com>
** All rights reserved.
**
** This code is released under 2-clause BSD license. Please see the
** file at : https://github.com/libsndfile/libsamplerate/blob/master/COPYING
*/
#include "src_config.h"
#define ABS(a) (((a) < 0) ? - (a) : (a))
#ifndef MAX
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
#endif
#ifndef MIN
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
#endif
#define ARRAY_LEN(x) ((int) (sizeof (x) / sizeof ((x) [0])))
void gen_windowed_sines (int freq_count, const double *freqs, double max, float *output, int output_len) ;
void save_oct_float (char *filename, float *input, int in_len, float *output, int out_len) ;
void save_oct_double (char *filename, double *input, int in_len, double *output, int out_len) ;
void interleave_data (const float *in, float *out, int frames, int channels) ;
void deinterleave_data (const float *in, float *out, int frames, int channels) ;
void reverse_data (float *data, int datalen) ;
double calculate_snr (float *data, int len, int expected_peaks) ;
const char * get_cpu_name (void) ;
#define ASSERT(condition) \
if (!(condition)) \
{ printf ("Condition failed on Line %d : %s\n\n", __LINE__, #condition) ; \
exit (1) ; \
} ;
#if OS_IS_WIN32
/*
** Extra Win32 hacks.
**
** Despite Microsoft claim of windows being POSIX compatibile it has '_sleep'
** instead of 'sleep'.
*/
#define sleep _sleep
#endif