Changeset 1980 for trunk/src/kmk/hash.h


Ignore:
Timestamp:
Oct 28, 2008, 12:25:49 AM (17 years ago)
Author:
bird
Message:

kmk: Some cleanup.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk/hash.h

    r1902 r1980  
    100100/* hash and comparison macros for case-sensitive string keys. */
    101101
    102 #ifndef CONFIG_WITH_OPTIMIZATION_HACKS
    103102#define STRING_HASH_1(KEY, RESULT) do { \
    104103  unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \
     
    106105    (RESULT) += (*_key_ << (_key_[1] & 0xf)); \
    107106} while (0)
    108 #else /* CONFIG_WITH_OPTIMIZATION_HACKS */
    109 # define STRING_HASH_1(KEY, RESULT) do { \
    110   unsigned char const *_key_ = (unsigned char const *) (KEY); \
    111   unsigned int _ch_ = *_key_; \
    112   while (_ch_) \
    113     { \
    114       unsigned char _ch2_ = *++_key_; \
    115      (RESULT) += (_ch_ << (_ch2_ & 0xf)); \
    116      _ch_ = _ch2_; \
    117     } \
    118 } while (0)
    119 #endif /* CONFIG_WITH_OPTIMIZATION_HACKS */
    120107#define return_STRING_HASH_1(KEY) do { \
    121108  unsigned long _result_ = 0; \
     
    124111} while (0)
    125112
    126 #ifndef CONFIG_WITH_OPTIMIZATION_HACKS
    127113#define STRING_HASH_2(KEY, RESULT) do { \
    128114  unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \
     
    130116    (RESULT) += (*_key_ << (_key_[1] & 0x7)); \
    131117} while (0)
    132 #else /* CONFIG_WITH_OPTIMIZATION_HACKS */
    133 # define STRING_HASH_2(KEY, RESULT) do { \
    134   unsigned char const *_key_ = (unsigned char const *) (KEY); \
    135   unsigned int _ch_ = *_key_; \
    136   while (_ch_) \
    137     { \
    138       unsigned char _ch2_ = *++_key_; \
    139      (RESULT) += (_ch_ << (_ch2_ & 0x7)); \
    140      _ch_ = _ch2_; \
    141     } \
    142 } while (0)
    143 #endif /* CONFIG_WITH_OPTIMIZATION_HACKS */
    144118#define return_STRING_HASH_2(KEY) do { \
    145119  unsigned long _result_ = 0; \
     
    155129} while (0)
    156130
    157 #ifndef CONFIG_WITH_OPTIMIZATION_HACKS
     131
    158132#define STRING_N_HASH_1(KEY, N, RESULT) do { \
    159133  unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \
     
    164138  (RESULT) += *++_key_; \
    165139} while (0)
    166 #else /* CONFIG_WITH_OPTIMIZATION_HACKS */
    167 # define STRING_N_HASH_1(KEY, N, RESULT) do { \
    168   unsigned char const *_key_ = (unsigned char const *) (KEY); \
    169   unsigned int _ch_ = *_key_; \
    170   int _n_ = (N); \
    171   if (_n_) \
    172     { \
    173       for (;;) \
    174         { \
    175           unsigned char _ch2_; \
    176           if (!--_n_) \
    177             { \
    178               (RESULT) += _ch_; \
    179               break; \
    180             } \
    181           _ch2_ = *++_key_; \
    182           (RESULT) += (_ch_ << (_ch2_ & 0xf)); \
    183           _ch_ = _ch2_; \
    184           if (!_ch_) break; \
    185         } \
    186     } \
    187   else \
    188     (RESULT) += _ch_; \
    189 } while (0)
    190 #endif /* CONFIG_WITH_OPTIMIZATION_HACKS */
    191140#define return_STRING_N_HASH_1(KEY, N) do { \
    192141  unsigned long _result_ = 0; \
     
    195144} while (0)
    196145
    197 #ifndef CONFIG_WITH_OPTIMIZATION_HACKS
    198146#define STRING_N_HASH_2(KEY, N, RESULT) do { \
    199147  unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \
     
    204152  (RESULT) += *++_key_; \
    205153} while (0)
    206 #else /* CONFIG_WITH_OPTIMIZATION_HACKS */
    207 # define STRING_N_HASH_2(KEY, N, RESULT) do { \
    208   unsigned char const *_key_ = (unsigned char const *) (KEY); \
    209   unsigned int _ch_ = *_key_; \
    210   int _n_ = (N); \
    211   if (_n_) \
    212     { \
    213       for (;;) \
    214         { \
    215           unsigned char _ch2_; \
    216           if (!--_n_) \
    217             { \
    218               (RESULT) += _ch_; \
    219               break; \
    220             } \
    221           _ch2_ = *++_key_; \
    222           (RESULT) += (_ch_ << (_ch2_ & 0x7)); \
    223           _ch_ = _ch2_; \
    224           if (!_ch_) break; \
    225         } \
    226     } \
    227   else \
    228     (RESULT) += _ch_; \
    229 } while (0)
    230 #endif /* CONFIG_WITH_OPTIMIZATION_HACKS */
    231154#define return_STRING_N_HASH_2(KEY, N) do { \
    232155  unsigned long _result_ = 0; \
     
    246169/* hash and comparison macros for case-insensitive string _key_s. */
    247170
    248 #if 1 /*ndef CONFIG_WITH_OPTIMIZATION_HACKS - testme */
    249171#define ISTRING_HASH_1(KEY, RESULT) do { \
    250172  unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \
     
    252174    (RESULT) += ((isupper (*_key_) ? tolower (*_key_) : *_key_) << (_key_[1] & 0xf)); \
    253175} while (0)
    254 #else /* CONFIG_WITH_OPTIMIZATION_HACKS */
    255 #define ISTRING_HASH_1(KEY, RESULT) do { \
    256   unsigned char const *_key_ = (unsigned char const *) (KEY); \
    257   unsigned int _ch_ = *_key_;
    258   while (_ch_) \
    259     { \
    260       unsigned _ch2_ = *++_key_; \
    261       (RESULT) += ((isupper (_ch_) ? tolower (_ch_) : _ch_) << (_ch2_ & 0xf)); \
    262       _ch_ = _ch2_; \
    263     } \
    264 } while (0)
    265 #endif /* CONFIG_WITH_OPTIMIZATION_HACKS */
    266176#define return_ISTRING_HASH_1(KEY) do { \
    267177  unsigned long _result_ = 0; \
     
    270180} while (0)
    271181
    272 #if 1 /* ndef CONFIG_WITH_OPTIMIZATION_HACKS - testme */
    273182#define ISTRING_HASH_2(KEY, RESULT) do { \
    274183  unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \
     
    276185    (RESULT) += ((isupper (*_key_) ? tolower (*_key_) : *_key_) << (_key_[1] & 0x7)); \
    277186} while (0)
    278 #else /* CONFIG_WITH_OPTIMIZATION_HACKS */
    279 #define ISTRING_HASH_2(KEY, RESULT) do { \
    280   unsigned char const *_key_ = (unsigned char const *) (KEY); \
    281   unsigned int _ch_ = *_key_;
    282   while (_ch_) \
    283     { \
    284       unsigned _ch2_ = *++_key_; \
    285       (RESULT) += ((isupper (_ch_) ? tolower (_ch_) : _ch_) << (_ch2_ & 0x7)); \
    286       _ch_ = _ch2_; \
    287     } \
    288 } while (0)
    289 #endif /* CONFIG_WITH_OPTIMIZATION_HACKS */
    290187#define return_ISTRING_HASH_2(KEY) do { \
    291188  unsigned long _result_ = 0; \
Note: See TracChangeset for help on using the changeset viewer.