PostgreSQL Source Code  git master
dynahash.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int my_log2 (long num)
 

Function Documentation

◆ my_log2()

int my_log2 ( long  num)

Definition at line 1765 of file dynahash.c.

References pg_ceil_log2_32(), and pg_ceil_log2_64().

Referenced by ExecChooseHashTableSize(), ExecHashTableCreate(), ExecParallelHashIncreaseNumBatches(), ExecParallelHashTableSetCurrentBatch(), hash_choose_num_partitions(), hash_create(), MultiExecParallelHash(), next_pow2_int(), next_pow2_long(), and subxact_info_read().

1766 {
1767  /*
1768  * guard against too-large input, which would be invalid for
1769  * pg_ceil_log2_*()
1770  */
1771  if (num > LONG_MAX / 2)
1772  num = LONG_MAX / 2;
1773 
1774 #if SIZEOF_LONG < 8
1775  return pg_ceil_log2_32(num);
1776 #else
1777  return pg_ceil_log2_64(num);
1778 #endif
1779 }
static uint64 pg_ceil_log2_64(uint64 num)
Definition: pg_bitutils.h:202
static uint32 pg_ceil_log2_32(uint32 num)
Definition: pg_bitutils.h:189