dpce.ps

Linda Stanberry uunet!ocfmail.ocf.llnl.gov!linda
Mon Nov 29 15:13:39 PST 1993


%!PS-Adobe-2.0
%%Title: dpce.doc.1.3
%%Creator: PrintMonitor
%%CreationDate: Monday, November 29, 1993
%%Pages: (atend)
%%BoundingBox: ? ? ? ?
%%PageBoundingBox: 30 31 582 761
%%For: 
%%DocumentProcSets: "(AppleDict md)" 71 0
%% ) Copyright Apple Computer, Inc. 1989-92 All Rights Reserved.
%%EndComments
%%BeginProcSet: "(AppleDict md)" 71 0
userdict/LW{save statusdict/product get(LaserWriter)anchorsearch
exch pop{dup length 0 eq{pop 1}{( Plus)eq{2}{3}ifelse}ifelse}{0}ifelse exch restore}bind put
userdict/patchOK known not{save LW dup 1 ne exch 2 ne and false<1861AEDAE118A9F95F1629C0137F8FE656811DD93DFBEA65E947502E78BA12284B8A58EF0A3
2E272778DAA2ABEC72A84102D591E11D96BA61F57877B895A752D9BEAAC3DFD7D3220E2BDE7C036467464E0E836748F1DE7AB6216866F130CE7CFCEC8CE050B870C11881EE3E9D70919>{eexec}stopped{dup type/stringtype eq{pop}if}if and exch restore userdict/patchOK 3 -1 roll put} if
userdict/downloadOK known not{userdict/downloadOK{ vmstatus exch sub exch pop 120000 gt patchOK and}bind put}if
userdict/type42known known not{userdict/type42known systemdict/resourcestatus known{42/FontType resourcestatus{pop pop true}{false}ifelse }{false}ifelse put}if
type42known not downloadOK and {userdict begin /*charpath /charpath load def/charpathflag false def/charpath{userdict/charpathflag true put userdict/*charpath get exec userdict/charpathflag false put}bind def end}if
userdict/checkload known not{userdict/checkload{{pop exec} {save 3 dict begin/mystring 6050 string def
exch/endstring exch def{currentfile mystring readline not{stop}if endstring eq{exit}if}loop end restore pop}ifelse}bind put}if
userdict/LW+{LW 2 eq}bind put
userdict/ok known not{userdict/ok{systemdict/statusdict known dup{LW 0 gt and}if}bind put}if
systemdict/currentpacking known{currentpacking true setpacking}if
/md 270 dict def md begin
/av 71 def
/T true def/F false def/mtx matrix def/s75 75 string def/sa8 8 string def/sb8 8 string def
/sc8 8 string def/sd8 8 string def/s1 ( ) def/pxs 1 def/pys 1 def
/ns false def
1 0 mtx defaultmatrix dtransform exch atan/pa exch def/nlw .24 def/ppr [-32 -29.52 762 582.48] def
/pgr [0 0 0 0] def
/pgs 1 def/por true def/xb 500 array def/so true def/tso true def/fillflag false def/pnm 1 def/fmv true def
/sfl false def/ma 0 def/invertflag false def/dbinvertflag false def/xflip false def/yflip false def/noflips true def/scaleby96 false def/fNote true def/fBitStretch true def
/4colors false def/fg (Rvd\001\001\000\000\177) def
/bdf{bind def}bind def
/xdf{exch def}bdf
/xl{neg exch neg translate}bdf
/fp{pnsh 0 ne pnsv 0 ne and}bdf
/nop{}bdf/lnop[/nop load]cvx bdf
/vrb[
{fp{fg 6 get 0 ne{gsave stroke grestore}{gsave 1 setlinewidth pnsh pnsv scale stroke grestore}ifelse}if newpath}bind
/eofill load
dup
/newpath load
2 index
dup
{clip newpath}bind
{}bind
dup
2 copy
]def
/sgd systemdict/setpagedevice known{{2 dict begin/PreRenderingEnhance exch def/Policies 1 dict dup/PreRenderingEnhance 1 put def currentdict end setpagedevice}}{{pop}}ifelse bdf
/svsc systemdict/currentcolorscreen known{{currentcolorscreen/dkspf xdf/dkrot xdf/dkfreq xdf/dyspf xdf/dyrot xdf/dyfreq xdf/dmspf xdf/dmrot xdf/dmfreq xdf
/dcspf xdf/dcrot xdf/dcfreq xdf}}{{currentscreen/spf xdf/rot xdf/freq xdf}}ifelse bdf
/doop{vrb exch get exec}bdf
/psu{/udf xdf/tso xdf /fNote xdf/fBitStretch xdf/scaleby96 xdf/yflip xdf/xflip xdf
/invertflag xdf/dbinvertflag invertflag statusdict begin version cvr 47.0 ge product (LaserWriter) eq not and end invertflag and {not}if def
xflip yflip or{/noflips false def}if
/pgs xdf 2 index .72 mul exch div/pys xdf div .72 mul/pxs xdf ppr astore pop pgr astore pop/por xdf sn and/so xdf}bdf
/tab{userdict /11x17 known{userdict begin /11x17 load exec end}{statusdict /setpage known{statusdict begin 792 1224 1 setpage end}{statusdict /setpageparams known{statusdict begin 792 1224 0 1 setpageparams end}if}ifelse}ifelse}bdf
/a3Size{userdict /a3 known{userdict begin /a3 load exec end}{statusdict /setpageparams known{statusdict begin 842 1191 0 1 setpageparams end}if}ifelse}bdf
/txpose{fNote{smalls}{bigs}ifelse pgs get exec pxs pys scale ppr aload pop por{noflips{pop exch neg exch translate pop 1 -1 scale}if
xflip yflip and{pop exch neg exch translate 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg translate}if 
xflip yflip not and{pop exch neg exch translate pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 translate}if yflip xflip not and{ppr 1 get neg ppr 0 get neg translate}if}
{noflips{translate pop pop 270 rotate 1 -1 scale}if xflip yflip and{translate pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg translate}if
xflip yflip not and{translate pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 translate}if yflip xflip not and{translate pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 exch translate}if}ifelse
statusdict begin/waittimeout where{pop waittimeout 300 lt{statusdict/waittimeout 300 put}if}if end 
scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy translate .96 dup scale neg exch neg exch translate}if}bdf
/fr{4 copy pgr aload pop 3 -1 roll add 3 1 roll exch add 6 2 roll 3 -1 roll
sub 3 1 roll exch sub 3 -1 roll exch div 3 1 roll div exch scale pop pop xl}bdf
/obl{{0.212557 mul}{pop 0}ifelse}bdf
/sfd{ps fg 5 -1 roll get mul 100 div 0 ps 5 -1 roll obl ps neg 0 0 6a astore makefont setfont}bdf
/fnt{findfont sfd}bdf
/bt{sa 3 1 roll 3 index and put}bdf
/sa(\000\000\000\000\000\000\000\000\000\000)def
/fs{0 1 bt 1 2 bt 2 4 bt 3 8 bt 4 16 bt 5 32 bt 6 64 bt 7 128 bt sa exch 8 exch put}bdf
/mx1 matrix def
/mx2 matrix def
/mx3 matrix def
/bu{currentpoint 4colors{currentcmykcolor}{currentrgbcolor}ifelse currentlinewidth currentlinecap currentlinejoin 
currentdash exch aload length fg 5 sfl{1}{0}ifelse put pnsv pnsh 
2t aload pop 3a aload pop mx2 aload pop mx1 aload pop mtx currentmatrix aload pop
mx3 aload pop ps pm restore/ps xdf mx3 astore pop}bdf
/bn{/pm save def mx3 setmatrix newpath 0 0 moveto ct dup 39 get 0 exch getinterval cvx exec mtx astore setmatrix mx1 astore pop mx2 astore pop 3a 
astore pop 2t astore pop/pnsh xdf/pnsv xdf gw
/sfl fg 5 get 0 ne def array astore exch setdash setlinejoin setlinecap 
setlinewidth 4colors{mysetcmykcolor}{setrgbcolor}ifelse moveto}bdf
/fc{save vmstatus exch sub 50000 lt
{(%%[|0|]%%)=print flush}if pop restore}bdf
/tc{32768 div add 3 1 roll 32768 div add 2t astore pop}bdf
/3a [0 0 0] def
/2t 2 array def
/tp{3a astore pop}bdf
/tt{mx2 currentmatrix pop currentpoint 2 copy 2t aload pop qa 2 copy translate 3a aload pop exch dup 0 eq
{pop}{1 eq{-1 1}{1 -1}ifelse scale}ifelse rotate pop neg exch neg exch translate moveto}bdf
/te{mx2 setmatrix}bdf
/th{3 -1 roll div 3 1 roll exch div 2 copy mx1 scale pop scale/sfl true def}bdf
/tu{1 1 mx1 itransform scale/sfl false def}bdf
/ts{1 1 mx1 transform scale/sfl true def}bdf
/fz{/ps xdf}bdf
/dv{dup 0 ne{div}{pop}ifelse}bdf
/pop4{pop pop pop pop}bdf
/it{sfl{mx1 itransform}if}bdf
/gm{exch it moveto}bdf/rm{it rmoveto}bdf
/lm{currentpoint sfl{mx1 transform}if exch pop sub 0 exch it rmoveto}bdf
/fm{statusdict/manualfeed known}bdf
/se{statusdict exch/manualfeed exch put}bdf
/mf{dup/ma exch def 0 gt{fm se/t1 5 st ok ma 1 gt and{/t2 0 st/t3 0 st
statusdict/manualfeedtimeout 3600 put
}if}if}bdf
/jn{/statusdict where exch pop{statusdict exch /jobname exch put}if}bdf
/pen{pnm mul/pnsh xdf pnm mul/pnsv xdf pnsh setlinewidth}bdf
/min{2 copy gt{exch}if pop}bdf
/max{2 copy lt{exch}if pop}bdf
/dh{fg 6 1 put array astore dup {1 pxs div mul exch}forall astore exch pop exch pop exch setdash}bdf
/ih[currentdash]def
/rh{fg 6 0 put ih aload pop setdash}bdf
/dl{gsave nlw pys div setlinewidth 0 setgray}bdf
/dlin{exch currentpoint currentlinewidth 2 div dup
translate newpath moveto lineto currentpoint stroke grestore moveto}bdf
/lin{fg 6 get 0 ne{exch lineto currentpoint 0 doop moveto}
{exch currentpoint/pnlv xdf/pnlh xdf gsave newpath/a1 xdf/a2 xdf fp{pnlh a2 lt{pnlv a1 ge
{pnlh pnlv moveto a2 a1 lineto pnsh 0 rlineto
0 pnsv rlineto pnlh pnsh add pnlv pnsv add lineto pnsh neg 0 rlineto}
{pnlh pnlv moveto pnsh 0 rlineto a2 pnsh add a1 lineto 0 pnsv rlineto
pnsh neg 0 rlineto pnlh pnlv pnsv add lineto}ifelse}{pnlv a1 gt
{a2 a1 moveto pnsh 0 rlineto pnlh pnsh add pnlv lineto 0 pnsv rlineto
pnsh neg 0 rlineto a2 a1 pnsv add lineto}{pnlh pnlv moveto pnsh 0 rlineto
0 pnsv rlineto a2 pnsh add a1 pnsv add lineto pnsh neg 0 rlineto
0 pnsv neg rlineto}ifelse}ifelse
closepath fill}if a2 a1 grestore moveto}ifelse}bdf
/gw{/pnm fg 3 get fg 4 get div def}bdf
/lw{fg exch 4 exch put fg exch 3 exch put gw pnsv pnsh pen}bdf
/barc{/a1 xdf/a2 xdf/a3 xdf/a4 xdf/a5 xdf
/a6 xdf/a7 xdf/a8 xdf gsave
a5 a7 add 2 div a6 a8 add 2 div translate newpath 0 0 moveto
a5 a7 sub a6 a8 sub mtx currentmatrix pop scale a1{newpath}if
0 0 0.5 a4 a3 arc a4 a3 sub abs 360 ge{closepath}if
mtx setmatrix a2 doop grestore}bdf
/ar{dup 0 eq barc}bdf
/ov{0 exch 360 exch true barc}bdf
/rc{dup/at xdf 0 eq{4 copy 3 -1 roll eq 3 1 roll eq and{pnsv 2 div sub exch pnsh 2 div sub exch 4 2 roll pnsv 2 div add exch pnsh 2 div add exch
/at 1 def}if}if currentpoint 6 2 roll newpath 4 copy 4 2 roll exch moveto 6 -1 roll lineto lineto lineto closepath at doop moveto}bdf
/mup{dup pnsh 2 div le exch pnsv 2 div le or}bdf
/rr{/a1 xdf 2. div/a2 xdf 2. div/a3 xdf
/a4 xdf/a5 xdf/a6 xdf/a7 xdf
a7 a5 eq a6 a4 eq a2 mup or or{a7 a6 a5 a4 a1 rc}
{a4 a6 sub 2. div dup a2 lt{/a2 xdf}{pop}ifelse
a5 a7 sub 2. div dup a2 lt{/a2 xdf}{pop}ifelse
a1 0 eq{/a2 a2 pnsh 2 div 2 copy gt{sub def}{0 pop4}ifelse}if
currentpoint newpath
a4 a6 add 2. div a7 moveto
a4 a7 a4 a5 a2 arcto pop4
a4 a5 a6 a5 a2 arcto pop4
a6 a5 a6 a7 a2 arcto pop4
a6 a7 a4 a7 a2 arcto pop4
closepath a1 doop moveto}ifelse}bdf
/pr{gsave newpath/pl{exch moveto/pl{exch lineto}def}def}bdf
/pl{exch lineto}bdf
/ep{dup 0 eq{{moveto}{exch lin}{}{(%%[|1|]%%)= flush}pathforall
pop grestore}{doop grestore}ifelse currentpoint newpath moveto}bdf
/gr{64. div setgray}bdf
/savescreen{ns not{/ns true def systemdict/currentcolorscreen known{currentcolorscreen/pkspf xdf/pkrot xdf/pkfreq xdf/pyspf xdf/pyrot xdf/pyfreq xdf/pmspf xdf/pmrot xdf/pmfreq xdf
/pcspf xdf/pcrot xdf/pcfreq xdf}{currentscreen/sspf xdf/srot xdf/sfreq xdf}ifelse}if}bdf
/restorescreen{/ns false def systemdict/setcolorscreen known{pcfreq pcrot/pcspf load pmfreq pmrot/pmspf load pyfreq pyrot/pyspf load
pkfreq pkrot/pkspf load setcolorscreen}{sfreq srot/sspf load setscreen}ifelse}bdf
/pat{savescreen sa8 
copy pop 9.375 pa por not{90 add}if{1 add 4 mul cvi sa8 exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}setscreen exch not{gr}{pop}ifelse}bdf
/sg{restorescreen gr}bdf
/cpat{savescreen 10 2 roll 7 -1 roll sa8 copy pop 9.375 pa por not{90 add}if{1 add 4 mul cvi sa8 exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}8 -1 roll sb8 copy pop 9.375 pa por not{90 add}if{1 add 4 mul cvi sb8
exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}9 -1 roll sc8 copy pop 9.375 pa por not{90 add}if{1 add 4 mul cvi sc8 exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}10 -1 roll sd8 copy pop 9.375 pa por not{90 add}if{1 add 4 mul cvi sd8
exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}psuedo1 dsc 4{4 -1 roll 1 exch 64 div sub}repeat mysetcmykcolor pop pop}bdf
systemdict/setcolorscreen known{/psuedo1 lnop bdf/dsc/setcolorscreen load def}{/psuedo1{16{pop}repeat sa8 copy pop 9.375 pa por not{90 add}if{1 add 4 mul cvi sa8 exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}}bdf
/bwsc{setscreen dup gr 0 exch 0 exch 64 exch 64 exch 64 exch}bdf/dsc/bwsc load def
}ifelse
systemdict/setcmykcolor known{/mysetcmykcolor /setcmykcolor load def}{/mysetcmykcolor{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll}repeat setrgbcolor pop}bdf}ifelse
/dc{transform round .5 sub exch round .5 sub exch itransform}bdf
/sn{userdict/smooth4 known}bdf
/x8{3 bitshift}bdf
/x4{2 bitshift}bdf
/d4{-2 bitshift}bdf
/d8{-3 bitshift}bdf
/rb{15 add -4 bitshift 1 bitshift}bdf
/db{/a7 save def/a1 xdf/a2 xdf/a3 xdf/a4 xdf/a5 xdf/a6 a5 a3 4 add mul def
dc translate scale/xdbit 1 1 idtransform abs/ydbit exch def abs def{0 0 1 ydbit add 1 10 rc clip}if
a1 0 eq a1 4 eq or{currentrgbcolor 1 setgray ydbit 0 1 ydbit add 1 2 rc setrgbcolor}if
a1 3 eq a1 7 eq or{1 setgray}{currentrgbcolor 2 index eq exch 2 index eq and exch pop{0 setgray}if}ifelse/a9 a1 0 eq a1 1 eq a1 3 eq or or dbinvertflag xor def/a13 a6 def
a2 fBitStretch or{/a10 a4 x4 def/a11 a3 x4 def/a12 a10 rb def/a13 a12 a11 mul def/a15 1 1 dtransform abs/calcY 1 index def round cvi/a14 exch def
abs/calcX 1 index def round cvi scaleby96 not{1 add}if def/a16 a15 rb def/a17 a16 a14 mul def}if
sn a13 60000 lt and a2 fBitStretch or and{mtx currentmatrix dup 1 get exch 2 get 0. eq exch 0. eq and a17 60000 lt and fBitStretch and{a16 3 bitshift a14 a9 [calcX 0 0 calcY 0 0]{a17 string a13 string
currentfile a6 string readhexstring pop 1 index a4 a3 a5 a12 a2 smooth4
a10 a11 a12 dup string 5 index a15 a14 a16 dup string stretch}imagemask}{a12 x8 a11 a9 [a10 0 0 a11 0 0]{a13 string
currentfile a6 string readhexstring pop 1 index a4 a3 a5 a12 a2 smooth4}imagemask}ifelse}{a5 3 bitshift a3 4 add a9 [a4 0 0 a3 0 2]{currentfile a6 string readhexstring pop}imagemask}ifelse
a7 restore}bdf
systemdict/setcmykcolor known{/psuedo lnop bdf/di/colorimage load def}{/routines[{.3 mul add 1}bind{.59 mul add 2}bind{.11 mul add round cvi str exch i exch put/i i 1 add def 0 0}bind]def
/psuedo{/i 0 def 0 exch 0 exch{exch routines exch get exec}forall pop pop str}bdf/bwi{pop pop image}bdf/di/bwi load def}ifelse
/cdb{/a7 save def/a1 xdf/a2 xdf/a3 xdf/a4 xdf/a5 xdf
systemdict/setcmykcolor known not{dc}if translate scale /a6 xdf
/a18 a5 dup 60000 ge{pop 60000}if string def a6 not{/str a18 0 a18 length 3 idiv getinterval def}if a4 a3 8 [a4 0 0 a3 0 0]a6{{currentfile a18 readhexstring pop}image}{{currentfile a18 readhexstring pop psuedo}false 3 di}ifelse a7 restore}bdf
/wd 16 dict def
/mfont 14 dict def
/mdf{mfont wcheck not{/mfont 14 dict def}if mfont begin xdf end}bdf
/cf{{1 index/FID ne{def}{pop pop}ifelse}forall}bdf/rf{/a1 exch def/a2 exch def
FontDirectory a2 known{cleartomark pop}{findfont dup begin dup length a1 add dict begin
cf{/Encoding macvec def}{Encoding dup length array copy/Encoding exch def
counttomark 2 idiv{Encoding 3 1 roll put}repeat}ifelse
pop
exec currentdict end end a2 exch definefont pop}ifelse}bdf
/bmbc{exch begin wd begin
/cr xdf
save
CharTable cr 6 mul 6 getinterval{}forall
/bitheight xdf/bitwidth xdf
.96 div/width xdf
Gkernmax add/XOffset xdf Gdescent add/YOffset xdf/rowbytes xdf
rowbytes 255 eq{0 0 0 0 0 0 setcachedevice}
{Gnormsize dup scale
width 0 XOffset YOffset bitwidth XOffset add bitheight YOffset add
setcachedevice
rowbytes 0 ne{
XOffset YOffset translate newpath 0 0 moveto
bitwidth bitheight scale
sn{
/xSmt bitwidth x4 def
/ySmt bitheight x4 def
/rSmt xSmt rb def
rSmt x8 ySmt true
[xSmt 0 0 ySmt neg 0 ySmt]
{rSmt ySmt mul string CharData cr get
1 index bitwidth bitheight rowbytes rSmt tso smooth4}
}{rowbytes 3 bitshift bitheight 4 add true
[bitwidth 0 0 bitheight neg 0 bitheight 2 add]
{CharData cr get}
}ifelse
imagemask
}if
}ifelse
restore
end end
}bdf
/bb{.96 exch div/Gnormsize mdf 2 index
/Gkernmax mdf 1 index/Gdescent mdf
3 index div 4 1 roll
2 index div 1. 5 2 roll
exch div 4 1 roll
4 array astore/FontBBox mdf
}bdf
/cdf{mfont/CharData get 3 1 roll put}bdf
/bf{
mfont begin
/FontType 3 def
/FontMatrix [1 0 0 1 0 0] def
/Encoding macvec def
/MFontType 0 def
/BuildChar/bmbc load def
end
mfont definefont pop
}bdf
/wi LW 1 eq{{gsave 0 0 0 0 0 0 0 0 moveto lineto lineto lineto closepath clip stringwidth grestore}bind}{/stringwidth load}ifelse def
/aps{0 get 124 eq}bdf
/xc{s75 cvs dup}bdf
/xp{put cvn}bdf
/scs{xc 3 67 put dup 0 95 xp}bdf
/sos{xc 3 79 xp}bdf
/sbs{xc 1 66 xp}bdf
/sis{xc 2 73 xp}bdf
/sob{xc 2 79 xp}bdf
/sss{xc 4 83 xp}bdf
/dd{exch 1 index add 3 1 roll add exch}bdf
/smc{moveto dup show}bdf
/ndf2{udf{dup /FontType get 0 eq{/FDepVector get{dup /FontType get 0 eq{ndf2}{dup /df2 known{begin df2 0 null put end
}{pop}ifelse}ifelse}forall}{/df2 known{dup begin df2 0 null put end}if}ifelse}{pop}ifelse}bdf
/kwn{FontDirectory 1 index known{findfont dup ndf2 exch pop}}bdf
/gl{1 currentgray sub setgray}bdf
/newmm{dup /FontType get 0 eq{dup maxlength dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall currentdict end
dup /FDepVector 2 copy get[exch 6 index exch 6 index exch{newmm 3 1 roll}forall pop pop] put dup
}{/mfont 10 dict def mfont begin/FontMatrix [1 0 0 1 0 0] def
/FontType 3 def/Encoding macvec def/df 1 index def/df2 1 array def/FontBBox [0 0 1 1] def/StyleCode 2 index def
/mbc{bcarray StyleCode get}def/BuildChar{exch begin	wd begin/cr exch def/cs s1 dup 0 cr put def df /MFontType known not{
df2 0 get null eq{df dup length 2 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall
/StrokeWidth 1 0 FontMatrix idtransform pop dup nlw mul pys div ps div exch 0.012 mul 2 copy le{exch}if pop def/PaintType 2 def currentdict end
/q exch definefont df2 exch 0 exch put}if}if mbc exec end end}def end mfont}ifelse
3 index exch definefont exch pop}bdf
/mb{dup sbs kwn{0 2 index findfont newmm exch pop exch pop exch pop}ifelse sfd}bdf
/mo{dup sos kwn{2 2 index findfont newmm exch pop exch pop exch pop}ifelse sfd}bdf
/ms{dup sss kwn{4 2 index findfont newmm exch pop exch pop exch pop}ifelse sfd}bdf
/ou{dup sos kwn{mfont/df2 known{mfont begin df2 0 null put end}if 3 2 index findfont newmm exch pop exch pop exch pop}ifelse sfd}bdf
/su{dup sss kwn{mfont/df2 known{mfont begin df2 0 null put end}if 5 2 index findfont newmm exch pop exch pop exch pop}ifelse sfd}bdf
/ao{/fmv true def ou}bdf/as{/fmv true def su}bdf
/vo{/fmv false def ou}bdf/vs{/fmv false def su}bdf
/c{currentrgbcolor dup 4 1 roll eq 3 1 roll eq and/gray xdf}bdf
/bcarray[{/da .03 def df setfont gsave cs wi 1 index 0 ne{exch da add exch}if grestore setcharwidth
cs 0 0 smc da 0 smc da da smc 0 da moveto show}bind dup{/da 1 ps div def df setfont gsave cs wi 1 index 0 ne{exch da add exch}if grestore setcharwidth
cs 0 0 smc da 0 smc da da smc 0 da smc c gray{gl}{1 setgray}ifelse da 2. div dup moveto show}bind
{df setfont gsave cs wi grestore setcharwidth c gray{gl}{currentrgbcolor 1 setgray}ifelse cs 0 0 smc df2 0 get setfont
gray{gl}{4 1 roll setrgbcolor}ifelse 0 0 moveto show}bind
{/da 1 ps div def/ds .05 def/da2 da 2. div def df setfont gsave cs wi 1 index 0 ne{exch ds add da2 add exch}if grestore setcharwidth
cs ds da2 add .01 add 0 smc 0 ds da2 sub translate 0 0 smc da 0 smc da da smc 0 da smc c gray{gl}{1 setgray}ifelse da 2. div dup moveto show}bind
{/da .05 def df setfont gsave cs wi 1 index 0 ne{exch da add exch}if grestore setcharwidth c cs da .01 add 0 smc 0 da translate
gray{gl}{currentrgbcolor 1 setgray 4 -1 roll}ifelse 0 0 smc gray{gl}{4 1 roll setrgbcolor}ifelse df2 0 get setfont 0 0 moveto show}bind]def
/st{1000 mul usertime add dup 2147483647 gt{2147483647 sub}if def}bdf
/the{usertime sub dup 0 lt exch -2147483648 gt and}bdf
/6a 6 array def
/2a 2 array def
/3q 3 array def
/qs{3 -1 roll sub exch 3 -1 roll sub exch}bdf
/qa{3 -1 roll add exch 3 -1 roll add exch}bdf
/qm{3 -1 roll 1 index mul 3 1 roll mul}bdf
/qn{6a exch get mul}bdf
/qA .166667 def/qB .833333 def/qC .5 def
/qx{6a astore pop
qA 0 qn qB 2 qn add   qA 1 qn qB 3 qn add
qB 2 qn qA 4 qn add   qB 3 qn qA 5 qn add
qC 2 qn qC 4 qn add   qC 3 qn qC 5 qn add}bdf
/qp{6 copy 12 -2 roll pop pop}bdf
/qc{exch qp qx curveto}bdf
/qi{{exch 4 copy 2a astore aload pop qa .5 qm newpath moveto}{exch 2 copy 6 -2 roll 2 qm qs 4 2 roll}ifelse}bdf
/qq{{qc 2a aload pop qx curveto}{exch 4 copy qs qa qx curveto}ifelse}bdf
/pt{currentpoint newpath moveto}bdf
/qf{/fillflag true def}bdf
/ec{dup 4 and 0 ne{closepath}if 1 and 0 ne{0 doop}if grestore currentpoint newpath moveto/fillflag false def}bdf
/eu{currentpoint fp{0 ep}{grestore newpath}ifelse moveto/fillflag false def}bdf
/bp{currentpoint newpath 2 copy moveto}bdf
/ef{gsave fillflag{gsave eofill grestore}if}bdf
/sm{0 exch{a1 eq{1 add}if}forall}bdf
/lshow{4 1 roll exch/a1 exch def{1 index wi pop sub 1 index sm dv 0 a1 4 -1 roll widthshow}{1 index wi pop sub
1 index dup sm 10 mul exch length 1 sub add dv dup 10. mul 0 a1 4 -1 roll 0 6 -1 roll awidthshow}ifelse}bdf
/setTxMode{sa 9 2 index put exch not{3 eq{1}{0}ifelse setgray}{pop}ifelse}bdf
/SwToSym{{}mark false/Symbol/|______Symbol 0 rf 0 sa 6 get 0 ne{pop 1}{sa 7 get 0 eq{pop 2}if}ifelse
sa 1 get 0 ne/|______Symbol
sa 4 get 0 ne{vs}{sa 3 get 0 ne{vo}{fnt}ifelse}ifelse}bdf
/mc{0 3 1 roll transform neg exch pop}bdf
/ul{dup 0 ne sa 2 get 0 ne and{gsave 0 0
/UnderlinePosition kif{mc}{ps -10 div}ifelse/UnderlineThickness kif{mc}{ps 15 div}ifelse
abs setlinewidth neg rmoveto
sa 4 get 0 ne{gsave currentlinewidth 2. div dup rmoveto currentpoint newpath moveto
2 copy rlineto stroke grestore}if
sa 3 get sa 4 get or 0 ne{gsave currentrgbcolor dup 4 1 roll eq 3 1 roll eq and{gl}{1 setgray}ifelse 2 copy rlineto stroke grestore rlineto strokepath nlw pys div setlinewidth}{rlineto}ifelse
stroke grestore}{pop}ifelse}bdf
/sgt{2 copy known{get true}{pop pop false}ifelse}bdf
/kif{currentfont dup/FontMatrix get exch/FontInfo sgt{true}{currentfont/df sgt
{dup/FontInfo sgt{3 1 roll/FontMatrix get mtx concatmatrix exch true}{pop pop pop false}
ifelse}{pop pop false}ifelse}ifelse{3 -1 roll sgt{exch true}{pop false}ifelse}{false}ifelse}bdf
/blank/Times-Roman findfont/CharStrings get/space get def
/macvec 256 array def
/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI
/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US
macvec 0 32 getinterval astore pop
macvec 32/Times-Roman findfont/Encoding get
32 96 getinterval putinterval macvec dup 39/quotesingle put 96/grave put
/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute
/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave
/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute
/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis
/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
/registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash
/infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation
/product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash
/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft
/guillemotright/ellipsis/blank/Agrave/Atilde/Otilde/OE/oe
/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge
/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl
/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand/Acircumflex/Ecircumflex/Aacute
/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex
/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde
/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron
macvec 128 128 getinterval astore pop
{}mark true/Courier/|______Courier 0 rf
{/Metrics 21 dict begin/zero 600 def/one 600 def/two 600 def/three 600 def/four 600 def/five 600 def/six 600 def/seven 600 def/eight 600 def
/nine 600 def/comma 600 def/period 600 def/dollar 600 def/numbersign 600 def/percent 600 def/plus 600 def/hyphen 600 def/E 600 def/parenleft 600 def/parenright 600 def/space 600 def
currentdict end def currentdict/UniqueID known{/UniqueID 16#800000 def}if/FontBBox FontBBox 4 array astore def}mark true/Helvetica/|______Seattle 1 rf
/oldsettransfer/settransfer load def
/concatprocs{/proc2 exch cvlit def/proc1 exch cvlit def/newproc proc1 length proc2 length add array def
newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx}def
/settransfer{currenttransfer concatprocs oldsettransfer}def
/PaintBlack{{1 exch sub}settransfer gsave newpath clippath 1 setgray fill grestore}def
/od{(Rvd\001\001\000\000\177) fg copy pop txpose
1 0 mtx defaultmatrix dtransform exch atan/pa exch def
newpath clippath mark
{transform{itransform moveto}}{transform{itransform lineto}}
{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform
{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}
{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put
10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if
statusdict/processcolors known{statusdict begin processcolors end 4 eq{/4colors true def}if}if}bdf
/cd{}bdf
/op{/sfl false def systemdict/currentcolorscreen known{dcfreq dcrot/dcspf load dmfreq dmrot/dmspf load dyfreq dyrot/dyspf load
dkfreq dkrot/dkspf load setcolorscreen}{freq rot/spf load setscreen}ifelse savescreen
/ns false def/pm save def}bdf
/cp{not{userdict/#copies 0 put}if ma 0 gt{{t1 the{exit}if}loop}if{/copypage load exec}{/showpage load exec}ifelse pm restore}bdf
/px{0 3 1 roll tp tt}bdf
/psb{/us save def}bdf
/pse{us restore}bdf
/ct 40 string def
/nc{currentpoint initclip newpath gc{dup type dup/arraytype eq exch/packedarraytype eq or{exec}if}
forall clip newpath moveto}def
/kp{ct 0 2 index length 2 index 39 2 index put getinterval copy cvx exec mx3 currentmatrix pop}bdf
end
LW 1 eq userdict/a4small known not and{/a4small
[[300 72 div 0 0 -300 72 div -120 3381]
280 3255
{statusdict/jobstate (printing) put 0 setblink
margins
exch 196 add exch 304 add 8 div round cvi frametoroket
statusdict/jobstate (busy) put
1 setblink}
/framedevice load
60 45{dup mul exch dup mul add 1.0 exch sub}/setscreen load
{}/settransfer load/initgraphics load/erasepage load]cvx
statusdict begin bind end readonly def}if
md begin/bigs[lnop userdict/letter known{/letter load}{lnop}ifelse userdict/legal known{/legal load}{lnop}ifelse userdict/a4 known{/a4 load}{lnop}ifelse userdict/b5 known{/b5 load}{lnop}ifelse 
lnop lnop lnop /tab load/a3Size load]def
/smalls[lnop userdict/lettersmall known{/lettersmall load}{userdict/note known{/note load}{lnop}ifelse}ifelse
userdict/legal known{/legal load}{lnop}ifelse userdict/a4small known{/a4small load}{lnop}ifelse 
userdict/b5 known{/b5 load}{userdict/note known{/note load}{lnop}ifelse}ifelse lnop lnop lnop /tab load/a3Size load]def end
systemdict/currentpacking known{setpacking}if
{currentfile eexec} ( %endeexec) ok userdict/stretch known not and checkload
373A767D4B7FD94FE5903B7014B1B8D3BED02632C855D56F458B118ACF3AF73FC4EF5E81F5749042B5F9CF1016D093B75F250B7D8280B2EACE05A37037F7BDF6E12226D7D4E2DF2C52FAFD5FD40FE72A0D3AC4BD485D8369D4C87636E920D1DAF222D92155A9CB1667E715F0B82799B37CC8F5B32B74B39CF494536DC39C7EF04A7BCB29E2CEC79073CADCCFB23B4AA1363F876F5121B618071B7B4EB1E5DE75FAA2368A3E5DB2B198623AFE92AE9484270FE7F57A850E88C0D3EEA156611C91D8E480D4370B025CCA6929A2BF40AD3D01B2CB7EE6DFB46E12A830542337F7819B67F9765210F76DB06F34DA5B13A11759305C582E16D2B854939F6D9121F2A4F285282F5DCD3D15896D121E3D6F5BE79E087451BB0ED233CDBEF090D3B4AC2DC34B97E70C61D95FB072B8C12D2ABD843520949A39DCF99E2C1AA8FBCD025E47E0A82A8D96E75BAF40F52AD402495BBD4DE0F356C8B14E764874E639C9F045A0D1908EC6456EB6C5B8A6F826192F767EF2C55A21C58F5F9CC1F59247B55F2387828C7FE89D5E7D8484D1BC86CB6673BDBE4FE17DD9BDE95224FE645136F41330BF155A4DDE1B0A32233BF471CE58FBC660DC7E641B0A0D30018454E2191C414A3011FF3FED1C0D88FE1FF9F75DCC456D097947226FBEC92509146D3A4CFFC0471B31C53222ED9DD88566F60F6C0D705AD79DACF53B070026F083ED28B5CF75
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
 %endeexec

{currentfile eexec} ( %endeexec) ok userdict/smooth4 known not and checkload
F94E00EE41A71C59E5CAEED1EDBCF23D1DBA1EE99B9BB356492923BD8B1BA83A87CEB0E07377A31FD6241E814681118E17DC7CACE570399506E6E441B871B6043831BD03EFC11DBBD8001EE2FF8CFBD485065D455A2E15AC36F1A84AD8789FA6461199C7CD14CB9FD64D4B06452B7FC0A8FC263F70F1CCB893295D4DE70ADAB771C0F84396FA98C60B11DA02ABA157298DF0A23621853BEF167443A985ADC09BEFFD51CB4D29179E2B34609EF38A49DA61F4BFC256A3DE0732D7D29754A194857B9C9E9971227AA1DD0611FBB10E44E5FF66C062D9C24ED3290529330BC317825E876929582DB0E39B9FC5EFD20CC1D4F94920EB9C534D0DA90DE70D25BC7287319CF28602B3F46633C242CAFC8905E960317E3C2FA20AB8DB06ADBAF292FC7BA2CA14EE65DF28B99CC11666B70AD33E8E1D57D63D4B89ECC615AE5747C1CA752C833D8D6DE54CD4A0350B44310555CE3BD2C615ADD27B634CDB350AF3A432CE78AACD2909A5B586F666CD87919A36DB1CBE86B3CE281DFD01CD7E1B8A18A4B415CECBFF79A5C4390A15EA77D14D6BE12BAB5A8268C3F286D0590060647CABED674443CD258F11415E866AB330A251691B61F2422A61AFE59B6B4FBDCF85ED9BA0F8E483C034089E6877FF5923698D3A0DC0EED6B9CFD32DF0839BC4EA5F6D1FCB6DD0920391E57E84745131D02D100179F4E0A68EC0A5FF6680A6F463D038
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
 %endeexec

%%EndProcSet

%%EndProlog
%%BeginDocumentSetup
md begin
F sgd
svsc

T T 0 0 730 552 -31 -30 761 582 100 72 72 1 F F F F T T T F psu
(; document: dpce.doc.1.3)jn
0 mf
od
%%EndDocumentSetup
%%Page: ? 1
op
0 0 730 552 fr
0 0 xl
1 1 pen
0 0 gm
(nc 0 0 730 552 6 rc)kp
64 gr
-31 -30 -30 -29 4 rc
31 30 xl
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 1 def

/wp$fpage (i) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
-31 -30 xl
1 2 pen
41 128 gm
(nc 0 0 730 552 6 rc)kp
0 gr
60 128 lin
61 128 gm
80 128 lin
81 128 gm
100 128 lin
101 128 gm
120 128 lin
121 128 gm
140 128 lin
141 128 gm
160 128 lin
161 128 gm
180 128 lin
181 128 gm
200 128 lin
201 128 gm
220 128 lin
221 128 gm
240 128 lin
256 168 gm
F 1 setTxMode
1 fs
bu fc
{}mark T /NewCenturySchlbk-Bold /|______NewCenturySchlbk-Bold 0 rf
bn
18 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Data Parallel C Extensions)show
241 128 gm
0 gr
260 128 lin
261 128 gm
280 128 lin
281 128 gm
300 128 lin
301 128 gm
320 128 lin
321 128 gm
340 128 lin
341 128 gm
360 128 lin
361 128 gm
380 128 lin
381 128 gm
400 128 lin
401 128 gm
420 128 lin
421 128 gm
440 128 lin
441 128 gm
460 128 lin
461 128 gm
480 128 lin
481 128 gm
500 128 lin
501 128 gm
520 128 lin
521 128 gm
540 128 lin
541 128 gm
560 128 lin
561 128 gm
580 128 lin
581 128 gm
600 128 lin
601 128 gm
620 128 lin
631 168 gm
F 1 setTxMode
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Numerical C Extensions Group / X3J11.1)show
621 128 gm
0 gr
633 128 lin
644 168 gm
F 1 setTxMode
(DPCE Subcommittee)show
634 128 gm
0 gr
646 128 lin
657 168 gm
F 1 setTxMode
(Draft Technical Report)show
647 128 gm
0 gr
659 128 lin
670 168 gm
F 1 setTxMode
(X3J11.1/93-034)show
660 128 gm
0 gr
672 128 lin
683 168 gm
F 1 setTxMode
(November 29, 1993)show
673 128 gm
0 gr
685 128 lin
F T cp
%%Page: ? 2
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 1 def

/wp$fpage (i) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
bu fc
{}mark T /NewCenturySchlbk-Italic /|______NewCenturySchlbk-Italic 0 rf
bn
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
{}mark T /NewCenturySchlbk-Roman /|______NewCenturySchlbk-Roman 0 rf
bn
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 304 gm
(i)show
82 275 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Foreword)show
108 90 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.33920 0. 32 0.03392 0.(This technical report is the result of discussions that began within the Array)awidthshow
121 90 gm
0.14831 0. 32 0.01483 0.(Syntax subgroup of the Numerical C Extensions Group \(NCEG\) in May 1989.)awidthshow
134 90 gm
1.17202 0. 32 0.11720 0.(The parent group became officially affiliated with the ANSI C process and)awidthshow
147 90 gm
1.70547 0. 32 0.17054 0.(obtained the ANSI designation X3J11.1.  The subgroup, to emphasize its)awidthshow
160 90 gm
1.72866 0. 32 0.17286 0.(primary focus, became known as the Data Parallel C Extensions \(DPCE\))awidthshow
173 90 gm
(subcommittee.)show
199 90 gm
0.63903 0. 32 0.06390 0.(This report addresses only a subset of the issues that were discussed by the)awidthshow
212 90 gm
2.52792 0. 32 0.25279 0.(subcommittee.  There were many areas of contention in defining these)awidthshow
225 90 gm
1.95892 0. 32 0.19589 0.(extensions.  The subcommittee chose to consider only those areas where)awidthshow
238 90 gm
3.20129 0. 32 0.32012 0.(consensus could be reached.  Hence, not every proposed extension or)awidthshow
251 90 gm
1.89849 0. 32 0.18984 0.(viewpoint is represented in this report:  this should not be construed as)awidthshow
264 90 gm
(denying their utility or merit.)show
290 90 gm
1.77963 0. 32 0.17796 0.(For example, there was great interest in including some form of parallel)awidthshow
303 90 gm
0.21530 0. 32 0.02153 0.(control flow, but it was agreed that since no consensus could be reached after)awidthshow
316 90 gm
0.47424 0. 32 0.04742 0.(considerable debate on this topic, that the subcommittee would leave it for a)awidthshow
329 90 gm
2.69256 0. 32 0.26925 0.(future extension.  There was also interest in including overloading, to)awidthshow
342 90 gm
0.17562 0. 32 0.01756 0.(simplify the extension of library functions to handle data parallel objects, but)awidthshow
355 90 gm
0.09902 0. 32 0.00990 0.(its inclusion at this time was rejected, since it was not essential to the overall)awidthshow
368 90 gm
(goals of the language extensions.)show
394 90 gm
1.33178 0. 32 0.13317 0.(The scope of this report is intentionally limited to detailing only the most)awidthshow
407 90 gm
1.30355 0. 32 0.13035 0.(fundamental concepts of a consistent data parallel model.  The extensions)awidthshow
420 90 gm
0.45333 0. 32 0.04533 0.(described in this report have been designed to allow further extensions to be)awidthshow
433 90 gm
3.12667 0. 32 0.31266 0.(cleanly added in the future.  The subcommittee believes that further)awidthshow
446 90 gm
-0.00642 0.(experience with the data parallel paradigm will eventually allow consensus to)ashow
459 90 gm
(be obtained for a more broadly defined C embedding.)show
485 90 gm
0.42449 0. 32 0.04244 0.(The subcommitee began by adopting a general model that included the basic)awidthshow
498 90 gm
0.07614 0. 32 0.00761 0.(concept of parallel data aggregates that have structure \(rank and dimension\),)awidthshow
511 90 gm
0.43151 0. 32 0.04315 0.(memory layout \(possibly noncontiguous\), and context \(active or participating)awidthshow
524 90 gm
2.26150 0. 32 0.22615 0.(elements\).  The subcommittee then began deliberations on how parallel)awidthshow
537 90 gm
(aggregates should be accessed and used in expressions and statements.)show
563 90 gm
1.22100 0. 32 0.12210 0.(As these concepts were already embodied in the C* language developed at)awidthshow
576 90 gm
0.47210 0. 32 0.04721 0.(Thinking Machines Corporation, the subcommittee adopted the C* reference)awidthshow
589 90 gm
0.34500 0. 32 0.03450 0.(manual as its base document.  They proceeded with removing features of the)awidthshow
602 90 gm
1.60324 0. 32 0.16032 0.(C* language that were not considered essential to the model, and adding)awidthshow
615 90 gm
1.14639 0. 32 0.11463 0.(more extensions, notably in the area of elemental and nodal functions and)awidthshow
628 90 gm
(parallel pointer handles.)show
654 90 gm
-0.00315 0.(The process has been a lengthy one, and the culmination of the subcommitte's)ashow
667 90 gm
0.17089 0. 32 0.01708 0.(work is described here in a thorough examination of the needed extensions to)awidthshow
680 90 gm
2.46627 0. 32 0.24662 0.(each section of the C standard.  This exercise itself has identified and)awidthshow
693 90 gm
1.22192 0. 32 0.12219 0.(addressed inconsistencies in the model, and has improved and focused the)awidthshow
706 90 gm
(report.)show
F T cp
%%Page: ? 3
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 2 def

/wp$fpage (ii) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 303 gm
(ii)show
95 90 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.78512 0. 32 0.17851 0.(The DPCE subcommittee wishes to thank the following persons for their)awidthshow
108 90 gm
(valuable contributions to its deliberation process:)show
134 126 gm
(Analog Devices, Marc Hoffman)show
147 126 gm
(Analog Devices, Kevin Leary)show
160 126 gm
(Analog Devices, Alex Zatsman)show
173 126 gm
(Control Data Corporation, Azar Hashemi)show
186 126 gm
(Convex Corporation, Bill Torkelson)show
199 126 gm
(Cray Research, Incorporated, Tom MacDonald)show
212 126 gm
(Cray Research, Incorporated, Dave Becker)show
225 126 gm
(Digital Equipment Corporation, Jeffrey Zeeb)show
238 126 gm
(Farance Inc, Frank Farance \(Chair\))show
251 126 gm
(Hewlett Packard, John Kwan)show
264 126 gm
(HyperParallel Technologies, Christian Fortunel)show
277 126 gm
(HyperParallel Technologies, Nicolas Paris)show
290 126 gm
(IBM, Pawel Molenda)show
303 126 gm
(IBM, Bill O'Farrell)show
316 126 gm
(IBM, Fred Tydeman)show
329 126 gm
(Keaton Consulting, David Keaton)show
342 126 gm
(Lawrence Livermore National Laboratory, Linda Stanberry)show
355 126 gm
(MasPar, David Alpern)show
368 126 gm
(Mimosa Systems, Incorporated, Hugh Redelmeier)show
381 126 gm
(Open Software Foundation, Mike Meissner)show
394 126 gm
(SunPro, Marino Segnan)show
407 126 gm
(Supercomputing Research Center, Maya Gokhale)show
420 126 gm
(Supercomputing Research Center, Howard Gordon)show
433 126 gm
(Syracuse University, Pankaj Kumar)show
446 126 gm
(Syracuse University, Nancy McCracken)show
459 126 gm
(Thinking Machines Corporation, Gary Sabot)show
472 126 gm
(Thinking Machines Corporation, James L. Frankel \(Vice Chair\))show
485 126 gm
(University of New Hampshire, Phil Hatcher)show
498 126 gm
(Unix System Laboratories, David Prosser)show
511 126 gm
(Wizard Consulting Services, Bob Jervis)show
F T cp
%%Page: ? 4
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 1 def

/wp$fpage (i) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 303 gm
(1)show
87 180 gm
1 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Data Parallel C Extensions)show
115 263 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(X3J11.1/93-034)show
141 210 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(Linda Stanberry, Technical Editor)show
141 65 gm
(5)show
154 190 gm
(Lawrence Livermore National Laboratory)show
167 254 gm
(PO Box 808, L-300)show
180 247 gm
(Livermore, CA 94551)show
193 236 gm
(lindaaocfmail.ocf.llnl.gov)show
206 59 gm
(10)show
224 90 gm
1 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(1.)show
224 126 gm
(I)show
224 134 gm
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(NTRODUCTION)show
224 253 gm
(  )show
0 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \244?, ANSI \2441])show
253 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(1.1)show
253 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(PURPOSE  )show
253 198 gm
0 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \244?, ANSI \2441.1])show
278 126 gm
0.00717 0. 32 0.00071 0.(The purpose of this document is to detail a set of proposed extensions to the Standard)awidthshow
278 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
290 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.60363 0. 32 0.06036 0.(C Language to support programming of data parallel applications.  The intent is to)awidthshow
302 126 gm
2.05017 0. 32 0.20501 0.(provide a portable set of machine-independent extensions to C suitable for an)awidthshow
314 126 gm
1.07009 0. 32 0.10700 0.(efficient mapping to high performance architectures, especially massively parallel)awidthshow
326 126 gm
(architectures.)show
338 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
353 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(1.2)show
353 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(SCOPE  )show
0 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \244?, ANSI \2441.2])show
378 126 gm
0.62240 0. 32 0.06224 0.(This document details only the proposed extensions to the C Standard.  It presents)awidthshow
390 126 gm
2.08389 0. 32 0.20838 0.(those extensions in the context of the relevant sections of the Standard to be)awidthshow
402 126 gm
(modified, and proposes new subsections of the Standard where appropriate.)show
402 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
426 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.46591 0. 32 0.14659 0.(It does not provide a tutorial on data parallel programming, nor on Standard C)awidthshow
438 126 gm
(programming.)show
465 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(1.3)show
465 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(REFERENCES  )show
465 225 gm
0 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \244?, ANSI \2441.3])show
465 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
490 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.16510 0. 32 0.01651 0.(1. )awidthshow
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
0.51239 0. 32 0.05123 0.(American National Standard for Information Systems\320Programming Language C)awidthshow
502 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(\(X3.159-1989\).)show
526 126 gm
(2. )show
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(International Standard Programming Languages\320C )show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(\(ISO/IEC 9899:1990\(E\)\).)show
526 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
550 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(3. \322C* Programming Guide,\323 James L. Frankel \(X3J11.1/90-032\).)show
574 126 gm
(4. \322A Reference Description of the C* Language,\323 James L. Frankel \(X3J11.1/91-023\).)show
586 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
598 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5. \322ASX Evaluation Method - Revision 2,\323 Frank Farance \(X3J11.1/92-004\).)show
622 126 gm
1.53717 0. 32 0.15371 0.(6. \322Massively Parallel C: Architectures and Data Distribution,\323 Tom MacDonald)awidthshow
634 126 gm
(\(X3J11.1/92-007\).)show
646 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
658 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(7.  \322C* Language Model,\323 James L. Frankel \(X3J11.1/92-010\).)show
682 126 gm
(8.  \322C* answers to evaluation criteria,\323 James L. Frankel \(X3J11.1/92-011\).)show
F T cp
%%Page: ? 5
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 2 def

/wp$fpage (ii) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 303 gm
(2)show
81 126 gm
0.18539 0. 32 0.01853 0.(9. \322Expressing Communication Costs in an Array Syntax,\323 Dave Becker \(X3J11.1/92)awidthshow
81 518 gm
(-)show
93 126 gm
(025\).)show
117 126 gm
(10. \322Focusing the ASX Base Document,\323 Bob Jervis \(X3J11.1/92-026\).)show
129 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
141 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
3.10836 0. 32 0.31083 0.(11. \322Issues concerning the use of C* as a base document,\323 Frank Farance)awidthshow
153 126 gm
(\(X3J11.1/92-028\).)show
177 126 gm
1.06185 0. 32 0.10618 0.(12. \322Distributing Data Using the 'block' Qualifier in C \(revision 2\),\323 Dave Becker,)awidthshow
189 126 gm
(Kent Zoya, Bill Homer \(X3J11.1/92-033\).)show
189 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
213 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(13. \322Elemental Execution,\323 Phil Hatcher \(X3J11.1/92-041\).)show
237 126 gm
(14. \322Left Indexing versus Right Indexing,\323 Frank Farance \(X3J11.1/92-044\).)show
249 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
261 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15. \322ASX Ten Commandments,\323 Frank Farance \(X3J11.1/92-045\).)show
285 126 gm
0.86547 0. 32 0.08654 0.(16. \322A Critique of the Programming Language C*,\323 Tichy, Phillipsen, and Hatcher)awidthshow
297 126 gm
(\(X3J11.1/92-050\).)show
309 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
321 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.92483 0. 32 0.09248 0.(17. \322Commentary on 'A Critique of the Programming Language C*',\323 Phil Hatcher)awidthshow
333 126 gm
(\(X3J11.1/92-051\).)show
357 126 gm
1.46652 0. 32 0.14665 0.(18. \322A Detailed Response to the C* Critique by Tichy, Phillipsen, and Hatcher,\323)awidthshow
369 126 gm
(James Frankel \(X3J11.1/92-053\).)show
369 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
393 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(19. \322The Pros and Cons of Current Shape in C*,\323 James L. Frankel \(X3J11.1/92-054\).)show
417 126 gm
3.21105 0. 32 0.32110 0.(20. \322A Proposed Worklist of Extensions/Changes to C*,\323 James L. Frankel)awidthshow
429 126 gm
(\(X3J11.1/92-055\).)show
429 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
453 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.83868 0. 32 0.18386 0.(21. \322Parallel Processing Model for High Level Programming Languages \(3/92\),\323)awidthshow
465 126 gm
(Cherri Pancake \(X3J11.1/92-056\).)show
489 126 gm
(22. \322MasPar's C Directions and Reasons,\323 David Alpern \(X3J11.1/92-062\).)show
489 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
513 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(23. \322Parallel Control Flow Constructs,\323 David Alpern \(X3J11.1/92-073\).)show
537 126 gm
(24.  "Elemental Execution," Phil Hatcher \(X3J11.1/92-076\).)show
549 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
561 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.56488 0. 32 0.05648 0.(25. \322Using Iterators to Express Parallel Operations in C \(revision 3\),\323 Dave Becker,)awidthshow
573 126 gm
(Kent Zoya, Bill Homer \(X3J11.1/92-078\).)show
597 126 gm
2.22229 0. 32 0.22222 0.(26. \322HyperC, A C language for Data Parallelism,\323 HyperParallel Technologies)awidthshow
609 126 gm
(\(X3J11.1/92-081\).)show
609 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
633 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(27. \322FORALL Proposal for Base Document,\323 Gary Sabot \(X3J11.1/93-008\).)show
657 126 gm
(28. \322A Parallel Extension to ANSI C,\323 Rob E. H. Kurver \(X3J11.1/93-009\).)show
669 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
681 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(29. \322Nodal Functions: A Strawman,\323 Phil Hatcher \(X3J11.1/93-011\).)show
705 126 gm
(30. \322Parallel Pointer Handles,\323 James L. Frankel \(X3J11.1/93-013\).)show
F T cp
%%Page: ? 6
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 3 def

/wp$fpage (iii) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 303 gm
(3)show
84 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(1.4)show
84 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(ORGANIZATION OF THE DOCUMENT  )show
0 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \244?, ANSI \2441.4])show
109 126 gm
0.51116 0. 32 0.05111 0.(This document is organized into sections that correspond to the relevant sections to)awidthshow
121 126 gm
(be modified within the Standard C document.  Included with each proposed extension)show
133 126 gm
(is a brief rationale or example for the extension.)show
133 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
157 144 gm
bu fc
{}mark T /Helvetica /|______Helvetica 0 rf
bn
10 fz
bu fc
2 F /|______Helvetica fnt
bn
1.52847 0. 32 0.15284 0.(If rationale for an extension is included, it is distinguished by indentation and a)awidthshow
168 144 gm
(change of font.)show
190 126 gm
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(The major sections of the document are:)show
190 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
214 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(1.  Introduction)show
238 126 gm
(2.  Environment)show
250 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
262 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(3.  Language)show
286 126 gm
(4.  Library)show
310 126 gm
-0.01065 0.(Each subsection of these major sections follows the structure of ANSI C [1] and ISO C)ashow
310 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
322 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.39001 0. 32 0.03900 0.([2], and indicates which subsections are modified.  Cross references are noted at the)awidthshow
334 126 gm
0.05554 0. 32 0.00555 0.(beginning of each subsection, enclosed in square brackets\320e.g., [ISO \2447.1, ANSI \2444.1].)awidthshow
346 126 gm
0.68298 0. 32 0.06829 0.(The numbering of all subsections directly corresponds to the numbering within the)awidthshow
358 126 gm
0.50109 0. 32 0.05010 0.(cited ANSI/ISO standard.  Subsections for which there is no corresponding ANSI or)awidthshow
370 126 gm
0.46752 0. 32 0.04675 0.(ISO subsection are new [)awidthshow
370 244 gm
9 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(NEW)show
370 267 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.47836 0. 32 0.04783 0.(].   Subsections of the standard which are not affected)awidthshow
370 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
382 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.03555 0. 32 0.00355 0.(are skipped, so the numbering of subsections within this proposal will not necessarily)awidthshow
394 126 gm
(be consecutive.)show
418 126 gm
0.81726 0. 32 0.08172 0.(In each subsection of this document, the text is to be considered as amplifying the)awidthshow
430 126 gm
0.28778 0. 32 0.02877 0.(existing text of that subsetion of the Standard, not replacing or modifiying it  Where)awidthshow
430 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
442 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.46783 0. 32 0.04678 0.(parts of specific definitions in existing subsections of the standard are modified, the)awidthshow
454 126 gm
0.01846 0. 32 0.00184 0.(modification is introduced by an italicized and underlined heading to that effect, such)awidthshow
466 126 gm
(as:)show
490 126 gm
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
34.98046 ul
(Modify:)show
490 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
514 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.55770 0. 32 0.05577 0.(These headings are used for clarity as needed, and omitted where it is obvious that)awidthshow
526 126 gm
(the entire change is reflected in the text \(e.g., in )show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Syntax)show
526 387 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( definitions\).)show
550 126 gm
0.80490 0. 32 0.08049 0.(<<Editor's notes are delimited by double angle brackets.  This indicates where the)awidthshow
550 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
562 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.24572 0. 32 0.12457 0.(editor has identified clarifications or revisions that need to be completed.  "TBS")awidthshow
574 126 gm
(within an editorial note indicates "to be supplied.">>)show
601 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(1.5)show
601 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(BASE DOCUMENTS  )show
601 259 gm
0 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \244?, ANSI \2441.5])show
614 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
626 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.64056 0. 32 0.06405 0.(This set of proposed changes represents the composition of multiple proposals from)awidthshow
638 126 gm
0.63171 0. 32 0.06317 0.(participating representatives, as reflected in the list of references in \2441.3.  Early in)awidthshow
650 126 gm
0.47393 0. 32 0.04739 0.(the deliberations, the committee elected to adopt the C* language reference manual)awidthshow
662 126 gm
2.03033 0. 32 0.20303 0.([3] as its base document, and with this as its foundation, derived the current)awidthshow
674 126 gm
(proposed set of extensions by deleting some features of C* and adding new features.)show
674 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
701 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(1.6)show
701 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(DEFINITION)show
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
( )show
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(OF TERMS  )show
701 289 gm
0 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \244?, ANSI \2441.6])show
F T cp
%%Page: ? 7
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 4 def

/wp$fpage (iv) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 303 gm
(4)show
81 126 gm
0.31921 0. 32 0.03192 0.(The following new terms are used within this document.  Although it would be more)awidthshow
93 126 gm
0.74844 0. 32 0.07484 0.(natural to define each term in the subsection where it is first introduced, it is also)awidthshow
105 126 gm
2.46078 0. 32 0.24607 0.(convenient to have the new terms dealing specifically with the data parallel)awidthshow
117 126 gm
0.01647 0. 32 0.00164 0.(extensions collected in one place.  Hence, the most widely used new terms are defined)awidthshow
129 126 gm
(here.)show
129 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
153 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
2.75131 0. 32 0.27513 0.(\245 Shape \320 a type whose values consist of the following components:  rank,)awidthshow
165 126 gm
(dimensions, context, and layout.)show
189 144 gm
bu fc
2 F /|______Helvetica fnt
bn
0.29220 0. 32 0.02922 0.(Objects and values of type )awidthshow
189 267 gm
1 fs
bu fc
{}mark T /Helvetica-Bold /|______Helvetica-Bold 0 rf
bn
bu fc
2 F /|______Helvetica-Bold fnt
bn
(shape)show
189 296 gm
0 fs
bu fc
2 F /|______Helvetica fnt
bn
0.26916 0. 32 0.02691 0.( are descriptors or templates for parallel objects or)awidthshow
189 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
200 144 gm
10 fz
bu fc
2 F /|______Helvetica fnt
bn
0.86669 0. 32 0.08666 0.(parallel values.  Variables may be declared to denote objects of type shape.  See)awidthshow
211 144 gm
(\2443.1.2.5 and \2443.5.2.)show
233 126 gm
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.32653 0. 32 0.03265 0.(\245 Layout \320 information specifying a distribution of a parallel object or parallel value)awidthshow
245 126 gm
(onto memory.)show
245 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
269 144 gm
10 fz
bu fc
2 F /|______Helvetica fnt
bn
(Memory refers to the total composite memory of a computing system.)show
291 126 gm
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.31042 0. 32 0.13104 0.(\245 Parallel value \320 a structured collection of one or more identically-typed values)awidthshow
303 126 gm
(where the structure is defined by a shape.)show
303 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
327 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.25259 0. 32 0.12525 0.(\245 Parallel object \320 a structured collection of one or more identically-sized objects)awidthshow
339 126 gm
(where the structure is defined by a shape.)show
363 144 gm
bu fc
2 F /|______Helvetica fnt
bn
0.40954 0. 32 0.04095 0.(A parallel object is distinct from an ordinary C object in that although it is composed)awidthshow
363 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
374 144 gm
10 fz
bu fc
2 F /|______Helvetica fnt
bn
(of C objects, the collection itself is not guaranteed to be contiguously allocated.)show
396 126 gm
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(\245 Parallel operand \320 parallel value or parallel object.)show
420 126 gm
0.64788 0. 32 0.06478 0.(\245 Position \320 a point within the index space defined by the Cartesian product of the)awidthshow
420 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
432 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(dimensions of a shape.)show
455 144 gm
bu fc
2 F /|______Helvetica fnt
bn
0.42800 0. 32 0.04280 0.(When we refer to a position of a shape, we are denoting a point in all variables of a)awidthshow
466 144 gm
(given shape.)show
477 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
488 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.34622 0. 32 0.03462 0.(\245 Element \320 the value or object at a position within a parallel operand, respectively;)awidthshow
500 126 gm
(or a member of an array.)show
524 126 gm
1.32095 0. 32 0.13209 0.(\245 Elemental execution \320 execution of a function or operation on elements within)awidthshow
536 126 gm
(corresponding active positions of parallel operands.)show
536 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
560 144 gm
10 fz
bu fc
2 F /|______Helvetica fnt
bn
1.69265 0. 32 0.16926 0.(An operation performed under a context is executed elementally.  That is, it is)awidthshow
571 144 gm
0.78643 0. 32 0.07864 0.(executed on each value or object at the positions designated as active for a given)awidthshow
582 144 gm
(context.)show
593 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
605 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(\245 Parallel index \320 a selector for an element of a parallel operand.)show
629 126 gm
(\245 Active position \320 a position whose values  participate in elemental execution.)show
653 126 gm
(\245 Context \320 the active positions of a shape.)show
653 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
677 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
-0.00416 0.(\245 Reduction \320 an operation that when applied to a parallel operand produces a single,)ashow
689 126 gm
(nonparallel result, such as the sum of all the elements of a parallel object.)show
716 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(1.7)show
716 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(COMPLIANCE  )show
716 225 gm
0 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \244?, ANSI \2441.7])show
716 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(55)show
F T cp
%%Page: ? 8
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 5 def

/wp$fpage (v) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 303 gm
(5)show
93 126 gm
1.19659 0. 32 0.11965 0.(In order to comply with this set of proposed extensions, an implementation must)awidthshow
105 126 gm
(provide for all the extensions detailed in this document.)show
132 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(1.8)show
132 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(FUTURE DIRECTIONS  )show
0 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \244?, ANSI \2441.8])show
132 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
157 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.34338 0. 32 0.13433 0.(The set of extensions proposed here are intended as a minimal set of extensions)awidthshow
169 126 gm
1.02539 0. 32 0.10253 0.(needed to support data parallel programming.  As this is a relatively new area of)awidthshow
181 126 gm
2.73376 0. 32 0.27337 0.(expertise, the DPCE subcommittee chose not to propose extensions in those)awidthshow
193 126 gm
0.21896 0. 32 0.02189 0.(directions where more experience is needed to evaluate alternate proposals.  As such)awidthshow
193 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
205 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.55014 0. 32 0.15501 0.(experience is gained, further data parallel extensions will be desirable to codify)awidthshow
217 126 gm
(developing practice and promote portablity of data parallel applications.)show
259 90 gm
1 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(2.)show
259 126 gm
(E)show
259 140 gm
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(NVIRONMENT)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(  )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2445, ANSI \2442])show
259 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
288 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(2.1)show
288 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(CONCEPTUAL MODELS )show
288 284 gm
0 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2445.1, ANSI \2442.1])show
313 126 gm
0.87890 0. 32 0.08789 0.(These extensions are based on a data parallel model of programming.  This model)awidthshow
325 126 gm
1.90933 0. 32 0.19093 0.(provides a single thread of control while allowing the manipulation of parallel)awidthshow
325 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
337 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.26885 0. 32 0.02688 0.(objects.  Parallel objects are manipulated by applying in parallel an operation across)awidthshow
349 126 gm
(all the elements of the objects.)show
373 144 gm
bu fc
2 F /|______Helvetica fnt
bn
0.58792 0. 32 0.05879 0.(The data parallel model supports a large class of parallel computations while being)awidthshow
384 144 gm
0.96740 0. 32 0.09674 0.(easy to learn and use.  The ease of use is derived from its emphasis on a single)awidthshow
384 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
395 144 gm
10 fz
bu fc
2 F /|______Helvetica fnt
bn
1.45019 0. 32 0.14501 0.(thread of control, which provides a direct link to the familiar serial programming)awidthshow
406 144 gm
0.33096 0. 32 0.03309 0.(model.  The wide applicability is due in part on the demonstrated ability of compilers)awidthshow
417 144 gm
0.65277 0. 32 0.06527 0.(to translate data parallel programs for efficient execution on a variety of both serial)awidthshow
428 144 gm
(and parallel hardware platforms.)show
439 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
451 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Example)show
475 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.74905 0. 32 0.07490 0.(The following illustrates a comparison of programming style that one would use to)awidthshow
487 126 gm
0.41778 0. 32 0.04177 0.(perform the same operations on a parallel object using DPCE as one would use in C)awidthshow
499 126 gm
1.21948 0. 32 0.12194 0.(with arrays.  Although the two code segments are not equivalent for the reasons)awidthshow
499 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
511 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(noted, both demonstrate the same effect.)show
535 162 gm
bu fc
{}mark T /Courier /|______Courier 0 rf
bn
bu fc
2 F /|______Courier fnt
bn
(/* DPCE */)show
546 162 gm
(shape [100]Shape;)show
557 162 gm
(int:Shape x, y, z;)show
557 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
579 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(x = y + z;)show
590 162 gm
(x += 17;)show
612 162 gm
(/* ANSI C */)show
612 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
623 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(typedef int Shape[100];)show
634 162 gm
(Shape x, y, z;)show
656 162 gm
0.73776 0. 32 0.07377 0.(/* NOTE: The following is not truly equivalent to the DPCE)awidthshow
667 162 gm
0.78796 0. 32 0.07879 0.(example above since the DPCE operations are not ordered as)awidthshow
667 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
678 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
-0.00698 0.(the operations are ordered in the following loops.  Further,)ashow
689 162 gm
1.29272 0. 32 0.12927 0.(in DPCE, operations are performed under 'context' and the)awidthshow
700 162 gm
1.62643 0. 32 0.16264 0.(granularity is at the operation level rather than at the)awidthshow
711 162 gm
(statement level. */)show
F T cp
%%Page: ? 9
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 6 def

