Вопросы с тегом «type-punning»

254
Цель Союзов в C и C ++

Я раньше использовал союзы с комфортом; Сегодня я был встревожен, когда я прочитал этот пост и узнал, что этот код union ARGB { uint32_t colour; struct componentsTag { uint8_t b; uint8_t g; uint8_t r; uint8_t a; } components; } pixel; pixel.colour = 0xff040201; // ARGB::colour is the active member...

101
Можно ли написать быструю функцию InvSqrt () Quake в Rust?

Это просто для удовлетворения моего собственного любопытства. Есть ли реализация этого: float InvSqrt (float x) { float xhalf = 0.5f*x; int i = *(int*)&x; i = 0x5f3759df - (i>>1); x = *(float*)&i; x = x*(1.5f - xhalf*x*x); return x; } в ржавчине? Если он существует, отправьте код. Я...

14
std :: bit_cast с std :: array

В своем недавнем выступлении « Обработка типов в современном C ++» Тимур Думлер сказал, что std::bit_castего нельзя использовать для floatпреобразования битов в unsigned char[4]массив, потому что массивы в стиле C не могут быть возвращены из функции. Мы должны либо использовать, std::memcpyлибо...