MCPcopy Create free account
hub / github.com/Meshcapade/difflocks / deepCloneImpl_directTranspose

Function deepCloneImpl_directTranspose

extensions/include/cuMat/src/Matrix.h:1163–1180  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1161
1162 template<int _OtherRows, int _OtherColumns, int _OtherBatches>
1163 void deepCloneImpl_directTranspose(Matrix<_Scalar, _OtherRows, _OtherColumns, _OtherBatches, TransposedFlags>& mat, std::integral_constant<bool, true>) const
1164 {
1165 //optimized path: direct transpose
1166 CUMAT_STATIC_ASSERT(CUMAT_IMPLIES(_Rows!=Dynamic && _OtherRows!=Dynamic, _Rows == _OtherRows),
1167 "unable to assign a matrix to another matrix with a different compile time row count");
1168 CUMAT_STATIC_ASSERT(CUMAT_IMPLIES(_Columns!=Dynamic && _OtherColumns!=Dynamic, _Columns == _OtherColumns),
1169 "unable to assign a matrix to another matrix with a different compile time column count");
1170 CUMAT_STATIC_ASSERT(CUMAT_IMPLIES(_Batches!=Dynamic && _OtherBatches!=Dynamic, _Batches == _OtherBatches),
1171 "unable to assign a matrix to another matrix with a different compile time row count");
1172
1173 CUMAT_ASSERT(rows() == mat.rows());
1174 CUMAT_ASSERT(cols() == mat.cols());
1175 CUMAT_ASSERT(batches() == mat.batches());
1176
1177 Index m = CUMAT_IS_ROW_MAJOR(Flags) ? rows() : cols();
1178 Index n = CUMAT_IS_ROW_MAJOR(Flags) ? cols() : rows();
1179 internal::directTranspose<_Scalar>(mat.data(), data(), m, n, batches());
1180 }
1181 template<int _OtherRows, int _OtherColumns, int _OtherBatches>
1182 void deepCloneImpl_directTranspose(Matrix<_Scalar, _OtherRows, _OtherColumns, _OtherBatches, TransposedFlags>& mat, std::integral_constant<bool, false>) const
1183 {

Callers 1

deepCloneImplFunction · 0.85

Calls 9

dataFunction · 0.85
rowsFunction · 0.70
colsFunction · 0.70
batchesFunction · 0.70
assignFunction · 0.70
rowsMethod · 0.45
colsMethod · 0.45
batchesMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected