| 94 | } |
| 95 | |
| 96 | int16 get() { |
| 97 | int16 Data0 = mRandom_0; |
| 98 | int16 Data2 = mRandom_1; |
| 99 | int16 Data4 = mRandom_2; |
| 100 | int16 Data6 = mRandom_3; |
| 101 | |
| 102 | uint32 Dat4 = Data4 | (Data6 << 16); |
| 103 | uint8 CF = Data4 & 1; |
| 104 | uint32 Data8 = Data0 | (Data2 << 16); |
| 105 | |
| 106 | uint8 CF2 = Data8 & 1; |
| 107 | Data8 >>= 1; |
| 108 | |
| 109 | if (CF) |
| 110 | Data8 |= 0x80000000; |
| 111 | |
| 112 | Dat4 += CF2; |
| 113 | Data4 = Dat4 & 0xFFFF; |
| 114 | Data6 = Dat4 >> 16; |
| 115 | |
| 116 | for (uint16 cx = 0x0C; cx > 0; --cx) { |
| 117 | CF = 0; |
| 118 | |
| 119 | if (Data0 & 0x8000) |
| 120 | CF = 1; |
| 121 | Data0 <<= 1; |
| 122 | Data2 <<= 1; |
| 123 | if (CF) |
| 124 | Data2 |= 1; |
| 125 | } |
| 126 | |
| 127 | int16 DataA = Data8 >> 16; |
| 128 | |
| 129 | Data0 ^= Data8 & 0xFFFF; |
| 130 | Data2 ^= DataA; |
| 131 | Data8 = Data0; |
| 132 | DataA = Data2; |
| 133 | |
| 134 | int16 ax = Data8; |
| 135 | int16 bx = DataA; |
| 136 | Data8 = bx; |
| 137 | DataA = ax; |
| 138 | |
| 139 | Data8 >>= 4; |
| 140 | Data0 ^= Data8; |
| 141 | |
| 142 | mRandom_0 = Data0; |
| 143 | mRandom_1 = Data2; |
| 144 | mRandom_2 = Data4; |
| 145 | mRandom_3 = Data6; |
| 146 | return Data0; |
| 147 | } |
| 148 | }; |
nothing calls this directly
no outgoing calls
no test coverage detected