ctypes.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #ifndef BINOM_C_TYPES_H
  2. #define BINOM_C_TYPES_H
  3. #include <cstdint>
  4. #define elif else if
  5. namespace binom {
  6. typedef uint8_t ui8;
  7. typedef int8_t i8;
  8. typedef uint16_t ui16;
  9. typedef int16_t i16;
  10. typedef uint32_t ui32;
  11. typedef int32_t i32;
  12. typedef uint64_t ui64;
  13. typedef int64_t i64;
  14. typedef float f32;
  15. typedef double f64;
  16. typedef float f_t;
  17. typedef double lf_t;
  18. typedef long double llf_t;
  19. typedef int i_t;
  20. typedef unsigned int ui_t;
  21. typedef short s_t;
  22. typedef unsigned short us_t;
  23. typedef long l_t;
  24. typedef unsigned long ul_t;
  25. typedef long long ll_t;
  26. typedef unsigned long long ull_t;
  27. typedef ui8 byte;
  28. constexpr ui8 operator "" _ui8 (ull_t val) {return val;}
  29. constexpr i8 operator "" _i8 (ull_t val) {return val;}
  30. constexpr ui16 operator "" _ui16 (ull_t val) {return val;}
  31. constexpr i16 operator "" _i16 (ull_t val) {return val;}
  32. constexpr ui32 operator "" _ui32 (ull_t val) {return val;}
  33. constexpr i32 operator "" _i32 (ull_t val) {return val;}
  34. constexpr ui64 operator "" _ui64 (ull_t val) {return val;}
  35. constexpr i64 operator "" _i64 (ull_t val) {return val;}
  36. constexpr f32 operator "" _f32 (llf_t val) {return val;}
  37. constexpr f64 operator "" _f64 (llf_t val) {return val;}
  38. constexpr llf_t operator ""_llf (llf_t val) {return val;}
  39. constexpr i_t operator "" _i (ull_t val) {return val;}
  40. constexpr ui_t operator "" _ui (ull_t val) {return val;}
  41. constexpr s_t operator "" _s (ull_t val) {return val;}
  42. constexpr us_t operator "" _us (ull_t val) {return val;}
  43. constexpr l_t operator "" _l (ull_t val) {return val;}
  44. constexpr ul_t operator "" _ul (ull_t val) {return val;}
  45. constexpr ll_t operator "" _ll (ull_t val) {return val;}
  46. constexpr ull_t operator "" _ull (ull_t val) {return val;}
  47. constexpr ui64 operator""_kb(ull_t val) {return val*1024;}
  48. constexpr ui64 operator""_mb(ull_t val) {return val*1048576;}
  49. constexpr ui64 operator""_gb(ull_t val) {return val*1073741824;}
  50. }
  51. #endif