Lines Matching defs:left
1379 void MetalCodeGenerator::writeMatrixTimesEqualHelper(const Type& left, const Type& right,
1381 SkASSERT(left.isMatrix());
1384 SkASSERT(left.rows() == right.rows());
1385 SkASSERT(left.columns() == right.columns());
1386 SkASSERT(left.rows() == result.rows());
1387 SkASSERT(left.columns() == result.columns());
1389 String key = "Matrix *= " + this->typeName(left) + ":" + this->typeName(right);
1393 fExtraFunctions.printf("thread %s& operator*=(thread %s& left, thread const %s& right) {\n"
1394 " left = left * right;\n"
1395 " return left;\n"
1397 this->typeName(result).c_str(), this->typeName(left).c_str(),
1402 void MetalCodeGenerator::writeMatrixEqualityHelpers(const Type& left, const Type& right) {
1403 SkASSERT(left.isMatrix());
1405 SkASSERT(left.rows() == right.rows());
1406 SkASSERT(left.columns() == right.columns());
1408 String key = "Matrix == " + this->typeName(left) + ":" + this->typeName(right);
1413 thread bool operator==(const %s left, const %s right);
1414 thread bool operator!=(const %s left, const %s right);
1416 this->typeName(left).c_str(),
1418 this->typeName(left).c_str(),
1422 "thread bool operator==(const %s left, const %s right) {\n"
1424 this->typeName(left).c_str(), this->typeName(right).c_str());
1427 for (int index=0; index<left.columns(); ++index) {
1428 fExtraFunctions.printf("%sall(left[%d] == right[%d])", separator, index, index);
1435 "thread bool operator!=(const %s left, const %s right) {\n"
1436 " return !(left == right);\n"
1438 this->typeName(left).c_str(), this->typeName(right).c_str());
1452 "thread %s operator/(const %s left, const %s right) {\n"
1464 "thread %s& operator/=(thread %s& left, thread const %s& right) {\n"
1465 " left = left / right;\n"
1466 " return left;\n"
1482 bool operator==(thread const array<T1, N>& left, thread const array<T2, N>& right);
1484 bool operator!=(thread const array<T1, N>& left, thread const array<T2, N>& right);
1488 bool operator==(thread const array<T1, N>& left, thread const array<T2, N>& right) {
1490 if (!all(left[index] == right[index])) {
1498 bool operator!=(thread const array<T1, N>& left, thread const array<T2, N>& right) {
1499 return !(left == right);
1519 thread bool operator==(thread const %s& left, thread const %s& right);
1520 thread bool operator!=(thread const %s& left, thread const %s& right);
1528 "thread bool operator==(thread const %s& left, thread const %s& right) {\n"
1535 fExtraFunctions.printf("%sall(left.%.*s == right.%.*s)",
1544 "thread bool operator!=(thread const %s& left, thread const %s& right) {\n"
1545 " return !(left == right);\n"
1590 const Expression& left = *b.left();
1592 const Type& leftType = left.type();
1631 this->writeNumberAsMatrix(left, rightType);
1633 this->writeExpression(left, precedence);
1636 left.kind() == Expression::Kind::kSwizzle && !left.hasSideEffects()) {
1644 this->writeExpression(left, Precedence::kAssignment);
2591 return this->requirements(bin.left().get()) |