aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Sparse/SparseLDLT.h
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2009-01-03 22:33:08 +0000
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2009-01-03 22:33:08 +0000
commitd9e5fd393a48db368dd90cf7119ebb3d774111cb (patch)
treead937874a4d1d4bb9fd5216a646178b18b6e9be8 /Eigen/src/Sparse/SparseLDLT.h
parentfd7eba339491ed212b244bea6a6b3a0f71e1cdb2 (diff)
* In LU solvers: no need anymore to use row-major matrices
* Matrix: always inherit WithAlignedOperatorNew, regardless of vectorization or not * rename ei_alloc_stack to ei_aligned_stack_alloc * mixingtypes test: disable vectorization as SSE intrinsics don't allow mixing types and we just get compile errors there.
Diffstat (limited to 'Eigen/src/Sparse/SparseLDLT.h')
-rw-r--r--Eigen/src/Sparse/SparseLDLT.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/Eigen/src/Sparse/SparseLDLT.h b/Eigen/src/Sparse/SparseLDLT.h
index b1f58b4b1..2441646be 100644
--- a/Eigen/src/Sparse/SparseLDLT.h
+++ b/Eigen/src/Sparse/SparseLDLT.h
@@ -192,7 +192,7 @@ void SparseLDLT<MatrixType,Backend>::_symbolic(const MatrixType& a)
m_matrix.resize(size, size);
m_parent.resize(size);
m_nonZerosPerCol.resize(size);
- int * tags = ei_alloc_stack(int, size);
+ int * tags = ei_aligned_stack_alloc(int, size);
const int* Ap = a._outerIndexPtr();
const int* Ai = a._innerIndexPtr();
@@ -238,7 +238,7 @@ void SparseLDLT<MatrixType,Backend>::_symbolic(const MatrixType& a)
Lp[k+1] = Lp[k] + m_nonZerosPerCol[k];
m_matrix.resizeNonZeros(Lp[size]);
- ei_free_stack(tags, int, size);
+ ei_aligned_stack_free(tags, int, size);
}
template<typename MatrixType, int Backend>
@@ -257,9 +257,9 @@ bool SparseLDLT<MatrixType,Backend>::_numeric(const MatrixType& a)
Scalar* Lx = m_matrix._valuePtr();
m_diag.resize(size);
- Scalar * y = ei_alloc_stack(Scalar, size);
- int * pattern = ei_alloc_stack(int, size);
- int * tags = ei_alloc_stack(int, size);
+ Scalar * y = ei_aligned_stack_alloc(Scalar, size);
+ int * pattern = ei_aligned_stack_alloc(int, size);
+ int * tags = ei_aligned_stack_alloc(int, size);
const int* P = 0;
const int* Pinv = 0;
@@ -315,9 +315,9 @@ bool SparseLDLT<MatrixType,Backend>::_numeric(const MatrixType& a)
}
}
- ei_free_stack(y, Scalar, size);
- ei_free_stack(pattern, int, size);
- ei_free_stack(tags, int, size);
+ ei_aligned_stack_free(y, Scalar, size);
+ ei_aligned_stack_free(pattern, int, size);
+ ei_aligned_stack_free(tags, int, size);
return ok; /* success, diagonal of D is all nonzero */
}