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();
|
return table.getFloType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template const VFPInjTable& getTable<VFPInjTable>(const std::map<int, std::reference_wrapper<const VFPInjTable>>&, int);
|
template const VFPInjTable&
|
||||||
template const VFPProdTable& getTable<VFPProdTable>(const std::map<int, std::reference_wrapper<const VFPProdTable>>&, int);
|
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(...) \
|
#define INSTANTIATE(...) \
|
||||||
template __VA_ARGS__ getFlo(const VFPInjTable&, const __VA_ARGS__&, const __VA_ARGS__&, const __VA_ARGS__&); \
|
template __VA_ARGS__ \
|
||||||
template __VA_ARGS__ getFlo(const VFPProdTable&, const __VA_ARGS__&, const __VA_ARGS__&, const __VA_ARGS__&); \
|
getFlo(const VFPInjTable&, const __VA_ARGS__&, \
|
||||||
template __VA_ARGS__ getGFR(const VFPProdTable&, const __VA_ARGS__&, const __VA_ARGS__&, const __VA_ARGS__&); \
|
const __VA_ARGS__&, const __VA_ARGS__&); \
|
||||||
template __VA_ARGS__ getWFR(const VFPProdTable&, 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)
|
#define INSTANTIATE_TYPE(T) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, -1, 4u>)
|
INSTANTIATE(T) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, -1, 5u>)
|
INSTANTIATE(DenseAd::Evaluation<T, -1, 4u>) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, -1, 6u>)
|
INSTANTIATE(DenseAd::Evaluation<T, -1, 5u>) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, -1, 7u>)
|
INSTANTIATE(DenseAd::Evaluation<T, -1, 6u>) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, -1, 8u>)
|
INSTANTIATE(DenseAd::Evaluation<T, -1, 7u>) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, -1, 9u>)
|
INSTANTIATE(DenseAd::Evaluation<T, -1, 8u>) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, -1, 10u>)
|
INSTANTIATE(DenseAd::Evaluation<T, -1, 9u>) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, -1, 11u>)
|
INSTANTIATE(DenseAd::Evaluation<T, -1, 10u>) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, 3, 0u>)
|
INSTANTIATE(DenseAd::Evaluation<T, -1, 11u>) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, 4, 0u>)
|
INSTANTIATE(DenseAd::Evaluation<T, 3, 0u>) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, 5, 0u>)
|
INSTANTIATE(DenseAd::Evaluation<T, 4, 0u>) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, 6, 0u>)
|
INSTANTIATE(DenseAd::Evaluation<T, 5, 0u>) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, 7, 0u>)
|
INSTANTIATE(DenseAd::Evaluation<T, 6, 0u>) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, 8, 0u>)
|
INSTANTIATE(DenseAd::Evaluation<T, 7, 0u>) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, 9, 0u>)
|
INSTANTIATE(DenseAd::Evaluation<T, 8, 0u>) \
|
||||||
INSTANCE(DenseAd::Evaluation<double, 10, 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
|
} // namespace detail
|
||||||
|
|
||||||
template class VFPHelpers<double>;
|
template class VFPHelpers<double>;
|
||||||
|
|
||||||
|
#if FLOW_INSTANTIATE_FLOAT
|
||||||
|
template class VFPHelpers<float>;
|
||||||
|
#endif
|
||||||
|
|
||||||
} // namespace Opm
|
} // namespace Opm
|
||||||
|
Loading…
Reference in New Issue
Block a user