|
|
|
|
|
by ahartmetz
105 days ago
|
|
It is pretty well known that C++ templates really are dynamically typed, it's compile time duck typing. What you did sounds like Eigen, which probably takes expression templates much further than you did due to the long time it's been around. It is weirdly absent from its documentation, but Eigen does have explicit SIMD support for several architectures and SIMD instruction sets. https://libeigen.gitlab.io/ |
|
This thing I wrote, predated Eigen (by a few years, I think) had a better support for pipelines and dataflow oriented programming (at least in the context of what I needed) than Eigen. It was more like itertools, functools of Python. Likely older than Eigen but positively after Blitz++ because I remember studying Blitz++ code.
Unlike Eigen, mine had no explicit support for intrinsics, for that I relied on a smart enough compiler, GCC was surprisingly good.
Too bad MSVC was quite bad at optimising and inlining away to the expression trees that Eigen (and mine) generated.