home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 January / enter-2004-01.iso / files / maxima-5.9.0.exe / {app} / share / maxima / 5.9.0 / src / tlimit.lisp < prev    next >
Encoding:
Text File  |  2003-02-09  |  2.0 KB  |  64 lines

  1. ;;; -*-  Mode: Lisp; Package: Maxima; Syntax: Common-Lisp; Base: 10 -*- ;;;;
  2. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3. ;;;     The data in this file contains enhancments.                    ;;;;;
  4. ;;;                                                                    ;;;;;
  5. ;;;  Copyright (c) 1984,1987 by William Schelter,University of Texas   ;;;;;
  6. ;;;     All rights reserved                                            ;;;;;
  7. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  8. ;;;     (c) Copyright 1980 Massachusetts Institute of Technology         ;;;
  9. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  10.  
  11. (in-package "MAXIMA")
  12. (macsyma-module tlimit)
  13. (load-macsyma-macros rzmac)
  14.  
  15. ;; TOP LEVEL FUNCTION(S): $TLIMIT $TLDEFINT
  16.  
  17. (DECLARE-TOP(GENPREFIX TL)
  18.      (*LEXPR $LIMIT)
  19.      (SPECIAL $TLIMSWITCH TAYLORED EXP VAR VAL LL UL
  20.           SILENT-TAYLOR-FLAG)) 
  21.  
  22. #-NIL
  23. (DEFMFUN $TLIMIT NARGS 
  24.        ((LAMBDA ($TLIMSWITCH) (APPLY '$LIMIT (LISTIFY NARGS))) T)) 
  25. #+NIL
  26. (defmfun $tlimit (&restv argvec)
  27.   (let (($tlimswitch t)) (apply #'$limit argvec)))
  28.  
  29.  
  30. (DEFMFUN $TLDEFINT (EXP VAR LL UL) 
  31.        ((LAMBDA ($TLIMSWITCH) ($LDEFINT EXP VAR LL UL)) T))
  32.  
  33. (DEFUN TLIMP (EXP) ; TO BE EXPANDED TO BE SMARTER (MAYBE)
  34.        T) 
  35.  
  36. (DEFUN TAYLIM (E *I*) 
  37.   (PROG (EX)
  38.     (SETQ EX (CATCH 'TAYLOR-CATCH
  39.              (let ((SILENT-TAYLOR-FLAG t))
  40.                ($TAYLOR E VAR (RIDOFAB VAL) 1.))))
  41.     (OR EX (RETURN (COND ((EQ *I* T) (LIMIT1 E VAR VAL))
  42.                  ((EQ *I* 'THINK) (COND ((MEMQ (CAAR EXP)
  43.                                '(MTIMES MEXPT))
  44.                              (LIMIT1 E VAR VAL))
  45.                             (T (SIMPLIMIT E VAR VAL))))
  46.                  (T (SIMPLIMIT E VAR VAL)))))
  47.     (RETURN
  48.      (let ((TAYLORED t))
  49.        (LIMIT
  50.         (SIMPLIFY
  51.          ($logcontract ($RATDISREP ex)))
  52.         ;;(COND ((EQ (CADR EX) 'PS)
  53.         ;;       (CONS (CAR EX)
  54.         ;;             (LIST 'PS (THIRD EX) (FOURTH EX)
  55.         ;;                   (FIFTH EX))))
  56.         ;;      (t (EX)))
  57.         VAR
  58.         VAL
  59.         'THINK)))))
  60.  
  61. #-NIL
  62. (DECLARE-TOP(UNSPECIAL TAYLORED EXP VAR VAL LL UL)) 
  63.  
  64.