- (declare (integer cuisui))
- (let* ((cui (the fixnum (truncate (/ cuisui +cuisui-scale+))))
- (sui (the fixnum (- cuisui (* cui +cuisui-scale+)))))
- (values cui sui)))
+ "Returns the CUI and SUI of a cuisui number"
+ #-64bit (declare (integer cuisui))
+ #+64bit (declare (fixnum cuisui))
+ (floor cuisui +cuisui-scale+))
+
+;;; Lookup functions for uterms,ustr in ucons
+
+(defun find-uterm-in-ucon (ucon lui)
+ (find lui (s#term ucon) :key #'lui :test 'equal))
+
+(defun find-ustr-in-uterm (uterm sui)
+ (find sui (s#str uterm) :key #'sui :test 'equal))
+
+(defun find-ustr-in-ucon (ucon sui)
+ (dolist (uterm (s#term ucon))
+ (dolist (ustr (s#str uterm))
+ (when (string-equal sui (sui ustr))
+ (return-from find-ustr-in-ucon ustr)))))