AT_DATA([evaluate.sps],
[set mxwarn 1000.
set mxerr 1000.
+set epoch 1940.
m4_foreach([check], [m4_shift($@)],
[DEBUG EVALUATE NOOPT m4_argn(4, check)/[]m4_car(check).
DEBUG EVALUATE m4_argn(4, check)/[]m4_car(check).
])])
AT_CAPTURE_FILE([evaluate.sps])
- m4_pushdef([i], [2])
+ m4_pushdef([i], [3])
AT_CHECK([pspp --testing-mode --error-file=- --no-output evaluate.sps],
[m4_if(m4_bregexp([m4_foreach([check], [m4_shift($@)], [m4_argn(3, check)])], [error:]), [-1], [0], [1])],
[stdout])
[[rnd(5.6)], [6.00]],
[[rnd(-5.4)], [-5.00]],
[[rnd(-5.6)], [-6.00]],
+ [[rnd(5.56, .1)], [5.60]],
+ [[rnd(-5.56, .1)], [-5.60]],
+ [[rnd(.5)], [1.00]],
+ [[rnd(.5 - 2**-53)], [1.00]],
+ [[rnd(.5 - 2**-52)], [1.00]],
+ [[rnd(.5 - 2**-51)], [1.00]],
+ [[rnd(.5 - 2**-45)], [0.00]],
+ [[rnd(.5 - 2**-45, 1, 10)], [1.00]],
[[rnd('x')], [error],
- [error: DEBUG EVALUATE: Type mismatch invoking RND(number) as rnd(string).]],
+ [error: DEBUG EVALUATE: Function invocation rnd(string) does not match any known function. Candidates are:
+RND(number)
+RND(number, number)
+RND(number, number, number).]],
[[trunc(1.2)], [1.00]],
[[trunc(1.9)], [1.00]],