Author: iratqq
Date: Sun Feb 17 02:38:24 2008
New Revision: 5183

Modified:
  trunk/scm/sj3.scm

Log:
* scm/sj3.scm (sj3-getdouon)
 - Don't search duplicate entry from douon list.
   This operation eats cputime.


Modified: trunk/scm/sj3.scm
==============================================================================
--- trunk/scm/sj3.scm   (original)
+++ trunk/scm/sj3.scm   Sun Feb 17 02:38:24 2008
@@ -57,18 +57,8 @@
                         (reverse (string-to-list str))))))
  (let ((douon (sj3-lib-getdouon str))
        (kana-list (make-map-from-kana-string str)))
-    (define (find-douon str)
-      (find (lambda (l)
-              (and (list? l)
-                   (equal? str (car l))))
-            douon))
    (append douon
-            (reverse (fold (lambda (kana-str e)
-                             (if (not (find-douon kana-str))
-                                 (cons (list kana-str) e)
-                                 e))
-                           '()
-                           kana-list)))))
+            (map list kana-list))))
(define (sj3-get-nth-douon str nth)
  (let ((douon (sj3-getdouon str)))
    (car (list-ref douon nth))))

Reply via email to