r3343: *** empty log message ***
authorKevin M. Rosenberg <kevin@rosenberg.net>
Fri, 8 Nov 2002 06:43:34 +0000 (06:43 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Fri, 8 Nov 2002 06:43:34 +0000 (06:43 +0000)
genutils.lisp
kmrcl.asd
math.lisp [new file with mode: 0644]

index be156cc325bcfc012e875eb64cc92a50c276b57d..09d595d77c5304dd1153df418690f71260e8f8af 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: genutils.lisp,v 1.9 2002/11/07 22:08:41 kevin Exp $
+;;;; $Id: genutils.lisp,v 1.10 2002/11/08 06:43:34 kevin Exp $
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
        (strm (gensym)))
     `(let ((,strm ,stream)
           (,eof ',eof-value))
        (strm (gensym)))
     `(let ((,strm ,stream)
           (,eof ',eof-value))
-       (do ((,var (read-line ,strm nil ,eof) (read-line ,strm nil ,eof)))
-          ((eql ,var ,eof))
-        ,@body))))
+      (do ((,var (read-line ,strm nil ,eof) (read-line ,strm nil ,eof)))
+         ((eql ,var ,eof))
+       ,@body))))
 
 (defmacro with-each-file-line ((var file) &body body)
   (let ((stream (gensym)))
     `(with-open-file (,stream ,file :direction :input)
 
 (defmacro with-each-file-line ((var file) &body body)
   (let ((stream (gensym)))
     `(with-open-file (,stream ,file :direction :input)
-         (with-each-stream-line (,var ,stream)
-           ,@body))))
+      (with-each-stream-line (,var ,stream)
+       ,@body))))
 
                
 ;;; Keyword functions
 
                
 ;;; Keyword functions
 
 (defun file-subst (old new file1 file2)
   (with-open-file (in file1 :direction :input)
 
 (defun file-subst (old new file1 file2)
   (with-open-file (in file1 :direction :input)
-     (with-open-file (out file2 :direction :output
-                                :if-exists :supersede)
-       (stream-subst old new in out))))
+    (with-open-file (out file2 :direction :output
+                        :if-exists :supersede)
+      (stream-subst old new in out))))
 
 (defun stream-subst (old new in out)
   (declare (string old new))
 
 (defun stream-subst (old new in out)
   (declare (string old new))
index 9a6606d838f088437f15e0f45ce1597e418b9523..cc9809072e3491035c7f38fa9835c98e4e21529f 100644 (file)
--- a/kmrcl.asd
+++ b/kmrcl.asd
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: kmrcl.asd,v 1.19 2002/11/03 20:10:48 kevin Exp $
+;;;; $Id: kmrcl.asd,v 1.20 2002/11/08 06:43:34 kevin Exp $
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
@@ -34,6 +34,7 @@
      (:file "telnet-server" :depends-on ("genutils"))
      (:file "random" :depends-on ("package"))
      (:file "cl-symbols" :depends-on ("package"))
      (:file "telnet-server" :depends-on ("genutils"))
      (:file "random" :depends-on ("package"))
      (:file "cl-symbols" :depends-on ("package"))
+     (:file "math" :depends-on ("package"))
      #+allegro (:file "attrib-class" :depends-on ("package"))
      (:file "web-utils" :depends-on ("package"))
      (:file "xml-utils" :depends-on ("package"))
      #+allegro (:file "attrib-class" :depends-on ("package"))
      (:file "web-utils" :depends-on ("package"))
      (:file "xml-utils" :depends-on ("package"))
diff --git a/math.lisp b/math.lisp
new file mode 100644 (file)
index 0000000..9772b7a
--- /dev/null
+++ b/math.lisp
@@ -0,0 +1,31 @@
+;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
+;;;; *************************************************************************
+;;;; FILE IDENTIFICATION
+;;;;
+;;;; Name:          math.lisp
+;;;; Purpose:       General purpose math functions
+;;;; Programmer:    Kevin M. Rosenberg
+;;;; Date Started:  Nov 2002
+;;;;
+;;;; $Id: math.lisp,v 1.1 2002/11/08 06:43:34 kevin Exp $
+;;;;
+;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
+;;;;
+;;;; KMRCL users are granted the rights to distribute and use this software
+;;;; as governed by the terms of the Lisp Lesser GNU Public License
+;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
+;;;; *************************************************************************
+
+
+(in-package :kmrcl)
+(declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3)))
+
+(defun deriv (f dx)
+  #'(lambda (x)
+      (/ (- (funcall f (+ x dx)) (funcall f x))
+        dx)))
+
+(defun sin^ (x)
+    (funcall (deriv #'sin 1d-8) x))
+
+;;; (sin^ pi)