1
0
mirror of https://github.com/PDP-10/its.git synced 2026-05-04 07:09:12 +00:00
Files
PDP-10.its/src/rat/ratpoi.7
Eric Swenson 85994ed770 Added files to support building and running Macsyma.
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.
2018-03-11 13:10:19 -07:00

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)))