19 #ifndef __UT_FixedVector__
20 #define __UT_FixedVector__
35 template<
typename T, ex
int D >
50 template<
typename S >
71 constexpr
const T*
data() const noexcept
109 template<
typename AS, std::size_t ... Is >
110 constexpr
explicit UT_FixedVector(
const AS& as,
const std::index_sequence< Is ... > ) noexcept :
187 template<
typename T, ex
int D >
190 return SYSsqrt( length2(
a ) );
193 template<
typename T, ex
int D >
202 template<
typename T, ex
int D >
208 template<
typename T, ex
int D >
219 template<
typename T, ex
int D >
231 template<
typename T, ex
int D >
243 template<
typename T, ex
int D >
252 template<
typename T, ex
int D >
260 template<
typename T, ex
int D >
268 template<
typename T, ex
int D>
278 template<
typename T, ex
int D >
281 template<
typename T, ex
int D >
284 template<
typename T, ex
int D >
290 template<
typename T, ex
int D>
293 template<
typename TS >
305 template<
typename TS >
310 constexpr
exint D = SYS_FixedArraySize_v< TS >;
318 template <
typename V >
322 template<
typename T, ex
int D>
327 template<
typename T, ex
int D>
330 template<
typename T, ex
int D>
#define SYS_STATIC_ASSERT(expr)
constexpr UT_FixedVector< T, D > operator-() const noexcept
Mat3< typename promote< T0, T1 >::type > operator+(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Add corresponding elements of m0 and m1 and return the result.
constexpr const T * data() const noexcept
friend constexpr auto distance2(const UT_FixedVector &a, const UT_FixedVector &b) noexcept
constexpr UT_FixedVector< SYS_FixedArrayElement_t< TS >, SYS_FixedArraySize_v< TS > > UTmakeFixedVector(const TS &as) noexcept
typename SYS_FixedArrayElement< T >::type SYS_FixedArrayElement_t
friend constexpr bool operator>(const UT_FixedVector &a, const UT_FixedVector &b) noexcept
fpreal64 distance2(const UT_VectorD &v1, const UT_VectorD &v2)
Distance squared (L2) aka quadrance.
GLboolean GLboolean GLboolean GLboolean a
friend constexpr bool operator<=(const UT_FixedVector &a, const UT_FixedVector &b) noexcept
ImageBuf OIIO_API min(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
constexpr const T & operator[](exint i) const noexcept
constexpr UT_FixedVector(const UT_FixedVector< S, D > &a) noexcept
static const exint TupleSize
friend constexpr bool operator<(const UT_FixedVector &a, const UT_FixedVector &b) noexcept
constexpr UT_FixedVector & operator*=(const T &a) noexcept
UT_FixedVector< T, D > FixedVectorType
constexpr UT_FixedVector< T, D > productComponentwise(const UT_FixedVector< T, D > &a, const UT_FixedVector< T, D > &b) noexcept
friend constexpr UT_FixedVector operator/(const UT_FixedVector &a, const T &b) noexcept
constexpr UT_FixedVector< T, D > operator()() const noexcept
friend constexpr bool isZero(const UT_FixedVector &a) noexcept
constexpr UT_FixedVector & operator+=(const UT_FixedVector &a) noexcept
Mat3< typename promote< T0, T1 >::type > operator-(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Subtract corresponding elements of m0 and m1 and return the result.
constexpr UT_FixedVector< T, D > quotientComponentwise(const UT_FixedVector< T, D > &a, const UT_FixedVector< T, D > &b) noexcept
friend constexpr bool operator==(const UT_FixedVector &a, const UT_FixedVector &b) noexcept
static const bool isVectorType
constexpr T & operator[](exint i) noexcept
static constexpr int tuple_size
GLboolean GLboolean GLboolean b
constexpr UT_FixedVector & operator-=(const UT_FixedVector &a) noexcept
constexpr T distance(const UT_FixedVector< T, D > &a, const UT_FixedVector< T, D > &b) noexcept
constexpr UT_FixedVector< T, D > operator()(const TS &as) const noexcept
friend constexpr bool operator!=(const UT_FixedVector &a, const UT_FixedVector &b) noexcept
friend constexpr auto dot(const UT_FixedVector &a, const UT_FixedVector &b) noexcept
friend constexpr bool operator>=(const UT_FixedVector &a, const UT_FixedVector &b) noexcept
friend constexpr auto length2(const UT_FixedVector &a) noexcept
friend constexpr UT_FixedVector operator*(const T &a, const UT_FixedVector &b) noexcept
constexpr T * data() noexcept
constexpr T normalize(UT_FixedVector< T, D > &a) noexcept
constexpr T length(const UT_FixedVector< T, D > &a) noexcept
constexpr UT_FixedVector(const T(&a)[D]) noexcept