Commit 82f06978 authored by Cristian Lalescu's avatar Cristian Lalescu
Browse files

Merge branch 'feature/optimize_xincrement_stats' into develop

parents 4feaaf8b 4d523f70
Pipeline #73069 passed with stage
in 6 minutes and 49 seconds
...@@ -861,16 +861,20 @@ void field<rnumber, be, fc>::compute_rspace_xincrement_stats( ...@@ -861,16 +861,20 @@ void field<rnumber, be, fc>::compute_rspace_xincrement_stats(
const hid_t group, const hid_t group,
const std::string dset_name, const std::string dset_name,
const hsize_t toffset, const hsize_t toffset,
const std::vector<double> max_estimate) const std::vector<double> max_estimate,
field<rnumber, be, fc> *tmp_field)
{ {
TIMEZONE("field::compute_rspace_xincrement_stats"); TIMEZONE("field::compute_rspace_xincrement_stats");
assert(this->real_space_representation); assert(this->real_space_representation);
assert(fc == ONE || fc == THREE); assert(fc == ONE || fc == THREE);
field<rnumber, be, fc> *tmp_field = new field<rnumber, be, fc>( bool own_field = false;
this->rlayout->sizes[2], own_field = (tmp_field == NULL);
this->rlayout->sizes[1], if (own_field)
this->rlayout->sizes[0], tmp_field = new field<rnumber, be, fc>(
this->rlayout->comm); this->rlayout->sizes[2],
this->rlayout->sizes[1],
this->rlayout->sizes[0],
this->rlayout->comm);
tmp_field->real_space_representation = true; tmp_field->real_space_representation = true;
this->RLOOP_simd( this->RLOOP_simd(
[&](const ptrdiff_t rindex, [&](const ptrdiff_t rindex,
...@@ -890,7 +894,8 @@ void field<rnumber, be, fc>::compute_rspace_xincrement_stats( ...@@ -890,7 +894,8 @@ void field<rnumber, be, fc>::compute_rspace_xincrement_stats(
dset_name, dset_name,
toffset, toffset,
max_estimate); max_estimate);
delete tmp_field; if (own_field)
delete tmp_field;
} }
......
...@@ -129,7 +129,8 @@ class field ...@@ -129,7 +129,8 @@ class field
const hid_t group, const hid_t group,
const std::string dset_name, const std::string dset_name,
const hsize_t toffset, const hsize_t toffset,
const std::vector<double> max_estimate); const std::vector<double> max_estimate,
field<rnumber, be, fc> *tmp_field = NULL);
void compute_rspace_stats( void compute_rspace_stats(
const hid_t group, const hid_t group,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment