System Variable IC
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×∞ or ∞×0 | DOMAIN ERROR |
4 | 0ׯ∞ or ¯∞×0 | DOMAIN ERROR |
5 | 0÷0 | 1 |
6 | ∞÷∞ (same sign) | DOMAIN ERROR |
7 | ∞÷∞ (different sign) | DOMAIN ERROR |
8 | ∞-∞ (same sign) | DOMAIN ERROR |
9 | L|±∞ | DOMAIN ERROR |
10 | 0*0 | 1 |
11 | L*∞ for any L≤¯1 | DOMAIN ERROR |
12 | 0⍟0 | DOMAIN ERROR |
13 | 0⍟1 | DOMAIN ERROR |
14 | 1⍟0 | DOMAIN ERROR |
15 | 1⍟1 | 1 |
16 | 0*∞ | 0 |
17 | 0*¯∞ | ∞ |
18 | ±∞*0 | DOMAIN ERROR |
19 | 0∨±∞ or ±∞∨0 | DOMAIN ERROR |
20 | 0∧±∞ or ±∞∧0 | DOMAIN ERROR |
The values in each element of ⎕IC control the result of the calculation as follows:
⎕IC Value | Result |
---|---|
¯1 | ¯1 |
0 | 0 |
1 | 1 |
2 | DOMAIN ERROR |
3 | ∞ |
4 | ¯∞ |
For example,
⎕IO←0
⎕IC
3 4 2 2 2 1 2 2 2 2 1 2 1 2 2 1 0 3 2 2 2
0÷0
1
⎕IC[5]←2
0÷0
DOMAIN ERROR
0÷0
∧
⎕IC←⍬
⎕IC
3 4 2 2 2 1 2 2 2 2 1 2 1 2 2 1 0 3 2 2 2
To set all indeterminate results to DOMAIN ERROR, use ⎕IC[]←2.
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 that should be included.