6 #ifndef MYRAMATH_DENSE_SWIZZLE_H 7 #define MYRAMATH_DENSE_SWIZZLE_H 18 #include <myramath/MYRAMATH_EXPORT.h> 26 template<
class Number>
class MatrixRange;
27 template<
class Number>
class VectorRange;
30 MYRAMATH_EXPORT std::pair< MatrixRange<NumberS>, MatrixRange<NumberS> > swizzle (
const MatrixRange<NumberC>& Z);
32 MYRAMATH_EXPORT std::pair< MatrixRange<NumberD>, MatrixRange<NumberD> > swizzle (
const MatrixRange<NumberZ>& Z);
36 MYRAMATH_EXPORT
void unswizzle (
const MatrixRange<NumberC>& Z);
38 MYRAMATH_EXPORT
void unswizzle (
const MatrixRange<NumberZ>& Z);
42 MYRAMATH_EXPORT std::pair< VectorRange<NumberS>, VectorRange<NumberS> > swizzle (
const VectorRange<NumberC>& z);
44 MYRAMATH_EXPORT std::pair< VectorRange<NumberD>, VectorRange<NumberD> > swizzle (
const VectorRange<NumberZ>& z);
48 MYRAMATH_EXPORT
void unswizzle (
const VectorRange<NumberC>& z);
50 MYRAMATH_EXPORT
void unswizzle (
const VectorRange<NumberZ>& z);
Various utility functions/classes related to scalar Number types.