Lines Matching defs:sources
3257 Id Builder::createConstructor(Decoration precision, const std::vector<Id>& sources, Id resultTypeId)
3265 if (sources.size() == 1 && isScalar(sources[0]) && numTargetComponents > 1)
3266 return smearScalar(precision, sources[0], resultTypeId);
3319 for (unsigned int i = 0; i < sources.size(); ++i) {
3321 if (isScalar(sources[i]) || isPointer(sources[i]))
3322 latchResult(sources[i]);
3323 else if (isVector(sources[i]))
3324 accumulateVectorConstituents(sources[i]);
3325 else if (isMatrix(sources[i]))
3326 accumulateMatrixConstituents(sources[i]);
3342 Id Builder::createMatrixConstructor(Decoration precision, const std::vector<Id>& sources, Id resultTypeId)
3352 if (isMatrix(sources[0]) && getNumColumns(sources[0]) >= numCols && getNumRows(sources[0]) >= numRows) {
3356 Id matrix = sources[0];
3401 if (sources.size() == 1 && isScalar(sources[0])) {
3404 ids[col][col] = sources[0];
3405 } else if (isMatrix(sources[0])) {
3407 Id matrix = sources[0];
3425 for (int arg = 0; arg < (int)sources.size() && col < numCols; ++arg) {
3426 Id argComp = sources[arg];
3427 for (int comp = 0; comp < getNumComponents(sources[arg]); ++comp) {
3428 if (getNumComponents(sources[arg]) > 1) {
3429 argComp = createCompositeExtract(sources[arg], componentTypeId, comp);