EZRSPQAMRLSXE3VVDYGJSCQNN3ELLDKFTRYF6JLNJRYUDJZSSOAQC
template <typename T, int D, int Rx, int Ry, int Rz> void TestWedge3() {
constexpr int R = Rx + Ry + Rz;
arbitrary<T> arb;
const int n = 100;
for (int i = 0; i < n; ++i) {
constexpr int Nx = form<T, D, Rx>::N;
constexpr int Ny = form<T, D, Ry>::N;
constexpr int Nz = form<T, D, Rz>::N;
form<T, D, Rx> x;
for (int c = 0; c < Nx; ++c)
x.comps[c] = arb.next();
form<T, D, Ry> y;
for (int c = 0; c < Ny; ++c)
y.comps[c] = arb.next();
form<T, D, Rz> z;
for (int c = 0; c < Nz; ++c)
z.comps[c] = arb.next();
TestWedge3<val_t, 2, 0, 0, 0>();
TestWedge3<val_t, 2, 0, 0, 1>();
TestWedge3<val_t, 2, 0, 0, 2>();
TestWedge3<val_t, 2, 0, 1, 0>();
TestWedge3<val_t, 2, 0, 1, 1>();
TestWedge3<val_t, 2, 0, 2, 0>();
TestWedge3<val_t, 2, 1, 0, 0>();
TestWedge3<val_t, 2, 1, 0, 1>();
TestWedge3<val_t, 2, 1, 1, 0>();
TestWedge3<val_t, 2, 2, 0, 0>();
TestWedge3<val_t, 3, 0, 0, 0>();
TestWedge3<val_t, 3, 0, 0, 1>();
TestWedge3<val_t, 3, 0, 0, 2>();
TestWedge3<val_t, 3, 0, 0, 3>();
TestWedge3<val_t, 3, 0, 1, 0>();
TestWedge3<val_t, 3, 0, 1, 1>();
TestWedge3<val_t, 3, 0, 1, 2>();
TestWedge3<val_t, 3, 0, 2, 0>();
TestWedge3<val_t, 3, 0, 2, 1>();
TestWedge3<val_t, 3, 1, 0, 0>();
TestWedge3<val_t, 3, 1, 0, 1>();
TestWedge3<val_t, 3, 1, 0, 2>();
TestWedge3<val_t, 3, 1, 1, 0>();
TestWedge3<val_t, 3, 1, 1, 1>();
TestWedge3<val_t, 3, 2, 0, 0>();
TestWedge3<val_t, 3, 2, 0, 1>();
TestWedge3<val_t, 3, 2, 1, 0>();
TestWedge3<val_t, 3, 3, 0, 0>();