You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
894 B

2 years ago
  1. #pragma once
  2. #ifndef ZARRAY_SIZE
  3. #define ZARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
  4. #endif
  5. #define ZMAX(a, b) ((a) > (b) ? (a) : (b))
  6. #define ZMIN(a, b) ((a) < (b) ? (a) : (b))
  7. #ifndef INT8_MIN
  8. #define INT8_MIN (-128)
  9. #endif
  10. #ifndef INT16_MIN
  11. #define INT16_MIN (-32768)
  12. #endif
  13. #ifndef INT32_MIN
  14. #define INT32_MIN (-2147483647 - 1)
  15. #endif
  16. #ifndef INT64_MIN
  17. #define INT64_MIN (-9223372036854775807LL - 1)
  18. #endif
  19. #ifndef INT8_MAX
  20. #define INT8_MAX 127
  21. #endif
  22. #ifndef INT16_MAX
  23. #define INT16_MAX 32767
  24. #endif
  25. #ifndef INT32_MAX
  26. #define INT32_MAX 2147483647
  27. #endif
  28. #ifndef INT64_MAX
  29. #define INT64_MAX 9223372036854775807LL
  30. #endif
  31. #ifndef UINT8_MAX
  32. #define UINT8_MAX 255
  33. #endif
  34. #ifndef UINT16_MAX
  35. #define UINT16_MAX 65535
  36. #endif
  37. #ifndef UINT32_MAX
  38. #define UINT32_MAX 0xffffffffU /* 4294967295U */
  39. #endif
  40. #ifndef UINT64_MAX
  41. #define UINT64_MAX 0xffffffffffffffffULL /* 18446744073709551615ULL */
  42. #endif