EK7F2IQUVSSHTDV7MPOZXX34UHJA2ZNDHIZX4G4HCSUJYXKFWGRAC
MZ7ITPFS3EZ5U74B5HLL2H7B65ZT27WTAWBHEQDBHR5IP6DAGHWAC
NKZ62JLSJQ7WH6ERIPBWSU63CAP4H3GHYCUL6JKQELBY7V33HGOAC
BRC6KOCKJIARRSZI3TJOKIK6XBSNYAS2IP6LJOPS2FPMLN57QKVQC
DGEGTDYVGRHEGNFDHCCVTD6AVLRJ2XHDXQPWR5MMR62V5NU2XGIQC
DQZRKU4B6C3WWWXFMBBSVKYD5AXDGUMHHPACVWKERGKB5WLHZGYAC
namespace {constexpr int VC = 0; // centeringconstexpr int CC = 1;constexpr bool NOCONS = false; // conservativeconstexpr bool CONS = true;} // namespace
namespace {
constexpr int VC = 0; // centering
constexpr int CC = 1;
constexpr bool NOCONS = false; // conservative
constexpr bool CONS = true;
} // namespace
// static constexpr const T coeffs[];
template <typename T> struct coeffs1d<VC, NOCONS, /*order*/ 1, T> {
template <typename T> struct coeffs1d<VC, POLY, /*order*/ 1, T> {
template <typename T> struct coeffs1d<VC, NOCONS, /*order*/ 3, T> {
template <typename T> struct coeffs1d<VC, POLY, /*order*/ 3, T> {
template <typename T> struct coeffs1d<VC, NOCONS, /*order*/ 5, T> {
template <typename T> struct coeffs1d<VC, POLY, /*order*/ 5, T> {
template <typename T> struct coeffs1d<VC, NOCONS, /*order*/ 7, T> {
template <typename T> struct coeffs1d<VC, POLY, /*order*/ 7, T> {
template <typename T> struct coeffs1d<CC, NOCONS, /*order*/ 0, T> {
template <typename T> struct coeffs1d<CC, POLY, /*order*/ 0, T> {
template <typename T> struct coeffs1d<CC, NOCONS, /*order*/ 1, T> {
template <typename T> struct coeffs1d<CC, POLY, /*order*/ 1, T> {
template <typename T> struct coeffs1d<CC, NOCONS, /*order*/ 2, T> {
template <typename T> struct coeffs1d<CC, POLY, /*order*/ 2, T> {
template <typename T> struct coeffs1d<CC, NOCONS, /*order*/ 3, T> {
template <typename T> struct coeffs1d<CC, POLY, /*order*/ 3, T> {
template <typename T> struct coeffs1d<CC, NOCONS, /*order*/ 4, T> {
template <typename T> struct coeffs1d<CC, POLY, /*order*/ 4, T> {
template <int ORDER> struct interp1d<VC, NOCONS, ORDER> {
template <int ORDER> struct interp1d<VC, POLY, ORDER> {
constexpr array<T, ORDER + 1> cs = coeffs1d<VC, NOCONS, ORDER, T>::coeffs;
constexpr array<T, ORDER + 1> cs = coeffs1d<VC, POLY, ORDER, T>::coeffs;
template <int ORDER> struct interp1d<CC, NOCONS, ORDER> {
template <int ORDER> struct interp1d<CC, POLY, ORDER> {
constexpr array<T, ORDER + 1> cs = coeffs1d<CC, NOCONS, ORDER, T>::coeffs;
constexpr array<T, ORDER + 1> cs = coeffs1d<CC, POLY, ORDER, T>::coeffs;
struct test_interp1d<CENTERING, NOCONS, ORDER, T> {
struct test_interp1d<CENTERING, POLY, ORDER, T> {
T y1 = interp1d<CENTERING, NOCONS, ORDER>()(&ys[i0 + 1], 1, off);
T y1 = interp1d<CENTERING, POLY, ORDER>()(&ys[i0 + 1], 1, off);
prolongate_3d_rf2<0, 0, 0, false, false, false, 1, 1, 1>
////////////////////////////////////////////////////////////////////////////////prolongate_3d_rf2<VC, VC, VC, POLY, POLY, POLY, 1, 1, 1>
////////////////////////////////////////////////////////////////////////////////
prolongate_3d_rf2<VC, VC, VC, POLY, POLY, POLY, 1, 1, 1>
prolongate_3d_rf2<0, 0, 1, false, false, false, 1, 1, 1>
prolongate_3d_rf2<VC, VC, CC, POLY, POLY, POLY, 1, 1, 1>
prolongate_3d_rf2<0, 1, 0, false, false, false, 1, 1, 1>
prolongate_3d_rf2<VC, CC, VC, POLY, POLY, POLY, 1, 1, 1>
prolongate_3d_rf2<0, 1, 1, false, false, false, 1, 1, 1>
prolongate_3d_rf2<VC, CC, CC, POLY, POLY, POLY, 1, 1, 1>
prolongate_3d_rf2<1, 0, 0, false, false, false, 1, 1, 1>
prolongate_3d_rf2<CC, VC, VC, POLY, POLY, POLY, 1, 1, 1>
prolongate_3d_rf2<1, 0, 1, false, false, false, 1, 1, 1>
prolongate_3d_rf2<CC, VC, CC, POLY, POLY, POLY, 1, 1, 1>
prolongate_3d_rf2<1, 1, 0, false, false, false, 1, 1, 1>
prolongate_3d_rf2<CC, CC, VC, POLY, POLY, POLY, 1, 1, 1>
prolongate_3d_rf2<1, 1, 1, false, false, false, 1, 1, 1>
prolongate_3d_rf2<CC, CC, CC, POLY, POLY, POLY, 1, 1, 1>
prolongate_3d_rf2<0, 0, 0, false, false, false, 3, 3, 3>
prolongate_3d_rf2<VC, VC, VC, POLY, POLY, POLY, 3, 3, 3>
prolongate_3d_rf2<0, 0, 1, false, false, false, 3, 3, 3>
prolongate_3d_rf2<VC, VC, CC, POLY, POLY, POLY, 3, 3, 3>
prolongate_3d_rf2<0, 1, 0, false, false, false, 3, 3, 3>
prolongate_3d_rf2<VC, CC, VC, POLY, POLY, POLY, 3, 3, 3>
prolongate_3d_rf2<0, 1, 1, false, false, false, 3, 3, 3>
prolongate_3d_rf2<VC, CC, CC, POLY, POLY, POLY, 3, 3, 3>
prolongate_3d_rf2<1, 0, 0, false, false, false, 3, 3, 3>
prolongate_3d_rf2<CC, VC, VC, POLY, POLY, POLY, 3, 3, 3>
prolongate_3d_rf2<1, 0, 1, false, false, false, 3, 3, 3>
prolongate_3d_rf2<CC, VC, CC, POLY, POLY, POLY, 3, 3, 3>
prolongate_3d_rf2<1, 1, 0, false, false, false, 3, 3, 3>
prolongate_3d_rf2<CC, CC, VC, POLY, POLY, POLY, 3, 3, 3>
prolongate_3d_rf2<1, 1, 1, false, false, false, 3, 3, 3>
prolongate_3d_rf2<CC, CC, CC, POLY, POLY, POLY, 3, 3, 3>
prolongate_3d_rf2<0, 0, 0, true, true, true, 0, 0, 0>
prolongate_3d_rf2<VC, VC, VC, CONS, CONS, CONS, 0, 0, 0>
prolongate_3d_rf2<0, 0, 1, true, true, true, 0, 0, 0>
prolongate_3d_rf2<VC, VC, CC, CONS, CONS, CONS, 0, 0, 0>
prolongate_3d_rf2<0, 1, 0, true, true, true, 0, 0, 0>
prolongate_3d_rf2<VC, CC, VC, CONS, CONS, CONS, 0, 0, 0>
prolongate_3d_rf2<0, 1, 1, true, true, true, 0, 0, 0>
prolongate_3d_rf2<VC, CC, CC, CONS, CONS, CONS, 0, 0, 0>
prolongate_3d_rf2<1, 0, 0, true, true, true, 0, 0, 0>
prolongate_3d_rf2<CC, VC, VC, CONS, CONS, CONS, 0, 0, 0>
prolongate_3d_rf2<1, 0, 1, true, true, true, 0, 0, 0>
prolongate_3d_rf2<CC, VC, CC, CONS, CONS, CONS, 0, 0, 0>
prolongate_3d_rf2<1, 1, 0, true, true, true, 0, 0, 0>
prolongate_3d_rf2<CC, CC, VC, CONS, CONS, CONS, 0, 0, 0>
prolongate_3d_rf2<1, 1, 1, true, true, true, 0, 0, 0>
prolongate_3d_rf2<CC, CC, CC, CONS, CONS, CONS, 0, 0, 0>
prolongate_3d_rf2<0, 0, 0, true, true, true, 1, 1, 1>
prolongate_3d_rf2<VC, VC, VC, CONS, CONS, CONS, 1, 1, 1>
prolongate_3d_rf2<0, 0, 1, true, true, true, 1, 1, 2>
prolongate_3d_rf2<VC, VC, CC, CONS, CONS, CONS, 1, 1, 2>
prolongate_3d_rf2<0, 1, 0, true, true, true, 1, 2, 1>
prolongate_3d_rf2<VC, CC, VC, CONS, CONS, CONS, 1, 2, 1>
prolongate_3d_rf2<0, 1, 1, true, true, true, 1, 2, 2>
prolongate_3d_rf2<VC, CC, CC, CONS, CONS, CONS, 1, 2, 2>
prolongate_3d_rf2<1, 0, 0, true, true, true, 2, 1, 1>
prolongate_3d_rf2<CC, VC, VC, CONS, CONS, CONS, 2, 1, 1>
prolongate_3d_rf2<1, 0, 1, true, true, true, 2, 1, 2>
prolongate_3d_rf2<CC, VC, CC, CONS, CONS, CONS, 2, 1, 2>
prolongate_3d_rf2<1, 1, 0, true, true, true, 2, 2, 1>
prolongate_3d_rf2<CC, CC, VC, CONS, CONS, CONS, 2, 2, 1>
prolongate_3d_rf2<1, 1, 1, true, true, true, 2, 2, 2>
prolongate_3d_rf2<CC, CC, CC, CONS, CONS, CONS, 2, 2, 2>
prolongate_3d_rf2<0, 0, 1, false, false, true, 1, 1, 0>
prolongate_3d_rf2<VC, VC, CC, POLY, POLY, CONS, 1, 1, 0>
prolongate_3d_rf2<0, 1, 0, false, true, false, 1, 0, 1>
prolongate_3d_rf2<VC, CC, VC, POLY, CONS, POLY, 1, 0, 1>
prolongate_3d_rf2<0, 1, 1, false, true, true, 1, 0, 0>
prolongate_3d_rf2<VC, CC, CC, POLY, CONS, CONS, 1, 0, 0>
prolongate_3d_rf2<1, 0, 0, true, false, false, 0, 1, 1>
prolongate_3d_rf2<CC, VC, VC, CONS, POLY, POLY, 0, 1, 1>
prolongate_3d_rf2<1, 0, 1, true, false, true, 0, 1, 0>
prolongate_3d_rf2<CC, VC, CC, CONS, POLY, CONS, 0, 1, 0>
prolongate_3d_rf2<1, 1, 0, true, true, false, 0, 0, 1>
prolongate_3d_rf2<CC, CC, VC, CONS, CONS, POLY, 0, 0, 1>
constexpr int VC = 0; // vertex centeringconstexpr int CC = 1; // cell centeringconstexpr bool POLY = false; // polynomial interpolation (non-conservative)constexpr bool CONS = true; // conservative
constexpr int VC = 0; // vertex centering
constexpr int CC = 1; // cell centering
constexpr bool POLY = false; // polynomial interpolation (non-conservative)
constexpr bool CONS = true; // conservative
extern prolongate_3d_rf2<0, 0, 0, false, false, false, 1, 1, 1>
////////////////////////////////////////////////////////////////////////////////extern prolongate_3d_rf2<VC, VC, VC, POLY, POLY, POLY, 1, 1, 1>
extern prolongate_3d_rf2<VC, VC, VC, POLY, POLY, POLY, 1, 1, 1>
extern prolongate_3d_rf2<0, 0, 1, false, false, false, 1, 1, 1>
extern prolongate_3d_rf2<VC, VC, CC, POLY, POLY, POLY, 1, 1, 1>
extern prolongate_3d_rf2<0, 1, 0, false, false, false, 1, 1, 1>
extern prolongate_3d_rf2<VC, CC, VC, POLY, POLY, POLY, 1, 1, 1>
extern prolongate_3d_rf2<0, 1, 1, false, false, false, 1, 1, 1>
extern prolongate_3d_rf2<VC, CC, CC, POLY, POLY, POLY, 1, 1, 1>
extern prolongate_3d_rf2<1, 0, 0, false, false, false, 1, 1, 1>
extern prolongate_3d_rf2<CC, VC, VC, POLY, POLY, POLY, 1, 1, 1>
extern prolongate_3d_rf2<1, 0, 1, false, false, false, 1, 1, 1>
extern prolongate_3d_rf2<CC, VC, CC, POLY, POLY, POLY, 1, 1, 1>
extern prolongate_3d_rf2<1, 1, 0, false, false, false, 1, 1, 1>
extern prolongate_3d_rf2<CC, CC, VC, POLY, POLY, POLY, 1, 1, 1>
extern prolongate_3d_rf2<1, 1, 1, false, false, false, 1, 1, 1>
extern prolongate_3d_rf2<CC, CC, CC, POLY, POLY, POLY, 1, 1, 1>
extern prolongate_3d_rf2<0, 0, 0, false, false, false, 3, 3, 3>
extern prolongate_3d_rf2<VC, VC, VC, POLY, POLY, POLY, 3, 3, 3>
extern prolongate_3d_rf2<0, 0, 1, false, false, false, 3, 3, 3>
extern prolongate_3d_rf2<VC, VC, CC, POLY, POLY, POLY, 3, 3, 3>
extern prolongate_3d_rf2<0, 1, 0, false, false, false, 3, 3, 3>
extern prolongate_3d_rf2<VC, CC, VC, POLY, POLY, POLY, 3, 3, 3>
extern prolongate_3d_rf2<0, 1, 1, false, false, false, 3, 3, 3>
extern prolongate_3d_rf2<VC, CC, CC, POLY, POLY, POLY, 3, 3, 3>
extern prolongate_3d_rf2<1, 0, 0, false, false, false, 3, 3, 3>
extern prolongate_3d_rf2<CC, VC, VC, POLY, POLY, POLY, 3, 3, 3>
extern prolongate_3d_rf2<1, 0, 1, false, false, false, 3, 3, 3>
extern prolongate_3d_rf2<CC, VC, CC, POLY, POLY, POLY, 3, 3, 3>
extern prolongate_3d_rf2<1, 1, 0, false, false, false, 3, 3, 3>
extern prolongate_3d_rf2<CC, CC, VC, POLY, POLY, POLY, 3, 3, 3>
extern prolongate_3d_rf2<1, 1, 1, false, false, false, 3, 3, 3>
extern prolongate_3d_rf2<CC, CC, CC, POLY, POLY, POLY, 3, 3, 3>
extern prolongate_3d_rf2<0, 0, 0, true, true, true, 0, 0, 0>
extern prolongate_3d_rf2<VC, VC, VC, CONS, CONS, CONS, 0, 0, 0>
extern prolongate_3d_rf2<0, 0, 1, true, true, true, 0, 0, 0>
extern prolongate_3d_rf2<VC, VC, CC, CONS, CONS, CONS, 0, 0, 0>
extern prolongate_3d_rf2<0, 1, 0, true, true, true, 0, 0, 0>
extern prolongate_3d_rf2<VC, CC, VC, CONS, CONS, CONS, 0, 0, 0>
extern prolongate_3d_rf2<0, 1, 1, true, true, true, 0, 0, 0>
extern prolongate_3d_rf2<VC, CC, CC, CONS, CONS, CONS, 0, 0, 0>
extern prolongate_3d_rf2<1, 0, 0, true, true, true, 0, 0, 0>
extern prolongate_3d_rf2<CC, VC, VC, CONS, CONS, CONS, 0, 0, 0>
extern prolongate_3d_rf2<1, 0, 1, true, true, true, 0, 0, 0>
extern prolongate_3d_rf2<CC, VC, CC, CONS, CONS, CONS, 0, 0, 0>
extern prolongate_3d_rf2<1, 1, 0, true, true, true, 0, 0, 0>
extern prolongate_3d_rf2<CC, CC, VC, CONS, CONS, CONS, 0, 0, 0>
extern prolongate_3d_rf2<1, 1, 1, true, true, true, 0, 0, 0>
extern prolongate_3d_rf2<CC, CC, CC, CONS, CONS, CONS, 0, 0, 0>
extern prolongate_3d_rf2<0, 0, 0, true, true, true, 1, 1, 1>
extern prolongate_3d_rf2<VC, VC, VC, CONS, CONS, CONS, 1, 1, 1>
extern prolongate_3d_rf2<0, 0, 1, true, true, true, 1, 1, 2>
extern prolongate_3d_rf2<VC, VC, CC, CONS, CONS, CONS, 1, 1, 2>
extern prolongate_3d_rf2<0, 1, 0, true, true, true, 1, 2, 1>
extern prolongate_3d_rf2<VC, CC, VC, CONS, CONS, CONS, 1, 2, 1>
extern prolongate_3d_rf2<0, 1, 1, true, true, true, 1, 2, 2>
extern prolongate_3d_rf2<VC, CC, CC, CONS, CONS, CONS, 1, 2, 2>
extern prolongate_3d_rf2<1, 0, 0, true, true, true, 2, 1, 1>
extern prolongate_3d_rf2<CC, VC, VC, CONS, CONS, CONS, 2, 1, 1>
extern prolongate_3d_rf2<1, 0, 1, true, true, true, 2, 1, 2>
extern prolongate_3d_rf2<CC, VC, CC, CONS, CONS, CONS, 2, 1, 2>
extern prolongate_3d_rf2<1, 1, 0, true, true, true, 2, 2, 1>
extern prolongate_3d_rf2<CC, CC, VC, CONS, CONS, CONS, 2, 2, 1>
extern prolongate_3d_rf2<1, 1, 1, true, true, true, 2, 2, 2>
extern prolongate_3d_rf2<CC, CC, CC, CONS, CONS, CONS, 2, 2, 2>
extern prolongate_3d_rf2<0, 0, 1, false, false, true, 1, 1, 0>
extern prolongate_3d_rf2<VC, VC, CC, POLY, POLY, CONS, 1, 1, 0>
extern prolongate_3d_rf2<0, 1, 0, false, true, false, 1, 0, 1>
extern prolongate_3d_rf2<VC, CC, VC, POLY, CONS, POLY, 1, 0, 1>
extern prolongate_3d_rf2<0, 1, 1, false, true, true, 1, 0, 0>
extern prolongate_3d_rf2<VC, CC, CC, POLY, CONS, CONS, 1, 0, 0>
extern prolongate_3d_rf2<1, 0, 0, true, false, false, 0, 1, 1>
extern prolongate_3d_rf2<CC, VC, VC, CONS, POLY, POLY, 0, 1, 1>
extern prolongate_3d_rf2<1, 0, 1, true, false, true, 0, 1, 0>
extern prolongate_3d_rf2<CC, VC, CC, CONS, POLY, CONS, 0, 1, 0>
extern prolongate_3d_rf2<1, 1, 0, true, true, false, 0, 0, 1>
extern prolongate_3d_rf2<CC, CC, VC, CONS, CONS, POLY, 0, 0, 1>