/wp$fpage (vi) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 303 gm
(6)show
92 162 gm
bu fc
2 F /|______Courier fnt
bn
(for \(i=0; i<100; i++\))show
103 198 gm
(x[i] = y[i] + z[i];)show
125 162 gm
(for \(i=0; i<100; i++\))show
125 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
136 198 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(x[i] += 17;)show
160 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(2.1.1 Translation environments )show
0 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2445.1.1, ANSI \2442.1.1])show
184 126 gm
0.18585 0. 32 0.01858 0.(<<TBS:  discuss impact of data parallel model on translation environment, linking of)awidthshow
184 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
196 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(DPCE compiled code with other C codes,  new phases of translation for DPCE. >>)show
221 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(2.1.2 Execution environments )show
0 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2445.1.2, ANSI \2442.1.2])show
245 126 gm
1.52847 0. 32 0.15284 0.(At program startup, the DPCE execution environment shall define )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.47119 0.(physical)ashow
245 507 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
2.48474 0. 32 0.24847 0.( to)awidthshow
245 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
257 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.18951 0. 32 0.01895 0.(denote a predefined variable of type shape which is of rank 1 and dimension equal to)awidthshow
269 126 gm
2.94555 0. 32 0.29455 0.(number of nodes in the execution environment.  The layout of )awidthshow
269 463 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.45794 0.(physical)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.74066 0. 32 0.07406 0.( is)awidthshow
281 126 gm
(implementation defined.)show
305 126 gm
1.16760 0. 32 0.11676 0.(<<TBS:  discuss initialization of globals, defaults, extern environment, execution,)awidthshow
305 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
317 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(termination.>>)show
344 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(2.2)show
344 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(ENVIRONMENTAL CONSIDERATIONS )show
0 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2445.2, ANSI \2442.2])show
369 126 gm
(<<TBS: discuss any extensions for <limits.h>.>>)show
369 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
411 90 gm
1 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.)show
411 126 gm
(L)show
411 139 gm
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(ANGUAGE)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446, ANSI \2443])show
440 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.1)show
440 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(LEXICAL ELEMENTS)show
440 263 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.1, ANSI \2443.1])show
440 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
466 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.1.1 Keywords)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.1.1, ANSI \2443.1.1])show
490 126 gm
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
150.86425 ul
(Add the following new keywords:)show
502 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
514 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(allocate_detailed_shape)show
526 126 gm
(allocate_shape)show
538 126 gm
(dimof)show
550 126 gm
(elemental)show
562 126 gm
(everywhere)show
562 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
574 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(nodal)show
586 126 gm
(pcoord)show
598 126 gm
(physical)show
610 126 gm
(positionsof)show
622 126 gm
(rankof)show
622 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
634 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(shape)show
646 126 gm
(shapeof)show
658 126 gm
(where)show
683 90 gm
(3.1.2.5 Types )show
683 157 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.1.2.5, ANSI \2443.1.2.5])show
683 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
707 126 gm
6 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
72.75146 ul
(Add shape type:)show
F T cp
%%Page: ? 10
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 7 def

