Blender V4.3
BLI_math_vector_types.hh File Reference
#include <array>
#include <cmath>
#include <ostream>
#include <type_traits>
#include "BLI_math_vector_unroll.hh"
#include "BLI_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)   int S = _size, BLI_ENABLE_IF((S _test))
 
#define BLI_INT_OP(_T)   template<typename U = _T, BLI_ENABLE_IF((std::is_integral_v<U>))>
 

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::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 )   int S = _size, BLI_ENABLE_IF((S _test))

Definition at line 74 of file BLI_math_vector_types.hh.

◆ BLI_INT_OP

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

Internal Operators Macro.

Definition at line 270 of file BLI_math_vector_types.hh.