VFPProdProperties: optionally instantiate for float

This commit is contained in:
Arne Morten Kvarving 2024-04-12 13:11:09 +02:00
parent b3ce375c79
commit 951475f69d

View File

@ -201,34 +201,41 @@ bhp(const int table_id,
return bhp; return bhp;
} }
template class VFPProdProperties<double>; #define INSTANTIATE(T,...) \
template __VA_ARGS__ \
#define INSTANCE(...) \ VFPProdProperties<T>::bhp(const int, \
template __VA_ARGS__ VFPProdProperties<double>::bhp<__VA_ARGS__>(const int, \
const __VA_ARGS__&, \ const __VA_ARGS__&, \
const __VA_ARGS__&, \ const __VA_ARGS__&, \
const __VA_ARGS__&, \ const __VA_ARGS__&, \
const double, \ const T , \
const double, \ const T , \
const double, \ const T , \
const double, \ const T , \
const bool) const; const bool) const;
INSTANCE(DenseAd::Evaluation<double, -1, 4u>) #define INSTANTIATE_TYPE(T) \
INSTANCE(DenseAd::Evaluation<double, -1, 5u>) template class VFPProdProperties<T>; \
INSTANCE(DenseAd::Evaluation<double, -1, 6u>) INSTANTIATE(T,DenseAd::Evaluation<T, -1, 4u>) \
INSTANCE(DenseAd::Evaluation<double, -1, 7u>) INSTANTIATE(T,DenseAd::Evaluation<T, -1, 5u>) \
INSTANCE(DenseAd::Evaluation<double, -1, 8u>) INSTANTIATE(T,DenseAd::Evaluation<T, -1, 6u>) \
INSTANCE(DenseAd::Evaluation<double, -1, 9u>) INSTANTIATE(T,DenseAd::Evaluation<T, -1, 7u>) \
INSTANCE(DenseAd::Evaluation<double, -1, 10u>) INSTANTIATE(T,DenseAd::Evaluation<T, -1, 8u>) \
INSTANCE(DenseAd::Evaluation<double, -1, 11u>) INSTANTIATE(T,DenseAd::Evaluation<T, -1, 9u>) \
INSTANCE(DenseAd::Evaluation<double, 3, 0u>) INSTANTIATE(T,DenseAd::Evaluation<T, -1, 10u>) \
INSTANCE(DenseAd::Evaluation<double, 4, 0u>) INSTANTIATE(T,DenseAd::Evaluation<T, -1, 11u>) \
INSTANCE(DenseAd::Evaluation<double, 5, 0u>) INSTANTIATE(T,DenseAd::Evaluation<T, 3, 0u>) \
INSTANCE(DenseAd::Evaluation<double, 6, 0u>) INSTANTIATE(T,DenseAd::Evaluation<T, 4, 0u>) \
INSTANCE(DenseAd::Evaluation<double, 7, 0u>) INSTANTIATE(T,DenseAd::Evaluation<T, 5, 0u>) \
INSTANCE(DenseAd::Evaluation<double, 8, 0u>) INSTANTIATE(T,DenseAd::Evaluation<T, 6, 0u>) \
INSTANCE(DenseAd::Evaluation<double, 9, 0u>) INSTANTIATE(T,DenseAd::Evaluation<T, 7, 0u>) \
INSTANCE(DenseAd::Evaluation<double, 10, 0u>) INSTANTIATE(T,DenseAd::Evaluation<T, 8, 0u>) \
INSTANTIATE(T,DenseAd::Evaluation<T, 9, 0u>) \
INSTANTIATE(T,DenseAd::Evaluation<T, 10, 0u>)
INSTANTIATE_TYPE(double)
#if FLOW_INSTANTIATE_FLOAT
INSTANTIATE_TYPE(float)
#endif
} }