Skip to content
Snippets Groups Projects
Commit 4021ffab authored by Martyn Gigg's avatar Martyn Gigg
Browse files

Remove lambda and pass free function directly.

Refs #17913
parent 913619d2
No related branches found
No related tags found
No related merge requests found
...@@ -124,15 +124,14 @@ void interpolateYCSplineInplace(const Histogram &input, const size_t stepSize, ...@@ -124,15 +124,14 @@ void interpolateYCSplineInplace(const Histogram &input, const size_t stepSize,
// Manage gsl memory with unique_ptrs // Manage gsl memory with unique_ptrs
using gsl_spline_uptr = std::unique_ptr<gsl_spline, void (*)(gsl_spline *)>; using gsl_spline_uptr = std::unique_ptr<gsl_spline, void (*)(gsl_spline *)>;
auto spline = gsl_spline_uptr(gsl_spline_alloc(gsl_interp_cspline, ncalc), auto spline = gsl_spline_uptr(gsl_spline_alloc(gsl_interp_cspline, ncalc),
[](gsl_spline *sp) { gsl_spline_free(sp); }); gsl_spline_free);
// Compute spline // Compute spline
gsl_spline_init(spline.get(), xc.data(), yc.data(), ncalc); gsl_spline_init(spline.get(), xc.data(), yc.data(), ncalc);
// Evaluate each point for the full range // Evaluate each point for the full range
using gsl_interp_accel_uptr = using gsl_interp_accel_uptr =
std::unique_ptr<gsl_interp_accel, void (*)(gsl_interp_accel *)>; std::unique_ptr<gsl_interp_accel, void (*)(gsl_interp_accel *)>;
auto lookupTable = gsl_interp_accel_uptr( auto lookupTable =
gsl_interp_accel_alloc(), gsl_interp_accel_uptr(gsl_interp_accel_alloc(), gsl_interp_accel_free);
[](gsl_interp_accel *acc) { gsl_interp_accel_free(acc); });
for (size_t i = 0; i < nypts; ++i) { for (size_t i = 0; i < nypts; ++i) {
ynew[i] = gsl_spline_eval(spline.get(), xold[i], lookupTable.get()); ynew[i] = gsl_spline_eval(spline.get(), xold[i], lookupTable.get());
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment