Skip to content

Commit a73fbb3

Browse files
benbellickclaude
andcommitted
fix(tests): use correct compact table row format in std_dev and variance tests
The compact aggregate test format uses each inner parenthesis group as a row, with literals inside representing column values for that row. The std_dev and variance test files were using a flat list of values in a single group, e.g. `((1.0, 2.0, 3.0))`, which parses as 1 row with 3 columns rather than 3 rows with 1 column. This changes them to the correct per-row format: `((1.0), (2.0), (3.0))`. See #1042 for a grammar improvement that would allow a cleaner inline format for these test cases. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent ff70d18 commit a73fbb3

2 files changed

Lines changed: 56 additions & 56 deletions

File tree

tests/cases/arithmetic/std_dev.test

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,52 +2,52 @@
22
### SUBSTRAIT_INCLUDE: extension:io.substrait:functions_arithmetic
33

44
# basic: Basic examples without any special cases
5-
((1.0, 2.0, 3.0, 4.0, 5.0)) std_dev(SAMPLE::enum, col0::fp32) = 1.5811388::fp32?
6-
((1.0, 2.0, 3.0, 4.0, 5.0)) std_dev(SAMPLE::enum, col0::fp64) = 1.5811388300841898::fp64?
7-
((1.0, 2.0, 3.0, 4.0, 5.0)) std_dev(POPULATION::enum, col0::fp32) = 1.4142135::fp32?
8-
((1.0, 2.0, 3.0, 4.0, 5.0)) std_dev(POPULATION::enum, col0::fp64) = 1.4142135623730951::fp64?
5+
(((1.0), (2.0), (3.0), (4.0), (5.0))) std_dev(SAMPLE::enum, col0::fp32) = 1.5811388::fp32?
6+
(((1.0), (2.0), (3.0), (4.0), (5.0))) std_dev(SAMPLE::enum, col0::fp64) = 1.5811388300841898::fp64?
7+
(((1.0), (2.0), (3.0), (4.0), (5.0))) std_dev(POPULATION::enum, col0::fp32) = 1.4142135::fp32?
8+
(((1.0), (2.0), (3.0), (4.0), (5.0))) std_dev(POPULATION::enum, col0::fp64) = 1.4142135623730951::fp64?
99

1010
# uniform_values: Standard deviation of uniform values
11-
((5.0, 5.0, 5.0, 5.0)) std_dev(SAMPLE::enum, col0::fp32) = 0.0::fp32?
12-
((5.0, 5.0, 5.0, 5.0)) std_dev(POPULATION::enum, col0::fp64) = 0.0::fp64?
11+
(((5.0), (5.0), (5.0), (5.0))) std_dev(SAMPLE::enum, col0::fp32) = 0.0::fp32?
12+
(((5.0), (5.0), (5.0), (5.0))) std_dev(POPULATION::enum, col0::fp64) = 0.0::fp64?
1313

1414
# single_value: Standard deviation with single value
1515
((42.0)) std_dev(SAMPLE::enum, col0::fp32) = Null::fp32?
1616
((42.0)) std_dev(POPULATION::enum, col0::fp64) = 0.0::fp64?
1717

1818
# negative_values: Standard deviation with negative values
19-
((-5.0, -3.0, -1.0, 1.0, 3.0, 5.0)) std_dev(SAMPLE::enum, col0::fp32) = 3.8944404::fp32?
20-
((-5.0, -3.0, -1.0, 1.0, 3.0, 5.0)) std_dev(SAMPLE::enum, col0::fp64) = 3.8944404818493075::fp64?
21-
((-10.0, -5.0, 0.0, 5.0, 10.0)) std_dev(POPULATION::enum, col0::fp32) = 7.0710678::fp32?
22-
((-10.0, -5.0, 0.0, 5.0, 10.0)) std_dev(POPULATION::enum, col0::fp64) = 7.0710678118654755::fp64?
19+
(((-5.0), (-3.0), (-1.0), (1.0), (3.0), (5.0))) std_dev(SAMPLE::enum, col0::fp32) = 3.8944404::fp32?
20+
(((-5.0), (-3.0), (-1.0), (1.0), (3.0), (5.0))) std_dev(SAMPLE::enum, col0::fp64) = 3.8944404818493075::fp64?
21+
(((-10.0), (-5.0), (0.0), (5.0), (10.0))) std_dev(POPULATION::enum, col0::fp32) = 7.0710678::fp32?
22+
(((-10.0), (-5.0), (0.0), (5.0), (10.0))) std_dev(POPULATION::enum, col0::fp64) = 7.0710678118654755::fp64?
2323

