Apparently, when array contains a big number that is to be displayed
in exponential notation, the whole column containing it is printed
with exponent. If array of mixed type has char and such big number
in the same column, PrintBuffer segfaults on it:
+X←?2 3 3⍴100
40 18 54
19 66 55
55 60 37
29 40 52
63 71 28
22 91 2
X[2;2;2]←1e10 ◊ X
40 1.8E1 54
19 6.6E1 55
55 6.0E1 37
29 4.0E1 52
63 1.0E10 28
22 9.1E1 2
X[1;1;1]←'a' ◊ X
a 1.8E1 54
19 6.6E1 55
55 6.0E1 37
29 4.0E1 52
63 1.0E10 28
22 9.1E1 2
X[1;1;2]←'b' ◊ X
get_height(): '7' at PrintBuffer.cc:336
w=9*
w=12*
w=12*
w=9*
w=12*
w=12*
w=12*
*ab54*
*196.6E155*
*556.0E137*
**
*294.0E152*
*631.0E1028*
*229.1E12*
==============================================================================
Assertion failed: is_rectangular()
in Function: PrintBuffer
in file: PrintBuffer.cc:341
Call stack:
----------------------------------------
-- Stack trace at PrintBuffer.cc:341
----------------------------------------
0x7fa0206ffb45 __libc_start_main
0x435855 main
0x5291ed Workspace::immediate_execution(bool)
0x464f6d Command::process_line()
0x463da3 Command::process_line(UCS_string&)
0x46e418 Executable::execute_body() const
0x4e37c0 StateIndicator::run()
0x49107a Prefix::reduce_statements()
0x48f6a0 Prefix::reduce_END_B__()
0x4e6d30 StateIndicator::statement_result(Token&)
0x525ecb Value::print(std::ostream&) const
0x4b498d PrintBuffer::PrintBuffer(Value const&, PrintContext const&)
0x4439af do_Assert(char const*, char const*, char const*, int)
========================================
SI stack:
Depth: 0
Exec: 0xfb9d70
Pmode: ◊ X[1;1;2]←'b' ◊ X
PC: 13 RETURN_STATS
Stat: X
err_code: 0x0
thrown: at StateIndicator.cc:41
e_msg_1: 'No Error'
e_msg_2: ''
e_msg_3: ''
==============================================================================
====================================================
SEGMENTATION FAULT
----------------------------------------
-- Stack trace at main.cc:122
----------------------------------------
0x7fa0206ffb45 __libc_start_main
0x435855 main
0x5291ed Workspace::immediate_execution(bool)
0x464f6d Command::process_line()
0x463da3 Command::process_line(UCS_string&)
0x46e418 Executable::execute_body() const
0x4e37c0 StateIndicator::run()
0x49107a Prefix::reduce_statements()
0x48f6a0 Prefix::reduce_END_B__()
0x4e6d30 StateIndicator::statement_result(Token&)
0x525ecb Value::print(std::ostream&) const
0x4b498d PrintBuffer::PrintBuffer(Value const&, PrintContext const&)
0x443957 do_Assert(char const*, char const*, char const*, int)
0x500cbc TestFiles::assert_error()
0x7fa022656890
0x47dfda
========================================
====================================================
-k