Я делаю много кубической сплайн-интерполяции, используя GSL .Скажем, у меня есть три независимые переменные a
, b
и c
, все они сведены в таблицу в одних и тех же физических точках данных (это может быть один и тот же набор положений, измеренных в метрах, футах и милях), а также две зависимые переменныеy
и z
, сведенные в таблицу в тех же точках.То есть данные для функций y(a)
, y(b)
, y(c)
, z(a)
, z(b)
и z(c)
сведены в таблицу.Теперь я создаю 6 кубических сплайнов для этих функций, как показано здесь для сплайна y(a)
:
gsl_interp_accel *acc = gsl_interp_accel_alloc();
gsl_spline *spline = gsl_spline_alloc(gsl_interp_cspline, size);
gsl_spline_init(spline, a, y, size);
, где size
- размер массивов a
и y
(все шесть массивов).имеют одинаковый размер).
Мой вопрос: действительно ли мне нужен отдельный ускоритель для каждого сплайна?Это быстрее, и даже безопасно ли использовать акселератор для нескольких сплайнов?