Skip to content
Snippets Groups Projects
Commit 2bd21b6b authored by Chichi Lalescu's avatar Chichi Lalescu
Browse files

expand class prototype for rFFTW_interpolator

parent 3f40be27
No related branches found
No related tags found
No related merge requests found
...@@ -44,9 +44,17 @@ template <class rnumber, int interp_neighbours> ...@@ -44,9 +44,17 @@ template <class rnumber, int interp_neighbours>
class rFFTW_interpolator class rFFTW_interpolator
{ {
public: public:
/* size of field to interpolate */
ptrdiff_t field_size; ptrdiff_t field_size;
/* pointer to polynomial function */
base_polynomial_values compute_beta; base_polynomial_values compute_beta;
/* descriptor of field to interpolate */
field_descriptor<rnumber> *descriptor; field_descriptor<rnumber> *descriptor;
/* pointers to fields that are to be interpolated
* */
rnumber *f0, *f1, *temp; rnumber *f0, *f1, *temp;
/* physical parameters of field */ /* physical parameters of field */
...@@ -61,7 +69,25 @@ class rFFTW_interpolator ...@@ -61,7 +69,25 @@ class rFFTW_interpolator
base_polynomial_values BETA_POLYS); base_polynomial_values BETA_POLYS);
~rFFTW_interpolator(); ~rFFTW_interpolator();
void operator()(double t, int *__restrict__ xg, double *__restrict__ xx, double *__restrict__ dest, int *deriv = NULL); /* map real locations to grid coordinates */
void get_grid_coordinates(
const double *__restrict__ x,
const int *__restrict__ xg,
const double *__restrict__ xx);
/* interpolate field at an array of locations */
void sample(
const int nparticles,
const double t,
const double *__restrict__ x,
const double *__restrict__ y,
const int *deriv = NULL);
/* interpolate 1 point */
void operator()(
const double t,
const int *__restrict__ xg,
const double *__restrict__ xx,
const double *__restrict__ dest,
const int *deriv = NULL);
int read_rFFTW(void *src); int read_rFFTW(void *src);
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment