#include "Operators.h" #include #include #include #include /* These are MoL's low-level operators. If they are overloaded as aliased functions, these aliased functions are called; otherwise, a default implementation is used. */ /* The aliased functions should never be called directly from MoL's time integrators, because they may not exist. Instead, the operators defined here (with the MoL_ prefix) should be used. */ static void error_no_storage(int const var, int const tl) { char *const fullname = CCTK_FullName(var); CCTK_VWarn(CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING, "Variable %s, timelevel %d has no storage", fullname, tl); free(fullname); return; } /* Some common special cases to improve performance */ static void op_real_set_0(CCTK_REAL *restrict const varptr, ptrdiff_t const npoints) { for (ptrdiff_t i=0; i