Page 1 of 1

Decode problem

Posted: Wed Aug 01, 2018 9:33 am
by hbarkhof
In the book : "Mastering Dyalog APL" , page 461 exercise K-1

The question(s):

What is the result of :
a) 0 ⊥ 12 34 60 77 19
b) 1 ⊥ 12 34 60 77 19

Results in 19 and 202 respectively. No problem here
a) +/(12×0) (34×0) (60×0) (77×0) 19
b) +/ 12 34 60 77 19

But what happens with:

2 ⊥ 12 34 60 77 19 (results in 877 , but how?)

I was thinking that I understood ENCODE and DECODE but apparently.... :-(

Re: Decode problem

Posted: Wed Aug 01, 2018 9:57 am
by Veli-Matti
Perhaps this will explain it better:
      +/ 12 34 60 77 19 × 2*4 3 2 1 0
877


-Veli-Matti

Re: Decode problem

Posted: Wed Aug 01, 2018 12:58 pm
by hbarkhof
Ah , thus with a 3 the result would be :

+/ 12 34 60 77 19 × 3*4 3 2 1 0

Resulting in 2680

Thanks for explaning , colour me red ! :-)

Re: Decode problem

Posted: Thu Aug 02, 2018 10:07 am
by Veli-Matti
This might give some kind of insight as well:
      ⎕IO←1
0⊥12 34 60 77 19
19
0{⍺⊥⍵}12 34 60 77 19
19
1{+/⍵×⍺*⌽¯1+⍳≢⍵}12 34 60 77 19
202
2{+/⍵×⍺*(≢⍵)-⍳≢⍵}12 34 60 77 19
877
3{+/⍵×⍺*(⊢-⍳)≢⍵}12 34 60 77 19
2680
⎕IO←0
3{+/⍵×⍺*⌽⍳≢⍵}12 34 60 77 19
2680

-Veli-Matti