/* * */ #ifndef _NIOS2SIM_NG_H_ #define _NIOS2SIM_NG_H_ #include #include #include "bits.h" #include "compiler.h" #include "util.h" extern bool verbose; #define __round_mask(x, y) ((__typeof__(x))((y) - 1)) #define round_up(x, y) ((((x) - 1) | __round_mask(x, y)) + 1) #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) #define err(fmt, args...) fprintf(stderr, "Error: " fmt, ##args) #define warn(fmt, args...) fprintf(stderr, "Warning: " fmt, ##args) #define info(fmt, args...) fprintf(stdout, fmt, ##args) #define vinfo(fmt, args...) \ do { if (verbose) fprintf(stdout, fmt, ##args); } while (0) #ifdef DEBUG # define dbg(fmt, args...) fprintf(stdout, fmt, ##args) #else # define dbg(fmt, args...) #endif static inline size_t size_scale(size_t size) { if (size > 1024 * 1024) size /= 1024 * 1024; else if (size > 1024) size /= 1024; return size; } static inline char *size_postfix(size_t size) { char *ret = ""; if (size > 1024 * 1024) ret = "M"; else if (size > 1024) ret = "K"; return ret; } #endif /* _NIOS2SIM_NG_H_ */