pikaSizes.h 835 B

1234567891011121314151617181920212223242526272829
  1. #pragma once
  2. //////////////////////////////////////////
  3. //pikaSizes.h
  4. //Luta Vlad(c) 2022
  5. //https://github.com/meemknight/PikaEngine
  6. //////////////////////////////////////////
  7. namespace pika
  8. {
  9. inline size_t constexpr KB(size_t x) { return x * 1024ull; }
  10. inline size_t constexpr MB(size_t x) { return KB(x) * 1024ull; }
  11. inline size_t constexpr GB(size_t x) { return MB(x) * 1024ull; }
  12. inline size_t constexpr TB(size_t x) { return GB(x) * 1024ull; }
  13. inline float constexpr BYTES_TO_KB(size_t x) { return x / 1024.f; }
  14. inline float constexpr BYTES_TO_MB(size_t x) { return BYTES_TO_KB(x) / 1024.f; }
  15. inline float constexpr BYTES_TO_GB(size_t x) { return BYTES_TO_MB(x) / 1024.f; }
  16. inline void align64(size_t &val)
  17. {
  18. val = val | 0b111;
  19. };
  20. inline void align64(char *&val)
  21. {
  22. val = (char *)((size_t)val | 0b111);
  23. };
  24. };