Commit 701cf33e authored by Quentin Khan's avatar Quentin Khan

Clean the local_exp_t/symb_data_t mess up

All the local_exp_t and symb_data_t occurences have beeb replaced by
local_expansion_t and symbolic_data_t.
parent 95392698
......@@ -31,9 +31,9 @@ public:
using node_t = typename tree_t::node_t;
private:
using symb_data_t = typename tree_t::node_t::symbolic_data_t;
using symbolic_data_t = typename tree_t::node_t::symbolic_data_t;
using multipole_t = typename tree_t::node_t::data_t::multipole_t;
using local_exp_t = typename tree_t::node_t::data_t::local_expansion_t;
using local_expansion_t = typename tree_t::node_t::data_t::local_expansion_t;
using container_t = typename tree_t::node_t::particle_container_t;
tree_t& _tree;
......@@ -389,8 +389,8 @@ private:
multipole_t* leaf_multipole =
(multipole_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
symb_data_t* leaf_symb_data =
(symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
symbolic_data_t* leaf_symb_data =
(symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
container_t* particle_container =
(container_t*) STARPU_VARIABLE_GET_PTR(buffers[2]);
......@@ -457,13 +457,13 @@ private:
const starpu_task* const current_task = starpu_task_get_current();
std::size_t buffer_count = current_task->nbuffers;
const symb_data_t* node_symbolic =
(symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
const symbolic_data_t* node_symbolic =
(symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
multipole_t* node_multipole =
(multipole_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
multipole_t* child_multipoles[node_t::child_count] = {};
symb_data_t* child_symbolics[node_t::child_count] = {};
symbolic_data_t* child_symbolics[node_t::child_count] = {};
// Children buffer indices start at 2
for(std::size_t i = 0, j = 2, k = 3;
......@@ -471,7 +471,7 @@ private:
++i, j += 2, k += 2)
{
child_symbolics[i] =
(symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[j]);
(symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[j]);
child_multipoles[i] =
(multipole_t*) STARPU_VARIABLE_GET_PTR(buffers[k]);
}
......@@ -545,14 +545,14 @@ private:
const starpu_task* const current_task = starpu_task_get_current();
std::size_t buffer_count = current_task->nbuffers;
const symb_data_t* node_symbolic =
(symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
local_exp_t* node_local_exp =
(local_exp_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
const symbolic_data_t* node_symbolic =
(symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
local_expansion_t* node_local_exp =
(local_expansion_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
std::vector<const multipole_t*> multipoles;
std::vector<const symb_data_t*> symbolics;
std::vector<const symbolic_data_t*> symbolics;
std::vector<int> offset_indices;
// two buffers per V item, first is for the local exp
const std::size_t vec_init_size = (buffer_count-2) / 2;
......@@ -561,7 +561,7 @@ private:
offset_indices.reserve(vec_init_size);
for(std::size_t i = 2; i < buffer_count; i += 2) {
const symb_data_t* v_item_symb = (symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[i]);
const symbolic_data_t* v_item_symb = (symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[i]);
symbolics.emplace_back(v_item_symb);
multipoles.emplace_back((multipole_t*) STARPU_VARIABLE_GET_PTR(buffers[i+1]));
offset_indices.emplace_back(compute_box_offset_index(*node_symbolic, *v_item_symb, 3));
......@@ -619,14 +619,14 @@ private:
}
static void P2L_cpu(void** buffers, void* cl_arg) {
symb_data_t* node_symb_data =
(symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
symbolic_data_t* node_symb_data =
(symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
local_exp_t* node_local_exp =
(local_exp_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
local_expansion_t* node_local_exp =
(local_expansion_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
symb_data_t* leaf_symb_data =
(symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[2]);
symbolic_data_t* leaf_symb_data =
(symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[2]);
container_t* leaf_particles =
(container_t*) STARPU_VARIABLE_GET_PTR(buffers[3]);
......@@ -695,13 +695,13 @@ private:
const starpu_task* const current_task = starpu_task_get_current();
std::size_t buffer_count = current_task->nbuffers;
const symb_data_t* parent_symbolic =
(symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
local_exp_t* parent_local_exp =
(local_exp_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
const symbolic_data_t* parent_symbolic =
(symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
local_expansion_t* parent_local_exp =
(local_expansion_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
const symb_data_t* child_symbolics[node_t::child_count] = {};
local_exp_t* child_local_exps[node_t::child_count] = {};
const symbolic_data_t* child_symbolics[node_t::child_count] = {};
local_expansion_t* child_local_exps[node_t::child_count] = {};
// Children buffer indices start at 2
for(std::size_t i = 0, j = 2, k = 3;
......@@ -709,9 +709,9 @@ private:
++i, j += 2, k += 2)
{
child_symbolics[i] =
(symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[j]);
(symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[j]);
child_local_exps[i] =
(local_exp_t*) STARPU_VARIABLE_GET_PTR(buffers[k]);
(local_expansion_t*) STARPU_VARIABLE_GET_PTR(buffers[k]);
}
auto algo = (FAdaptiveStarPU<tree_t, kernel_t>*) cl_arg;
......@@ -759,14 +759,14 @@ private:
}
static void M2P_cpu(void** buffers, void* cl_arg) {
symb_data_t* node_symb_data =
(symb_data_t*)STARPU_VARIABLE_GET_PTR(buffers[0]);
symbolic_data_t* node_symb_data =
(symbolic_data_t*)STARPU_VARIABLE_GET_PTR(buffers[0]);
multipole_t* node_multipole =
(multipole_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
symb_data_t* leaf_symb_data =
(symb_data_t*)STARPU_VARIABLE_GET_PTR(buffers[2]);
symbolic_data_t* leaf_symb_data =
(symbolic_data_t*)STARPU_VARIABLE_GET_PTR(buffers[2]);
container_t* leaf_particles =
(container_t*) STARPU_VARIABLE_GET_PTR(buffers[3]);
......@@ -811,11 +811,11 @@ private:
}
static void L2P_cpu(void** buffers, void* cl_arg) {
local_exp_t* leaf_local_exp =
(local_exp_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
local_expansion_t* leaf_local_exp =
(local_expansion_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
symb_data_t* leaf_symb_data =
(symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
symbolic_data_t* leaf_symb_data =
(symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
container_t* particle_container =
(container_t*) STARPU_VARIABLE_GET_PTR(buffers[2]);
......@@ -924,8 +924,8 @@ private:
const starpu_task* const current_task = starpu_task_get_current();
std::size_t buffer_count = current_task->nbuffers;
const symb_data_t* node_symbolic =
(symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
const symbolic_data_t* node_symbolic =
(symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[0]);
container_t* node_target_particles =
(container_t*) STARPU_VARIABLE_GET_PTR(buffers[1]);
container_t* node_source_particles =
......@@ -938,7 +938,7 @@ private:
offset_indices.reserve((buffer_count-3) / 2);
for(std::size_t i = 3; i < buffer_count; i += 2) {
const symb_data_t* u_item_symb = (symb_data_t*) STARPU_VARIABLE_GET_PTR(buffers[i]);
const symbolic_data_t* u_item_symb = (symbolic_data_t*) STARPU_VARIABLE_GET_PTR(buffers[i]);
offset_indices.emplace_back(compute_box_offset_index(*node_symbolic, *u_item_symb, 1));
u_source_particles.emplace_back((container_t*) STARPU_VARIABLE_GET_PTR(buffers[i+1]));
}
......
......@@ -80,8 +80,8 @@ template<class OctreeClass, class CellClass, class ContainerClass, class KernelC
class FFmmAlgorithmThreadBalanced : public FAbstractAlgorithm, public FAlgorithmTimers{
using multipole_t = typename CellClass::multipole_t;
using local_exp_t = typename CellClass::local_expansion_t;
using symb_data_t = CellClass;
using local_expansion_t = typename CellClass::local_expansion_t;
using symbolic_data_t = CellClass;
/// Shortened tree iterator class.
using TreeIterator = typename OctreeClass::Iterator;
......@@ -279,7 +279,7 @@ protected:
// child is an array (of 8 child) that may be null
multipole_t* const parent_multipole
= &(zoneIterator.getCurrentCell()->getMultipoleData());
const symb_data_t* const parent_symbolic
const symbolic_data_t* const parent_symbolic
= zoneIterator.getCurrentCell();
CellClass** children = zoneIterator.getCurrentChildren();
......@@ -289,7 +289,7 @@ protected:
return (c == nullptr ? nullptr
: &(c->getMultipoleData()));
});
std::array<const symb_data_t*, 8> child_symbolics;
std::array<const symbolic_data_t*, 8> child_symbolics;
std::transform(children, children+8, child_symbolics.begin(),
[](CellClass* c) {
return c;
......@@ -360,9 +360,9 @@ protected:
zoneIterator.getCurrentGlobalCoordinate(),
level);
if(counter) {
local_exp_t* const target_local_exp
local_expansion_t* const target_local_exp
= &(zoneIterator.getCurrentCell()->getLocalExpansionData());
const symb_data_t* const target_symbolic
const symbolic_data_t* const target_symbolic
= zoneIterator.getCurrentCell();
std::array<const multipole_t*, 342> neighbor_multipoles;
......@@ -372,7 +372,7 @@ protected:
return (c == nullptr ? nullptr
: &(c->getMultipoleData()));
});
std::array<const symb_data_t*, 342> neighbor_symbolics;
std::array<const symbolic_data_t*, 342> neighbor_symbolics;
std::transform(neighbors, neighbors+counter,
neighbor_symbolics.begin(),
[](const CellClass* c) {return c;});
......@@ -436,19 +436,19 @@ protected:
// Call L2L kernel on cells
while( zoneCellCount-- > 0 ) {
local_exp_t* const parent_local_exp
local_expansion_t* const parent_local_exp
= &(zoneIterator.getCurrentCell()->getLocalExpansionData());
const symb_data_t* const parent_symbolic
const symbolic_data_t* const parent_symbolic
= zoneIterator.getCurrentCell();
std::array<local_exp_t*, 8> child_expansions;
std::array<local_expansion_t*, 8> child_expansions;
CellClass** children = zoneIterator.getCurrentChildren();
std::transform(children, children+8, child_expansions.begin(),
[](CellClass* c) {
return (c == nullptr ? nullptr
: &(c->getLocalExpansionData()));
});
std::array<symb_data_t*, 8> child_symbolics;
std::array<symbolic_data_t*, 8> child_symbolics;
std::transform(children, children+8, child_symbolics.begin(),
[](CellClass* c) {return c;});
......
......@@ -73,7 +73,7 @@ namespace FTestCell_impl {
};
using multipole_t = scalfmm::detail::FTestCell_impl::exp_impl<class MultipoleTag>;
using local_exp_t = scalfmm::detail::FTestCell_impl::exp_impl<class LocalExpansionTag>;
using local_expansion_t = scalfmm::detail::FTestCell_impl::exp_impl<class LocalExpansionTag>;
}
}
......@@ -82,7 +82,7 @@ namespace FTestCell_impl {
using FTestCell = FGenericData<
scalfmm::detail::FTestCell_impl::multipole_t,
scalfmm::detail::FTestCell_impl::local_exp_t
scalfmm::detail::FTestCell_impl::local_expansion_t
>;
#endif //FTESTCELL_HPP
......@@ -45,8 +45,8 @@ template<class OctreeClass, class CellClass, class ContainerClass, class KernelC
class FFmmAlgorithm : public FAbstractAlgorithm, public FAlgorithmTimers {
using multipole_t = typename CellClass::multipole_t;
using local_exp_t = typename CellClass::local_expansion_t;
using symb_data_t = CellClass;
using local_expansion_t = typename CellClass::local_expansion_t;
using symbolic_data_t = CellClass;
OctreeClass* const tree; ///< The octree to work on.
KernelClass* const kernels; ///< The kernels.
......@@ -134,7 +134,7 @@ protected:
// and the list of particles
multipole_t* const leaf_multipole
= &(octreeIterator.getCurrentCell()->getMultipoleData());
const symb_data_t* const leaf_symbolic
const symbolic_data_t* const leaf_symbolic
= octreeIterator.getCurrentCell();
FLOG(computationCounter.tic());
kernels->P2M(leaf_multipole,
......@@ -178,7 +178,7 @@ protected:
// child is an array (of 8 child) that may be null
multipole_t* const parent_multipole
= &(octreeIterator.getCurrentCell()->getMultipoleData());
const symb_data_t* const parent_symbolic
const symbolic_data_t* const parent_symbolic
= octreeIterator.getCurrentCell();
CellClass** children = octreeIterator.getCurrentChildren();
......@@ -188,7 +188,7 @@ protected:
return (c == nullptr ? nullptr
: &(c->getMultipoleData()));
});
std::array<const symb_data_t*, 8> child_symbolics;
std::array<const symbolic_data_t*, 8> child_symbolics;
std::transform(children, children+8, child_symbolics.begin(),
[](CellClass* c) {return c;});
FLOG(computationCounter.tic());
......@@ -246,12 +246,12 @@ protected:
continue;
}
local_exp_t* const target_local_exp
local_expansion_t* const target_local_exp
= &(octreeIterator.getCurrentCell()->getLocalExpansionData());
const symb_data_t* const target_symbolic
const symbolic_data_t* const target_symbolic
= octreeIterator.getCurrentCell();
std::array<const multipole_t*, 342> neighbor_multipoles;
std::array<const symb_data_t*, 342> neighbor_symbolics;
std::array<const symbolic_data_t*, 342> neighbor_symbolics;
std::transform(neighbors, neighbors+counter, neighbor_multipoles.begin(),
[](const CellClass* c) {
return (c == nullptr ? nullptr
......@@ -311,17 +311,17 @@ protected:
// for each cells
do{
local_exp_t* const parent_local_exp
local_expansion_t* const parent_local_exp
= &(octreeIterator.getCurrentCell()->getLocalExpansionData());
const symb_data_t* const parent_symbolic
const symbolic_data_t* const parent_symbolic
= octreeIterator.getCurrentCell();
CellClass** children = octreeIterator.getCurrentChildren();
std::array<local_exp_t*, 8> child_local_expansions;
std::array<local_expansion_t*, 8> child_local_expansions;
std::transform(children, children+8, child_local_expansions.begin(),
[](CellClass* c) {return (c == nullptr ? nullptr
: &(c->getLocalExpansionData()));
});
std::array<symb_data_t*, 8> child_symbolics;
std::array<symbolic_data_t*, 8> child_symbolics;
std::transform(children, children+8, child_symbolics.begin(),
[](CellClass* c) {return c;});
FLOG(computationCounter.tic());
......
......@@ -65,8 +65,8 @@ class FFmmAlgorithmOmp4 : public FAbstractAlgorithm, public FAlgorithmTimers {
static_assert(sizeof(CellClass) > 1, "CellClass should be greater than one byte to ensure dependency coherency");
using multipole_t = typename CellClass::multipole_t;
using local_exp_t = typename CellClass::local_expansion_t;
using symb_data_t = CellClass;
using local_expansion_t = typename CellClass::local_expansion_t;
using symbolic_data_t = CellClass;
template <int BlockSize = 256>
class NoDeps{
......@@ -317,7 +317,7 @@ protected:
auto apply_M2M = [](KernelClass** kernels_, CellClass* task_cell, CellClass** task_child){
multipole_t* const parent_multipole
= &(task_cell->getMultipoleData());
const symb_data_t* const parent_symbolic
const symbolic_data_t* const parent_symbolic
= task_cell;
CellClass** children = task_child;
......@@ -327,7 +327,7 @@ protected:
return (c == nullptr ? nullptr
: &(c->getMultipoleData()));
});
std::array<const symb_data_t*, 8> child_symbolics;
std::array<const symbolic_data_t*, 8> child_symbolics;
std::transform(children, children+8, child_symbolics.begin(),
[](CellClass* c) {
return c;
......@@ -455,9 +455,9 @@ protected:
#pragma omp task firstprivate(taskCell,taskCellLocal, taskNeigh, neighborPositions, idxLevel, counter) depend(commute_if_supported:taskCellLocal[0]) depend(in:taskNeigh[0][0] , taskNeigh[1][0] , taskNeigh[2][0] , taskNeigh[3][0] , taskNeigh[4][0] , taskNeigh[5][0] , taskNeigh[6][0] , taskNeigh[7][0] , taskNeigh[8][0] , taskNeigh[9][0] , taskNeigh[10][0] , taskNeigh[11][0] , taskNeigh[12][0] , taskNeigh[13][0] , taskNeigh[14][0] , taskNeigh[15][0] , taskNeigh[16][0] , taskNeigh[17][0] , taskNeigh[18][0] , taskNeigh[19][0] , taskNeigh[20][0] , taskNeigh[21][0] , taskNeigh[22][0] , taskNeigh[23][0] , taskNeigh[24][0] , taskNeigh[25][0] , taskNeigh[26][0] , taskNeigh[27][0] , taskNeigh[28][0] , taskNeigh[29][0] , taskNeigh[30][0] , taskNeigh[31][0] , taskNeigh[32][0] , taskNeigh[33][0] , taskNeigh[34][0] , taskNeigh[35][0] , taskNeigh[36][0] , taskNeigh[37][0] , taskNeigh[38][0] , taskNeigh[39][0] , taskNeigh[40][0] , taskNeigh[41][0] , taskNeigh[42][0] , taskNeigh[43][0] , taskNeigh[44][0] , taskNeigh[45][0] , taskNeigh[46][0] , taskNeigh[47][0] , taskNeigh[48][0] , taskNeigh[49][0] , taskNeigh[50][0] , taskNeigh[51][0] , taskNeigh[52][0] , taskNeigh[53][0] , taskNeigh[54][0] , taskNeigh[55][0] , taskNeigh[56][0] , taskNeigh[57][0] , taskNeigh[58][0] , taskNeigh[59][0] , taskNeigh[60][0] , taskNeigh[61][0] , taskNeigh[62][0] , taskNeigh[63][0] , taskNeigh[64][0] , taskNeigh[65][0] , taskNeigh[66][0] , taskNeigh[67][0] , taskNeigh[68][0] , taskNeigh[69][0] , taskNeigh[70][0] , taskNeigh[71][0] , taskNeigh[72][0] , taskNeigh[73][0] , taskNeigh[74][0] , taskNeigh[75][0] , taskNeigh[76][0] , taskNeigh[77][0] , taskNeigh[78][0] , taskNeigh[79][0] , taskNeigh[80][0] , taskNeigh[81][0] , taskNeigh[82][0] , taskNeigh[83][0] , taskNeigh[84][0] , taskNeigh[85][0] , taskNeigh[86][0] , taskNeigh[87][0] , taskNeigh[88][0] , taskNeigh[89][0] , taskNeigh[90][0] , taskNeigh[91][0] , taskNeigh[92][0] , taskNeigh[93][0] , taskNeigh[94][0] , taskNeigh[95][0] , taskNeigh[96][0] , taskNeigh[97][0] , taskNeigh[98][0] , taskNeigh[99][0] , taskNeigh[100][0] , taskNeigh[101][0] , taskNeigh[102][0] , taskNeigh[103][0] , taskNeigh[104][0] , taskNeigh[105][0] , taskNeigh[106][0] , taskNeigh[107][0] , taskNeigh[108][0] , taskNeigh[109][0] , taskNeigh[110][0] , taskNeigh[111][0] , taskNeigh[112][0] , taskNeigh[113][0] , taskNeigh[114][0] , taskNeigh[115][0] , taskNeigh[116][0] , taskNeigh[117][0] , taskNeigh[118][0] , taskNeigh[119][0] , taskNeigh[120][0] , taskNeigh[121][0] , taskNeigh[122][0] , taskNeigh[123][0] , taskNeigh[124][0] , taskNeigh[125][0] , taskNeigh[126][0] , taskNeigh[127][0] , taskNeigh[128][0] , taskNeigh[129][0] , taskNeigh[130][0] , taskNeigh[131][0] , taskNeigh[132][0] , taskNeigh[133][0] , taskNeigh[134][0] , taskNeigh[135][0] , taskNeigh[136][0] , taskNeigh[137][0] , taskNeigh[138][0] , taskNeigh[139][0] , taskNeigh[140][0] , taskNeigh[141][0] , taskNeigh[142][0] , taskNeigh[143][0] , taskNeigh[144][0] , taskNeigh[145][0] , taskNeigh[146][0] , taskNeigh[147][0] , taskNeigh[148][0] , taskNeigh[149][0] , taskNeigh[150][0] , taskNeigh[151][0] , taskNeigh[152][0] , taskNeigh[153][0] , taskNeigh[154][0] , taskNeigh[155][0] , taskNeigh[156][0] , taskNeigh[157][0] , taskNeigh[158][0] , taskNeigh[159][0] , taskNeigh[160][0] , taskNeigh[161][0] , taskNeigh[162][0] , taskNeigh[163][0] , taskNeigh[164][0] , taskNeigh[165][0] , taskNeigh[166][0] , taskNeigh[167][0] , taskNeigh[168][0] , taskNeigh[169][0] , taskNeigh[170][0] , taskNeigh[171][0] , taskNeigh[172][0] , taskNeigh[173][0] , taskNeigh[174][0] , taskNeigh[175][0] , taskNeigh[176][0] , taskNeigh[177][0] , taskNeigh[178][0] , taskNeigh[179][0] , taskNeigh[180][0] , taskNeigh[181][0] , taskNeigh[182][0] , taskNeigh[183][0] , taskNeigh[184][0] , taskNeigh[185][0] , taskNeigh[186][0] , taskNeigh[187][0] , taskNeigh[188][0] , taskNeigh[189][0] , taskNeigh[190][0] , taskNeigh[191][0] , taskNeigh[192][0] , taskNeigh[193][0] , taskNeigh[194][0] , taskNeigh[195][0] , taskNeigh[196][0] , taskNeigh[197][0] , taskNeigh[198][0] , taskNeigh[199][0] , taskNeigh[200][0] , taskNeigh[201][0] , taskNeigh[202][0] , taskNeigh[203][0] , taskNeigh[204][0] , taskNeigh[205][0] , taskNeigh[206][0] , taskNeigh[207][0] , taskNeigh[208][0] , taskNeigh[209][0] , taskNeigh[210][0] , taskNeigh[211][0] , taskNeigh[212][0] , taskNeigh[213][0] , taskNeigh[214][0] , taskNeigh[215][0] , taskNeigh[216][0] , taskNeigh[217][0] , taskNeigh[218][0] , taskNeigh[219][0] , taskNeigh[220][0] , taskNeigh[221][0] , taskNeigh[222][0] , taskNeigh[223][0] , taskNeigh[224][0] , taskNeigh[225][0] , taskNeigh[226][0] , taskNeigh[227][0] , taskNeigh[228][0] , taskNeigh[229][0] , taskNeigh[230][0] , taskNeigh[231][0] , taskNeigh[232][0] , taskNeigh[233][0] , taskNeigh[234][0] , taskNeigh[235][0] , taskNeigh[236][0] , taskNeigh[237][0] , taskNeigh[238][0] , taskNeigh[239][0] , taskNeigh[240][0] , taskNeigh[241][0] , taskNeigh[242][0] , taskNeigh[243][0] , taskNeigh[244][0] , taskNeigh[245][0] , taskNeigh[246][0] , taskNeigh[247][0] , taskNeigh[248][0] , taskNeigh[249][0] , taskNeigh[250][0] , taskNeigh[251][0] , taskNeigh[252][0] , taskNeigh[253][0] , taskNeigh[254][0] , taskNeigh[255][0] , taskNeigh[256][0] , taskNeigh[257][0] , taskNeigh[258][0] , taskNeigh[259][0] , taskNeigh[260][0] , taskNeigh[261][0] , taskNeigh[262][0] , taskNeigh[263][0] , taskNeigh[264][0] , taskNeigh[265][0] , taskNeigh[266][0] , taskNeigh[267][0] , taskNeigh[268][0] , taskNeigh[269][0] , taskNeigh[270][0] , taskNeigh[271][0] , taskNeigh[272][0] , taskNeigh[273][0] , taskNeigh[274][0] , taskNeigh[275][0] , taskNeigh[276][0] , taskNeigh[277][0] , taskNeigh[278][0] , taskNeigh[279][0] , taskNeigh[280][0] , taskNeigh[281][0] , taskNeigh[282][0] , taskNeigh[283][0] , taskNeigh[284][0] , taskNeigh[285][0] , taskNeigh[286][0] , taskNeigh[287][0] , taskNeigh[288][0] , taskNeigh[289][0] , taskNeigh[290][0] , taskNeigh[291][0] , taskNeigh[292][0] , taskNeigh[293][0] , taskNeigh[294][0] , taskNeigh[295][0] , taskNeigh[296][0] , taskNeigh[297][0] , taskNeigh[298][0] , taskNeigh[299][0] , taskNeigh[300][0] , taskNeigh[301][0] , taskNeigh[302][0] , taskNeigh[303][0] , taskNeigh[304][0] , taskNeigh[305][0] , taskNeigh[306][0] , taskNeigh[307][0] , taskNeigh[308][0] , taskNeigh[309][0] , taskNeigh[310][0] , taskNeigh[311][0] , taskNeigh[312][0] , taskNeigh[313][0] , taskNeigh[314][0] , taskNeigh[315][0] , taskNeigh[316][0] , taskNeigh[317][0] , taskNeigh[318][0] , taskNeigh[319][0] , taskNeigh[320][0] , taskNeigh[321][0] , taskNeigh[322][0] , taskNeigh[323][0] , taskNeigh[324][0] , taskNeigh[325][0] , taskNeigh[326][0] , taskNeigh[327][0] , taskNeigh[328][0] , taskNeigh[329][0] , taskNeigh[330][0] , taskNeigh[331][0] , taskNeigh[332][0] , taskNeigh[333][0] , taskNeigh[334][0] , taskNeigh[335][0] , taskNeigh[336][0] , taskNeigh[337][0] , taskNeigh[338][0] , taskNeigh[339][0] , taskNeigh[340][0] , taskNeigh[341][0] ) priority_if_supported(idxLevel==FAbstractAlgorithm::lowerWorkingLevel-1?FFmmAlgorithmOmp4_Prio_M2L:FFmmAlgorithmOmp4_Prio_M2L_High)
{
local_exp_t* const target_local_exp
local_expansion_t* const target_local_exp
= &(taskCell->getLocalExpansionData());
const symb_data_t* const target_symbolic
const symbolic_data_t* const target_symbolic
= taskCell;
std::array<const multipole_t*, 342> neighbor_multipoles;
......@@ -467,7 +467,7 @@ protected:
return (c == nullptr ? nullptr
: &(c->getMultipoleData()));
});
std::array<const symb_data_t*, 342> neighbor_symbolics;
std::array<const symbolic_data_t*, 342> neighbor_symbolics;
std::transform(taskNeigh, taskNeigh+counter,
neighbor_symbolics.begin(),
[](const CellClass* c) {return c;});
......@@ -534,19 +534,19 @@ protected:
}
auto apply_L2L = [](KernelClass** kernels_, CellClass* task_cell, CellClass** task_child){
local_exp_t* const parent_local_exp
local_expansion_t* const parent_local_exp
= &(task_cell->getLocalExpansionData());
const symb_data_t* const parent_symbolic
const symbolic_data_t* const parent_symbolic
= task_cell;
CellClass** children = task_child;
std::array<local_exp_t*, 8> child_local_exps;
std::array<local_expansion_t*, 8> child_local_exps;
std::transform(children, children+8, child_local_exps.begin(),
[](CellClass* c) {
return (c == nullptr ? nullptr
: &(c->getLocalExpansionData()));
});
std::array<const symb_data_t*, 8> child_symbolics;
std::array<const symbolic_data_t*, 8> child_symbolics;
std::transform(children, children+8, child_symbolics.begin(),
[](CellClass* c) {
return c;
......
......@@ -48,8 +48,8 @@ template<class FReal, class OctreeClass, class CellClass, class ContainerClass,
class FFmmAlgorithmPeriodic : public FAbstractAlgorithm, public FAlgorithmTimers {
using multipole_t = typename CellClass::multipole_t;
using local_exp_t = typename CellClass::local_expansion_t;
using symb_data_t = CellClass;
using local_expansion_t = typename CellClass::local_expansion_t;
using symbolic_data_t = CellClass;
OctreeClass* const tree; //< The octree to work on
KernelClass* kernels; //< The kernels
......@@ -250,7 +250,7 @@ protected:
// and the list of particles
multipole_t* const leaf_multipole
= &(octreeIterator.getCurrentCell()->getMultipoleData());
const symb_data_t* const leaf_symbolic
const symbolic_data_t* const leaf_symbolic
= octreeIterator.getCurrentCell();
FLOG(computationCounter.tic());
kernels->P2M(leaf_multipole,
......@@ -290,7 +290,7 @@ protected:
// child is an array (of 8 child) that may be null
multipole_t* const parent_multipole
= &(octreeIterator.getCurrentCell()->getMultipoleData());
const symb_data_t* const parent_symbolic
const symbolic_data_t* const parent_symbolic
= octreeIterator.getCurrentCell();
CellClass** children = octreeIterator.getCurrentChildren();
......@@ -300,7 +300,7 @@ protected:
return (c == nullptr ? nullptr
: &(c->getMultipoleData()));
});
std::array<const symb_data_t*, 8> child_symbolics;
std::array<const symbolic_data_t*, 8> child_symbolics;
std::transform(children, children+8, child_symbolics.begin(),
[](CellClass* c) {return c;});
FLOG(computationCounter.tic());
......@@ -350,12 +350,12 @@ protected:
continue;
}
local_exp_t* const target_local_exp
local_expansion_t* const target_local_exp
= &(octreeIterator.getCurrentCell()->getLocalExpansionData());
const symb_data_t* const target_symbolic
const symbolic_data_t* const target_symbolic
= octreeIterator.getCurrentCell();
std::array<const multipole_t*, 342> neighbor_multipoles;
std::array<const symb_data_t*, 342> neighbor_symbolics;
std::array<const symbolic_data_t*, 342> neighbor_symbolics;
std::transform(neighbors, neighbors+counter, neighbor_multipoles.begin(),
[](const CellClass* c) {
return (c == nullptr ? nullptr
......@@ -408,17 +408,17 @@ protected:
// for each cells
do{
local_exp_t* const parent_local_exp
local_expansion_t* const parent_local_exp
= &(octreeIterator.getCurrentCell()->getLocalExpansionData());
const symb_data_t* const parent_symbolic
const symbolic_data_t* const parent_symbolic
= octreeIterator.getCurrentCell();
CellClass** children = octreeIterator.getCurrentChildren();
std::array<local_exp_t*, 8> child_local_expansions;
std::array<local_expansion_t*, 8> child_local_expansions;
std::transform(children, children+8, child_local_expansions.begin(),
[](CellClass* c) {return (c == nullptr ? nullptr
: &(c->getLocalExpansionData()));
});
std::array<symb_data_t*, 8> child_symbolics;
std::array<symbolic_data_t*, 8> child_symbolics;
std::transform(children, children+8, child_symbolics.begin(),
[](CellClass* c) {return c;});
FLOG(computationCounter.tic());
......@@ -584,7 +584,7 @@ protected:
multipole_t* const real_tree_root_multipole
= &((&upperCells[offsetRealTree-1])->getMultipoleData());
const symb_data_t* const real_tree_root_symbolic
const symbolic_data_t* const real_tree_root_symbolic
= &(upperCells[offsetRealTree-1]);
CellClass** children = octreeIterator.getCurrentBox();
......@@ -595,7 +595,7 @@ protected:
return (c == nullptr ? nullptr
: &(c->getMultipoleData()));
});
std::array<const symb_data_t*, 8> level_1_symbolics;
std::array<const symbolic_data_t*, 8> level_1_symbolics;
std::transform(children, children+8, level_1_symbolics.begin(),
[](CellClass* c) {return c;});
// TODO check that parent symbolic has the right level
......@@ -614,13 +614,13 @@ protected:
multipole_t* const virtual_parent_multipole
= &((&upperCells[idxLevel-1])->getMultipoleData());
const symb_data_t* const virtual_parent_symbolic
const symbolic_data_t* const virtual_parent_symbolic
= &(upperCells[idxLevel-1]);
std::array<const multipole_t*, 8> virtual_child_multipoles;
std::transform(children, children+8, virtual_child_multipoles.begin(),
[](CellClass* c) {return &(c->getMultipoleData());});
std::array<const symb_data_t*, 8> virtual_child_symbolics;
std::array<const symbolic_data_t*, 8> virtual_child_symbolics;
std::transform(children, children+8, virtual_child_symbolics.begin(),
[](CellClass* c) {return c;});
......@@ -659,12 +659,12 @@ protected:
}
}
local_exp_t* const target_local_exp
local_expansion_t* const target_local_exp
= &(downerCells[idxUpperLevel-1].getLocalExpansionData());
const symb_data_t* const target_symbolic
const symbolic_data_t* const target_symbolic
= &downerCells[idxUpperLevel-1];
std::array<const multipole_t*, 342> neighbor_multipoles;
std::array<const symb_data_t*, 342> neighbor_symbolics;
std::array<const symbolic_data_t*, 342> neighbor_symbolics;
std::transform(neighbors, neighbors+counter, neighbor_multipoles.begin(),
[](const CellClass* c) {return &(c->getMultipoleData());});
std::transform(neighbors, neighbors+counter, neighbor_symbolics.begin(),
......@@ -697,12 +697,12 @@ protected:
}
}
local_exp_t* const target_local_exp
local_expansion_t* const target_local_exp
= &(downerCells[idxUpperLevel-1].getLocalExpansionData());
const symb_data_t* const target_symbolic
const symbolic_data_t* const target_symbolic
= &downerCells[idxUpperLevel-1];
std::array<const multipole_t*, 342> neighbor_multipoles;
std::array<const symb_data_t*, 342> neighbor_symbolics;
std::array<const symbolic_data_t*, 342> neighbor_symbolics;
std::transform(neighbors, neighbors+counter, neighbor_multipoles.begin(),
[](const CellClass* c) {
return (c == nullptr ? nullptr
......@@ -724,12 +724,12 @@ protected:
// Run the L2L for all but the lowest virtual levels
{
std::array<local_exp_t*, 8> virtual_child_local_exps = {};
std::array<symb_data_t*, 8> virtual_child_symbolics = {};
std::array<local_expansion_t*, 8> virtual_child_local_exps = {};
std::array<symbolic_data_t*, 8> virtual_child_symbolics = {};
for(int idxLevel = 2 ; idxLevel < offsetRealTree-1 ; ++idxLevel){
local_exp_t* const virtual_parent_local_exp
local_expansion_t* const virtual_parent_local_exp
= &(downerCells[idxLevel-1].getLocalExpansionData());
const symb_data_t* const virtual_parent_symbolic
const symbolic_data_t* const virtual_parent_symbolic
= &downerCells[idxLevel-1];
virtual_child_local_exps[0]
......@@ -747,12 +747,12 @@ protected:
}
// Run the L2L for the lowest virtual level
{
std::array<local_exp_t*, 8> virtual_child_local_exps = {};
std::array<symb_data_t*, 8> virtual_child_symbolics = {};
std::array<local_expansion_t*, 8> virtual_child_local_exps = {};
std::array<symbolic_data_t*, 8> virtual_child_symbolics = {};
const int idxLevel = offsetRealTree-1;
local_exp_t* const virtual_parent_local_exp
local_expansion_t* const virtual_parent_local_exp
= &(downerCells[idxLevel-1].getLocalExpansionData());
const symb_data_t* const virtual_parent_symbolic
const symbolic_data_t* const virtual_parent_symbolic
= &downerCells[idxLevel-1];