aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Desire NUENTSA <desire.nuentsa_wakam@inria.fr>2012-03-29 19:19:12 +0200
committerGravatar Desire NUENTSA <desire.nuentsa_wakam@inria.fr>2012-03-29 19:19:12 +0200
commit5dbb64619013dd3f9558aed2b7b0f2a712f34c22 (patch)
tree2f4ccb5d0356ce1843d357fe4c1001dfa584e960
parent2d35f88bcf4ffb99e4010a4bd6029bfe01d6527d (diff)
Add private copy constructors to sparse solvers backends
-rw-r--r--Eigen/src/CholmodSupport/CholmodSupport.h3
-rw-r--r--Eigen/src/PaStiXSupport/PaStiXSupport.h12
-rw-r--r--Eigen/src/PardisoSupport/PardisoSupport.h12
-rw-r--r--Eigen/src/SuperLUSupport/SuperLUSupport.h10
-rw-r--r--Eigen/src/UmfPackSupport/UmfPackSupport.h3
5 files changed, 40 insertions, 0 deletions
diff --git a/Eigen/src/CholmodSupport/CholmodSupport.h b/Eigen/src/CholmodSupport/CholmodSupport.h
index c3c500faa..9cff0efec 100644
--- a/Eigen/src/CholmodSupport/CholmodSupport.h
+++ b/Eigen/src/CholmodSupport/CholmodSupport.h
@@ -378,6 +378,9 @@ class CholmodDecomposition
bool m_isInitialized;
int m_factorizationIsOk;
int m_analysisIsOk;
+
+ private:
+ CholmodDecomposition(CholmodDecomposition& ) {}
};
namespace internal {
diff --git a/Eigen/src/PaStiXSupport/PaStiXSupport.h b/Eigen/src/PaStiXSupport/PaStiXSupport.h
index 7989a92ca..6040b8f00 100644
--- a/Eigen/src/PaStiXSupport/PaStiXSupport.h
+++ b/Eigen/src/PaStiXSupport/PaStiXSupport.h
@@ -339,6 +339,9 @@ class PastixBase
mutable int m_amalgamation; // level of amalgamation
mutable int m_size; // Size of the matrix
+ private:
+ PastixBase(PastixBase& ) {}
+
};
/** Initialize the PaStiX data structure.
@@ -595,6 +598,9 @@ class PastixLU : public PastixBase< PastixLU<_MatrixType> >
using Base::m_dparm;
using Base::m_StrMatTrans;
using Base::m_hasTranspose;
+
+ private:
+ PastixLU(PastixLU& ) {}
};
/** \ingroup PaStiXSupport_Module
@@ -674,6 +680,9 @@ class PastixLLT : public PastixBase< PastixLLT<_MatrixType, _UpLo> >
}
protected:
using Base::m_iparm;
+
+ private:
+ PastixLLT(PastixLLT& ) {}
};
/** \ingroup PaStiXSupport_Module
@@ -756,6 +765,9 @@ public:
protected:
using Base::m_iparm;
+
+ private:
+ PastixLDLT(PastixLDLT& ) {}
};
namespace internal {
diff --git a/Eigen/src/PardisoSupport/PardisoSupport.h b/Eigen/src/PardisoSupport/PardisoSupport.h
index 69f4a18bb..450f5abc6 100644
--- a/Eigen/src/PardisoSupport/PardisoSupport.h
+++ b/Eigen/src/PardisoSupport/PardisoSupport.h
@@ -296,6 +296,9 @@ class PardisoImpl
mutable Array<Index,64,1> m_iparm;
mutable IntColVectorType m_perm;
Index m_size;
+
+ private:
+ PardisoImpl(PardisoImpl &) {}
};
template<class Derived>
@@ -451,6 +454,9 @@ class PardisoLU : public PardisoImpl< PardisoLU<MatrixType> >
{
m_matrix = matrix;
}
+
+ private:
+ PardisoLU(PardisoLU& ) {}
};
/** \ingroup PardisoSupport_Module
@@ -507,6 +513,9 @@ class PardisoLLT : public PardisoImpl< PardisoLLT<MatrixType,_UpLo> >
m_matrix.resize(matrix.rows(), matrix.cols());
m_matrix.template selfadjointView<Upper>() = matrix.template selfadjointView<UpLo>().twistedBy(p_null);
}
+
+ private:
+ PardisoLLT(PardisoLLT& ) {}
};
/** \ingroup PardisoSupport_Module
@@ -563,6 +572,9 @@ class PardisoLDLT : public PardisoImpl< PardisoLDLT<MatrixType,Options> >
m_matrix.resize(matrix.rows(), matrix.cols());
m_matrix.template selfadjointView<Upper>() = matrix.template selfadjointView<UpLo>().twistedBy(p_null);
}
+
+ private:
+ PardisoLDLT(PardisoLDLT& ) {}
};
namespace internal {
diff --git a/Eigen/src/SuperLUSupport/SuperLUSupport.h b/Eigen/src/SuperLUSupport/SuperLUSupport.h
index ee627826b..f72e2cf7e 100644
--- a/Eigen/src/SuperLUSupport/SuperLUSupport.h
+++ b/Eigen/src/SuperLUSupport/SuperLUSupport.h
@@ -470,6 +470,9 @@ class SuperLUBase
int m_factorizationIsOk;
int m_analysisIsOk;
mutable bool m_extractedDataAreDirty;
+
+ private:
+ SuperLUBase(SuperLUBase& ) { }
};
@@ -604,6 +607,10 @@ class SuperLU : public SuperLUBase<_MatrixType,SuperLU<_MatrixType> >
m_sluOptions.Trans = NOTRANS;
m_sluOptions.ColPerm = COLAMD;
}
+
+
+ private:
+ SuperLU(SuperLU& ) { }
};
template<typename MatrixType>
@@ -916,6 +923,9 @@ class SuperILU : public SuperLUBase<_MatrixType,SuperILU<_MatrixType> >
m_sluOptions.ILU_DropRule = DROP_BASIC;
m_sluOptions.ILU_DropTol = NumTraits<Scalar>::dummy_precision()*10;
}
+
+ private:
+ SuperILU(SuperILU& ) { }
};
template<typename MatrixType>
diff --git a/Eigen/src/UmfPackSupport/UmfPackSupport.h b/Eigen/src/UmfPackSupport/UmfPackSupport.h
index 636bba87d..225ab63f8 100644
--- a/Eigen/src/UmfPackSupport/UmfPackSupport.h
+++ b/Eigen/src/UmfPackSupport/UmfPackSupport.h
@@ -318,6 +318,9 @@ class UmfPackLU
int m_factorizationIsOk;
int m_analysisIsOk;
mutable bool m_extractedDataAreDirty;
+
+ private:
+ UmfPackLU(UmfPackLU& ) { }
};