From bc9a2906fc30e2d73d6b4c23783df5e15c90278c Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Fri, 16 Sep 2022 11:49:55 +0200 Subject: Move eval code to its own file. --- internal.h | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 internal.h (limited to 'internal.h') diff --git a/internal.h b/internal.h new file mode 100644 index 0000000..155bd77 --- /dev/null +++ b/internal.h @@ -0,0 +1,51 @@ +/* + * Copyright 2017-2022 Anton Khirnov + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef TEUKOLSKY_DATA_INTERNAL_H +#define TEUKOLSKY_DATA_INTERNAL_H + +#include "basis.h" +#include "log.h" +#include "td_constraints.h" +#include "teukolsky_data.h" + +#define NB_EQUATIONS 3 + +typedef struct TDPriv { + unsigned int basis_order[NB_EQUATIONS][2]; + BasisSetContext *basis[NB_EQUATIONS][2]; + + TPContext *tp; + TDLogger logger; + + double *coeffs; + double *coeffs_tmp; + ptrdiff_t coeffs_stride; + + double *coeffs_lapse; + + int cpu_flags; + + double (*scalarproduct_metric)(size_t len1, size_t len2, double *mat, + double *vec1, double *vec2); +} TDPriv; + +int tdi_ce_alloc(const TDContext *td, const unsigned int *nb_coords, + const double * const *coords, + double amplitude, TDConstraintEvalContext **pce); + +#endif // TEUKOLSKY_DATA_INTERNAL_H -- cgit v1.2.3