| 576 | } |
| 577 | |
| 578 | word Portable::Subtract(word *C, const word *A, const word *B, unsigned int N) |
| 579 | { |
| 580 | DWord u(0, 0); |
| 581 | for (unsigned int i = 0; i < N; i+=2) |
| 582 | { |
| 583 | u = (DWord) A[i] - B[i] - u.GetHighHalfAsBorrow(); |
| 584 | C[i] = u.GetLowHalf(); |
| 585 | u = (DWord) A[i+1] - B[i+1] - u.GetHighHalfAsBorrow(); |
| 586 | C[i+1] = u.GetLowHalf(); |
| 587 | } |
| 588 | return 0-u.GetHighHalf(); |
| 589 | } |
| 590 | |
| 591 | void Portable::Multiply2(word *C, const word *A, const word *B) |
| 592 | { |
nothing calls this directly
no test coverage detected