System Variable IC: Difference between revisions
From NARS2000
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 47: | Line 47: | ||
</table> | </table> | ||
<br /> | <br /> | ||
<p>This experimental feature attempts to collect together in one place control of various indeterminate calculations such as <apll>0÷0</apll> and friends. The values of this multi-element vector each control a different calculation. In particular,</p> | <p>This experimental feature attempts to collect together in one place control of various infinite and indeterminate calculations such as <apll>÷0</appl>, <apll>0÷0</apll>, and friends. The values of this multi-element vector each control a different calculation. In particular,</p> | ||
<table border="0" cellpadding="5" cellspacing="0 rules="rows" summary=""> | <table border="0" cellpadding="5" cellspacing="0 rules="rows" summary=""> | ||
Line 111: | Line 111: | ||
<tr> | <tr> | ||
<td align="center">9</td> | <td align="center">9</td> | ||
<td align="center"><apll>N*∞</apll> for <apll>N<¯1</apll></td> | |||
<td align="center"><apll>DOMAIN ERROR</apll></td> | |||
</tr> | |||
<tr> | |||
<td align="center">10</td> | |||
<td align="center"><apll>0⍟0</apll></td> | <td align="center"><apll>0⍟0</apll></td> | ||
<td align="center"><apll>DOMAIN ERROR</apll></td> | <td align="center"><apll>DOMAIN ERROR</apll></td> | ||
Line 116: | Line 122: | ||
<tr> | <tr> | ||
<td align="center"> | <td align="center">11</td> | ||
<td align="center"><apll>0⍟1</apll></td> | <td align="center"><apll>0⍟1</apll></td> | ||
<td align="center"><apll>DOMAIN ERROR</apll></td> | <td align="center"><apll>DOMAIN ERROR</apll></td> | ||
Line 122: | Line 128: | ||
<tr> | <tr> | ||
<td align="center"> | <td align="center">12</td> | ||
<td align="center"><apll>1⍟0</apll></td> | <td align="center"><apll>1⍟0</apll></td> | ||
<td align="center"><apll>DOMAIN ERROR</apll></td> | <td align="center"><apll>DOMAIN ERROR</apll></td> | ||
Line 128: | Line 134: | ||
<tr> | <tr> | ||
<td align="center"> | <td align="center">13</td> | ||
<td align="center"><apll>1⍟1</apll></td> | <td align="center"><apll>1⍟1</apll></td> | ||
<td align="center"><apll>1</apll></td> | <td align="center"><apll>1</apll></td> | ||
Line 175: | Line 181: | ||
⎕IO←0<br /> | ⎕IO←0<br /> | ||
⎕IC<br /> | ⎕IC<br /> | ||
3 4 2 2 2 1 2 2 1 2 2 2 1<br /> | 3 4 2 2 2 1 2 2 1 2 2 2 2 1<br /> | ||
0÷0<br /> | 0÷0<br /> | ||
1<br /> | 1<br /> | ||
Line 185: | Line 191: | ||
⎕IC←⍬<br /> | ⎕IC←⍬<br /> | ||
⎕IC<br /> | ⎕IC<br /> | ||
3 4 2 2 2 1 2 2 1 2 2 2 1<br /> | 3 4 2 2 2 1 2 2 1 2 2 2 2 1<br /> | ||
</apll> | </apll> | ||
==Incomplete List of Indeterminates== | |||
<p>That there may be other indeterminates not covered by this feature. Please let us know if you think there are other cases which should be included.</p> |
Revision as of 17:46, 8 June 2008
Indeterminate Control
|
||||
Z is an integer vector whose elements each control a separate aspect of how indeterminates are handled by the system. |
|
This experimental feature attempts to collect together in one place control of various infinite and indeterminate calculations such as ÷0,
⎕IC Index (origin-0) |
Indeterminate Calculation |
Default Result |
---|---|---|
0 | ÷0 | ∞ |
1 | ⍟0 | ¯∞ |
2 | !N for integer N < 0 | DOMAIN ERROR |
3 | 0×∞ and ∞×0 | DOMAIN ERROR |
4 | 0ׯ∞ and ¯∞×0 | DOMAIN ERROR |
5 | 0÷0 | 1 |
6 | ∞÷∞ (same sign) | DOMAIN ERROR |
7 | ∞÷∞ (different sign) | DOMAIN ERROR |
8 | 0*0 | 1 |
9 | N*∞ for N<¯1 | DOMAIN ERROR |
10 | 0⍟0 | DOMAIN ERROR |
11 | 0⍟1 | DOMAIN ERROR |
12 | 1⍟0 | DOMAIN ERROR |
13 | 1⍟1 | 1 |
The values in each element of ⎕IC control the result of the calculation as follows:
⎕IC Value | Result |
---|---|
0 | 0 |
1 | 1 |
2 | DOMAIN ERROR |
3 | ∞ |
4 | ¯∞ |
For example,
⎕IO←0
⎕IC
3 4 2 2 2 1 2 2 1 2 2 2 2 1
0÷0
1
⎕IC[5]←2
0÷0
DOMAIN ERROR
0÷0
∧
⎕IC←⍬
⎕IC
3 4 2 2 2 1 2 2 1 2 2 2 2 1
Incomplete List of Indeterminates
That there may be other indeterminates not covered by this feature. Please let us know if you think there are other cases which should be included.