/wp$fpage (vii) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 303 gm
(7)show
93 126 gm
(There is one )show
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(shape type)show
93 233 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(, designated as )show
93 305 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(shape)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(.)show
117 144 gm
bu fc
2 F /|______Helvetica fnt
bn
2.83157 0. 32 0.28315 0.(Shape is a type whose values consist of the following components:  rank,)awidthshow
128 144 gm
1.12472 0. 32 0.11247 0.(dimensions, context, and layout.  We refer to a value of type shape simply as \322a)awidthshow
128 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
139 144 gm
10 fz
bu fc
2 F /|______Helvetica fnt
bn
(shape.\323)show
162 126 gm
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.77621 0. 32 0.07762 0.(A shape type of unknown size, whose rank and dimensions are not known, is )awidthshow
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
0.24548 0.(fully)ashow
174 126 gm
(unspecified)show
174 178 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.89981 0. 32 0.08998 0.(.  A shape type whose rank is known, but whose dimensions are not, is)awidthshow
186 126 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
0.75408 0. 32 0.07540 0.(partially specified)awidthshow
186 211 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.34140 0. 32 0.13414 0.(.  A shape type whose rank and dimensions are known is )awidthshow
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
0.46809 0.(fully)ashow
186 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
198 126 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(specified)show
198 166 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.62545 0. 32 0.06254 0.(.  These three categories of shapes form three distinct subsets of the shape)awidthshow
210 126 gm
0.24230 0. 32 0.02423 0.(type.  Note:  in a declaration of a shape, either none or all of the dimensions must be)awidthshow
222 126 gm
(specified.)show
246 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
246 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
270 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(shape S;)show
270 270 gm
(/* fully unspecified shape */)show
281 162 gm
(shape []T;)show
281 270 gm
(/* partially specified shape */)show
292 162 gm
(shape [100]U;)show
292 270 gm
(/* fully specified shape */)show
303 162 gm
(shape [2][]V;)show
303 270 gm
(/* illegal */)show
303 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
326 126 gm
6 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
210.42236 ul
(Modify derived types to include parallel types:)show
350 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
2.14614 0. 32 0.21461 0.(Any number of )awidthshow
350 207 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
2.51373 0. 32 0.25137 0.(derived types)awidthshow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.69784 0. 32 0.16978 0.( can be constructed from the object, function, and)awidthshow
362 126 gm
(incomplete types, as follows:)show
362 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
386 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(...)show
410 126 gm
0.05508 0. 32 0.00550 0.(\245 A )awidthshow
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
0.18356 0. 32 0.01835 0.(parallel type)awidthshow
410 203 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.10559 0. 32 0.01055 0.( describes a nonempty, structured collection of objects or values with)awidthshow
422 126 gm
0.31265 0. 32 0.03126 0.(a particular member type, called the element type.  The structure of the collection is)awidthshow
422 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
434 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.92910 0. 32 0.09291 0.(defined by an associated shape.  Parallel types are characterized by their element)awidthshow
446 126 gm
0.27450 0. 32 0.02745 0.(type and their shape.  A parallel type is said to be derived from its element type and)awidthshow
458 126 gm
1.91940 0. 32 0.19194 0.(its shape, and if its element type is )awidthshow
458 313 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
1.13574 0.(T)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.92535 0. 32 0.19253 0.( and its shape is )awidthshow
458 411 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(S)show
458 418 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.84066 0. 32 0.18406 0.(, the parallel type is)awidthshow
470 126 gm
0.08743 0. 32 0.00874 0.(sometimes called a \322a parallel )awidthshow
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(T)show
470 274 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.09658 0. 32 0.00965 0.( of shape )awidthshow
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(S)show
470 325 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.09658 0. 32 0.00965 0.(.\323  The construction of a parallel type from)awidthshow
482 126 gm
(an element type and a shape is called \322parallel type derivation.\323)show
482 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
506 126 gm
6 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
273.33984 ul
(Modify recursive applicability of constructing derived types:)show
530 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(These methods of constructing derived types can be applied recursively, except:)show
542 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
554 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(\245 the element type of a parallel type is not allowed to be a parallel type;)show
566 126 gm
0.13137 0. 32 0.01313 0.(\245 a struct or union type cannot contain a member that has parallel type or a member)awidthshow
578 126 gm
(that is a shape;)show
590 126 gm
(\245 a parallel struct or union cannot contain a member that is a pointer.)show
602 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
614 144 gm
10 fz
bu fc
2 F /|______Helvetica fnt
bn
0.94543 0. 32 0.09454 0.(Hence, you can have arrays of parallel types, functions returning parallel types or)awidthshow
625 144 gm
1.43157 0. 32 0.14315 0.(having parallel typed arguments, pointers to parallel types, parallel types whose)awidthshow
636 144 gm
0.28244 0. 32 0.02824 0.(elements are arrays or structs or unions or functions or pointers.  But you can't have)awidthshow
647 144 gm
(parallel types whose elements are parallel types or contain parallel types.)show
658 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
670 126 gm
6 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
220.79345 ul
(Modify aggregate types to include parallel types:)show
694 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(Array, structure, and parallel types are collectively called )show
694 395 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(aggregate types.)show
F T cp
%%Page: ? 11
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 8 def

/wp$fpage (viii) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 303 gm
(8)show
81 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Forward references:)show
81 232 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(  shape specifiers \(\2443.5.2.4\))show
105 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.1.2.6 Compatible and composite types )show
105 295 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.1.2.6, ANSI \2443.1.2.6])show
129 126 gm
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
272.79785 ul
(Add clarifications for compatible shapes and parallel types:)show
129 65 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
153 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.18576 0. 32 0.11857 0.(Two shapes are compatible if they specify the same rank, dimension, and layout.)awidthshow
165 126 gm
0.35507 0. 32 0.03550 0.(Two compatible shapes are referred to as being the same shape.  <<This needs to be)awidthshow
177 126 gm
(precisely defined for partially specified and fully specified shape types!>>)show
189 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
201 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.34652 0. 32 0.03465 0.(Two parallel types are compatible if they are derived from compatible element types)awidthshow
213 126 gm
(unless they are derived from distinct shape variables.)show
237 144 gm
bu fc
2 F /|______Helvetica fnt
bn
0.06469 0. 32 0.00646 0.(Parallel types are determined to be compatible if they have compatible element types)awidthshow
248 144 gm
2.20382 0. 32 0.22038 0.(and their shapes are denoted by the same identifier.  Shape compatibility or)awidthshow
248 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
259 144 gm
10 fz
bu fc
2 F /|______Helvetica fnt
bn
(equivalence is determined essentially by  name equivalence.)show
281 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
305 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(/* Compatible and incompatible shapes */)show
305 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
316 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(shape [10]S;)show
327 162 gm
(shape [10]T;)show
327 270 gm
(/* Compatible with S */)show
338 162 gm
(shape []U;)show
338 270 gm
(/* Compatible with S and T */)show
349 162 gm
(shape [][]V;)show
349 270 gm
(/* Incompatible with S, T, and U */)show
360 162 gm
(shape [2][5]W;)show
360 270 gm
(/* Incompatible with S, T, and U */)show
360 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
371 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(shape [][][]X;)show
371 270 gm
(/* Incompatible with S, T, U, V, and W */)show
382 162 gm
(shape Y;)show
382 270 gm
(/* Compatible with S, T, U, V, W, and X */)show
404 162 gm
(/* Compatible types */)show
415 162 gm
(int:S)show
415 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
426 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(signed int:S)show
426 306 gm
(/* Compatible with int:S */)show
448 162 gm
(long:physical)show
459 162 gm
(long int:physical)show
459 306 gm
(/* Compatible with long:physical */)show
470 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
481 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(/* Incompatible types */)show
492 162 gm
(int:S)show
503 162 gm
(float:S)show
503 270 gm
(/* Incompatible with int:S */)show
514 162 gm
(short:S)show
514 270 gm
(/* Incompatible with int:S */)show
525 162 gm
(int:T)show
525 270 gm
(/* Incompatible with int:S */)show
525 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
548 126 gm
6 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
211.55029 ul
(Modify composite types to include shape types:)show
572 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.71868 0. 32 0.07186 0.(A )awidthshow
572 137 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
0.81771 0. 32 0.08177 0.(composite type)awidthshow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.46218 0. 32 0.04621 0.( can be constructed from two types that are compatible; it is a type)awidthshow
584 126 gm
(that is compatible with both of the two types and satisifies the following conditions:)show
584 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
608 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
2.04025 0. 32 0.20402 0.(\245 If one type is a fully unspecified shape and the other is fully specified, the)awidthshow
620 126 gm
(composite type is identical to the fully specified shape.)show
644 126 gm
1.87774 0. 32 0.18777 0.(\245 If one type is a partially specified shape and the other is fully specifed, the)awidthshow
644 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
656 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(composite type is identical to the fully specified shape.)show
680 144 gm
bu fc
2 F /|______Helvetica fnt
bn
2.01660 0. 32 0.20166 0.(To form a composite shape type, the shapes have to be compatible, and the)awidthshow
691 144 gm
(composite will always be the more completely specified shape.)show
702 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(55)show
715 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.1.5 Operators)show
715 183 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
( )show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.1.5, ANSI \2443.1.5])show
F T cp
%%Page: ? 12
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 9 def

