Blender V5.0
BLI_math_vector_types.hh File Reference
#include <array>
#include <ostream>
#include <type_traits>
#include "BLI_math_vector_unroll.hh"
#include "BLI_utildefines.h"

Go to the source code of this file.

Classes

struct  blender::vec_struct_base< T, Size >
struct  blender::vec_struct_base< T, 2 >
struct  blender::vec_struct_base< T, 3 >
struct  blender::vec_struct_base< T, 4 >
struct  blender::VecBase< T, Size >
struct  blender::math::AssertUnitEpsilon< T >

Namespaces

namespace  blender
namespace  blender::math

Macros

#define BLI_ENABLE_IF_VEC(_size, _test)
#define BLI_INT_OP(_T)

Typedefs

template<typename T>
using blender::as_uint_type
using blender::char2 = blender::VecBase<int8_t, 2>
using blender::char3 = blender::VecBase<int8_t, 3>
using blender::char4 = blender::VecBase<int8_t, 4>
using blender::uchar2 = blender::VecBase<uint8_t, 2>
using blender::uchar3 = blender::VecBase<uint8_t, 3>
using blender::uchar4 = blender::VecBase<uint8_t, 4>
using blender::int2 = VecBase<int32_t, 2>
using blender::int3 = VecBase<int32_t, 3>
using blender::int4 = VecBase<int32_t, 4>
using blender::uint2 = VecBase<uint32_t, 2>
using blender::uint3 = VecBase<uint32_t, 3>
using blender::uint4 = VecBase<uint32_t, 4>
using blender::short2 = blender::VecBase<int16_t, 2>
using blender::short3 = blender::VecBase<int16_t, 3>
using blender::short4 = blender::VecBase<int16_t, 4>
using blender::ushort2 = VecBase<uint16_t, 2>
using blender::ushort3 = blender::VecBase<uint16_t, 3>
using blender::ushort4 = blender::VecBase<uint16_t, 4>
using blender::float1 = VecBase<float, 1>
using blender::float2 = VecBase<float, 2>
using blender::float3 = VecBase<float, 3>
using blender::float4 = VecBase<float, 4>
using blender::double2 = VecBase<double, 2>
using blender::double3 = VecBase<double, 3>
using blender::double4 = VecBase<double, 4>

Functions

template<typename T>
uint64_t blender::math::vector_hash (const T &vec)

Macro Definition Documentation

◆ BLI_ENABLE_IF_VEC

#define BLI_ENABLE_IF_VEC ( _size,
_test )
Value:
int S = _size, BLI_ENABLE_IF((S _test))
#define BLI_ENABLE_IF(condition)

Definition at line 72 of file BLI_math_vector_types.hh.

◆ BLI_INT_OP

#define BLI_INT_OP ( _T)
Value:
template<typename U = _T, BLI_ENABLE_IF((std::is_integral_v<U>))>

Internal Operators Macro.

Definition at line 276 of file BLI_math_vector_types.hh.