\documentclass[nocolor,memo]{j3}
\renewcommand{\hdate}{6 December 2005}
\renewcommand{\vers}{J3/06-109}
\usepackage{alltt}
\usepackage[fleqn]{amsmath}
\usepackage{lineno}
\usepackage{longtable}
\usepackage{xr}
\externaldocument{007}
\input pdftest
\begin{document}
\vspace{-10pt}
\begin{tabbing}
Subject: \hspace*{0.25in}\=Distinction between model and physical numeric
representations\\
From: \>Van Snyder\\
\end{tabbing}
\pagewiselinenumbers
\leftlinenumbers
\linenumbers*
\section{Introduction}
There is continuous confusion among Fortran users, but apparently not
among processor developers, concerning the difference between model and
physical representations of numbers, especially real numbers. It would
be helpful to draw the distinction explicitly instead of indirectly and
obliquely, to move the descriptions of numeric models from Subclause 13.4
to Subclauses 4.4.1 and 4.4.2, and to insert a note in Subclause
7.1.4.2. The intent is that these editorial changes introduce no
technical change.
It may be desirable similarly to move most of Subclause 13.3 into the
appropriate Subclause in Section 4 when the BITS type is introduced.
\edits{04-007}
\sep\mgpar{36:13-14}[Editor: Insert the following after the second
sentence in the first paragraph of \ref{D4:Integer type} (before ``Each
such method\dots''), without starting a new paragraph:]
Each such representation method is described by a model\mindex{integer
model}\mindex{model!integer}. The physical representation of integers is
not necessarily exactly the same as the model representation. There may
be physically representable numbers that are not described by the model,
\mgpare{Technical change?}but the processor shall be capable of
representing every number described by the model. The models are
described using parameters that are determined by the processor so as to
make each model best fit the corresponding physical representation used on
the machine on which the program is executed. The model representation
for an integer having value $i$ is defined by
$$i = s \times \sum_{k = 0}^{q-1} w_k \times r^{k}\text{}$$
where $r$ is an integer exceeding one, $q$ is a positive integer, each
$w_k$ is a nonnegative integer less than $r$, and $s$ is +1 or $-1$. The
integer parameters $r$ and $q$ determine the set of model integers.
[Then start a new paragraph, and replace ``Each such method'' at the
beginning of the next sentence by ``Each model representation''.]
\sep\mgpar{36:17}[Editor: Insert the following sentence before ``The
intrinsic function SELECTED\_INT\_KIND''.]
The radix $r$ of the representation method is returned by the intrinsic
function RADIX (13.7.93).
\sep\mgpar{36:18}[Editor: Start a new paragraph at ``The integer
type\dots''.]
\sep\mgpar{37:29}[Editor: Insert a full stop after ``{\bf representation
method}''. Then insert the following without starting a new paragraph:]
Each such representation method is described by a model\mindex{real
model}\mindex{model!real}. The physical representation of real numbers is
not necessarily exactly the same as the model representation. There may
be physically representable numbers, and quantities that are not numbers,
that are not described by the model, \mgpare{Technical change?}but the
processor shall be capable of representing every number described by the
model. The models are described using parameters that are determined by
the processor so as to make each model best fit the corresponding physical
representation used on the machine on which the program is executed. The
model representation for a real number having value $x$ is defined by
$$ x = \left \{ ~\begin{aligned} &0~\text{or} \\ &s \times b^e \times
\sum_{k=1}^p f_k \times b^{-k}~, \end{aligned} \right . $$
where $b$ and $p$ are integers exceeding one; each $f_{k}$ is a
nonnegative integer less than $b$, with $f_1$ nonzero; $s$ is +1 or $-1$;
and $e$ is an integer that lies between some integer maximum
$e_{\text{m}\text{a}\text{x}}$ and some integer minimum $e_{\text{min}}$
inclusively. For $x = 0$, its exponent $e$ and digits $f_{k}$ are defined
to be zero. The integer parameters $b$, $p$, $e_{\text{min}}$, and
$e_{\text{m}\text{a}\text{x}}$ determine the set of model floating point
numbers.
\sep\mgpar{37:32}[Editor: Insert the following sentence before ``The
intrinsic function SELECTED\_REAL\_KIND''.]
The radix $b$ of the representation method is returned by the intrinsic
function RADIX (13.7.93).
\sep\mgpar{\vskip 0.2in 124:46+\\[1.2in]\emph{Should this sentence be removed?}}
\begin{xnote}{7.8$\frac12$}
The type and type parameters of the result of a numeric operation are
those of the representation method of model numbers (\ref{D4:Integer
type}, \ref{D4:Real type}). The machine representation of the result of an
operation is not specified (\ref{D1:Exclusions}). It may be the same as
the machine representation of objects of a different type and kind from
the model representation specified here, or a machine representation that
does not correspond to the model representation of objects of any type and
kind. The result of a particular operation, with operands of identical
types, kinds and machine-represented values, at a single point or several
points in a program, or at different instants during execution of the
program, need not have the same machine representation or machine-represented
value. For operations having results of real or complex type, it is
recommended that the machine representation of the result of an operation
have range and precision not less than the range and precision of the
model representation corresponding to the type and kind specified here.
\end{xnote}
\sep\mgpar{293:8-23}[Editor: Replace the normative text of
\ref{D13:Numeric models} (but not \nref{N13:real-bit-model} by the
following:]
Except for the NEAREST function (13.7.84), the numeric manipulation and
inquiry functions are described in terms of models (\ref{D4:Integer type},
\ref{D4:Real type}) for the representation and behavior of numbers on a
processor.
\label{lastpage}
\end{document}