equal
deleted
inserted
replaced
2189 : "0" ((unsigned long)(__carry)), |
2189 : "0" ((unsigned long)(__carry)), |
2190 "1" ((unsigned long)(((unsigned *)__src)[0])) ); |
2190 "1" ((unsigned long)(((unsigned *)__src)[0])) ); |
2191 |
2191 |
2192 ((unsigned int *)(__src + __ptrDelta))[0] = __sum; |
2192 ((unsigned int *)(__src + __ptrDelta))[0] = __sum; |
2193 __src += 4; |
2193 __src += 4; |
|
2194 |
2194 if (__carry == 0) { |
2195 if (__carry == 0) { |
2195 while (__src <= __srcLast4) { |
2196 while (__src <= __srcLast4) { |
2196 /* copy over */ |
2197 /* copy over words */ |
2197 ((unsigned int *)(__src + __ptrDelta))[0] = ((unsigned int *)__src)[0]; |
2198 ((unsigned int *)(__src + __ptrDelta))[0] = ((unsigned int *)__src)[0]; |
2198 __src += 4; |
2199 __src += 4; |
2199 } |
2200 } |
2200 break; |
2201 while (__src <= __srcLast) { |
|
2202 /* copy over bytes */ |
|
2203 __src[__ptrDelta] = __src[0]; |
|
2204 __src ++; |
|
2205 } |
|
2206 goto doneSource; |
2201 } |
2207 } |
2202 } |
2208 } |
2203 # else |
2209 # else |
2204 # if defined(i386) && defined(WIN32) |
2210 # if defined(i386) && defined(WIN32) |
2205 /* |
2211 /* |
2221 |
2227 |
2222 ((unsigned int *)(__src + __ptrDelta))[0] = __sum; |
2228 ((unsigned int *)(__src + __ptrDelta))[0] = __sum; |
2223 __src += 4; |
2229 __src += 4; |
2224 if (__carry == 0) { |
2230 if (__carry == 0) { |
2225 while (__src <= __srcLast4) { |
2231 while (__src <= __srcLast4) { |
2226 /* copy over */ |
2232 /* copy over words */ |
2227 ((unsigned int *)(__src + __ptrDelta))[0] = ((unsigned int *)__src)[0]; |
2233 ((unsigned int *)(__src + __ptrDelta))[0] = ((unsigned int *)__src)[0]; |
2228 __src += 4; |
2234 __src += 4; |
2229 } |
2235 } |
2230 break; |
2236 while (__src <= __srcLast) { |
|
2237 /* copy over bytes */ |
|
2238 __src[__ptrDelta] = __src[0]; |
|
2239 __src ++; |
|
2240 } |
|
2241 goto doneSource; |
2231 } |
2242 } |
2232 } |
2243 } |
2233 # else |
2244 # else |
2234 # ifdef alpha64 |
2245 # ifdef alpha64 |
2235 /* |
2246 /* |
2243 ((unsigned int *)(__src + __ptrDelta))[0] = __sum /* & 0xFFFF */; |
2254 ((unsigned int *)(__src + __ptrDelta))[0] = __sum /* & 0xFFFF */; |
2244 __src += 4; |
2255 __src += 4; |
2245 __carry = __sum >> 32; |
2256 __carry = __sum >> 32; |
2246 if (__carry == 0) { |
2257 if (__carry == 0) { |
2247 while (__src <= __srcLast4) { |
2258 while (__src <= __srcLast4) { |
2248 /* copy over */ |
2259 /* copy over words */ |
2249 ((unsigned int *)(__src + __ptrDelta))[0] = ((unsigned int *)__src)[0]; |
2260 ((unsigned int *)(__src + __ptrDelta))[0] = ((unsigned int *)__src)[0]; |
2250 __src += 4; |
2261 __src += 4; |
2251 } |
2262 } |
2252 break; |
2263 while (__src <= __srcLast) { |
|
2264 /* copy over bytes */ |
|
2265 __src[__ptrDelta] = __src[0]; |
|
2266 __src ++; |
|
2267 } |
|
2268 goto doneSource; |
2253 } |
2269 } |
2254 } |
2270 } |
2255 # endif /* alpha64 */ |
2271 # endif /* alpha64 */ |
2256 # endif /* i386 & WIN32 */ |
2272 # endif /* i386 & WIN32 */ |
2257 # endif /* i386 & GNUC */ |
2273 # endif /* i386 & GNUC */ |
2278 __carry >>= 8; |
2294 __carry >>= 8; |
2279 __src++; |
2295 __src++; |
2280 } |
2296 } |
2281 #endif /* __LSBFIRST */ |
2297 #endif /* __LSBFIRST */ |
2282 |
2298 |
|
2299 doneSource: ; |
2283 __dst = __src + __ptrDelta; |
2300 __dst = __src + __ptrDelta; |
2284 while (__dst <= __dstLast) { |
2301 while (__dst <= __dstLast) { |
2285 __dst[0] = __carry /* & 0xFF */; |
2302 __dst[0] = __carry /* & 0xFF */; |
2286 __carry >>= 8; |
2303 __carry >>= 8; |
2287 __dst++; |
2304 __dst++; |
3597 ! ! |
3614 ! ! |
3598 |
3615 |
3599 !LargeInteger class methodsFor:'documentation'! |
3616 !LargeInteger class methodsFor:'documentation'! |
3600 |
3617 |
3601 version |
3618 version |
3602 ^ '$Header: /cvs/stx/stx/libbasic/LargeInteger.st,v 1.113 1999-06-02 12:56:46 cg Exp $' |
3619 ^ '$Header: /cvs/stx/stx/libbasic/LargeInteger.st,v 1.114 1999-06-02 13:15:47 cg Exp $' |
3603 ! ! |
3620 ! ! |