comparison dmd/expression/Equal.d @ 63:cab4c37afb89

A bunch of implementations
author korDen
date Mon, 23 Aug 2010 16:52:24 +0400
parents 10317f0c89a5
children ef02e2e203c2
comparison
equal deleted inserted replaced
62:6557375aff35 63:cab4c37afb89
90 { 90 {
91 Expression ee1 = cast(Expression)es1.elements.data[i]; 91 Expression ee1 = cast(Expression)es1.elements.data[i];
92 Expression ee2 = cast(Expression)es2.elements.data[i]; 92 Expression ee2 = cast(Expression)es2.elements.data[i];
93 93
94 Expression v = Equal(TOK.TOKequal, Type.tint32, ee1, ee2); 94 Expression v = Equal(TOK.TOKequal, Type.tint32, ee1, ee2);
95 if (v == EXP_CANT_INTERPRET) 95 if (v is EXP_CANT_INTERPRET)
96 return EXP_CANT_INTERPRET; 96 return EXP_CANT_INTERPRET;
97 long tmp = v.toInteger(); 97 long tmp = v.toInteger();
98 cmp = (tmp != 0); 98 cmp = (tmp != 0);
99 if (!cmp) 99 if (!cmp)
100 break; 100 break;
159 { 159 {
160 cmp = false; 160 cmp = false;
161 break; 161 break;
162 } 162 }
163 Expression v = Equal(TOK.TOKequal, Type.tint32, ee1, ee2); 163 Expression v = Equal(TOK.TOKequal, Type.tint32, ee1, ee2);
164 if (v == EXP_CANT_INTERPRET) 164 if (v is EXP_CANT_INTERPRET)
165 return EXP_CANT_INTERPRET; 165 return EXP_CANT_INTERPRET;
166 long tmp = v.toInteger(); 166 long tmp = v.toInteger();
167 cmp = (tmp != 0); 167 cmp = (tmp != 0);
168 if (!cmp) 168 if (!cmp)
169 break; 169 break;