;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: utils.lisp
-;;;; Purpose: Low-level utility functions for UMLisp
-;;;; Author: Kevin M. Rosenberg
-;;;; Date Started: Apr 2000
+;;;; Name: utils.lisp
+;;;; Purpose: Low-level utility functions for UMLisp
+;;;; Author: Kevin M. Rosenberg
+;;;; Created: Apr 2000
;;;;
-;;;; $Id: utils.lisp,v 1.9 2003/06/15 19:01:01 kevin Exp $
+;;;; $Id$
;;;;
;;;; This file, part of UMLisp, is
-;;;; Copyright (c) 2000-2003 by Kevin M. Rosenberg, M.D.
+;;;; Copyright (c) 2000-2004 by Kevin M. Rosenberg, M.D.
;;;;
;;;; UMLisp users are granted the rights to distribute and use this software
;;;; as governed by the terms of the GNU General Public License.
(defun parse-ui (s &optional (nullvalue 0))
"Return integer value for a UMLS unique identifier."
+ (declare (simple-string s)
+ (optimize (speed 3) (safety 0)))
(if (< (length s) 2)
nullvalue
(nth-value 0 (parse-integer s :start 1))))
(defun parse-cui (cui)
+ (declare (optimize (speed 3) (safety 0)))
(if (stringp cui)
(let ((ch (schar cui 0)))
(if (char-equal ch #\C)
cui))
(defun parse-lui (lui)
+ (declare (optimize (speed 3) (safety 0)))
(if (stringp lui)
(let ((ch (schar lui 0)))
(if (char-equal ch #\L)
lui))
(defun parse-sui (sui)
+ (declare (optimize (speed 3) (safety 0)))
(if (stringp sui)
(let ((ch (schar sui 0)))
(if (char-equal ch #\S)
sui))
(defun parse-tui (tui)
+ (declare (optimize (speed 3) (safety 0)))
(if (stringp tui)
(let ((ch (schar tui 0)))
(if (char-equal ch #\T)
tui))
(defun parse-eui (eui)
+ (declare (optimize (speed 3) (safety 0)))
(if (stringp eui)
(let ((ch (schar eui 0)))
(if (char-equal ch #\E)
(+ (* +cuisui-scale+ cui) sui))
(defun make-cuilui (cui lui)
- (declare (fixnum cui sui)
+ (declare (fixnum cui lui)
(optimize (speed 3) (safety 0) (space 0)))
(+ (* +cuisui-scale+ cui) lui))