X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=genutils.lisp;h=cbd78f1682ea0d3a498883b55cd3c547fdc577a3;hb=aa610805927518a648eb0da6a8713cd0a83337df;hp=cc7935a0c21c6f84e7a4f86d293e39b66be0e688;hpb=0785aaa6c33301cdb5d23ab1a09f262d33dba21d;p=kmrcl.git diff --git a/genutils.lisp b/genutils.lisp index cc7935a..cbd78f1 100644 --- a/genutils.lisp +++ b/genutils.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: genutils.lisp,v 1.14 2003/01/13 21:40:20 kevin Exp $ +;;;; $Id: genutils.lisp,v 1.16 2003/04/28 21:12:27 kevin Exp $ ;;;; ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -18,7 +18,6 @@ (in-package :kmrcl) -(declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3))) (defmacro let-when ((var test-form) &body body) `(let ((,var ,test-form)) @@ -481,35 +480,6 @@ (nreverse lines)))) -;;; Formatting functions - -(defun pretty-date (year month day &optional (hour 12) (m 0) (s 0)) - (multiple-value-bind (sec min hr dy mn yr wkday) - (decode-universal-time - (encode-universal-time s m hour day month year)) - (values (elt '("Monday" "Tuesday" "Wednesday" "Thursday" - "Friday" "Saturday" "Sunday") - wkday) - (elt '("January" "February" "March" "April" "May" "June" - "July" "August" "September" "October" "November" - "December") - (1- mn)) - (format nil "~A" dy) (format nil "~A" yr) - (format nil "~2,'0D:~2,'0D:~2,'0D" hr min sec)))) - - -(defun date-string (ut) - (if (typep ut 'integer) - (multiple-value-bind (sec min hr day mon year dow daylight-p zone) - (decode-universal-time ut) - (declare (ignore daylight-p zone)) - (format nil "~[Mon~;Tue~;Wed~;Thu~;Fri~;Sat~;Sun~], ~d ~[Jan~;Feb~;Mar~;Apr~;May~;Jun~;Jul~;Aug~;Sep~;Oct~;Nov~;Dec~] ~d ~2,'0d:~2,'0d:~2,'0d" - dow - day - (1- mon) - year - hr min sec)))) - ;; Benchmarking @@ -551,3 +521,9 @@ (format t ", time per iteration: ") (print-seconds (coerce (/ secs ,n) 'double-float)))))))) + +(defun nsubseq (sequence start &optional (end (length sequence))) + (make-array (- end start) + :element-type (array-element-type sequence) + :displaced-to sequence + :displaced-index-offset start))