Xref: utzoo comp.lang.c:8056 comp.lang.fortran:538 Newsgroups: comp.lang.c,comp.lang.fortran Path: utzoo!utgpu!jarvis.csri.toronto.edu!dgp.toronto.edu!flaps From: flaps@dgp.toronto.edu (Alan J Rosenthal) Subject: Re: ANSI C & Fortran 8x - Expand cpp to partially support generalized precision Message-ID: <8803121741.AA26328@explorer.dgp.toronto.edu> Organization: University of Toronto References: <44981@sun.uucp> Date: Sat, 12 Mar 88 12:41:08 EST [In editing David Hough's article below, I have taken representative paragraphs. -ajr] In article <44981@sun.uucp> dgh%dgh@Sun.COM (David Hough) writes: >Comment #26, Section 3.8.8 and 2.2.4.2: predefine generalized precision macros >... >__int__(p) is evaluated to the name of the smallest signed int type >that contains all the signed p-digit integers, i. e. the interval >[-(10**p)+1,10**p-1]. >... Useable but not very useful. Also not sufficiently well defined. What is its value for p > log10(LONG_MAX)? Also, your macros are very different from all other preprocessing macros in that they don't simply substitute to a string (with possible replacements from the arguments). Also also, nowhere else does the preprocessor know about names of types. >__INTEGER__(p) is evaluated to the Fortran name of the type corresponding >to __int__(p), or to INTEGER if no Fortran compiler is supported. >... Since no Fortran compiler is supported by the ANSI C standard, you can just say "INTEGER". The C standard does not mandate a separate preprocessor, nor should it. That would be the domain of a Preprocessor Standard. It seems like that is what you are proposing. Perhaps you should write one, or get someone else to write one. ajr -- If you had eternal life, would you be able to say all the integers?