C+ C NAME: C ArrInfo C PURPOSE: C Perform simple calculations on arrays C INPUTS: C All function take integer arguments for the array size; C one or more arrays and/or one or more constants C The types of A,B, R,R1,R2 depend on the function called. C C N integer array size C A(N),B(N) depends source arrays C R,R1,R2 integer/real constants C C OUTPUTS: C The type of C depends on the function called. C C C(N) destination array C SEE ALSO: C ArrI1Zero, ArrI1Constant C C ArrI2Zero, ArrI2GetMinMax, ArrI2SetMinMax C C iArrI4Total, ArrI4Zero, ArrI4Bad, ArrI4Constant, ArrI4Index, ArrI4Reverse C ArrI4Copy, ArrI4Copy2, ArrI4AddConstant, ArrI4AddConstant2 C ArrI4GetMinMax, ArrI4SetMinMax, iArrI4ValuePresent C C ArrR4Zero, ArrR4Bad, ArrR4Constant, ArrR4Index, ArrR4Reverse C ArrR4Step, ArrR4Negate, ArrR4Invert, ArrR4Copy, ArrR4Copy2 C ArrR4Scale, ArrR4Scale2, ArrR4AddConstant, ArrR4TimesConstant C ArrR4DivideByConstant, ArrR4GetMinMax, ArrR4SetMinMax, ArrR4Total C iArrR4ValuePresent, ArrR4Function, ArrR4Mask, ArrR4TimesArrR4 C ArrR4DivideByArrR4, ArrR4DivideByArrI4, ArrR4PlusArrR4, ArrR4MinusArrR4 C ArrR4LinearArrR4, iArrR4Compare, ArrR4Interpolate C C ArrR8Zero, ArrR8Copy, ArrR8Interpolate, ArrR8Bad C C ArrayLoc2, ArrayLoc3 C PROCEDURE: C > The SEE ALSO list may not be complete C > The 'loc' function is used to retrieve the starting address of the C arrays. This is an intrinsic function in VMS Fortran. So far all C other compilers we've used support this also: Absoft Fortran, Sun Unix and C Linux G77 (sometimes after displaying a warning message). C > The source and destination can be identical or can overlap. C The only exception are the functions involving two source arrays and C one destination array, which can produce erroneous results if all three C arrays overlap (see discussion for href=ArrayLoc3=). If this occurs, a C warning message is displayed. C > The 'loc' function and the subroutines href=ArrayLoc2= and href=ArrayLoc3= are C used to determine the relative location of the source and destination C arrays in memory. The relative location determines whether arrays C are processed forward (I=1,N,1) or backward (I=N,1,-1). C > Arrays are declared internally as one dimensional arrays. C Multi-dimensional arrays can be processed by setting N to the total C number of all elements in the array (product of all dimensions). C C > For almost all of the subroutines specifying a negative array size C results in checking for bad value (href=BadI4=() for integer, href=BadR4=() for C real arrays. 'Bad' array elements are not processed C (the main exceptions are the initialization routines). C MODIFICATION HISTORY: C FEB-1996, Paul Hick (UCSD/CASS) C FEB-1996, Paul Hick (UCSD/CASS; pphick@ucsd.edu) C Replaced %loc by loc in all copy routines. C-