17 constexpr mat() noexcept
21 explicit constexpr mat(T value) noexcept
25 constexpr mat(T
const(&array)[1]) noexcept
43 constexpr mat() noexcept
47 explicit constexpr mat(T value) noexcept
48 :
v{ { value, value } }
51 constexpr mat(T
const(&array)[2]) noexcept
52 :
v{ { array[0], array[1] } }
55 constexpr mat(T
x, T
y) noexcept
59 template<
typename U>
requires(std::convertible_to<U, T>)
61 :
v{ {
static_cast<T
>(other.x),
static_cast<T
>(other.y) } }
64 constexpr explicit mat(T
const(&array)[3]) noexcept
65 :
v{ { array[0] / array[2], array[1] / array[2] } }
85 constexpr mat() noexcept
89 explicit constexpr mat(T value) noexcept
90 :
v{ { value, value, value } }
93 constexpr mat(T
const(&array)[3]) noexcept
94 :
v{ { array[0], array[1], array[2] } }
97 constexpr mat(T
x, T
y, T
z) noexcept
101 template<
typename U>
requires(std::convertible_to<U, T>)
103 :
v{ {
static_cast<T
>(other.x),
static_cast<T
>(other.y),
static_cast<T
>(other.z) } }
106 template<
typename U>
requires(std::convertible_to<U, T>)
109 static_cast<T
>(other.x) /
static_cast<T
>(other.w),
110 static_cast<T
>(other.y) /
static_cast<T
>(other.w),
111 static_cast<T
>(other.z) /
static_cast<T
>(other.w)
115 constexpr explicit mat(T
const(&array)[4]) noexcept
116 :
v{ { array[0] / array[3], array[1] / array[3], array[2] / array[3] } }
140 explicit constexpr mat(T value) noexcept
141 :
v{ { value, value, value, value } }
144 constexpr mat(T
const(&array)[4]) noexcept
145 :
v{ { array[0], array[1], array[2], array[3] } }
149 :
v{ {
x,
y,
z,
w } }
152 template<
typename U>
requires(std::convertible_to<U, T>)
154 :
v{ {
static_cast<T
>(other.x),
static_cast<T
>(other.y),
static_cast<T
>(other.z),
static_cast<T
>(other.w) } }
168 template<u32 Size,
typename T>
171 template<u32 Size,
typename T>
Definition algorithm.hxx:8
vec< 3, rad > vec3rad
Definition vector.hxx:186
vec< 2, u32 > vec2u
Definition vector.hxx:179
vec< 1, f32 > vec1f
Definition vector.hxx:174
mat< Size, 1, T > vec
Definition vector.hxx:172
vec< 3, i32 > vec3i
Definition vector.hxx:184
vec< 4, u32 > vec4u
Definition vector.hxx:189
vec< 1, i32 > vec1i
Definition vector.hxx:176
vec< 4, i32 > vec4i
Definition vector.hxx:190
vec< 2, f32 > vec2f
Definition vector.hxx:178
vec< 3, deg > vec3deg
Definition vector.hxx:185
vec< 3, u32 > vec3u
Definition vector.hxx:183
vec< 2, i32 > vec2i
Definition vector.hxx:180
mat(T(&)[Size]) -> mat< Size, 1, T >
vec< 1, u32 > vec1u
Definition vector.hxx:175
vec< 4, f32 > vec4f
Definition vector.hxx:188
vec< 3, f32 > vec3f
Definition vector.hxx:182
static constexpr auto count_columns
Definition vector.hxx:15
T value_type
Definition vector.hxx:13
T v[count_columns][count_rows]
Definition vector.hxx:31
static constexpr auto count_rows
Definition vector.hxx:14
constexpr mat(T const(&array)[1]) noexcept
Definition vector.hxx:25
T x
Definition vector.hxx:32
constexpr mat() noexcept
Definition vector.hxx:17
constexpr mat(T value) noexcept
Definition vector.hxx:21
constexpr mat(T x, T y) noexcept
Definition vector.hxx:55
constexpr mat(T value) noexcept
Definition vector.hxx:47
constexpr mat() noexcept
Definition vector.hxx:43
constexpr mat(T const(&array)[2]) noexcept
Definition vector.hxx:51
T x
Definition vector.hxx:73
constexpr mat(T const(&array)[3]) noexcept
Definition vector.hxx:64
constexpr mat(mat< 2, 1, U > other) noexcept
Definition vector.hxx:60
static constexpr auto count_rows
Definition vector.hxx:40
T value_type
Definition vector.hxx:39
static constexpr auto count_columns
Definition vector.hxx:41
T y
Definition vector.hxx:73
T v[count_columns][count_rows]
Definition vector.hxx:70
static constexpr auto count_columns
Definition vector.hxx:83
constexpr mat(T x, T y, T z) noexcept
Definition vector.hxx:97
constexpr mat() noexcept
Definition vector.hxx:85
constexpr mat(mat< 3, 1, U > other) noexcept
Definition vector.hxx:102
static constexpr auto count_rows
Definition vector.hxx:82
T v[count_columns][count_rows]
Definition vector.hxx:121
constexpr mat(T const(&array)[3]) noexcept
Definition vector.hxx:93
T y
Definition vector.hxx:124
T value_type
Definition vector.hxx:81
T z
Definition vector.hxx:124
T x
Definition vector.hxx:124
constexpr mat(T value) noexcept
Definition vector.hxx:89
constexpr mat(T const(&array)[4]) noexcept
Definition vector.hxx:115
constexpr mat(mat< 4, 1, U > other) noexcept
Definition vector.hxx:107
T v[count_columns][count_rows]
Definition vector.hxx:159
T z
Definition vector.hxx:162
T w
Definition vector.hxx:162
T y
Definition vector.hxx:162
constexpr mat(T const(&array)[4]) noexcept
Definition vector.hxx:144
constexpr mat(T value) noexcept
Definition vector.hxx:140
T value_type
Definition vector.hxx:132
constexpr mat() noexcept
Definition vector.hxx:136
constexpr mat(mat< 4, 1, U > other) noexcept
Definition vector.hxx:153
constexpr mat(T x, T y, T z, T w) noexcept
Definition vector.hxx:148
T x
Definition vector.hxx:162
static constexpr auto count_columns
Definition vector.hxx:134
static constexpr auto count_rows
Definition vector.hxx:133