;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: strings.lisp,v 1.29 2003/05/16 08:32:10 kevin Exp $
+;;;; $Id: strings.lisp,v 1.30 2003/05/16 08:37:20 kevin Exp $
;;;;
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
Leading zeros are present."
(declare (optimize (speed 3) (safety 0) (space 0))
(type fixnum len) (type integer num))
- (when pchar
- (incf len))
(do* ((zero-code (char-code #\0))
(result (make-string len :initial-element #\0))
(minus? (minusp num))
(pos (1- len) (1- pos))
(mod (mod val 10) (mod val 10)))
((or (zerop val) (minusp pos))
- (when pchar
- (setf (schar result 0) pchar))
(when minus? (setf (schar result (if pchar 1 0)) #\-))
result)
(declare (fixnum mod zero-code pos) (simple-string result) (integer val))