/wp$fpage (ix) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 303 gm
(9)show
93 126 gm
(The following operators are added:)show
117 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(<?)show
117 162 gm
(<?=)show
117 198 gm
(>?)show
117 234 gm
(>?=)show
117 270 gm
(%%)show
129 65 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
144 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.2)show
144 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(CONVERSIONS)show
144 225 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.2, ANSI \2443.2])show
169 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.2.1.1 Characters and integers)show
169 248 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.2.1.1, ANSI \2443.2.1.1])show
193 126 gm
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
143.45703 ul
(Add to the integral promotions:)show
193 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
217 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.60882 0. 32 0.06088 0.(A parallel )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.30731 0.(char)ashow
217 201 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.00341 0. 32 0.10034 0.(, a parallel )awidthshow
217 258 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
1.33834 0. 32 0.13383 0.(short int)awidthshow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.65109 0. 32 0.06510 0.(, or a parallel )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.41758 0.(int)ashow
217 389 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.94696 0. 32 0.09469 0.( bit field, or their signed or)awidthshow
229 126 gm
1.12442 0. 32 0.11244 0.(unsigned varieties, or a parallel enumeration type, may be used in an expression)awidthshow
241 126 gm
0.37216 0. 32 0.03721 0.(wherever a parallel )awidthshow
241 221 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.13169 0.(int)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.34011 0. 32 0.03401 0.( or parallel )awidthshow
241 291 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.79055 0. 32 0.07905 0.(unsigned int)awidthshow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.30624 0. 32 0.03062 0.( may be used.  If a parallel )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.19676 0.(int)ashow
241 502 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.46752 0. 32 0.04675 0.( can)awidthshow
253 126 gm
1.27609 0. 32 0.12760 0.(represent all values of the original type, the value is converted to a parallel )awidthshow
253 504 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(int)show
253 519 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(;)show
253 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
265 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.84823 0. 32 0.08482 0.(otherwise, it is converted to a parallel )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
1.65557 0. 32 0.16555 0.(unsigned int)awidthshow
265 382 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.94787 0. 32 0.09478 0.(; the promoted parallel value)awidthshow
277 126 gm
(will be of the same shape as the original expression.)show
301 144 gm
bu fc
2 F /|______Helvetica fnt
bn
(Integral promotions are applied elementally to parallel operands.)show
312 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
324 90 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.2.1.5 Usual arithmetic conversions  )show
324 282 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.2.1.5, ANSI \2443.2.1.5])show
348 126 gm
1.89178 0. 32 0.18917 0.(In general, arithmetic conversions performed on a parallel operand result in a)awidthshow
360 126 gm
0.41290 0. 32 0.04129 0.(parallel value of the same shape as the operand and whose value at each position is)awidthshow
372 126 gm
2.11685 0. 32 0.21168 0.(the result of performing the usual arithmetic conversions on the value at the)awidthshow
372 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
384 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(corresponding position of the operand.)show
408 144 gm
bu fc
2 F /|______Helvetica fnt
bn
0.71746 0. 32 0.07174 0.(The usual arithmetic conversions are applied elementally to parallel operands, and)awidthshow
419 144 gm
(the  result is an homogenous parallel operand.)show
430 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
442 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(Exceptions are noted for specific operators in the following sections.)show
467 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.2.3 Parallel Operands and Contextualization)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([)show
467 386 gm
9 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(NEW)show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(])show
491 126 gm
0.95016 0. 32 0.09501 0.(In binary or ternary operations involving operands of parallel types, the operands)awidthshow
491 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
503 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(must all be of the same shape.)show
527 126 gm
0.25711 0. 32 0.02571 0.(In general, if one operand is parallel and one is nonparallel, the nonparallel operand)awidthshow
539 126 gm
1.80603 0. 32 0.18060 0.(is promoted to a parallel value of the other operand's shape by replicating the)awidthshow
551 126 gm
(nonparallel operand's value.)show
551 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
575 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.36987 0. 32 0.03698 0.(If the operator is an assignment operator, this replication only applies when the left)awidthshow
587 126 gm
(operand or destination is parallel and the right operand or source is nonparallel.)show
611 126 gm
(Other exceptions to these rules are noted for each operator in the sections that follow.)show
611 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
635 126 gm
6 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
98.29101 ul
(On contextualization:)show
659 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.73013 0. 32 0.07301 0.(The context component of a shape is a specification of which positions of a parallel)awidthshow
671 126 gm
0.77758 0. 32 0.07775 0.(operand of the shape are active for a given operation.  The context component of a)awidthshow
671 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
683 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.52374 0. 32 0.15237 0.(shape is conceptually a parallel integral value of the shape, where a position is)awidthshow
695 126 gm
1.77642 0. 32 0.17764 0.(indicated as active by a non-zero in the corresponding context element, and as)awidthshow
707 126 gm
0.21530 0. 32 0.02153 0.(inactive by a zero in the corresponding context element.  The elements of the context)awidthshow
F T cp
%%Page: ? 13
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 10 def

/wp$fpage (x) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(10)show
81 126 gm
0.46905 0. 32 0.04690 0.(of a given shape are all initially \(i.e., at program start-up time\) non-zero, indicating)awidthshow
93 126 gm
(that all positions are active.)show
117 126 gm
2.39425 0. 32 0.23942 0.(The context of a given shape is altered by context-modifying statements and)awidthshow
129 126 gm
1.35681 0. 32 0.13568 0.(expressions which assign elements of the context.  The )awidthshow
129 401 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.24119 0.(where)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.34179 0. 32 0.03417 0.( and )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.25343 0.(everywhere)ashow
129 65 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
141 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.88095 0. 32 0.18809 0.(statements modify the context component of a shape \(see \2443.6.7\).  Expressions)awidthshow
153 126 gm
0.12420 0. 32 0.01242 0.(involving the )awidthshow
153 190 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.07720 0.(&&)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.04577 0. 32 0.00457 0.(, )awidthshow
153 213 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.05436 0.(||)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.08880 0. 32 0.00888 0.(, and )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.06979 0.(:?)ashow
153 259 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.12695 0. 32 0.01269 0.( operators also modify the context component of a shape.)awidthshow
165 126 gm
0.64865 0. 32 0.06486 0.(For context-modifying  statements and expressions, the effect of the context is only)awidthshow
177 126 gm
0.93643 0. 32 0.09364 0.(for the statement or expression in which they occur; the context component of the)awidthshow
189 126 gm
1.16424 0. 32 0.11642 0.(shape is restored to its previous value at the end of the statement or expression.)awidthshow
189 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
201 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.39785 0. 32 0.13978 0.(Note that context-modifying statements and expressions may be nested, and the)awidthshow
213 126 gm
2.61383 0. 32 0.26138 0.(effects on the context are recursively defined for the nested statements and)awidthshow
225 126 gm
(expressions.)show
249 126 gm
0.28884 0. 32 0.02888 0.(<<Need to specify the effect of context-modifying constructs on function calls when a)awidthshow
249 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
261 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.63247 0. 32 0.06324 0.(parallel operand is passed as an argument.  Is its shape with the modifiied context)awidthshow
273 126 gm
0.82427 0. 32 0.08242 0.(implicitly passed along with the operand, or must it be explicitly passed?  Need to)awidthshow
285 126 gm
(specify for both elemental and nonelemental functions.>>)show
312 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3)show
312 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(EXPRESSIONS)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3, ANSI \2443.3])show
312 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
338 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.2 Postfix Operators)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.2, ANSI \2443.3.2])show
362 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.2.1 Array subscripting)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.2.1, ANSI \2443.3.2.2])show
374 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
386 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Constraints)show
410 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.53848 0. 32 0.05384 0.(<<Need to specify constraints for a parallel index \(parallel int used as as subscript\))awidthshow
422 126 gm
(and  for parallel pointers.>>)show
434 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
446 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
470 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.40466 0. 32 0.04046 0.(<<Need to specify semantics of parallel subscripts \(i.e., a subscript that is a parallel)awidthshow
482 126 gm
(operand\) and subscripting parallel pointer handles.>>)show
494 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
506 90 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.2.2 Function calls)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.2.2, ANSI \2443.3.2.2])show
530 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Constraints)show
554 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.34963 0. 32 0.13496 0.(Each parallel argument to an elemental function shall have a type such that an)awidthshow
554 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
566 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
-0.00689 0.(element value may be assigned to an object with the unqualified version of the type of)ashow
578 126 gm
(its corresponding parameter.)show
602 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
614 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
626 126 gm
6 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
395.49972 ul
0.40267 0. 32 0.04026 0.(Add clarifications for parallel parameters in prototypes, parallel arguments, parallel)awidthshow
638 126 gm
57.74169 ul
(return types:)show
662 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.86013 0. 32 0.08601 0.(Both shapes and parallel operands may be passed to and returned from functions.)awidthshow
674 126 gm
0.07705 0. 32 0.00770 0.(Shape and parallel operand arguments are passed by value; creating the local copy of)awidthshow
674 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
686 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.66253 0. 32 0.06625 0.(these arguments to a function can be inefficient.  The usual rules for function calls)awidthshow
698 126 gm
(with and without prototypes applies.)show
F T cp
%%Page: ? 14
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 11 def

