(FILECREATED "24-Jun-86 00:07:10" {QV}<PEDERSEN>LISP>EARRAY-MATHFNS.;7 15085
changes to: (FNS EARRAY-FLOAT-POLY EARRAY-GENERIC-POLY EARRAY-BETA-CDF EARRAY-CAUCHY-CDF
EARRAY-F-CDF EARRAY-GAUSSIAN-CDF EARRAY-INV-BETA-CDF EARRAY-INV-CAUCHY-CDF
EARRAY-INV-F-CDF EARRAY-INV-GAUSSIAN-CDF EARRAY-INV-LOGISTIC-CDF
EARRAY-INV-LOGNORMAL-CDF EARRAY-LOGISTIC-CDF EARRAY-LOGNORMAL-CDF)
previous date: "23-Jun-86 14:14:31" {QV}<PEDERSEN>LISP>EARRAY-MATHFNS.;6)
(* Copyright (c) 1986 by Xerox Corporation. All rights reserved.)
(PRETTYCOMPRINT EARRAY-MATHFNSCOMS)
(RPAQQ EARRAY-MATHFNSCOMS ((FNS EARRAY-BETA-CDF EARRAY-CAUCHY-CDF EARRAY-CHISQUARED-CDF
EARRAY-CHOOSE EARRAY-CHOOSE-FN EARRAY-COS EARRAY-DEAL
EARRAY-EXPONENTIAL-CDF EARRAY-EXPT EARRAY-F-CDF EARRAY-FACTORIAL
EARRAY-FACTORIAL-FN EARRAY-FLOAT-POLY EARRAY-GAMMA EARRAY-GAMMA-CDF
EARRAY-GAUSSIAN-CDF EARRAY-GENERIC-POLY EARRAY-INV-BETA-CDF
EARRAY-INV-CAUCHY-CDF EARRAY-INV-CHISQUARED-CDF
EARRAY-INV-EXPONENTIAL-CDF EARRAY-INV-F-CDF EARRAY-INV-GAMMA-CDF
EARRAY-INV-GAUSSIAN-CDF EARRAY-INV-LOGISTIC-CDF
EARRAY-INV-LOGNORMAL-CDF EARRAY-INV-STD-GAUSSIAN-CDF
EARRAY-INV-T-CDF EARRAY-POLY EARRAY-RAND EARRAY-RAND-GAUSS
EARRAY-T-CDF EARRAY-TAN EARRAY-ANTILOG EARRAY-ARCCOS EARRAY-ARCSIN
EARRAY-ARCTAN EARRAY-LOG EARRAY-LOGGAMMA EARRAY-LOGISTIC-CDF
EARRAY-LOGNORMAL-CDF EARRAY-SIN EARRAY-SQRT EARRAY-STD-GAUSSIAN-CDF)
(DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY (LOCALVARS . T))))
(DEFINEQ
(EARRAY-BETA-CDF
[LAMBDA (ARRAY A B RESULT) (* jop: "10-Jun-86 16:53")
(* *)
(EARRAY-NADIC-APPLY (FUNCTION BETA-CDF)
(ARRAY A B)
RESULT
(QUOTE SINGLE-FLOAT])
(EARRAY-CAUCHY-CDF
[LAMBDA (ARRAY MU SCALE RESULT) (* jop: "10-Jun-86 16:54")
(* *)
(EARRAY-NADIC-APPLY (FUNCTION CAUCHY-CDF)
(ARRAY MU SCALE)
RESULT
(QUOTE SINGLE-FLOAT])
(EARRAY-CHISQUARED-CDF
[LAMBDA (ARRAY DF RESULT) (* jop: "10-Jun-86 14:57")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION CHISQUARED-CDF)
ARRAY DF RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-CHOOSE
[LAMBDA (ARRAY1 ARRAY2 RESULT) (* jop: "15-Jun-86 15:46")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION CHOOSE)
ARRAY1 ARRAY2 RESULT (EARRAY-COMMON-TYPE (EARRAY-ELEMENT-TYPE ARRAY1)
(EARRAY-ELEMENT-TYPE ARRAY2])
(EARRAY-CHOOSE-FN
[LAMBDA (OP ARRAY1 ARRAY2 RESULT) (* jop: "23-Jun-86 12:06")
(* *)
(EARRAY-GENERIC-DYADIC-APPLY (FUNCTION SCALAR-CHOOSE)
ARRAY1 ARRAY2 RESULT])
(EARRAY-COS
[LAMBDA (ARRAY RADIANS-P RESULT) (* jop: "10-Jun-86 11:31")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION COS)
ARRAY RADIANS-P RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-DEAL
[LAMBDA (VECTOR NUMITEMS RESULT) (* jop: "10-Jun-86 11:58")
(* *)
(if [NOT (OR (FIXP VECTOR)
(EQ 1 (EARRAY-RANK VECTOR]
then (ERROR "Vector of incorrect form" VECTOR))
(if (NULL NUMITEMS)
then (SETQ NUMITEMS (if (FIXP VECTOR)
then VECTOR
else (EARRAY-TOTAL-SIZE VECTOR)))
elseif (NOT (FIXP NUMITEMS))
then (ERROR "Not an integer" NUMITEMS))
(LET* [(ARGLST (if (FIXP VECTOR)
then (for I from 0 upto VECTOR collect I)
else (EARRAY-ASLIST VECTOR)))
(PERMLIST (RAND-PERMUTATION (FNTH ARGLST (ADD1 (IDIFFERENCE (LENGTH ARGLST)
NUMITEMS]
(SETQ RESULT (EARRAY-TEST-RESULT RESULT (LIST (LENGTH PERMLIST))
(EARRAY-ELEMENT-TYPE VECTOR)))
(bind (LRESULT ← (EARRAY-LINEARIZE RESULT)) for I from 0 upto (LENGTH PERMLIST)
as P in PERMLIST do (ASET P LRESULT I))
RESULT])
(EARRAY-EXPONENTIAL-CDF
[LAMBDA (ARRAY MU RESULT) (* jop: "10-Jun-86 14:59")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION EXPONENTIAL-CDF)
ARRAY MU RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-EXPT
[LAMBDA (ARRAY1 ARRAY2 RESULT) (* jop: "10-Jun-86 11:15")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION EXPT)
ARRAY1 ARRAY2 RESULT (EARRAY-ARITH-TYPE (EARRAY-ELEMENT-TYPE ARRAY1)
(EARRAY-ELEMENT-TYPE ARRAY2])
(EARRAY-F-CDF
[LAMBDA (ARRAY P Q RESULT) (* jop: "10-Jun-86 16:56")
(* *)
(EARRAY-NADIC-APPLY (FUNCTION F-CDF)
(ARRAY P Q)
RESULT
(QUOTE SINGLE-FLOAT])
(EARRAY-FACTORIAL
[LAMBDA (ARRAY RESULT) (* jop: "23-Jun-86 13:27")
(* *)
(EARRAY-MONADIC-APPLY (FUNCTION SCALAR-FACTORIAL)
ARRAY RESULT (EARRAY-ELEMENT-TYPE ARRAY])
(EARRAY-FACTORIAL-FN
[LAMBDA (OP ARRAY RESULT) (* jop: "23-Jun-86 12:07")
(* *)
(EARRAY-GENERIC-MONADIC-APPLY (FUNCTION SCALAR-FACTORIAL)
ARRAY RESULT])
(EARRAY-FLOAT-POLY
[LAMBDA (VECTOR ARRAY RESULT) (* jop: "23-Jun-86 22:23")
(* *)
(LET ((VSIZE (EARRAY-TOTAL-SIZE VECTOR))
(VECTORBASE (ARRAYBASE VECTOR)))
(if (EARRAY-SCALARP ARRAY)
then (\POLYNOM ARRAY VECTORBASE VSIZE)
else (bind (ARRAYBASE ←(ARRAYBASE ARRAY))
(RESULTBASE ←(ARRAYBASE RESULT)) for I from 0
upto (MUL2 (EARRAY-TOTAL-SIZE RESULT)) by 2
do (\PUTBASEFLOATP RESULTBASE I (\POLYNOM (\GETBASEFLOATP ARRAYBASE I)
VECTORBASE VSIZE)))
RESULT])
(EARRAY-GAMMA
[LAMBDA (ARRAY RESULT) (* jop: "10-Jun-86 14:36")
(* *)
(EARRAY-MONADIC-APPLY (FUNCTION GAMMA)
ARRAY RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-GAMMA-CDF
[LAMBDA (ARRAY ETA RESULT) (* jop: "10-Jun-86 15:00")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION GAMMA-CDF)
ARRAY ETA RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-GAUSSIAN-CDF
[LAMBDA (ARRAY MU SIGMA RESULT) (* jop: "10-Jun-86 16:59")
(* *)
(EARRAY-NADIC-APPLY (FUNCTION GAUSSIAN-CDF)
(ARRAY MU SIGMA)
RESULT
(QUOTE SINGLE-FLOAT])
(EARRAY-GENERIC-POLY
[LAMBDA (VECTOR ARRAY RESULT) (* jop: "23-Jun-86 22:23")
(* *)
(LET ((VSIZE (EARRAY-TOTAL-SIZE VECTOR))
(VECTORBASE (ARRAYBASE VECTOR)))
(if (EARRAY-SCALARP ARRAY)
then (\POLYNOM (FLOAT ARRAY)
VECTORBASE VSIZE)
else (bind (LINEARIZEDARRAY ←(EARRAY-LINEARIZE ARRAY))
(LINEARIZEDRESULT ←(EARRAY-LINEARIZE RESULT)) for I from 0
upto (EARRAY-TOTAL-SIZE RESULT)
do (ASET (\POLYNOM (FLOAT (AREF LINEARIZEDARRAY I))
VECTORBASE VSIZE)
LINEARIZEDRESULT I))
RESULT])
(EARRAY-INV-BETA-CDF
[LAMBDA (ARRAY A B RESULT) (* jop: "10-Jun-86 16:53")
(* *)
(EARRAY-NADIC-APPLY (FUNCTION INV-BETA-CDF)
(ARRAY A B)
RESULT
(QUOTE SINGLE-FLOAT])
(EARRAY-INV-CAUCHY-CDF
[LAMBDA (ARRAY MU SCALE RESULT) (* jop: "10-Jun-86 16:55")
(* *)
(EARRAY-NADIC-APPLY (FUNCTION INV-CAUCHY-CDF)
(ARRAY MU SCALE)
RESULT
(QUOTE SINGLE-FLOAT])
(EARRAY-INV-CHISQUARED-CDF
[LAMBDA (ARRAY DF RESULT) (* jop: "10-Jun-86 14:58")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION INV-CHISQUARED-CDF)
ARRAY DF RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-INV-EXPONENTIAL-CDF
[LAMBDA (ARRAY MU RESULT) (* jop: "10-Jun-86 14:59")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION INV-EXPONENTIAL-CDF)
ARRAY MU RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-INV-F-CDF
[LAMBDA (ARRAY P Q RESULT) (* jop: "10-Jun-86 16:56")
(* *)
(EARRAY-NADIC-APPLY (FUNCTION INV-F-CDF)
(ARRAY P Q)
RESULT
(QUOTE SINGLE-FLOAT])
(EARRAY-INV-GAMMA-CDF
[LAMBDA (ARRAY ETA RESULT) (* jop: "10-Jun-86 15:01")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION INV-GAMMA-CDF)
ARRAY ETA RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-INV-GAUSSIAN-CDF
[LAMBDA (ARRAY MU SIGMA RESULT) (* jop: "10-Jun-86 16:59")
(* *)
(EARRAY-NADIC-APPLY (FUNCTION INV-GAUSSIAN-CDF)
(ARRAY MU SIGMA)
RESULT
(QUOTE SINGLE-FLOAT])
(EARRAY-INV-LOGISTIC-CDF
[LAMBDA (ARRAY MU SCALE RESULT) (* jop: "10-Jun-86 16:58")
(* *)
(EARRAY-NADIC-APPLY (FUNCTION INV-LOGISTIC-CDF)
(ARRAY MU SCALE)
RESULT
(QUOTE SINGLE-FLOAT])
(EARRAY-INV-LOGNORMAL-CDF
[LAMBDA (ARRAY MU SCALE RESULT) (* jop: "10-Jun-86 17:00")
(* *)
(EARRAY-NADIC-APPLY (FUNCTION INV-LOGNORMAL-CDF)
(ARRAY MU SCALE)
RESULT
(QUOTE SINGLE-FLOAT])
(EARRAY-INV-STD-GAUSSIAN-CDF
[LAMBDA (ARRAY RESULT) (* jop: "10-Jun-86 14:55")
(* *)
(EARRAY-MONADIC-APPLY (FUNCTION INV-STD-GAUSSIAN-CDF)
ARRAY RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-INV-T-CDF
[LAMBDA (ARRAY DF RESULT) (* jop: "10-Jun-86 15:02")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION INV-T-CDF)
ARRAY DF RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-POLY
[LAMBDA (VECTOR ARRAY RESULT) (* jop: "23-Jun-86 13:34")
(* *)
(if [NOT (AND (EQ 1 (EARRAY-RANK VECTOR))
(EQ (EARRAY-ELEMENT-TYPE VECTOR)
(QUOTE SINGLE-FLOAT]
then (ERROR "Vector of incorrect form" VECTOR))
(SETQ RESULT (EARRAY-TEST-RESULT RESULT (EARRAY-DIMENSIONS ARRAY)
(QUOTE SINGLE-FLOAT)))
(if (AND (EQ (EARRAY-ELEMENT-TYPE ARRAY)
(QUOTE SINGLE-FLOAT))
(EQ (EARRAY-ELEMENT-TYPE RESULT)
(QUOTE SINGLE-FLOAT)))
then (EARRAY-FLOAT-POLY VECTOR ARRAY RESULT)
else (EARRAY-GENERIC-POLY VECTOR ARRAY RESULT])
(EARRAY-RAND
[LAMBDA (ARRAY1 ARRAY2 RESULT) (* jop: "10-Jun-86 11:41")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION RAND)
ARRAY1 ARRAY2 RESULT (EARRAY-ARITH-TYPE (EARRAY-ELEMENT-TYPE ARRAY1)
(EARRAY-ELEMENT-TYPE ARRAY2])
(EARRAY-RAND-GAUSS
[LAMBDA (MU SIGMA RESULT) (* jop: "10-Jun-86 12:01")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION RAND-GAUSS)
MU SIGMA RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-T-CDF
[LAMBDA (ARRAY DF RESULT) (* jop: "10-Jun-86 15:02")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION T-CDF)
ARRAY DF RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-TAN
[LAMBDA (ARRAY RADIANS-P RESULT) (* jop: "10-Jun-86 11:31")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION TAN)
ARRAY RADIANS-P RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-ANTILOG
[LAMBDA (ARRAY RESULT) (* jop: "10-Jun-86 11:16")
(* *)
(EARRAY-MONADIC-APPLY (FUNCTION ANTILOG)
ARRAY RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-ARCCOS
[LAMBDA (ARRAY RADIANS-P RESULT) (* jop: "10-Jun-86 11:32")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION ARCCOS)
ARRAY RADIANS-P RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-ARCSIN
[LAMBDA (ARRAY RADIANS-P RESULT) (* jop: "10-Jun-86 11:33")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION ARCSIN)
ARRAY RADIANS-P RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-ARCTAN
[LAMBDA (ARRAY RADIANS-P RESULT) (* jop: "10-Jun-86 11:33")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION ARCTAN)
ARRAY RADIANS-P RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-LOG
[LAMBDA (ARRAY RESULT) (* jop: "10-Jun-86 11:17")
(* *)
(EARRAY-MONADIC-APPLY (FUNCTION LOG)
ARRAY RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-LOGGAMMA
[LAMBDA (ARRAY RESULT) (* jop: "10-Jun-86 14:36")
(* *)
(EARRAY-MONADIC-APPLY (FUNCTION GAMLOG)
ARRAY RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-LOGISTIC-CDF
[LAMBDA (ARRAY MU SCALE RESULT) (* jop: "10-Jun-86 16:57")
(* *)
(EARRAY-NADIC-APPLY (FUNCTION LOGISTIC-CDF)
(ARRAY MU SCALE)
RESULT
(QUOTE SINGLE-FLOAT])
(EARRAY-LOGNORMAL-CDF
[LAMBDA (ARRAY MU SCALE RESULT) (* jop: "10-Jun-86 17:00")
(* *)
(EARRAY-NADIC-APPLY (FUNCTION LOGNORMAL-CDF)
(ARRAY MU SCALE)
RESULT
(QUOTE SINGLE-FLOAT])
(EARRAY-SIN
[LAMBDA (ARRAY RADIANS-P RESULT) (* jop: "10-Jun-86 11:30")
(* *)
(EARRAY-DYADIC-APPLY (FUNCTION SIN)
ARRAY RADIANS-P RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-SQRT
[LAMBDA (ARRAY RESULT) (* jop: "10-Jun-86 11:34")
(* *)
(EARRAY-MONADIC-APPLY (FUNCTION SQRT)
ARRAY RESULT (QUOTE SINGLE-FLOAT])
(EARRAY-STD-GAUSSIAN-CDF
[LAMBDA (ARRAY RESULT) (* jop: "10-Jun-86 14:54")
(* *)
(EARRAY-MONADIC-APPLY (FUNCTION STD-GAUSSIAN-CDF)
ARRAY RESULT (QUOTE SINGLE-FLOAT])
)
(DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY
(DECLARE: DOEVAL@COMPILE DONTCOPY
(LOCALVARS . T)
)
)
(PUTPROPS EARRAY-MATHFNS COPYRIGHT ("Xerox Corporation" 1986))
(DECLARE: DONTCOPY
(FILEMAP (NIL (1549 14896 (EARRAY-BETA-CDF 1559 . 1802) (EARRAY-CAUCHY-CDF 1804 . 2056) (
EARRAY-CHISQUARED-CDF 2058 . 2308) (EARRAY-CHOOSE 2310 . 2626) (EARRAY-CHOOSE-FN 2628 . 2860) (
EARRAY-COS 2862 . 3097) (EARRAY-DEAL 3099 . 4251) (EARRAY-EXPONENTIAL-CDF 4253 . 4505) (EARRAY-EXPT
4507 . 4817) (EARRAY-F-CDF 4819 . 5056) (EARRAY-FACTORIAL 5058 . 5311) (EARRAY-FACTORIAL-FN 5313 .
5545) (EARRAY-FLOAT-POLY 5547 . 6196) (EARRAY-GAMMA 6198 . 6429) (EARRAY-GAMMA-CDF 6431 . 6672) (
EARRAY-GAUSSIAN-CDF 6674 . 6930) (EARRAY-GENERIC-POLY 6932 . 7613) (EARRAY-INV-BETA-CDF 7615 . 7866) (
EARRAY-INV-CAUCHY-CDF 7868 . 8128) (EARRAY-INV-CHISQUARED-CDF 8130 . 8388) (EARRAY-INV-EXPONENTIAL-CDF
8390 . 8650) (EARRAY-INV-F-CDF 8652 . 8897) (EARRAY-INV-GAMMA-CDF 8899 . 9148) (
EARRAY-INV-GAUSSIAN-CDF 9150 . 9414) (EARRAY-INV-LOGISTIC-CDF 9416 . 9680) (EARRAY-INV-LOGNORMAL-CDF
9682 . 9948) (EARRAY-INV-STD-GAUSSIAN-CDF 9950 . 10211) (EARRAY-INV-T-CDF 10213 . 10453) (EARRAY-POLY
10455 . 11196) (EARRAY-RAND 11198 . 11508) (EARRAY-RAND-GAUSS 11510 . 11750) (EARRAY-T-CDF 11752 .
11984) (EARRAY-TAN 11986 . 12221) (EARRAY-ANTILOG 12223 . 12458) (EARRAY-ARCCOS 12460 . 12701) (
EARRAY-ARCSIN 12703 . 12944) (EARRAY-ARCTAN 12946 . 13187) (EARRAY-LOG 13189 . 13416) (EARRAY-LOGGAMMA
13418 . 13653) (EARRAY-LOGISTIC-CDF 13655 . 13911) (EARRAY-LOGNORMAL-CDF 13913 . 14171) (EARRAY-SIN
14173 . 14408) (EARRAY-SQRT 14410 . 14639) (EARRAY-STD-GAUSSIAN-CDF 14641 . 14894)))))
STOP