| 400 | } |
| 401 | |
| 402 | function AddUnsigned(lX,lY) { |
| 403 | var lX4,lY4,lX8,lY8,lResult; |
| 404 | lX8 = (lX & 0x80000000); |
| 405 | lY8 = (lY & 0x80000000); |
| 406 | lX4 = (lX & 0x40000000); |
| 407 | lY4 = (lY & 0x40000000); |
| 408 | lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF); |
| 409 | if (lX4 & lY4) { |
| 410 | return (lResult ^ 0x80000000 ^ lX8 ^ lY8); |
| 411 | } |
| 412 | if (lX4 | lY4) { |
| 413 | if (lResult & 0x40000000) { |
| 414 | return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); |
| 415 | } else { |
| 416 | return (lResult ^ 0x40000000 ^ lX8 ^ lY8); |
| 417 | } |
| 418 | } else { |
| 419 | return (lResult ^ lX8 ^ lY8); |
| 420 | } |
| 421 | } |
| 422 | |
| 423 | function F(x,y,z) { return (x & y) | ((~x) & z); } |
| 424 | function G(x,y,z) { return (x & z) | (y & (~z)); } |