[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