simple abstraction layer on top of other vectorization libraries
It provides an architecture-independent API for expressing vector operations
on data. Code written with this API can then be dispatched to one of several
backends like Vc, or a scalar implementation. This allows one to get the best
performance on platforms supported by Vc without losing portability to
unsupported architectures like ARM and PowerPC, for example, where the scalar
backend can be used instead without requiring changes in user code.