585
|
1 // $HeadURL$
|
|
2 // $Date$
|
|
3 // $Author$
|
|
4
|
|
5 // @author@ Stewart Gordon <smjg_1998@yahoo.com>
|
607
|
6 // @date@ 2005-06-14
|
1489
|
7 // @uri@ http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D.bugs&artnum=4300
|
585
|
8 // @desc@ misplaced initialisers in static rectangular array
|
|
9
|
|
10 module dstress.run.a.array_initialization_17_B;
|
|
11
|
|
12 const float[6] arr = [
|
|
13 1: 1.0f, 2.0f,
|
|
14 4: 4.0f
|
|
15 ];
|
|
16
|
870
|
17 bool equal(float a, float b){
|
585
|
18 byte* aa = cast(byte*) &a;
|
|
19 byte* bb = cast(byte*) &b;
|
|
20
|
|
21 for(int index=0; index<a.sizeof; index++){
|
|
22 if(*aa != *bb)
|
|
23 return false;
|
|
24 aa++;
|
|
25 bb++;
|
|
26 }
|
|
27
|
|
28 return true;
|
|
29 }
|
|
30
|
1089
|
31 int main(){
|
1086
|
32 if(!equal(arr[0], float.nan)){
|
|
33 assert(0);
|
|
34 }
|
|
35 if(arr[1] != 1.0f){
|
|
36 assert(0);
|
|
37 }
|
|
38 if(arr[2] != 2.0f){
|
|
39 assert(0);
|
|
40 }
|
|
41 if(!equal(arr[3], float.nan)){
|
|
42 assert(0);
|
|
43 }
|
|
44 if(arr[4] != 4.0f){
|
|
45 assert(0);
|
|
46 }
|
|
47 if(!equal(arr[5], float.nan)){
|
|
48 assert(0);
|
|
49 }
|
585
|
50
|
|
51 return 0;
|
|
52 }
|