I have looked some more and concluded that I can't make Raul's solution
tacit.
A tacit solution I've got is the following interlaced sequence:
A=:rnge&(@(>@{:))
fns2=: ((-~ +/)"1 A)`((*~ +/)"1 A)`((+~ +/)"1 A)`((%~ +/)"1 A)
(;/@i...@# f...@.{.@;&.> ])data
+--------------+--------------+--------------+-------------------+
| 2 1 0 _1 _2| 1 2 3 4 5| 7 8 9 10 11| 3 1.5 1 0.75 0.6|
|11 10 9 8 7| 5 10 15 20 25|23 24 25 26 27|12 6 4 3 2.4|
|20 19 18 17 16| 9 18 27 36 45|39 40 41 42 43|21 10.5 7 5.25 4.2|
|29 28 27 26 25|13 26 39 52 65|55 56 57 58 59|30 15 10 7.5 6|
|38 37 36 35 34|17 34 51 68 85|71 72 73 74 75|39 19.5 13 9.75 7.8|
+--------------+--------------+--------------+-------------------+
A is an auxiliary adverb that does bonding and unpacking.
Jose Mario Quintana wrote:
>
> Viktor, your result does not match Raul's and only the first verb in fns
> seems to be being executed:
>
> fns eachdyad
> (-~ +/)"1&.>/"_1@:(<@[ ,. ])
>
> Am I missing something?
>
>
>
>
> ________________________________
> From: Viktor Cerovski <[email protected]>
> To: [email protected]
> Sent: Thursday, August 20, 2009 8:36:40 AM
> Subject: Re: [Jprogramming] Applying gerund
>
>
>
> Raul Miller-4 wrote:
>>
>> On Wed, Aug 19, 2009 at 11:28 PM, Sherlock,
>> Ric<[email protected]> wrote:
>>> fns=: ((-~ +/)"1)`((*~ +/)"1)`((+~ +/)"1)`((%~ +/)"1)
>>> rnge=. >: i. 5
>>> ]data=. (i.5 3);(i.5 2);(i.5 4);(i.5 3)
>> ...
>>> Given the gerund "fns" (4 dyadic verbs) and the noun "data" (4 arrays
>>> which are the desired arguments for the corresponding verbs in the
>>> gerund), how can I apply the verbs to their respective arguments
>>> such that:
>>>
>>> rnge applyVerbs data
>>> +-------------------+--------------+--------------+--------------+
>>> | 3 1.5 1 0.75 0.6| 7 8 9 10 11| 1 2 3 4 5| 2 1 0 _1 _2|
>>> |12 6 4 3 2.4|23 24 25 26 27| 5 10 15 20 25|11 10 9 8 7|
>>> |21 10.5 7 5.25 4.2|39 40 41 42 43| 9 18 27 36 45|20 19 18 17 16|
>>> |30 15 10 7.5 6|55 56 57 58 59|13 26 39 52 65|29 28 27 26 25|
>>> |39 19.5 13 9.75 7.8|71 72 73 74 75|17 34 51 68 85|38 37 36 35 34|
>>> +-------------------+--------------+--------------+--------------+
>>
>> |.fns 4 :'[email protected]&.>/y'"_1 (<rnge),. data
>> +-------------------+--------------+--------------+--------------+
>> | 3 1.5 1 0.75 0.6| 7 8 9 10 11| 1 2 3 4 5| 2 1 0 _1 _2|
>> |12 6 4 3 2.4|23 24 25 26 27| 5 10 15 20 25|11 10 9 8 7|
>> |21 10.5 7 5.25 4.2|39 40 41 42 43| 9 18 27 36 45|20 19 18 17 16|
>> |30 15 10 7.5 6|55 56 57 58 59|13 26 39 52 65|29 28 27 26 25|
>> |39 19.5 13 9.75 7.8|71 72 73 74 75|17 34 51 68 85|38 37 36 35 34|
>>
> Nice line Raul.
>
> The tacit adverb eachd based on your code is:
>
> eachd=:@.0(&.>)/("_1)(@:(<@[,.]))
> (<rnge) fns eachd data
> +--------------+--------------+--------------+--------------+
> | 2 1 0 _1 _2| 0 _1 _2 _3 _4| 5 4 3 2 1| 2 1 0 _1 _2|
> |11 10 9 8 7| 4 3 2 1 0|21 20 19 18 17|11 10 9 8 7|
> |20 19 18 17 16| 8 7 6 5 4|37 36 35 34 33|20 19 18 17 16|
> |29 28 27 26 25|12 11 10 9 8|53 52 51 50 49|29 28 27 26 25|
> |38 37 36 35 34|16 15 14 13 12|69 68 67 66 65|38 37 36 35 34|
> +--------------+--------------+--------------+--------------+
>
> If it is important that the left argument of the verb stay unboxed,
> the following tacit adverb eachdyad should be helpful:
>
> eachdyad=:@.0(&.>)/("_1)(@:(<@[,.]))
> rnge fns eachdyad data
> +--------------+--------------+--------------+--------------+
> | 2 1 0 _1 _2| 0 _1 _2 _3 _4| 5 4 3 2 1| 2 1 0 _1 _2|
> |11 10 9 8 7| 4 3 2 1 0|21 20 19 18 17|11 10 9 8 7|
> |20 19 18 17 16| 8 7 6 5 4|37 36 35 34 33|20 19 18 17 16|
> |29 28 27 26 25|12 11 10 9 8|53 52 51 50 49|29 28 27 26 25|
> |38 37 36 35 34|16 15 14 13 12|69 68 67 66 65|38 37 36 35 34|
> +--------------+--------------+--------------+--------------+
>
> --
> View this message in context:
> http://www.nabble.com/Applying-gerund-tp25055557s24193p25061195.html
> Sent from the J Programming mailing list archive at Nabble.com.
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
>
--
View this message in context:
http://www.nabble.com/Applying-gerund-tp25055557s24193p25073003.html
Sent from the J Programming mailing list archive at Nabble.com.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm