Skip to content

Layout template parameter of Spline Builder2D::operator() does not work for LayoutStrided #886

Description

@EmilyBourne

Spline Builder2D::operator() has a template parameter Layout, but passing objects with the Layout LayoutStrided leads to an error. The error comes from this line:

m_spline_builder_deriv1(

as the 1D version:

template <class Layout, class BatchedInterpolationDDom>
void operator()(

also assumes that the layout is the same for all arguments and therefore does not like the argument created here:

ddc::Chunk spline1_deriv_min_alloc(
m_spline_builder_deriv1.batched_spline_domain(batched_interpolation_deriv_domain),

I am pretty certain that LayoutLeft will have the same problem.

If you are touching this argument then for Gysela it could also be useful to have a different layout for the values and derivatives (e.g. LayoutRight for the values, and LayoutStrided for the derivatives).

This bug was found by @PaulineVidal who has a reproducer if needed

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions