35#ifndef EIGEN_INVERSE_SIZE_4_H
36#define EIGEN_INVERSE_SIZE_4_H
42template <
typename MatrixType,
typename ResultType>
69 if (!StorageOrdersMatch)
88 AB =
psub(
AB,
pmul(
vec4f_swizzle2(
A,
A, 1, 1, 2, 2),
vec4f_swizzle2(
B,
B, 2, 3, 0, 1)));
92 DC =
psub(
DC,
pmul(
vec4f_swizzle2(
D,
D, 1, 1, 2, 2),
vec4f_swizzle2(
C,
C, 2, 3, 0, 1)));
138 iB =
psub(
iB,
pmul(
vec4f_swizzle2(
D,
D, 1, 0, 3, 2),
vec4f_swizzle2(
AB,
AB, 2, 1, 2, 1)));
143 iC =
psub(iC,
pmul(
vec4f_swizzle2(
A,
A, 1, 0, 3, 2),
vec4f_swizzle2(
DC,
DC, 2, 1, 2, 1)));
146 const float sign_mask[4] = {0.0f, numext::bit_cast<float>(0x80000000u), numext::bit_cast<float>(0x80000000u), 0.0f};
164#if !(defined EIGEN_VECTORIZE_NEON && !(EIGEN_ARCH_ARM64 && !EIGEN_APPLE_DOUBLE_NEON_BUG))
167template <
typename MatrixType,
typename ResultType>
178 typename MatrixType::PlainObject>::type
196 if (StorageOrdersMatch)
329 const double sign_mask1[2] = {0.0, numext::bit_cast<double>(0x8000000000000000ull)};
330 const double sign_mask2[2] = {numext::bit_cast<double>(0x8000000000000000ull), 0.0};
MatrixXcd D
Definition EigenSolver_EigenSolver_MatrixType.cpp:14
int data[]
Definition Map_placement_new.cpp:1
#define vec4f_duplane(a, p)
Definition PacketMath.h:137
cout<< "Here is the matrix m:"<< endl<< m<< endl;Matrix< ptrdiff_t, 3, 1 > res
Definition PartialRedux_count.cpp:3
#define vec4f_swizzle2(a, b, p, q, r, s)
Definition PacketMath.h:70
#define vec2d_duplane(a, p)
Definition PacketMath.h:106
#define vec2d_swizzle2(a, b, mask)
Definition PacketMath.h:95
MatrixXf mat
Definition Tutorial_AdvancedInitialization_CommaTemporary.cpp:1
Matrix< Scalar, Dynamic, Dynamic > C
Definition bench_gemm.cpp:50
Matrix< SCALARA, Dynamic, Dynamic, opt_A > A
Definition bench_gemm.cpp:48
Matrix< SCALARB, Dynamic, Dynamic, opt_B > B
Definition bench_gemm.cpp:49
MatrixXf MatrixType
Definition benchmark-blocking-sizes.cpp:52
The matrix class, also used for vectors and row-vectors.
Definition Matrix.h:180
Definition TensorRef.h:81
Map< Matrix< T, Dynamic, Dynamic, ColMajor >, 0, OuterStride<> > matrix(T *data, int rows, int cols, int stride)
Definition common.h:110
const unsigned int LinearAccessBit
Definition Constants.h:130
const unsigned int RowMajorBit
Definition Constants.h:66
EIGEN_DEVICE_FUNC Packet padd(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:215
EIGEN_STRONG_INLINE Packet4f vec4f_movelh(const Packet4f &a, const Packet4f &b)
Definition PacketMath.h:121
EIGEN_STRONG_INLINE Packet2d vec2d_unpackhi(const Packet2d &a, const Packet2d &b)
Definition PacketMath.h:102
EIGEN_STRONG_INLINE Packet4f vec4f_movehl(const Packet4f &a, const Packet4f &b)
Definition PacketMath.h:125
EIGEN_DEVICE_FUNC Packet pdiv(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:244
EIGEN_DEVICE_FUNC Packet pmul(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:237
EIGEN_STRONG_INLINE Packet2d ploadu< Packet2d >(const double *from)
Definition PacketMath.h:1004
EIGEN_STRONG_INLINE Packet4f vec4f_unpackhi(const Packet4f &a, const Packet4f &b)
Definition PacketMath.h:133
EIGEN_STRONG_INLINE Packet4f vec4f_unpacklo(const Packet4f &a, const Packet4f &b)
Definition PacketMath.h:129
EIGEN_STRONG_INLINE Packet8h pxor(const Packet8h &a, const Packet8h &b)
Definition PacketMath.h:1047
EIGEN_STRONG_INLINE Packet2d vec2d_unpacklo(const Packet2d &a, const Packet2d &b)
Definition PacketMath.h:98
EIGEN_STRONG_INLINE Packet4f ploadu< Packet4f >(const float *from)
Definition PacketMath.h:968
EIGEN_DEVICE_FUNC Packet psub(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:222
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:74
Definition BandTriangularSolver.h:13
static void run(const MatrixType &mat, ResultType &result)
Definition InverseSize4.h:181
static void run(const MatrixType &mat, ResultType &result)
Definition InverseSize4.h:53
Definition InverseImpl.h:235
Definition ForwardDeclarations.h:17