IV3MLV677VWS7GLESBQZ4HRFNW5TBFBIGIBWXTCHAER3FQ7VG3GQC EHF2P5PKVTMAUL5R5QSZ3DS3VLE7Z6SHJTCZAGRBTQ66Y7HZKNYQC GECUITHDXKCWB7HBCM7EA5Q56JDDWUVUWHMW2K6OM7UW36DFAZ3QC M5R6KQLXLGYSVKHVAX5AJKD6NYE6IM5Z6WVTR3BTKPJDNNKF3ARAC BVR7DVINVPQG7PA6Z7QYVYNQ43YZL7XCC6AOMSMWMGAAB2Q43STAC UAAT6NQ2HFOTZZPJX63COUOSD2GLW2L5JMFSAKLFNNFUCGR4XP6AC BSMJ4V7GV3EOGY4KCSTOJQUOFE2OOCIKQETE4WC2WRNLWBQIBW3QC BPRNUTY7MHK7LK4EY5MY5OFFG3ABOL7LWXD574L35M74YSQPULFAC IL5XPFSWQX3OWZHEUSDP3R2IKVWHHOI6MNNBKU3P6MNBT6MVYJ2QC DECLARE_CCTK_PARAMETERS;if (!poison_undefined_values)return;const valid_t &valid = scalargroupdata.valid.at(tl).at(vi);if (!valid.valid_int && !valid.valid_bnd)return;// scalar have no boundary so we expect it to alway be validassert(valid.valid_bnd);atomic<bool> found_nan{false};if (valid.valid_int) {CCTK_REAL *restrict const ptr = scalargroupdata.data.at(tl).at(vi);if (CCTK_BUILTIN_EXPECT(isnan(*ptr), false)) {found_nan = true;}}if (CCTK_BUILTIN_EXPECT(found_nan, false)) {const char *where = valid.valid_int && valid.valid_bnd? "interior and boundary": valid.valid_int ? "interior" : "boundary";