Size: a a a

2020 July 21

RX

Rapira X in C++ Together 2.0
🦊fox.cpp
самая крутая магия - это простая магия
Ахахха
источник

🦊

🦊fox.cpp in C++ Together 2.0
зерно хреновое
источник

CC

Cool Cooler in C++ Together 2.0
Хм... Начало похожее
источник

🦊

🦊fox.cpp in C++ Together 2.0
Cool Cooler
Хм... Начало похожее
если уменьшить вывод до 32 бит то норм
⟩ ./a.out
3980531243
2840944850
источник

CC

Cool Cooler in C++ Together 2.0
🦊fox.cpp
#include <stdint.h>
uint64_t hash_c_string(const char* in, uint64_t seed) {
 while (*in++ != 0) {
   seed ^= *in + 0x9e3779b9 + (seed << 6) + (seed >> 2);
 }
 return seed;
}

дарю
Падажжи, а у тебя инкремент in разве не должен быть после seed ^= ... ?
источник

🦊

🦊fox.cpp in C++ Together 2.0
это ты правильно заметил
источник

🦊

🦊fox.cpp in C++ Together 2.0
давно на Си не писал
источник

CC

Cool Cooler in C++ Together 2.0
я обычно так с ++ поступаю: использую ++ только с названием переменной
источник

CC

Cool Cooler in C++ Together 2.0
есть ++ в стейтменте? Значит, там ещё только название переменной
источник

CC

Cool Cooler in C++ Together 2.0
И всё
источник

CC

Cool Cooler in C++ Together 2.0
Чтоб не запутаться
источник

RX

Rapira X in C++ Together 2.0
Зачем вы это делаете ?
источник

CC

Cool Cooler in C++ Together 2.0
Rapira X
Зачем вы это делаете ?
Что?
источник

🦊

🦊fox.cpp in C++ Together 2.0
uint32_t cstr_hash32(const char* in, uint32_t seed) {
   do {
   seed ^= *in + 0x9e3779b9 + (seed << 6) + (seed >> 2);
   } while (*in++ != 0);
 return seed;
}

uint64_t cstr_hash64(const char* in, uint64_t seed) {
   do {
   seed ^= *in + 0x9e3779b97f4a7800 + (seed << 12) + (seed >> 4);
   } while (*in++ != 0);
 return seed;
}
источник

🦊

🦊fox.cpp in C++ Together 2.0
вот тебе 32-битный и 64-битный вариант
источник

🦊

🦊fox.cpp in C++ Together 2.0
наслаждайся
источник

RX

Rapira X in C++ Together 2.0
Ну пишите эти коды
источник

🦊

🦊fox.cpp in C++ Together 2.0
Устанавливаю доминантную позицию над котопсом, конечно.
источник

RX

Rapira X in C++ Together 2.0
😂😂
источник

CC

Cool Cooler in C++ Together 2.0
🦊fox.cpp
uint32_t cstr_hash32(const char* in, uint32_t seed) {
   do {
   seed ^= *in + 0x9e3779b9 + (seed << 6) + (seed >> 2);
   } while (*in++ != 0);
 return seed;
}

uint64_t cstr_hash64(const char* in, uint64_t seed) {
   do {
   seed ^= *in + 0x9e3779b97f4a7800 + (seed << 12) + (seed >> 4);
   } while (*in++ != 0);
 return seed;
}
Спасибо!
источник