21 assert(k > 1 && k < 7);
26 for (u32 i = 1; i < m + 1; i++) {
31 Q = { 1.0, 1.0, 1.0, 1.0, 1.0 };
35 at(1, 0) = -11.0 / 12.0;
36 at(1, 1) = 17.0 / 24.0;
38 at(1, 3) = -5.0 / 24.0;
39 at(1, 4) = 1.0 / 24.0;
41 at(m, m) = 11.0 / 12.0;
42 at(m, m - 1) = -17.0 / 24.0;
43 at(m, m - 2) = -3.0 / 8.0;
44 at(m, m - 3) = 5.0 / 24.0;
45 at(m, m - 4) = -1.0 / 24.0;
47 for (u32 i = 2; i < m; i++) {
48 at(i, i - 2) = 1.0 / 24.0;
49 at(i, i - 1) = -9.0 / 8.0;
51 at(i, i + 1) = -1.0 / 24.0;
53 Q = { 2186.0 / 1943.0 , 2125.0 / 2828.0 , 1441.0 / 1240.0 , 648.0 / 673.0
54 , 349.0 / 350.0 , 648.0 / 673.0 , 1441.0 / 1240.0 , 2125.0 / 2828.0
59 at(1, 0) = -1627.0 / 1920.0;
60 at(1, 1) = 211.0 / 640.0;
61 at(1, 2) = 59.0 / 48.0;
62 at(1, 3) = -235.0 / 192.0;
63 at(1, 4) = 91.0 / 128.0;
64 at(1, 5) = -443.0 / 1920.0;
65 at(1, 6) = 31.0 / 960.0;
66 at(2, 0) = 31.0 / 960.0;
67 at(2, 1) = -687.0 / 640.0;
68 at(2, 2) = 129.0 / 128.0;
69 at(2, 3) = 19.0 / 192.0;
70 at(2, 4) = -3.0 / 32.0;
71 at(2, 5) = 21.0 / 640.0;
72 at(2, 6) = -3.0 / 640.0;
74 at(m, m) = 1627.0 / 1920.0;
75 at(m, m - 1) = -211.0 / 640.0;
76 at(m, m - 2) = -59.0 / 48.0;
77 at(m, m - 3) = 235.0 / 192.0;
78 at(m, m - 4) = -91.0 / 128.0;
79 at(m, m - 5) = 443.0 / 1920.0;
80 at(m, m - 6) = -31.0 / 960.0;
81 at(m - 1, m) = -31.0 / 960.0;
82 at(m - 1, m - 1) = 687.0 / 640.0;
83 at(m - 1, m - 2) = -129.0 / 128.0;
84 at(m - 1, m - 3) = -19.0 / 192.0;
85 at(m - 1, m - 4) = 3.0 / 32.0;
86 at(m - 1, m - 5) = -21.0 / 640.0;
87 at(m - 1, m - 6) = 3.0 / 640.0;
89 for (u32 i = 3; i < m - 1; i++) {
90 at(i, i - 3) = -3.0 / 640.0;
91 at(i, i - 2) = 25.0 / 384.0;
92 at(i, i - 1) = -75.0 / 64.0;
93 at(i, i) = 75.0 / 64.0;
94 at(i, i + 1) = -25.0 / 384.0;
95 at(i, i + 2) = 3.0 / 640.0;
98 Q = { 2383.0 / 2005.0 , 929.0 / 2002.0 , 887.0 / 531.0 , 3124.0 / 5901.0
99 , 1706.0 / 1457.0 , 457.0 / 467.0 , 1057.0 / 1061.0 , 457.0 / 467.0
100 , 1706.0 / 1457.0 , 3124.0 / 5901.0 , 887.0 / 531.0 , 929.0 / 2002.0