IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
vector_operations.hxx File Reference
#include <ice/math/vector.hxx>
#include <numeric>

Go to the source code of this file.

Namespaces

namespace  ice
 SPDX-License-Identifier: MIT.
namespace  ice::math_detail
namespace  ice::math

Functions

template<u32 Size, typename T, size_t... Values>
constexpr auto ice::math_detail::length2_sequenced (ice::math::vec< Size, T > vector, std::index_sequence< Values... >) noexcept -> T
template<u32 Size, typename T, size_t... Values>
constexpr auto ice::math_detail::length2_sequenced (T(&array)[Size], std::index_sequence< Values... >) noexcept -> T
template<u32 Size, typename T, typename U = T>
constexpr auto ice::math::add (vec< Size, T > left, vec< Size, U > right) noexcept -> vec< Size, T >
template<u32 Size, typename T, typename U = T>
constexpr auto ice::math::sub (vec< Size, T > left, vec< Size, U > right) noexcept -> vec< Size, T >
template<u32 Size, typename T, typename U = T>
constexpr auto ice::math::mul (vec< Size, T > left, U right) noexcept -> vec< Size, T >
template<u32 Size, typename T, typename U = T>
constexpr auto ice::math::div (vec< Size, T > left, U right) noexcept -> vec< Size, T >
template<u32 Size, typename T>
constexpr auto ice::math::length (vec< Size, T > left) noexcept -> T
template<u32 Size, typename T>
constexpr auto ice::math::length2 (vec< Size, T > left) noexcept -> T
constexpr auto ice::math::cross (vec< 3, f32 > left, vec< 3, f32 > right) noexcept -> vec< 3, f32 >
constexpr auto ice::math::dot (vec< 3, f32 > left, vec< 3, f32 > right) noexcept -> f32
auto ice::math::atan2 (vec< 2, f32 > point) noexcept -> rad
template<u32 Size, typename T>
requires (Size > 1)
auto ice::math::normalize (vec< Size, T > value) noexcept -> vec< Size, T >
template<u32 Size, typename T, typename U = T>
constexpr auto ice::math::apply (vec< Size, T > left, U(*fn)(T) noexcept) noexcept -> vec< Size, U >