seconds | consed | calls | sec/call | name ---------------------------------------------------------------- 17.805 | 529,053,576 | 1,396 | 0.012754 | NBAYES 16.738 | 684,245,912 | 21,024,359 | 0.000001 | PARSE-FLOAT 11.323 | 782,035,648 | 5,342,220 | 0.000002 | PARSE-FLOAT-HELP 7.489 | 1,248,749,136 | 20,934,138 | 0.0000004 | GETBIN 1.321 | 1,348,297,392 | 2,792 | 0.000473 | SETBINS 0.437 | 16,129,608 | 3 | 0.145750 | GETBINS 0.096 | 16,044,952 | 1,396 | 0.000068 | GETNBAYESSCORE 0.008 | 1,089,232 | 1 | 0.007702 | GETMINMAX 0.002 | 24,576 | 4,188 | 0.0000004 | CLEARMARKS 0.000 | 0 | 1 | 0.000000 | TRACK-STOP 0.000 | 0 | 1 | 0.000000 | LEVELPRINT 0.000 | 0 | 1 | 0.000000 | TRACK-START 0.000 | 0 | 1,396 | 0.000000 | GETDATA 0.000 | 32,768 | 2 | 0.000000 | CLEANDATA 0.000 | 8,192 | 3 | 0.000000 | TRAIN 0.000 | 12,512 | 1 | 0.000000 | SHOWRULESET 0.000 | 20,472 | 3 | 0.000000 | DISTRIBUTION 0.000 | 40,960 | 3 | 0.000000 | HT2LIST 0.000 | 0 | 1 | 0.000000 | WRITETOFILE 0.000 | 90,112 | 1,396 | 0.000000 | GATHERDATA 0.000 | 8,465,256 | 1 | 0.000000 | RDR ---------------------------------------------------------------- 55.217 | 4,634,340,304 | 47,313,302 | | Total (defun parse-float (str) (let ((pos (position "." str :test 'string-equal))) (print pos) (if (not pos) (parse-integer str) (parse-float-help str pos)))) (defun parse-float-help (str pos) (let ((new (remove "." str :test 'string-equal)) (len (length str))) (print new) (print len) (print pos) (let ((int (parse-integer new))) (print int) (* (/ int (expt 10 (- len pos))) 10))))