/wp$fpage (xi) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(11)show
81 126 gm
2.24395 0. 32 0.22439 0.(Parallel arguments and return values are evaluated under the context of the)awidthshow
93 126 gm
0.22857 0. 32 0.02285 0.(expression in which the function call occurs.  Parallel operands passed as arguments)awidthshow
105 126 gm
0.42526 0. 32 0.04252 0.(behave as if assigned to the local copy, following the semantics of assignment under)awidthshow
117 126 gm
(context \(see \2443.3.16\).  Only active positions are assigned.)show
129 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
141 144 gm
10 fz
bu fc
2 F /|______Helvetica fnt
bn
0.83145 0. 32 0.08314 0.(To allow access to all positions of a parallel object, use an )awidthshow
141 419 gm
1 fs
bu fc
2 F /|______Helvetica-Bold fnt
bn
0.06784 0.(everywhere)ashow
0 fs
bu fc
2 F /|______Helvetica fnt
bn
0.30288 0. 32 0.03028 0.( statement)awidthshow
152 144 gm
(around the call, or pass a pointer to the object.)show
175 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
187 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
199 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(shape [100]Shape;)show
210 162 gm
(int:Shape a, b;)show
232 162 gm
(int active_positionsof\(shape x, int:x mask\))show
243 162 gm
({)show
243 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
254 198 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(int:x local;)show
276 198 gm
(with \(mask\) {)show
287 234 gm
(local = 1;)show
298 234 gm
(return += local;)show
298 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
309 198 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(})show
320 162 gm
(})show
342 162 gm
(void print_sum\(int:Shape x\))show
353 162 gm
({)show
353 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
364 198 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(printf\("Sum of parallel argument is %d\\n", +=x\);)show
375 162 gm
(})show
397 162 gm
(int:Shape increment\(int:Shape x\))show
408 162 gm
({)show
408 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
419 198 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(return x++;)show
430 162 gm
(})show
452 162 gm
(/* examples of use */)show
463 162 gm
(print_sum\(a\);)show
463 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
485 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(b = increment\(a\);)show
507 162 gm
(printf\("Number of positive elements in a is %d\\n",)show
518 198 gm
( active_positionsof\(Shape,a>0\)\);)show
518 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
541 126 gm
6 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
114.19189 ul
(Add elemental functions:)show
565 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.61050 0. 32 0.06105 0.(A function whose return type is qualified with the )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.20947 0.(elemental)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.57739 0. 32 0.05773 0.( qualifier is called an)awidthshow
577 126 gm
0.35537 0. 32 0.03553 0.(elemental function.  The return type of the function must be so-qualified at both the)awidthshow
577 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
589 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.76019 0. 32 0.07601 0.(function definition and <<for any declaration visible at?>> the function call; if not,)awidthshow
601 126 gm
(the behavior is undefined.)show
637 126 gm
-0.00877 0.(An elemental function can be executed either elementally or non-elementally.  If none)ashow
637 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
649 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
-0.00210 0.(of the arguments are parallel operands, the function is executed non-elementally \(i.e.,)ashow
661 126 gm
0.30502 0. 32 0.03050 0.(as a normal C function\).  If one or more of the arguments are parallel operands, it is)awidthshow
673 126 gm
0.41366 0. 32 0.04136 0.(executed elementally.  All the parallel arguments must be of the same shape; if not,)awidthshow
685 126 gm
1.58386 0. 32 0.15838 0.(the behavior is undefined.  Nonparallel arguments to a function being executed)awidthshow
697 126 gm
(elementally are promoted to parallel in the usual manner.)show
697 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(55)show
F T cp
%%Page: ? 15
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 12 def

/wp$fpage (xii) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(12)show
81 126 gm
0.56961 0. 32 0.05696 0.(When an elemental function is executing elementally, a shape is established at run)awidthshow
93 126 gm
(time for the function.  This shape is the shape of the parallel arguments.  An instance)show
105 126 gm
0.38742 0. 32 0.03874 0.(of the code contained in an elemental fucntion is executed for each active position of)awidthshow
117 126 gm
2.79083 0. 32 0.27908 0.(the established shape.  An elemental function is indivisible with respect to)awidthshow
129 126 gm
1.81625 0. 32 0.18162 0.(synchronization.  That is, an elemental function is treated as if it was a basic)awidthshow
129 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
141 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.45486 0. 32 0.04548 0.(operator \(like addition\).  All instances of the function execute as if in parallel, there)awidthshow
153 126 gm
0.16357 0. 32 0.01635 0.(are no assumptions about the synchronization of the intermediate steps, and there is)awidthshow
165 126 gm
(a conceptula synchronization upon exit of the function.)show
189 126 gm
0.58761 0. 32 0.05876 0.(When an elemental function is called from within an elemental function that is not)awidthshow
189 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
201 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.61193 0. 32 0.16119 0.(executing elementally, the inner function call also executes as if it were a non-)awidthshow
213 126 gm
(elemental function.)show
237 126 gm
1.53167 0. 32 0.15316 0.(When an elemental function is called from within an elemental function that is)awidthshow
249 126 gm
0.51574 0. 32 0.05157 0.(executing elementally, the positions that execute the inner function call continue to)awidthshow
249 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
261 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.47979 0. 32 0.14797 0.(execute the body of the called function elementally. There is no synchronization)awidthshow
273 126 gm
0.49896 0. 32 0.04989 0.(associated with the inner function call.  Synchronization is only associated with the)awidthshow
285 126 gm
0.01296 0. 32 0.00129 0.(return of the outermost elemental function call.  <<Do you mean that the inner called)awidthshow
297 126 gm
(function is executed non-elementally for each active position?>>)show
309 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
321 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.22506 0. 32 0.02250 0.(An elemental function executing elementally, which returns a non-void type, returns)awidthshow
333 126 gm
1.94335 0. 32 0.19433 0.(a parallel value of its established shape.  When not executing elementally, an)awidthshow
345 126 gm
(elemental function which returns a non-void type returns a non-parallel value.)show
369 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
369 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
392 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(shape [10] Shape;)show
403 162 gm
(int:Shape x, y;)show
425 162 gm
(elemental int f\(int a, int b\))show
425 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
436 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
({)show
447 162 gm
(   return\(a+b\);)show
458 162 gm
(})show
480 162 gm
(elemental int g\(int a\))show
480 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
491 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
({)show
502 162 gm
(   return\(f\(a,a\)\);)show
513 162 gm
(})show
535 162 gm
(f\(x,y\);)show
535 234 gm
0.44219 0. 32 0.04421 0.(/* Returns parallel int of shape Shape with sum)awidthshow
535 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
546 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(of active positions of x and y. */)show
557 162 gm
(f\(x,1\);)show
557 234 gm
0.44219 0. 32 0.04421 0.(/* Returns parallel int of shape Shape with sum)awidthshow
568 234 gm
(of 1 and active positions of x. */)show
579 162 gm
(f\(1,2\);)show
579 234 gm
(/* Returns int with sum of 1 and 2. */)show
590 162 gm
(g\(x\);)show
590 234 gm
2.63946 0. 32 0.26394 0.(/* Returns parallel int of shape Shape with)awidthshow
590 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
601 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
-0.00915 0.(values equal to two times the values of x in the)ashow
612 234 gm
(active positions. */)show
623 162 gm
(g\(1\);)show
623 234 gm
(/* Returns two times 1. */)show
645 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.2.3 Structure and union members)show
645 281 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.2.3, ANSI \2443.3.2.3])show
645 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
669 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
693 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.05661 0. 32 0.00566 0.(If the first operand of the )awidthshow
693 246 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(.)show
693 249 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.05371 0. 32 0.00537 0.( operator is of parallel type, the result is a parallel value of)awidthshow
705 126 gm
0.75424 0. 32 0.07542 0.(the same type as the member designated by the second operand; the value at each)awidthshow
705 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(55)show
F T cp
%%Page: ? 16
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 13 def

/wp$fpage (xiii) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(13)show
81 126 gm
0.55633 0. 32 0.05563 0.(position of the result is the designated member at the corresponding position of the)awidthshow
93 126 gm
(first operand.)show
117 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
129 65 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
141 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(shape [10]Shape;)show
152 162 gm
(struct Struct { int i; float f; };)show
163 162 gm
(struct Struct:Shape s;)show
174 162 gm
(struct Struct:Shape *p;)show
185 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
196 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(s.i)show
196 234 gm
1.00570 0. 32 0.10057 0.(/* Denotes a parallel int value whose elements)awidthshow
207 234 gm
4.80392 0. 32 0.48039 0.(are the corresponding int members of the)awidthshow
218 234 gm
(parallel struct s */)show
240 162 gm
(p->f)show
240 234 gm
-0.00915 0.(/* Denotes a parallel float value whose elements)ashow
240 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
251 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
3.52081 0. 32 0.35208 0.(are the corresponding float members of the)awidthshow
262 234 gm
(parallel struct pointed to by p */)show
285 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.2.4 Postfix increment and decrement operators)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.2.4, ANSI \2443.3.2.4])show
297 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
309 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Constraints)show
333 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.67306 0. 32 0.06730 0.(The operand of the postfix increment or decrement operator shall have qualified or)awidthshow
345 126 gm
(unqualified, parallel or nonparallel, scalar type and shall be a modifiable lvalue.)show
357 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
369 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
393 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.10772 0. 32 0.01077 0.(If the operand of the postfix increment or decrement operator is of parallel type, each)awidthshow
405 126 gm
(position of the parallel operand is incremented or decremented, respectively.)show
417 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
429 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
453 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(shape [10]Shape;)show
464 162 gm
(int:Shape x;)show
475 162 gm
(int:Shape y[20];)show
475 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
486 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(int:Shape *p = y;)show
486 270 gm
(/* p points to first element of y, y[0] */)show
508 162 gm
(x++;)show
508 234 gm
(/* Increments each element of x */)show
519 162 gm
(p++;)show
519 234 gm
2.93914 0. 32 0.29391 0.(/* Increments p to point to the next array)awidthshow
530 234 gm
2.93914 0. 32 0.29391 0.(element of y \(y[1]\), which happens to be a)awidthshow
530 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
541 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(parallel int. */)show
565 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.3 Unary Operators)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.3, ANSI \2443.3.3])show
589 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Syntax)show
589 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
613 162 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(unary-expression:)show
625 176 gm
(postfix-expression)show
637 176 gm
1 fs
bu fc
{}mark T /Courier-Bold /|______Courier-Bold 0 rf
bn
bu fc
2 F /|______Courier-Bold fnt
bn
(++)show
2 fs
bu fc
{}mark T /Courier-Oblique /|______Courier-Oblique 0 rf
bn
bu fc
2 F /|______Courier-Oblique fnt
bn
( )show
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(unary-expression)show
649 176 gm
1 fs
bu fc
2 F /|______Courier-Bold fnt
bn
(\320\320 )show
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(unary-expression)show
649 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
661 176 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(unary-operator cast-expression)show
673 176 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(sizeof )show
673 209 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(unary-expression)show
685 176 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(sizeof \( )show
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(type-name )show
685 265 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(\))show
697 176 gm
([)show
697 180 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
( expression )show
697 233 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(])show
697 237 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
697 240 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(postfix-expression)show
709 176 gm
(reduction-operator postfix-expression)show
709 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(55)show
F T cp
%%Page: ? 17
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 14 def

