Skip to content
Snippets Groups Projects
Commit 9bde4598 authored by Cristian Lalescu's avatar Cristian Lalescu
Browse files

make explicit switch based on field_components

parent 3f9d4b69
Branches
Tags
1 merge request!23WIP: Feature/use cmake
Pipeline #
......@@ -869,20 +869,6 @@ void field<rnumber, be, fc>::compute_rspace_stats(
H5Sclose(wspace);
H5Sclose(mspace);
H5Dclose(dset);
if (H5Lexists(
group,
"0slices",
H5P_DEFAULT))
{
if (H5Lexists(
group,
(std::string("0slices/") + dset_name).c_str(),
H5P_DEFAULT))
this->write_0slice(
group,
dset_name,
toffset);
}
}
delete[] moments;
delete[] hist;
......@@ -920,9 +906,27 @@ void field<rnumber, be, fc>::compute_rspace_zaverage(
double *local_zaverage = local_zaverage_threaded.getMine();
ptrdiff_t zaverage_index = (yindex*this->rlayout->subsizes[2]+xindex)*ncomp(fc);
for (unsigned int i=0; i<ncomp(fc); i++)
switch(fc)
{
local_zaverage[zaverage_index + i] += this->rval(rindex, i);
case ONE:
local_zaverage[zaverage_index] += this->rval(rindex);
break;
case THREE:
local_zaverage[zaverage_index+0] += this->rval(rindex, 0);
local_zaverage[zaverage_index+1] += this->rval(rindex, 1);
local_zaverage[zaverage_index+2] += this->rval(rindex, 2);
break;
case THREExTHREE:
local_zaverage[zaverage_index+0 + 0] += this->rval(rindex, 0, 0);
local_zaverage[zaverage_index+0 + 1] += this->rval(rindex, 0, 1);
local_zaverage[zaverage_index+0 + 2] += this->rval(rindex, 0, 2);
local_zaverage[zaverage_index+3 + 0] += this->rval(rindex, 1, 0);
local_zaverage[zaverage_index+3 + 1] += this->rval(rindex, 1, 1);
local_zaverage[zaverage_index+3 + 2] += this->rval(rindex, 1, 2);
local_zaverage[zaverage_index+6 + 0] += this->rval(rindex, 2, 0);
local_zaverage[zaverage_index+6 + 1] += this->rval(rindex, 2, 1);
local_zaverage[zaverage_index+6 + 2] += this->rval(rindex, 2, 2);
break;
}
});
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment