lanl / spiner

Performance portable routines for generic, tabulated, multi-dimensional data
https://lanl.github.io/spiner
BSD 3-Clause "New" or "Revised" License
7 stars 3 forks source link

More interpolation operations #8

Closed Yurlungur closed 3 years ago

Yurlungur commented 3 years ago

PR Summary

For singularity-opac, I need the capability to perform interpolation of the form:

Real v = db.interpToReal(x4, x3, x2, j, x1)

where x1, x2, x3, and x4 are real numbers that are interpolated on and j is an integer that's indexed on. This is a common pattern for multi-species transport such as neutrino transport. I don't expect it's needed outside of neutrino transport, but you never know.

PR Checklist

Yurlungur commented 3 years ago

I also add raw 4D interpolation, needed for transport, and tests. Test for the indexing operation not yet complete.

Yurlungur commented 3 years ago

I also fix an edge case I hadn't encountered previously, where I use Kokkos on host only.

Yurlungur commented 3 years ago

This is now ready for review.

Yurlungur commented 3 years ago

Thanks for the comments, @dholladay00 I think I should have addressed everything. If i did, can you approve?