4,494
edits
m (Errors category) |
m (Text replacement - "<source" to "<syntaxhighlight") |
||
Line 1: | Line 1: | ||
A '''LIMIT ERROR''' is an [[error message]] indicating that some imposed limit of the interpreter (one that is due to resource or design rather than theoretical limitations) has prevented an operation from completing. Common cases are that a program attempted to create an array whose [[rank]] exceeds the [[maximum rank]] or whose length along one [[axis]] would exceed the maximum allowed length. In [[Dyalog APL]], the maximum rank is 15, so taking an [[Outer Product]] of two rank-8 arrays fails: | A '''LIMIT ERROR''' is an [[error message]] indicating that some imposed limit of the interpreter (one that is due to resource or design rather than theoretical limitations) has prevented an operation from completing. Common cases are that a program attempted to create an array whose [[rank]] exceeds the [[maximum rank]] or whose length along one [[axis]] would exceed the maximum allowed length. In [[Dyalog APL]], the maximum rank is 15, so taking an [[Outer Product]] of two rank-8 arrays fails: | ||
< | <syntaxhighlight lang=apl> | ||
((8⍴1)⍴2) ∘.+ ((8⍴1)⍴3) | ((8⍴1)⍴2) ∘.+ ((8⍴1)⍴3) | ||
LIMIT ERROR: Rank of resultant array would exceed maximum permitted | LIMIT ERROR: Rank of resultant array would exceed maximum permitted | ||
Line 7: | Line 7: | ||
</source> | </source> | ||
{{Works in|[[Dyalog APL]]}} | {{Works in|[[Dyalog APL]]}} | ||
In a 64-bit interpreter, it is rare to run into an array length limit, since the maximum allowed length is usually on the order of < | In a 64-bit interpreter, it is rare to run into an array length limit, since the maximum allowed length is usually on the order of <syntaxhighlight lang=apl inline>2*64</source>, and attempting to create an array this large may run into a [[DOMAIN ERROR]] or [[WS FULL]], as most machines do not have enough addressable memory to store it. [[Empty]] arrays do not need storage space, so working with arrays with one length-0 axis and one long axis can sometimes reveal a LIMIT ERROR: | ||
< | <syntaxhighlight lang=apl> | ||
((0,2*63)⍴2) , ((0,2*63)⍴3) | ((0,2*63)⍴2) , ((0,2*63)⍴3) | ||
LIMIT ERROR | LIMIT ERROR |