annotate test/bug55.d @ 92:70d6113eeb8c trunk

[svn r96] Updated to DMD 1.023. Regular bugfixes.
author lindquist
date Thu, 08 Nov 2007 19:13:28 +0100
parents
children d9d5d59873d8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
92
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
1 module bug55;
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
2
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
3 int atoi(char[] s) {
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
4 int i, fac=1;
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
5 bool neg = (s.length) && (s[0] == '-');
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
6 char[] a = neg ? s[1..$] : s;
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
7 foreach_reverse(c; a) {
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
8 i += (c-'0') * fac;
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
9 fac *= 10;
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
10 }
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
11 return !neg ? i : -i;
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
12 }
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
13
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
14 void main()
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
15 {
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
16 printf("64213 = %d\n", atoi("64213"));
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
17 printf("-64213 = %d\n", atoi("-64213"));
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
18 assert(atoi("64213") == 64213);
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
19 assert(atoi("-64213") == -64213);
70d6113eeb8c [svn r96] Updated to DMD 1.023.
lindquist
parents:
diff changeset
20 }