/wp$fpage (xiv) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(14)show
93 162 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(reduction-operator:)show
93 250 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(  one of)show
105 198 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(+=)show
105 234 gm
(\320=)show
107 270 gm
(*)show
0 -2 rm
(=)show
105 306 gm
(/=)show
118 198 gm
(&=)show
118 234 gm
(^=)show
118 270 gm
(|=)show
130 198 gm
(<?=)show
130 234 gm
(>?=)show
130 65 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
154 90 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.3.1 Prefix increment and decrement operators)show
154 346 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.3.1, ANSI \2443.3.3.1])show
178 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Constraints)show
190 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
202 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.88027 0. 32 0.08802 0.(The operand of the prefix increment or decrement operator shall have qualified or)awidthshow
214 126 gm
(unqualified, parallel or nonparallel, scalar type and shall be a modifiable lvalue.)show
238 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
250 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
262 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.28945 0. 32 0.02894 0.(If the operand of the prefix increment or decrement operator is of parallel type, each)awidthshow
274 126 gm
(position of the parallel operand is incremented or decremented, respectively.)show
298 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
310 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
322 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(shape [10]Shape;)show
333 162 gm
(int:Shape x;)show
344 162 gm
(int:Shape y[20];)show
344 306 gm
(/* An array of parallel ints */)show
355 162 gm
(int:Shape *p = &x;)show
355 306 gm
(/* Pointer to the parallel int x */)show
366 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
377 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(--x;)show
377 234 gm
(/* Every element of x is decremented */)show
388 162 gm
(--y[10];)show
388 234 gm
(/* Every element of y[10] is decremented */)show
399 162 gm
(--\(*p\);)show
399 234 gm
(/* Every element of x is decremented */)show
422 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.3.2 Address and indirection operators)show
422 303 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.3.2, ANSI \2443.3.3.2])show
422 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
446 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Constraints)show
470 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(A parallel-indexed expression may not be the operand of )show
470 389 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(&)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(.)show
482 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
494 144 gm
10 fz
bu fc
2 F /|______Helvetica fnt
bn
(You cannot take the address of an element of a parallel operand.)show
517 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
541 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.18774 0. 32 0.11877 0.(The application of )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(&)show
541 227 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.42166 0. 32 0.14216 0.( to a parallel lvalue produces a pointer to that lvalue.  The)awidthshow
541 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
553 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(application of )show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(&)show
553 200 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( to a shape produces a pointer to that shape.)show
577 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
601 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(shape [10]Shape;)show
601 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
612 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(shape *sp;)show
623 162 gm
(int:Shape x;)show
634 162 gm
(int:Shape *p;)show
645 162 gm
(int:Shape y[20];)show
656 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
667 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(sp = &Shape;)show
678 162 gm
(p = &x;)show
689 162 gm
2.84347 0. 32 0.28434 0.(p = y;)awidthshow
689 234 gm
2.52197 0. 32 0.25219 0.(/* Since y is an array, it is coerced to a)awidthshow
700 234 gm
1.77169 0. 32 0.17716 0.(pointer.  Here it is a pointer to a parallel)awidthshow
711 234 gm
(object. */)show
711 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(55)show
F T cp
%%Page: ? 18
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 15 def

/wp$fpage (xv) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(15)show
93 126 gm
(<<Add examples for parallel pointers.>>)show
117 126 gm
0.12649 0. 32 0.01264 0.(The result of the )awidthshow
0 2 rm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(*)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
117 214 gm
0.10009 0. 32 0.01000 0.(operator applied to a pointer to parallel type produces the value of)awidthshow
130 126 gm
0.14083 0. 32 0.01408 0.(the parallel type.  The result of the )awidthshow
132 292 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.13229 0.(*)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
130 300 gm
0.12954 0. 32 0.01295 0.( operator applied to a pointer to shape produces)awidthshow
130 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
143 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(the shape.)show
167 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
191 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(shape [10]Shape;)show
191 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
202 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(shape *sptr = &Shape;)show
213 162 gm
(int:Shape x;)show
224 162 gm
(int:Shape *ptr = &x;)show
246 162 gm
(*sptr)show
246 234 gm
-0.00915 0.(/* Denotes the shape pointed to by sptr; in this)ashow
246 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
257 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(case Shape */)show
268 162 gm
(*ptr)show
268 234 gm
(/* Denotes the parallel int value x */)show
290 126 gm
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(<< Need to include examples for parallel pointers.>>)show
302 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
314 90 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.3.3 Unary arithmetic operators)show
314 268 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.3.3, ANSI \2443.3.3.3])show
338 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
362 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.26947 0. 32 0.02694 0.(If the operand of a unary arithmetic operator is of parallel type, the result is a value)awidthshow
362 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
374 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.60043 0. 32 0.06004 0.(of the parallel type, where the value at each position of the result is determined by)awidthshow
386 126 gm
(applying the operator to the operand's value at the corresponding position.)show
410 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Example)show
422 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
434 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(float:Shape f;)show
456 162 gm
(\320f)show
456 234 gm
-0.00915 0.(/* Denotes a parallel float value whose value at)ashow
467 234 gm
1.41662 0. 32 0.14166 0.(each position is the negation of the value at)awidthshow
478 234 gm
(the corresponding position of f */)show
478 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
500 90 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.3.4 The sizeof operator)show
500 225 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.3.4, ANSI \2443.3.3.4])show
524 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
536 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
548 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.23406 0. 32 0.02340 0.(The result of the )awidthshow
548 207 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(sizeof)show
548 237 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.21881 0. 32 0.02188 0.( operator applied to a parallel type or a value of parallel type)awidthshow
560 126 gm
0.75241 0. 32 0.07524 0.(is the size of the element type; it reflects the storage requirements for an element,)awidthshow
572 126 gm
-0.01116 0.(including possible alignment constraints.  Hence, it may not be the same as the result)ashow
584 126 gm
(of )show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(sizeof)show
584 167 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( applied to its nonparallel counterpart.)show
596 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
608 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Example)show
632 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(shape [10]Shape;)show
643 162 gm
(int:Shape *ap;)show
654 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
665 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(/* Allocate an array of 10 parallel ints of shape Shape */)show
676 162 gm
(ap = \(int:Shape *\)malloc\(sizeof\(int:Shape\) * 10\);)show
698 162 gm
(/* Assign elements of the array, which are parallel ints */)show
709 162 gm
(ap[0] = 0;)show
709 234 gm
(/* All elements of parallel int are set to 0*/)show
709 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(55)show
F T cp
%%Page: ? 19
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 16 def

/wp$fpage (xvi) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(16)show
81 162 gm
bu fc
2 F /|______Courier fnt
bn
(ap[1] = 1;)show
104 126 gm
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.07980 0. 32 0.00798 0.(The result of the )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.03474 0.(sizeof)ashow
104 236 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.10192 0. 32 0.01019 0.( operator applied to an array of parallel typed elements is the)awidthshow
116 126 gm
(product of the array length and the )show
116 292 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(sizeof)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( operator applied to the element type.)show
128 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
140 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Example)show
164 162 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(shape [100]Shape;)show
176 162 gm
(int:Shape x[10];)show
188 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
200 162 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(sizeof\(x\))show
200 234 gm
(/* 10 times the sizeof\(int:Shape\) */)show
224 126 gm
0.47546 0. 32 0.04754 0.(The result of the )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.20692 0.(sizeof)ashow
224 239 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.62850 0. 32 0.06285 0.( operator applied to a shape or object of parallel type is the)awidthshow
236 126 gm
(number of bytes in an object of that shape.)show
248 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
260 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Example)show
284 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(shape *Sptr;)show
295 162 gm
(shape [10]Shape;)show
306 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
317 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(Sptr = \(shape *\) malloc\(sizeof\(shape\)\);)show
339 162 gm
(sizeof\(Shape\))show
339 270 gm
(/* Denotes the size of the shape object)show
350 270 gm
(Shape */)show
361 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
383 90 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.3.5 Parallel indexing)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([)show
9 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(NEW)show
383 245 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(])show
407 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Constraints)show
419 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
431 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(The index expression shall be of integral or parallel integral type.)show
455 126 gm
0.35980 0. 32 0.03598 0.(If the index is of parallel integral type, the shape of the index object need not be the)awidthshow
467 126 gm
(same as the shape of the object being indexed.)show
479 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
491 144 gm
10 fz
bu fc
2 F /|______Helvetica fnt
bn
0.76538 0. 32 0.07653 0.(This is an exception to the general rule that parallel operands to binary operations)awidthshow
502 144 gm
(must have the same shape.)show
525 126 gm
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.09094 0. 32 0.00909 0.(<<Not necessarily indexing an lvalue; could be indexing an rvalue.  Need some words)awidthshow
537 126 gm
(about that here?>>)show
537 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
561 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
585 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(<<TBS:  need to specify semantics and provide examples.)show
585 390 gm
(>>)show
597 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
609 90 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.3.6 Unary reduction operators)show
609 264 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([)show
9 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(NEW)show
609 295 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(])show
633 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Constraints)show
657 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.98129 0. 32 0.09812 0.(Unary )awidthshow
657 160 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.60377 0.(+=)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.46142 0. 32 0.04614 0.(, )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.55099 0.(\320=)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.46142 0. 32 0.04614 0.(, )awidthshow
0 2 rm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.49819 0.(*)ashow
0 -2 rm
0.60377 0.(=)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.78933 0. 32 0.07893 0.(,  and )awidthshow
657 241 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(/=)show
657 250 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.90118 0. 32 0.09011 0.( require their operands to be of parallel arithmetic type.)awidthshow
657 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
670 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.45913 0. 32 0.04591 0.(Unary )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.33053 0.(&=)ashow
670 174 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.96817 0. 32 0.09681 0.(, )awidthshow
670 181 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.34091 0.(^=)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.57922 0. 32 0.05792 0.(, and )awidthshow
670 221 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.24548 0.(|=)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.65628 0. 32 0.06562 0.( require their operand to be of parallel integral type.  Unary)awidthshow
682 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(<?=)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( and )show
682 166 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(>?=)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( require their operand to be of parallel scalar type.)show
706 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
F T cp
%%Page: ? 20
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 17 def

/wp$fpage (xvii) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(17)show
93 162 gm
bu fc
2 F /|______Courier fnt
bn
(shape [1000]Shape;)show
104 162 gm
(int:Shape x;)show
115 162 gm
(int result;)show
126 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
137 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
0.38787 0. 32 0.03878 0.(result = +=x;)awidthshow
137 270 gm
0.42785 0. 32 0.04278 0.(/* Assign result to be the sum of all the)awidthshow
148 270 gm
(elements of x */)show
159 162 gm
0.48233 0. 32 0.04823 0.(result = <?=x;)awidthshow
159 270 gm
0.50552 0. 32 0.05055 0.(/* Assign result to be the minimum valued)awidthshow
170 270 gm
(element of x */)show
181 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
193 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(<< Need to add rationale)show
193 241 gm
(.>>)show
218 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.4 Cast Operators)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.4, ANSI \2443.3.4])show
242 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
242 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
266 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.19363 0. 32 0.01936 0.(If the type name specifies a parallel type and the operand is also of parallel type, the)awidthshow
278 126 gm
1.89086 0. 32 0.18908 0.(result is a parallel value where the value at each position is the result of the)awidthshow
290 126 gm
0.71411 0. 32 0.07141 0.(conversion \(if any\) represented by a cast to the nonparallel type counterpart of the)awidthshow
302 126 gm
0.74966 0. 32 0.07496 0.(type name.  The shape of the parallel type and the operand must be the same; the)awidthshow
302 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
314 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(result is undefined if they are not the same shape.)show
338 126 gm
0.36941 0. 32 0.03694 0.(If the type name specifies a parallel type and the operand is of nonparallel type, the)awidthshow
350 126 gm
0.23971 0. 32 0.02397 0.(result is a parallel value of the same shape as the parallel type that has the operand)awidthshow
362 126 gm
(value replicated and converted as indicated at each position.)show
362 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
386 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.36941 0. 32 0.03694 0.(If the type name specifies a nonparallel type and the operand is of parallel type, the)awidthshow
398 126 gm
1.44500 0. 32 0.14450 0.(result is to arbitrarily select an element of the operand and apply the indicated)awidthshow
410 126 gm
(conversion to the selected element.)show
422 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
434 144 gm
10 fz
bu fc
2 F /|______Helvetica fnt
bn
0.64254 0. 32 0.06425 0.(Note that \322arbitrarily\323 means, \322not guaranteed to be deterministic or reproducible or)awidthshow
445 144 gm
(random.\323)show
468 126 gm
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(<<Need to add examples)show
468 240 gm
(.>>)show
480 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
493 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.5 Multiplicative Operators)show
493 276 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.5, ANSI \2443.3.5])show
517 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Syntax)show
541 162 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(multiplicative-expression:)show
541 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
553 176 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(cast-expression)show
565 176 gm
(multiplicative-expression )show
567 294 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(* )show
565 302 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(cast-expression)show
578 176 gm
(multiplicative-expression )show
578 294 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(/ )show
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(cast-expression)show
590 176 gm
(multiplicative-expression )show
590 294 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(%)show
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
( cast-expression)show
602 176 gm
(multiplicative-expression )show
602 294 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(%% )show
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(cast-expression)show
602 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
626 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
650 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.25457 0. 32 0.12545 0.(The result of the )awidthshow
650 213 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.51145 0.(%%)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.05331 0. 32 0.10533 0.( \(modulus\) operator is the remainder on division of the first)awidthshow
662 126 gm
0.06393 0. 32 0.00639 0.(operand by the second, but unlike the )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(%)show
662 312 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.06866 0. 32 0.00686 0.( operator, the result has the same sign as the)awidthshow
662 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
674 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.53359 0. 32 0.05335 0.(first operand.  The modulus operator evaluates the following formula to compute \322a)awidthshow
686 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(%%)show
686 143 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( b\323:)show
710 162 gm
bu fc
2 F /|______Courier fnt
bn
(a \320 \(b * floor\( a / b\)\))show
F T cp
%%Page: ? 21
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 18 def

/wp$fpage (xviii) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(18)show
93 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
117 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(shape [10][20]Shape;)show
128 162 gm
(float:Shape f;)show
128 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
139 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(int:Shape i;)show
161 162 gm
-0.02940 0.(f * 2)ashow
161 234 gm
-0.00915 0.(/* Denotes a parallel float value whose value at)ashow
172 234 gm
3.46343 0. 32 0.34634 0.(each position is 2 times the value at the)awidthshow
183 234 gm
1.91574 0. 32 0.19157 0.(corresponding position of f .  Note that the)awidthshow
183 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
194 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
2.63946 0. 32 0.26394 0.(nonparallel operand 2 will be promoted to a)awidthshow
205 234 gm
-0.00915 0.(parallel int value of shape Shape whose value at)ashow
216 234 gm
0.92529 0. 32 0.09252 0.(each position will be 2.  The usual arithmetic)awidthshow
227 234 gm
-0.00915 0.(conversions will be applied to this parallel int)ashow
238 234 gm
0.92529 0. 32 0.09252 0.(value to convert it to a parallel float value.)awidthshow
238 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
249 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(*/)show
271 162 gm
1.15356 0. 32 0.11535 0.(i %% 2)awidthshow
271 234 gm
0.92529 0. 32 0.09252 0.(/* Denotes a parallel int value of shape Shape)awidthshow
282 234 gm
-0.00915 0.(whose value at each position is the true modulus)ashow
293 234 gm
4.15618 0. 32 0.41561 0.(resulting from dividing the values at the)awidthshow
293 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
304 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(corresponding positions of i by 2. */)show
328 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.6 Additive Operators)show
328 241 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.6, ANSI \2443.3.6])show
352 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
352 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
376 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(shape [10][20]Shape;)show
387 162 gm
(float:Shape f;)show
398 162 gm
(double:Shape g;)show
409 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
420 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
1.37207 0. 32 0.13720 0.(f \320 g)awidthshow
420 234 gm
1.00570 0. 32 0.10057 0.(/* Denotes a parallel double value whose value)awidthshow
431 234 gm
0.44219 0. 32 0.04421 0.(at each position is the difference of the value)awidthshow
442 234 gm
2.42309 0. 32 0.24230 0.(at the corresponding position of f  and the)awidthshow
453 234 gm
0.44219 0. 32 0.04421 0.(value at the corresponding position of g.  Note)awidthshow
464 234 gm
2.52197 0. 32 0.25219 0.(that the value of f  will be promoted to a)awidthshow
464 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
475 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
2.63946 0. 32 0.26394 0.(parallel double value of shape Shape by the)awidthshow
486 234 gm
0.57983 0. 32 0.05798 0.(usual arithmetic conversions prior to computing)awidthshow
497 234 gm
(the difference between f and g.*/)show
519 126 gm
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(<<Need example for pointers to shapes.>>)show
519 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
544 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.7 Bitwise Shift Operators)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.7, ANSI \2443.3.7])show
569 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Example)show
581 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
593 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(shape [100]Shape;)show
604 162 gm
(int:Shape  bits;)show
626 162 gm
(bits >> 2)show
626 234 gm
(/* Denotes a parallel int value of shape Shape)show
637 234 gm
(whose value at each position is the value at the)show
637 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
648 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
0.00640 0. 32 0.00064 0.(corresponding position of bits shifted right )awidthshow
659 234 gm
(by2. */)show
683 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.8 Relational Operators)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.8, ANSI \2443.3.8])show
695 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(55)show
707 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Syntax)show
F T cp
%%Page: ? 22
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 19 def

/wp$fpage (xix) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(19)show
93 162 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(relational-expression:)show
105 176 gm
(shift-expression)show
117 176 gm
(relational-expression )show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(< )show
117 283 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(shift-expression)show
129 176 gm
(relational-expression )show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(>)show
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
( shiftexpression)show
129 65 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
141 176 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(relational-expression )show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(<= )show
141 289 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(shiftexpression)show
153 176 gm
(relational-expression )show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(>= )show
153 289 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(shift-expression)show
165 176 gm
(relational-expression )show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(<? )show
165 288 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(shift-expression)show
177 176 gm
(relational-expression )show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(>? )show
177 288 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(shift-expression)show
189 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
201 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
225 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(shape [100]Shape;)show
236 162 gm
(int:Shape x, y;)show
247 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
258 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
1.20101 0. 32 0.12010 0.(x > 0)awidthshow
258 234 gm
0.92529 0. 32 0.09252 0.(/* Denotes a parallel int value of shape Shape)awidthshow
269 234 gm
-0.00915 0.(whose value at each position is the result \(0 or)ashow
280 234 gm
-0.00915 0.(1\) of the > operator applied to the value at the)ashow
291 234 gm
(corresponding position of x and 0. */)show
302 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
313 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
1.15356 0. 32 0.11535 0.(x <? y)awidthshow
313 234 gm
0.92529 0. 32 0.09252 0.(/* Denotes a parallel int value of shape Shape)awidthshow
324 234 gm
0.92529 0. 32 0.09252 0.(whose value at each position is the minimum of)awidthshow
335 234 gm
1.00570 0. 32 0.10057 0.(the values at the corresponding positions of x)awidthshow
346 234 gm
(and y. */)show
357 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
370 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.9 Equality Operators)show
370 241 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.9, ANSI \2443.3.9])show
394 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Example)show
418 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(shape [100][100]Shape;)show
418 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
429 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(float:Shape x, y;)show
451 162 gm
1.15356 0. 32 0.11535 0.(x == y)awidthshow
451 234 gm
0.92529 0. 32 0.09252 0.(/* Denotes a parallel int value of shape Shape)awidthshow
462 234 gm
-0.00915 0.(whose value at each position is the result \(0 or)ashow
473 234 gm
0.85678 0. 32 0.08567 0.(1\) of the == operator applied to the values at)awidthshow
473 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
484 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(the corresponding positions of x and y. */)show
507 126 gm
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.22955 0. 32 0.12295 0.(<<Add examples/words for comparing shapes, pointers to shapes, and pointers to)awidthshow
519 126 gm
(parallel objects.>>)show
531 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
544 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.10 Bitwise AND Operator)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.10, ANSI \2443.3.10])show
568 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Example)show
592 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(shape [1000]Shape;)show
592 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
603 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(int:Shape x;)show
625 162 gm
1.06903 0. 32 0.10690 0.(x & 0x01)awidthshow
625 234 gm
0.92529 0. 32 0.09252 0.(/* Denotes a parallel int value of shape Shape)awidthshow
636 234 gm
1.41662 0. 32 0.14166 0.(whose value at each position is the result of)awidthshow
647 234 gm
2.42309 0. 32 0.24230 0.(the & operator applied to the values at the)awidthshow
647 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
658 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
0.44219 0. 32 0.04421 0.(corresponding positions of x  and 0x01.  Hence,)awidthshow
669 234 gm
1.77169 0. 32 0.17716 0.(the value at each position is 1 if the least)awidthshow
680 234 gm
0.40924 0. 32 0.04092 0.(significant bit of x at that position is 1, and)awidthshow
691 234 gm
(0 otherwise. */)show
702 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(55)show
715 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.11 Bitwise Exclusive OR Operator)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.11, ANSI \2443.3.11])show
F T cp
%%Page: ? 23
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 20 def

/wp$fpage (xx) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(20)show
93 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Example)show
117 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(shape [20][20]Shape;)show
128 162 gm
(int:Shape x, y;)show
128 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
150 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
1.20101 0. 32 0.12010 0.(x ^ y)awidthshow
150 234 gm
0.92529 0. 32 0.09252 0.(/* Denotes a parallel int value of shape Shape)awidthshow
161 234 gm
1.41662 0. 32 0.14166 0.(whose value at each position is the result of)awidthshow
172 234 gm
2.42309 0. 32 0.24230 0.(the ^ operator applied to the values at the)awidthshow
183 234 gm
(corresponding positions of x and y. */)show
183 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
206 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.12 Bitwise Inclusive OR Operator)show
206 318 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.12, ANSI \2443.3.12])show
230 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Example)show
242 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
254 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(shape [20][20]Shape;)show
265 162 gm
(int:Shape x, y;)show
287 162 gm
1.20101 0. 32 0.12010 0.(x | y)awidthshow
287 234 gm
0.92529 0. 32 0.09252 0.(/* Denotes a parallel int value of shape Shape)awidthshow
298 234 gm
1.41662 0. 32 0.14166 0.(whose value at each position is the result of)awidthshow
298 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
309 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
2.42309 0. 32 0.24230 0.(the | operator applied to the values at the)awidthshow
320 234 gm
(corresponding positions of x and y. */)show
344 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.13 Logical AND Operator)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.13, ANSI \2443.3.13])show
356 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
368 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
392 126 gm
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
22.03369 ul
(Add:)show
416 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.34881 0. 32 0.03488 0.(If  one of the operands is parallel, after the normal promotions have been performed)awidthshow
416 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
428 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
2.53173 0. 32 0.25317 0.(\(see \2443.2.3\), the first operand \(LHS\) is evaluated to determine a context for)awidthshow
440 126 gm
0.76293 0. 32 0.07629 0.(evaluating the second operand \(RHS\), and the second operand is evaluated only in)awidthshow
452 126 gm
0.56991 0. 32 0.05699 0.(the positions indicated by  this context.  The result is a parallel value which is 1 in)awidthshow
464 126 gm
0.58563 0. 32 0.05856 0.(those positions for which the values in the corresponding positions of both the LHS)awidthshow
476 126 gm
(and RHS are non-zero, and 0 in all other positions.)show
476 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
500 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Example)show
524 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(shape [10][10][100]Shape;)show
535 162 gm
(int:Shape x, y;)show
535 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
557 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
1.15356 0. 32 0.11535 0.(x && y)awidthshow
557 234 gm
0.92529 0. 32 0.09252 0.(/* Denotes a parallel int value of shape Shape)awidthshow
568 234 gm
-0.00915 0.(whose value at each position is the result \(0 or)ashow
579 234 gm
0.40924 0. 32 0.04092 0.(1\) of applying the && operator to the values at)awidthshow
590 234 gm
1.41662 0. 32 0.14166 0.(the corresponding positions of x and y.  Note)awidthshow
590 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
601 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
-0.00915 0.(that the && operator does not require evaluation)ashow
612 234 gm
0.92529 0. 32 0.09252 0.(of its second operand if its first operand has)awidthshow
623 234 gm
(value 0. */)show
647 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.14 Logical OR Operator)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.14, ANSI \2443.3.14])show
647 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
671 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
695 126 gm
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
22.03369 ul
(Add:)show
707 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(55)show
F T cp
%%Page: ? 24
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 21 def

/wp$fpage (xxi) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(21)show
81 126 gm
0.34881 0. 32 0.03488 0.(If  one of the operands is parallel, after the normal promotions have been performed)awidthshow
93 126 gm
2.53173 0. 32 0.25317 0.(\(see \2443.2.3\), the first operand \(LHS\) is evaluated to determine a context for)awidthshow
105 126 gm
0.76293 0. 32 0.07629 0.(evaluating the second operand \(RHS\), and the second operand is evaluated only in)awidthshow
117 126 gm
0.56991 0. 32 0.05699 0.(the positions indicated by  this context.  The result is a parallel value which is 0 in)awidthshow
129 126 gm
0.58563 0. 32 0.05856 0.(those positions for which the values in the corresponding positions of both the LHS)awidthshow
129 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
141 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(and RHS are 0, and 1 in all other positions.)show
165 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Example)show
189 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(shape [10][10][100]Shape;)show
189 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
200 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(int:Shape x, y;)show
222 162 gm
1.15356 0. 32 0.11535 0.(x || y)awidthshow
222 234 gm
0.92529 0. 32 0.09252 0.(/* Denotes a parallel int value of shape Shape)awidthshow
233 234 gm
-0.00915 0.(whose value at each position is the result \(0 or)ashow
244 234 gm
0.40924 0. 32 0.04092 0.(1\) of applying the || operator to the values at)awidthshow
244 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
255 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
1.41662 0. 32 0.14166 0.(the corresponding positions of x and y.  Note)awidthshow
266 234 gm
-0.00915 0.(that the || operator does not require evaluation)ashow
277 234 gm
0.92529 0. 32 0.09252 0.(of its second operand if its first operand has)awidthshow
288 234 gm
(value 1. */)show
299 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
312 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.15 Conditional Operator)show
312 261 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.15, ANSI \2443.3.15])show
336 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Example)show
360 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(shape [100]Shape;)show
360 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
371 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(int:Shape x;)show
382 162 gm
(int y, z;)show
404 162 gm
(x < 0 ? \320x : x)show
415 234 gm
0.92529 0. 32 0.09252 0.(/* Denotes a parallel int value whose value at)awidthshow
415 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
426 234 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
7.53189 0. 32 0.75318 0.(each position is the absolute of the)awidthshow
437 234 gm
0.44219 0. 32 0.04421 0.(corresponding value at each postion of x.  Note)awidthshow
448 234 gm
1.00570 0. 32 0.10057 0.(that both the true and false parallel operands)awidthshow
459 234 gm
(will be evaluated at each position. */)show
470 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
481 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(x < y  ? x : z)show
492 234 gm
0.92529 0. 32 0.09252 0.(/* Denotes a parallel int value whose value at)awidthshow
503 234 gm
0.47988 0. 32 0.04798 0.(each position is the value at the corresponding)awidthshow
514 234 gm
1.21994 0. 32 0.12199 0.(value of x, if that value is less than y, and)awidthshow
525 234 gm
(otherwise z. */)show
525 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
547 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.54534 0. 32 0.05453 0.(<<Need to explain contextualization of second and third subexpressions by the first)awidthshow
559 126 gm
(subexpression.>>)show
584 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.16 Assignment Operators)show
584 266 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.1, ANSI \2443.3.16])show
584 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
608 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Syntax)show
632 162 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(assignment-expression:)show
644 176 gm
(conditional-expression)show
644 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
656 176 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(unary-expression assignment-operator assignment-expression)show
680 162 gm
(assignment-operator:)show
680 259 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(  one of)show
692 198 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(=)show
692 234 gm
(*=)show
692 270 gm
(/=)show
692 306 gm
(%=)show
692 342 gm
(%%=)show
692 378 gm
(+=)show
692 414 gm
(\320=)show
704 198 gm
(<<=)show
704 234 gm
(>>=)show
704 270 gm
(&=)show
704 306 gm
(^=)show
704 342 gm
(|=)show
704 378 gm
(<?=)show
704 414 gm
(>?=)show
704 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(55)show
F T cp
%%Page: ? 25
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 22 def

/wp$fpage (xxii) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(22)show
81 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Constraints)show
105 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.41052 0. 32 0.14105 0.(The assignment operators )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.38177 0.(=)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.23864 0. 32 0.02386 0.(,  )awidthshow
105 272 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.62501 0.(%=)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.43884 0. 32 0.04388 0.(, )awidthshow
105 294 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.46409 0.(%%=)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.30960 0. 32 0.03096 0.(, )awidthshow
105 324 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.45713 0.(<<=)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.74691 0. 32 0.07469 0.(, and )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.45713 0.(>>=)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.06719 0. 32 0.10671 0.( cannot be used with a left)awidthshow
117 126 gm
(operand that is nonparallel and a right operand that is parallel.)show
129 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
141 90 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.16.1 Simple assignment)show
141 226 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.16.1, ANSI \2443.3.16.1])show
165 126 gm
0.16403 0. 32 0.01640 0.(If the left operand is of parallel type and the right operand is of nonparallel type, the)awidthshow
177 126 gm
0.54489 0. 32 0.05448 0.(value of  the right operand is replicated to form a parallel value before assignment,)awidthshow
189 126 gm
(including any necessary type conversions, is performed.)show
189 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
213 90 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.16.2 Compound assignment)show
213 248 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.16.2, ANSI \2443.3.16.2])show
237 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
249 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
261 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
2.26608 0. 32 0.22660 0.(<<Add examples and rationale of parallel-to-nonparallel reduction assignment)awidthshow
273 126 gm
(operators)show
273 170 gm
2.30285 0. 32 0.23028 0.(.  Need to be able to specify on which dimension\(s\) the reduction is)awidthshow
285 126 gm
(performed. >>)show
310 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.3.17 Comma Operator)show
310 234 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.3.17, ANSI \2443.3.17])show
310 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
334 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Example)show
358 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(shape [10][10]Shape;)show
369 162 gm
(int:Shape x;)show
369 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
391 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
-0.01252 0.(x++, x)ashow
391 234 gm
-0.00915 0.(/* Denotes the parallel int value represented by)ashow
402 234 gm
(x after it has been postincremented. */)show
424 162 gm
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(<<Need a better example!!>>)show
424 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
455 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.4)show
455 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(CONSTANT EXPRESSIONS)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.4, ANSI \2443.4])show
480 126 gm
(<< TBS:   needs to be modified for  parallel constant expressions.>>)show
492 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
507 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.5)show
507 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(DECLARATIONS)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.5, ANSI \2443.5])show
532 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Syntax)show
556 162 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(declaration:)show
556 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
568 198 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(declaration-specifiers init-declarator-list)show
0 2 rm
(opt )show
0 -2 rm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(;)show
593 162 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(declaration-specifiers:)show
605 198 gm
(storage-class-specifier shape-specifier)show
0 2 rm
(opt)show
0 -2 rm
( declaration-specifiers)show
607 483 gm
(opt)show
618 198 gm
(type-specifier shape-specifier)show
0 2 rm
(opt)show
0 -2 rm
( declaration-specifers)show
0 2 rm
(opt)show
618 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
631 198 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(type-qualifier shape-specifier)show
0 2 rm
(opt)show
0 -2 rm
(  declaration-specifiers)show
0 2 rm
(opt)show
656 162 gm
(shape-specifier:)show
668 198 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(: )show
668 204 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(shape-expression)show
680 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
692 162 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(shape-expression:)show
704 198 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(shapeof)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
704 241 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(\( )show
704 248 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(assignment-expression)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
704 354 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(\))show
716 198 gm
(\()show
716 202 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(expression)show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
( \))show
F T cp
%%Page: ? 26
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 23 def

/wp$fpage (xxiii) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(23)show
81 198 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(identifier)show
93 198 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(physical)show
105 198 gm
(void)show
129 126 gm
(Constraints)show
129 65 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
153 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.79544 0. 32 0.07954 0.(Shape expressions of the form )awidthshow
153 274 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.09043 0.(\()ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.05874 0. 32 0.00587 0.( )awidthshow
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
0.12239 0.(expression)ashow
153 329 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.47607 0. 32 0.04760 0.( )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(\))show
153 337 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.76141 0. 32 0.07614 0.( used in file scope declarations require)awidthshow
165 126 gm
0.51208 0. 32 0.05120 0.(that )awidthshow
165 149 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
0.35842 0. 32 0.03584 0.(expression )awidthshow
165 200 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.12817 0. 32 0.01281 0.( be a )awidthshow
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
0.09384 0.(constant-expression)ashow
165 316 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.46615 0. 32 0.04661 0.(.  Only one shape specification can be given)awidthshow
177 126 gm
(per declaration.)show
189 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
201 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
225 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.12893 0. 32 0.01289 0.(A shape specification does not apply to the declaration specifier that it is attached to,)awidthshow
237 126 gm
(rather it applies to the whole encompassing declaration.)show
249 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
261 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.26144 0. 32 0.12614 0.(<<Need to specify what each combination means, or add more constraints??  For)awidthshow
273 126 gm
(example:)show
297 162 gm
bu fc
2 F /|______Courier fnt
bn
(shape [10]Shape;)show
308 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
319 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(typedef:Shape a;)show
319 342 gm
(/* ?? */)show
330 162 gm
(extern:Shape b;)show
330 342 gm
(/* ?? */)show
341 162 gm
(static:Shape c;)show
341 342 gm
(/* ?? */)show
352 162 gm
(auto:Shape d;)show
352 342 gm
(/* ?? */)show
363 162 gm
(register:Shape e;)show
363 342 gm
(/* ?? */)show
363 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
374 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(volatile:Shape f;)show
374 342 gm
(/* ?? */)show
396 162 gm
(int:Shape g; )show
396 306 gm
( )show
396 342 gm
(/* parallel int declaration */)show
407 162 gm
(short:Shape int:Shape h; )show
407 342 gm
(/* constraint violation */)show
418 162 gm
(void:void generic;)show
418 342 gm
(/* generic parallel object */)show
418 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
429 126 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(>>)show
453 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.5.2 Type Specifiers)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.5.2, ANSI \2443.5.2])show
477 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Syntax)show
477 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
501 126 gm
6 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
99.93652 ul
(Add to type specifiers:)show
525 162 gm
2 fs
(type-specifier:)show
537 198 gm
(...)show
537 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
549 198 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(shape-type-specifier)show
573 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Constraints)show
597 126 gm
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
131.95312 ul
(Add to the type specifier sets:)show
597 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
621 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(\245 shape-type-specifier)show
645 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.5.2.4 Shape type specifiers)show
645 235 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([)show
9 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(NEW)show
645 266 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(])show
657 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
669 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Syntax)show
693 162 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(shape-type-specifier:)show
705 198 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(shape)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
705 231 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(rank-and-layout-list)show
0 2 rm
(opt)show
F T cp
%%Page: ? 27
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 24 def

/wp$fpage (xxiv) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(24)show
93 162 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(rank-and-layout-list:)show
105 198 gm
(rank-and-layout-specifier rank-and-layout-list)show
0 2 rm
(opt)show
130 162 gm
(rank-and-layout-specifier:)show
130 65 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
142 198 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
([ )show
142 205 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(constant-expression)show
0 2 rm
(opt)show
0 -2 rm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(  )show
142 314 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(])show
155 198 gm
([ )show
155 205 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(constant-expression  )show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(block)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
155 331 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(\()show
155 335 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
155 338 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(constant-expression)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(  )show
155 433 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(\) ])show
167 198 gm
([ )show
167 205 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(constant-expression  )show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(scale )show
167 329 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(\()show
167 335 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
167 338 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(constant-expression)show
167 428 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(  )show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(\) ])show
191 126 gm
(Constraints)show
191 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
215 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.17446 0. 32 0.11744 0.(The expression used to specify the rank or layout of a shape shall be an integral)awidthshow
227 126 gm
1.53152 0. 32 0.15315 0.(constant expression having a value greater than zero.  If any )awidthshow
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
0.48617 0.(rank-and-layout-)ashow
239 126 gm
(specifier)show
239 164 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.36224 0. 32 0.03622 0.(  in the list specifies a dimension, all the specifiers in the list must specify a)awidthshow
251 126 gm
(dimension.)show
251 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
275 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
299 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.43753 0. 32 0.14375 0.(As discussed in \2443.1.2.5, a shape is a type whose values consist of the following)awidthshow
311 126 gm
2.76672 0. 32 0.27667 0.(components:  rank, dimensions, context, and layout.  A shape may be fully)awidthshow
311 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
323 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(unspecified, partially specified, or fully specified, depending on the rank and type.)show
347 126 gm
0.28350 0. 32 0.02835 0.(The )awidthshow
347 147 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.08137 0.(block)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.13732 0. 32 0.01373 0.( and )awidthshow
347 199 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(scale)show
347 225 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.21392 0. 32 0.02139 0.( specifiers determine the layout or data distribution for parallel)awidthshow
359 126 gm
1.88171 0. 32 0.18817 0.(operands declared with the shape.  The )awidthshow
359 331 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.56898 0.(block)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.56738 0. 32 0.15673 0.( specifier indicates data is to be)awidthshow
371 126 gm
0.20080 0. 32 0.02008 0.(distributed in blocks of the indicated size, and the )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.07981 0.(scale)ashow
371 388 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.20553 0. 32 0.02055 0.( specifier indicates that data)awidthshow
371 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
383 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
-0.01091 0.(is to be evenly distributed across memory partitions, with each partition receiving the)ashow
395 126 gm
0.34408 0. 32 0.03440 0.(indicated number of blocks, if the shape is multi-dimensional, or with each partition)awidthshow
407 126 gm
(receiving a single block, if the shape is one-dimensional.  <<Needs more work!!>>)show
431 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
431 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
455 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(<<Need to add examples with block and scale.>>)show
492 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.5.3 Type Qualifiers)show
492 218 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.5.3, ANSI \2443.5.3])show
492 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
517 126 gm
6 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
22.03369 ul
(Add )show
7 fs
bu fc
{}mark T /NewCenturySchlbk-BoldItalic /|______NewCenturySchlbk-BoldItalic 0 rf
bn
bu fc
2 F /|______NewCenturySchlbk-BoldItalic fnt
bn
50.36865 ul
(elemental)show
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
5.55664 ul
( :)show
541 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Syntax)show
553 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
565 162 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(type-qualifier)show
565 224 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(:)show
577 198 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(const)show
589 198 gm
(volatile)show
601 198 gm
(elemental)show
613 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
625 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Constraints)show
649 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.39672 0. 32 0.03967 0.(The )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.17260 0.(elemental)ashow
649 200 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.25640 0. 32 0.12564 0.( qualifier may only be used to qualify function return types.  The)awidthshow
661 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.17526 0.(elemental)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.50567 0. 32 0.05056 0.( qualifier may not be used to qualify parallel function return types.  The)awidthshow
673 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.22377 0.(elemental)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.61233 0. 32 0.06123 0.( qualifier may not be used to qualify the return value of a function with)awidthshow
673 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
685 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(parallel parameter types.)show
709 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
F T cp
%%Page: ? 28
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 25 def

