Lines Matching defs:operand
63 SkOperand2 operand[2]; // 1=accumulator and 2=operand
72 operand[0].fArray = new SkOpArray(SkOperand2::kNoType /*fReturnType*/);
75 index = operand[1].fS32;
76 if (index >= operand[0].fArray->count()) {
80 operand[0] = operand[0].fArray->begin()[index];
83 *operand[0].fArray->append() = operand[1];
94 if (callBackFunction->invoke(ref, operand[0].fArray, /* params */
95 &operand[0] /* result */) == false) {
104 if (callBackMember->invoke(ref, operand[0].fObject, &operand[0]) == false) {
113 if (callBackProperty->getResult(ref, &operand[0])== false) {
119 fRunStack.pop(&operand[0]);
122 *fRunStack.push() = operand[0];
127 memcpy(&operand[registerLoad].fS32, opCode, sizeof(int32_t));
133 memcpy(&operand[registerLoad].fScalar, opCode, sizeof(SkScalar));
145 operand[registerLoad].fString = strPtr;
148 track(operand[0].fString);
155 if (callBackBox->convert(type, &operand[0]) == false)
161 if (callBackUnbox->convert(SkOperand2::kObject, &operand[0]) == false)
168 if (operand[0].fS32 == 0)
179 if (operand[0].fS32 != 0)
184 SkTSwap(operand[0], operand[1]);
193 strPtr->appendS32(operand[op - SkScriptEngine2::kIntToString].fS32);
195 strPtr->appendScalar(operand[op - SkScriptEngine2::kScalarToString].fScalar);
196 operand[0].fString = strPtr;
200 operand[0].fScalar = SkScriptEngine2::IntToScalar(operand[op - SkScriptEngine2::kIntToScalar].fS32);
203 if (SkParse::FindS32(operand[0].fString->c_str(), &operand[0].fS32) == NULL)
208 if (SkParse::FindScalar(operand[0].fString->c_str(),
209 &operand[op - SkScriptEngine2::kStringToScalar].fScalar) == NULL)
213 operand[0].fS32 = SkScalarFloor(operand[0].fScalar);
217 operand[0].fS32 += operand[1].fS32;
220 operand[0].fScalar += operand[1].fScalar;
223 // if (fTrackString.find(operand[1].fString) < 0) {
224 // operand[1].fString = SkNEW_ARGS(SkString, (*operand[1].fString));
225 // track(operand[1].fString);
227 operand[0].fString->append(*operand[1].fString);
230 operand[0].fS32 &= operand[1].fS32;
233 operand[0].fS32 = ~operand[0].fS32;
236 operand[0].fS32 |= operand[1].fS32;
239 SkASSERT(operand[1].fS32 != 0);
240 if (operand[1].fS32 == 0)
241 operand[0].fS32 = operand[0].fS32 == 0 ? SK_NaN32 :
242 operand[0].fS32 > 0 ? SK_MaxS32 : -SK_MaxS32;
244 if (operand[1].fS32 != 0) // throw error on divide by zero?
245 operand[0].fS32 /= operand[1].fS32;
248 if (operand[1].fScalar == 0)
249 operand[0].fScalar = operand[0].fScalar == 0 ? SK_ScalarNaN :
250 operand[0].fScalar > 0 ? SK_ScalarMax : -SK_ScalarMax;
252 operand[0].fScalar = SkScalarDiv(operand[0].fScalar, operand[1].fScalar);
255 operand[0].fS32 = operand[0].fS32 == operand[1].fS32;
258 operand[0].fS32 = operand[0].fScalar == operand[1].fScalar;
261 operand[0].fS32 = *operand[0].fString == *operand[1].fString;
264 operand[0].fS32 = operand[0].fS32 >= operand[1].fS32;
267 operand[0].fS32 = operand[0].fScalar >= operand[1].fScalar;
270 operand[0].fS32 = strcmp(operand[0].fString->c_str(), operand[1].fString->c_str()) >= 0;
273 operand[0].fS32 = !! operand[0].fS32;
276 operand[0].fS32 = ! operand[0].fS32;
279 operand[0].fS32 = -operand[0].fS32;
282 operand[0].fScalar = -operand[0].fScalar;
285 operand[0].fS32 %= operand[1].fS32;
288 operand[0].fScalar = SkScalarMod(operand[0].fScalar, operand[1].fScalar);
291 operand[0].fS32 *= operand[1].fS32;
294 operand[0].fScalar = SkScalarMul(operand[0].fScalar, operand[1].fScalar);
297 operand[0].fS32 <<= operand[1].fS32;
300 operand[0].fS32 >>= operand[1].fS32;
303 operand[0].fS32 -= operand[1].fS32;
306 operand[0].fScalar -= operand[1].fScalar;
309 operand[0].fS32 ^= operand[1].fS32;
320 fRunStack.push(operand[0]);