#include #define SIZE(bits) ((((bits)+31L)/32L)*4L) extern APTR AllocMem (); ULONG * NewHashTable ( size ) ULONG size; { ULONG *table; table = (ULONG *) AllocMem ( SIZE ( size ) , (LONG)MEMF_CLEAR ); if ( table != NULL ) *table = size; return ( table ); } void FreeHashTable ( table ) ULONG *table; { FreeMem ( table , SIZE ( *table ) ); } void AddHashTable ( table , num ) ULONG *table; ULONG num; { LONG bit; bit = num % *table + 32; table[ bit >> 5L ] |= ( 1L << ( bit & 31L ) ); } ULONG TestHashTable ( table , num ) ULONG *table; ULONG num; { LONG bit; bit = num % *table + 32; return ( ( table[ bit >> 5L ] & ( 1L << ( bit & 31L ) ) ) ? 1 : 0 ); }