Open mreineck opened 6 days ago
THanks Martin, THis is a good idea, in the category "incremental simplifications that do not affect performance", right? Personally, since index arithmetic can product <0 integers, I would switch everything to BIGINT in spreadinterp, if this allows. I'm sure we could bring this in, esp, if it's needed for other simplifications.
This demonstrates how variables depending on problem dimensionality could be merged into
std::array
s, and how it potentially simplifies the code.This is not yet complete:
nf1, nf2, nf3
tonf123
, since the obvious candidatenf
was already used for storing the productnf1*nf2*nf3
, and I didn't want to do big refactorings for this demonstrations.spreadinterp
, which I haven't looked at much, mostly because there is a clash betweenfinufft_core.h
, where integer quantities are usuallyBIGINT
,andspreadinterp.h
, where they tend to beUBIGINT
. While it is possible to convert individual integers on the fly when crossing the interface, the same does not work forstd::array
s, so I tought I'd ask for opinions before taking this any further.