[petsc-dev] Ugly feature of __float128
    Barry Smith 
    bsmith at mcs.anl.gov
       
    Thu Oct 29 00:29:58 CDT 2015
    
    
  
> On Oct 28, 2015, at 11:38 PM, Jed Brown <jed at jedbrown.org> wrote:
> 
> Barry Smith <bsmith at mcs.anl.gov> writes:
> 
>>  After wasting hours debugging I just realized that gcc __float128
>>  REQUIRES that numerical constants be written with a q suffix or
>>  first they are treated as double and then converted to __float. 
> 
> Unsuffixed numeric literals are double.  It's the semantic of the
> language, not something they can change by adding a type.  Sorry.
> 
>>   I cannot understand why this is done this way. Who wants to convert a code to __float128 and have to then label all floating point numbers with a q which of course also means the code is not compilable with other compilers in double.
> 
> It's ugly, but you can put it in a macro:
> 
> #define NUM(a)   a ## q
  This is horrible, I can see why Fortran users hate C.
    
    
More information about the petsc-dev
mailing list