diff --git a/opm/simulators/wells/VFPHelpers.cpp b/opm/simulators/wells/VFPHelpers.cpp index 0c4e3ab3b..06c7b8e78 100644 --- a/opm/simulators/wells/VFPHelpers.cpp +++ b/opm/simulators/wells/VFPHelpers.cpp @@ -773,35 +773,56 @@ VFPInjTable::FLO_TYPE getType(const VFPInjTable& table) return table.getFloType(); } -template const VFPInjTable& getTable(const std::map>&, int); -template const VFPProdTable& getTable(const std::map>&, int); +template const VFPInjTable& +getTable(const std::map>&, int); +template const VFPProdTable& +getTable(const std::map>&, 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) -INSTANCE(DenseAd::Evaluation) -INSTANCE(DenseAd::Evaluation) -INSTANCE(DenseAd::Evaluation) -INSTANCE(DenseAd::Evaluation) -INSTANCE(DenseAd::Evaluation) -INSTANCE(DenseAd::Evaluation) -INSTANCE(DenseAd::Evaluation) -INSTANCE(DenseAd::Evaluation) -INSTANCE(DenseAd::Evaluation) -INSTANCE(DenseAd::Evaluation) -INSTANCE(DenseAd::Evaluation) -INSTANCE(DenseAd::Evaluation) -INSTANCE(DenseAd::Evaluation) -INSTANCE(DenseAd::Evaluation) -INSTANCE(DenseAd::Evaluation) +#define INSTANTIATE_TYPE(T) \ + INSTANTIATE(T) \ + INSTANTIATE(DenseAd::Evaluation) \ + INSTANTIATE(DenseAd::Evaluation) \ + INSTANTIATE(DenseAd::Evaluation) \ + INSTANTIATE(DenseAd::Evaluation) \ + INSTANTIATE(DenseAd::Evaluation) \ + INSTANTIATE(DenseAd::Evaluation) \ + INSTANTIATE(DenseAd::Evaluation) \ + INSTANTIATE(DenseAd::Evaluation) \ + INSTANTIATE(DenseAd::Evaluation) \ + INSTANTIATE(DenseAd::Evaluation) \ + INSTANTIATE(DenseAd::Evaluation) \ + INSTANTIATE(DenseAd::Evaluation) \ + INSTANTIATE(DenseAd::Evaluation) \ + INSTANTIATE(DenseAd::Evaluation) \ + INSTANTIATE(DenseAd::Evaluation) \ + INSTANTIATE(DenseAd::Evaluation) + +INSTANTIATE_TYPE(double) + +#if FLOW_INSTANTIATE_FLOAT +INSTANTIATE_TYPE(float) +#endif } // namespace detail template class VFPHelpers; +#if FLOW_INSTANTIATE_FLOAT +template class VFPHelpers; +#endif + } // namespace Opm