| 481 | } |
| 482 | |
| 483 | void run() override { |
| 484 | bool changed = false; |
| 485 | |
| 486 | auto mode = m_column->columnMode(); |
| 487 | if (mode == AbstractColumn::ColumnMode::Double) { |
| 488 | auto* data = static_cast<QVector<double>*>(m_column->data()); |
| 489 | QVector<double> new_data(*data); |
| 490 | |
| 491 | switch (m_operator) { |
| 492 | case Operator::EqualTo: |
| 493 | for (auto& d : new_data) { |
| 494 | if (d == m_value1) { |
| 495 | d = NAN; |
| 496 | changed = true; |
| 497 | } |
| 498 | } |
| 499 | break; |
| 500 | case Operator::NotEqualTo: |
| 501 | for (auto& d : new_data) { |
| 502 | if (d != m_value1) { |
| 503 | d = NAN; |
| 504 | changed = true; |
| 505 | } |
| 506 | } |
| 507 | break; |
| 508 | case Operator::BetweenIncl: |
| 509 | for (auto& d : new_data) { |
| 510 | if (d >= m_value1 && d <= m_value2) { |
| 511 | d = NAN; |
| 512 | changed = true; |
| 513 | } |
| 514 | } |
| 515 | break; |
| 516 | case Operator::BetweenExcl: |
| 517 | for (auto& d : new_data) { |
| 518 | if (d > m_value1 && d < m_value2) { |
| 519 | d = NAN; |
| 520 | changed = true; |
| 521 | } |
| 522 | } |
| 523 | break; |
| 524 | case Operator::GreaterThan: |
| 525 | for (auto& d : new_data) { |
| 526 | if (d > m_value1) { |
| 527 | d = NAN; |
| 528 | changed = true; |
| 529 | } |
| 530 | } |
| 531 | break; |
| 532 | case Operator::GreaterThanEqualTo: |
| 533 | for (auto& d : new_data) { |
| 534 | if (d >= m_value1) { |
| 535 | d = NAN; |
| 536 | changed = true; |
| 537 | } |
| 538 | } |
| 539 | break; |
| 540 | case Operator::LessThan: |
nothing calls this directly
no test coverage detected