| 116 | |
| 117 | |
| 118 | bool ExpressionStatsFilter::processOne(PointRef& point) |
| 119 | { |
| 120 | double value = point.getFieldAs<double>(m_dimId); |
| 121 | |
| 122 | for(const auto& expr: m_args->m_expressions) |
| 123 | { |
| 124 | bool status = expr.eval(point); |
| 125 | auto& stat = m_stats[expr.print()]; |
| 126 | if (status) |
| 127 | stat[value]++; |
| 128 | } |
| 129 | return true; |
| 130 | } |
| 131 | |
| 132 | |
| 133 | void ExpressionStatsFilter::filter(PointView& view) |