Henry, I tried this in J5.04 (changed x y into x. y.) but it returned a syntax error (e.g. 'aap' LevDist5 'taap') ³syntax error: LevDist5 ³ z=.<./\&.(-&iz)( >:<.(j~:b)+|.!.j_index)z What's wrong? J6 works fine. Jan.
On Sun, Dec 20, 2009 at 5:37 PM, Henry Rich <henryhr...@nc.rr.com> wrote: > Well, let me give you my final version then: > > levdist=: 4 : 0"1 > 'a b'=. (/: #&>)x;y > z=. >: iz =. i.#b > for_j. a do. > z=. <./\&.(-&iz) (>: <. (j ~: b) + |.!.j_index) z > end. > {:z > ) > > No way is this ever going to be a J primitive. And J does not allow > overloading primitive names with user code. You'll have to give it a > name and use it. > > I've not heard of Tanimoto distance, but we can work on that next. > > Henry Rich > > Jan Jacobs wrote: > > Henry, > > very good. For longer strings it is more than double so fast as the > previous > > version. In my test cases it even consumes less memory. > > Is it possible to include this as a native function in J (e.g. > overloading > > -. or s:)? > > Same question but now for Tanimoto distance? > > Jan. > > > > > > On 12/19/09, R.E. Boss <r.e.b...@planet.nl> wrote: > >> Smart analysis. Chapeau! > >> > >> > >> R.E. Boss > >> > >> > >> -----Oorspronkelijk bericht----- > >> Van: programming-boun...@jsoftware.com > >> [mailto:programming-boun...@jsoftware.com] Namens Henry Rich > >> Verzonden: zaterdag 19 december 2009 3:00 > >> Aan: Programming forum > >> Onderwerp: [Jprogramming] Levenshtein distance > >> > >> I was working with R. E.'s compact implementation of the Levenshtein > >> distance and I found an interesting equivalence: > >> > >> (<. >:)/\.&.|. > >> > >> can be replaced by > >> > >> (<./\@:- + ]) i...@# > >> > >> which uses a little more space but is quite a bit faster for large > >> operands. So now I have the version: > >> > >> NB. Levenshtein distance between two strings > >> levdist=: 4 : 0 > >> 'a b'=. (/: #&>)x;y > >> z=. i.>:#b > >> for_j. a do. > >> z=. ((<./\@:- + ]) i...@#) ((j ~: b) + }:z) ({...@] , (<. }.)) >:z > >> end. > >> {:z > >> ) > >> > >> > >> Henry Rich > >> ---------------------------------------------------------------------- > >> For information about J forums see http://www.jsoftware.com/forums.htm > >> > >> ---------------------------------------------------------------------- > >> For information about J forums see http://www.jsoftware.com/forums.htm > >> > > > > > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > -- Jan Jacobs Esdoornstraat 33 5995AN Kessel T: +31 77 462 1887 M: +31 6 23 82 55 21 E: jan.jac...@sommaps.com ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm