home *** CD-ROM | disk | FTP | other *** search
- ;;; -*- Mode: Lisp; Package: Maxima; Syntax: Common-Lisp; Base: 10 -*- ;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;; The data in this file contains enhancments. ;;;;;
- ;;; ;;;;;
- ;;; Copyright (c) 1984,1987 by William Schelter,University of Texas ;;;;;
- ;;; All rights reserved ;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;; If you see bogus or missing data here, please tell GJC or JPG. ;;;
- ;;; (c) Copyright 1982 Massachusetts Institute of Technology ;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
- (in-package "MAXIMA")
- (macsyma-module trdata)
-
- ;;; N.B. This is some data. Boy, does it have subtle effect on the code
- ;;; produced by TRANSLATE. It should be carefully checked and updated.
- ;;; Since it is so small, and compiles so quickly it sometimes serves
- ;;; as a fix (i.e. hack) file. so be careful.
-
-
- (TRANSL-MODULE TRDATA)
-
- (EVAL-WHEN (COMPILE)
- (SETQ *DEF%TR-PRODUCES-AUTOLOAD-FILE* NIL))
-
- ;; this should go someplace else perhaps.
-
- (DEF-AUTOLOAD-TRANSLATE $romberg $interpolate)
-
- ;;; MODEDECLARE(FUNCTION(LENGTH),FIXNUM)
-
- ;;I think all this can be done at load time only:--wfs
- (eval-when (load)
-
- (MAPC #'(LAMBDA (X) (PUTPROP X '$FIXNUM 'FUNCTION-MODE))
- '($LENGTH $NTERMS RANDOM $NROOTS $RANK $POLYSIGN $TIME
- $ARRAY_DIMENSION_N))
-
- ;;; MODEDECLARE(FUNCTION(ROMBERG_SUBR),FLOAT)
- ;;; ROMBERG is a macsyma macro.
-
- (MAPC #'(LAMBDA (X) (PUTPROP X '$FLOAT 'FUNCTION-MODE))
- '($ROMBERG_SUBR $INTERPOLATE_SUBR))
-
- ;;; Functions of BOOLEAN return VALUE. i.e. PREDICATES
-
- (MAPC #'(LAMBDA (X) (PUTPROP X '$BOOLEAN 'FUNCTION-MODE))
- '($ARRAY $BFLOATP $LISTP $MATRIXP $RATNUMP $CONSTANTP
- $ATOM $FREEOF $subvarp $SYMBOLP
- $evenp $oddp $orderlessp $ordergreatp $mapatom
- $INTEGERP $FLOATNUMP $NONSCALARP $NUMBERP $RATP $MEMBER
- $EMPTYP))
-
- ;;; MODEDECLARE(TRUE,BOOLEAN)
-
- (MAPC #'(LAMBDA (X) (PUTPROP X '$BOOLEAN 'MODE))
- '($TRUE $FALSE $DOALLMXOPS $DOMXMXOPS $DOSCMXOPS $DETOUT
- $DOTASSOC $DOTDISTRIB $DOTSCRULES $EXPONENTIALIZE
- $KEEPFLOAT $LISTARITH $LOGSIMP
- $MAXAPPLYHEIGHT $MAXAPPLYDEPTH $MAPERROR $POWERDISP
- $SCALARMATRIX $SIMP $TTYOFF $UNDERFLOW $INFEVAL
- $XAXIS $YAXIS $RATFAC))
-
- (MAPC #'(LAMBDA (X) (PUTPROP X (STRIPDOLLAR X) 'LISP-FUNCTION-TO-USE))
- '(%LOG %SIN %COS %TAN %COT %CSC %SEC %ACOT
- %ASIN %ACOS %ACSC %ASEC
- %SINH %COSH %TANH %COTH %CSCH %SECH %ASINH %ACSCH %ERF))
-
- (MAPC #'(LAMBDA (X) (PUTPROP X T 'IMPLIED-QUOTEP))
- '($EVAL $DONE $%I $%PI $%E $%PHI $%GAMMA
- MQAPPLY ; important for array referencing conventions.
- ))
-
-
- ;;; The result of a part function never needs simplification.
- ;;; $CONS for example has the same property, although it
- ;;; is not a "PART" function.
-
- ;;; ELL has just shown a bug with FIRST and REST interaction with
- ;;; DEFMATCH and MATCHDECLARE. The extra simplification needed
- ;;; it seems. LIST mode must be implemented, untill then the
- ;;; cost of the extra SIMPLFY call is not much compared with the
- ;;; consing involved. Above all, we must have correct code !!!
-
- (MAPC #'(LAMBDA (L) (PUTPROP L t 'TR-NOSIMP))
- '(;$FIRST $REST $LAST
- $PRINT
- $NUM $DENOM $LHS $RHS $PART
- $CONS $REVERSE $ENDCONS $APPEND
- $UNION $INTERSECTION $SETDIFF $SYMDIFF
- $MAPSET $PREDSET |${| $ELEMENTOF
- ))
-
- (DEFPROP $REALPART $REALPART LISP-FUNCTION-TO-USE)
-
-
- (SETQ TRANSL-MODULES '(
-
- TRANSS
- TRANSL
- TRUTIL
- TRANS1
- TRANS2
- TRANS3
- TRANS4
- TRANS5
- TRANSF
- TROPER
- TRPRED
-
- MTAGS
- MDEFUN
- TRANSQ
- FCALL
- ACALL
- TRDATA
- MCOMPI
- TRMODE
- TRHOOK
- ))
-
- )