Lines Matching refs:right
233 bool Operator::isMatrixMultiply(const Type& left, const Type& right) { in isMatrixMultiply() argument
238 return right.isMatrix() || right.isVector(); in isMatrixMultiply()
240 return left.isVector() && right.isMatrix(); in isMatrixMultiply()
249 const Type& right, in determineBinaryType() argument
259 return right.canCoerceTo(left, allowNarrowing); in determineBinaryType()
263 CoercionCost rightToLeft = right.coercionCost(left), in determineBinaryType()
264 leftToRight = left.coercionCost(right); in determineBinaryType()
274 *outLeftType = &right; in determineBinaryType()
275 *outRightType = &right; in determineBinaryType()
289 right.canCoerceTo(*context.fTypes.fBool, allowNarrowing); in determineBinaryType()
293 *outRightType = &right; in determineBinaryType()
294 *outResultType = &right; in determineBinaryType()
304 const Type& rightComponentType = right.componentType(); in determineBinaryType()
310 if (this->isMatrixMultiply(left, right)) { // left * right in determineBinaryType()
312 if (!this->determineBinaryType(context, left.componentType(), right.componentType(), in determineBinaryType()
318 *outRightType = &(*outResultType)->toCompound(context, right.columns(), right.rows()); in determineBinaryType()
320 int rightColumns = right.columns(), rightRows = right.rows(); in determineBinaryType()
321 if (right.isVector()) { in determineBinaryType()
342 if (leftIsVectorOrMatrix && validMatrixOrVectorOp && right.isScalar()) { in determineBinaryType()
344 if (!this->determineBinaryType(context, left.componentType(), right, in determineBinaryType()
356 bool rightIsVectorOrMatrix = right.isVector() || right.isMatrix(); in determineBinaryType()
360 if (!this->determineBinaryType(context, left, right.componentType(), in determineBinaryType()
365 *outRightType = &(*outRightType)->toCompound(context, right.columns(), right.rows()); in determineBinaryType()
367 *outResultType = &(*outResultType)->toCompound(context, right.columns(), right.rows()); in determineBinaryType()
372 CoercionCost rightToLeftCost = right.coercionCost(left); in determineBinaryType()
374 : left.coercionCost(right); in determineBinaryType()
376 if ((left.isScalar() && right.isScalar()) || (leftIsVectorOrMatrix && validMatrixOrVectorOp)) { in determineBinaryType()
389 *outLeftType = &right; in determineBinaryType()
390 *outRightType = &right; in determineBinaryType()
391 *outResultType = &right; in determineBinaryType()