Prompted by this Dot function thread, in which I learned about SugarBLAS and InplaceOps and Yeppp… Often it seems that the first implementation of a function is very simple, and then the fast version is quite a bit more complicated.
Does anyone else try to keep both of them around, so that when you’ve forgotten what you were trying to do, you can look at the easy one first? And if you do, are there good ways to automate this, to make sure that the simple one is still giving the same result as the fast one?
I’m wondering if there ought to be some kind of
@slowversion marker, which would cause tests to be run over both versions. (Ideally, all 2^n ways…) Perhaps this already exists?