annotate run/foreach_10.d @ 1535:20d8ee6523e1

updated to DMD-1.013
author thomask
date Mon, 07 May 2007 05:19:57 +0000
parents f87ba6507260
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
374
f87ba6507260 added missing meta-data
thomask
parents: 1
diff changeset
1 // $HeadURL$
f87ba6507260 added missing meta-data
thomask
parents: 1
diff changeset
2 // $Date$
f87ba6507260 added missing meta-data
thomask
parents: 1
diff changeset
3 // $Author$
f87ba6507260 added missing meta-data
thomask
parents: 1
diff changeset
4
f87ba6507260 added missing meta-data
thomask
parents: 1
diff changeset
5 module dstress.run.foreach_10;
0
3269e4627918 init dstress
svnowner
parents:
diff changeset
6
3269e4627918 init dstress
svnowner
parents:
diff changeset
7 class MyArray{
3269e4627918 init dstress
svnowner
parents:
diff changeset
8 double[] array;
3269e4627918 init dstress
svnowner
parents:
diff changeset
9
3269e4627918 init dstress
svnowner
parents:
diff changeset
10 this(){
3269e4627918 init dstress
svnowner
parents:
diff changeset
11 array=new double[3];
3269e4627918 init dstress
svnowner
parents:
diff changeset
12 array[0]=0.0;
3269e4627918 init dstress
svnowner
parents:
diff changeset
13 array[1]=4.0;
3269e4627918 init dstress
svnowner
parents:
diff changeset
14 array[2]=8.0;
3269e4627918 init dstress
svnowner
parents:
diff changeset
15 }
3269e4627918 init dstress
svnowner
parents:
diff changeset
16
1535
20d8ee6523e1 updated to DMD-1.013
thomask
parents: 374
diff changeset
17 int opApply(int delegate(ref double) dg){
0
3269e4627918 init dstress
svnowner
parents:
diff changeset
18 double result;
3269e4627918 init dstress
svnowner
parents:
diff changeset
19 for(int i=0; i<array.length; i++){
3269e4627918 init dstress
svnowner
parents:
diff changeset
20 result = dg(array[i]);
3269e4627918 init dstress
svnowner
parents:
diff changeset
21 if(result){
3269e4627918 init dstress
svnowner
parents:
diff changeset
22 return i;
3269e4627918 init dstress
svnowner
parents:
diff changeset
23 }
3269e4627918 init dstress
svnowner
parents:
diff changeset
24 }
3269e4627918 init dstress
svnowner
parents:
diff changeset
25 return array.length;
3269e4627918 init dstress
svnowner
parents:
diff changeset
26 }
3269e4627918 init dstress
svnowner
parents:
diff changeset
27 }
3269e4627918 init dstress
svnowner
parents:
diff changeset
28 int main(){
3269e4627918 init dstress
svnowner
parents:
diff changeset
29 MyArray array=new MyArray();
3269e4627918 init dstress
svnowner
parents:
diff changeset
30 double test=0.0;
3269e4627918 init dstress
svnowner
parents:
diff changeset
31 assert(test==0.0);
3269e4627918 init dstress
svnowner
parents:
diff changeset
32 foreach(double value; array){
3269e4627918 init dstress
svnowner
parents:
diff changeset
33 test+=value;
3269e4627918 init dstress
svnowner
parents:
diff changeset
34 }
3269e4627918 init dstress
svnowner
parents:
diff changeset
35 assert(test==12.0);
3269e4627918 init dstress
svnowner
parents:
diff changeset
36 return 0;
1
3414705c41ac removed CVS header
thomask
parents: 0
diff changeset
37 }