[petsc-dev] fortran literals

Barry Smith bsmith at mcs.anl.gov
Thu Sep 1 23:12:47 CDT 2016


> On Sep 1, 2016, at 10:29 PM, Jed Brown <jed at jedbrown.org> wrote:
> 
> "Munson, Todd" <tmunson at mcs.anl.gov> writes:
>> Any idea how to do the same thing in C?
> 
> #define PetscRealLiteral(x) (x ## q)
> 
> PetscReal a = PetscRealLiteral(0.7);

  Horrible to have to uglify all the source code for all real numbers without exact hexadecimal representation like this.

   I could live with having 

   PetscReal a = .7_Q; 

say (which won't work) but asking me to accept PetscRealLiteral(0.7); doesn't make me happy.

   PetscReal a = _R(.7)  as an unhappy compromise? With imperfect namespacing.
 

>  
> 
> Seems like we should do that for the precomputed methods in TS.
> Actually, it would be better to do all the setup arithmetic in the most
> accurate supported type.  Unfortunately, those methods are often
> computed using tools that only support double precision or are taken
> From papers that only report that many digits.




More information about the petsc-dev mailing list