[Info-vax] Roadmap
Craig A. Berry
craigberry at nospam.mac.com
Sun Jan 6 18:06:40 EST 2019
On 1/6/19 4:15 PM, gezelter at rlgsc.com wrote:
> On Sunday, January 6, 2019 at 12:16:48 PM UTC-5, Arne Vajhøj wrote:
>> On 1/6/2019 11:16 AM, gezelter at rlgsc.com wrote:
>>> In the case of floating point, perhaps all (repeat ALL) OpenVMS
>>> compilers should support a non-standard keyword "IEEE754" as an
>>> adjunct to REAL and DOUBLE. A "C"-ish example would be:
>>>
>>> IEEE754 float X; IEEE754 double Y;
>>>
>>> in FORTRAN:
>>>
>>> IEEE754 REAL*4 X; IEEE754 REAL*8 Y;
>>>
>>> This would allow the clarity in documenting mixed representation
>>> programs, e.g., programs which read/write one format while working
>>> internally in another. Often, such situations are, as I have noted
>>> elsewhere, not a voluntary choice. Historical data exists, libraries
>>> expect certain formats, etc.
>>>
>>> Doing this consistently across multiple compilers is, I admit, a
>>> chore. However, it is also a problem best addressed in a consistent
>>> manner, than ad hoc for each different compiler.
>>>
>>> My apologies to John for adding to his work queue.
>>
>> It would also make the code non-portable.
>>
>> Probably not a problem for Basic, Pascal etc..
>>
>> But for C, Fortran etc. then I see it as a problem.
>>
>> Arne
>
> Arne,
>
> Having written a large amount of portable code over the years, I can assure you that portability (to different platforms) is not an issue in these cases.
>
> However, the need that I noted is very common. Data compatibility is frequently needed, and data morphing is a common need.
Maybe so, but the non-portable types should really not use language
keywords like float, double, and REAL. Go ahead and call them by their
VMS names if you're going to implement non-portable types.
More information about the Info-vax
mailing list