2424
# decimal_precision: Standard deviation with decimal values
25-
((1.5, 2.5, 3.5, 4.5, 5.5)) std_dev(SAMPLE::enum, col0::fp32) = 1.5811388::fp32?
26-
((1.5, 2.5, 3.5, 4.5, 5.5)) std_dev(SAMPLE::enum, col0::fp64) = 1.5811388300841898::fp64?
27-
((0.1, 0.2, 0.3, 0.4, 0.5)) std_dev(POPULATION::enum, col0::fp64) = 0.14142135623730953::fp64?
25+
(((1.5), (2.5), (3.5), (4.5), (5.5))) std_dev(SAMPLE::enum, col0::fp32) = 1.5811388::fp32?
26+
(((1.5), (2.5), (3.5), (4.5), (5.5))) std_dev(SAMPLE::enum, col0::fp64) = 1.5811388300841898::fp64?
27+
(((0.1), (0.2), (0.3), (0.4), (0.5))) std_dev(POPULATION::enum, col0::fp64) = 0.14142135623730953::fp64?
2828

2929
# large_values: Standard deviation with large values
30-
((1000.0, 2000.0, 3000.0, 4000.0, 5000.0)) std_dev(SAMPLE::enum, col0::fp32) = 1581.1388::fp32?
31-
((1000.0, 2000.0, 3000.0, 4000.0, 5000.0)) std_dev(SAMPLE::enum, col0::fp64) = 1581.1388300841898::fp64?
30+
(((1000.0), (2000.0), (3000.0), (4000.0), (5000.0))) std_dev(SAMPLE::enum, col0::fp32) = 1581.1388::fp32?
31+
(((1000.0), (2000.0), (3000.0), (4000.0), (5000.0))) std_dev(SAMPLE::enum, col0::fp64) = 1581.1388300841898::fp64?
3232

3333
# small_values: Standard deviation with small values
34-
((0.001, 0.002, 0.003, 0.004, 0.005)) std_dev(SAMPLE::enum, col0::fp64) = 0.0015811388300841896::fp64?
35-
((0.001, 0.002, 0.003, 0.004, 0.005)) std_dev(POPULATION::enum, col0::fp64) = 0.0014142135623730951::fp64?
34+
(((0.001), (0.002), (0.003), (0.004), (0.005))) std_dev(SAMPLE::enum, col0::fp64) = 0.0015811388300841896::fp64?
35+
(((0.001), (0.002), (0.003), (0.004), (0.005))) std_dev(POPULATION::enum, col0::fp64) = 0.0014142135623730951::fp64?
3636

3737
# null_handling: Examples with null as input or output
38-
((Null, Null, Null)) std_dev(SAMPLE::enum, col0::fp32?) = Null::fp32?
38+
(((Null), (Null), (Null))) std_dev(SAMPLE::enum, col0::fp32?) = Null::fp32?
3939
(()) std_dev(SAMPLE::enum, col0::fp32) = Null::fp32?
40-
((1.0, Null, 3.0, Null, 5.0)) std_dev(SAMPLE::enum, col0::fp32?) = 2.0::fp32?
41-
((1.0, Null, 3.0, Null, 5.0)) std_dev(POPULATION::enum, col0::fp64?) = 1.632993161855452::fp64?
40+
(((1.0), (Null), (3.0), (Null), (5.0))) std_dev(SAMPLE::enum, col0::fp32?) = 2.0::fp32?
41+
(((1.0), (Null), (3.0), (Null), (5.0))) std_dev(POPULATION::enum, col0::fp64?) = 1.632993161855452::fp64?
4242

