使用空 boost::accumulators

Using empty boost::accumulators

如何检查一个空的 boost::accumulators acc 与否?

例如:

if (acc.isEmpty())//I don't know what function here
 return 0;
else 
 return boost::accumulators::mean(acc).

因为如果它是空的,我得到 NaN for boost::accumulators::mean(acc).

你可以使用累加器count:

if (boost::accumulators::count(acc) == 0)//I don't know what function here
 return 0;
else 
 return boost::accumulators::mean(acc);

或者,您可以通过调用 std::isnan:

来检查它是否为 nan
 if(std::isnan(boost::accumulators::mean(acc))
    return 0;
 else
    return boost::accumulators::mean(acc);