LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Definitions of additional prefixes. More...
Typedefs | |
using | kibi = std::ratio<(1LL<< 10)> |
Factor 1'024 (2^10). More... | |
using | mebi = std::ratio<(1LL<< 20)> |
Factor 1'048'576 (2^20). More... | |
using | gibi = std::ratio<(1LL<< 30)> |
Factor 1'073'741'824 (2^30). More... | |
using | tebi = std::ratio<(1LL<< 40)> |
Factor 2^40. More... | |
using | pebi = std::ratio<(1LL<< 50)> |
Factor 2^50. More... | |
using | exbi = std::ratio<(1LL<< 60)> |
Factor 2^60. More... | |
Definitions of additional prefixes.
Quantities are based on scaled units, which are units with a scaling factor.
Prefixes describe these scaling factors, as a rational number represented via a fraction. In this library, prefix objects must expose the same interface as std::ratio
template.
The standard ratio classes defined in C++ (e.g. std::milli
, std::giga
) provide most of the needed prefixes. In this namespace, custom prefixes can be defined.
A prefix can be associated with its own symbol. In that case, the prefix should specialize the template util::quantites::concepts::Prefix
and provide:
constexpr
method for the full name (name
), e.g. "milli"
constexpr
method for the short name (symbol
), e.g. "m"
For example, this prefix should work like 1'000, but has its own symbol:
Note however that the current implementation tends to bring back to std::ratio
. Also note that defining an alias, like in using grant = std::ratio<1000>
, is not enough to allow for a different symbol.
The namespace also imports the prefixes from C++ standard library for convenience.
using util::quantities::prefixes::exbi = typedef std::ratio<(1LL << 60)> |
Factor 2^60.
Definition at line 57 of file datasize.h.
using util::quantities::prefixes::gibi = typedef std::ratio<(1LL << 30)> |
Factor 1'073'741'824 (2^30).
Definition at line 48 of file datasize.h.
using util::quantities::prefixes::kibi = typedef std::ratio<(1LL << 10)> |
Factor 1'024 (2^10).
Definition at line 42 of file datasize.h.
using util::quantities::prefixes::mebi = typedef std::ratio<(1LL << 20)> |
Factor 1'048'576 (2^20).
Definition at line 45 of file datasize.h.
using util::quantities::prefixes::pebi = typedef std::ratio<(1LL << 50)> |
Factor 2^50.
Definition at line 54 of file datasize.h.
using util::quantities::prefixes::tebi = typedef std::ratio<(1LL << 40)> |
Factor 2^40.
Definition at line 51 of file datasize.h.