This verb is considerably slower than I was hoping - is there a particular part 
of it that would be a bottleneck, or that I've written naively?

On 12 Sep 2011, at 03:19, bill lam wrote:

> There was domain error becasue q: cannot take 0 as its argument. Similarly
> q:1 will return an empty list so that your phi will raise errors even for
> scalar 0 and 1.
> 
> Пнд, 12 Сен 2011, David Vaughan писал(а):
>> Hi,
>> 
>> I have defined a verb like so:
>> 
>>   phi=: 3 : 'y%#(>:i.y)-.,(>:i.y)*/(y$q:y)'
>> 
>> It seems I can only use with atoms, e.g.
>> 
>>   phi 6
>> 3
>> 
>> What I want to be able to do, is apply this verb to a list. I would also 
>> like to know how I can define verbs so they can be more flexible in this way 
>> in a general sense.
>> 
>> This is the output of my failed attempt:
>> 
>>   phi i.6
>> |domain error: phi
>> |   y%#(>:i.y)-.,(>:i.y)*/(y$    q:y)
>> 
>> I can kind of see where the problems may be, but I can't think how to 
>> eradicate them - this is the sort of thing I would usually be just using  
>> loop for in a C type language, but I would dearly love to know the best J 
>> style approach. Also, I find that these error messages are difficult to 
>> interpret - I'm not clear where the error has been found, but I assume the 
>> large space has something to do with it (any advice here would be helpful).
>> 
>> Thanks in advance.
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> -- 
> regards,
> ====================================================
> GPG key 1024D/4434BAB3 2008-08-24
> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to