\documentclass[nocolor,memo]{j3}
\renewcommand{\hdate}{1 September 2005}
\renewcommand{\vers}{J3/05-262}
\usepackage{alltt}
\usepackage{lineno}
\usepackage{longtable}
\usepackage{xr}
\externaldocument{007}
\input pdftest
\begin{document}
\vspace{-10pt}
\begin{tabbing}
Subject: \hspace*{0.45in}\=Alternative method for updating complex parts\\
From: \>Van Snyder\\
Reference: \>04-384r1, 05-128, WG5/N1626-J3-015, 05-200r1\\
Depends upon: \>05-261\\
\end{tabbing}
\pagewiselinenumbers
\leftlinenumbers
\linenumbers*
\section{Requirement}
Provide a mechanism to update the real or imaginary part of a complex
variable, or associate it as an actual argument, independently of the
other part.
\section{Detailed specification}
Using the classification of types along two axes (intrinsic vs.~program
defined, and elementary vs.~derived), and the provision for the existence
of intrinsic derived types, both established in 05-261, specify that
COMPLEX is an intrinsic sequence derived type with one kind type parameter
named KIND and two real components of that kind named RE and IM. It's not
a numeric sequence derived type because numeric sequence derived types
can't have parameters. The only reason for it to be a sequence type is to
require that the real component comes first in storage. Everything else
that one might want to do with SEQUENCE is already specified for COMPLEX,
and works subtly differently from the general SEQUENCE case.
\subsection{Advantage as compared to approach in 05-200r1}
No new syntax and no new concepts (other than those established in 05-261)
are needed. There are no questions about subobjects, equivalence using
the syntax to specify just one component, contiguity, whole arrays using
the syntax to specify just one component, or array sections using the
syntax to specify just one component, since these issues are already
covered for derived type objects. A constructor named COMPLEX arrives
automatically. Namelist input of the real or imaginary part independently
of the other arrives automatically.
\subsection{Disadvantage as compared to approach in 05-200r1}
The approach in 05-200r1 is already nearly finished. This approach
requires requires 05-261. Namelist input of the real or imaginary
part independently of the other arrives automatically.
\section{Syntax}
No new syntax, and no changes to existing syntax.
\edits{04-007}
\sep\mgpar{39:9-16}The \tdeff{complex type} has values that approximate
the mathematical complex numbers. It is an intrinsic sequence derived
type with one kind type parameter named KIND and two components. The
default value for the kind type parameter is the same as the kind type
parameter value for default real. The first component, named RE, is
called the \tdeff{real part}, and the second component, named IM, is
called the \tdeff{imaginary part}. Both components are of real type and
of the kind specified by the KIND parameter value. Each kind type
parameter value available to specify an approximation method for data
entities of real type shall be available to specify the value of the KIND
parameter for entities of complex type. The kind type parameter value of
an approximation method is returned by the intrinsic inquiry function
KIND (\ref{D13:KIND (X)}).
\label{lastpage}
\end{document}