| 451 | QCOMPARE(stats.entropy, 2.); |
| 452 | } |
| 453 | void ColumnTest::statisticsBigInt() { |
| 454 | Column c(QStringLiteral("BigInt column"), Column::ColumnMode::BigInt); |
| 455 | c.setBigInts({-10000000000, 0, 1000000000, 10000000000}); |
| 456 | |
| 457 | auto& stats = c.statistics(); |
| 458 | |
| 459 | QCOMPARE(stats.size, 4); |
| 460 | QCOMPARE(stats.minimum, -10000000000); |
| 461 | QCOMPARE(stats.maximum, 10000000000); |
| 462 | QCOMPARE(stats.arithmeticMean, 250000000); |
| 463 | QCOMPARE(stats.geometricMean, NAN); |
| 464 | QCOMPARE(stats.harmonicMean, 0.); |
| 465 | QCOMPARE(stats.contraharmonicMean, 201000000000); |
| 466 | |
| 467 | QCOMPARE(stats.mode, NAN); |
| 468 | // Windows CI fails here |
| 469 | #ifndef HAVE_WINDOWS |
| 470 | QCOMPARE(stats.firstQuartile, -2500000000); |
| 471 | QCOMPARE(stats.median, 500000000); |
| 472 | QCOMPARE(stats.thirdQuartile, 3250000000); |
| 473 | QCOMPARE(stats.iqr, 5750000000); |
| 474 | QCOMPARE(stats.percentile_1, -9700000000); |
| 475 | QCOMPARE(stats.percentile_5, -8500000000); |
| 476 | QCOMPARE(stats.percentile_10, -7000000000); |
| 477 | FuzzyCompare(stats.percentile_90, 7300000000.); |
| 478 | FuzzyCompare(stats.percentile_95, 8650000000.); |
| 479 | FuzzyCompare(stats.percentile_99, 9730000000.); |
| 480 | QCOMPARE(stats.trimean, 437500000); |
| 481 | QCOMPARE(stats.variance, 6.69166666666667e+19); |
| 482 | QCOMPARE(stats.standardDeviation, 8180260794.53868); |
| 483 | QCOMPARE(stats.meanDeviation, 5250000000); |
| 484 | QCOMPARE(stats.meanDeviationAroundMedian, 5250000000); |
| 485 | QCOMPARE(stats.medianDeviation, 5000000000); |
| 486 | QCOMPARE(stats.skewness, -0.10520849985915); |
| 487 | QCOMPARE(stats.kurtosis, 1.9925605877089); |
| 488 | QCOMPARE(stats.entropy, 2.); |
| 489 | #endif |
| 490 | } |
| 491 | |
| 492 | void ColumnTest::statisticsText() { |
| 493 | Column c(QStringLiteral("Text column"), Column::ColumnMode::Text); |
nothing calls this directly
no test coverage detected