mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-03-01 18:26:24 +08:00
Add private copy constructors to sparse solvers backends
This commit is contained in:
parent
2d35f88bcf
commit
5dbb646190
@ -378,6 +378,9 @@ class CholmodDecomposition
|
||||
bool m_isInitialized;
|
||||
int m_factorizationIsOk;
|
||||
int m_analysisIsOk;
|
||||
|
||||
private:
|
||||
CholmodDecomposition(CholmodDecomposition& ) {}
|
||||
};
|
||||
|
||||
namespace internal {
|
||||
|
@ -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 {
|
||||
|
@ -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 {
|
||||
|
@ -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>
|
||||
|
@ -318,6 +318,9 @@ class UmfPackLU
|
||||
int m_factorizationIsOk;
|
||||
int m_analysisIsOk;
|
||||
mutable bool m_extractedDataAreDirty;
|
||||
|
||||
private:
|
||||
UmfPackLU(UmfPackLU& ) { }
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user