U4IDI3M3RBNIQIY43PFKMPBHVCKG37FI5ARJ4GOKY7KKCD2DILWAC
NH72X2CBW6LZIU354XZFSV7TSVZFDVESLCUSAIUZGDMSQMU4BQYAC
5UMVJBOXMEKW2H5JG7T4APWP4QSLSPQSXW6RJBZS6FQQ3BG2XXQAC
DTKQAPJB6JCJZYLQ4MOFA5QHDCCIQ3KG5ED6PVF5PGEH33YSJFBAC
FEMASUBNU32NSG4DNXZX54CGCA57PVRGYO46L3A6F2EJ4BCSJ3SAC
L2PGFWL2UYCKFV7XQTNLUESMHCP2TBNE4IWFBDU4E4UNBNEMSKXAC
OHAARXLBTFOIV5FOTY7IDMOIAE275CKXCE6XQMWV3EC63YCSMIWAC
TUDUMVD5MTJJJGVYVOCALOOKOUYNB7LOFJRCYCZDVGN536JAO2OQC
QU4IBVXLLNKNFHT25ZP23INGTVGISDTTLPUBD5S7PCDBC3ZXF3QAC
KOOPA77MHDMNHAKH7YXUD2POVQCT3R2HHDHEFBW3G7MVM7QJQVYAC
T3TZRPPAIA24I3YL3JFB4XEAYCWU3HJAJUCF7NNIFMP4I5X4SM5QC
CWFPG3JOFDQGDQEN56PEE6FLJXF665S4BEOKMYX7V5KGXM4ACIHAC
constexpr vect(const array<T, D> &arr) : elts(arr) {}
constexpr vect(initializer_list<T> arr)
/*CCTK_ATTRIBUTE_ALWAYS_INLINE*/ constexpr vect(const array<T, D> &arr)
: elts(arr) {}
/*CCTK_ATTRIBUTE_ALWAYS_INLINE*/ constexpr vect(initializer_list<T> arr)
constexpr const T &operator[](int d) const { return elts[d]; }
T &operator[](int d) { return elts[d]; }
/*CCTK_ATTRIBUTE_ALWAYS_INLINE*/ constexpr const T &operator[](int d) const {
return elts[d];
}
/*CCTK_ATTRIBUTE_ALWAYS_INLINE*/ T &operator[](int d) { return elts[d]; }
constexpr Loop::vect<T, D> max(const Loop::vect<T, D> &x,
const Loop::vect<T, D> &y) {
/*CCTK_ATTRIBUTE_ALWAYS_INLINE*/ constexpr Loop::vect<T, D>
abs(const Loop::vect<T, D> &x) {
Loop::vect<T, D> r;
for (int d = 0; d < D; ++d)
r.elts[d] = abs(x.elts[d]);
return r;
}
template <typename T, int D>
/*CCTK_ATTRIBUTE_ALWAYS_INLINE*/ constexpr Loop::vect<T, D>
max(const Loop::vect<T, D> &x, const Loop::vect<T, D> &y) {