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))))