IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
constants.hxx
Go to the documentation of this file.
1
3
4#pragma once
5#include <ice/types.hxx>
8#include <limits>
9
10namespace ice
11{
12
13 // Min values
14 constexpr ice::f32 const f32_min = std::numeric_limits<ice::f32>::min();
15 constexpr ice::f64 const f64_min = std::numeric_limits<ice::f64>::min();
16 constexpr ice::i8 const i8_min = std::numeric_limits<ice::i8>::min();
17 constexpr ice::i16 const i16_min = std::numeric_limits<ice::i16>::min();
18 constexpr ice::i32 const i32_min = std::numeric_limits<ice::i32>::min();
19 constexpr ice::i64 const i64_min = std::numeric_limits<ice::i64>::min();
20 constexpr ice::u8 const u8_min = std::numeric_limits<ice::u8>::min();
21 constexpr ice::u16 const u16_min = std::numeric_limits<ice::u16>::min();
22 constexpr ice::u32 const u32_min = std::numeric_limits<ice::u32>::min();
23 constexpr ice::u64 const u64_min = std::numeric_limits<ice::u64>::min();
24
25 //constexpr ice::ncount const ncount_min = std::numeric_limits<ice::ncount>::min();
26 //constexpr ice::nindex const nindex_min = std::numeric_limits<ice::nindex>::min();
27
28 // Max values
29 constexpr ice::f32 const f32_max = std::numeric_limits<ice::f32>::max();
30 constexpr ice::f64 const f64_max = std::numeric_limits<ice::f64>::max();
31 constexpr ice::i8 const i8_max = std::numeric_limits<ice::i8>::max();
32 constexpr ice::i16 const i16_max = std::numeric_limits<ice::i16>::max();
33 constexpr ice::i32 const i32_max = std::numeric_limits<ice::i32>::max();
34 constexpr ice::i64 const i64_max = std::numeric_limits<ice::i64>::max();
35 constexpr ice::u8 const u8_max = std::numeric_limits<ice::u8>::max();
36 constexpr ice::u16 const u16_max = std::numeric_limits<ice::u16>::max();
37 constexpr ice::u32 const u32_max = std::numeric_limits<ice::u32>::max();
38 constexpr ice::u64 const u64_max = std::numeric_limits<ice::u64>::max();
39
40 //constexpr ice::ucount const ucount_max = std::numeric_limits<ice::ucount>::max();
41 //constexpr ice::icount const icount_max = std::numeric_limits<ice::icount>::max();
42
43 // Special floating point values
44 constexpr ice::f32 const f32_inf = std::numeric_limits<ice::f32>::infinity();
45 constexpr ice::f64 const f64_inf = std::numeric_limits<ice::f64>::infinity();
46 constexpr ice::f32 const f32_nan = std::numeric_limits<ice::f32>::signaling_NaN();
47 constexpr ice::f64 const f64_nan = std::numeric_limits<ice::f64>::signaling_NaN();
48
49 // Typed zero values
50 constexpr ice::f32 const f32_0 = ice::f32(0.0f);
51 constexpr ice::f64 const f64_0 = ice::f64(0.0);
52 constexpr ice::i8 const i8_0 = ice::i8(0);
53 constexpr ice::i16 const i16_0 = ice::i16(0);
54 constexpr ice::i32 const i32_0 = ice::i32(0);
55 constexpr ice::i64 const i64_0 = ice::i64(0);
56 constexpr ice::u8 const u8_0 = ice::u8(0);
57 constexpr ice::u16 const u16_0 = ice::u16(0);
58 constexpr ice::u32 const u32_0 = ice::u32(0);
59 constexpr ice::u64 const u64_0 = ice::u64(0);
60
61} // namespace ice
SPDX-License-Identifier: MIT.
Definition array.hxx:12
constexpr ice::f64 const f64_inf
Definition constants.hxx:45
constexpr ice::i8 const i8_max
Definition constants.hxx:31
constexpr ice::f64 const f64_max
Definition constants.hxx:30
constexpr ice::i32 const i32_min
Definition constants.hxx:18
constexpr ice::u32 const u32_min
Definition constants.hxx:22
constexpr ice::f32 const f32_nan
Definition constants.hxx:46
constexpr ice::u8 const u8_0
Definition constants.hxx:56
std::int8_t i8
Definition types.hxx:19
constexpr ice::u64 const u64_max
Definition constants.hxx:38
constexpr ice::f64 const f64_nan
Definition constants.hxx:47
constexpr ice::f64 const f64_min
Definition constants.hxx:15
std::uint64_t u64
Definition types.hxx:27
std::int32_t i32
Definition types.hxx:21
constexpr ice::i32 const i32_max
Definition constants.hxx:33
constexpr ice::u64 const u64_min
Definition constants.hxx:23
constexpr ice::u32 const u32_max
Definition constants.hxx:37
constexpr ice::f32 const f32_max
Definition constants.hxx:29
constexpr ice::u16 const u16_min
Definition constants.hxx:21
double f64
Definition types.hxx:17
std::uint16_t u16
Definition types.hxx:25
constexpr ice::i64 const i64_max
Definition constants.hxx:34
constexpr ice::u8 const u8_min
Definition constants.hxx:20
constexpr ice::f64 const f64_0
Definition constants.hxx:51
constexpr ice::i64 const i64_0
Definition constants.hxx:55
constexpr ice::u32 const u32_0
Definition constants.hxx:58
constexpr ice::f32 const f32_min
Definition constants.hxx:14
constexpr ice::i32 const i32_0
Definition constants.hxx:54
constexpr ice::i8 const i8_min
Definition constants.hxx:16
std::int64_t i64
Definition types.hxx:22
std::uint32_t u32
Definition types.hxx:26
constexpr ice::f32 const f32_0
Definition constants.hxx:50
constexpr ice::u16 const u16_0
Definition constants.hxx:57
constexpr ice::u8 const u8_max
Definition constants.hxx:35
constexpr ice::i16 const i16_min
Definition constants.hxx:17
constexpr ice::i16 const i16_max
Definition constants.hxx:32
float f32
Definition types.hxx:16
std::int16_t i16
Definition types.hxx:20
constexpr ice::i16 const i16_0
Definition constants.hxx:53
constexpr ice::f32 const f32_inf
Definition constants.hxx:44
constexpr ice::u16 const u16_max
Definition constants.hxx:36
std::uint8_t u8
Definition types.hxx:24
constexpr ice::u64 const u64_0
Definition constants.hxx:59
constexpr ice::i64 const i64_min
Definition constants.hxx:19
constexpr ice::i8 const i8_0
Definition constants.hxx:52