(FILECREATED "23-Jun-86 14:27:27" {QV}<PEDERSEN>LISP>MEDIANPOLISH.;1 2871 changes to: (VARS MEDIANPOLISHCOMS FOO DATA-LIST) (FNS MEDPOL)) (* Copyright (c) 1986 by Xerox Corporation. All rights reserved.) (PRETTYCOMPRINT MEDIANPOLISHCOMS) (RPAQQ MEDIANPOLISHCOMS ((VARS DATA-LIST) (FNS MEDPOL))) (RPAQQ DATA-LIST (8.7 9.8 21.7 34.7 48.5 58.4 64.0 36.2 37.1 45.3 54.4 64.7 73.4 77.30001 57.6 61.9 68.4 75.9 81.2 85.8 87.7)) (DEFINEQ (MEDPOL [LAMBDA (EMATRIX HALF-STEPS START-ON-COLS Residual) (* jop: "23-Jun-86 13:54") (* *) (if (NULL HALF-STEPS) then (SETQ HALF-STEPS 8)) [if (NULL Residual) then (SETQ Residual (MAKE-ARRAY (EARRAY-DIMENSIONS EMATRIX) (QUOTE :ELEMENT-TYPE) (EARRAY-ELEMENT-TYPE EMATRIX] (EARRAY-BLT EMATRIX NIL Residual) (bind (RowEffects ←(MAKE-ARRAY (EARRAY-DIMENSION EMATRIX 0) (QUOTE :ELEMENT-TYPE) (EARRAY-ELEMENT-TYPE EMATRIX) (QUOTE :INITIAL-ELEMENT) 0.0)) (ColEffects ←(MAKE-ARRAY (EARRAY-DIMENSION EMATRIX 1) (QUOTE :ELEMENT-TYPE) (EARRAY-ELEMENT-TYPE EMATRIX) (QUOTE :INITIAL-ELEMENT) 0.0)) (RTemp ←(MAKE-ARRAY (EARRAY-DIMENSION EMATRIX 0) (QUOTE :ELEMENT-TYPE) (EARRAY-ELEMENT-TYPE EMATRIX))) (CTemp ←(MAKE-ARRAY (EARRAY-DIMENSION EMATRIX 1) (QUOTE :ELEMENT-TYPE) (EARRAY-ELEMENT-TYPE EMATRIX))) GrandMedian Temp first (if START-ON-COLS then (EARRAY-MEDIAN-REDUCE Residual 0 CTemp) (EARRAY-SWEEP (FUNCTION DIFFERENCE) Residual CTemp 0 Residual) (EARRAY-PLUS ColEffects CTemp ColEffects) (SETQ HALF-STEPS (SUB1 HALF-STEPS))) for Step from 1 to HALF-STEPS by 2 do (EARRAY-MEDIAN-REDUCE Residual 1 RTemp) (EARRAY-SWEEP (FUNCTION DIFFERENCE) Residual RTemp 1 Residual) (EARRAY-PLUS RowEffects RTemp RowEffects) (EARRAY-MEDIAN-REDUCE Residual 0 CTemp) (EARRAY-SWEEP (FUNCTION DIFFERENCE) Residual CTemp 0 Residual) (EARRAY-PLUS ColEffects CTemp ColEffects) finally (SETQ Temp (EARRAY-MEDIAN-REDUCE RowEffects)) (EARRAY-DIFFERENCE RowEffects Temp RowEffects) (SETQ GrandMedian Temp) (SETQ Temp (EARRAY-MEDIAN-REDUCE ColEffects)) (EARRAY-DIFFERENCE ColEffects Temp ColEffects) (SETQ GrandMedian (PLUS GrandMedian Temp)) (RETURN (EARRAY-ADJOIN (EARRAY-ADJOIN Residual ColEffects 0) (EARRAY-ADJOIN RowEffects GrandMedian 0]) ) (PUTPROPS MEDIANPOLISH COPYRIGHT ("Xerox Corporation" 1986)) (DECLARE: DONTCOPY (FILEMAP (NIL (467 2788 (MEDPOL 477 . 2786))))) STOP