| 65 | | int tmp; |
| 66 | | OValue* res; |
| 67 | | |
| 68 | | res = orRESULT; |
| 69 | | orSetTF( res, OT_TUPLE ); |
| 70 | | |
| 71 | | res->argc = a->argc > b->argc ? a->argc : b->argc; |
| 72 | | |
| 73 | | for( uint8_t i = 0; i < OR_TUPLE_MAX; i++ ) |
| 74 | | { |
| 75 | | tmp = a->tuple[i] + b->tuple[i]; |
| 76 | | res->tuple[i] = tmp > 255 ? 255 : tmp; |
| 77 | | } |
| 78 | | |
| 79 | | return; |
| | 65 | uint32_t tmp, i; |
| | 66 | OValue* res; |
| | 67 | |
| | 68 | res = orRESULT; |
| | 69 | orSetTF( res, OT_TUPLE ); |
| | 70 | |
| | 71 | res->argc = a->argc > b->argc ? a->argc : b->argc; |
| | 72 | for( i = 0; i < OR_TUPLE_MAX; i++ ) |
| | 73 | { |
| | 74 | tmp = a->tuple[i] + b->tuple[i]; |
| | 75 | res->tuple[i] = tmp > 255 ? 255 : tmp; |
| | 76 | } |
| | 77 | |
| | 78 | return; |
| | 79 | } |
| | 80 | else if( b->type == OT_INTEGER ) |
| | 81 | { |
| | 82 | uint32_t tmp, i; |
| | 83 | OValue *res, t; |
| | 84 | |
| | 85 | memSet(&t, 0, sizeof(OValue)); |
| | 86 | orSetTF( &t, OT_TUPLE ); |
| | 87 | |
| | 88 | t.argc = a->argc; |
| | 89 | for( i = 0; i < t.argc; i++ ) |
| | 90 | { |
| | 91 | tmp = a->tuple[i] + b->integer; |
| | 92 | t.tuple[i] = tmp > 255 ? 255 : tmp; |
| | 93 | } |
| | 94 | |
| | 95 | res = orRESULT; |
| | 96 | memCpy(res, &t, sizeof(OValue)); |
| | 97 | return; |