Hacker News new | ask | show | jobs
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/

1 comments

Yes am familiar with Eigen. And yes I am/was that lunatic you mention in your other comment.

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.