unittest: less explicit Vector<T> instantiation

the ULP code lead to the requirement of abs/frexp/ldexp and more to be
implemented before any unit test was compilable. That is not usable for
implementing a new target. This can be fixed by having the functions
only instantiated when used (via templates). There may still be a small
error here, but at least NEON stuff can be compiled now.

Signed-off-by: Matthias Kretz <kretz@kde.org>
load test: fix loadArray (didn't run at all)

Signed-off-by: Oksana Shadura <oksana.shadura@cern.ch>
unittest: fix printFuzzyInfo definition

* The printFuzzyInfo function was missing the class name in the function
definition.

Signed-off-by: Matthias Kretz <kretz@kde.org>
ulp: make ulpDiffToReferenceSigned callable with any type

ulpDiffToReferenceSigned calls are useful for floating-point types only.
But to make it more convenient to use in a generic function allow all
other types as well and just return 0.

Signed-off-by: Matthias Kretz <kretz@kde.org>
Iterators: work around GCC ICE

GCC may fail (ICE) if it has to apply std::remove_reference to a type
with may_alias attribute. Since Vector::operator[] likely returns such a
type, the original declaration of the iterator value type was asking for
failure. Instead it should be safe and generic enough to just use
V::EntryType as iterator value type.

Signed-off-by: Matthias Kretz <kretz@kde.org>