1/*
2 * Copyright (c) 2003-2010, Mark Borgerding. All rights reserved.
3 * This file is part of KISS FFT - https://github.com/mborgerding/kissfft
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 * See COPYING file for more information.
7 */
8
9#ifndef kiss_fft_log_h
10#define kiss_fft_log_h
11
12#define ERROR 1
13#define WARNING 2
14#define INFO 3
15#define DEBUG 4
16
17#define STRINGIFY(x) #x
18#define TOSTRING(x) STRINGIFY(x)
19
20#if defined(NDEBUG)
21# define KISS_FFT_LOG_MSG(severity, ...) ((void)0)
22#else
23# define KISS_FFT_LOG_MSG(severity, ...) \
24 fprintf(stderr, "[" #severity "] " __FILE__ ":" TOSTRING(__LINE__) " "); \
25 fprintf(stderr, __VA_ARGS__); \
26 fprintf(stderr, "\n")
27#endif
28
29#define KISS_FFT_ERROR(...) KISS_FFT_LOG_MSG(ERROR, __VA_ARGS__)
30#define KISS_FFT_WARNING(...) KISS_FFT_LOG_MSG(WARNING, __VA_ARGS__)
31#define KISS_FFT_INFO(...) KISS_FFT_LOG_MSG(INFO, __VA_ARGS__)
32#define KISS_FFT_DEBUG(...) KISS_FFT_LOG_MSG(DEBUG, __VA_ARGS__)
33
34
35
36#endif /* kiss_fft_log_h */