Main Page
Related Pages
Modules
Files
File List
G:
Repository
glm
glm
core
type_half.hpp
Go to the documentation of this file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef glm_core_type_half
30
#define glm_core_type_half
31
32
#include <cstdlib>
33
34
namespace
glm{
35
namespace
detail
36
{
37
typedef
short
hdata;
38
39
float
toFloat32(hdata value);
40
hdata toFloat16(
float
const
& value);
41
42
class
half
43
{
44
public
:
45
// Constructors
46
GLM_FUNC_DECL
half
();
47
GLM_FUNC_DECL
half
(
half
const
& s);
48
49
template
<
typename
U>
50
GLM_FUNC_DECL
explicit
half
(U
const
& s);
51
52
// Cast
53
//template <typename U>
54
//GLM_FUNC_DECL operator U() const;
55
GLM_FUNC_DECL
operator
float()
const
;
56
57
// Unary updatable operators
58
GLM_FUNC_DECL
half
& operator= (
half
const
& s);
59
GLM_FUNC_DECL
half
& operator+=(
half
const
& s);
60
GLM_FUNC_DECL
half
& operator-=(
half
const
& s);
61
GLM_FUNC_DECL
half
& operator*=(
half
const
& s);
62
GLM_FUNC_DECL
half
& operator/=(
half
const
& s);
63
GLM_FUNC_DECL
half
& operator++();
64
GLM_FUNC_DECL
half
& operator--();
65
66
GLM_FUNC_DECL
float
toFloat()
const
{
return
toFloat32(data);}
67
68
GLM_FUNC_DECL hdata _data()
const
{
return
data;}
69
70
private
:
71
hdata data;
72
};
73
74
half
operator+ (
half
const
& s1,
half
const
& s2);
75
76
half
operator- (
half
const
& s1,
half
const
& s2);
77
78
half
operator* (
half
const
& s1,
half
const
& s2);
79
80
half
operator/ (
half
const
& s1,
half
const
& s2);
81
82
// Unary constant operators
83
half
operator- (
half
const
& s);
84
85
half
operator-- (
half
const
& s,
int
);
86
87
half
operator++ (
half
const
& s,
int
);
88
89
bool
operator==(
90
detail::half
const
& x,
91
detail::half
const
& y);
92
93
bool
operator!=(
94
detail::half
const
& x,
95
detail::half
const
& y);
96
97
bool
operator<(
98
detail::half
const
& x,
99
detail::half
const
& y);
100
101
bool
operator<=(
102
detail::half
const
& x,
103
detail::half
const
& y);
104
105
bool
operator>(
106
detail::half
const
& x,
107
detail::half
const
& y);
108
109
bool
operator>=(
110
detail::half
const
& x,
111
detail::half
const
& y);
112
113
}
//namespace detail
114
}
//namespace glm
115
116
#include "type_half.inl"
117
118
#endif//glm_core_type_half
Generated by
1.8.2