27 if (
x.size() !=
y.size() ||
x.size() < 2) {
30 int32_t k =
x.size() - 1;
32 for (uint32_t
i = 0;
i <
x.size();
i++) {
33 GPUInfo(
"Point %u: %f --> %f",
i,
x[
i],
y[
i]);
42 for (int32_t
i = 0;
i <= k;
i++) {
45 for (int32_t
i = 0;
i < k;
i++) {
48 for (int32_t
i = 1;
i < k;
i++) {
49 alpha[
i] = 3.f /
h[
i] * (ma[
i + 1] - ma[
i]) - 3.f /
h[
i - 1] * (ma[
i] - ma[
i - 1]);
52 mu[0] =
z[0] =
z[k] = mc[k] = 0;
53 for (int32_t
i = 1;
i < k;
i++) {
54 l[
i] = 2.f * (
x[
i + 1] -
x[
i - 1]) -
h[
i - 1] * mu[
i - 1];
58 for (int32_t
i = k - 1;
i >= 0;
i--) {
59 mc[
i] =
z[
i] -
mu[
i] * mc[
i + 1];
60 mb[
i] = (ma[
i + 1] - ma[
i]) /
h[
i] -
h[
i] / 3.f * (mc[
i + 1] + 2.f * mc[
i]);
61 md[
i] = (mc[
i + 1] - mc[
i]) / (3.f *
h[
i]);
63 for (int32_t
i = 0;
i <= k;
i++) {
68float GPUDisplay::opengl_spline::evaluate(
float x)
71 const int32_t k = mx.size() - 1;
75 while (base < k - 1 && x > mx[base + 1]) {
87 GPUInfo(
"Evaluate: %f --> %f (basepoint %d)", xx,
retVal, base);
Class for time synchronization of RawReader instances.
GLfloat GLfloat GLfloat alpha
GLdouble GLdouble GLdouble z
typename std::vector< T, vecpod_allocator< T > > vecpod