%!PS-Adobe-2.0 %%Creator: dvipsk 5.55a Copyright 1986, 1994 Radical Eye Software %%Title: paper.dvi %%Pages: 7 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%EndComments %DVIPSCommandLine: dvips -o paper.ps paper %DVIPSParameters: dpi=300, compressed, comments removed %DVIPSSource: TeX output 1994.10.27:1708 %%BeginProcSet: texc.pro /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if} forall round exch round exch]setmatrix}N /@landscape{/isls true N}B /@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{ /nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ /sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ 128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{ dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} {adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] }if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail {dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M} B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{ 4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{ p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end %%EndProcSet TeXDict begin 40258431 52099146 1000 300 300 (paper.dvi) @start /Fa 66 123 df35 D38 D<137013F0EA01E0EA03C0EA0780EA0F00121E121C5AA25AA45AA81270A47EA27E121E7E EA0780EA03C0EA01F0120013700C24799F18>40 D<126012F012787E7E7EEA07801203EA 01C0A2EA00E0A41370A813E0A4EA01C0A2EA03801207EA0F00121E5A5A5A12600C247C9F 18>II<121C123E127E127F123F121F1207120E 121E127C12F81260080C788518>44 D<387FFFC0B512E0A26C13C013047E8F18>I<1230 127812FCA2127812300606778518>I<1303EB0780A2130F14005B131EA2133E133C137C 1378A213F85B12015B12035BA212075B120F90C7FCA25A121E123E123CA2127C127812F8 5AA2126011247D9F18>IIII<1230127812FCA2127812301200A81230127812FCA212781230061477 9318>58 D<1218123C127EA2123C12181200A81218123C127EA2123E121E120E121C123C 127812F01260071A789318>I<387FFFC0B512E0A3C8FCA4B512E0A36C13C0130C7E9318> 61 D<126012F87E127F6C7EEA0FE06C7EEA01FC6C7EEB3F80EB1FC0EB07E0A2EB1FC0EB 3F80EBFE00485AEA07F0485AEA3F8048C7FC12FC5A126013187E9918>I<137013F8A213 D8A2EA01DCA3138CEA038EA4EA0707A5380FFF80A3EA0E03381C01C0A3387F07F000FF13 F8007F13F0151C7F9B18>65 DIIIII<3801F1C0EA03FDEA0FFFEA1F 0FEA1C03123813011270A290C7FC5AA5EB0FF0131F130F387001C0A213031238A2EA1C07 EA1F0FEA0FFFEA03FDEA01F1141C7E9B18>I73 D<387F07F038FF87F8387F07F0381C03C0EB0780140013 0E131E5B13385B13F0121DA2EA1FB8A2131C121EEA1C0EA27FA2EB0380A2EB01C0387F03 F038FF87F8387F03F0151C7F9B18>75 DI<38FC01F8EAFE03A2383B06E0A4138EA2EA398CA213DCA3EA38D8A213F81370A213 00A638FE03F8A3151C7F9B18>I<387E07F038FF0FF8387F07F0381D81C0A313C1121CA2 13E1A313611371A213311339A31319A2131D130DA3EA7F07EAFF87EA7F03151C7F9B18> III82 D<3803F1C0EA1FFF5AEA7C0FEA7003EAE001A3 90C7FC12701278123FEA1FF0EA07FEC67EEB0F80EB03C01301EB00E0A2126012E0130100 F013C038F80780B5FCEBFE00EAE7F8131C7E9B18>I<387FFFF8B5FCA238E07038A40000 1300B2EA07FFA3151C7F9B18>I<38FF83FEA3381C0070B36C13E0EA0F01380783C03803 FF806C1300EA007C171C809B18>I<38FE03F8EAFF07EAFE03383C01E0001C13C0A3EA1E 03000E1380A438070700A4EA038EA4EA018C13DCA3EA00D813F8A21370151C7F9B18>I< 38FE03F8A338700070A36C13E0A513F8EA39FC13DCA2001913C0A3138CA2EA1D8DA31305 000D1380EA0F07A2EA0E03151C7F9B18>I<387F0FE0139F130F380E0700120FEA070E13 8EEA039C13DCEA01F8A212005B137013F07F487E13DCEA039E138EEA070F7F000E138013 03001E13C0387F07F000FF13F8007F13F0151C7F9B18>I<38FE03F8EAFF07EAFE03381C 01C0EA1E03000E1380EA0F0700071300A2EA038EA2EA01DCA3EA00F8A21370A9EA01FC48 7E6C5A151C7F9B18>I91 D93 D<387FFFC0B512E0A26C13C013047E 7F18>95 D97 D<127E12FE127E120EA513 3EEBFF80000F13C0EBC1E01380EB0070120E1438A6000F1370A2EB80E013C1EBFFC0000E 138038063E00151C809B18>IIIII<3801E1F03807FFF85A381E1E30381C0E00487EA5EA1C0EEA1E 1EEA1FFC5BEA39E00038C7FC7EEA1FFEEBFFC04813E0387801F038700070481338A40078 13F0EA7E03381FFFC06C13803801FC00151F7F9318>I<127E12FE127E120EA5133EEBFF 80000F13C013C1EB80E01300120EAB387FC7FC38FFE7FE387FC7FC171C809B18>II<127E12FE12 7E120EA5EB3FF0A3EB0780EB0F00131E5B5B5BEA0FF87F139C130EEA0E0F7FEB038014C0 387FC7F812FF127F151C7F9B18>107 DI<38 F9C1C038FFF7F013FF383E3E38EA3C3CA2EA3838AB38FE3E3EEB7E7EEB3E3E1714809318 >IIII<3801F380EA07FBEA1FFFEA3E1FEA380F EA7007A2EAE003A6EA7007A2EA380FEA3C1FEA1FFFEA0FFBEA03E3EA0003A7EB1FF0EB3F F8EB1FF0151E7E9318>I<38FF0FC0EB3FE0EB7FF0EA07F0EBE060EBC0005BA290C7FCA9 EAFFFC7F5B14147E9318>II<487E 1203A4387FFFC0B5FCA238038000A9144014E0A33801C1C013FF6C1380EB3E0013197F98 18>I<387E07E0EAFE0FEA7E07EA0E00AC1301EA0F033807FFFC6C13FE3801FCFC171480 9318>I<387F8FF000FF13F8007F13F0381C01C0380E0380A338070700A3138FEA038EA3 EA01DCA3EA00F8A2137015147F9318>I<38FF07F8138F1307383800E0A4381C01C01371 13F9A213D9EA1DDD000D1380A3138DEA0F8FA23807070015147F9318>I<387F8FF0139F 138F380F0700EA078EEA039EEA01DC13F81200137013F07FEA01DCEA039E138EEA070700 0E1380387F8FF000FF13F8007F13F015147F9318>I<387F8FF000FF13F8007F13F0380E 01C0EB0380A21207EB0700A2EA0387A2138EEA01CEA213CC120013DC1378A31370A313F0 5B1279EA7BC0EA7F806CC7FC121E151E7F9318>I<383FFFF05AA2387001E0EB03C0EB07 8038000F00131E5B13F8485AEA03C0485A380F0070121E5A5AB512F0A314147F9318>I E /Fb 20 121 df<13C01201120712FFA212FB1203B3A4EAFFFEA30F1F7C9E17>49 DI67 DII<12F0B3AE04207C9F0D>73 D<12F0B3ABB512C0A312 207C9F19>76 D<00F8147E6C14FEA200F414DE00F61301A300F3EB039EA2EB8007A200F1 141EEBC00FA200F0130EEBE01EA2EB601CEB703CA2EB3038EB3878A2EB1870EB1CF0A2EB 0CE0A2EB07C0A390C7FC1F207C9F28>I<00FC131E7EA212F7A2138012F3A2EAF1C0A213 E012F013F013701378A2133CA2131C131E130E130F1307A2EB039EA214DE1301A2EB00FE A2147E17207C9F20>III84 D<0078EB0780007C130F6CEB1F00001E131E001F133E6C6C5A000713786C6C5A13E13801 F1E03800F3C0137F5C6DC7FC7F131E133F80497E13F33801F1E0EBE0F048487E00071378 497E380F003E48131E001E7F481480007CEB07C0007813034814E01B207F9F1E>88 D99 D101 D<12F0B3AE04207D9F0B>108 D<39F0FC07E039F3FE1FF039F7FF3FF839FE0FF07C39F8 07C03CA200F01380AE1E147D9325>I 111 DI<387801E0387C03C0383E0780EA1E 0F000F1300EA079EEA03FC5B12016C5A12017F487EEA079EEA0F0F120E381E0780383C03 C0387801E000F813F01414809315>120 D E /Fc 1 16 df15 D E /Fd 12 119 df69 D73 D85 D100 DI108 D<38FFC07E9038C1FF809038C30FC0D80FC413E0EBC80701D813F013D0A213E0B039FFFE 3FFFA3201B7D9A25>110 DI<38FFC1F0EBC7FCEBC63E380FCC7F13D813D0 A2EBF03EEBE000B0B5FCA3181B7F9A1B>114 D<3803FE30380FFFF0EA3E03EA78001270 00F01370A27E00FE1300EAFFE06CB4FC14C06C13E06C13F0000713F8C6FCEB07FC130000 E0137C143C7E14387E6C137038FF01E038E7FFC000C11300161B7E9A1B>I<39FFE07FF0 A3000F1307B2140FA2000713173903F067FF3801FFC738007F87201B7D9A25>117 D<39FFFC03FFA3390FF000F0000714E07F0003EB01C0A2EBFC0300011480EBFE07000014 0013FFEB7F0EA2149EEB3F9C14FC6D5AA26D5AA36D5AA26D5AA2201B7F9A23>I E /Fe 18 118 df<14021406A2140E141EA2143F142F144F14CF148FEB010FA21302A213 041308A20110138014071320EB3FFFEB40071380A2EA0100A2120212061204001E14C039 FF807FF81D207E9F22>65 D<3801FFF038001F00131EA35BA45BA45BA4485AA4485AA448 5AA4120FEAFFF0141F7D9E12>73 D<90380FFF809038007C001478A35CA4495AA4495AA4 495AA449C7FCA212301278EAF81EA2485AEA8038EA40706C5AEA1F8019207D9E18>I<90 3807E04090381C18C09038300580EB600313C000011301018013001203A391C7FC7FA213 F86CB47E14E06C6C7E131FEB01F8EB0078A21438A21220A2143000601370146014E00070 5B38E80380D8C606C7FCEA81F81A217D9F1A>83 D97 D<137EEA01C138030080EA0E07121E001C1300EA3C0248C7FCA35AA5EA700113 02EA3004EA1838EA07C011147C9315>99 D<137CEA01C2EA0701120E121C123CEA3802EA 780CEA7BF0EA7C0012F0A4127013011302EA3804EA1838EA07C010147C9315>101 D<1478EB019CEB033CA2EB07181400A2130EA5EBFFE0EB1C00A45BA55BA55BA5485AA35B 1231007BC7FC12F31266123C1629829F0E>I<13C0EA01E0A213C0C7FCA7120E12131223 EA4380EA4700A21287120EA35AA3EA38401380A21270EA31001232121C0B1F7C9E0E> 105 D108 D<391C0F80F0392630C318394740640C903880680EEB0070A2008E495A12 0EA34848485AA3ED70803A3803807100A215E115623970070064D83003133821147C9325 >I<381C0F80382630C0384740601380EB0070A2008E13E0120EA3381C01C0A3EB038400 381388A2EB0708EB031000701330383001C016147C931A>I<137CEA01C338030180000E 13C0121E001C13E0123C1278A338F003C0A3EB07801400EA700F130EEA3018EA1870EA07 C013147C9317>I<3801C1E0380262183804741C1378EB701EA2EA08E01200A33801C03C A3143838038078147014E0EBC1C038072380EB1E0090C7FCA2120EA45AA2B47E171D8093 17>I114 D<13FCEA0302EA0601EA0C03130713061300EA0F8013F0EA07F8EA03FC EA003E130E1270EAF00CA2EAE008EA4010EA2060EA1F8010147D9313>II<000E13C0001313E0382301C0EA4381EA4701A238870380120EA3381C0700A3 1410EB0E201218A2381C1E40EA0C263807C38014147C9318>I E /Ff 78 123 df<90381F83E09038F06E303901C07878380380F8903800F03048EB7000A7 B612803907007000B2383FE3FF1D20809F1B>11 D<133FEBE0C0EA01C0380381E0EA0701 A290C7FCA6B512E0EA0700B2383FC3FC1620809F19>II34 D<127012F812FCA212741204A31208 A21210A212201240060E7C9F0D>39 D<13401380EA01005A12061204120C5AA212381230 A212701260A412E0AC1260A412701230A212381218A27E120412067E7EEA008013400A2E 7BA112>I<7E12407E12307E1208120C7EA212077EA213801201A413C0AC1380A4120313 00A25A1206A25A120812185A12205A5A0A2E7EA112>II<127012F012F8 A212781208A31210A31220A21240050E7C840D>44 DI<127012 F8A3127005057C840D>I<144014C0EB0180A3EB0300A31306A25BA35BA35BA25BA35BA3 485AA348C7FCA21206A35AA35AA25AA35AA35AA2122D7EA117>II<13801203120F12F31203B3A6EA07C0EAFFFE0F1E7C9D17>III<1306A2130EA2131E132EA2134E138EA2EA010E1202A212041208A212101220A2 124012C0B512F038000E00A7EBFFE0141E7F9D17>II<137CEA0182EA0701380E0380EA0C07121838 38030090C7FC12781270A2EAF1F0EAF21CEAF406EAF807EB0380A200F013C0A51270A214 801238EB07001218EA0C0E6C5AEA01F0121F7E9D17>I<1240387FFFE014C0A238400080 38800100A21302485AA25B5BA25BA21360A213E05B1201A41203A76C5A131F7E9D17>I< EA03F0EA0C0CEA1006EA3003382001801260A3127038780300123EEA3F06EA1FC8EA0FF0 EA03F8487EEA0C7EEA103F38300F80EA6007EB01C012C01300A31480EA600100201300EA 1002EA0C0CEA03F0121F7E9D17>II<127012F8A312701200AA127012F8A3127005147C93 0D>I<127012F8A312701200AA127012F012F8A212781208A31210A31220A21240051D7C 930D>I<007FB512F8B612FCC9FCA8B612FC6C14F81E0C7E9023>61 D63 D<5B497EA3497EA3EB09E0 A3EB10F0A3EB2078A3497EA2EBC03EEB801EA248B5FCEB000FA20002EB0780A348EB03C0 A2120C001E14E039FF801FFE1F207F9F22>65 DI<90380FE0109038381C309038E002703803C00139078000F048C712 70121E15305A1510127C127800F81400A91278007C1410123CA26C1420A27E6C6C13406C 6C13803900E00300EB380CEB0FF01C217E9F21>III< B61280380780071401A2140015C01540A4EC2000A3146014E013FF138014601420A391C7 FCA87FEAFFFE1A1F7F9E1E>I<90380FE0109038381C309038E002703803C00139078000 F048C71270121E15305A1510127C127800F81400A7EC3FFEEC01F000781300127C123CA2 7EA27E6C7E3903C001703900E002309038380C1090380FF0001F217E9F24>I<39FFF07F F8390F000780AD90B5FCEB0007AF39FFF07FF81D1F7E9E22>II<3807FFC038003E00131EB3A3122012F8A3EAF01CEA403CEA6038EA10 70EA0FC012207F9E17>I<39FFF007FC390F0003E0EC0180150014025C5C5C5C5C5C49C7 FC5B497E130FEB13C0EB21E01341EB80F0EB0078A28080A280EC0780A2EC03C015E015F0 39FFF01FFE1F1F7E9E23>IIII II 82 D<3803F040380C0CC0EA1803EA3001EA6000A212E01440A36C13007E127CEA7F80EA 3FF86CB4FC00071380C613C0EB1FE013031301EB00F014707EA46C136014E06C13C038F8 018038C60300EA81FC14217E9F19>I<007FB512E038780F010060EB006000401420A200 C0143000801410A400001400B3497E3803FFFC1C1F7E9E21>I<39FFF00FF8390F0003E0 EC0080B3A46CEB01001380120314026C6C5A6C6C5AEB3830EB0FC01D207E9E22>I<39FF F003FE391F8000F86CC7126015206C6C1340A36C6C1380A2EBE00100011400A23800F002 A213F8EB7804A26D5AA36D5AA2131F6D5AA2EB07C0A36D5AA36DC7FC1F207F9E22>I<3B FFF07FF81FF03B1F000FC007C06C903907800180170015C001805C00071502EC09E013C0 00035DEC19F01410D801E05CA2EC2078D800F05CA2EC403C01785CA2EC801E017C146001 3C144090383D000F133F6D5CA2011E1307010E91C7FCA2010C7F010413022C207F9E2F> I<397FF81FF8390FE007C03907C0030000031302EBE0063801F00400005BEBF818EB7810 6D5AEB3E60EB1E406D5AA213076D7E497E1305EB08F0EB18F8EB1078EB207CEB603EEB40 1EEB801F3901000F801407000214C000061303001FEB07E039FFC01FFE1F1F7F9E22>I< 39FFF001FF391F800078000F146012076D1340000314807F3901F001001200EBF802EB7C 06EB3C04EB3E08131EEB1F10EB0FB0EB07A014E06D5AACEB3FFC201F7F9E22>I<387FFF FE387E003C127800701378006013F814F0384001E0130314C0EB07801200EB0F00131EA2 5B137C13785B1201EBE002EA03C0A2EA0780000F13061300001E1304003E130C123C4813 3C14FCB5FC171F7E9E1C>I92 D97 D<121C12FC121CAA137CEA1D87381E0180EB00C0001C13E01470A21478A6147014F014E0 001E13C0381A018038198700EA107C15207E9F19>IIII<137CEA01C6EA03 0F1207EA0E061300A7EAFFF0EA0E00B2EA7FE01020809F0E>I<14E03803E330EA0E3CEA 1C1C38380E00EA780FA5EA380E6C5AEA1E38EA33E00020C7FCA21230A2EA3FFE381FFF80 14C0383001E038600070481330A4006013606C13C0381C03803803FC00141F7F9417>I< 121C12FC121CAA137C1386EA1D03001E1380A2121CAE38FF8FF014207E9F19>I<123812 7CA31238C7FCA6121C12FC121CB1EAFF80091F7F9E0C>I<13E0EA01F0A3EA00E01300A6 1370EA07F012001370B3A31260EAF06013C0EA6180EA3F000C28829E0E>I<121C12FC12 1CAAEB1FE0EB0780EB060013045B5B5B136013E0EA1DF0EA1E70EA1C38133C131C7F130F 7F148014C038FF9FF014207E9F18>I<121C12FC121CB3ABEAFF8009207F9F0C>I<391C3E 03E039FCC30C30391D039038391E01E01CA2001C13C0AE3AFF8FF8FF8021147E9326>I< EA1C7CEAFC86EA1D03001E1380A2121CAE38FF8FF014147E9319>III<3801F04038070C C0EA0E02EA1C03EA38011278127012F0A6127012781238EA1C03EA0C05EA0709EA01F1EA 0001A8EB0FF8151D7F9318>III<1202A31206A2120EA2123EEAFF F8EA0E00AB1304A5EA07081203EA01F00E1C7F9B12>I<381C0380EAFC1FEA1C03AE1307 120CEA061B3803E3F014147E9319>I<38FF83F8383E00E0001C13C06C1380A338070100 A21383EA0382A2EA01C4A213E4EA00E8A21370A3132015147F9318>I<39FF9FE1FC393C 078070391C030060EC8020000E1440A214C0D80704138014E0A239038861001471A23801 D032143A143E3800E01CA2EB6018EB40081E147F9321>I<38FF87F8381E03C0380E0180 EB0300EA0702EA0384EA01C813D8EA00F01370137813F8139CEA010E1202EA0607380403 80000C13C0003C13E038FE07FC16147F9318>I<38FF83F8383E00E0001C13C06C1380A3 38070100A21383EA0382A2EA01C4A213E4EA00E8A21370A31320A25BA3EAF080A200F1C7 FC1262123C151D7F9318>II E /Fg 15 119 df<127012F812FCA212741204A41208A21210A212201240060F7C840E> 44 D<13801203120F12F31203B3A9EA07C0EAFFFE0F217CA018>49 DI<1303A25BA25B1317A21327136713471387120113071202120612 041208A212101220A2124012C0B512F838000700A7EB0F80EB7FF015217FA018>52 D<12401260387FFFE014C0A23840008038C0010012801302A2485A5BA25B5BA213601340 13C0A21201A25B1203A41207A76CC7FC13237DA118>55 D57 D79 D<3803F020380C0C60EA1802383001E0EA70000060136012E0A21420A36C1300A2127812 7FEA3FF0EA1FFE6C7E0003138038003FC0EB07E01301EB00F0A214707EA46C1360A26C13 C07E38C8018038C60700EA81FC14247DA21B>83 D<120E12FE121E120EAB131FEB61C0EB 8060380F0030000E1338143C141C141EA7141C143C1438000F1370380C8060EB41C03808 3F0017237FA21B>98 DI101 D111 D114 D<1202A41206A3120E121E123EEAFFFCEA0E00AB1304A6EA07081203EA01F00E 1F7F9E13>116 D<38FF80FE381E00781430000E1320A26C1340A2EB80C000031380A238 01C100A2EA00E2A31374A21338A3131017157F941A>118 D E /Fh 17 117 df12 D69 D73 D77 D80 D<90387F80203801FFE03907C07860380F001C001EEB06E0481303 00381301007813001270156012F0A21520A37E1500127C127E7E13C0EA1FF86CB47E6C13 F06C13FCC613FF010F1380010013C0EC1FE01407EC03F01401140015F8A26C1478A57E15 706C14F015E07E6CEB01C000ECEB038000C7EB070038C1F01E38807FFCEB0FF01D337CB1 25>83 D<13FE380303C0380C00E00010137080003C133C003E131C141EA21208C7FCA3EB 0FFEEBFC1EEA03E0EA0F80EA1F00123E123C127C481404A3143EA21278007C135E6CEB8F 08390F0307F03903FC03E01E1F7D9E21>97 D99 D101 DI104 D<120FEA1F80A4EA0F00C7FCABEA0780127FA2120F1207B3A6EA0FC0EAFFF8A20D307EAF 12>I<380780FE39FF83078090388C03C0390F9001E0EA07A06E7E13C0A25BB3A2486C48 7E3AFFFC1FFF80A2211F7E9E25>110 DI<380781FC39 FF86078090388801C0390F9000E0D807A0137001C01378497F153E151E151FA2811680A7 16005DA2151E153E153C6D5B01A013705D90389803C0D9860FC7FCEB81F80180C8FCAB48 7EEAFFFCA2212D7E9E25>I<380783E038FF8418EB887CEA0F90EA07A01438EBC000A35B B3487EEAFFFEA2161F7E9E19>114 D<1340A513C0A31201A212031207120F381FFFE0B5 FC3803C000B01410A80001132013E000001340EB78C0EB1F00142C7FAB19>116 D E end %%EndProlog %%BeginSetup %%Feature: *Resolution 300dpi TeXDict begin %%EndSetup %%Page: 1 1 1 0 bop 421 282 a Fh(Errata)23 b(Sheet)f(for)f(MPI)i(Sp)r (eci\014cation)806 408 y Fg(Stev)o(e)15 b(Otto)739 510 y(Octob)q(er)i(27,)f(1994)46 683 y Ff(This)11 b(do)q(cumen)o(t)f(lists) i(errors)d(in)j(the)e(Ma)o(y)g(5th)g(v)o(ersion)g(of)g(the)h(MPI)f(sp)q (eci\014cation.)20 b(Some)11 b(of)f(these)g(ha)o(v)o(e)-25 739 y(b)q(een)15 b(\014xed)f(\(at)f(the)g(galley)i(stage\))d(in)i(the)g (v)o(ersion)g(to)f(b)q(e)h(published)i(b)o(y)e(MIT)f(Press)g(in)i(the)e Fe(International)-25 796 y(Journal)j(of)h(Sup)n(er)n(c)n(omputer)g (Applic)n(ations)p Ff(,)c(and)j(are)f(noted)g(as)g(suc)o(h.)-25 939 y Fd(Errors)-25 1040 y Ff(The)h(follo)o(wing)f(are)g(kno)o(wn)g (errors)g(or)f(c)o(hanges)i(that)e(w)o(e)h(ha)o(v)o(e)g(made)g(to)g (the)g(sp)q(eci\014cation.)31 1145 y(1.)22 b(\(Fixed)14 b(in)h(IJSA)g(v)o(ersion\))f(Remo)o(v)m(al)h(of)e(complex)i(data)f(t)o (yp)q(es)g(from)f(reduce)i(op)q(erations.)k(Changes:)143 1238 y Fc(\017)k Ff(page)15 b(113,)f(line)j(36,)d(remo)o(v)o(e)g(\\)p Fb(Complex)p Ff(.")143 1311 y Fc(\017)23 b Ff(page)15 b(115,)f(line)j(42,)d(remo)o(v)o(e)g(the)i(en)o(tire)f(line)i(con)o (taining)f Fb(MPI)p 1303 1311 14 2 v 16 w(2COMPLEX)p Ff(.)143 1383 y Fc(\017)23 b Ff(page)15 b(209,)f(line)j(12,)d(remo)o(v) o(e)g(the)i(line)g(con)o(taining)g Fb(MPI)p 1175 1383 V 16 w(2COMPLEX)p Ff(.)31 1476 y(2.)22 b(\(Fixed)g(in)g(IJSA)h(v)o (ersion\))f Fa(MPI)p 674 1476 15 2 v 16 w(Status)f Ff(passed)h(as)f(p)q (oin)o(ter)i(ev)o(erywhere)e(\(an)h(issue)g(for)f(the)h(C)89 1533 y(binding)17 b(only\).)j(Changes:)143 1626 y Fc(\017)j Ff(page)15 b(21,)f(line)j(16,)d(should)i(sa)o(y:)k Fa(MPI_Status)i (*status)143 1699 y Fc(\017)h Ff(page)15 b(73,)f(line)j(33,)d(should)i (sa)o(y:)k Fa(MPI_Status)i(*status)143 1771 y Fc(\017)h Ff(page)15 b(52,)f(line)j(6,)d(should)j(sa)o(y:)i Fa(MPI_Status)j (*status)143 1844 y Fc(\017)h Ff(page)15 b(211,)f(line)j(24,)d(should)i (sa)o(y:)j Fa(MPI_Status)k(*status)143 1916 y Fc(\017)g Ff(page)15 b(212,)f(line)j(26,)d(should)i(sa)o(y:)j Fa(MPI_Status)k (*status)143 1989 y Fc(\017)g Ff(page)15 b(213,)f(line)j(35,)d(should)i (sa)o(y:)j Fa(MPI_Status)k(*status)31 2082 y Ff(3.)f(\(Fixed)16 b(in)g(IJSA)h(v)o(ersion\))f(P)o(oin)o(ters)f(to)g(storage)f(area)h (should)i(b)q(e)f(of)g(t)o(yp)q(e)f Fa(MPI)p 1502 2082 V 17 w(Aint)p Ff(,)g(rather)g(than)89 2139 y Fa(int)p Ff(.)k(Changes:)143 2232 y Fc(\017)k Ff(page)15 b(68,)f(line)j(27,)d (should)i(sa)o(y:)k Fa(MPI_Aint)i(*extent)143 2304 y Fc(\017)h Ff(page)15 b(68,)f(line)j(39,)d(should)i(sa)o(y:)k Fa(MPI_Aint)i(*size)143 2377 y Fc(\017)h Ff(page)15 b(70,)f(line)j(15,) d(should)i(sa)o(y:)k Fa(MPI_Aint)i(*displacement)143 2449 y Fc(\017)h Ff(page)15 b(70,)f(line)j(26,)d(should)i(sa)o(y:)k Fa(MPI_Aint)i(*displacement)143 2522 y Fc(\017)h Ff(page)15 b(213,)f(line)j(24,)d(should)i(sa)o(y:)j Fa(MPI_Aint)k(*extent)143 2594 y Fc(\017)g Ff(page)15 b(213,)f(line)j(25,)d(should)i(sa)o(y:)j Fa(MPI_Aint)k(*size)910 2719 y Ff(1)p eop %%Page: 2 2 2 1 bop 143 100 a Fc(\017)23 b Ff(page)15 b(213,)f(line)j(29,)d(should) i(sa)o(y:)j Fa(MPI_Aint)k(*displacement)143 173 y Fc(\017)g Ff(page)15 b(213,)f(line)j(30,)d(should)i(sa)o(y:)j Fa(MPI_Aint)k (*displacement)31 267 y Ff(4.)f(\(Fixed)15 b(in)h(IJSA)h(v)o(ersion\)) 143 360 y Fc(\017)23 b Ff(page)15 b(83,)f(lines)j(36,)d(42,)g(48,)h(c)o (hange)g("outcoun)o(t")f(to)g("outsize")143 433 y Fc(\017)23 b Ff(page)15 b(84,)f(lines)j(1,)d(4,)h(c)o(hange)g("OUTCOUNT")g(to)g ("OUTSIZE")143 506 y Fc(\017)23 b Ff(page)15 b(221,)f(lines)j(8,)d(11,) g(c)o(hange)i("OUTCOUNT")f(to)f("OUTSIZE")31 600 y(5.)22 b(\(Fixed)15 b(in)h(IJSA)h(v)o(ersion\))e(In)h(section)f(3.2.2,)e(the)j (sen)o(tence)g(fragmen)o(t:)189 694 y(MPI)p 281 694 14 2 v 16 w(DOUBLE)p 492 694 V 17 w(COMPLEX)e(for)g(double)h(precision)h (complex)f(in)f(F)l(ortran)f(declared)j(to)189 751 y(b)q(e)g(of)e(t)o (yp)q(e)i(DOUBLE)f(PRECISION;)89 844 y(should)h(b)q(e)189 938 y(MPI)p 281 938 V 16 w(DOUBLE)p 492 938 V 17 w(COMPLEX)e(for)g (double)h(precision)h(complex)f(in)f(F)l(ortran)f(declared)j(to)189 995 y(b)q(e)g(of)e(t)o(yp)q(e)i(DOUBLE)f(COMPLEX;)31 1088 y(6.)22 b(The)11 b(w)o(ording)h(of)f(the)g(description)i(of)e Fa(MPI)p 822 1088 15 2 v 17 w(GROUP)p 959 1088 V 17 w(RANGE)p 1096 1088 V 16 w(EXCL)g Ff(is)h(confusing)g(but)g(I)f(ha)o(v)o(en't)g (decided)89 1145 y(what)j(to)h(c)o(hange)g(it)h(to,)e(y)o(et.)19 b(The)d(function)g(protot)o(yp)q(es)e(are)h(correct,)f(I)i(b)q(eliev)o (e.)31 1239 y(7.)22 b(The)15 b(example)h(on)f(page)g(148.)k(The)d (example)g(w)o(ould)f(b)q(e)h(more)f(illustrious)i(if)89 1351 y Fa(MPI_Reduce\(...,MPI_SUM,)j(1,)k(commslave\))f(->)g (MPI_Reduce\(...,MPI_SUM,)e(0,)i(commslave\))89 1464 y Ff(The)12 b(comm)o(unicator)g Fa(commslave)f Ff(is)i(comp)q(osed)f (of)g(the)g(group)g Fa(grprem)g Ff(whic)o(h)h(is)f Fa(MPI)p 1598 1464 V 17 w(GROUP)p 1735 1464 V 17 w(WORLD)89 1520 y Ff(without)f(pro)q(cess)g(0.)19 b(As)11 b(suc)o(h,)h Fa(grprem)e Ff(is)i(n)o(um)o(b)q(ered)f(from)g(0)g(to)f(\(Numpro)q(cs)h (-)h(2\))e(where)i(Numpro)q(cs)89 1577 y(is)i(the)g(size)h(of)e Fa(MPI)p 420 1577 V 17 w(GROUP)p 557 1577 V 17 w(WORLD)p Ff(.)g(Making)g(the)h(reduce)h(go)f(to)f(pro)q(cess)h(0)g(mak)o(es)f (the)h(ren)o(um)o(b)q(ering)89 1633 y(clear.)25 b(It)17 b(also)g(mak)o(es)f(it)h(w)o(ork)f(for)g(only)h(2)g(no)q(des)g(-)g(the) g(curren)o(t)g(co)q(de)g(fails)h(since)g Fa(grprem)e Ff(w)o(ould)89 1689 y(only)f(ha)o(v)o(e)g(one)h(no)q(de/pro)q(cess.)31 1783 y(8.)22 b(\(Fixed)15 b(in)h(IJSA)h(v)o(ersion\))143 1877 y Fc(\017)23 b Ff(page)15 b(150,)f(line)j(16,)d(should)i(sa)o(y:)j Fa(MPI_Comm)k(comm)31 1971 y Ff(9.)f(P)o(age)12 b(151.)18 b(This)13 b(example)g(seems)g(to)f(imply)h(that)f(MPI)p 1065 1971 14 2 v 17 w(Comm)p 1214 1971 V 15 w(rank)h(returns)f(MPI)p 1575 1971 V 16 w(UNDEFINED)89 2027 y(in)18 b(ma)f(and)g(m)o(b)h(if)g (the)f(calling)i(pro)q(cess)f(is)g(not)f(in)h(comm)p 1131 2027 V 16 w(a)f(or)g(comm)p 1364 2027 V 16 w(b,)h(resp)q(ectiv)o (ely)l(.)28 b(142)17 b(sa)o(ys)89 2084 y(nothing)f(ab)q(out)f(this.)22 b(If)15 b(this)h(w)o(as)f(the)h(in)o(ten)o(t)f(\(that)g(is)h(w)o(ould)g (return)f(MPI)p 1453 2084 V 17 w(UNDEFINED\))g(then)89 2140 y(the)j(text)f(ab)q(out)g(MPI)p 491 2140 V 17 w(COMM)p 660 2140 V 16 w(RANK)h(should)h(sa)o(y)e(this.)28 b(This)18 b(commen)o(t)g(migh)o(t)f(also)h(apply)h(to)89 2197 y(MPI)p 181 2197 V 16 w(GR)o(OUP)p 365 2197 V 17 w(RANK)13 b(on)f(135)f(if)i(w) o(e)f(w)o(an)o(t)f(it)h(to)g(act)g(the)g(same.)18 b(Their)13 b(b)q(eing)h(the)e(same)g(is)h(implied)89 2253 y(in)j(the)f(commen)o (ts)g(in)h(the)f(text.)8 2347 y(10.)22 b(P)o(age)14 b(159.)19 b(It)c(w)o(ould)h(b)q(e)g(a)f(little)h(cleaner)h(to)d(add:)89 2460 y Fa(MPI_Comm_free\(&myComm\);)89 2572 y Ff(This)i(is)f(done)h (for)e(Example)i(2)f(on)g(page)g(160.)910 2719 y(2)p eop %%Page: 3 3 3 2 bop 8 100 a Ff(11.)22 b(P)o(age)16 b(162)f(Instead)j(of)e(\(MPI)p 611 100 14 2 v 16 w(Comm\))f(0)i(I)g(think)g(it)g(should)h(b)q(e)f(MPI) p 1331 100 V 16 w(COMM)p 1499 100 V 16 w(NULL.)h(145:8)d(sa)o(ys)89 156 y(MPI)p 181 156 V 16 w(Comm)p 329 156 V 16 w(split)f(returns)f(MPI) p 688 156 V 16 w(COMM)p 856 156 V 16 w(NULL)h(when)f(it)h(has)e(funn)o (y)i(cases.)19 b(I)13 b(don't)g(recall)h(read-)89 213 y(ing)h(0)g(and)h(NULL)g(w)o(ere)f(the)g(same)g(for)g(this)g(case.)8 306 y(12.)22 b(P)o(age)14 b(162.)89 419 y Fa(MPI_Attr_keyval_create)21 b(->)i(MPI_Keyval_create)89 531 y Ff(as)15 b(p)q(er)g(page)g(166.)k (Same)c(commen)o(t)g(applies)i(to)e(page)g(170.)8 625 y(13.)22 b(P)o(age)14 b(165.)89 737 y Fa(MPI_Intercomm_create\(loc)o (al_lead)o(er,)21 b(local_comm,)h(buffer[0],new_world,)f(..\))j(->)89 794 y(MPI_Intercomm_create\(loc)o(al_comm)o(,)d(local_leader,)h (new_world,)h(buffer[0],)f(..\))89 906 y Ff(as)15 b(de\014ned)h(on)f (157.)8 1000 y(14.)22 b(P)o(age)10 b(167)g(It)i(seems)f(to)f(me)i(that) e(the)h(F)l(ortran)f(de\014nition)j(needs)f(IERR)o(OR.)h(167)d(sa)o(ys) g(that)h(it)g(returns)89 1057 y(MPI)p 181 1057 V 16 w(SUCCESS)17 b(if)g(it)g(w)o(orks.)23 b(Only)17 b(the)g(C)f(v)o(ersion)h(seems)f(to) g(ha)o(v)o(e)g(a)h(w)o(a)o(y)e(to)h(return)g(this.)25 b(The)89 1113 y(same)15 b(commen)o(t)f(applies)j(to:)i(167)c(for)f (DELETE)p 968 1113 V 16 w(FUNCTION)8 1207 y(15.)22 b(P)o(age)13 b(167)g(Do)h(w)o(e)g(w)o(an)o(t)f(MPI)p 620 1207 V 16 w(NULL)p 760 1207 V 18 w(FN,)g(MPI)p 957 1207 V 16 w(DUP)p 1073 1207 V 17 w(FN)g(in)i(App)q(endix)i(A?)d(It)g(is)h(a)f(function)h (but)89 1263 y(some)g(are)g(listed)8 1357 y(16.)22 b(P)o(age)14 b(167)h(MPI)p 375 1357 V 16 w(KEYV)-5 b(AL)p 582 1357 V 17 w(INV)g(ALID)17 b(seems)e(to)f(b)q(e)i(missing)g(from)f(App)q (endix)i(A.)8 1451 y(17.)22 b(P)o(age)14 b(169,)g(line)j(38,)d(A)i(n)o (ull)g(Rational)g(should)g(b)q(e)g(remo)o(v)o(ed.)8 1545 y(18.)22 b(P)o(age)14 b(170)h(MPI)p 375 1545 V 16 w(Ab)q(ort)g(tak)o (es)f(a)h(comm)g(and)g(error)g(co)q(de,)g(not)g(string)g(as)g (de\014ned)i(P)o(age)d(197.)8 1638 y(19.)22 b(P)o(age)14 b(171)89 1751 y Fa(MPI_Comm)23 b(comm)g(->)g(MPI_Comm)g(*comm.)89 1863 y Ff(See)16 b(de\014nition)h(on)e(167.)k(And,)c(F)l(or)g(the)g (same)g(reason,)89 1976 y Fa(int)23 b(keyval)g(->)h(int)f(*keyval)89 2088 y Ff(And)89 2201 y Fa(gop_stuff_copier\(...,)e(gop_stuff,)h (extra\))h(->)89 2257 y(gop_stuff_copier\(...,)e(extra,)i (gop_stuff_in,)f(gop_stuff_out,)g(flag\))89 2370 y Ff(p)q(er)15 b(de\014nition)i(on)f(page)f(166.)k(And)89 2482 y Fa(MPI_Comm)k(comm)g (->)g(MPI_Comm)g(*comm)89 2594 y Ff(And)910 2719 y(3)p eop %%Page: 4 4 4 3 bop 89 100 a Fa(int)23 b(keyval)g(->)h(int)f(*keyval.)89 209 y Ff(Also)15 b(need)h(to)f(add)g Fa(*flag)g Ff(for)f(ab)q(o)o(v)o (e)h(c)o(hange)89 319 y Fa(gop_stuff_type)22 b(*gop_stuff)g(->)i (gop_stuff_type)e(*gop_stuff_in,)g(**gop_stuff_out)89 428 y Ff(And,)15 b(I)h(think)g(w)o(e)f(need)h(to)e(add)i(the)f(line:)89 538 y Fa(*gop_stuff_out)22 b(=)h(gop_stuff_in;)89 647 y Ff(Righ)o(t)18 b(no)o(w,)f(the)g(routine)h(do)q(es)g(not)f(app)q(ear) h(to)f(cop)o(y)g(an)o(ything;)h(only)g(incremen)o(ts)h(the)e(reference) 89 704 y(coun)o(t.)i(And,)d(need)g(to)e(mak)o(e)89 813 y Fa(gop_stuff)22 b(->)i(gop_stuff_in)89 923 y Ff(if)15 b(y)o(ou)g(mak)o(e)g(the)g(other)g(c)o(hanges.)8 1015 y(20.)22 b(P)o(age)14 b(215,)g(line)j(31:)89 1125 y Fa(int)23 b(MPI_Comm_compare\()f(MPI_Comm)g(comm1,)i(comm2,)f(int)g(*result)g(\)) 89 1235 y Ff(should)16 b(b)q(e)89 1344 y Fa(int)23 b (MPI_Comm_compare\()f(MPI_Comm)g(comm1,)i(MPI_Comm)e(comm2,)h(int)h (*result)f(\))8 1454 y Ff(21.)f(P)o(age)14 b(142,)g(line)j(39.)i(The)d (sen)o(tence)g(should)g(read:)89 1528 y Fb(MPI)p 174 1528 14 2 v 16 w(IDENT)d Ff(results)h(if)g(and)g(only)h(if)f Fb(comm1)d Ff(and)j Fb(comm2)e Ff(are)h(handles)i(to)e(the)h(same)g(ob) s(ject)f(\(iden-)89 1585 y(tical)j(groups)f(and)g(same)g(con)o(texts\)) f(or)h(b)q(oth)g(are)g(n)o(ull.)8 1677 y(22.)76 b Fc(\017)23 b Ff(page)15 b(47)f(Example)i(3.14,)e(line)j(35)189 1760 y Fa(CALL)23 b(MPI_IRECV\(a\(i,1\),)f(n,)h(MPI_REAL,)g(0,)g(tag,)189 1842 y Ff(should)16 b(b)q(e)g(replaced)g(with)189 1925 y Fa(CALL)23 b(MPI_IRECV\(a\(i,1\),)f(n,)h(MPI_REAL,)g(i,)g(tag,)143 2007 y Fc(\017)g Ff(page)15 b(47)f(Example)i(3.14,)e(line)j(41)189 2090 y Fa(CALL)23 b(MPI_IRECV\(a\(1,index\),)e(n,)j(MPI_REAL,)e(0,)i (tag,)189 2172 y Ff(should)16 b(b)q(e)g(replaced)g(with)189 2255 y Fa(CALL)23 b(MPI_IRECV\(a\(1,)f(index\),)h(n,)g(MPI_REAL,)g (index,)g(tag,)143 2337 y Fc(\017)g Ff(page)15 b(48,)f(Example)i(3.15,) d(line)k(11)189 2419 y Fa(CALL)23 b(MPI_IRECV\(a\(i,1\),)f(n,)h (MPI_REAL,)g(0,)g(tag,)189 2502 y Ff(should)16 b(b)q(e)g(replaced)g (with)189 2584 y Fa(CALL)23 b(MPI_IRECV\(a\(i,1\),)f(n,)h(MPI_REAL,)g (i,)g(tag,)910 2719 y Ff(4)p eop %%Page: 5 5 5 4 bop 143 100 a Fc(\017)23 b Ff(page)15 b(48,)f(Example)i(3.15,)d (line)k(19)189 183 y Fa(CALL)23 b(MPI_IRECV\(a\(1,)f (index_list\(i\)\),)g(n,)h(MPI_REAL,)g(0,)h(tag,)451 240 y(comm,)f(request_list\(i\),)f(ierr\))189 323 y Ff(should)16 b(b)q(e)g(replaced)g(with)189 406 y Fa(CALL)23 b(MPI_IRECV\(a\(1,)f (index_list\(i\)\),)g(n,)h(MPI_REAL,)g(index_list\(i\),)f(tag,)451 463 y(comm,)h(request_list\(index_list\(i\)\),)d(ierr\))-25 606 y Fd(Unresolv)n(ed)j(Issues)-25 708 y Ff(The)18 b(follo)o(wing)g (are)f(some)h(issues)g(that)f(are)g(still)i(b)q(eing)g(discussed)g(and) f(that)f(ha)o(v)o(en't)g(y)o(et)g(reac)o(hed)h(con-)-25 764 y(sensus.)31 870 y(1.)k(An)15 b(issue)i(related)f(to)e(error)h(n)o (um)o(b)q(er)h(2:)k(Should)d(the)e(argumen)o(ts)g(POSITION)i(and)f (OUTCOUNT)89 927 y(in)h Fa(MPI)p 218 927 15 2 v 17 w(Pack)f Ff(b)q(e)h(of)f(t)o(yp)q(e)h Fa(int)f Ff(\(as)f(they)i(are)f(no)o(w\))g (or)g(of)g(t)o(yp)q(e)h Fa(MPI)p 1310 927 V 16 w(Aint)p Ff(?)24 b(That)16 b(is,)h(do)g(w)o(e)f(w)o(an)o(t)89 983 y(to)e(allo)o(w)i(for)e(a)h(bu\013er)g(with)h(more)f(than)g(2)g(Gb) o(ytes?)31 1077 y(2.)22 b(In)16 b(lines)g(26)f(and)g(27,)g(page)g(88)f (of)h(the)g(Ma)o(y)g(5)f(MPI)i(draft,)e(shouldn't)h Fa(&lbuf)g Ff(just)g(b)q(e)h Fa(lbuf)e Ff(?)31 1171 y(3.)22 b(There)15 b(are)g(some)f(inconsistencies)k(in)e(the)f(description)h(of)f(the)g (use)g(of)f(MPI)p 1427 1171 14 2 v 17 w(NULL)p 1568 1171 V 17 w(FN)h(when)g(used)89 1227 y(with)e(MPI)p 282 1227 V 16 w(KEYV)-5 b(AL)p 489 1227 V 17 w(CREA)l(TE.)13 b(In)g(particular,) h(when)f(describing)h(the)f("cop)o(y)p 1516 1227 V 16 w(function",)g(w)o(e)g(sa)o(y)189 1321 y(MPI)p 281 1321 V 16 w(NULL)p 421 1321 V 17 w(FN)i(is)h(a)f(function)h(that)e(do)q(es)i (nothing)g(other)e(than)i(returning)f(\015ag)g(=)h(0.)89 1415 y(This)f(is)g(inconsisten)o(t)h(with)f(a)g(n)o(ull)h(function)f (\(b)o(y)g(de\014nition,)h(a)f(n)o(ull)h(function)f(should)h(do)f (nothing\))89 1471 y(and)g(will)i(fail)f(when)g(used)f(as)g(the)h ("delete)p 838 1471 V 17 w(function",)f(where)h(w)o(e)f(sa)o(y)189 1565 y(It)g(ma)o(y)f(b)q(e)i(sp)q(eci\014ed)h(as)e(the)g(n)o(ull)h (function)g(p)q(oin)o(ter)f(in)h(C)f(or)g(as)f(MPI)p 1442 1565 V 17 w(NULL)p 1583 1565 V 17 w(FN)h(from)189 1622 y(either)h(C)f(or)f(F)o(OR)l(TRAN,)i(in)g(whic)o(h)g(case)f(no)g (delete)i(callbac)o(k)f(o)q(ccurs)f(for)g(k)o(eyv)m(al.)89 1715 y(There)g(are)g(t)o(w)o(o)f(ob)o(vious)h(\014xes:)20 b(1\))15 b(Replace)i(MPI)p 984 1715 V 16 w(NULL)p 1124 1715 V 17 w(FN)e(with)h(MPI)p 1413 1715 V 16 w(NULL)p 1553 1715 V 17 w(COPY)p 1703 1715 V 17 w(FN)f(\(for)89 1772 y(correctness\))9 b(and)i(MPI)p 510 1772 V 16 w(NULL)p 650 1772 V 18 w(DELETE)p 857 1772 V 16 w(FN)e(\(for)h(consistency\))g (in)h(the)g(discussion)h(of)d(MPI)p 1745 1772 V 17 w(KEYV)-5 b(AL)p 1953 1772 V 17 w(CREA)l(TE.)89 1828 y(2\))14 b(Change)h(the)h(w) o(ording)f(under)h("cop)o(y)p 806 1828 V 16 w(function")f(to)189 1922 y(MPI)p 281 1922 V 16 w(NULL)p 421 1922 V 17 w(FN)e(is)h(a)e (function)i(that)e(do)q(es)h(nothing;)h(when)g(used)f(as)g(the)g(cop)o (y)f(function,)189 1979 y(it)k(has)f(the)h(same)f(e\013ect)g(as)h(a)f (function)h(that)f(do)q(es)h(nothing)g(other)g(than)f(returning)h (\015ag)189 2035 y(=)f(0.)89 2129 y(I)i(prefer)g(\(1\))e(b)q(ecause)j (it)f(is)g(clearer)g(as)f(to)g(what)h(is)g(going)f(on)h(and)g (\(naturally\))f(mak)o(es)h(the)f(imple-)89 2185 y(men)o(tation)f (simpler.)21 b(Implemen)o(ting)c(\(2\))d(is)i(straigh)o(tforw)o(ard)d (but)i(unpleasan)o(t.)31 2279 y(4.)22 b(Related)16 b(to)f(previous)h (item,)f(w)o(e)g(ha)o(v)o(e)f(\(F)l(rom)h(Hub)q(ertus)g(F)l(rank)o (e\):)89 2354 y(I)g(extract)g(this)g(out)g(of)g(the)g(MPI-F)g(include)j (\014les.)89 2467 y Fa(#define)23 b(MPI_DUP_FN)70 b(mpi_dup_fn)89 2523 y(/*)23 b(note)h(the)f(draft)g(provides)g(MPI_NULL_FN,)f(however)h (this)g(violates)113 2580 y(*)g(the)h(prototype)e(differences)h(in)g (usage)h(for)f(copy)g(and)h(delete)f(function)910 2719 y Ff(5)p eop %%Page: 6 6 6 5 bop 113 100 a Fa(*)23 b(In)h(agreement)f(with)g(the)g(public)g (domain)g(libary)g(developers)g(we)113 156 y(*)g(distinguish)g(these)g (functions)160 213 y(#define)g(MPI_NULL_FN)113 269 y(*/)89 325 y(#define)g(MPI_NULL_COPY_FN)93 b(...)89 382 y(#define)23 b(MPI_NULL_DELETE_FN)45 b(...)89 494 y Ff(I'v)o(e)19 b(discussed)i(this)f(with)g(Nathan)g(Doss)f(and)g(I)h(b)q(eliev)o(e)i (this)e(has)f(b)q(een)i(incorp)q(orated)f(in)o(to)g(the)89 551 y(public)d(domain)f(v)o(ersion)f(as)g(w)o(ell.)31 645 y(5.)22 b(There)14 b(is)h(a)e(long,)i(still)g(unresolv)o(ed)g (discussion)h(cen)o(tering)f(around)f(P)l(A)o(CK/UNP)l(A)o(CK.)g(A)o(t) f(the)h(end)89 701 y(of)g(it,)i(\(at)e(least)h(the)g(last)h(message)e (I)i(see\),)f(Marc)f(Snir)i(sa)o(ys:)89 776 y(Conclusion:)143 870 y Fc(\017)23 b Ff(a\))16 b(A)g(message)g(that)g(w)o(as)f(created)i (b)o(y)f(one)h(or)e(sev)o(eral)i(sequences)h(of)e(related)g(P)l(A)o(CK) h(calls)g(is)189 927 y(sen)o(t)e(with)g(t)o(yp)q(e)g(MPI)p 581 927 14 2 v 17 w(P)l(A)o(CKED.)143 1000 y Fc(\017)23 b Ff(b\))c(A)h(message)f(that)g(is)h(going)g(to)f(b)q(e)i(unpac)o(k)o (ed)f(b)o(y)g(one)f(or)h(sev)o(eral)f(sequences)i(of)f(related)189 1056 y(UNP)l(A)o(CK)15 b(calls)h(is)g(receiv)o(ed)h(with)e(t)o(yp)q(e)g (MPI)p 1019 1056 V 17 w(P)l(A)o(CKED.)143 1129 y Fc(\017)23 b Ff(c\))d(A)g(Message)f(created)h(b)o(y)g(one)h(sequence)g(of)f (related)g(P)l(A)o(CK)g(calls,)i(and)f(sen)o(t)e(with)i(t)o(yp)q(e)189 1186 y(MPI)p 281 1186 V 16 w(P)l(A)o(CKED)15 b(is)h(iden)o(tical)h(to)d (a)h(message)g(sen)o(t)g(with)h(a)e(regular)i(send.)89 1279 y(I)f(don't)g(understand)h(wh)o(y)e(y)o(ou)h(came)g(to)g(the)g (conclusion)i(it)e(is)h(wrong)e(to)h(send)h(the)f(concatenation)89 1336 y(of)f(sev)o(eral)i(pac)o(king)g(units)f(with)h(t)o(yp)q(e)f(MPI)p 868 1336 V 17 w(P)l(A)o(CKED.)89 1411 y(\(end)g(of)g(Marc\).)k(Where)c (do)g(w)o(e)g(stand)g(here?)31 1505 y(6.)22 b(MPI)p 181 1505 V 16 w(BOTTOM)15 b(in)i(F)l(ortran.)89 1580 y(There)k(is)h(a)f (bug)h(\(or)f(unin)o(tended)i(e\013ect\))e(in)h(the)g(de\014nition)h (of)e(MPI)p 1385 1580 V 16 w(BOTTOM)h(for)e(F)l(ortran.)89 1636 y(Sp)q(eci\014cally)l(,)g(MPI)p 429 1636 V 17 w(BOTTOM)d(can)h(b)q (e)f(used)h(as)f(a)g(bu\013er)g(address;)h(in)g(C)f(the)g(appropriate)h (v)m(alue)89 1693 y(will)12 b(often)e(b)q(e)h(\(v)o(oid)g(*\)0.)17 b(But)10 b(in)i(F)l(ortran,)e(there)g(are)g(no)h(p)q(oin)o(ter)g(t)o (yp)q(es;)g(in)g(most)f(implemen)o(tations,)89 1749 y(all)16 b(v)m(alues)g(are)f(passed)h(b)o(y)f(reference.)20 b(No)o(w)15 b(consider)h(the)f(follo)o(wing)h(t)o(w)o(o)e(co)q(de)i(fragmen)o(ts:) 89 1862 y Fa(C:)89 1918 y(void)23 b(*p;)89 2031 y(p)g(=)h(\(void)f (*\)MPI_BOTTOM;)89 2088 y(MPI_Send\()f(p,)i(...)f(\);)89 2213 y(Fortran:)89 2269 y(integer)g(p)89 2382 y(p)g(=)h(MPI_BOTTOM;)89 2438 y(MPI_Send\()e(p,)i(...)f(\);)89 2563 y Ff(The)15 b(C)g(case)g(is)h(clearly)g(allo)o(w)o(ed;)g(the)f(F)l(ortran)f(case)h (m)o(ust)g(not)g(b)q(e.)910 2719 y(6)p eop %%Page: 7 7 7 6 bop 89 100 a Ff(The)15 b(only)h(w)o(a)o(y)e(that)h(I)h(can)f(see)h (to)f(pro)o(vide)g(MPI)p 971 100 14 2 v 17 w(BOTTOM)g(to)g(F)l(ortran)f (is)i(to)f(mak)o(e)g(it)g(a)g(sp)q(ecial)89 156 y(constan)o(t)20 b(that)h(is)g(lik)o(e)i(a)d(reserv)o(ed)i(w)o(ord)e(-)i(assigning)f(it) h(to)e(a)h(v)m(ariable)i(is)f(erroneous)f(\(that)f(is,)89 213 y(there)15 b(is)g(a)f(sp)q(ecial)j(lo)q(cation)e(that)f(is)i(kno)o (wn)e(as)h(MPI)p 1042 213 V 16 w(BOTTOM;)f(the)h(routines)g(can)g(test) g(for)f(that)89 269 y(sp)q(ecial)20 b(lo)q(cation\).)31 b(This)19 b(ma)o(y)f(seem)h(ob)o(vious,)h(but)e(it)h(is)h(easily)f(o)o (v)o(erlo)q(ok)o(ed.)30 b(W)l(e)19 b(certainly)h(did)89 325 y(while)d(writing)g(the)f(mo)q(del)h(implemen)o(tation.)24 b(I)17 b(b)q(eliev)o(e)h(that)e(this)g(merits)g(some)g(commen)o(t)g(in) h(the)89 382 y(standard,)11 b(since)h(to)e(F)l(ortran,)h(MPI)p 713 382 V 16 w(BOTTOM)g(is)h(not)e(a)h("constan)o(t")f(as)g(de\014ned)j (b)o(y)d(that)h(standard.)31 476 y(7.)22 b(The)14 b(requiremen)o(t)h (for)e(an)h(En)o(vironmen)o(tal)h(Enquiry)g(that)e(allo)o(ws)h(to)g (\014nd)h(whether)f(t)o(w)o(o)f(no)q(des)i(use)89 532 y(the)f(same)f(data)g(represen)o(tation)h(is)h(reasonable,)f(irresp)q (ectiv)o(e)h(of)f(the)g(sp)q(eci\014c)h(use)g(that)e(Rolf)h(has)g(in)89 589 y(mind,)k(for)f(P)o(armacs)g(em)o(ulation.)27 b(More)17 b(generally)l(,)i(users)e(ma)o(y)g(w)o(an)o(t)g(enquiry)h(functions)g (to)f(\014nd)89 645 y(the)e(t)o(yp)q(e)g(of)f(no)q(de)i(on)f(whic)o(h)h (a)e(pro)q(cess)i(runs.)k(This)15 b(w)o(ould)h(help)g(in)g(situations)f (where)g(the)g(user)g(is)89 702 y(willing)i(to)d(run)i(on)f(an)o(y)f(a) o(v)m(ailable)j(mac)o(hine)f(on)f(a)f(net)o(w)o(ork,)g(but)h(ma)o(y)f (w)o(an)o(t)g(to)h(use)g(di\013eren)o(t)g(co)q(de)89 758 y(on)g(di\013eren)o(t)g(mac)o(hine)h(t)o(yp)q(es.)89 833 y(It)g(is)g(not)f(reasonable)i(to)e(assume)g(that)g(the)h(MPI)g (forum)f(will)j(dev)o(elop)f(its)f(o)o(wn)f(nomenclature)i(for)89 890 y(data)g(represen)o(tations)g(\(size)h(of)f(eac)o(h)h(basic)g (language)g(data)f(t)o(yp)q(e,)h(big)g(vs)f(little)i(endian,)g (\015oating)89 946 y(p)q(oin)o(t)14 b(format,)e(c)o(haracter)h(co)q (des,)h(etc.\).)k(First)c(b)q(ecause)g(other)f(standards)g(try)g(to)g (handle)i(this)f(issue)89 1002 y(and,)22 b(second,)g(b)q(ecause)f(a)g (complete)g(c)o(haracterization)g(of)f(the)h(data)f(represen)o(tation)g (used)i(b)o(y)e(a)89 1059 y(pro)q(cess)e(\(whic)o(h)h(dep)q(ends)h(on)e (the)h(underlying)h(mac)o(hine)f(arc)o(hitecture)g(and)f(on)h(the)f (compiler\))h(is)89 1115 y(lik)o(ely)e(to)d(b)q(e)i(quite)g(length)o(y) l(.)89 1191 y(W)l(e)f(agreed)f(that)h(v)o(endors)f(can)h(attac)o(h)f (implemen)o(tation)i(sp)q(eci\014c)h(prede\014ned)f(attributes)f(that)f (are)89 1247 y(asso)q(ciated)h(with)h(MPI)p 501 1247 V 16 w(COMM)p 669 1247 V 16 w(W)o(ORLD.)f(I)h(w)o(ould)f(suggest)g(the) g(follo)o(wing:)89 1322 y(Asso)q(ciate)f(a)f(prede\014ned)i(attribute)f (k)o(ey)f(MPI)p 907 1322 V 17 w(PR)o(OC)p 1055 1322 V 16 w(TYPE)h(with)g(MPI)p 1405 1322 V 16 w(COMM)p 1573 1322 V 16 w(W)o(ORLD.)g(The)89 1379 y(v)m(alue)k(of)f(this)g(attribute) g(enco)q(des)h(the)f("t)o(yp)q(e")g(of)f(the)h(executing)i(pro)q(cess,) e(i.e.)26 b(the)17 b(t)o(yp)q(e)g(of)g(data)89 1435 y(represen)o (tation)e(used)i(b)o(y)e(this)h(pro)q(cess.)22 b(The)16 b(meaning)g(of)g(the)f(v)m(alues)i(of)e(this)i(attribute)e(is)h(imple-) 89 1491 y(men)o(tation)h(dep)q(enden)o(t,)j(except)e(that)f(if)h(t)o(w) o(o)f(pro)q(cesses)h(return)g(the)g(same)f(v)m(alue,)j(then)e(they)g (use)89 1548 y(the)d(same)g(data)f(represen)o(tation)i(\(i.e.,)e(data)h (can)g(b)q(e)h(mo)o(v)o(ed)f(un)o(t)o(yp)q(ed)g(b)q(et)o(w)o(een)h (these)f(pro)q(cesses\).)89 1623 y(Implemen)o(ters)e(of)f(MPI)g(for)g (homogeneous)g(SPMD)g(systems)g(just)g(need)h(to)f(alw)o(a)o(ys)g (return)g(the)g(same)89 1680 y(v)m(alue)17 b(\(0?\))k(with)15 b(this)i(attribute.)j(Implemen)o(ters)d(of)e(MPI)h(on)f(heterogeneous)h (systems)f(ma)o(y)g(need)89 1736 y(some)g(w)o(ork.)89 1811 y(If)k(this)h(suggestion)f(sounds)h(reasonable,)g(then)f(the)h(v)m (arious)f(MPI)g(implemen)o(ters)i(ma)o(y)d(accept)i(it)89 1868 y(no)o(w)14 b(as)h("common)g(practice",)g(and)g(w)o(e)g(can,)g(at) g(a)g(latter)g(time,)g(add)g(this)h(to)e(the)i(standard.)910 2719 y(7)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF .