This bugzilla service is closed. All entries have been migrated to https://gitlab.com/libeigen/eigen

Bug 34

Summary: operator<<(stream) involves log for non integer type
Product: Eigen Reporter: Gael Guennebaud <gael.guennebaud>
Component: Core - generalAssignee: Gael Guennebaud <gael.guennebaud>
Status: NEW ---    
Severity: Unknown CC: gnuetzi, jacob.benoit.1
Priority: Low    
Version: 3.0   
Hardware: All   
OS: All   
URL: http://forum.kde.org/viewtopic.php?f=74&t=90670&p=172385
Whiteboard:
Attachments:
Description Flags
Remove log, use numeric_limits::digits10, and recursion on T::value_type none

Description Gael Guennebaud 2010-10-05 23:25:51 UTC
while this is not necessarily allowed, e.g., for rational numbers. In other word we need a better implementation of ei_significant_decimals_default_impl.

See this thread:

http://forum.kde.org/viewtopic.php?f=74&t=90670&p=172385

Of course one can still specialize ei_significant_decimals_default_impl for his/her problematic type but that's only a workaround, not a real solution.
Comment 1 Gael Guennebaud 2015-10-12 11:35:00 UTC
*** Bug 1083 has been marked as a duplicate of this bug. ***
Comment 2 Gael Guennebaud 2015-10-12 13:20:00 UTC
Created attachment 614 [details]
Remove log, use numeric_limits::digits10, and recursion on T::value_type

Here is a patch removing the manual log10 in favor to the use of numeric_limits::digits10. For containers as scalar types (e.g., array, matrices, complex, etc.) the default implementation recursively search for the most primitive value type before calling numeric_limits.
Comment 3 Nobody 2019-12-04 09:34:47 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/34.