1 #include "SeldonFlag.hxx"
3 #include "SeldonSolverHeader.hxx"
4 #include "SeldonSolverInline.hxx"
6 #ifndef SELDON_WITH_COMPILED_LIBRARY
7 #include "computation/interfaces/direct/SparseDirectSolver.cxx"
12 SELDON_EXTERN
template class SparseDirectSolver<Real_wp>;
13 SELDON_EXTERN
template class SparseDirectSolver<Complex_wp>;
53 #ifdef SELDON_WITH_MPI
54 SELDON_EXTERN
template void SparseDirectSolver<Real_wp>::FactorizeDistributed(MPI_Comm&, Vector<long>&, Vector<int>&,
55 Vector<Real_wp>&,
const IVect&,
bool,
bool);
57 SELDON_EXTERN
template void SparseDirectSolver<Complex_wp>::FactorizeDistributed(MPI_Comm&, Vector<long>&, Vector<int>&,
58 Vector<Complex_wp>&,
const IVect&,
bool,
bool);
60 SELDON_EXTERN
template void SparseDirectSolver<Real_wp>::FactorizeDistributed(MPI_Comm&, Vector<int64_t>&, Vector<int64_t>&,
61 Vector<Real_wp>&,
const IVect&,
bool,
bool);
63 SELDON_EXTERN
template void SparseDirectSolver<Complex_wp>::FactorizeDistributed(MPI_Comm&, Vector<int64_t>&, Vector<int64_t>&,
64 Vector<Complex_wp>&,
const IVect&,
bool,
bool);
66 SELDON_EXTERN
template void SparseDirectSolver<Real_wp>::PerformAnalysisDistributed(MPI_Comm&, Vector<long>&, Vector<int>&,
67 Vector<Real_wp>&,
const IVect&,
bool,
bool);
69 SELDON_EXTERN
template void SparseDirectSolver<Complex_wp>::PerformAnalysisDistributed(MPI_Comm&, Vector<long>&, Vector<int>&,
70 Vector<Complex_wp>&,
const IVect&,
bool,
bool);
72 SELDON_EXTERN
template void SparseDirectSolver<Real_wp>::PerformAnalysisDistributed(MPI_Comm&, Vector<int64_t>&, Vector<int64_t>&,
73 Vector<Real_wp>&,
const IVect&,
bool,
bool);
75 SELDON_EXTERN
template void SparseDirectSolver<Complex_wp>::PerformAnalysisDistributed(MPI_Comm&, Vector<int64_t>&, Vector<int64_t>&,
76 Vector<Complex_wp>&,
const IVect&,
bool,
bool);
78 SELDON_EXTERN
template void SparseDirectSolver<Real_wp>::PerformFactorizationDistributed(MPI_Comm&, Vector<long>&, Vector<int>&,
79 Vector<Real_wp>&,
const IVect&,
bool,
bool);
81 SELDON_EXTERN
template void SparseDirectSolver<Complex_wp>::PerformFactorizationDistributed(MPI_Comm&, Vector<long>&, Vector<int>&,
82 Vector<Complex_wp>&,
const IVect&,
bool,
bool);
84 SELDON_EXTERN
template void SparseDirectSolver<Real_wp>::PerformFactorizationDistributed(MPI_Comm&, Vector<int64_t>&, Vector<int64_t>&,
85 Vector<Real_wp>&,
const IVect&,
bool,
bool);
87 SELDON_EXTERN
template void SparseDirectSolver<Complex_wp>::PerformFactorizationDistributed(MPI_Comm&, Vector<int64_t>&, Vector<int64_t>&,
88 Vector<Complex_wp>&,
const IVect&,
bool,
bool);
90 SELDON_EXTERN
template void SolveLU_Distributed(MPI_Comm&,
const SeldonTranspose&, SparseDirectSolver<Real_wp>&, Vector<Real_wp>&, Vector<int>&);
91 SELDON_EXTERN
template void SolveLU_Distributed(MPI_Comm&,
const SeldonTranspose&, SparseDirectSolver<Real_wp>&, Vector<Complex_wp>&, Vector<int>&);
92 SELDON_EXTERN
template void SolveLU_Distributed(MPI_Comm&,
const SeldonTranspose&, SparseDirectSolver<Complex_wp>&, Vector<Real_wp>&, Vector<int>&);
93 SELDON_EXTERN
template void SolveLU_Distributed(MPI_Comm&,
const SeldonTranspose&, SparseDirectSolver<Complex_wp>&, Vector<Complex_wp>&, Vector<int>&);
95 SELDON_EXTERN
template void SolveLU_Distributed(MPI_Comm&,
const SeldonTranspose&, SparseDirectSolver<Real_wp>&, Matrix<Real_wp, General, ColMajor>&, Vector<int>&);
96 SELDON_EXTERN
template void SolveLU_Distributed(MPI_Comm&,
const SeldonTranspose&, SparseDirectSolver<Real_wp>&, Matrix<Complex_wp, General, ColMajor>&, Vector<int>&);
97 SELDON_EXTERN
template void SolveLU_Distributed(MPI_Comm&,
const SeldonTranspose&, SparseDirectSolver<Complex_wp>&, Matrix<Real_wp, General, ColMajor>&, Vector<int>&);
98 SELDON_EXTERN
template void SolveLU_Distributed(MPI_Comm&,
const SeldonTranspose&, SparseDirectSolver<Complex_wp>&, Matrix<Complex_wp, General, ColMajor>&, Vector<int>&);
101 SELDON_EXTERN
template void SolveLU(
const SeldonTranspose&, SparseDirectSolver<Real_wp>&, Vector<Real_wp>&);
102 SELDON_EXTERN
template void SolveLU(
const SeldonTranspose&, SparseDirectSolver<Real_wp>&, Vector<Complex_wp>&);
103 SELDON_EXTERN
template void SolveLU(
const SeldonTranspose&, SparseDirectSolver<Complex_wp>&, Vector<Real_wp>&);
104 SELDON_EXTERN
template void SolveLU(
const SeldonTranspose&, SparseDirectSolver<Complex_wp>&, Vector<Complex_wp>&);
106 SELDON_EXTERN
template void SolveLU(
const SeldonTranspose&, SparseDirectSolver<Real_wp>&, Matrix<Real_wp, General, ColMajor>&);
107 SELDON_EXTERN
template void SolveLU(
const SeldonTranspose&, SparseDirectSolver<Real_wp>&, Matrix<Complex_wp, General, ColMajor>&);
108 SELDON_EXTERN
template void SolveLU(
const SeldonTranspose&, SparseDirectSolver<Complex_wp>&, Matrix<Real_wp, General, ColMajor>&);
109 SELDON_EXTERN
template void SolveLU(
const SeldonTranspose&, SparseDirectSolver<Complex_wp>&, Matrix<Complex_wp, General, ColMajor>&);