6 constexpr
int getFrom() {
return -getFrameCountSave(); };
7 constexpr
int getTo(
int frames) {
return frames - getFrameCountSave(); }
8 constexpr
int getFrameCountSave() {
return 1; }
9 float value(
float* y,
float xf) {
12 return y[x] + dx * (y[x + 1] - y[x]);
18 constexpr
int getFrom() {
return -1; };
19 constexpr
int getTo(
int frames) {
return frames - getFrameCountSave(); }
20 constexpr
int getFrameCountSave() {
return 2; }
21 float value(
float* y,
float xf) {
25 float ym1py1 = y[x - 1] + y[x + 1];
26 float c0 = 1.0f / 6.0f * ym1py1 + 2.0f / 3.0f * y[x];
27 float c1 = 1.0f / 2.0f * (y[x + 1] - y[x - 1]);
28 float c2 = 1.0f / 2.0f * ym1py1 - y[x];
30 1.0f / 2.0f * (y[x] - y[x + 1]) + 1.0f / 6.0f * (y[x + 2] - y[x - 1]);
31 return ((c3 * dx + c2) * dx + c1) * dx + c0;
37 constexpr
int getFrom() {
return -1; };
38 constexpr
int getTo(
int frames) {
return frames - getFrameCountSave(); }
39 constexpr
int getFrameCountSave() {
return 2; }
40 float value(
float* y,
float xf) {
45 float c1 = y[x + 1] - 1.0f / 3.0f * y[x - 1] - 1.0f / 2.0f * y[x] -
46 1.0f / 6.0f * y[x + 2];
47 float c2 = 1.0f / 2.0f * (y[x - 1] + y[x + 1]) - y[x];
49 1.0f / 6.0f * (y[x + 2] - y[x - 1]) + 1 / 2.0 * (y[x] - y[x + 1]);
50 return ((c3 * dx + c2) * dx + c1) * dx + c0;
56 constexpr
int getFrom() {
return -1; };
57 constexpr
int getTo(
int frames) {
return frames - getFrameCountSave(); }
58 constexpr
int getFrameCountSave() {
return 2; }
59 float value(
float* y,
float xf) {
64 float c1 = 1.0f / 2.0f * (y[x + 1] - y[x - 1]);
65 float c2 = y[x - 1] - 5.0f / 2.0f * y[x] + 2.0f * y[x + 1] -
66 1.0f / 2.0f * y[x + 2];
68 1.0f / 2.0f * (y[x + 2] - y[x - 1]) + 3.0f / 2.0f * (y[x] - y[x + 1]);
69 return ((c3 * dx + c2) * dx + c1) * dx + c0;
75 constexpr
int getFrom() {
return -1; };
76 constexpr
int getTo(
int frames) {
return frames - getFrameCountSave(); }
77 constexpr
int getFrameCountSave() {
return 2; }
79 float value(
float* y,
float xf) {
83 float y1mym1 = y[x + 1] - y[x - 1];
84 float c0 = 1.0f / 2.0f * y[x] + 1 / 4.0 * (y[x - 1] + y[x + 1]);
85 float c1 = 1.0 / 2.0f * y1mym1;
86 float c2 = 1.0f / 4.0f * (y[x + 2] - y[x] - y1mym1);
87 return (c2 * dx + c1) * dx + c0;
93 constexpr
int getFrom() {
return -getFrameCountSave(); };
94 constexpr
int getTo(
int frames) {
return frames - getFrameCountSave(); }
95 constexpr
int getFrameCountSave() {
return 1; }
97 float value(
float* y,
float xf) {
102 float even1 = y[x + 1] + y[x];
103 float odd1 = y[x + 1] - y[x];
104 float c0 = even1 * 0.50037842517188658f;
105 float c1 = odd1 * 1.00621089801788210f;
106 float c2 = even1 * -0.004541102062639801f;
107 float c3 = odd1 * -1.57015627178718420f;
108 return ((c3 * z + c2) * z + c1) * z + c0;
114 constexpr
int getFrom() {
return -1; };
115 constexpr
int getTo(
int frames) {
return frames - getFrameCountSave(); }
116 constexpr
int getFrameCountSave() {
return 2; }
118 float value(
float* y,
float xf) {
124 float even1 = y[x + 1] + y[x], odd1 = y[x + 1] - y[x];
125 float even2 = y[x + 2] + y[x - 1], odd2 = y[x + 2] - y[x - 1];
126 float c0 = even1 * 0.42334633257225274 + even2 * 0.07668732202139628;
127 float c1 = odd1 * 0.26126047291143606 + odd2 * 0.24778879018226652;
128 float c2 = even1 * -0.213439787561776841 + even2 * 0.21303593243799016;
129 return (c2 * z + c1) * z + c0;