Commit 18c429a
committed
MathUtils: materialise the product in SMatrixGPU's operator*=
Unlike ROOT's SMatrix, where the product of two matrices is a matrix, SMatrixGPU
returns a lazy expression, and every element of that expression reads the whole
of the left operand. Assigning it back element by element therefore reads values
that have already been overwritten. It also did not compile: the expression
matched the generic operator= that copies the representation, which an
expression does not have.
This was unreachable until now, since nothing instantiated a matrix multiply
assignment in device code.1 parent 5e1b1f9 commit 18c429a
1 file changed
Lines changed: 6 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1433 | 1433 | | |
1434 | 1434 | | |
1435 | 1435 | | |
1436 | | - | |
| 1436 | + | |
| 1437 | + | |
| 1438 | + | |
| 1439 | + | |
1437 | 1440 | | |
1438 | 1441 | | |
1439 | 1442 | | |
1440 | 1443 | | |
1441 | 1444 | | |
1442 | 1445 | | |
1443 | | - | |
| 1446 | + | |
| 1447 | + | |
1444 | 1448 | | |
1445 | 1449 | | |
1446 | 1450 | | |
| |||
0 commit comments