Artifact 029a85274b27ccda289c953720891b01fd7e0dda
- File
_lib/numeric/bigintFake.cpp
- 2011-02-23 09:21:16 - part of checkin [4fd800b3a8] on branch trunk - Copied from private svn repository. (user: kinaba) [annotate]
- File
lib/numeric/bigintFake.cpp
- 2011-02-23 11:18:09 - part of checkin [23dfcca431] on branch trunk - renamed _lib to lib (user: kinaba) [annotate]
string add(const string& a, const string& b)
{
int n = max(a.size(), b.size()), carry=0;
string c(n, '0');
for(int i=0; i<n; ++i) {
int x = (a.size()<=i ? 0 : a[a.size()-1-i]-'0')
+ (b.size()<=i ? 0 : b[b.size()-1-i]-'0') + carry;
c[n-1-i] = char('0'+x%10);
carry = x/10;
}
if( carry ) c = char('0'+carry)+c;
return c;
}