Commit bc8eedf
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 1d6c543 commit bc8eedf
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