| 217 | } |
| 218 | |
| 219 | static word LinearMultiply(word *C, const word *A, word B, unsigned int N) |
| 220 | { |
| 221 | word carry=0; |
| 222 | for(unsigned i=0; i<N; i++) |
| 223 | { |
| 224 | dword_union p; |
| 225 | p.dw = (dword)A[i] * B + carry; |
| 226 | C[i] = p.low; |
| 227 | carry = p.high; |
| 228 | } |
| 229 | return carry; |
| 230 | } |
| 231 | |
| 232 | static void AtomicMultiply(word *C, word A0, word A1, word B0, word B1) |
| 233 | { |
no outgoing calls
no test coverage detected