aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Householder/Householder.h
diff options
context:
space:
mode:
Diffstat (limited to 'Eigen/src/Householder/Householder.h')
-rw-r--r--Eigen/src/Householder/Householder.h20
1 files changed, 11 insertions, 9 deletions
diff --git a/Eigen/src/Householder/Householder.h b/Eigen/src/Householder/Householder.h
index c45e6469d..7d77cd6e6 100644
--- a/Eigen/src/Householder/Householder.h
+++ b/Eigen/src/Householder/Householder.h
@@ -26,17 +26,19 @@
#ifndef EIGEN_HOUSEHOLDER_H
#define EIGEN_HOUSEHOLDER_H
-template<int n> struct ei_decrement_size
+namespace internal {
+template<int n> struct decrement_size
{
enum {
ret = n==Dynamic ? n : n-1
};
};
+}
template<typename Derived>
void MatrixBase<Derived>::makeHouseholderInPlace(Scalar& tau, RealScalar& beta)
{
- VectorBlock<Derived, ei_decrement_size<Base::SizeAtCompileTime>::ret> essentialPart(derived(), 1, size()-1);
+ VectorBlock<Derived, internal::decrement_size<Base::SizeAtCompileTime>::ret> essentialPart(derived(), 1, size()-1);
makeHouseholder(essentialPart, tau, beta);
}
@@ -68,18 +70,18 @@ void MatrixBase<Derived>::makeHouseholder(
RealScalar tailSqNorm = size()==1 ? RealScalar(0) : tail.squaredNorm();
Scalar c0 = coeff(0);
- if(tailSqNorm == RealScalar(0) && ei_imag(c0)==RealScalar(0))
+ if(tailSqNorm == RealScalar(0) && internal::imag(c0)==RealScalar(0))
{
tau = 0;
- beta = ei_real(c0);
+ beta = internal::real(c0);
}
else
{
- beta = ei_sqrt(ei_abs2(c0) + tailSqNorm);
- if (ei_real(c0)>=RealScalar(0))
+ beta = internal::sqrt(internal::abs2(c0) + tailSqNorm);
+ if (internal::real(c0)>=RealScalar(0))
beta = -beta;
essential = tail / (c0 - beta);
- tau = ei_conj((beta - c0) / beta);
+ tau = internal::conj((beta - c0) / beta);
}
}
@@ -96,7 +98,7 @@ void MatrixBase<Derived>::applyHouseholderOnTheLeft(
}
else
{
- Map<typename ei_plain_row_type<PlainObject>::type> tmp(workspace,cols());
+ Map<typename internal::plain_row_type<PlainObject>::type> tmp(workspace,cols());
Block<Derived, EssentialPart::SizeAtCompileTime, Derived::ColsAtCompileTime> bottom(derived(), 1, 0, rows()-1, cols());
tmp.noalias() = essential.adjoint() * bottom;
tmp += this->row(0);
@@ -118,7 +120,7 @@ void MatrixBase<Derived>::applyHouseholderOnTheRight(
}
else
{
- Map<typename ei_plain_col_type<PlainObject>::type> tmp(workspace,rows());
+ Map<typename internal::plain_col_type<PlainObject>::type> tmp(workspace,rows());
Block<Derived, Derived::RowsAtCompileTime, EssentialPart::SizeAtCompileTime> right(derived(), 0, 1, rows(), cols()-1);
tmp.noalias() = right * essential.conjugate();
tmp += this->col(0);