#include <marvin/library/marvin_Concepts.h>
#include <marvin/library/marvin_Literals.h>
#include <type_traits>
#include <cstring>
#include <cassert>
Go to the source code of this file.
Namespaces | |
namespace | marvin |
A mostly harmless top-level namespace. | |
namespace | marvin::math |
Math helper functions and classes. | |
namespace | marvin::math::vecops |
Collection of basic arithmetic operations on vectors, SIMD accelerated where possible. | |
Functions | |
template<FloatType T> | |
void | marvin::math::vecops::add (T *lhs, const T *rhs, size_t size) noexcept |
template<FloatType T> | |
void | marvin::math::vecops::add (T *arr, T scalar, size_t size) noexcept |
template<FloatArrayLike T> | |
void | marvin::math::vecops::add (T &lhs, T &rhs) noexcept |
template<FloatArrayLike T> | |
void | marvin::math::vecops::add (T &arr, typename T::value_type scalar) noexcept |
template<FloatType T> | |
void | marvin::math::vecops::subtract (T *lhs, const T *rhs, size_t size) noexcept |
template<FloatType T> | |
void | marvin::math::vecops::subtract (T *arr, T scalar, size_t size) noexcept |
template<FloatArrayLike T> requires std::is_floating_point_v<typename T::value_type> | |
void | marvin::math::vecops::subtract (T &lhs, const T &rhs) noexcept |
template<FloatArrayLike T> | |
void | marvin::math::vecops::subtract (T &arr, typename T::value_type scalar) noexcept |
template<FloatType T> | |
void | marvin::math::vecops::multiply (T *lhs, const T *rhs, size_t size) noexcept |
template<FloatType T> | |
void | marvin::math::vecops::multiply (T *arr, T scalar, size_t size) noexcept |
template<FloatArrayLike T> | |
void | marvin::math::vecops::multiply (T &lhs, const T &rhs) noexcept |
template<FloatArrayLike T> | |
void | marvin::math::vecops::multiply (T &arr, typename T::value_type scalar) noexcept |
template<FloatType T> | |
void | marvin::math::vecops::divide (T *lhs, const T *rhs, size_t size) noexcept |
template<FloatType T> | |
void | marvin::math::vecops::divide (T *arr, T scalar, size_t size) noexcept |
template<FloatArrayLike T> | |
void | marvin::math::vecops::divide (T &lhs, const T &rhs) noexcept |
template<FloatArrayLike T> | |
void | marvin::math::vecops::divide (T &arr, typename T::value_type scalar) noexcept |
template<NumericType T> | |
void | marvin::math::vecops::copy (T *lhs, const T *rhs, size_t size) noexcept |
template<ArrayLike T> | |
void | marvin::math::vecops::copy (T &lhs, const T &rhs) noexcept |