4343
# rounding: Examples with different rounding modes
44-
((1.1, 2.2, 3.3, 4.4, 5.5)) std_dev(SAMPLE::enum, col0::fp32) [rounding:TIE_TO_EVEN] = 1.7406897::fp32?
45-
((1.1, 2.2, 3.3, 4.4, 5.5)) std_dev(SAMPLE::enum, col0::fp64) [rounding:TRUNCATE] = 1.7406897166664838::fp64?
44+
(((1.1), (2.2), (3.3), (4.4), (5.5))) std_dev(SAMPLE::enum, col0::fp32) [rounding:TIE_TO_EVEN] = 1.7406897::fp32?
45+
(((1.1), (2.2), (3.3), (4.4), (5.5))) std_dev(SAMPLE::enum, col0::fp64) [rounding:TRUNCATE] = 1.7406897166664838::fp64?
4646

4747
# two_values: Standard deviation with two values
48-
((10.0, 20.0)) std_dev(SAMPLE::enum, col0::fp32) = 7.071068::fp32?
49-
((10.0, 20.0)) std_dev(POPULATION::enum, col0::fp64) = 5.0::fp64?
48+
(((10.0), (20.0))) std_dev(SAMPLE::enum, col0::fp32) = 7.071068::fp32?
49+
(((10.0), (20.0))) std_dev(POPULATION::enum, col0::fp64) = 5.0::fp64?
5050

5151
# mixed_range: Standard deviation with mixed range values
52-
((0.0, 100.0, 50.0, 25.0, 75.0)) std_dev(SAMPLE::enum, col0::fp32) = 41.010193::fp32?
53-
((0.0, 100.0, 50.0, 25.0, 75.0)) std_dev(POPULATION::enum, col0::fp64) = 36.66060555964672::fp64?
52+
(((0.0), (100.0), (50.0), (25.0), (75.0))) std_dev(SAMPLE::enum, col0::fp32) = 41.010193::fp32?
53+
(((0.0), (100.0), (50.0), (25.0), (75.0))) std_dev(POPULATION::enum, col0::fp64) = 36.66060555964672::fp64?

tests/cases/arithmetic/variance.test

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,60 +2,60 @@
22
### SUBSTRAIT_INCLUDE: extension:io.substrait:functions_arithmetic
33

44
# basic: Basic examples without any special cases
5-
((1.0, 2.0, 3.0, 4.0, 5.0)) variance(SAMPLE::enum, col0::fp32) = 2.5::fp32?
6-
((1.0, 2.0, 3.0, 4.0, 5.0)) variance(SAMPLE::enum, col0::fp64) = 2.5::fp64?
7-
((1.0, 2.0, 3.0, 4.0, 5.0)) variance(POPULATION::enum, col0::fp32) = 2.0::fp32?
8-
((1.0, 2.0, 3.0, 4.0, 5.0)) variance(POPULATION::enum, col0::fp64) = 2.0::fp64?
5+
(((1.0), (2.0), (3.0), (4.0), (5.0))) variance(SAMPLE::enum, col0::fp32) = 2.5::fp32?
6+
(((1.0), (2.0), (3.0), (4.0), (5.0))) variance(SAMPLE::enum, col0::fp64) = 2.5::fp64?
7+
(((1.0), (2.0), (3.0), (4.0), (5.0))) variance(POPULATION::enum, col0::fp32) = 2.0::fp32?
8+
(((1.0), (2.0), (3.0), (4.0), (5.0))) variance(POPULATION::enum, col0::fp64) = 2.0::fp64?
99

1010
# uniform_values: Variance of uniform values
11-
((5.0, 5.0, 5.0, 5.0)) variance(SAMPLE::enum, col0::fp32) = 0.0::fp32?
12-
((5.0, 5.0, 5.0, 5.0)) variance(POPULATION::enum, col0::fp64) = 0.0::fp64?
11+
(((5.0), (5.0), (5.0), (5.0))) variance(SAMPLE::enum, col0::fp32) = 0.0::fp32?
12+
(((5.0), (5.0), (5.0), (5.0))) variance(POPULATION::enum, col0::fp64) = 0.0::fp64?
1313

