#ifndef STDLIB_H #define STDLIB_H #include #define min(a,b) MIN((a),(b)) #define max(a,b) MAX((a),(b)) void *memalign(size_t boundary, size_t size); void *malloc(size_t size); /* We never free memory */ static inline void free(void *ptr) {} #ifndef __ROMCC__ static inline unsigned long div_round_up(unsigned int n, unsigned int d) { return (n + d - 1) / d; } /* * Divide positive or negative dividend by positive divisor and round * to closest integer. Result is undefined for negative divisors and * for negative dividends if the divisor variable type is unsigned. */ #define DIV_ROUND_CLOSEST(x, divisor)( \ { \ typeof(x) __x = x; \ typeof(divisor) __d = divisor; \ (((typeof(x))-1) > 0 || \ ((typeof(divisor))-1) > 0 || (__x) > 0) ? \ (((__x) + ((__d) / 2)) / (__d)) : \ (((__x) - ((__d) / 2)) / (__d)); \ } \ ) #endif #endif /* STDLIB_H */