anchor.diff:  CHARACTER(LEN=24)         :: STR24 = '  ABCDEFGHIJKLMNO       '
   TYPE(HASHTABLE)           :: HT
     WRITE(6,'("0*** HASHTEST - INTEGER ********")')
  -  WRITE(6,'("     HASH VALUE OF INT1  ",I20,   " = ",I11)')  INT1, CALCULATE_HASH( INT1)
  -  WRITE(6,'("     HASH VALUE OF INT2  ",I20,   " = ",I11)')  INT2, CALCULATE_HASH( INT2)
  -  WRITE(6,'("     HASH VALUE OF INT4  ",I20,   " = ",I11)')  INT4, CALCULATE_HASH( INT4)
  -  WRITE(6,'("     HASH VALUE OF INT8  ",I20,   " = ",I11)')  INT8, CALCULATE_HASH( INT8)
  +  WRITE(6,'("     HASH VALUE OF INT1  ",I20,   " = ",I11)')  INT1, HASHCODE( INT1)
  +  WRITE(6,'("     HASH VALUE OF INT2  ",I20,   " = ",I11)')  INT2, HASHCODE( INT2)
  +  WRITE(6,'("     HASH VALUE OF INT4  ",I20,   " = ",I11)')  INT4, HASHCODE( INT4)
  +  WRITE(6,'("     HASH VALUE OF INT8  ",I20,   " = ",I11)')  INT8, HASHCODE( INT8)
     WRITE(6,'("0*** HASHTEST - REAL    ********")')
  -  WRITE(6,'("     HASH VALUE OF REAL4 ",G20.10," = ",I11)') REAL4, CALCULATE_HASH(REAL4)
  -  WRITE(6,'("     HASH VALUE OF REAL8 ",G20.10," = ",I11)') REAL8, CALCULATE_HASH(REAL8)
  +  WRITE(6,'("     HASH VALUE OF REAL4 ",G20.10," = ",I11)') REAL4, HASHCODE(REAL4)
  +  WRITE(6,'("     HASH VALUE OF REAL8 ",G20.10," = ",I11)') REAL8, HASHCODE(REAL8)
     WRITE(6,'("0*** HASHTEST - STRING  ********")')
  -  WRITE(6,'("     HASH VALUE OF STR12 ",12X,A12," = ",I11)') STR12, CALCULATE_HASH(STR12)
  -  WRITE(6,'("     HASH VALUE OF STR16 ", 8X,A16," = ",I11)') STR16, CALCULATE_HASH(STR16)
  -  WRITE(6,'("     HASH VALUE OF STR20 ", 4X A20," = ",I11)') STR20, CALCULATE_HASH(STR20)
  -  WRITE(6,'("     HASH VALUE OF STR24 ",    A24," = ",I11)') STR24, CALCULATE_HASH(STR24)
  +  WRITE(6,'("     HASH VALUE OF STR12 ",12X,A12," = ",I11)') STR12, HASHCODE(STR12)
  +  WRITE(6,'("     HASH VALUE OF STR16 ", 8X,A16," = ",I11)') STR16, HASHCODE(STR16)
  +  WRITE(6,'("     HASH VALUE OF STR20 ", 4X A20," = ",I11)') STR20, HASHCODE(STR20)
  +  WRITE(6,'("     HASH VALUE OF STR24 ",    A24," = ",I11)') STR24, HASHCODE(STR24)
   
     CALL HASHTABLE_INIT(HT,8,64)
   END PROGRAM HASHTEST
  +
  
positive.code:   IF (IREM.GT.0) THEN
      CVALUE = VALUE(I:I+IREM-1)
      IVALUE = IEOR(IVALUE,JVALUE)
      WRITE(0,'(I4,X,A4,X,I16)') I,CVALUE,IVALUE
    END IF
    CALCULATE_HASH_STRING = IVALUE
  END FUNCTION CALCULATE_HASH_STRING
  !
  END MODULE MODHASH
  ! ---------------------------------------------------------------------------------------------------------------------------------+
  PROGRAM HASHTEST
  USE MODHASH
  IMPLICIT NONE
  INTEGER(KIND=1),PARAMETER :: IDIV = 11
  INTEGER(KIND=1)           :: INT1 = HUGE(INT1) / IDIV
  
negative.code: !                   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
  !
  ! ---------------------------------------------------------------------------------------------------------------------------------+
  INTEGER(KIND=4) FUNCTION HASHCODE_STRING(VALUE)
  CHARACTER(LEN=*),INTENT(IN) :: VALUE
  INTEGER  (KIND=4)           :: IVALUE,JVALUE
  CHARACTER(LEN=4)            :: CVALUE
  