1414
# single_value: Variance with single value
1515
((42.0)) variance(SAMPLE::enum, col0::fp32) = Null::fp32?
1616
((42.0)) variance(POPULATION::enum, col0::fp64) = 0.0::fp64?
1717

1818
# negative_values: Variance with negative values
19-
((-5.0, -3.0, -1.0, 1.0, 3.0, 5.0)) variance(SAMPLE::enum, col0::fp32) = 15.166667::fp32?
20-
((-5.0, -3.0, -1.0, 1.0, 3.0, 5.0)) variance(SAMPLE::enum, col0::fp64) = 15.166666666666666::fp64?
21-
((-10.0, -5.0, 0.0, 5.0, 10.0)) variance(POPULATION::enum, col0::fp32) = 50.0::fp32?
22-
((-10.0, -5.0, 0.0, 5.0, 10.0)) variance(POPULATION::enum, col0::fp64) = 50.0::fp64?
19+
(((-5.0), (-3.0), (-1.0), (1.0), (3.0), (5.0))) variance(SAMPLE::enum, col0::fp32) = 15.166667::fp32?
20+
(((-5.0), (-3.0), (-1.0), (1.0), (3.0), (5.0))) variance(SAMPLE::enum, col0::fp64) = 15.166666666666666::fp64?
21+
(((-10.0), (-5.0), (0.0), (5.0), (10.0))) variance(POPULATION::enum, col0::fp32) = 50.0::fp32?
22+
(((-10.0), (-5.0), (0.0), (5.0), (10.0))) variance(POPULATION::enum, col0::fp64) = 50.0::fp64?
2323

2424
# decimal_precision: Variance with decimal values
25-
((1.5, 2.5, 3.5, 4.5, 5.5)) variance(SAMPLE::enum, col0::fp32) = 2.5::fp32?
26-
((1.5, 2.5, 3.5, 4.5, 5.5)) variance(SAMPLE::enum, col0::fp64) = 2.5::fp64?
27-
((0.1, 0.2, 0.3, 0.4, 0.5)) variance(POPULATION::enum, col0::fp64) = 0.020000000000000004::fp64?
25+
(((1.5), (2.5), (3.5), (4.5), (5.5))) variance(SAMPLE::enum, col0::fp32) = 2.5::fp32?
26+
(((1.5), (2.5), (3.5), (4.5), (5.5))) variance(SAMPLE::enum, col0::fp64) = 2.5::fp64?
27+
(((0.1), (0.2), (0.3), (0.4), (0.5))) variance(POPULATION::enum, col0::fp64) = 0.020000000000000004::fp64?
2828

2929
# large_values: Variance with large values
30-
((1000.0, 2000.0, 3000.0, 4000.0, 5000.0)) variance(SAMPLE::enum, col0::fp32) = 2500000.0::fp32?
31-
((1000.0, 2000.0, 3000.0, 4000.0, 5000.0)) variance(SAMPLE::enum, col0::fp64) = 2500000.0::fp64?
30+
(((1000.0), (2000.0), (3000.0), (4000.0), (5000.0))) variance(SAMPLE::enum, col0::fp32) = 2500000.0::fp32?
31+
(((1000.0), (2000.0), (3000.0), (4000.0), (5000.0))) variance(SAMPLE::enum, col0::fp64) = 2500000.0::fp64?
3232

3333
# small_values: Variance with small values
34-
((0.001, 0.002, 0.003, 0.004, 0.005)) variance(SAMPLE::enum, col0::fp64) = 0.0000025::fp64?
35-
((0.001, 0.002, 0.003, 0.004, 0.005)) variance(POPULATION::enum, col0::fp64) = 0.000002::fp64?
34+
(((0.001), (0.002), (0.003), (0.004), (0.005))) variance(SAMPLE::enum, col0::fp64) = 0.0000025::fp64?
35+
(((0.001), (0.002), (0.003), (0.004), (0.005))) variance(POPULATION::enum, col0::fp64) = 0.000002::fp64?
3636

