Complete rework of global math functions and NumTraits.

* Now completely generic so all standard integer types (like char...) are supported.
** add unit test for that (integer_types).
* NumTraits does no longer inherit numeric_limits
* All math functions are now templated
* Better guard (static asserts) against using certain math functions on integer types.
This commit is contained in:
Benoit Jacob
2010-04-28 18:51:38 -04:00
parent 4f83d6ad19
commit e277586958
26 changed files with 900 additions and 498 deletions

View File

@@ -153,13 +153,13 @@ std::ostream & ei_print_matrix(std::ostream & s, const Derived& _m, const IOForm
}
else if(fmt.precision == FullPrecision)
{
if (NumTraits<Scalar>::HasFloatingPoint)
if (NumTraits<Scalar>::IsInteger)
{
explicit_precision = ei_significant_decimals_impl<Scalar>::run();
explicit_precision = 0;
}
else
{
explicit_precision = 0;
explicit_precision = ei_significant_decimals_impl<Scalar>::run();
}
}
else