|
HikoGUI
A low latency retained GUI
|
This file defines types that match the CPU's native register. More...
#include "architecture.hpp"#include "bigint.hpp"#include <cstdint>Go to the source code of this file.
Typedefs | |
| using | tt::register_int = int64_t |
| using | tt::register_signed_int = int64_t |
| A signed integer with the maximum size of a scaler register. | |
| using | tt::register_unsigned_int = uint64_t |
| A unsigned integer with the maximum size of a scaler register. | |
| using | tt::register_long = __int128_t |
| using | tt::register_signed_long = __int128_t |
| A signed integer twice the maximum size of a scaler register. | |
| using | tt::register_unsigned_long = unsigned __int128_t |
| A unsigned integer twice the maximum size of a scaler register. | |
This file defines types that match the CPU's native register.
tt::register_signed_long and tt::register_unsigned_long are double the size of a native register; the double size integers are often the results of a single CPU instruction.
For example the x86-64 instruction MUL can multiply two 64 bit integers together, the result is placed in two 64 bit register. DIV can divide a 128 bit integer in two registers by a 64 bit integer, with a 64 bit integer result.
| tt::register_signed_int = int64_t |
A signed integer with the maximum size of a scaler register.
| tt::register_signed_long = __int128_t |
A signed integer twice the maximum size of a scaler register.
| tt::register_unsigned_int = uint64_t |
A unsigned integer with the maximum size of a scaler register.
| tt::register_unsigned_long = unsigned __int128_t |
A unsigned integer twice the maximum size of a scaler register.