prange: do not create a separate prange that covers the same space as its original range; return original range instead
This commit is contained in:
parent
8b2efdc522
commit
9bdce8b085
1 changed files with 6 additions and 1 deletions
|
@ -405,7 +405,12 @@ namespace CNORXZ
|
||||||
template <class RangeT>
|
template <class RangeT>
|
||||||
RangePtr prange(const Sptr<RangeT>& range, const Vector<SizeT>& parts)
|
RangePtr prange(const Sptr<RangeT>& range, const Vector<SizeT>& parts)
|
||||||
{
|
{
|
||||||
return PRangeFactory<RangeT>(range,parts).create();
|
if(parts.size() == range->size()){
|
||||||
|
return range; // avoid PRange that is identical to its original range
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return PRangeFactory<RangeT>(range,parts).create();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue