CTITLEABSVM -- CALCULATE ABSOLUTE VALUE MEAN 00000100 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR PATTY JENNINGS 00000200 CA DESIGNER PATTY JENNINGS 00000300 CA LANGUAGE VSFORTRAN 00000400 CA SYSTEM S/370 MVS/XA 00000600 CA WRITTEN 01-26-81 00000700 C REVISED 08-25-81 REP - CHANGE NAME FROM USABSM TO ABSVM 00000800 C REVISED 12-10-84 WCC CONVERTED TO VSFORTRAN 00000810 CA 00000900 CA 00001000 CA CALL ABSVM (INA, KNT, MEAN) 00001200 CA 00001300 CA IN/OUT ARGUMENT TYPE DESCRIPTION 00001600 CA 00001700 CA IN INA I2 INPUT ARRAY 00001800 CA IN KNT I4 NUMBER OF ELEMENTS IN INA 00001900 CA OUT MEAN I4 RETURNED MEAN VALUE 00002000 CA 00002100 CA 00002200 CA CALCULATES THE ABSOLUTE MEAN OF A HALFWORD ARRAY. 00002600 CA ZERO ELEMENTS ARE IGNORED. 00002700 CA 00002800 CAEND SUBROUTINE ABSVM (INA, KNT, MEAN) 00002900 C 00003000 C IMPLICIT VARIABLES: 00003100 C 00003200 IMPLICIT INTEGER * 4 (A-Z) 00003300 C 00003400 C INTEGER*2 ARRAYS: 00003500 C 00003600 INTEGER *2 INA ( 1) 00003700 C 00003800 C---------------------------------------------------------------------- 00003900 C 00004000 C SET UP VARIABLES 00004100 C 00004200 MEAN = 0 00004300 CNT = 0 00004400 TOT = 0 00004500 C 00004600 C LOOP TO SUM UP ABSOLUTE VALUES OF ARRAY ELEMENTS 00004700 C 00004800 DO 100 SUB = 1, KNT 00004900 IF (INA(SUB) .LE. 0) GO TO 10 00005000 TOT = TOT + INA(SUB) 00005100 CNT = CNT + 1 00005200 GO TO 100 00005300 C 00005400 10 IF (INA(SUB) .EQ. 0) GO TO 100 00005500 TOT = TOT - INA(SUB) 00005600 CNT = CNT + 1 00005700 100 CONTINUE 00005800 C 00005900 C CALCULATE MEAN AND RETURN 00006000 C 00006100 IF (CNT .EQ. 0) RETURN 00006200 MEAN = TOT / CNT 00006300 RETURN 00006400 END 00006500