10 #ifndef EIGEN_ALIGNED_VECTOR3_MODULE_H
11 #define EIGEN_ALIGNED_VECTOR3_MODULE_H
13 #include "../../Eigen/Geometry"
15 #include "../../Eigen/src/Core/util/DisableStupidWarnings.h"
40 template<
typename Scalar_>
class AlignedVector3;
43 template<
typename Scalar_>
struct traits<AlignedVector3<Scalar_> >
44 :
traits<Matrix<Scalar_,3,1,0,4,1> >
58 using Base::operator*;
92 template<
typename XprType,
int Size=XprType::SizeAtCompileTime>
107 dest.
m_coeffs.template head<3>() = src;
112 template<
typename Derived>
121 template <
typename Derived>
198 template<
typename Derived>
201 return m_coeffs.template head<3>().isApprox(other,eps);
210 template<
typename Scalar_>
211 struct eval<AlignedVector3<Scalar_>, Dense>
213 typedef const AlignedVector3<Scalar_>& type;
216 template<
typename Scalar>
217 struct evaluator<AlignedVector3<Scalar> >
220 typedef AlignedVector3<Scalar> XprType;
223 evaluator(
const XprType &m) : Base(
m.coeffs()) {}
232 #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
RowXpr row(Index i) const
ColXpr col(Index i) const
#define EIGEN_DENSE_PUBLIC_INTERFACE(Derived)
A vectorization friendly 3D vector.
AlignedVector3 cross(const AlignedVector3 &other) const
AlignedVector3 operator-(const AlignedVector3 &other) const
AlignedVector3 & operator=(const MatrixBase< Derived > &other)
AlignedVector3 operator+(const AlignedVector3 &other) const
const Scalar & coeff(Index index) const
AlignedVector3(const AlignedVector3 &other)
AlignedVector3 & operator+=(const AlignedVector3 &other)
AlignedVector3 & operator/=(const Scalar &s)
Scalar squaredNorm() const
AlignedVector3 normalized() const
friend AlignedVector3 operator*(const Scalar &s, const AlignedVector3 &vec)
AlignedVector3 operator*(const Scalar &s) const
Matrix< Scalar_, 4, 1 > CoeffType
AlignedVector3 & operator*=(const Scalar &s)
Scalar dot(const AlignedVector3 &other) const
Index innerStride() const
bool isApprox(const MatrixBase< Derived > &other, const RealScalar &eps=NumTraits< Scalar >::dummy_precision()) const
Scalar & coeffRef(Index index)
const CoeffType & coeffs() const
AlignedVector3 operator/(const Scalar &s) const
AlignedVector3(const MatrixBase< Derived > &other)
Scalar & coeffRef(Index row, Index col)
MatrixBase< AlignedVector3< Scalar_ > > Base
AlignedVector3 & operator=(const AlignedVector3 &other)
const Scalar * data() const
AlignedVector3 operator-=(const AlignedVector3 &other)
AlignedVector3 operator-() const
AlignedVector3(const Scalar &x, const Scalar &y, const Scalar &z)
Index outerStride() const
const Scalar & coeff(Index row, Index col) const
NumTraits< Scalar >::Real RealScalar
internal::traits< Derived >::Scalar Scalar
const MatrixSquareRootReturnValue< Derived > sqrt() const
constexpr Scalar & coeffRef(Index index)
const Scalar & coeff(Index index) const
: TensorContractionSycl.h, provides various tensor contraction kernel for SYCL backend
Eigen::AutoDiffScalar< EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(Eigen::internal::remove_all_t< DerType >, typename Eigen::internal::traits< Eigen::internal::remove_all_t< DerType >>::Scalar, product) > sqrt(const Eigen::AutoDiffScalar< DerType > &x)
static void run(AlignedVector3 &dest, const XprType &src)
static void run(AlignedVector3 &dest, const XprType &src)