When autoloading a Maxima script, avoid clobbering global state.
[maxima.git] / src / pois2.lisp
blob9ed87af7a21a6338e36bbaa64db1f8dfa96a68a1
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 1981 Massachusetts Institute of Technology ;;;
9 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
11 (in-package :maxima)
13 (macsyma-module pois2)
15 (declare-top (special poisvals poishift poistsm poissiz poists $poisz $pois1))
17 (defun poislim1 (uu n)
18 (declare (ignore uu))
19 (unless (fixnump n)
20 (merror (intl:gettext "poislim: argument must be an integer; found: ~M") n))
21 (setq poisvals nil)
22 (setq poists (ash 1 n))
23 (dotimes (j 6)
24 (push (expt poists j) poisvals))
25 (setq poissiz n
26 poistsm (expt 2 (1- n))
27 poishift (let ((sum 0))
28 (dotimes (i 6 sum)
29 (incf sum (* poistsm (expt poists i)))))
30 $poisz '((mpois simp) nil nil)
31 $pois1 (list '(mpois simp) nil (list poishift 1)))
34 (defun nonperiod (p)
35 (and (null (cadr p))
36 (= (caaddr p) poishift)
37 (null (cddr (caddr p)))))
39 (poislim1 nil 5)