Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:51:47

0001 //constant definitions for the Boost Sort library
0002 
0003 //          Copyright Steven J. Ross 2001 - 2014
0004 // Distributed under the Boost Software License, Version 1.0.
0005 //    (See accompanying file LICENSE_1_0.txt or copy at
0006 //          http://www.boost.org/LICENSE_1_0.txt)
0007 
0008 //  See http://www.boost.org/libs/sort for library home page.
0009 #ifndef BOOST_SORT_SPREADSORT_DETAIL_CONSTANTS
0010 #define BOOST_SORT_SPREADSORT_DETAIL_CONSTANTS
0011 namespace boost {
0012 namespace sort {
0013 namespace spreadsort {
0014 namespace detail {
0015 //Tuning constants
0016 //This should be tuned to your processor cache;
0017 //if you go too large you get cache misses on bins
0018 //The smaller this number, the less worst-case memory usage.
0019 //If too small, too many recursions slow down spreadsort
0020 enum { max_splits = 11,
0021 //It's better to have a few cache misses and finish sorting
0022 //than to run another iteration
0023 max_finishing_splits = max_splits + 1,
0024 //Sets the minimum number of items per bin.
0025 int_log_mean_bin_size = 2,
0026 //Used to force a comparison-based sorting for small bins, if it's faster.
0027 //Minimum value 1
0028 int_log_min_split_count = 9,
0029 //This is the minimum split count to use spreadsort when it will finish in one
0030 //iteration.  Make this larger the faster boost::sort::pdqsort is relative to integer_sort.
0031 int_log_finishing_count = 31,
0032 //Sets the minimum number of items per bin for floating point.
0033 float_log_mean_bin_size = 2,
0034 //Used to force a comparison-based sorting for small bins, if it's faster.
0035 //Minimum value 1
0036 float_log_min_split_count = 8,
0037 //This is the minimum split count to use spreadsort when it will finish in one
0038 //iteration.  Make this larger the faster boost::sort::pdqsort is relative to float_sort.
0039 float_log_finishing_count = 4,
0040 //There is a minimum size below which it is not worth using spreadsort
0041 min_sort_size = 1000 };
0042 }
0043 }
0044 }
0045 }
0046 #endif