1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#include <stdint.h> #include "platform.h" #include "primitives.h" struct uint64_extra softfloat_shortShift64ExtraRightJam( uint64_t a, uint64_t extra, unsigned int count ) { struct uint64_extra z; z.v = a>>count; z.extra = a<<( ( - count ) & 63 ) | ( extra != 0 ); return z; }