Skip to content
Snippets Groups Projects
Commit 5c191a14 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

+ outcommented code that is not fully equivalent to lower_bound & upper_bound

parent d779a025
No related branches found
No related tags found
1 merge request!1024make slicing readable, ctd
Pipeline #74872 passed
...@@ -38,22 +38,30 @@ std::vector<double> bottomLayerCoordinates(const MultiLayer& sample) ...@@ -38,22 +38,30 @@ std::vector<double> bottomLayerCoordinates(const MultiLayer& sample)
return result; return result;
} }
size_t iLayerTop(double top, const std::vector<double> ZBottoms) size_t iLayerTop(double top, const std::vector<double>& ZBottoms)
{ {
if (top <= ZBottoms.back()) if (top <= ZBottoms.back())
return ZBottoms.size(); return ZBottoms.size();
for (size_t i = 0; i <= ZBottoms.size(); ++i) /* ???
for (size_t i = 0; i < ZBottoms.size(); ++i)
if (ZBottoms.at(ZBottoms.size()-1-i) < top) if (ZBottoms.at(ZBottoms.size()-1-i) < top)
return ZBottoms.size()-1-i; return ZBottoms.size()-i;
ASSERT(0); return 0;
// auto index_above = std::lower_bound(ZBottoms.rbegin(), ZBottoms.rend(), top); /* */
// return static_cast<size_t>(ZBottoms.rend() - index_above); auto index_above = std::lower_bound(ZBottoms.rbegin(), ZBottoms.rend(), top);
return static_cast<size_t>(ZBottoms.rend() - index_above);
} }
size_t iLayerBottom(double bottom, const std::vector<double> ZBottoms) size_t iLayerBottom(double bottom, const std::vector<double>& ZBottoms)
{ {
if (bottom < ZBottoms.back()) if (bottom < ZBottoms.back())
return ZBottoms.size(); return ZBottoms.size();
/* ???
for (size_t i = 0; i < ZBottoms.size(); ++i)
if (ZBottoms.at(ZBottoms.size()-1-i) > bottom)
return ZBottoms.size()-i;
return 0;
/* */
auto index_below = std::upper_bound(ZBottoms.rbegin(), ZBottoms.rend(), bottom); auto index_below = std::upper_bound(ZBottoms.rbegin(), ZBottoms.rend(), bottom);
return static_cast<size_t>(ZBottoms.rend() - index_below); return static_cast<size_t>(ZBottoms.rend() - index_below);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment