Thanks a lot to @asalzman for his help.
xDistVector is now a template class: it can hold any numerical types
such as float, double, std::complex<double> etc...
By default, double values are assumed, so that in your code, you should
only need to replace xDistVector by xDistVector<>
In addition, xlinalg::xCPPBlasDef<T> is introduced in order to simplify
blas calls, and allow easy template blas code. All the available calls
are listed in xBlasDef.h. Today, float, double and complex<double>
values are considered (not with feature parity).
xCSRVector, xDenseMatrix etc... are modified to use xCPPBlasDef.
Update xDistVector atomic test case to float/double/complex values