StatusVector: Use NaN as filler always
Some checks failed
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Failing after 2m56s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Failing after 3m3s
Build Packages / build:rpm (rocky8_nocuda) (push) Failing after 3m11s
Build Packages / build:rpm (ubuntu2204) (push) Failing after 3m2s
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 3m8s
Build Packages / build:rpm (rocky8) (push) Failing after 3m7s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9_nocuda) (push) Failing after 3m17s
Build Packages / build:rpm (rocky9) (push) Failing after 3m11s
Build Packages / Generate python client (push) Successful in 24s
Build Packages / Build documentation (push) Successful in 40s
Build Packages / build:rpm (ubuntu2404) (push) Failing after 2m20s
Build Packages / Unit tests (push) Has been cancelled
Some checks failed
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Failing after 2m56s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Failing after 3m3s
Build Packages / build:rpm (rocky8_nocuda) (push) Failing after 3m11s
Build Packages / build:rpm (ubuntu2204) (push) Failing after 3m2s
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 3m8s
Build Packages / build:rpm (rocky8) (push) Failing after 3m7s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9_nocuda) (push) Failing after 3m17s
Build Packages / build:rpm (rocky9) (push) Failing after 3m11s
Build Packages / Generate python client (push) Successful in 24s
Build Packages / Build documentation (push) Successful in 40s
Build Packages / build:rpm (ubuntu2404) (push) Failing after 2m20s
Build Packages / Unit tests (push) Has been cancelled
This commit is contained in:
@@ -64,8 +64,7 @@ int32_t StatusVector::GetActualBinning(int32_t bin_size) const {
|
||||
return mean;
|
||||
}
|
||||
|
||||
MultiLinePlotStruct StatusVector::GetMeanPerBin(int32_t bin_size, float x_start, float x_incr,
|
||||
const std::optional<float> &fill_value) const {
|
||||
MultiLinePlotStruct StatusVector::GetMeanPerBin(int32_t bin_size, float x_start, float x_incr) const {
|
||||
std::unique_lock ul(m);
|
||||
|
||||
MultiLinePlotStruct ret;
|
||||
@@ -89,13 +88,8 @@ MultiLinePlotStruct StatusVector::GetMeanPerBin(int32_t bin_size, float x_start,
|
||||
|
||||
if (bin_size == 1) {
|
||||
for (int i = 0; i < content.size(); i++) {
|
||||
if (std::isfinite(content[i])) {
|
||||
ret.x.push_back(x_start + x_incr * i);
|
||||
ret.y.push_back(content[i]);
|
||||
} else if (fill_value) {
|
||||
ret.x.push_back(x_start + x_incr * i);
|
||||
ret.y.push_back(fill_value.value());
|
||||
}
|
||||
ret.x.push_back(x_start + x_incr * i);
|
||||
ret.y.push_back(content[i]);
|
||||
}
|
||||
} else {
|
||||
for (int bin = 0; bin < elems; bin++) {
|
||||
@@ -110,22 +104,18 @@ MultiLinePlotStruct StatusVector::GetMeanPerBin(int32_t bin_size, float x_start,
|
||||
}
|
||||
|
||||
float bin_x = static_cast<float>(bin_size) * (bin + 0.5f);
|
||||
|
||||
if (count_bin > 0) {
|
||||
ret.x.push_back(x_start + x_incr * bin_x);
|
||||
ret.x.push_back(x_start + x_incr * bin_x);
|
||||
if (count_bin > 0)
|
||||
ret.y.push_back(static_cast<float>(sum_bin / static_cast<double>(count_bin)));
|
||||
} else if (fill_value) {
|
||||
ret.x.push_back(x_start + x_incr * bin_x);
|
||||
ret.y.push_back(fill_value.value());
|
||||
}
|
||||
else
|
||||
ret.y.push_back(NAN);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
MultiLinePlotStruct StatusVector::GetMaxPerBin(int32_t bin_size, float x_start, float x_incr,
|
||||
const std::optional<float> &fill_value) const {
|
||||
MultiLinePlotStruct StatusVector::GetMaxPerBin(int32_t bin_size, float x_start, float x_incr) const {
|
||||
std::unique_lock ul(m);
|
||||
|
||||
MultiLinePlotStruct ret;
|
||||
@@ -142,13 +132,8 @@ MultiLinePlotStruct StatusVector::GetMaxPerBin(int32_t bin_size, float x_start,
|
||||
|
||||
if (bin_size == 1) {
|
||||
for (int i = 0; i < content.size(); i++) {
|
||||
if (std::isfinite(content[i])) {
|
||||
ret.x.push_back(x_start + x_incr * i);
|
||||
ret.y.push_back(content[i]);
|
||||
} else if (fill_value) {
|
||||
ret.x.push_back(x_start + x_incr * i);
|
||||
ret.y.push_back(fill_value.value());
|
||||
}
|
||||
ret.x.push_back(x_start + x_incr * i);
|
||||
ret.y.push_back(content[i]);
|
||||
}
|
||||
} else {
|
||||
for (int bin = 0; bin < elems; bin++) {
|
||||
@@ -164,30 +149,26 @@ MultiLinePlotStruct StatusVector::GetMaxPerBin(int32_t bin_size, float x_start,
|
||||
|
||||
float bin_x = static_cast<float>(bin_size) * (bin + 0.5f);
|
||||
|
||||
if (max_bin_set) {
|
||||
ret.x.push_back(x_start + x_incr * bin_x);
|
||||
ret.x.push_back(x_start + x_incr * bin_x);
|
||||
if (max_bin_set)
|
||||
ret.y.push_back(max_in_bin);
|
||||
} else if (fill_value) {
|
||||
ret.x.push_back(x_start + x_incr * bin_x);
|
||||
ret.y.push_back(fill_value.value());
|
||||
}
|
||||
else
|
||||
ret.y.push_back(NAN);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
MultiLinePlot StatusVector::GetMeanPlot(int64_t bin_size, float x_start, float x_incr,
|
||||
const std::optional<float> &fill_value) const {
|
||||
MultiLinePlot StatusVector::GetMeanPlot(int64_t bin_size, float x_start, float x_incr) const {
|
||||
MultiLinePlot ret;
|
||||
ret.AddPlot(GetMeanPerBin(bin_size, x_start, x_incr, fill_value));
|
||||
ret.AddPlot(GetMeanPerBin(bin_size, x_start, x_incr));
|
||||
return ret;
|
||||
}
|
||||
|
||||
MultiLinePlot StatusVector::GetMaxPlot(int64_t bin_size, float x_start, float x_incr,
|
||||
const std::optional<float> &fill_value) const {
|
||||
MultiLinePlot StatusVector::GetMaxPlot(int64_t bin_size, float x_start, float x_incr) const {
|
||||
MultiLinePlot ret;
|
||||
ret.AddPlot(GetMaxPerBin(bin_size, x_start, x_incr, fill_value));
|
||||
ret.AddPlot(GetMaxPerBin(bin_size, x_start, x_incr));
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -210,23 +191,21 @@ void StatusMultiVector::AddElement(const std::string &s, uint32_t id, std::optio
|
||||
}
|
||||
|
||||
MultiLinePlotStruct StatusMultiVector::GetMeanPerBin(const std::string &in_key, int64_t bin_size, float x_start,
|
||||
float x_incr,
|
||||
const std::optional<float> &fill_value) const {
|
||||
float x_incr) const {
|
||||
MultiLinePlotStruct ret{};
|
||||
for (const auto &[key, value]: status) {
|
||||
if (key == in_key) {
|
||||
ret = value->GetMeanPerBin(bin_size, x_start, x_incr, fill_value);
|
||||
ret = value->GetMeanPerBin(bin_size, x_start, x_incr);
|
||||
ret.title = key;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
MultiLinePlot StatusMultiVector::GetMeanPlot(int64_t bin_size, float x_start, float x_incr,
|
||||
const std::optional<float> &fill_value) const {
|
||||
MultiLinePlot StatusMultiVector::GetMeanPlot(int64_t bin_size, float x_start, float x_incr) const {
|
||||
MultiLinePlot ret;
|
||||
for (const auto &[key, value]: status) {
|
||||
auto tmp = value->GetMeanPerBin(bin_size, x_start, x_incr, fill_value);
|
||||
auto tmp = value->GetMeanPerBin(bin_size, x_start, x_incr);
|
||||
tmp.title = key;
|
||||
ret.AddPlot(tmp);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user