 
      CALL SEQUENCE...
       gadd  X Y Z OUTPUT
       gmlt  X Y Z OUTPUT
       gdiv  X Y Z OUTPUT
 
 
      AUTHOR - B.Dugas,  15 novembre 95.
      LAST REVISION: $Header: /data/armnraid1/cvs/RMNLIB/utils/rdiag/lspgm/gadd.ptn,v 4.13 2008/11/24 21:59:30 dugas Exp $
 
 
      DESCRIPTION...
       A SET OF CCC FILE ARITHMETIC PROGRAMS WHICH...
 
       ... PRODUCES FILE  Z = X + (FIRST SET OF RECORDS OF) Y (gadd)
       ... PRODUCES FILE  Z = X * (FIRST SET OF RECORDS OF) Y (gmlt)
       ... PRODUCES FILE  Z = X / (FIRST SET OF RECORDS OF) Y (gdiv)
 
       A BARE MINIMALAMOUNT OF CHECKING IS DONE TO ENSURE THAT THE
       OPERATION MAKES SENSE. SPECIFICALLY:
               1) AS IN MLTF, DIVISION BY ZERO YIELDS ZERO.
               2) THE TWO FILES SHOULD HAVE THE SAME TYPE OF RECORDS.
               3) a) IF Y HAS MORE THAN ONE LEVEL, IT SHOULD HAVE THE
                  SAME NUMBER AS FOUND IN X. b) IF THE NUMBER OF LEVELS
                  IN THE TWO FILES IS DIFFERNT AND THAT OF Y IS NOT 
                  EQUAL TO ONE, THE PROGRAM ABORTS. FINALLY, c) IF
                  Y ONLY HOLDS ONE LEVEL, IT WILL BE USED WITH ALL
                  LEVELS OF X (I.E. BACKWARD COMPATIBILITY MODE).
 
       NOTE: gadd IS FUNCTIONNALY EQUIVALENT TO THE RCM PROGRAM add2d AND
             gmlt IS FUNCTIONNALY EQUIVALENT TO THE RCM PROGRAM mlt2d
            
 
      MISSING VALUE TREATMENT IS SUPPORTED VIA EITHER THE "MISSING_VALUE"
      ENVIRONMENT VARIABLE OR THE "-mvalue" COMMAND-LINE ARGUMENT. HERE
      IS HOW THIS WORKS OUT IN MORE DETAIL: WHEN...
 
         X (not missing) & Y (not missing) => Z = X (operand) Y
         X (    missing) & Y (not missing) => Z = u (operand) Y
         X (not missing) & Y (    missing) => Z = X
         X (    missing) & Y (    missing) => Z = Missing value
 
       where 1) the operand is "+" "*" or "/";
             2) u is the operand unit, such that: u (operand) v = v
     
 
      EXIT CONDITIONS...
        0 NO PROBLEMS
        1 UNABLE TO READ FIRST SET OF Y
        2 RECORDS NOT THE SAME SIZE
        3 PREMATURE EOF ON FILE X
        4 PREMATURE EOF ON FILE X
