From 4af1753b6fa83e2c0013f38e6d9e8538896d9d3c Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Fri, 20 Nov 2009 16:30:14 +0100 Subject: * remove EnforceAlignedAccess option to Block, VectorBlock, Map and MapBase because thanks to the previous commit this is not needed anymore * add a more general ForceAlignedAccess expression which can be used for any expression. It is already used by StableNorm.h. --- Eigen/src/Core/StableNorm.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Eigen/src/Core/StableNorm.h') diff --git a/Eigen/src/Core/StableNorm.h b/Eigen/src/Core/StableNorm.h index b08f4a1ae..c2dd6b847 100644 --- a/Eigen/src/Core/StableNorm.h +++ b/Eigen/src/Core/StableNorm.h @@ -59,7 +59,7 @@ MatrixBase::stableNorm() const RealScalar invScale = 1; RealScalar ssq = 0; // sum of square enum { - Alignment = (int(Flags)&DirectAccessBit) || (int(Flags)&AlignedBit) ? EnforceAlignedAccess : AsRequested + Alignment = (int(Flags)&DirectAccessBit) || (int(Flags)&AlignedBit) ? 1 : 0 }; int n = size(); int bi=0; @@ -70,7 +70,7 @@ MatrixBase::stableNorm() const ei_stable_norm_kernel(start(bi), ssq, scale, invScale); } for (; bi(derived(),bi,std::min(blockSize, n - bi)), ssq, scale, invScale); + ei_stable_norm_kernel(segment(bi,std::min(blockSize, n - bi)).template forceAlignedAccessIf(), ssq, scale, invScale); return scale * ei_sqrt(ssq); } -- cgit v1.2.3