// Stub out the LOG implmentations with fprintf
#ifndef SPRINGBOK_H
#define SPRINGBOK_H

#include <stdio.h>

#define LOG_NOISY(msg, args...) fprintf(stdout, "[NOISY] " msg "\n", ##args)
#define LOG_DEBUG(msg, args...) fprintf(stdout, "[DEBUG] " msg "\n", ##args)
#define LOG_INFO(msg, args...) fprintf(stdout, "[INFO] " msg "\n", ##args)
#define LOG_WARN(msg, args...) fprintf(stdout, "[WARN] " msg "\n", ##args)
#define LOG_ERROR(msg, args...) fprintf(stderr, "[ERROR] " msg "\n", ##args)

#ifdef __cplusplus
extern "C" {
#endif
int float_to_str(const int len, char *buffer, const float value);
#ifdef __cplusplus
}
#endif

#endif  // SPRINGBOK_H
