stats: fix initialization bug in distribution text output
This commit is contained in:
parent
e7fa4f2f8e
commit
61a68371be
|
@ -359,22 +359,22 @@ struct DistPrint
|
||||||
|
|
||||||
const DistData &data;
|
const DistData &data;
|
||||||
|
|
||||||
DistPrint(const DistInfoBase &info);
|
DistPrint(const Text *text, const DistInfoBase &info);
|
||||||
DistPrint(const VectorDistInfoBase &info, int i);
|
DistPrint(const Text *text, const VectorDistInfoBase &info, int i);
|
||||||
void init(const Info &info, const DistParams *params);
|
void init(const Text *text, const Info &info, const DistParams *params);
|
||||||
void operator()(ostream &stream) const;
|
void operator()(ostream &stream) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
DistPrint::DistPrint(const DistInfoBase &info)
|
DistPrint::DistPrint(const Text *text, const DistInfoBase &info)
|
||||||
: data(info.data)
|
: data(info.data)
|
||||||
{
|
{
|
||||||
init(info, safe_cast<const DistParams *>(info.storageParams));
|
init(text, info, safe_cast<const DistParams *>(info.storageParams));
|
||||||
}
|
}
|
||||||
|
|
||||||
DistPrint::DistPrint(const VectorDistInfoBase &info, int i)
|
DistPrint::DistPrint(const Text *text, const VectorDistInfoBase &info, int i)
|
||||||
: data(info.data[i])
|
: data(info.data[i])
|
||||||
{
|
{
|
||||||
init(info, safe_cast<const DistParams *>(info.storageParams));
|
init(text, info, safe_cast<const DistParams *>(info.storageParams));
|
||||||
|
|
||||||
name = info.name + "_" +
|
name = info.name + "_" +
|
||||||
(info.subnames[i].empty() ? (to_string(i)) : info.subnames[i]);
|
(info.subnames[i].empty() ? (to_string(i)) : info.subnames[i]);
|
||||||
|
@ -384,14 +384,14 @@ DistPrint::DistPrint(const VectorDistInfoBase &info, int i)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
DistPrint::init(const Info &info, const DistParams *params)
|
DistPrint::init(const Text *text, const Info &info, const DistParams *params)
|
||||||
{
|
{
|
||||||
name = info.name;
|
name = info.name;
|
||||||
desc = info.desc;
|
desc = info.desc;
|
||||||
flags = info.flags;
|
flags = info.flags;
|
||||||
compat = compat;
|
|
||||||
descriptions = descriptions;
|
|
||||||
precision = info.precision;
|
precision = info.precision;
|
||||||
|
compat = text->compat;
|
||||||
|
descriptions = text->descriptions;
|
||||||
|
|
||||||
fancy = params->fancy;
|
fancy = params->fancy;
|
||||||
min = params->min;
|
min = params->min;
|
||||||
|
@ -685,7 +685,7 @@ Text::visit(const DistInfoBase &info)
|
||||||
if (noOutput(info))
|
if (noOutput(info))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
DistPrint print(info);
|
DistPrint print(this, info);
|
||||||
print(*stream);
|
print(*stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -696,7 +696,7 @@ Text::visit(const VectorDistInfoBase &info)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (off_type i = 0; i < info.size(); ++i) {
|
for (off_type i = 0; i < info.size(); ++i) {
|
||||||
DistPrint print(info, i);
|
DistPrint print(this, info, i);
|
||||||
print(*stream);
|
print(*stream);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue