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
