### DESCRIPTION

The ` hashinit` and ` phashinit` functions allocate space for hash tables of size given by the argument * nelements*. The ` hashinit` function allocates hash tables that are sized to largest power of two less than or equal to argument * nelements*. The ` phashinit` function allocates hash tables that are sized to the largest prime number less than or equal to argument * nelements*. Allocated hash tables are contiguous arrays of **LIST_HEAD**(3) entries, allocated using **malloc**(9), and initialized using **LIST_INIT**(3). The malloc arena to be used for allocation is pointed to by argument * type*.