mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
VFPHelpers: optionally instantiate for float
This commit is contained in:
parent
11158a219a
commit
b3ce375c79
@ -773,35 +773,56 @@ VFPInjTable::FLO_TYPE getType(const VFPInjTable& table)
|
||||
return table.getFloType();
|
||||
}
|
||||
|
||||
template const VFPInjTable& getTable<VFPInjTable>(const std::map<int, std::reference_wrapper<const VFPInjTable>>&, int);
|
||||
template const VFPProdTable& getTable<VFPProdTable>(const std::map<int, std::reference_wrapper<const VFPProdTable>>&, int);
|
||||
template const VFPInjTable&
|
||||
getTable(const std::map<int, std::reference_wrapper<const VFPInjTable>>&, int);
|
||||
template const VFPProdTable&
|
||||
getTable(const std::map<int, std::reference_wrapper<const VFPProdTable>>&, int);
|
||||
|
||||
#define INSTANCE(...) \
|
||||
template __VA_ARGS__ getFlo(const VFPInjTable&, const __VA_ARGS__&, const __VA_ARGS__&, const __VA_ARGS__&); \
|
||||
template __VA_ARGS__ getFlo(const VFPProdTable&, const __VA_ARGS__&, const __VA_ARGS__&, const __VA_ARGS__&); \
|
||||
template __VA_ARGS__ getGFR(const VFPProdTable&, const __VA_ARGS__&, const __VA_ARGS__&, const __VA_ARGS__&); \
|
||||
template __VA_ARGS__ getWFR(const VFPProdTable&, const __VA_ARGS__&, const __VA_ARGS__&, const __VA_ARGS__&);
|
||||
#define INSTANTIATE(...) \
|
||||
template __VA_ARGS__ \
|
||||
getFlo(const VFPInjTable&, const __VA_ARGS__&, \
|
||||
const __VA_ARGS__&, const __VA_ARGS__&); \
|
||||
template __VA_ARGS__ \
|
||||
getFlo(const VFPProdTable&, const __VA_ARGS__&, \
|
||||
const __VA_ARGS__&, const __VA_ARGS__&); \
|
||||
template __VA_ARGS__ \
|
||||
getGFR(const VFPProdTable&, const __VA_ARGS__&, \
|
||||
const __VA_ARGS__&, const __VA_ARGS__&); \
|
||||
template __VA_ARGS__ \
|
||||
getWFR(const VFPProdTable&, const __VA_ARGS__&, \
|
||||
const __VA_ARGS__&, const __VA_ARGS__&);
|
||||
|
||||
INSTANCE(double)
|
||||
INSTANCE(DenseAd::Evaluation<double, -1, 4u>)
|
||||
INSTANCE(DenseAd::Evaluation<double, -1, 5u>)
|
||||
INSTANCE(DenseAd::Evaluation<double, -1, 6u>)
|
||||
INSTANCE(DenseAd::Evaluation<double, -1, 7u>)
|
||||
INSTANCE(DenseAd::Evaluation<double, -1, 8u>)
|
||||
INSTANCE(DenseAd::Evaluation<double, -1, 9u>)
|
||||
INSTANCE(DenseAd::Evaluation<double, -1, 10u>)
|
||||
INSTANCE(DenseAd::Evaluation<double, -1, 11u>)
|
||||
INSTANCE(DenseAd::Evaluation<double, 3, 0u>)
|
||||
INSTANCE(DenseAd::Evaluation<double, 4, 0u>)
|
||||
INSTANCE(DenseAd::Evaluation<double, 5, 0u>)
|
||||
INSTANCE(DenseAd::Evaluation<double, 6, 0u>)
|
||||
INSTANCE(DenseAd::Evaluation<double, 7, 0u>)
|
||||
INSTANCE(DenseAd::Evaluation<double, 8, 0u>)
|
||||
INSTANCE(DenseAd::Evaluation<double, 9, 0u>)
|
||||
INSTANCE(DenseAd::Evaluation<double, 10, 0u>)
|
||||
#define INSTANTIATE_TYPE(T) \
|
||||
INSTANTIATE(T) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, -1, 4u>) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, -1, 5u>) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, -1, 6u>) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, -1, 7u>) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, -1, 8u>) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, -1, 9u>) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, -1, 10u>) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, -1, 11u>) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, 3, 0u>) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, 4, 0u>) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, 5, 0u>) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, 6, 0u>) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, 7, 0u>) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, 8, 0u>) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, 9, 0u>) \
|
||||
INSTANTIATE(DenseAd::Evaluation<T, 10, 0u>)
|
||||
|
||||
INSTANTIATE_TYPE(double)
|
||||
|
||||
#if FLOW_INSTANTIATE_FLOAT
|
||||
INSTANTIATE_TYPE(float)
|
||||
#endif
|
||||
|
||||
} // namespace detail
|
||||
|
||||
template class VFPHelpers<double>;
|
||||
|
||||
#if FLOW_INSTANTIATE_FLOAT
|
||||
template class VFPHelpers<float>;
|
||||
#endif
|
||||
|
||||
} // namespace Opm
|
||||
|
Loading…
Reference in New Issue
Block a user