/* $Header$ */ #include #include #include #include #include #include "util_ErrorCodes.h" #include "cctk.h" #include "../InterpLocalUniform.h" #include "../common/structs.h" #include "../common/fetch.h" #include "../common/evaluate.h" #include "../common/store.h" /* function prototype */ #define FUNCTION_NAME LocalInterp_U_LagrTP_2d_cube40 #include "../template.h" #define N_DIMS 2 #define MOLECULE_MIN_M -2 #define MOLECULE_MAX_M 2 #define MOLECULE_SIZE 5 /* which derivative ops do we support? */ #define HAVE_OP_I #define HAVE_OP_DX #define HAVE_OP_DY #define HAVE_OP_DXX #define HAVE_OP_DXY #define HAVE_OP_DYY #define XYZ x, y #define FP_XYZ fp x, fp y #define STRIDE_IJK stride_i, stride_j #define JACOBIAN_MIJK_STRIDE Jacobian_mi_stride, Jacobian_mj_stride #define DATA_STRUCT data_struct_2d_cube_size5 #define COEFFS_STRUCT coeffs_struct_2d_cube_size5 #define FETCH_DATA_REAL LocalInterp_fetch_2d_cube5_r #define FETCH_DATA_REAL4 LocalInterp_fetch_2d_cube5_r4 #define FETCH_DATA_REAL8 LocalInterp_fetch_2d_cube5_r8 #define FETCH_DATA_REAL16 LocalInterp_fetch_2d_cube5_r16 #define FETCH_DATA_COMPLEX LocalInterp_fetch_2d_cube5_c #define FETCH_DATA_COMPLEX8 LocalInterp_fetch_2d_cube5_c8 #define FETCH_DATA_COMPLEX16 LocalInterp_fetch_2d_cube5_c16 #define FETCH_DATA_COMPLEX32 LocalInterp_fetch_2d_cube5_c32 #define EVALUATE_MOLECULE LocalInterp_eval_2d_cube5 #define STORE_COEFFS LocalInterp_store_2d_cube5 /* note pathnames are all relative to "../template.c" */ #define COEFFS_I_COMPUTE_FILE_NAME "Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-I.compute.c" #define COEFFS_DX_COMPUTE_FILE_NAME "Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dx.compute.c" #define COEFFS_DY_COMPUTE_FILE_NAME "Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dy.compute.c" #define COEFFS_DXX_COMPUTE_FILE_NAME "Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dxx.compute.c" #define COEFFS_DXY_COMPUTE_FILE_NAME "Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dxy.compute.c" #define COEFFS_DYY_COMPUTE_FILE_NAME "Lagrange-tensor-product/2d.coeffs/2d.cube.order4.smooth0/coeffs-dyy.compute.c" /* actual code */ #include "../template.c"