mirror of
https://github.com/aportelli/LatAnalyze.git
synced 2025-04-11 03:20:46 +01:00
vector version of setUnidimData
This commit is contained in:
parent
d80b160521
commit
4576d73379
@ -171,6 +171,20 @@ const DSample & XYSampleData::y(const Index k, const Index j) const
|
|||||||
return yData_[j].at(k);
|
return yData_[j].at(k);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void XYSampleData::setUnidimData(const DMatSample &xData,
|
||||||
|
const vector<const DMatSample *> &v)
|
||||||
|
{
|
||||||
|
FOR_STAT_ARRAY(xData, s)
|
||||||
|
FOR_VEC(xData[central], r)
|
||||||
|
{
|
||||||
|
x(r, 0)[s] = xData[s](r);
|
||||||
|
for (unsigned int j = 0; j < v.size(); ++j)
|
||||||
|
{
|
||||||
|
y(r, j)[s] = (*(v[j]))[s](r);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const DMat & XYSampleData::getXXVar(const Index i1, const Index i2)
|
const DMat & XYSampleData::getXXVar(const Index i1, const Index i2)
|
||||||
{
|
{
|
||||||
checkXDim(i1);
|
checkXDim(i1);
|
||||||
|
@ -80,6 +80,8 @@ public:
|
|||||||
const DMatSample & x(const Index k);
|
const DMatSample & x(const Index k);
|
||||||
DSample & y(const Index k, const Index j);
|
DSample & y(const Index k, const Index j);
|
||||||
const DSample & y(const Index k, const Index j) const;
|
const DSample & y(const Index k, const Index j) const;
|
||||||
|
void setUnidimData(const DMatSample &xData,
|
||||||
|
const std::vector<const DMatSample *> &v);
|
||||||
template <typename... Ts>
|
template <typename... Ts>
|
||||||
void setUnidimData(const DMatSample &xData,
|
void setUnidimData(const DMatSample &xData,
|
||||||
const Ts & ...yDatas);
|
const Ts & ...yDatas);
|
||||||
@ -141,17 +143,9 @@ void XYSampleData::setUnidimData(const DMatSample &xData, const Ts & ...yDatas)
|
|||||||
static_assert(static_or<std::is_assignable<DMatSample, Ts>::value...>::value,
|
static_assert(static_or<std::is_assignable<DMatSample, Ts>::value...>::value,
|
||||||
"y data arguments are not compatible with DMatSample");
|
"y data arguments are not compatible with DMatSample");
|
||||||
|
|
||||||
std::vector<const DMatSample *> yData{&yDatas...};
|
std::vector<const DMatSample *> v{&yDatas...};
|
||||||
|
|
||||||
FOR_STAT_ARRAY(xData, s)
|
setUnidimData(xData, v);
|
||||||
FOR_VEC(xData[central], r)
|
|
||||||
{
|
|
||||||
x(r, 0)[s] = xData[s](r);
|
|
||||||
for (unsigned int j = 0; j < yData.size(); ++j)
|
|
||||||
{
|
|
||||||
y(r, j)[s] = (*(yData[j]))[s](r);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename... Ts>
|
template <typename... Ts>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user