Running tests both through make and manually, ilib.icn fails to produce an integer when a large integer is requested. I have large ints turned on as indicated by -features. This accounts for the 20-character smaller result compared to stand/ilib.std
(base) [general]# ./ilib | grep large
large
[stand]# grep large ilib.std
large 214748364721474836472147483647
I'm running centOS 7, (Unicon Version 13.1. November 6, 2019)
Test results indicate a problem with procs/numbers.icn:
[general]# unicon -t ilib -x 2>&1 | grep large
ilib.icn : 139 | gen(procedure large,list_551 = [214748364721474836472147483647])
large ilib.icn : 292 | | large(214748364721474836472147483647)
numbers.icn : 503 | | large returned &null
See ipl/procs/numbers.icn for recently added large() procedure.
Related
Discussion: general
Apparently this is just a mistake as to what the return value of large() is supposed to be when it succeeds. I will post a fix when I get a chance.
looks fixed:
9/6 snapshot:
grep -n large ilib.icn
140: # modify value to be tested to be larger than 128 bits to cover future
143: gen(large, 214748364721474836472147483647214748364721474836472147483647)
unicon -t ilib.icn -x |& grep large
ilib.icn : 143 | gen(procedure large,list_551 = [integer(~10^59)])
large ilib.icn : 296 | | large(integer(~10^59))
numbers.icn : 512 | | large returned integer(~10^59)
number has 60 digits, looks ok to me.