mirror of
https://github.com/PDP-10/its.git
synced 2026-05-04 07:09:12 +00:00
Resolves #284. Commented out uses of time-origin in maxtul; mcldmp (init) until we can figure out why it gives arithmetic overflows under the emulators. Updated the expect script statements in build_macsyma_portion to not attempt to match expected strings, but simply sleep for some time since in some cases the matching appears not to work.
55 lines
1.7 KiB
Common Lisp
55 lines
1.7 KiB
Common Lisp
;;;;;;;;;;;;;;;;;;; -*- Mode: Lisp; Package: Macsyma -*- ;;;;;;;;;;;;;;;;;;;
|
|
;;; (c) Copyright 1980 Massachusetts Institute of Technology ;;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
(includef (cond ((status feature ITS) '|libmax;prelud >|)
|
|
((status feature Multics) '|prelude|)
|
|
((status feature Unix) '|libmax//prelud.l|)
|
|
(t (error '|Unknown system -- see MC:LIBMAX;INCLUD >|))))
|
|
|
|
(DECLARE (SPECIAL $RATVARS POISCOM1 POISHIFT $LIM))
|
|
|
|
(DECLARE (SPECIAL $GCDOFF $RATEXPAND GENVAR VARLIST POISCO1 POISCOM1 GEN TR TLIST))
|
|
|
|
(SETQ POISCO1 '(1. . 1.) POISCOM1 '(-1. . 1.))
|
|
|
|
;;; THESE PROGRAMS MAKE POISSON COEFFICIENTS RATIONAL FUNCTIONS (CRE)
|
|
;;; POISCDECODE DECODES A COEFFICIENT
|
|
|
|
(DEFUN POISCDECODE (X)
|
|
($RATDISREP (CONS (LIST 'MRAT 'SIMP (CDR $RATVARS) GENVAR) X)))
|
|
|
|
;;; INTOPOISCO PUTS AN EXPRESSION INTO POISSON COEFFICIENT FORM
|
|
|
|
(DEFUN INTOPOISCO (X)
|
|
(COND ((AND (NOT (ATOM X)) (NUMBERP (CDR X))) X)
|
|
(T (CDR(RATREP X (CDR $RATVARS))))))
|
|
|
|
;;; POISCO+ ADDS 2 COEFFICIENTS
|
|
;;; POISCO* MULTIPLIES 2 COEFFICIENTS
|
|
|
|
(DEFUN POISCO* (X Y) (RATTIMES X Y T))
|
|
|
|
(DEFUN POISCO+ (X Y) (RATPLUS X Y))
|
|
|
|
;;; HALVE DIVIDES A COEFFICIENT BY 2
|
|
|
|
(DEFUN HALVE (R) (RATTIMES '(1. . 2.) R T))
|
|
|
|
;;; POISSUBSTCO SUBSTITUTES AN EXPRESSION FOR A VARIABLE IN A COEFFICIENT.
|
|
|
|
(DEFUN POISSUBSTCO (A B X)
|
|
(INTOPOISCO (SUBSTITUTE A
|
|
B
|
|
($RATDISREP (CONS (LIST 'MRAT
|
|
'SIMP
|
|
(CDR $RATVARS) GENVAR)
|
|
X)))))
|
|
|
|
(DEFUN POISPZERO (X) (EQUAL 0. (CAR X)))
|
|
|
|
|
|
;;; TEST FOR ZERO
|
|
|
|
(DEFUN POISCOINTEG (H VAR) (INTOPOISCO ($INTEGRATE (POISCDECODE H) VAR)))
|