28for (
int i3 = 0; i3 <= order[0]; ++i3)
30 for (
int i2 = 0; i2 <= order[0] - i3; ++i2)
32 for (
int i1 = 0; i1 <= order[0] - i2 - i3; ++i1)
34 int i0 = order[0] - i1 - i2 - i3;
35 basis[
idx++] = pval[i0] * pval[(order[0] + 1) + i1] * pval[2 * (order[0] + 1) + i2] *
36 pval[3 * (order[0] + 1) + i3];