// // BAGEL - Brilliantly Advanced General Electronic Structure Library // Filename: RelCASPT2_gen5.cc // Copyright (C) 2014 Toru Shiozaki // // Author: Toru Shiozaki // Maintainer: Shiozaki group // // This file is part of the BAGEL package. // // 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 . // #include #ifdef COMPILE_SMITH #include using namespace std; using namespace bagel; using namespace bagel::SMITH; using namespace bagel::SMITH::RelCASPT2; Task200::Task200(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[2]->nblock()*range[1]->nblock()*range[2]->nblock()*range[1]->nblock()); for (auto& a1 : *range[2]) for (auto& x0 : *range[1]) for (auto& a2 : *range[2]) for (auto& x1 : *range[1]) if (t[0]->is_local(x1, a2, x0, a1)) subtasks_.push_back(make_shared(array{{x1, a2, x0, a1}}, in, t[0], range)); } Task201::Task201(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[2]->nblock()*range[2]->nblock()); for (auto& x1 : *range[1]) for (auto& x0 : *range[1]) for (auto& a2 : *range[2]) for (auto& a1 : *range[2]) if (t[0]->is_local(a1, a2, x0, x1)) subtasks_.push_back(make_shared(array{{a1, a2, x0, x1}}, in, t[0], range)); } Task202::Task202(vector> t, array,3> range, const double e) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[2]->nblock()*range[2]->nblock()); for (auto& x1 : *range[1]) for (auto& x0 : *range[1]) for (auto& a2 : *range[2]) for (auto& a1 : *range[2]) if (t[0]->is_local(a1, a2, x0, x1)) subtasks_.push_back(make_shared(array{{a1, a2, x0, x1}}, in, t[0], range, e)); } Task203::Task203(vector> t, const bool reset) : reset_(reset) { s_ = t[0]; } Task204::Task204(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[0]->nblock()*range[1]->nblock()*range[0]->nblock()); for (auto& x0 : *range[1]) for (auto& c1 : *range[0]) for (auto& x1 : *range[1]) for (auto& c2 : *range[0]) if (t[0]->is_local(c2, x1, c1, x0)) subtasks_.push_back(make_shared(array{{c2, x1, c1, x0}}, in, t[0], range)); } Task205::Task205(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[0]->nblock()*range[0]->nblock()); for (auto& x1 : *range[1]) for (auto& x0 : *range[1]) for (auto& c2 : *range[0]) for (auto& c1 : *range[0]) if (t[0]->is_local(c1, c2, x0, x1)) subtasks_.push_back(make_shared(array{{c1, c2, x0, x1}}, in, t[0], range)); } Task206::Task206(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[1]->nblock()*range[0]->nblock()); for (auto& x1 : *range[1]) for (auto& x0 : *range[1]) for (auto& x2 : *range[1]) for (auto& c1 : *range[0]) if (t[0]->is_local(c1, x2, x0, x1)) subtasks_.push_back(make_shared(array{{c1, x2, x0, x1}}, in, t[0], range)); } Task207::Task207(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[1]->nblock()*range[0]->nblock()); for (auto& x0 : *range[1]) for (auto& x1 : *range[1]) for (auto& x2 : *range[1]) for (auto& c1 : *range[0]) if (t[0]->is_local(c1, x2, x1, x0)) subtasks_.push_back(make_shared(array{{c1, x2, x1, x0}}, in, t[0], range)); } Task208::Task208(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[1]->nblock()*range[0]->nblock()); for (auto& x0 : *range[1]) for (auto& x1 : *range[1]) for (auto& x2 : *range[1]) for (auto& c1 : *range[0]) if (t[0]->is_local(c1, x2, x1, x0)) subtasks_.push_back(make_shared(array{{c1, x2, x1, x0}}, in, t[0], range)); } Task209::Task209(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[1]->nblock()*range[0]->nblock()); for (auto& x0 : *range[1]) for (auto& x1 : *range[1]) for (auto& x2 : *range[1]) for (auto& c1 : *range[0]) if (t[0]->is_local(c1, x2, x1, x0)) subtasks_.push_back(make_shared(array{{c1, x2, x1, x0}}, in, t[0], range)); } Task210::Task210(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[2]->nblock()*range[0]->nblock()*range[1]->nblock()*range[0]->nblock()); for (auto& a2 : *range[2]) for (auto& c1 : *range[0]) for (auto& x0 : *range[1]) for (auto& c3 : *range[0]) if (t[0]->is_local(c3, x0, c1, a2)) subtasks_.push_back(make_shared(array{{c3, x0, c1, a2}}, in, t[0], range)); } Task211::Task211(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[2]->nblock()*range[0]->nblock()*range[0]->nblock()); for (auto& x0 : *range[1]) for (auto& a2 : *range[2]) for (auto& c1 : *range[0]) for (auto& c3 : *range[0]) if (t[0]->is_local(c3, c1, a2, x0)) subtasks_.push_back(make_shared(array{{c3, c1, a2, x0}}, in, t[0], range)); } Task212::Task212(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[2]->nblock()*range[0]->nblock()*range[1]->nblock()*range[0]->nblock()); for (auto& a2 : *range[2]) for (auto& c1 : *range[0]) for (auto& x1 : *range[1]) for (auto& c3 : *range[0]) if (t[0]->is_local(c3, x1, c1, a2)) subtasks_.push_back(make_shared(array{{c3, x1, c1, a2}}, in, t[0], range)); } Task213::Task213(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[2]->nblock()*range[1]->nblock()*range[1]->nblock()*range[0]->nblock()); for (auto& a1 : *range[2]) for (auto& x0 : *range[1]) for (auto& x1 : *range[1]) for (auto& c2 : *range[0]) if (t[0]->is_local(c2, x1, x0, a1)) subtasks_.push_back(make_shared(array{{c2, x1, x0, a1}}, in, t[0], range)); } Task214::Task214(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[2]->nblock()*range[0]->nblock()); for (auto& x0 : *range[1]) for (auto& x1 : *range[1]) for (auto& a1 : *range[2]) for (auto& c2 : *range[0]) if (t[0]->is_local(c2, a1, x1, x0)) subtasks_.push_back(make_shared(array{{c2, a1, x1, x0}}, in, t[0], range)); } Task215::Task215(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[2]->nblock()*range[0]->nblock()); for (auto& x2 : *range[1]) for (auto& x3 : *range[1]) for (auto& a1 : *range[2]) for (auto& c2 : *range[0]) if (t[0]->is_local(c2, a1, x3, x2)) subtasks_.push_back(make_shared(array{{c2, a1, x3, x2}}, in, t[0], range)); } Task216::Task216(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[2]->nblock()*range[0]->nblock()); for (auto& x0 : *range[1]) for (auto& x1 : *range[1]) for (auto& a1 : *range[2]) for (auto& c2 : *range[0]) if (t[0]->is_local(c2, a1, x1, x0)) subtasks_.push_back(make_shared(array{{c2, a1, x1, x0}}, in, t[0], range)); } Task217::Task217(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[2]->nblock()*range[0]->nblock()); for (auto& x0 : *range[1]) for (auto& x1 : *range[1]) for (auto& a1 : *range[2]) for (auto& c2 : *range[0]) if (t[0]->is_local(c2, a1, x1, x0)) subtasks_.push_back(make_shared(array{{c2, a1, x1, x0}}, in, t[0], range)); } Task218::Task218(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[2]->nblock()*range[0]->nblock()); for (auto& x0 : *range[1]) for (auto& x1 : *range[1]) for (auto& a1 : *range[2]) for (auto& c2 : *range[0]) if (t[0]->is_local(c2, a1, x1, x0)) subtasks_.push_back(make_shared(array{{c2, a1, x1, x0}}, in, t[0], range)); } Task219::Task219(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[2]->nblock()*range[0]->nblock()*range[1]->nblock()*range[1]->nblock()); for (auto& a2 : *range[2]) for (auto& c1 : *range[0]) for (auto& x1 : *range[1]) for (auto& x0 : *range[1]) if (t[0]->is_local(x0, x1, c1, a2)) subtasks_.push_back(make_shared(array{{x0, x1, c1, a2}}, in, t[0], range)); } Task220::Task220(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[2]->nblock()*range[0]->nblock()); for (auto& x0 : *range[1]) for (auto& x1 : *range[1]) for (auto& a2 : *range[2]) for (auto& c1 : *range[0]) if (t[0]->is_local(c1, a2, x1, x0)) subtasks_.push_back(make_shared(array{{c1, a2, x1, x0}}, in, t[0], range)); } Task221::Task221(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[2]->nblock()*range[0]->nblock()); for (auto& x2 : *range[1]) for (auto& x3 : *range[1]) for (auto& a2 : *range[2]) for (auto& c1 : *range[0]) if (t[0]->is_local(c1, a2, x3, x2)) subtasks_.push_back(make_shared(array{{c1, a2, x3, x2}}, in, t[0], range)); } Task222::Task222(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[2]->nblock()*range[0]->nblock()); for (auto& x0 : *range[1]) for (auto& x1 : *range[1]) for (auto& a2 : *range[2]) for (auto& c1 : *range[0]) if (t[0]->is_local(c1, a2, x1, x0)) subtasks_.push_back(make_shared(array{{c1, a2, x1, x0}}, in, t[0], range)); } Task223::Task223(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[2]->nblock()*range[0]->nblock()); for (auto& x0 : *range[1]) for (auto& x1 : *range[1]) for (auto& a2 : *range[2]) for (auto& c1 : *range[0]) if (t[0]->is_local(c1, a2, x1, x0)) subtasks_.push_back(make_shared(array{{c1, a2, x1, x0}}, in, t[0], range)); } Task224::Task224(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[2]->nblock()*range[1]->nblock()*range[1]->nblock()*range[1]->nblock()); for (auto& a1 : *range[2]) for (auto& x0 : *range[1]) for (auto& x2 : *range[1]) for (auto& x1 : *range[1]) if (t[0]->is_local(x1, x2, x0, a1)) subtasks_.push_back(make_shared(array{{x1, x2, x0, a1}}, in, t[0], range)); } Task225::Task225(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[1]->nblock()*range[2]->nblock()); for (auto& x1 : *range[1]) for (auto& x2 : *range[1]) for (auto& x0 : *range[1]) for (auto& a1 : *range[2]) if (t[0]->is_local(a1, x0, x2, x1)) subtasks_.push_back(make_shared(array{{a1, x0, x2, x1}}, in, t[0], range)); } Task226::Task226(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[1]->nblock()*range[2]->nblock()); for (auto& x1 : *range[1]) for (auto& x2 : *range[1]) for (auto& x0 : *range[1]) for (auto& a1 : *range[2]) if (t[0]->is_local(a1, x0, x2, x1)) subtasks_.push_back(make_shared(array{{a1, x0, x2, x1}}, in, t[0], range)); } Task227::Task227(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[1]->nblock()*range[2]->nblock()); for (auto& x1 : *range[1]) for (auto& x2 : *range[1]) for (auto& x0 : *range[1]) for (auto& a1 : *range[2]) if (t[0]->is_local(a1, x0, x2, x1)) subtasks_.push_back(make_shared(array{{a1, x0, x2, x1}}, in, t[0], range)); } Task228::Task228(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[2]->nblock()*range[0]->nblock()*range[2]->nblock()*range[0]->nblock()); for (auto& a2 : *range[2]) for (auto& c1 : *range[0]) for (auto& a4 : *range[2]) for (auto& c3 : *range[0]) if (t[0]->is_local(c3, a4, c1, a2)) subtasks_.push_back(make_shared(array{{c3, a4, c1, a2}}, in, t[0], range)); } Task229::Task229(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[2]->nblock()*range[0]->nblock()*range[2]->nblock()*range[0]->nblock()); for (auto& a2 : *range[2]) for (auto& c3 : *range[0]) for (auto& a4 : *range[2]) for (auto& c1 : *range[0]) if (t[0]->is_local(c1, a4, c3, a2)) subtasks_.push_back(make_shared(array{{c1, a4, c3, a2}}, in, t[0], range)); } Task230::Task230(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[2]->nblock()*range[1]->nblock()*range[2]->nblock()*range[0]->nblock()); for (auto& a1 : *range[2]) for (auto& x0 : *range[1]) for (auto& a3 : *range[2]) for (auto& c2 : *range[0]) if (t[0]->is_local(c2, a3, x0, a1)) subtasks_.push_back(make_shared(array{{c2, a3, x0, a1}}, in, t[0], range)); } Task231::Task231(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[2]->nblock()*range[0]->nblock()*range[2]->nblock()); for (auto& x0 : *range[1]) for (auto& a1 : *range[2]) for (auto& c2 : *range[0]) for (auto& a3 : *range[2]) if (t[0]->is_local(a3, c2, a1, x0)) subtasks_.push_back(make_shared(array{{a3, c2, a1, x0}}, in, t[0], range)); } Task232::Task232(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[2]->nblock()*range[0]->nblock()*range[2]->nblock()*range[1]->nblock()); for (auto& a1 : *range[2]) for (auto& c2 : *range[0]) for (auto& a3 : *range[2]) for (auto& x1 : *range[1]) if (t[0]->is_local(x1, a3, c2, a1)) subtasks_.push_back(make_shared(array{{x1, a3, c2, a1}}, in, t[0], range)); } Task233::Task233(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[2]->nblock()*range[1]->nblock()*range[2]->nblock()*range[1]->nblock()); for (auto& a1 : *range[2]) for (auto& x0 : *range[1]) for (auto& a2 : *range[2]) for (auto& x1 : *range[1]) if (t[0]->is_local(x1, a2, x0, a1)) subtasks_.push_back(make_shared(array{{x1, a2, x0, a1}}, in, t[0], range)); } Task234::Task234(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[2]->nblock()*range[2]->nblock()); for (auto& x1 : *range[1]) for (auto& x0 : *range[1]) for (auto& a2 : *range[2]) for (auto& a1 : *range[2]) if (t[0]->is_local(a1, a2, x0, x1)) subtasks_.push_back(make_shared(array{{a1, a2, x0, x1}}, in, t[0], range)); } Task235::Task235(vector> t, const bool reset) : reset_(reset) { n_ = t[0]; } Task236::Task236(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[0]->nblock()*range[1]->nblock()*range[0]->nblock()); for (auto& x0 : *range[1]) for (auto& c1 : *range[0]) for (auto& x1 : *range[1]) for (auto& c2 : *range[0]) if (t[0]->is_local(c2, x1, c1, x0)) subtasks_.push_back(make_shared(array{{c2, x1, c1, x0}}, in, t[0], range)); } Task237::Task237(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[0]->nblock()*range[0]->nblock()); for (auto& x1 : *range[1]) for (auto& x0 : *range[1]) for (auto& c2 : *range[0]) for (auto& c1 : *range[0]) if (t[0]->is_local(c1, c2, x0, x1)) subtasks_.push_back(make_shared(array{{c1, c2, x0, x1}}, in, t[0], range)); } Task238::Task238(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[1]->nblock()*range[0]->nblock()); for (auto& x1 : *range[1]) for (auto& x0 : *range[1]) for (auto& x2 : *range[1]) for (auto& c1 : *range[0]) if (t[0]->is_local(c1, x2, x0, x1)) subtasks_.push_back(make_shared(array{{c1, x2, x0, x1}}, in, t[0], range)); } Task239::Task239(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[1]->nblock()*range[0]->nblock()); for (auto& x0 : *range[1]) for (auto& x1 : *range[1]) for (auto& x2 : *range[1]) for (auto& c1 : *range[0]) if (t[0]->is_local(c1, x2, x1, x0)) subtasks_.push_back(make_shared(array{{c1, x2, x1, x0}}, in, t[0], range)); } Task240::Task240(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[2]->nblock()*range[0]->nblock()*range[1]->nblock()*range[0]->nblock()); for (auto& a2 : *range[2]) for (auto& c1 : *range[0]) for (auto& x0 : *range[1]) for (auto& c3 : *range[0]) if (t[0]->is_local(c3, x0, c1, a2)) subtasks_.push_back(make_shared(array{{c3, x0, c1, a2}}, in, t[0], range)); } Task241::Task241(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[0]->nblock()*range[2]->nblock()*range[0]->nblock()); for (auto& x0 : *range[1]) for (auto& c1 : *range[0]) for (auto& a2 : *range[2]) for (auto& c3 : *range[0]) if (t[0]->is_local(c3, a2, c1, x0)) subtasks_.push_back(make_shared(array{{c3, a2, c1, x0}}, in, t[0], range)); } Task242::Task242(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[0]->nblock()*range[2]->nblock()*range[0]->nblock()); for (auto& x1 : *range[1]) for (auto& c1 : *range[0]) for (auto& a2 : *range[2]) for (auto& c3 : *range[0]) if (t[0]->is_local(c3, a2, c1, x1)) subtasks_.push_back(make_shared(array{{c3, a2, c1, x1}}, in, t[0], range)); } Task243::Task243(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[2]->nblock()*range[1]->nblock()*range[1]->nblock()*range[0]->nblock()); for (auto& a1 : *range[2]) for (auto& x0 : *range[1]) for (auto& x1 : *range[1]) for (auto& c2 : *range[0]) if (t[0]->is_local(c2, x1, x0, a1)) subtasks_.push_back(make_shared(array{{c2, x1, x0, a1}}, in, t[0], range)); } Task244::Task244(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[0]->nblock()*range[2]->nblock()); for (auto& x1 : *range[1]) for (auto& x0 : *range[1]) for (auto& c2 : *range[0]) for (auto& a1 : *range[2]) if (t[0]->is_local(a1, c2, x0, x1)) subtasks_.push_back(make_shared(array{{a1, c2, x0, x1}}, in, t[0], range)); } Task245::Task245(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[0]->nblock()*range[2]->nblock()); for (auto& x1 : *range[1]) for (auto& x0 : *range[1]) for (auto& c2 : *range[0]) for (auto& a1 : *range[2]) if (t[0]->is_local(a1, c2, x0, x1)) subtasks_.push_back(make_shared(array{{a1, c2, x0, x1}}, in, t[0], range)); } Task246::Task246(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[2]->nblock()*range[0]->nblock()*range[1]->nblock()*range[1]->nblock()); for (auto& a2 : *range[2]) for (auto& c1 : *range[0]) for (auto& x1 : *range[1]) for (auto& x0 : *range[1]) if (t[0]->is_local(x0, x1, c1, a2)) subtasks_.push_back(make_shared(array{{x0, x1, c1, a2}}, in, t[0], range)); } Task247::Task247(vector> t, array,3> range) { array,2> in = {{t[1], t[2]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[1]->nblock()*range[0]->nblock()*range[2]->nblock()); for (auto& x0 : *range[1]) for (auto& x1 : *range[1]) for (auto& c1 : *range[0]) for (auto& a2 : *range[2]) if (t[0]->is_local(a2, c1, x1, x0)) subtasks_.push_back(make_shared(array{{a2, c1, x1, x0}}, in, t[0], range)); } Task248::Task248(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[1]->nblock()*range[0]->nblock()*range[2]->nblock()*range[1]->nblock()); for (auto& x2 : *range[1]) for (auto& c1 : *range[0]) for (auto& a2 : *range[2]) for (auto& x3 : *range[1]) if (t[0]->is_local(x3, a2, c1, x2)) subtasks_.push_back(make_shared(array{{x3, a2, c1, x2}}, in, t[0], range)); } Task249::Task249(vector> t, array,3> range) { array,1> in = {{t[1]}}; out_ = t[0]; in_ = in; subtasks_.reserve(range[2]->nblock()*range[1]->nblock()*range[1]->nblock()*range[1]->nblock()); for (auto& a1 : *range[2]) for (auto& x0 : *range[1]) for (auto& x2 : *range[1]) for (auto& x1 : *range[1]) if (t[0]->is_local(x1, x2, x0, a1)) subtasks_.push_back(make_shared(array{{x1, x2, x0, a1}}, in, t[0], range)); } #endif