The testsuite is failing on PowerPC buildbots due to https://reviews.llvm.org/D72770.
Looks like we are using wrong type generator for double.
In file included from ...SingleSource/UnitTests/matrix-types-spec.cpp:8:
In file included from /usr/lib/gcc/powerpc64le-linux-gnu/7.3.0/../../../../include/c++/7.3.0/random:49:
In file included from /usr/lib/gcc/powerpc64le-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/random.h:35:
/usr/lib/gcc/powerpc64le-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/uniform_int_dist.h:63:7: error: static_assert failed due to requirement 'std::is_integral<double>::value' "template argument must be an integral type"
static_assert(std::is_integral<_IntType>::value, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...SingleSource/UnitTests/matrix-types-spec.cpp:38:41: note: in instantiation of template class 'std::uniform_int_distribution<double>' requested here
std::uniform_int_distribution<double> distribution(-10.0, 10.0); ^
...SingleSource/UnitTests/matrix-types-spec.cpp:39:29: error: no member named 'bind' in namespace 'std'; did you mean 'find'?
auto random_double = std::bind(distribution, generator); ~~~~~^~~~ find
I think we need 2 version of initRandom, one for floating point and one for integral element types, like in D83692, otherwise we might run into the same issue for integer element types.
For example
Floating point specialization:
Integer specialization