MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / softfloat_shiftRightJam128

Function softfloat_shiftRightJam128

lib/softfloat/source/s_shiftRightJam128.c:43–66  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41#ifndef softfloat_shiftRightJam128
42
43struct uint128
44 softfloat_shiftRightJam128( uint64_t a64, uint64_t a0, uint_fast32_t dist )
45{
46 uint_fast8_t u8NegDist;
47 struct uint128 z;
48
49 if ( dist < 64 ) {
50 u8NegDist = -dist;
51 z.v64 = a64>>dist;
52 z.v0 =
53 a64<<(u8NegDist & 63) | a0>>dist
54 | ((uint64_t) (a0<<(u8NegDist & 63)) != 0);
55 } else {
56 z.v64 = 0;
57 z.v0 =
58 (dist < 127)
59 ? a64>>(dist & 63)
60 | (((a64 & (((uint_fast64_t) 1<<(dist & 63)) - 1)) | a0)
61 != 0)
62 : ((a64 | a0) != 0);
63 }
64 return z;
65
66}
67
68#endif
69

Callers 1

softfloat_subMagsExtF80Function · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected