40 double loadFactor= std::get<0>( values );
41 double deviation = std::get<1>( values );
42 integer minSize = std::get<2>( values );
43 integer maxSize = std::get<3>( values );
46 formatter.GetArgContainer();
47 formatter.Format( result,
"Size: {}\n"
49 "Load Factor: {:.02} (Base: {:.01} Max: {:.01})\n"
50 "Deviation: {:.02} (~{:%.1})\n"
54 hashtable.BucketCount(),
55 loadFactor, hashtable.BaseLoadFactor(), hashtable.MaxLoadFactor(),
56 deviation , ( hashtable.Size() != 0
57 ? deviation / loadFactor
64 for(
integer i= 0; i < maxSize ; ++i)
67 for(
uinteger i= 0; i < hashtable.BucketCount() ; ++i)
68 ++bucketFills[hashtable.BucketSize(i)];
70 formatter.Format( result,
"Bucket Fills: Size #Buckets\n" );
71 formatter.Format( result,
" -----------------\n" );
72 for(
integer i= 0; i < maxSize ; ++i)
73 formatter.Format( result,
" {} {}\n", i, bucketFills[i] );
78 if( detailedBucketList )
80 formatter.Format(result,
"\nDetailed Bucket List:\n");
81 auto qtyBuckets = hashtable.BucketCount();
82 for(
uinteger i= 0 ; i < qtyBuckets ; ++i )
84 auto bucketSize= hashtable.BucketSize( i );
85 formatter.Format(result,
"{:3} ({:2}): {!FillCX}\n", i, bucketSize,
128 formatter.GetArgContainer();
129 formatter.Format(result,
"\nHashtable dump:\n");
130 auto qtyBuckets = hashtable.BucketCount();
131 for(
uinteger i= 0 ; i < qtyBuckets ; ++i )
133 auto bucketSize= hashtable.BucketSize( i );
134 formatter.Format(result,
"{:3} ({:2}): ", i, bucketSize );
137 for(
auto bucketIt= hashtable.begin(i)
138 ; bucketIt != hashtable.end (i)
143 formatter.Format(result,
"{}: {}\n", entryNo, *bucketIt );