Adds a check that detects 2D array traversals where the array is traversed column wise instead of row wise.
These patterns harm cache performance as well as prevent auto-vectorisation opportunities.
I think will be reasonable to check for += and -=.
Please highlight for with double back-ticks. Same in documentation.
Thoughts on this, prefetchers are often able to detect strided access so is forcing increment to be 1 removing potential functionality.
Any ideas on a nicer way to say this? I feel like this message isn't as descriptive as I'd like, and non-native English speakers could struggle to understand it.
Theoretically index changes may be other than 1. For example, in some electronic simulation each block/device store matrix indexes to contribute (but sparse, not dense, matrix is used). It'll be good idea to look on BLAS and LAPACK (through both are written in Fortran).
Except for a couple nits, LGTM.
If you're not doing anything different, I believe you can just do
Also, shouldn't you be explicitly overriding the d'tor?