logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Author

       Generated automatically by Doxygen for DPDK from the source code.

DPDK                                             Version 24.11.2                                  rte_jhash.h(3)

Detailed Description

       jhash functions.

       Definition in file rte_jhash.h.

Function Documentation

staticvoidrte_jhash_2hashes(constvoid*key,uint32_tlength,uint32_t*pc,uint32_t*pb)[inline],[static]
       Same as rte_jhash, but takes two seeds and return two uint32_ts. pc and pb must be non-null, and *pc and
       *pb must both be initialized with seeds. If you pass in (*pb)=0, the output (*pc) will be the same as the
       return value from rte_jhash.

       Parameterskey Key to calculate hash of.
           length Length of key in bytes.
           pc IN: seed OUT: primary hash value.
           pb IN: second seed OUT: secondary hash value.

       Definition at line 236 of file rte_jhash.h.

   staticvoidrte_jhash_32b_2hashes(constuint32_t*k,uint32_tlength,uint32_t*pc,uint32_t*pb)[inline],[static]
       Same as rte_jhash_32b, but takes two seeds and return two uint32_ts. pc and pb must be non-null, and *pc
       and *pb must both be initialized with seeds. If you pass in (*pb)=0, the output (*pc) will be the same as
       the return value from rte_jhash_32b.

       Parametersk Key to calculate hash of.
           length Length of key in units of 4 bytes.
           pc IN: seed OUT: primary hash value.
           pb IN: second seed OUT: secondary hash value.

       Definition at line 257 of file rte_jhash.h.

   staticuint32_trte_jhash(constvoid*key,uint32_tlength,uint32_tinitval)[inline],[static]
       The most generic version, hashes an arbitrary sequence of bytes. No alignment or length assumptions are
       made about the input key. For keys not aligned to four byte boundaries or a multiple of four bytes in
       length, the memory region just after may be read (but not used in the computation). This may cross a page
       boundary.

       Parameterskey Key to calculate hash of.
           length Length of key in bytes.
           initval Initialising value of hash.

       Returns
           Calculated hash value.

       Definition at line 280 of file rte_jhash.h.

   staticuint32_trte_jhash_32b(constuint32_t*k,uint32_tlength,uint32_tinitval)[inline],[static]
       A special optimized version that handles 1 or more of uint32_ts. The length parameter here is the number
       of uint32_ts in the key.

       Parametersk Key to calculate hash of.
           length Length of key in units of 4 bytes.
           initval Initialising value of hash.

       Returns
           Calculated hash value.

       Definition at line 303 of file rte_jhash.h.

   staticuint32_trte_jhash_3words(uint32_ta,uint32_tb,uint32_tc,uint32_tinitval)[inline],[static]
       A special ultra-optimized versions that knows it is hashing exactly 3 words.

       Parametersa First word to calculate hash of.
           b Second word to calculate hash of.
           c Third word to calculate hash of.
           initval Initialising value of hash.

       Returns
           Calculated hash value.

       Definition at line 340 of file rte_jhash.h.

   staticuint32_trte_jhash_2words(uint32_ta,uint32_tb,uint32_tinitval)[inline],[static]
       A special ultra-optimized versions that knows it is hashing exactly 2 words.

       Parametersa First word to calculate hash of.
           b Second word to calculate hash of.
           initval Initialising value of hash.

       Returns
           Calculated hash value.

       Definition at line 359 of file rte_jhash.h.

   staticuint32_trte_jhash_1word(uint32_ta,uint32_tinitval)[inline],[static]
       A special ultra-optimized versions that knows it is hashing exactly 1 word.

       Parametersa Word to calculate hash of.
           initval Initialising value of hash.

       Returns
           Calculated hash value.

       Definition at line 376 of file rte_jhash.h.

Macro Definition Documentation

#defineRTE_JHASH_GOLDEN_RATIO0xdeadbeef
       The golden ratio: an arbitrary value.

       Definition at line 68 of file rte_jhash.h.

Name

       rte_jhash.h

Synopsis

       #include <stdint.h>
       #include <string.h>
       #include <limits.h>
       #include <rte_config.h>
       #include <rte_log.h>
       #include <rte_byteorder.h>

   Macros
       #define RTE_JHASH_GOLDEN_RATIO   0xdeadbeef

   Functions
       static void rte_jhash_2hashes (const void *key, uint32_t length, uint32_t *pc, uint32_t *pb)
       static void rte_jhash_32b_2hashes (const uint32_t *k, uint32_t length, uint32_t *pc, uint32_t *pb)
       static uint32_t rte_jhash (const void *key, uint32_t length, uint32_t initval)
       static uint32_t rte_jhash_32b (const uint32_t *k, uint32_t length, uint32_t initval)
       static uint32_t rte_jhash_3words (uint32_t a, uint32_t b, uint32_t c, uint32_t initval)
       static uint32_t rte_jhash_2words (uint32_t a, uint32_t b, uint32_t initval)
       static uint32_t rte_jhash_1word (uint32_t a, uint32_t initval)