This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/38704] New: Very bad quality of compilation of a floating point numbers.


#include        <iostream>
int     main(int,char**){
        const   long    double  PiLD=3.1415926535897932384626433832795029L;
        std::cout<<"   3.1415926535897932384626433832795029"<<std::endl;
        std::cout.precision(70);
        std::cout<<"LD="<<PiLD<<std::endl;
        return  0;}

/*

Very bad quality of compilation of a floating point numbers.

   3.1415926535897932384626433832795029
LD=3.14159265358979323851280895940618620443274267017841339111328125

Can be much more qualitative to calculate from other end.

#include        <cmath>
        for( ){
                if( odd(last digit) ){
                        last digit -=1;
                        x+=0.5;}
                x=std::ldexp(x,-1);
                manual division of string representation /=2;}
        result = x
*/


-- 
           Summary: Very bad quality of compilation of a floating point
                    numbers.
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: lisp2d at lisp2d dot net


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38704


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]