nthash.hpp
// canonical ntBase with seeding option, using rotate ops
canonical ntBase with seeding option, using rotate ops
canonical ntBase with seeding option using rotate ops
inline uint64_t NTC64(const char * kmerSeq, const unsigned k, const unsigned seed) {
    uint64_t hVal = NTC64(kmerSeq,k);
    hVal *= seed ^ k * multiSeed;
    hVal ^= hVal >> multiShift;
    return hVal;
}
inline uint64_t NTC64 ( const char * kmerSeq , const unsigned k , const unsigned seed ) { uint64_t hVal = NTC64 ( kmerSeq , k ) ; hVal *= seed ^ k * multiSeed ; hVal ^= hVal >> multiShift ; return hVal ; }
canonical ntBase with seeding option, using rotate ops
canonical ntBase with seeding option using rotate ops