/wp$fpage (xxv) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(25)show
93 126 gm
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
90.86914 ul
(Revise as indicated:)show
117 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
-0.00889 0.(The properties associated with const- and volatile-qualified types are meaningful only)ashow
129 126 gm
0.43136 0. 32 0.04313 0.(for expressions that are lvalues.  The properties associated with elemental-qualified)awidthshow
129 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
141 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(types are meaningful only for expressions that are function calls.)show
165 126 gm
(...)show
189 126 gm
0.56930 0. 32 0.05693 0.(If the specification of an array type includes a )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.25650 0.(const)ashow
189 377 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.86395 0. 32 0.08639 0.( or )awidthshow
189 394 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.11672 0.(volatile)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.41748 0. 32 0.04174 0.( type qualifier, the)awidthshow
189 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
201 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(element type is so-qualified, not the array type.)show
225 126 gm
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
22.03369 ul
(Add:)show
249 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.61050 0. 32 0.06105 0.(A function whose return type is qualified with the )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.20947 0.(elemental)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.57739 0. 32 0.05773 0.( qualifier is called an)awidthshow
249 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
261 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(elemental function \(see \2443.3.2.2 and \2443.7.1\).)show
285 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Examples)show
309 162 gm
0 fs
bu fc
2 F /|______Courier fnt
bn
(elemental int f1\(int\);)show
309 342 gm
(/* elemental function )show
309 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
320 342 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(   returning int */)show
331 162 gm
(elemental int i;)show
331 342 gm
(/* illegal, must qualifiy a )show
342 342 gm
(   function return type */)show
353 162 gm
(int * elemental f2\(int\);)show
353 342 gm
(/* elemental function )show
353 486 gm
(    )show
364 342 gm
(   returning pointer to int */)show
364 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
375 162 gm
10 fz
bu fc
2 F /|______Courier fnt
bn
(elemental int * f3\(int\); )show
375 342 gm
(/* illegal, does not qualify )show
386 342 gm
(   the return type */)show
409 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.5.4 Declarators)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.5.4, ANSI \2443.5.4])show
421 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
433 126 gm
6 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
292.04345 ul
(Modify the syntax for declarators to include shaped declarators:)show
457 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Syntax)show
481 162 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(declarator:)show
481 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
493 198 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(shaped-declarator shape-specifier)show
495 352 gm
(opt)show
518 162 gm
(shaped-declarator:)show
530 198 gm
(shape-dimension)show
532 276 gm
(opt )show
0 -2 rm
(pointer)show
532 326 gm
(opt)show
0 -2 rm
(  direct-declarator)show
543 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
555 162 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(...)show
579 162 gm
(shape-dimension:)show
591 198 gm
(shape-dimension)show
593 276 gm
(opt)show
0 -2 rm
( rank-specificier)show
604 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
616 162 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(rank-specificier)show
628 198 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
([ )show
628 205 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(expression)show
0 2 rm
(opt )show
0 -2 rm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(])show
653 90 gm
(3.5.4.4 Shaped declarators)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( [)show
9 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(NEW)show
653 254 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(])show
665 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
677 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(<<TBS:  need to add constraints and semantics for parallel declarators.>>)show
703 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.5.5 Type names)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.5.5, ANSI \2443.5.5])show
F T cp
%%Page: ? 29
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 26 def

/wp$fpage (xxvi) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(26)show
81 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Syntax)show
105 126 gm
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
34.98046 ul
(Modify:)show
129 144 gm
2 fs
(abstract-declarator:)show
129 65 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
141 162 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(pointer)show
153 162 gm
(shape-dimension)show
155 240 gm
(opt)show
0 -2 rm
( pointer)show
0 2 rm
(opt)show
0 -2 rm
( direct-abstract-declarator shape-specifier)show
155 494 gm
(opt)show
179 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.5.7 Initialization)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.5.7, ANSI \2443.5.7])show
191 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
203 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(<<TBS:  need to specify initialization of parallel objects.)show
203 384 gm
(>>)show
230 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.6)show
230 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(STATEMENTS)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.6, ANSI \2443.6])show
255 126 gm
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
248.94531 ul
(Modify syntax to include contextualization statements:)show
255 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
279 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Syntax)show
303 162 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(statement:)show
315 198 gm
(...)show
315 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
327 198 gm
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(contextualization-statement)show
351 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(<<Need to revise constraints and semantics section for all statements.>>)show
376 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.6.6.4 The return statement)show
376 265 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.6.6.4, ANSI \2443.6.6.4])show
376 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
401 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
425 126 gm
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
22.03369 ul
(Add:)show
437 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
449 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.24893 0. 32 0.12489 0.(When an elemental function that is executed non-elementally executes a )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
0.43064 0.(return)ashow
461 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.30874 0. 32 0.13087 0.(statement, the semantics are the same as a return for a non-elemental function.)awidthshow
473 126 gm
1.11236 0. 32 0.11123 0.(When an elemental function that is executed elementally executes a return to an)awidthshow
485 126 gm
2.16384 0. 32 0.21638 0.(elemental caller, the semantics are the same as a return for a non-elemental)awidthshow
497 126 gm
1.70516 0. 32 0.17051 0.(function.  <<See my question under \2443.3.2.2:  is the inner call really executing)awidthshow
497 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
509 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
-0.00233 0.(elementally in this case?  I think if it is behaving as if non-elementally executed, then)ashow
521 126 gm
0.10025 0. 32 0.01002 0.(we should qualify it as such.  Then we don't need to make the last statement here, do)awidthshow
533 126 gm
(we??>>)show
557 126 gm
0.78277 0. 32 0.07827 0.(An elemental function that is executed elementally executes as if the function was)awidthshow
557 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
569 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.70404 0. 32 0.07040 0.(called once per active position for the established shape of its parallel artument\(s\).)awidthshow
581 126 gm
0.01876 0. 32 0.00187 0.(When a )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(return)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.02258 0. 32 0.00225 0.( statement with an expression is executed at a position, and the caller)awidthshow
593 126 gm
0.33508 0. 32 0.03350 0.(is an non-elemental function, the value of the expression is assigned to that position)awidthshow
605 126 gm
0.04470 0. 32 0.00447 0.(in a parallel return value.  If the element type of the parallel return value is different)awidthshow
617 126 gm
0.05584 0. 32 0.00558 0.(from the type of the return expression, then the expression value is converted as if by)awidthshow
617 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
629 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.19567 0. 32 0.11956 0.(assignement.  Control is not returned to the caller until all active positions have)awidthshow
641 126 gm
(executed a )show
641 178 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(return )show
641 215 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(statement.)show
666 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.6.7 Contextualization)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([)show
9 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(NEW)show
666 264 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(])show
678 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
690 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Syntax)show
714 162 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(contextualization-statement:)show
F T cp
%%Page: ? 30
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 27 def

/wp$fpage (xxvii) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(27)show
81 198 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(where \( )show
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(mask-expression)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
81 318 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(\) )show
81 325 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(statement)show
93 198 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(where \( )show
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(mask-expression)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
93 318 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(\) )show
93 325 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(statement)show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
( else )show
93 395 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(statement)show
105 198 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(everywhere \( )show
105 269 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(shape-expression)show
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
( \))show
105 353 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
105 356 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(statement)show
129 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
129 65 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
153 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.25939 0. 32 0.02593 0.(A contextualization statement modifies the context of a shape for the duration of the)awidthshow
165 126 gm
0.40893 0. 32 0.04089 0.(substatement of the statement.  The modified context is specified by a context mask)awidthshow
177 126 gm
(or by a shape-valued expression.)show
189 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
202 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.6.7.1 The where statement )show
202 265 gm
0 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([)show
9 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(NEW)show
202 291 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(])show
227 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Constraints)show
251 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(The mask expression shall evaluate to a parallel integral value of a shape )show
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(S)show
251 476 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(.)show
251 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
275 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
299 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.38986 0. 32 0.03898 0.(The context of the shape )awidthshow
299 245 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
0.15652 0.(S)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.37078 0. 32 0.03707 0.( will be assigned the value of the mask expression for the)awidthshow
311 126 gm
0.01495 0. 32 0.00149 0.(duration of the first substatement, and if there is an )awidthshow
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(else)show
311 390 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.01510 0. 32 0.00151 0.( and a second substatement,)awidthshow
311 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
323 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.91430 0. 32 0.09143 0.(the context of shape )awidthshow
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(S)show
323 234 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.97122 0. 32 0.09712 0.( will be assigned the value of the logical complement of the)awidthshow
335 126 gm
(value of the mask expression for the duration of the second substatement.)show
359 144 gm
bu fc
2 F /|______Helvetica fnt
bn
0.71685 0. 32 0.07168 0.(Each parallel operand of shape )awidthshow
2 fs
bu fc
{}mark T /Helvetica-Oblique /|______Helvetica-Oblique 0 rf
bn
bu fc
2 F /|______Helvetica-Oblique fnt
bn
0.35339 0. 32 0.03533 0.(S )awidthshow
359 301 gm
0 fs
bu fc
2 F /|______Helvetica fnt
bn
0.61965 0. 32 0.06196 0.(accessed within the substatements of the )awidthshow
359 493 gm
1 fs
bu fc
2 F /|______Helvetica-Bold fnt
bn
(where)show
370 144 gm
0 fs
bu fc
2 F /|______Helvetica fnt
bn
2.08389 0. 32 0.20838 0.(statement will have the context determined by the mask expression.  Parallel)awidthshow
370 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
381 144 gm
10 fz
bu fc
2 F /|______Helvetica fnt
bn
(operands that are not of shape )show
381 283 gm
2 fs
bu fc
2 F /|______Helvetica-Oblique fnt
bn
(S)show
381 290 gm
0 fs
bu fc
2 F /|______Helvetica fnt
bn
( within the substatements are not affected.)show
404 126 gm
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(<<Need to add examples>>)show
430 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.6.7.2 The everywhere statement )show
430 301 gm
0 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([)show
9 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(NEW)show
430 327 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(])show
430 59 gm
(30)show
455 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Constraints)show
479 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(The shape expression shall designate a shape )show
479 339 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(S)show
479 346 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(.)show
491 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
503 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
527 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.64163 0. 32 0.06416 0.(The context of the designated shape )awidthshow
527 301 gm
2 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
0.32171 0.(S)ashow
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.67352 0. 32 0.06735 0.( will be assigned a parallel value of 1 for the)awidthshow
539 126 gm
(duration of the substatement.)show
551 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
563 144 gm
10 fz
bu fc
2 F /|______Helvetica fnt
bn
1.91940 0. 32 0.19194 0.(Each parallel operand of shape )awidthshow
563 301 gm
2 fs
bu fc
2 F /|______Helvetica-Oblique fnt
bn
0.71873 0.(S)ashow
0 fs
bu fc
2 F /|______Helvetica fnt
bn
1.85516 0. 32 0.18551 0.(  within the substatement of the everywhere)awidthshow
574 144 gm
0.15609 0. 32 0.01560 0.(statement will have a context in which all positions are active.  Parallel operands that)awidthshow
585 144 gm
(are not of shape )show
2 fs
bu fc
2 F /|______Helvetica-Oblique fnt
bn
(S)show
585 226 gm
0 fs
bu fc
2 F /|______Helvetica fnt
bn
( are not affected.)show
607 126 gm
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(<<Need to add examples>>)show
607 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
647 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.7)show
647 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(EXTERNAL DEFINITIONS)show
647 293 gm
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.7, ANSI \2443.7])show
673 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(3.7.1 Function Definitions)show
0 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2446.7.1, ANSI \2443.7.1])show
673 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
697 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Constraints)show
F T cp
%%Page: ? 31
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 28 def

/wp$fpage (xxviii) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(28)show
81 126 gm
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
22.03369 ul
(Add:)show
105 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
1.54800 0. 32 0.15480 0.(An elemental function cannot contain any parameter or variable declarations of)awidthshow
117 126 gm
(parallel or shape types, or types derived from parallel or shape types.)show
129 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
141 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(An elemental function cannot be declared to return a parallel value.)show
165 126 gm
(An elemental function cannot contain a )show
165 311 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(where)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( or )show
165 358 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(everywhere)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( statement.)show
189 126 gm
(An elemental function cannot contain reduction or parallel-index operations.)show
189 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
213 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(An elemental function may only call elemental functions.)show
237 126 gm
(An elemental function cannot reference a parallel variable with file scope.)show
249 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
261 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(A variable declared within an elemental function may not have static storage class.)show
285 126 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(Semantics)show
309 126 gm
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
22.03369 ul
(Add:)show
309 59 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
333 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.24719 0. 32 0.02471 0.(An elemental function that is executed non-elementally has the same semantics as a)awidthshow
345 126 gm
(non-elemental function.)show
369 126 gm
0.78277 0. 32 0.07827 0.(An elemental function that is executed elementally executes as if the function was)awidthshow
369 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
381 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.04089 0. 32 0.00408 0.(called once per active position of the shape of its parallel argument\(s\).  Assignment of)awidthshow
393 126 gm
0.37353 0. 32 0.03735 0.(arguments to parameters also occurs on a per active position basis, with conversion,)awidthshow
405 126 gm
0.95870 0. 32 0.09587 0.(if necessary, between the element type of a parallel argument and the type of the)awidthshow
417 126 gm
(corresponding parameter.)show
429 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
441 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
0.63461 0. 32 0.06346 0.(If an elemental function writes to a nonparallel object with static storage duration,)awidthshow
453 126 gm
(the behavior is undefined.)show
477 126 gm
(<<TBS:  need to add constraints and semantics of nodal function definitions.>>)show
489 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
501 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(<<Add section for builtin/intrinsic functions here or under library section?>>)show
525 126 gm
(<<Need any extra words about parallel parameters to non-elemental functions?>>)show
555 90 gm
1 fs
18 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(4.)show
555 126 gm
(L)show
555 139 gm
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(IBRARY)show
555 200 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2447, ANSI \2444])show
555 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
583 126 gm
(<<This section needs LOTS of work still>>)show
610 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(4.1)show
610 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(INTRODUCTION)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2447.1, ANSI \2444.1])show
623 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
636 90 gm
1 fs
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(4.1.2 Standard Headers)show
636 233 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2447.1.2, ANSI \2444.1.2])show
660 126 gm
(<<TBS:  any new header files?>>)show
685 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(4.1.6 Use of Library Functions)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
685 279 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2447.1.6, ANSI \2444.1.6])show
685 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(50)show
709 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(<<Special considerations for elemental and nodal functions??>>)show
F T cp
%%Page: ? 32
op
31 30 761 582 fr
0 0 xl
1 1 pen
0 0 gm
(nc 31 30 761 582 6 rc)kp
64 gr
0 0 1 1 4 rc
psb
0 setgray

1 -1 scale

0 -792 translate

/wp$xorig 0 def

/wp$yorig 0 def

/wp$y 792 def

/wp$x 612 def

/wp$page 29 def

/wp$fpage (xxix) def

/wp$date (11/29/93) def

/wp$time (2:29 PM) def

/wp$box { newpath 0 0 moveto wp$x 0 rlineto 0 wp$y rlineto wp$x neg 0 rlineto closepath } def

wp$box clip newpath

/wp$top 72 def

/wp$bottom 72 def

/wp$left 90 def

/wp$right 90 def

/wp$col 1 def

/wp$colx 432 def

/wp$colxb 0 def

% Word Under Text

/Times-BoldItalic findfont 

/FontSize 72 def

/TextToPrint (DRAFT) def

FontSize scalefont setfont

/printDraft

{0 0 moveto TextToPrint show} def

wp$x 2 div wp$y 2 div translate

45 rotate

TextToPrint stringwidth pop 2 div neg 

FontSize 2 mul 3 div 2 div neg 

translate

.95 -.05 .6

{setgray printDraft -1 .5 translate} for

.9 setgray printDraft

pse
45 90 gm
F 1 setTxMode
2 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
(Draft Version 1.3)show
45 450 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(X3J11.1/93-034)show
753 300 gm
(29)show
94 90 gm
1 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(4.1.7 Intrinsic Functions)show
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
94 244 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([)show
9 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(NEW)show
94 270 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(])show
118 126 gm
(<<TBS:  section on intrisic functions.)show
130 65 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(5)show
142 126 gm
1 fs
10 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(allocate_shape)show
142 270 gm
(allocate_detailed_shape)show
142 414 gm
(dimof)show
154 126 gm
(pcoord)show
154 270 gm
(positionsof)show
154 414 gm
(rankof)show
166 126 gm
(shapeof)show
190 126 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(>>)show
190 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(10)show
217 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(4.5)show
217 126 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(MATHEMATICS)show
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
( <math.h>)show
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(  )show
217 306 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2447.5, ANSI \2444.5])show
242 126 gm
(<< TBS:  revise as needed for parallel operands to)show
254 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(15)show
266 162 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(cos\(\))show
266 234 gm
(sin\(\))show
266 306 gm
(tan\(\))show
278 162 gm
(acos\(\))show
278 234 gm
(asin\(\))show
278 306 gm
(atan\(\))show
290 162 gm
(cosh\(\))show
290 234 gm
(sinh\(\))show
290 306 gm
(tanh\(\))show
302 162 gm
(pow\(\))show
302 234 gm
(sqrt\(\))show
302 306 gm
(fabs\(\))show
314 162 gm
(exp\(\))show
314 234 gm
(log\(\))show
314 306 gm
(log10\(\))show
314 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(20)show
326 162 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(ceil\(\))show
326 234 gm
(floor\(\))show
326 306 gm
(frexp\(\))show
338 162 gm
(ldexp\(\))show
338 234 gm
(modf\(\))show
338 306 gm
(fmod\(\))show
362 126 gm
(>>)show
374 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(25)show
389 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(4.10 )show
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(GENERAL UTILITIES)show
389 259 gm
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
( <stdlib.h> )show
389 339 gm
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2447.10, ANSI \2444.10])show
414 126 gm
(<< TBS: revise as needed for parallel operands to)show
438 162 gm
(abs\(\))show
438 234 gm
(atoi\(\))show
438 306 gm
(atol\(\))show
438 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(30)show
450 162 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(qsort\(\))show
474 126 gm
6 fs
bu fc
2 F /|______NewCenturySchlbk-Italic fnt
bn
22.03369 ul
(Add:)show
498 162 gm
0 fs
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(psrand\(\))show
498 234 gm
(prand\(\))show
498 306 gm
(deallocate_shape\(\))show
498 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(35)show
510 162 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(palloc\(\))show
510 234 gm
(pfree\(\))show
534 126 gm
(>>)show
561 90 gm
1 fs
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(4.11 )show
561 119 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
(STRING HANDLING)show
561 248 gm
14 fz
bu fc
2 F /|______NewCenturySchlbk-Bold fnt
bn
( <string.h> )show
0 fs
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
( )show
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
([ISO \2447.11, ANSI \2444.11])show
561 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(40)show
586 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(<< TBS: revise as needed for parallel operands to)show
610 162 gm
(memcpy\(\))show
610 234 gm
(memmove\(\))show
610 306 gm
(memcmp\(\))show
622 162 gm
(memset\(\))show
622 59 gm
12 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(45)show
646 126 gm
10 fz
bu fc
2 F /|______NewCenturySchlbk-Roman fnt
bn
(>>)show
F T cp
%%Trailer
cd
end
%%Pages: 32 0
%%EOF



More information about the Numeric-interest mailing list