The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
Newsgroups: comp.lang.fortran
From: glen herrmannsfeldt <g...@ugcs.caltech.edu>
Date: Mon, 09 Apr 2007 04:48:58 -0800
Local: Mon, Apr 9 2007 8:48 am
Subject: Re: Transfer and variables that don't use all their storage space.
Brooks Moses wrote: (snip) > I would contend that this reading is incorrect -- that, in particular, In Fortran 66, before CHARACTER variables, the standard allowed > if E has a bit representation that is not one of the canonical bit > representations for a logical variable, then the inner transfer > statement is illegal according to the comments in the beginning of > section 13.7 which state that a program is not allowed to invoke an > intrinsic with arguments that produce out-of-range results. And further > that the double-transfer identity requirement obviously is only meant to > apply when both transfer calls, taken independently, are legal. storing of character data, read and written with A format, in other types of variables. It was, then, fairly easy to get bit representations that would not normally be allowed for that data type, especially for LOGICAL. In that case, one would have to be careful how the data was used, but it was at least expected that assignment to another variable would work. > Is that a reasonable contention? In general, I don't believe so. There are some conditions which I might wonder about, one is floating point. On machines with unnormalized values, assignment might do normalization. > Further, a strictly literal reading of the beginning of section 13.7 Assignment of 12 byte reals could be done by byte copying, instead of > would suggest that when transferring a value to a real number, NaN > should be returned if the bit representation is not a legal real number. > In particular, this might apply for 80-bit real numbers that are stored > in 12 bytes, if the extraneous 12 bytes are non-zero (or whatever their > "usual" state is). I'm hoping that this is reading things excessively > finely, but I suppose I should ask rather than assuming such. loading into a floating point register and storing from there. -- glen You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
| ||||||||||||||