[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-apl] IOTA
From: |
Christian Robert |
Subject: |
Re: [Bug-apl] IOTA |
Date: |
Tue, 1 Mar 2016 21:28:54 -0500 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 |
IOTA ← {∘.,/⍳¨⍵}
yes, it does the trick (you are really good btw)
but I had to disclose the result
IOTA 2 3 5
┌─────────────────────────────────────────┐
│┌5──────────────────────────────────────┐│
│2┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐││
│││1 1 1│ │1 1 2│ │1 1 3│ │1 1 4│ │1 1 5│││
│3└─────┘ └─────┘ └─────┘ └─────┘ └─────┘││
││┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐││
│││1 2 1│ │1 2 2│ │1 2 3│ │1 2 4│ │1 2 5│││
││└─────┘ └─────┘ └─────┘ └─────┘ └─────┘││
││┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐││
│││1 3 1│ │1 3 2│ │1 3 3│ │1 3 4│ │1 3 5│││
││└─────┘ └─────┘ └─────┘ └─────┘ └─────┘││
││ ││
││┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐││
│││2 1 1│ │2 1 2│ │2 1 3│ │2 1 4│ │2 1 5│││
││└─────┘ └─────┘ └─────┘ └─────┘ └─────┘││
││┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐││
│││2 2 1│ │2 2 2│ │2 2 3│ │2 2 4│ │2 2 5│││
││└─────┘ └─────┘ └─────┘ └─────┘ └─────┘││
││┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐││
│││2 3 1│ │2 3 2│ │2 3 3│ │2 3 4│ │2 3 5│││
││└─────┘ └─────┘ └─────┘ └─────┘ └─────┘││
│└∊──────────────────────────────────────┘│
└∊∊───────────────────────────────────────┘
⊃IOTA 2 3 5
┌5──────────────────────────────────────┐
2┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││1 1 1│ │1 1 2│ │1 1 3│ │1 1 4│ │1 1 5││
3└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
│┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││1 2 1│ │1 2 2│ │1 2 3│ │1 2 4│ │1 2 5││
│└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
│┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││1 3 1│ │1 3 2│ │1 3 3│ │1 3 4│ │1 3 5││
│└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
│ │
│┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││2 1 1│ │2 1 2│ │2 1 3│ │2 1 4│ │2 1 5││
│└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
│┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││2 2 1│ │2 2 2│ │2 2 3│ │2 2 4│ │2 2 5││
│└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
│┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││2 3 1│ │2 3 2│ │2 3 3│ │2 3 4│ │2 3 5││
│└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
└∊──────────────────────────────────────┘
btw my original function was not right at first, it must probably be something
like:
∇z←IOTA v
z←⍳¯1↑,v
v←¯1↓,v
Loop: →(0=⍴v)/0
z←(⍳¯1↑v) ∘., z
v←¯1↓v
→Loop
∇
thanks,
Xtian.
On 2016-03-01 21:19, Elias Mårtenson wrote:
I don't know about a loop, but wouldn't this do the same thing?
* IOTA ← {∘.,/⍳¨⍵}*
Regards,
Elias
On 2 March 2016 at 09:57, Christian Robert <address@hidden
<mailto:address@hidden>> wrote:
I have this function,
∇IOTA[⎕]∇
∇
[0] z←IOTA v
[1] z←⍳↑v
[2] v←1↓,v
[3] Loop: →(0=⍴v)/0
[4] z←z∘.,⍳↑v
[5] v←1↓v
[6] →Loop
∇
]boxing 24
IOTA 0
┌⊖┐
│0│
└─┘
IOTA 10
┌10──────────────────┐
│1 2 3 4 5 6 7 8 9 10 <tel:1%202%203%204%205%206%207%208%209%2010>│
└────────────────────┘
IOTA 2 3
┌3────────────────┐
2┌2──┐ ┌2──┐ ┌2──┐│
││1 1│ │1 2│ │1 3││
│└───┘ └───┘ └───┘│
│┌2──┐ ┌2──┐ ┌2──┐│
││2 1│ │2 2│ │2 3││
│└───┘ └───┘ └───┘│
└∊────────────────┘
IOTA 2 3 5
┌5──────────────────────────────────────┐
2┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││1 1 1│ │1 1 2│ │1 1 3│ │1 1 4│ │1 1 5││
3└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
│┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││1 2 1│ │1 2 2│ │1 2 3│ │1 2 4│ │1 2 5││
│└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
│┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││1 3 1│ │1 3 2│ │1 3 3│ │1 3 4│ │1 3 5││
│└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
│ │
│┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││2 1 1│ │2 1 2│ │2 1 3│ │2 1 4│ │2 1 5││
│└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
│┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││2 2 1│ │2 2 2│ │2 2 3│ │2 2 4│ │2 2 5││
│└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
│┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││2 3 1│ │2 3 2│ │2 3 3│ │2 3 4│ │2 3 5││
│└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
└∊──────────────────────────────────────┘
my question is: can such a function can be written in Lambda style ?
(especially in gnuapl)
eg:
IOTA ← { ... }
That IOTA function simulate the behavior of "⍳" on "Dyalog APL" and
NARS2000 and more interpretors when the argument is a vector.
thanks,
Xtian.
- Re: [Bug-apl] IOTA, (continued)
- Re: [Bug-apl] IOTA, Jay Foad, 2016/03/03
- Re: [Bug-apl] IOTA, Kacper Gutowski, 2016/03/03
- Re: [Bug-apl] IOTA, Juergen Sauermann, 2016/03/03
- Re: [Bug-apl] IOTA, Elias Mårtenson, 2016/03/03
- Re: [Bug-apl] IOTA, Juergen Sauermann, 2016/03/03
- Re: [Bug-apl] IOTA, Juergen Sauermann, 2016/03/03
- Re: [Bug-apl] IOTA, Mike Duvos, 2016/03/03
- Re: [Bug-apl] IOTA, Juergen Sauermann, 2016/03/03
- Re: [Bug-apl] IOTA, Mike Duvos, 2016/03/06
- Re: [Bug-apl] IOTA, Juergen Sauermann, 2016/03/06
Re: [Bug-apl] IOTA,
Christian Robert <=
Re: [Bug-apl] IOTA, Ala'a Mohammad, 2016/03/03