AsmGrader 0.0.0
Loading...
Searching...
No Matches
aliases.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4
5namespace asmgrader::inline aliases {
6
7// u64, etc. is way to verbose when u64 will suffice
8
9// We define aliases for all sized integer and floating point types,
10// including compiler extensions
11
12// NOLINTBEGIN(readability-identifier-naming)
13
14using i8 = std::int8_t;
15using u8 = std::uint8_t;
16using i16 = std::int16_t;
17using u16 = std::uint16_t;
18using i32 = std::int32_t;
19using u32 = std::uint32_t;
20using i64 = std::int64_t;
21using u64 = std::uint64_t;
22using i128 = __int128_t;
23using u128 = __uint128_t;
24
25// https://gcc.gnu.org/onlinedocs/gcc/Floating-Types.html
26// TODO: Proper support for these types
27using f16 = float;
28using f32 = float;
29using f64 = double;
30using f128 = long double; // will this work on aarch64?
31
32// NOLINTEND(readability-identifier-naming)
33
34} // namespace asmgrader::inline aliases
Definition aliases.hpp:5
__uint128_t u128
Definition aliases.hpp:23
std::uint64_t u64
Definition aliases.hpp:21
std::uint32_t u32
Definition aliases.hpp:19
std::uint8_t u8
Definition aliases.hpp:15
long double f128
Definition aliases.hpp:30
std::int64_t i64
Definition aliases.hpp:20
std::uint16_t u16
Definition aliases.hpp:17
double f64
Definition aliases.hpp:29
float f16
Definition aliases.hpp:27
std::int8_t i8
Definition aliases.hpp:14
__int128_t i128
Definition aliases.hpp:22
std::int16_t i16
Definition aliases.hpp:16
float f32
Definition aliases.hpp:28
std::int32_t i32
Definition aliases.hpp:18