ALib C++ Library
Library Version: 2510 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
hashtablebase.cpp
1// #################################################################################################
2// ALib C++ Library
3//
4// Copyright 2013-2025 A-Worx GmbH, Germany
5// Published under 'Boost Software License' (a free software license, see LICENSE.txt)
6// #################################################################################################
7#include "alib_precompile.hpp"
8#if !defined(ALIB_C20_MODULES) || ((ALIB_C20_MODULES != 0) && (ALIB_C20_MODULES != 1))
9# error "Symbol ALIB_C20_MODULES has to be given to the compiler as either 0 or 1"
10#endif
11#if ALIB_C20_MODULES
12 module;
13#endif
14// ====================================== Global Fragment ======================================
16// =========================================== Module ==========================================
17#if ALIB_C20_MODULES
19 import ALib.Lang;
20#else
21# include "ALib.Lang.H"
23#endif
24// ====================================== Implementation =======================================
26
27#if !DOXYGEN
28
29const uinteger PRIME_NUMBERS[] =
30{
31 97ul , // 0
32 199ul , // 1
33 409ul , // 2
34 823ul , // 3
35 1741ul , // 4
36 3469ul , // 5
37 6949ul , // 6
38 14033ul , // 7
39 28411ul , // 8
40 57557ul , // 9
41 116731ul , // 10
42 236897ul , // 11
43 480881ul , // 12
44 976369ul , // 13
45 1982627ul , // 14
46 4026031ul , // 15
47 8175383ul , // 16
48 16601593ul , // 17
49 33712729ul , // 18
50 68460391ul , // 19
51 139022417ul , // 20
52 282312799ul , // 21
53 573292817ul , // 22
54 1164186217ul , // 23
55 2364114217ul , // 24
56 4294967291ul , // 25
57#if ALIB_SIZEOF_INTEGER == 8
58 8589934583ull, // 26
59 17179869143ull, // 27
60 34359738337ull, // 28
61 68719476731ull, // 29
62 137438953447ull, // 30
63 274877906899ull, // 31
64 549755813881ull, // 32
65 1099511627689ull, // 33
66 2199023255531ull, // 34
67 4398046511093ull, // 35
68 8796093022151ull, // 36
69 17592186044399ull, // 37
70 35184372088777ull, // 38
71 70368744177643ull, // 39
72 140737488355213ull, // 40
73 281474976710597ull, // 41
74 562949953421231ull, // 42
75 1125899906842597ull, // 43
76 2251799813685119ull, // 44
77 4503599627370449ull, // 45
78 9007199254740881ull, // 46
79 18014398509481951ull, // 47
80 36028797018963913ull, // 48
81 72057594037927931ull, // 49
82 144115188075855859ull, // 50
83 288230376151711717ull, // 51
84 576460752303423433ull, // 52
85 1152921504606846883ull, // 53
86 2305843009213693951ull, // 54
87 4611686018427387847ull, // 55
88 9223372036854775783ull, // 56
89 18446744073709551557ull, // 57
90#endif
91};
92
93void* DUMMY_BUCKET= nullptr;
94
95#endif
96
97} // namespace [alib::containers::detail]
98
Detail namespace of module ALib Containers.
ALIB_DLL const uinteger PRIME_NUMBERS[PRIME_TABLE_SIZE]
ALIB_DLL void * DUMMY_BUCKET
A dummy bucket used for nulled hash tables to avoid otherwise necessary checks.
lang::uinteger uinteger
Type alias in namespace alib.
Definition integers.inl:152