mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-09-17 03:43:13 +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;
|
bool m_isInitialized;
|
||||||
int m_factorizationIsOk;
|
int m_factorizationIsOk;
|
||||||
int m_analysisIsOk;
|
int m_analysisIsOk;
|
||||||
|
|
||||||
|
private:
|
||||||
|
CholmodDecomposition(CholmodDecomposition& ) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace internal {
|
namespace internal {
|
||||||
|
@ -339,6 +339,9 @@ class PastixBase
|
|||||||
mutable int m_amalgamation; // level of amalgamation
|
mutable int m_amalgamation; // level of amalgamation
|
||||||
mutable int m_size; // Size of the matrix
|
mutable int m_size; // Size of the matrix
|
||||||
|
|
||||||
|
private:
|
||||||
|
PastixBase(PastixBase& ) {}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Initialize the PaStiX data structure.
|
/** Initialize the PaStiX data structure.
|
||||||
@ -595,6 +598,9 @@ class PastixLU : public PastixBase< PastixLU<_MatrixType> >
|
|||||||
using Base::m_dparm;
|
using Base::m_dparm;
|
||||||
using Base::m_StrMatTrans;
|
using Base::m_StrMatTrans;
|
||||||
using Base::m_hasTranspose;
|
using Base::m_hasTranspose;
|
||||||
|
|
||||||
|
private:
|
||||||
|
PastixLU(PastixLU& ) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
/** \ingroup PaStiXSupport_Module
|
/** \ingroup PaStiXSupport_Module
|
||||||
@ -674,6 +680,9 @@ class PastixLLT : public PastixBase< PastixLLT<_MatrixType, _UpLo> >
|
|||||||
}
|
}
|
||||||
protected:
|
protected:
|
||||||
using Base::m_iparm;
|
using Base::m_iparm;
|
||||||
|
|
||||||
|
private:
|
||||||
|
PastixLLT(PastixLLT& ) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
/** \ingroup PaStiXSupport_Module
|
/** \ingroup PaStiXSupport_Module
|
||||||
@ -756,6 +765,9 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
using Base::m_iparm;
|
using Base::m_iparm;
|
||||||
|
|
||||||
|
private:
|
||||||
|
PastixLDLT(PastixLDLT& ) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace internal {
|
namespace internal {
|
||||||
|
@ -296,6 +296,9 @@ class PardisoImpl
|
|||||||
mutable Array<Index,64,1> m_iparm;
|
mutable Array<Index,64,1> m_iparm;
|
||||||
mutable IntColVectorType m_perm;
|
mutable IntColVectorType m_perm;
|
||||||
Index m_size;
|
Index m_size;
|
||||||
|
|
||||||
|
private:
|
||||||
|
PardisoImpl(PardisoImpl &) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class Derived>
|
template<class Derived>
|
||||||
@ -451,6 +454,9 @@ class PardisoLU : public PardisoImpl< PardisoLU<MatrixType> >
|
|||||||
{
|
{
|
||||||
m_matrix = matrix;
|
m_matrix = matrix;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
PardisoLU(PardisoLU& ) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
/** \ingroup PardisoSupport_Module
|
/** \ingroup PardisoSupport_Module
|
||||||
@ -507,6 +513,9 @@ class PardisoLLT : public PardisoImpl< PardisoLLT<MatrixType,_UpLo> >
|
|||||||
m_matrix.resize(matrix.rows(), matrix.cols());
|
m_matrix.resize(matrix.rows(), matrix.cols());
|
||||||
m_matrix.template selfadjointView<Upper>() = matrix.template selfadjointView<UpLo>().twistedBy(p_null);
|
m_matrix.template selfadjointView<Upper>() = matrix.template selfadjointView<UpLo>().twistedBy(p_null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
PardisoLLT(PardisoLLT& ) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
/** \ingroup PardisoSupport_Module
|
/** \ingroup PardisoSupport_Module
|
||||||
@ -563,6 +572,9 @@ class PardisoLDLT : public PardisoImpl< PardisoLDLT<MatrixType,Options> >
|
|||||||
m_matrix.resize(matrix.rows(), matrix.cols());
|
m_matrix.resize(matrix.rows(), matrix.cols());
|
||||||
m_matrix.template selfadjointView<Upper>() = matrix.template selfadjointView<UpLo>().twistedBy(p_null);
|
m_matrix.template selfadjointView<Upper>() = matrix.template selfadjointView<UpLo>().twistedBy(p_null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
PardisoLDLT(PardisoLDLT& ) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace internal {
|
namespace internal {
|
||||||
|
@ -470,6 +470,9 @@ class SuperLUBase
|
|||||||
int m_factorizationIsOk;
|
int m_factorizationIsOk;
|
||||||
int m_analysisIsOk;
|
int m_analysisIsOk;
|
||||||
mutable bool m_extractedDataAreDirty;
|
mutable bool m_extractedDataAreDirty;
|
||||||
|
|
||||||
|
private:
|
||||||
|
SuperLUBase(SuperLUBase& ) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -604,6 +607,10 @@ class SuperLU : public SuperLUBase<_MatrixType,SuperLU<_MatrixType> >
|
|||||||
m_sluOptions.Trans = NOTRANS;
|
m_sluOptions.Trans = NOTRANS;
|
||||||
m_sluOptions.ColPerm = COLAMD;
|
m_sluOptions.ColPerm = COLAMD;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
SuperLU(SuperLU& ) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename MatrixType>
|
template<typename MatrixType>
|
||||||
@ -916,6 +923,9 @@ class SuperILU : public SuperLUBase<_MatrixType,SuperILU<_MatrixType> >
|
|||||||
m_sluOptions.ILU_DropRule = DROP_BASIC;
|
m_sluOptions.ILU_DropRule = DROP_BASIC;
|
||||||
m_sluOptions.ILU_DropTol = NumTraits<Scalar>::dummy_precision()*10;
|
m_sluOptions.ILU_DropTol = NumTraits<Scalar>::dummy_precision()*10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
SuperILU(SuperILU& ) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename MatrixType>
|
template<typename MatrixType>
|
||||||
|
@ -318,6 +318,9 @@ class UmfPackLU
|
|||||||
int m_factorizationIsOk;
|
int m_factorizationIsOk;
|
||||||
int m_analysisIsOk;
|
int m_analysisIsOk;
|
||||||
mutable bool m_extractedDataAreDirty;
|
mutable bool m_extractedDataAreDirty;
|
||||||
|
|
||||||
|
private:
|
||||||
|
UmfPackLU(UmfPackLU& ) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user