3737
# null_handling: Examples with null as input or output
38-
((Null, Null, Null)) variance(SAMPLE::enum, col0::fp32?) = Null::fp32?
38+
(((Null), (Null), (Null))) variance(SAMPLE::enum, col0::fp32?) = Null::fp32?
3939
(()) variance(SAMPLE::enum, col0::fp32) = Null::fp32?
40-
((1.0, Null, 3.0, Null, 5.0)) variance(SAMPLE::enum, col0::fp32?) = 4.0::fp32?
41-
((1.0, Null, 3.0, Null, 5.0)) variance(POPULATION::enum, col0::fp64?) = 2.666666666666667::fp64?
40+
(((1.0), (Null), (3.0), (Null), (5.0))) variance(SAMPLE::enum, col0::fp32?) = 4.0::fp32?
41+
(((1.0), (Null), (3.0), (Null), (5.0))) variance(POPULATION::enum, col0::fp64?) = 2.666666666666667::fp64?
4242

4343
# rounding: Examples with different rounding modes
44-
((1.1, 2.2, 3.3, 4.4, 5.5)) variance(SAMPLE::enum, col0::fp32) [rounding:TIE_TO_EVEN] = 3.03::fp32?
45-
((1.1, 2.2, 3.3, 4.4, 5.5)) variance(SAMPLE::enum, col0::fp64) [rounding:TRUNCATE] = 3.0299999999999994::fp64?
44+
(((1.1), (2.2), (3.3), (4.4), (5.5))) variance(SAMPLE::enum, col0::fp32) [rounding:TIE_TO_EVEN] = 3.03::fp32?
45+
(((1.1), (2.2), (3.3), (4.4), (5.5))) variance(SAMPLE::enum, col0::fp64) [rounding:TRUNCATE] = 3.0299999999999994::fp64?
4646

4747
# two_values: Variance with two values
48-
((10.0, 20.0)) variance(SAMPLE::enum, col0::fp32) = 50.0::fp32?
49-
((10.0, 20.0)) variance(POPULATION::enum, col0::fp64) = 25.0::fp64?
48+
(((10.0), (20.0))) variance(SAMPLE::enum, col0::fp32) = 50.0::fp32?
49+
(((10.0), (20.0))) variance(POPULATION::enum, col0::fp64) = 25.0::fp64?
5050

5151
# mixed_range: Variance with mixed range values
52-
((0.0, 100.0, 50.0, 25.0, 75.0)) variance(SAMPLE::enum, col0::fp32) = 1681.25::fp32?
53-
((0.0, 100.0, 50.0, 25.0, 75.0)) variance(POPULATION::enum, col0::fp64) = 1345.0::fp64?
52+
(((0.0), (100.0), (50.0), (25.0), (75.0))) variance(SAMPLE::enum, col0::fp32) = 1681.25::fp32?
53+
(((0.0), (100.0), (50.0), (25.0), (75.0))) variance(POPULATION::enum, col0::fp64) = 1345.0::fp64?
5454

5555
# zero_mean: Variance with values around zero
56-
((-2.0, -1.0, 0.0, 1.0, 2.0)) variance(SAMPLE::enum, col0::fp32) = 2.5::fp32?
57-
((-2.0, -1.0, 0.0, 1.0, 2.0)) variance(POPULATION::enum, col0::fp64) = 2.0::fp64?
56+
(((-2.0), (-1.0), (0.0), (1.0), (2.0))) variance(SAMPLE::enum, col0::fp32) = 2.5::fp32?
57+
(((-2.0), (-1.0), (0.0), (1.0), (2.0))) variance(POPULATION::enum, col0::fp64) = 2.0::fp64?
5858

5959
# three_values: Variance with three values
60-
((10.0, 20.0, 30.0)) variance(SAMPLE::enum, col0::fp32) = 100.0::fp32?
61-
((10.0, 20.0, 30.0)) variance(POPULATION::enum, col0::fp64) = 66.66666666666667::fp64?
60+
(((10.0), (20.0), (30.0))) variance(SAMPLE::enum, col0::fp32) = 100.0::fp32?
61+
(((10.0), (20.0), (30.0))) variance(POPULATION::enum, col0::fp64) = 66.66666666666667::fp64?

0 commit comments

Comments
 (0)