Changeset 144 for trunk/orca/math.c
- Timestamp:
- 05/11/06 14:23:03 (3 years ago)
- Files:
-
- 1 modified
-
trunk/orca/math.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/orca/math.c
r94 r144 170 170 171 171 172 static void orOpPower( OValue* a )172 static void orOpPower( OValue* a1 ) 173 173 { 174 174 double x, y; 175 OValue* b = a + 1;176 if( a ->type == OT_INTEGER )175 OValue* b = a1 + 1; 176 if( a1->type == OT_INTEGER ) 177 177 { 178 178 if( b->type == OT_INTEGER ) … … 182 182 if( n ) 183 183 { 184 sum = orInt(a );184 sum = orInt(a1); 185 185 while( --n ) 186 sum *= orInt(a );186 sum *= orInt(a1); 187 187 } 188 188 else … … 195 195 else if( b->type == OT_DECIMAL ) 196 196 { 197 x = (double) orInt(a );197 x = (double) orInt(a1); 198 198 y = orDecimal(b); 199 199 goto fp; 200 200 } 201 a = b;202 } 203 else if( a ->type == OT_DECIMAL )204 { 205 x = orDecimal(a );201 a1 = b; 202 } 203 else if( a1->type == OT_DECIMAL ) 204 { 205 x = orDecimal(a1); 206 206 if( b->type == OT_INTEGER ) 207 207 { … … 214 214 goto fp; 215 215 } 216 a = b;217 } 218 orErrorOp( "**", a );216 a1 = b; 217 } 218 orErrorOp( "**", a1 ); 219 219 return; 220 220 … … 224 224 225 225 226 static void orOpRemainder( OValue* a )226 static void orOpRemainder( OValue* a1 ) 227 227 { 228 228 double x, y; 229 OValue* b = a + 1;230 if( a ->type == OT_INTEGER )229 OValue* b = a1 + 1; 230 if( a1->type == OT_INTEGER ) 231 231 { 232 232 if( b->type == OT_INTEGER ) 233 233 { 234 orResult( OT_INTEGER, orInt(a ) % orInt(b) );234 orResult( OT_INTEGER, orInt(a1) % orInt(b) ); 235 235 return; 236 236 } 237 237 else if( b->type == OT_DECIMAL ) 238 238 { 239 x = (double) orInt(a );239 x = (double) orInt(a1); 240 240 y = orDecimal(b); 241 241 goto fp; 242 242 } 243 a = b;244 } 245 else if( a ->type == OT_DECIMAL )246 { 247 x = orDecimal(a );243 a1 = b; 244 } 245 else if( a1->type == OT_DECIMAL ) 246 { 247 x = orDecimal(a1); 248 248 if( b->type == OT_INTEGER ) 249 249 { … … 256 256 goto fp; 257 257 } 258 a = b;259 } 260 orErrorOp( "//", a );258 a1 = b; 259 } 260 orErrorOp( "//", a1 ); 261 261 return; 262 262
