1 AT_BANNER([calculating moments])
3 m4_define([MOMENTS_TESTCASES],
4 [[[1 2 3 4], [W=4.000 M1=2.500 M2=1.667 M3=0.000 M4=-1.200]],
5 [[1*5 2*5 3*5 4*5], [W=20.000 M1=2.500 M2=1.316 M3=0.000 M4=-1.401]],
6 [[1*1 2*2 3*3 4*4], [W=10.000 M1=3.000 M2=1.111 M3=-0.712 M4=-0.450]],
7 [[1*0], [W=0.000 M1=sysmis M2=sysmis M3=sysmis M4=sysmis]],
8 [[1*1], [W=1.000 M1=1.000 M2=sysmis M3=sysmis M4=sysmis]],
9 [[1*2], [W=2.000 M1=1.000 M2=0.000 M3=sysmis M4=sysmis]],
10 [[1*3], [W=3.000 M1=1.000 M2=0.000 M3=sysmis M4=sysmis]],
11 [[1*2 3], [W=3.000 M1=1.667 M2=1.333 M3=1.732 M4=sysmis]],
12 [[1 1.00000001], [W=2.000 M1=1.000 M2=0.000 M3=sysmis M4=sysmis]],
13 [[1000001 1000002 1000003 1000004], [W=4.000 M1=1000002.500 M2=1.667 M3=0.000 M4=-1.200]]])
15 m4_define([TEST_MOMENTS],
16 [AT_SETUP([$1 moments])
17 AT_CAPTURE_FILE([moments.sps])
18 AT_DATA([moments.sps],
19 [m4_foreach([pair], [MOMENTS_TESTCASES], [DEBUG MOMENTS $2/m4_car(pair).
21 AT_CHECK([pspp --testing-mode --no-output moments.sps], [0],
23 [m4_foreach([pair], [MOMENTS_TESTCASES], [m4_argn([2], pair)
28 TEST_MOMENTS([two-pass], [])
29 TEST_MOMENTS([one-pass], [ONEPASS])