Lines Matching defs:rightValue
170 #define INTEGER_INTEGER_COMPUTER(op, rightValue) do { \
171 IntegerValue* value = static_cast<IntegerValue *>((rightValue).get()); \
179 #define INTEGER_FLOAT_MATH_COMPUTER(op, rightValue) do { \
180 FloatValue* value = static_cast<FloatValue *>((rightValue).get()); \
188 #define INTEGER_MATH_COMPUTER(op, rightValue) do { \
189 if (rightValue->GetValueType() == UScriptValue::VALUE_TYPE_INTEGER) { \
190 INTEGER_INTEGER_COMPUTER(op, (rightValue)); \
191 } else if ((rightValue)->GetValueType() == UScriptValue::VALUE_TYPE_FLOAT) { \
192 INTEGER_FLOAT_MATH_COMPUTER(op, (rightValue)); \
196 #define INTEGER_FLOAT_LOGIC_COMPUTER(op, rightValue) do { \
197 FloatValue* value = static_cast<FloatValue *>((rightValue).get()); \
205 #define INTEGER_LOGIC_COMPUTER(op, rightValue) do { \
206 if (rightValue->GetValueType() == UScriptValue::VALUE_TYPE_INTEGER) { \
207 INTEGER_INTEGER_COMPUTER(op, (rightValue)); \
208 } else if ((rightValue)->GetValueType() == UScriptValue::VALUE_TYPE_FLOAT) { \
209 INTEGER_FLOAT_LOGIC_COMPUTER(op, (rightValue)); \
213 #define INTEGER_INTEGER_MATH_COMPUTER_DIV(rightValue) do { \
214 IntegerValue* value = static_cast<IntegerValue *>((rightValue).get()); \
222 #define INTEGER_FLOAT_MATH_COMPUTER_DIV(rightValue) do { \
223 FloatValue* value = static_cast<FloatValue *>((rightValue).get()); \
231 #define INTEGER_MATH_COMPUTER_DIV(rightValue) do { \
232 if (rightValue->GetValueType() == UScriptValue::VALUE_TYPE_INTEGER) { \
233 INTEGER_INTEGER_MATH_COMPUTER_DIV((rightValue)); \
234 } else if ((rightValue)->GetValueType() == UScriptValue::VALUE_TYPE_FLOAT) { \
235 INTEGER_FLOAT_MATH_COMPUTER_DIV((rightValue)); \
241 UScriptValuePtr rightValue = UScriptValue::GetRightCompluteValue(value);
243 if (rightValue == nullptr) {
249 INTEGER_MATH_COMPUTER(+, rightValue);
252 INTEGER_MATH_COMPUTER(-, rightValue);
255 INTEGER_MATH_COMPUTER(*, rightValue);
258 INTEGER_MATH_COMPUTER_DIV(rightValue);
261 INTEGER_LOGIC_COMPUTER(>, rightValue);
264 INTEGER_LOGIC_COMPUTER(>=, rightValue);
267 INTEGER_LOGIC_COMPUTER(<, rightValue);
270 INTEGER_LOGIC_COMPUTER(<=, rightValue);
273 INTEGER_LOGIC_COMPUTER(==, rightValue);
276 INTEGER_LOGIC_COMPUTER(!=, rightValue);
279 INTEGER_LOGIC_COMPUTER(&&, rightValue);
282 INTEGER_LOGIC_COMPUTER(||, rightValue);
290 #define FLOAT_INTEGER_COMPUTER(op, rightValue) do { \
291 IntegerValue* value = static_cast<IntegerValue *>((rightValue).get()); \
299 #define FLOAT_FLOAT_MATH_COMPUTER(op, rightValue) do { \
300 FloatValue* value = static_cast<FloatValue *>((rightValue).get()); \
308 #define FLOAT_MATH_COMPUTER(op, rightValue) do { \
309 if (rightValue->GetValueType() == UScriptValue::VALUE_TYPE_INTEGER) { \
310 FLOAT_INTEGER_COMPUTER(op, (rightValue)); \
311 } else if ((rightValue)->GetValueType() == UScriptValue::VALUE_TYPE_FLOAT) { \
312 FLOAT_FLOAT_LOGIC_COMPUTER(op, (rightValue)); \
316 #define FLOAT_FLOAT_LOGIC_COMPUTER(op, rightValue) do { \
317 FloatValue* value = static_cast<FloatValue *>((rightValue).get()); \
325 #define FLOAT_LOGIC_COMPUTER(op, rightValue) do { \
326 if (rightValue->GetValueType() == UScriptValue::VALUE_TYPE_INTEGER) { \
327 FLOAT_INTEGER_COMPUTER(op, (rightValue)); \
328 } else if ((rightValue)->GetValueType() == UScriptValue::VALUE_TYPE_FLOAT) { \
329 FLOAT_FLOAT_LOGIC_COMPUTER(op, (rightValue)); \
333 #define FLOAT_INTEGER_MATH_COMPUTER_DIV(rightValue) do { \
334 IntegerValue* value = static_cast<IntegerValue *>((rightValue).get()); \
342 #define FLOAT_MATH_COMPUTER_DIV(rightValue) do { \
343 if (rightValue->GetValueType() == UScriptValue::VALUE_TYPE_INTEGER) { \
344 FLOAT_INTEGER_MATH_COMPUTER_DIV((rightValue)); \
345 } else if ((rightValue)->GetValueType() == UScriptValue::VALUE_TYPE_FLOAT) { \
346 INTEGER_FLOAT_MATH_COMPUTER_DIV((rightValue)); \
353 UScriptValuePtr rightValue = UScriptValue::GetRightCompluteValue(value);
355 if (rightValue == nullptr) {
361 FLOAT_MATH_COMPUTER(+, rightValue);
364 FLOAT_MATH_COMPUTER(-, rightValue);
367 FLOAT_MATH_COMPUTER(*, rightValue);
370 FLOAT_MATH_COMPUTER_DIV(rightValue);
373 FLOAT_LOGIC_COMPUTER(>, rightValue);
376 FLOAT_LOGIC_COMPUTER(>=, rightValue);
379 FLOAT_LOGIC_COMPUTER(<, rightValue);
382 FLOAT_LOGIC_COMPUTER(<=, rightValue);
385 return make_shared<IntegerValue>(ComputerEqual(rightValue));
387 return make_shared<IntegerValue>(!ComputerEqual(rightValue));
389 FLOAT_LOGIC_COMPUTER(&&, rightValue);
392 FLOAT_LOGIC_COMPUTER(||, rightValue);
400 bool FloatValue::ComputerEqual(const UScriptValuePtr rightValue)
402 if (rightValue->GetValueType() == UScriptValue::VALUE_TYPE_INTEGER) {
403 IntegerValue* value = (IntegerValue*)(rightValue.get());
413 } else if (rightValue->GetValueType() == UScriptValue::VALUE_TYPE_FLOAT) {
414 FloatValue* value = (FloatValue*)(rightValue.get());
427 UScriptValuePtr StringValue::ComputerReturn(int32_t action, UScriptValuePtr rightValue,
432 return make_shared<IntegerValue>(ComputerLogic(rightValue) > 0);
435 return make_shared<IntegerValue>(ComputerLogic(rightValue) >= 0);
438 return make_shared<IntegerValue>(ComputerLogic(rightValue) < 0);
441 return make_shared<IntegerValue>(ComputerLogic(rightValue) <= 0);
444 return make_shared<IntegerValue>(ComputerLogic(rightValue) == 0);
447 return make_shared<IntegerValue>(ComputerLogic(rightValue) != 0);
461 UScriptValuePtr rightValue = UScriptValue::GetRightCompluteValue(value);
463 if (rightValue == nullptr) {
470 if (rightValue->GetValueType() == UScriptValue::VALUE_TYPE_INTEGER) {
471 IntegerValue* integerValue = (IntegerValue*)(rightValue.get());
478 } else if (rightValue->GetValueType() == UScriptValue::VALUE_TYPE_FLOAT) {
479 FloatValue* floatValue = (FloatValue*)(rightValue.get());
487 StringValue* stringValue = (StringValue*)(rightValue.get());
496 if (rightValue->GetValueType() != UScriptValue::VALUE_TYPE_STRING) {
500 return ComputerReturn(action, rightValue, defReturn);
503 int32_t StringValue::ComputerLogic(UScriptValuePtr rightValue) const
505 StringValue* value = (StringValue*)(rightValue.get());
600 UScriptValuePtr UScriptValue::GetRightCompluteValue(UScriptValuePtr rightValue)
602 if (rightValue->GetValueType() == VALUE_TYPE_LIST) {
603 ReturnValue* value = (ReturnValue*)(rightValue.get());
610 return rightValue;