13 template<std::
floating_po
int T>
16 return std::sqrt(
num);
20 template<std::
floating_po
int T>
23 return static_cast<T>(1) /
sqrt(x);
28 requires std::is_arithmetic_v<T>
35 template<
typename T,
size_t N>
36 requires std::is_arithmetic_v<T>
40 for (
size_t i = 1;
i <
N; ++
i) {
48 requires std::is_arithmetic_v<T>
52 x.
y() * y.
z() - y.
y() * x.
z(),
53 x.
z() * y.
x() - y.
z() * x.
x(),
54 x.
x() * y.
y() - y.
x() * x.
y()
59 template<std::
floating_po
int T,
size_t N>
66 template<std::
floating_po
int T,
size_t N>
73 template<std::
floating_po
int T,
size_t N>
80 template<std::
integral T, std::
floating_po
int FloatingPo
intResult =
float>
87 template<std::
floating_po
int T>
95 requires std::is_arithmetic_v<T>
constexpr reference x()
Returns (*this)[0]
Definition vector.h:157
constexpr reference z()
Returns (*this)[2]
Definition vector.h:167
constexpr reference y()
Returns (*this)[1]
Definition vector.h:162
Definition custom_decoration_generator.h:5
T length(const Vector< T, N > &v)
Definition geometric_functions.h:60
constexpr T dot(T x, T y)
Definition geometric_functions.h:29
constexpr T area_of(const Vector< T, 2 > &v)
Definition geometric_functions.h:96
constexpr T length2(const Vector< T, N > &v)
Definition geometric_functions.h:67
constexpr U to(T &&value)
Definition conversion.h:56
Vector< T, N > normalize(const Vector< T, N > &v)
Definition geometric_functions.h:74
T inversesqrt(T x)
Definition geometric_functions.h:21
T sqrt(T num)
Definition geometric_functions.h:14
constexpr CoordinateDirection cross(CoordinateDirection x, CoordinateDirection y)
Definition coordinate_direction.h:117
constexpr FloatingPointResult aspect_ratio_of(Vector< T, 2 > v)
Definition geometric_functions.h:81