qxLib
include
qx
math
units
data.h
Go to the documentation of this file.
1
/**
2
3
@file data.h
4
@author Khrapov
5
@date 11.08.2025
6
@copyright (c) Nick Khrapov, 2025. All right reserved.
7
8
**/
9
#pragma once
10
11
#include <
qx/math/common.h
>
12
#include <
qx/math/units/base.h
>
13
14
#include <algorithm>
15
#include <limits>
16
17
namespace
qx::units
18
{
19
20
enum class
data
21
{
22
// binary prefixes (not SI)
23
bits = 0,
// 2^0 bits (1 bit)
24
nibbles = 2,
// 2^1 bits (4 bits)
25
bytes = 3,
// 2^3 bits (8 bits)
26
kibibytes = 13,
// 2^13 bits (1024 bytes)
27
mebibytes = 23,
// 2^23 bits (1024 kibibytes)
28
gibibytes = 33,
// 2^33 bits (1024 mebibytes)
29
tebibytes = 43,
// 2^43 bits (1024 gibibytes)
30
pebibytes = 53,
// 2^53 bits (1024 tebibytes)
31
32
_first_si,
33
34
// multiplicative prefixes (SI)
35
kilobytes = _first_si + 3,
// 10^3 bytes
36
megabytes = _first_si + 6,
// 10^6 bytes (1000 kilobytes)
37
gigabytes = _first_si + 9,
// 10^9 bytes (1000 megabytes)
38
terabytes = _first_si + 12,
// 10^12 bytes (1000 gigabytes)
39
petabytes = _first_si + 15,
// 10^15 bytes (1000 terabytes)
40
};
41
42
}
// namespace qx::units
43
44
#include <
qx/math/units/data.inl
>
base.h
data.inl
common.h
Generated by
1.9.1