home *** CD-ROM | disk | FTP | other *** search
- ile efficiently
-
-
- ;* The function == is machine dependent!
- ;* This function compares small integers for equality. It uses EQ
- ;* so that it will be fast, and it will consequently not work on all
- ;* Lisps. It works in Franz Lisp for integers in [-128, 127]
- ;(system::macro == (z) `(eq ,(cadr z) ,(caddr z)))
- ;;;
- ;;; Dario Giuse - made a macro. This is going to be faster than anything else.
- ;;;
- (defmacro == (x y)
- `(equal ,x ,y))
-
- ;;; =ALG returns T if A and B are algebraically equal.
- ;;; This corresponds to equalp - Dario Giuse
- ;;;
- (defmacro =alg (a b)
- `(equalp ,a ,b))
-
- #| @@@ gdw Mon Jul 23 00:48:19 1984
- ;; not used, since all calls to fast-symeval have been replaced by
- ;; calls to symbol-value
-
- (defmacro fast-symeval (&body z)
- `(cond ((eq ,(car z) '*c1*) *c1*)
- ((eq ,(car z) '*c2*) *c2*)
- ((eq ,(car z) '*c3*) *c3*)
- ((eq ,(car z) '*c4*) *c4*)
- ((eq ,(car z) '*c5*) *c5*)
- ((eq ,(car z) '*c6*) *c6*)
- ((eq ,(car z) '*c7*) *c7*)
- (t (eval ,(car z)))))
- |#
- ; getvector and putvector are fast routines for using ONE-DIMENSIONAL
- ; arrays. these routines do no checking; they assume
- ; 1. the array is a vector with 0 being the index of the first
- ; element
- ; 2. the vector holds arbitrary list values
-
- ; Example call: (putvector array index value)
- ;;; Dario Giuse - 6/20/84
-
- (defmacro putvector (array index value)
- `(setf (aref ,array ,index) ,value))
-
- ;;; Example call: (getvector name index)
- ;;;
- (defmacro getvector (array index)
- `(aref ,array ,index))
-
-
- ;;; Dario Giuse 6/21/84
- (defmacro putprop (atom value property)
- `(setf (get ,atom ,property) ,value))
-
-
- (defun ce-gelm (x k)
-