134

Professional Programmer's Guide to Fortran77 Clive G. Page

Embed Size (px)

Citation preview

Page 1: Professional Programmer's Guide to Fortran77 Clive G. Page

������������ �������������������������������! "�$#"�&%���'(���)%������+*�*

,�-�.�/�021+354�687)0:95;=<>.�/�0@?BA .DC$E�F8GIH50J.LKM0NA CO0@?J9>;QP

R�S A$C"T(0UKM0JVXW50J? R)Y)Y�S

Z\[^]U_�`badc^e8fhgikj�lUm8m�n^oUp8p�j Z�qdasr8tQuwv�xzyJcUt

xt�`${"ad|$|$ad[^}~ad|(c^`$y8}Uf$tB�~f$[ g [^]8_ n ��ad|$fO`ba����)f$t�y8})���J[^`({�[^��a��L_�fOe)as|"��[ g ��{"t�}8f���})��t�`�f�e)t+f$t�`${"|�[J�f�e)t2u=�I����`btBt"��[ g ��{"t�}8f�yJf$ad[^}���a g t�})| t n�� t�`�|$ad[^} j v j [)`�yU}U_�q�yJf$t�`�r8t�`b|$ad[^}�]����)qdad|�e)tB���8_Xf�e)tw�>`btBt�)[J�Lfb�\y8`bt���[^��})��yJf as[)}>�^��asfOew})[Q��}UrJyU`ba�yU}8f\�)t g f as[)})| n ��adf�ew})[(�>`b[^}8fb��Z�[JrUt�`z ¡tB¢^f | n yU})����adf�e2})["£�y g¥¤ �Z�[JrUt�`z ¡tB¢^f |�v¦ g [)]U_=[J�5f�e)t�qda g t�})|$t�ad|§a�} g q��)��tB��a¨}�f�e)t�| t g f$ad[^}"t�}8f$adf$qdtB�h©�u(�ª�h�>`btBt���[ g ��{"t�}UfOyJf$ad[^}�>a g t�})|$tB«�v �e)ad|"¬�qdt g [^}UfOyJa�})|wf�e)t+f$tB¢^f"[J�=­�®b¯b°B±B²O²¥³�¯U´�µ8¶z­�®b¯ ·^®bµU¸"¸"±�®�¹ ²Xº�»)³�¼U±¾½L¯�¿5¯U®O½L®bµU´�ÀUÀ"]����)qdad|�e)tB�k�U_

xzadf�{�yU}"a�} j�lUmUm v� �e)tI�Á[^[ ¤ ad|\})[J�Âqs[)})c([^�)fÃ[J��]�`ba�}Uf n |$[=adf�| tBt�{"tB�2| t�})|$a��)qst�f [Q{wy ¤ t�f�e)t�f$tB¢)fz�Ä`btBtBqd_yMr@yJadq�yU�)qdt+[@r8t�`�f�e)tw��}Uf$t�` })tBf�vQ �e)t2�Ä��ÅÆ�)fOyU})��yU`b���L[^`���[^`bf�` yU}�ÇUÇ�as| n [J� g [^��`�|$t n })[J�![^�)|$[UqdtBf$t n |$a�} g t��[)`bf�`$yU} l8p yU})�"��[^`bf�`$y8} lUÈ e�yMrUt�`bt�])q�y g tB�+adf�vz�5| f�`b[^})cUqd_"`bt g [^{w{"t�})�+�)|$a�})c(��[)`bf�`$yU} l8È yJ|§y={"�)qsf asfO�)��t[J���Lt�yJf���`�tB|�e�yMrUtX�ÁtBt�}hyJ����tB��f [���[^`bf�` yU}¾�Ie)a g e�{wy ¤ t�]�`b[8c^`$yU{w{�a¨})c¾t�yJ| ast�`�yU})��]�`b[Uc^` yU{"|Q{�[^`bt`btBqda�yU�)qdtUvÅ�})tw[J�§f�e)twyJf$fO`$y g f$ad[^})|ª[J�§��[)`bf�`$yU}�Ç8Ç"ad|(f�e�yJf�y�cU[^[)���É`�tBt g [){w])adqst�`�tB¢^ad|$f |�a¨}Êf�e)t��L[^`${Ë[J��u=�I�

��[)`bf�`$yU} n c^Ç8Ç�v¾¦�fw]�`btB|$t�}8f2����[)}>ÌÍf ¤ })[J�Î[J�ÏyU}8_~�É`btBt g [^{w])adqdt�`b|��Ð[)`��Ä�)qdq���[)`bf�`$yU} l8È�n ���)fQ_8[^� g yU}��[J�I})qd[^yJ�Ñy g [^{�])asqdt�`��L[^`wy~|����)|$tBf+q�yU})c^��yJcUt g yJqdqdtB�k� n �Ie)a g eh|$tBt�{"|�yU}ÒtB¢ g tBqdqdt�}Uf���y�_Óf$[�qdt�yU` }{"[)��t�`$}���[^`bf�` yU}>v§�ª}8�Ð[^`�f���}�yJf$tBqd_+f�e)ad|Ï�Á[^[ ¤ ��asqdq§})[Ufª��tQ{"� g eXe)tBq�]���asfOe���[)`���[^`�f�`$yU} lUÈ vÔxt�` e�yU])||$[^{�t���y�_��§{�y�_+cUtBf�f a¨{�t�f$[2`btBr)ad|$t(adf g [^{�])qstBf tBqs_Uv��[^`{"[^`btza�}8�L[^`${wyNf$ad[^}=[^}���[^`bf�`$y8}wÕLyU})�(�§Ö�|$tBt�f�e)tB|$t§��t��8�Ä|$adf$tB| n �Ie)a g e"e�yMrUt§qda�} ¤ |zf$[Ï{�yU}U_�[8f�e)t�`b|�×

Ø�Ù^Ù8Ú\Û Ü)Ü@Ý)Ý^Ý�Þ ß@Ù�à^áÃÞ â^ãzÞ�àÁäzÞLå�æ�Ü�çJäJèUÚ é)êÑØ�ëJì>ãÓÚÁà8è�ãØ�Ù^Ù8Ú\Û Ü)Ü@Ý)Ý^Ý�Þ�í:ë)áUÙ�á)àJî�Þ$äUëNì�Ü ï�ë^á8Ù�á^àNîké:à)áUæ�ãJÙðàNî�ñÑïÑØ�ëJì>ãÓÚÁà8è�ãzÞØ�Ù^Ù8Ú\Û Ü)Ü@Ý)Ý^Ý�ÞOò�í�á�ãMì>ãNáÃÞÄí�áÁÜNñ�ò�Ù>òBè�ë�ÜMì�ë�âUàJè8îÁëNî�ÜJí�ë^áJÙ�á)àJî�ó^ôÁÜUãMî:è)í�à^õÃÞ�Ø�ÙUì>â ö)÷�ä^ã)â^â)ãMî:ÙÂï^ø�ùØ�Ù^Ù8Ú\Û Ü)ÜNñÁß�ì�Þbñ�ßMì\Þ�í�ë^á)ñJØ�àNì\Þ ãNñNå�Ü�ç�í)Ù8î�äMØ�ãJæ�Ü ï)ú^û�ü8ý^ö)þ&ß@Ù�àUÙ>ò8äÒàNî�à�âJê^ÿ�ãUá

� e)tBf�e)t�`�_8[^���ª`badf$tw_U[^��`�[J�I}�]�`b[Uc)`$yU{"|�a�}~��[^`bfO`$yU}�ÇUÇ n [)`({"t�`btBqd_��)| t g [)��t2�ª`badf$f$t�}Ó�U_¾[Uf�e)t�`�| n �|$f�`�[^})cUqd_Q��`bc8t�_8[^��f$[(�)| t��§ ��IZ������Â|$_�}8f�yJ¢ g e)t g¥¤ t�`f [�¬�})�2{�as| f�y ¤ tB|�v��z[^� g yU}"��[J�I})qd[^yJ�"rUt�`�|$ad[^})|�L[^`�{wyU}8_2])q�yJfb�L[^`${�|��É`�[^{ f�e)t(��t��8�Ä|$adf$t�qdad|$f$tB��yU�Á[@r8tUv���I`b[Uf t(f�e)tw��[)[ ¤ [^`badcUa�}�yJqdqd_��)|$a�})c � [^`b��xt�`��Ðt g f n ���)f�q�yJf$t�`ªf�` yU})|$q�yJf$tB�¾adf�a�}Uf$[X�B  ��� f$[�{wy ¤ t=asf

t�yJ|$adt�`=f$[�]�`b[)��� g t�[^}8�Äqda�})tXrUt�`b| as[)})|Qa�} �ª ����ÑyU})� x[8|$f$| g `ba�])f�v¾ �e)t+f$tB¢)fQe)t�`bt�ad|"rUt�`b_�| a¨{�asq�yU`�f$[f�e)t�]����)qdas|Oe)tB��r8t�`b|$ad[^}����)f��zf$[)[ ¤ fOe)tI[^]�]Á[^`bf���})adfb_+f$[ g [^` `bt g f�y��LtB��{"ad|$fOy ¤ tB|�yU})��{wy ¤ tª|$[^{"tªrUt�`b_{"a�})[^`���]Á��yJf$tB|�v����z_U[^��¬�})�¾{"[^`bt�t�` `b[^`b| n ])qdt�yJ|$t=qdtBfÏ{"t ¤ })[J� Õ�t�{wyNasq>f$[ ä@è8Ú��Áâ)ãÔÞbà�äzÞÉå:æ ÖBv �e)tI��[)[ ¤ �\yN|za¨}8f$t�}8f$ad[^}�yJqdqd_ ¤ t�])f�yJ|z|�e)[^`bf§yN|§]�[U|$| a¨�)qdtª|$[�adf g [^�)qd�2�Át�|$[Uqd�2yNf§y�{"[^��tB| f�]�`ba g t n ���)f

��{wy8}�yJcUtB�¾f$[ g [@r8t�`�f�e)t"t�}8f$a�`btw��[^`bf�`$y8}�ÇUÇ"q�yU})c^��yJc8t�yN|���tO¬�})tB��a�}¾f�e)t"¦Ï�ª����yU})������ÅÆ�)f�yU})��yU`���| n

j

Page 2: Professional Programmer's Guide to Fortran77 Clive G. Page

o

a�} g q��)��a¨})c~|$tBrUt�`$yJqf$[^])a g |��Ie)a g e�yU`bt"[J�Lf$t�} [^{"adf$f$tB���Ä`b[^{ {"� g e�q�yU`bc8t�`�f$tB¢)f��Á[^[ ¤ |(��t g y8�)|$twf�e)tB_¾yU`bt��tBt�{"tB��f$[2��t=f$[)[�©OyJ��r@yU} g tB��«�v�Ä}h[)`b��t�`"f$[�t�} g [)��`$yJcUt�f�e)t��I`badf$a�})cÓ[J� g qdt�yU` n `btBqda¨y8�)qst n ]Á[^`bf�yU�)qdt n `b[)���)|$f n yU})�h��tBqsqª|$f�` � g f���`btB�

g [)��t n |�e)[)`bf�|$t g f$ad[^})|�yU]�]Át�yU`�fOe�`b[^�)c^e)[^�)f�f�e)t(��[)[ ¤ [��5t�`ba�})c+|�]�t g a�¬ g c^�)ad��yU} g t"[^}�fOe)t�f�e)tQ]�`$y g f$a g yJq�)|$t�[J�z��[)`bf�`$yU}>vÅ��)|$[UqdtBf$t=[^`Ã|���]�t�`����)[)�)|��Lt�yJf���`btB|�[J��f�e)t�q�yU})c^��yNcUt n {wyJa�})qd_�f�e)[U| tI�Ie)a g eXe�yMrUt(�ÁtBt�}`btBf�yNa¨})tB���L[^` g [^{�]�yJf$a��)adqsadfb_¾��adf�e�t�yU`bqdadt�`ªrUt�`b|$ad[^})|ª[J�§��[^`bf�`$y8} n yU`bt�[^{�asf f$tB���É`b[){Îf�e)tQ{�yJa�}Xf tB¢^f����)fyU`bt g [@r8t�`btB��a�}�fOe)tw|$t g f$ad[^} j�� v� �e)ad|(ad|w]�`b[Jr)as��tB�Ó|$[UqdtBqd_¾�L[^`�fOe)t2yJ|$|$ad|$fOyU} g t2[N�\fOe)[U|$tw�Ie)[¾e�yMrUt"f$[g [^]Át(��adf�e+tB¢)ad|$f$a�})cX]�[)[^`bqd_8�Ä�I`badf$f$t�}�]�`b[Uc^`$y8{"|�[^`Ã[^})tB|��Ie)a g e�]�`�tO�Ä��yJf$t�f�e)t���[^`bf�`$y8}�ÇUÇ=|$f�yU})��yU`��5v

Page 3: Professional Programmer's Guide to Fortran77 Clive G. Page

��������������� �

"!$#�%'&�#�%)(

* +-,).�/10325476'89/�8�.':<; =j v j �ÃyU`bqd_2��tBr8tBqs[)]�{"t�}UfÓv�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v >j v o �)f�y8})��yU`b��a@?�yJf$ad[^}hv=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v >j v � �)f�`�t�})cUf�e)|IyU})� � t�y ¤ })tB| |$tB|�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v Èj vA> xÃ`bt g yU�)f$ad[^})| v�v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v B

C DE.F2�GIHJ476'89/�8�.':LKM67:7H�N�O7/�2 Po v j �)f�yNf$t�{"t�}8f$| v�v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v Ço v o � ¢:]�`btB| |$ad[^})|IyU})��¦I|$| asc)}�{"t�}Uf |Æv�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v mo v � ��}Uf$tBc8t�`�yU})�RQ�t�yJq¡�(yJf�y" Ã_:]ÁtB| v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v lo vA> S�T2��[^[^])| v(v�v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�po v È ��[^`${wyJf f$tB��Å��)fO]��)f�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v jUjo vB �>��} g f$ad[^})|�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�oo v�Ç �É����)qs[ gB¤ | v(v�v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j��o v m ¦�`$`$yM_)|�v�v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j >

U 4�6)89/�89.':VGW:YXM89.FH�/�GIH�N *[Z� v j  �e)t���[^`bf�` yU}2�)_)|$f$t�{ v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j B� v o Z�`�t�yJf$a�})cwf�e)t(�)[^��` g tQZ�[)��t v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j Ç� v � Z�[){w])adqsa�})c!v(v�v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j Ç� vA> �>a�} ¤ a�})c v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�m� v È xÃ`b[Uc^`$y8{!��tBrUtBqd[^]�{"t�}8f v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�l

= XE8�6]\)89.'^`_'/�8bacHd/�ac89NR.':7e"fg.ih'67a'/ CFj>�v j  �e)t���[^`bf�` yU}2Z�e�yU`$y g f$t�`��)tBf�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v o�j>�v o �)f�yNf$t�{"t�}8f$|�yU})�X�>a�})tB| v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v oUo>�v � xÃ`b[Uc^`$y8{ �ª})asf | v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v o >>�vA> �)f�yNf$t�{"t�}8f\ Ã_�]�tB|�yU})�XÅ�`b��t�`~v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v oUÈ>�v È �)_�{"��[Uqda g �ªyU{"tB| v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v o B>�vB kil[Timbl ø)é �)f�yJf t�{"t�}Uf+v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v o Ç>�v�Ç ö)û S+�)f�yJf$t�{"t�}8f v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v o Ç

Z KM6�:c2n/3.':F/�2po<qE.F8rGs.Ft<uvN�2po<.':7exwy8�89.ih�2 CFzÈ v j �(yJfOyQ Ã_�]�tB| v�v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v oUmÈ v o Z�[)})|$f�yU}8f$|kv(v�v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v ��jÈ v � ��]Át g a �L_)a¨})c��(yNf�y" §_�]�t v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v �p�È vA> �ªyU{"tB�XZ�[)})|$f�yU}8f$|�v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v � BÈ v È � yU`�a¨y8�)qstB| v(v�v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v �UmÈ vB ¦�`$`$yM_)|�v�v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v �Um

Page 4: Professional Programmer's Guide to Fortran77 Clive G. Page

��������������� >

{ wy8�Gs/�,�^JN|/�GIH =)jB�v j ¦�`badf�e�{"tBf$a g �z¢�]�`btB|$|$ad[^})| v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v}> jB�v o ¦�`badf�e�{"tBf$a g �Ä}8f�`ba�})|$a g ����} g f$ad[^})|ªv�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v}> ÈB�v � ¦�`badf�e�{"tBf$a g ¦I|$| asc)}�{"t�}Ufª�)f�yJf$t�{"t�}8f$|hv(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v}> m

P K5,'.F89.FH�/3N�8y~y.':7e�uIG�:'\ .':7exf�6F\'G�H =)zÇ�v j Z�e�y8`$y g f$t�`Ã��y g asqdadf$adtB|�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v}> mÇ�v o Z�e�y8`$y g f$t�`������)|$f�`�a¨})c8|Xv(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v}> lÇ�v � Z�e�y8`$y g f$t�`��z¢�]�`btB|$| as[)})| v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v ÈUpÇ�vA> Z�e�y8`$y g f$t�`æª|$|$adc^}�{"t�}8fÏ�)fOyJf$t�{"t�}8f$| v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v È�jÇ�v È Z�e�y8`$y g f$t�`��Ä}8f�`ba�})|$a g ����} g f as[)})|Æv�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v È�jÇ�vB Q�tBq�yJf as[)}�yJq�� ¢:]�`�tB|$|$ad[^})|�v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v Èp�Ç�v�Ç �>[8cUa g yJq��z¢�]�`btB|$| as[)})|(v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v ÈUÈÇ�v m �>[8cUa g yJq5¦ª|$|$adc^}�{"t�}8fI�)f�yJf t�{"t�}Uf |kv(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v È Ç

z KM6�:F/�896)u�_'/3.�/3NF^JNF:]/�2 Z'Pm v j Z�[)}Uf�`�[Uq��)f�` � g f���`btB| v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v È Çm v o � ï ��£Ãqd[ g¥¤ |�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v ÈUmm v � S�TJ����[^[^])| v(v�v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v B pm vA> �>[8cUa g yJq����L� �)fOyJf$t�{"t�}8fwv(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v B om v È �ª} g [^})��adf$ad[^}�yJqgm|T ú Tw�)fOyJf$t�{"t�}8f�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v B om vB Z�[){w]��)f$tB�RmiT ú T��)f�yJf$t�{"t�}8f¾v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v B �m v�Ç � ú Tbk2�)f�yNf$t�{"t�}8f�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v B�>

� XE8�67H�N�e�ac89N�2 {�=l v j ��}Uf�`�a¨})| a g ����} g f$ad[^})|Ëv�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v B Èl v o �)f�yNf$t�{"t�}8f��>��} g f$ad[^})|!v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v B Èl v � � ¢^f$t�` }�yJq5x§`b[ g tB����`btB| v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v BUÇl vA> ¦�`bc^��{"t�}8f$|�[J���z¢)f$t�`$}�yJqx§`b[ g tB����`btB|Æv(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v Ç pl v È � yU`�a¨y8�)qstB|�yJ|��(��{�{(_�¦Ï`bc)��{"t�}Uf | v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v Ç jl vB ¦�`$`$yM_)|\yN|�¦Ï`�c^��{"t�}8f$|wv(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v Ç �l v�Ç xÃ`b[ g tB����`�tB|IyJ|�¦�`bc^��{"t�}8f$| v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v ÇpBl v m ������`b[)�)f$a�})tQyU})�¾Z�yJqdq��)f�yJf t�{"t�}Uf |�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v Ç ml v l l ö^úb� l û �)fOyJf$t�{"t�}8f v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v Ç ml v j�p ïb�:û�ü8ú � T û �)f�yJf$t�{"t�}8f!v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v Ç ll v jUj � ø|�)ö �)f�yNf$t�{"t�}8f�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v mUpl v j�o öi�^ú)ö l û)ø[� yU})� � û)ú l � û � � ü �)f�yJf$t�{�t�}Uf$|�v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v m�j

*[jJ09:7Oga'/��F�1a'/�Oga'/�4�.FHpGIu�Gs/�GsN[2 zFCj�p v j �zadqdtB| n �Ä�UÅ!�ª})adf$| n yU})�RQ�t g [^`b��|Âv�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v mUoj�p v o � ¢^f$t�` }�yJq>�zasqdtB|Xv�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v mUÈ

Page 5: Professional Programmer's Guide to Fortran77 Clive G. Page

��������������� È

j�p v � ��}Uf$t�` }�yJq5�zadqdtB| v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v mUmj�p v�> xÃ`btO��Z�[^}�})t g f$tB���zadqstB| v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v mUlj�p v È �Ã`$`b[^`�yU})�R�Ã})�)��Å��D�Ä�zadqdt2Z�[^})��adf$ad[^})| v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v lUpj�p v�Bh��[^`${wyJf���]Át g a ¬ g yNf$ad[^})| v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v l�jj�p v Çh��[^`${wyJf�� ��asf���tB| g `ba�])f$[^`b|hv�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v lp�j�p v m ��[^`${wyJf��(yJfOy(��tB| g `ba�])f$[^`b| ø���ö���ï�� m � � �J� v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v lp�j�p v l ��[^`${wyJf�Z�[)}Uf�`�[Uq���tB| g `�a¨])f [^`b|Îv�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v l Bj�p v j�p �>ad|$f��Ä��a¨`�t g f$tB�X��[^`${wyJf f$a�})cQv�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v lUlj�p v jUj Z�y8`$`ba�yJcUtO��Z�[)}Uf�`�[Uq�yU})�XxÃ`ba�}Uf a¨})c�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�pUpj�p v j�o ��}�]��)f��UÅ��)f�]��)f��)f�yJf$t�{�t�}Uf$|�yU})�J�ªtB_^��[^`���|Ïv=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�p�jj�p v j�� Tbk ö)û �)f�yNf$t�{"t�}8f�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�p�jj�p v j > üi� Ti� ö �)f�yJf$t�{�t�}UfÎv�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�pp�j�p v j�Èi� û:ùd� � l ö �)f�yJf t�{"t�}Uf+v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�pp�j�p v j B�l ö^ø S2yU})���|l � ú^ö �)fOyJf$t�{"t�}8f$|Ñv�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�p >j�p v j Ç�l ö � � û S2y8})�y� ø�üUþ �bk ø�üUö �)f�yJf$t�{"t�}8f$|hv(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�p B

*F* S ø^ú)ø _'/3.�/3N]^�N]:F/ *�j'PjUj v j ��tO¬�})tB�¾yU})�X�I})��tO¬�})tB� � yJq��)tB|+v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�pUmjUj v o ��})asf a¨yNqsad|$a�})c � yU`ba�yU�)qdtB|Æv(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�pUmjUj v � ��})asf a¨yNqsad|$a�})c�¦Ï`$` y�_)| v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�pUljUj v�>YS ø^ú)ø �)f�yNf$t�{"t�}8f$|�a�}XxÃ`b[ g tB����`�tB|Æv(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v jUj�pjUj v È u�t�})t�`$yJq7Q��)qdtB|�v�v=v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v jUjUj

*[C�KM6�^�^J67: D�uv67H��72 *]*F*j�o v j ��|$a�})c�Z\[^{w{"[^}+£Ãqd[ gB¤ |hv�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v jUj�oj�o v o £Ãq�yU} ¤ Z�[^{�{"[^}+£§qd[ g¥¤ |Xv�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v jUj�Èj�o v � ü T é)é T û �)fOyJf$t�{"t�}8f v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v jUj Bj�o v�>Y� � T ü8þ S ø)ú^ø x§`b[8c^`$yU{ �I})adf$|Ëv�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v jUj B

*[U��5t�2n6)usN|/3NJ.':7e"�1N[O<89N[H�.�/3N�e"47Ni.�/�a78�N�2 *]*FPj�� v j �)f$[)`$yJcUtª[J�§Z�e�yU`$y g f t�`��)fO`ba�})cU|Ia�}���[^}8� g e�yU`$y g f$t�`��Lf$t�{"|�v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v jUj Çj�� v o ¦�`badf�e�{"tBf$a g � ï �)f�yJf$t�{�t�}Uf�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v jUj�mj�� v � ø �|� � m û y8})�XyJ|$|$adc^})tB�Jm|T ú T+�)f�yJf$t�{"t�}8f$| v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v jUj�mj�� v�>Yk øp� � ö �)f�yJf$t�{�t�}UfÎv�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v jUj�mj�� v È ¦ªqdf$t�`$}�yJf$t$l ö)úp� l û v�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v jUj�mj�� v�B ö)û^ú li�2�)f�yJf$t�{�t�}UfÎv�v�v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v jUj�lj�� v Ç ö�ù�� � �^ø��Uö)û�üUö �)f�yJf t�{"t�}Uf!v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v jUj�lj�� v m ��]Át g a ¬ g �ªyU{"tB|�[N� ��}Uf�`�a¨})| a g �>��} g f$ad[^})|�v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�oUpj�� v l kil � û)ú �)f�yJf$t�{�t�}UfIy8})��|$a�{w])qda ¬�tB��l ö)ø S�v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�oUpj�� v j�p ö)û S ï � �8ö �)f�yJf$t�{"t�}8f!v(v�v�v=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�o�jj�� v jUj Å��)|$[8qstBf t(��[)`${wyJf���tB| g `ba�])f$[)`b| v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�o�j

Page 6: Professional Programmer's Guide to Fortran77 Clive G. Page

��������������� B

*|=�KM6�^�^J67: ����/3NF:72�Gs67:72�/36�/�,)N�4�6)89/�89.':Y_'/3.':ce�.F8�e *�C'*j >�v j ���Ä������ ��ª� j Ç Èp� � ¢^f$t�})| as[)})|Qv=v�v�v(v�v(v�v�v=v�v�v(v�v�v=v�v�v(v�v�v(v�v=v�v�v(v�v�v=v�v j�o�j

*[ZJwyO<O<NF:7e<Gv�"w¡  f�GI23/16F¢£09:F/�8�GW:c29G�H�4ga<:7H�/�Gv6�:c2 *�CFC

*[{JwyO<O<NF:7e<Gv�"D¤ "_cO<N�HpG¦¥�HJ§¨.'^�N�2�6F¢ª©«N]:)N�8�G�H�4ga<:cHd/�Gv6�:c2 *�C�=

*FPJ©y§R¬­4<89N|NR�167Hia<^�N]:F/3.�/�Gs67:xf�G�HdNF:7H�N *�C�=

Page 7: Professional Programmer's Guide to Fortran77 Clive G. Page

® ¯�°�± ��²³��´���µ���µ ± �5¶ Ç

· ¸ ¹Mº %¼»�(¾½E!�¿'%F¿ º #5À

��[)`bf�`$yU}�as|�f�e)tÏ{�[U|$f���ad��tBqd_X�)|$tB��]�`�[Uc^`$yU{�{"a�})cQq�yU})c)��yJcUt�a�}+f�e)tª��[)`bqd�w�L[^`�}^��{�t�`ba g yJq�yU]�])qda g yJf$ad[^})|�v�Lf(e�yN|Qy g e)adtBrUtB��f�e)ad|(]�[8|$adf$ad[^}�]�y8`bf$qd_��8_��ÁtBa¨})c¾[^}�f�e)t�| g t�})twt�yU`bqdadt�`�fOe�yU}¾yU}U_�[J��fOe)tQ[8f�e)t�`�{wy�Áb[^`q�yU})c^��yJc8tB|QyU})��]�y8`bf$qd_���t g yU�)|$t+adf(|$tBt�{�|(c^`$yN����yJqdqs_~f$[Xe�yMrUtwtBrU[UqdrUtB�~f�e)t"�Lt�yJf���`btB|=�Ie)a g e~adf$|Q�)|$t�`�| ntB|�]Át g a¨yNqsqd_¾| g adt�}8f$ad|$f$|�yU})��t�})cUa�})tBt�`b| n �Ð[)��})��{"[U| f\�)| tO�É�)qLv��Ä} [^`b��t�`�f [�`�tBf�yJa�} g [^{�]�yJf$a��)adqsadfb_X��asfOe+[Uqd�]�`b[Uc)`$yU{"| n ��[^`�f�`$yU}¾e�yJ|"yJ��r@yU} g tB��{�yJa�})qs_Ó�U_�yJ����a�})c�})tB���Ðt�yJfO��`btB|Q`$yNf�e)t�`�f�e�y8}��U_Ó`bt�{"[Jr^a�})c�[Uqd�[^})tB|�vw �e)t2})tBfQ`btB|O�)qsf=ad| n [J� g [^��`�|$t n f�e�yNf�|$[^{"t2]�y8`bf$|�[J��f�e)twq�yU})c^��yJc8t2yU`bt n �8_�]�`btB|$t�}8f(|$f�y8})��yU`b��| n`$yJfOe)t�`�yU` g e�yJa g ×z|$[^{�t�[J��f�e)tB|$t g yU}���t"yMrU[Uad��tB��t�yJ|$adqd_ n [8f�e)t�`b| g yU} |$f$adqdq���t"yw})�)as|OyU} g tUv �e)ad|�|$t g f as[)}�cUadrUtB|zy���`badtO��e)ad|$f [^`b_ª[J�:fOe)t§q�yU})c^��yJc8t n [^�)f qsa�})tB|zadf$|¡�É�)fO��`bt�]�`b[8|�]�t g f$| n yU})�=|���{w{wy8`bad|$tB|

adf$|�|$fO`bt�})cUf�e)|Iy8})����t�y ¤ })tB|$| tB|�v

Â7Ã� Ä�Å'ÆpÇ�ÈÊÉ�Ë�Ì�ËFÇ�Í7Î�ÏÐËFÑ�Ò

��[)`bf�`$yU}+��yJ|ªa�}Ur8t�}Uf$tB�Ó�U_Xy+f$t�y8{Æ[J��]�`�[Uc^`$yU{�{"t�`b|���[^` ¤ a�})c+�Ð[)`I��£�� a�}�f�e)t"t�yU`bqd_�})a�})tBf$tBt�}8�L¬��Lf$adtB|�v �e)ad|�c^`b[^��] n qdtB�X�8_MÓU[)e�}2£�y gB¤ �)| n ]�`b[)��� g tB�2fOe)t�¬�`b|$f g [^{w])adqdt�` n �Ð[^`ÃyU}w��£���Ç p > g [^{w]��)f$t�` n a�} jMlUÈ Ç�v �e)tB_w�)|$tB�+f�e)t�}�yU{"t���[^`bf�`$y8}Q�Át g yU�)|$tª[^})t�[J�5f�e)tBa�`�]�`ba�} g a�]�yJq5yJa�{"|���yJ|�©b�L[^`${"�)q�y�f�`$y8})|$q�yJf$ad[^})«�vz£��)f��[)`bf�`$yU}~��yJ|wa�}Ó�Äy g f"[^})t�[J�ÏfOe)t�rUt�`b_~¬�`b|$f2e)adc^e8�ÄqdtBrUtBqªq�yU})c^��yJcUtU×�adf g yU{"t g [){w])qdtBf$tX��adf�e g [^}8f�`b[Uq|$f�` � g f���`btB|IyU})� �Éy g asqdadf$adtB|ª�L[^`�a�}�]��)f��J[^�)fO]��)f�v§��[^`bf�` yU}���t g yU{�tQ]�[)]��)q¨y8`�Ô��)adf$tQ`$y8])as��qd_¾yU})� g [^{�])asqdt�`b|��t�`bt"|$[)[^}�]�`b[)��� g tB�¾�L[^`ª[Uf�e)t�`=�Ä£�� {�y g e)a�})tB|�v+£ÃtO�Ð[^`�twqd[^})c�[Uf�e)t�`={wyU})�8�Éy g fO��`bt�`b|ª��t�`�t"�Ð[)` g tB�¾f$[��tB|$adc^}Ò��[^`bfO`$yU} g [^{w])adqdt�`b|w�L[^`=f�e)tBa�`"[J�I}he�yU`����\y8`btUv�£Ã_ j�l B � yJqdq�f�e)tX{�y�Áb[^`({wy8}^�8�Äy g f���`bt�`�|2e�yJ�Áb[Ua�})tB�2a�}�yU})�wfOe)t�`btI��t�`bt���[p?Bt�})|�[J�5��a��5t�`bt�}8f���[^`�f�`$yU} g [^{w])adqdt�`b|�a�}�tB¢^ad|$f t�} g t n {wyU}8_"[J�5f�e)t�{ `$yNf�e)t�`{"[^`�t(]�[J��t�`��É�)q>f�e�y8}+f�e)t([^`�asc8a¨}�yNqÐv¦Iqdqf�e)ad|(`btB|��)qdf$tB�¾a�}Xy g e�yJ[8|�[J�§a�} g [^{w]�yJf a¨�)qdtw��a�yJqdt g f$|MvI�)[^{"t=[^`b��t�`���yJ|I`btB|$f [^`btB�Xa�} j�l BpB"�ªe)t�}

yU}�¦Ï{�t�`ba g yU}2}�yNf$ad[^}�yJq>|$f�yU})��y8`b�w��yJ|§��tO¬�})tB�+�L[^` ��[^`bfO`$yU}>vz �e)ad|��\yN|§f�e)t�¬�`b|$fÃf$a�{"t�f�e�yJf�y�|$f�y8})��yU`b�e�yJ��tBrUt�`��ÁtBt�}X]�`b[)��� g tB���L[^`�y g [^{w]��)f$t�`�]�`�[Uc^`$yU{�{"a�})cQq�yU})c)��yJcUtUvz¦ªqdf�e)[^�)c^e+adf���yJ|�rUt�`b_�r@yJq���yU�)qdt nadf(e�yU`b��qd_ g e)t gB¤ tB��fOe)tQc)`b[J��f�e�[N��f�e)t"q�yU})c^��yJc8tUvÖÕ��)adf$tw��tBqda���t�` yJf$tBqd_�fOe)tQ��[^`bf�` yU}�BpB"|$fOyU})��yU`b�¾[^})qd_|�]Át g a ¬�tB�hy+|$tBf�[J�§q�yU})c)��yJcUt"�Lt�yJf���`btB|ª�Ie)a g e�e�yJ��f$[���t+]�`btB|$t�}8f�×�adf(��ad��})[8f(]�`btBrUt�}8fI[UfOe)t�`��Ðt�yJfO��`btB|��tBa�})c�yN����tB�5v¾¦I|=f$a�{"t���t�}Uf=[^}�fOe)tB|$t2tB¢)f$t�})|$ad[^})|w]�`b[8qsa��Lt�`$yJf$tB��y8})��f�e)t�})tBtB�Ó�L[^`(y��É��`bfOe)t�`(| f�yU}8���yU`b��a@?�yJf as[)}ÓtB¢^t�` g ad|$t¾��t g yU{�tXyU]�]�yU`bt�}8f�v� �e)ad|wtBrUt�}8f���yJqdqd_h`btB|��)qdf$tB�ha�}Óf�e)t g ��`$`bt�}8f"rUt�`b|$ad[^}Ó[N�If�e)tq�yU})c^��yJc8tU×z��[^`�f�`$yU}�ÇUÇÁv

Â7ÃW× Ø<ÒdÅ'Ñ�Ù�Å'ÆpÙ�Ú�Û�Å]ÒdÚ�Í7Ñ

Å�})t�[J��f�e)t�{"[U|$f=a�{w]�[^`�f�yU}8f(�Lt�yJf���`�tB|([J�I��[^`bf�` yU}�]�`b[Uc)`$yU{"|�ad|wf�e)tBa�`"]�[)`bf�yU�)adqdadf�_ n f�e�yJf=ad|wf�e)t+t�yJ|$t��adf�e"�ªe)a g e+f�e)tB_ g yU}w�ÁtÏ{�[@r8tB�"�É`�[^{&[^})t g [^{�]��)f$t�`z|$_)|$f$t�{�f$[Qy8})[Uf�e)t�`Bv��[J��fOe�yJfzt�y g ewcUt�})t�` yJf$ad[^}[J��e�yU`b����yU`�tI|�� gBg tBtB��|�f�e)tÏ]�`�tBr^ad[^�)|�[^})tªtBrUt�`b_"�LtB�Ñ_Ut�yU`b| n �Ie)adqdt�cU[)[^�+|$[J�Lfb�\y8`bt�[J�Ðf t�}wq�yJ|$f |z�L[^`�{Q� g eqd[^})cUt�` n {"[)`btÏy8})�X{"[^`bt�]�`b[Uc^` yU{"|�})tBtB��f [��Át(]�[^`�f�yU�)qdtUv§ �e)t�c^`�[@��f�e"a�} g [^{w]��)f$t�`�})tBf���[^` ¤ |Ãas|ªyJqd|$[t�} g [^��`$yNcUa�})c2f�e)t���tBr8tBqs[)]�{"t�}Ufª[J�§]�[^`�f�yU�)qdt(]�`b[Uc^` yU{"|�v �e)t�¬�`b| fw|$f$t�]Òa¨}Ây g e)astBr)a�})c�]�[^`�f�yU�)adqdasfb_had|+f$[�t�})|���`bt�f�e�yJf2yÊ|$f�yU})��yU`��Ó�Ð[^` { [J�(]�`b[Uc^`$y8{w{"a�})c

q�yU})c^��yJc8t(ad|Ïy gBg t�])f�yU�)qdt"tBrUt�`b_)�Ie)t�`btUv� �e)ad|(})tBtB�Xad|Ï})[J�k��as��tBqd_�`bt g [Uc)})as| tB��yU})�¾e�yJ|Ï`�tB|��)qdf$tB�Xa�}�f�e)t��tBrUtBqd[^]�{"t�}8f�[J�5|$f�yU})��y8`b��|z�L[^`§yNqsq�f�e)t�{wy�Áb[^`]�`b[Uc^`$y8{w{"a�})c(q�yU})c^��yNcUtB|�v§��}2]�`$y g f$a g t n e)[J��tBrUt�` n {�yU}U_[J�IfOe)tX})tB� |$fOyU})��yU`b��|we�yMrUtX��tBt�}Òadc^})[^`btB��yU})�h| f�yU})��yU`b�)� g [)}8�Ð[^` {"a�})c�|$_)|$f$t�{"|=�L[^`"q�yU})c^��yJc8tB|wqda ¤ t£�yJ|$a g y8})�XxzyJ| g yJq5yU`bt�| f$adqsqrUt�`b_�`$yU`�tUv��[^`bfO��}�yJf$tBqd_"��[^`bfO`$yU}�ad|�a�}2{"� g e"��tBf$f$t�` |�e�yU]ÁtUקyJq�{"[U|$f§yNqsq g ��`$`bt�}8f§��[^`bf�`$y8}�|$_)|$f$t�{"|�yU`bt���tB|$adc^})tB�

f$[ g [^}8�L[^`${&f [(f�e)t�|$f�y8})��yU`b�2�)|���yNqsqd_ g yNqsqdtB�+��[^`�f�`$yU}�ÇUÇÁv� �e)ad|§��yJ|§]�`�[^��� g tB�+a�} j�l ÇUÇI�8_wy g [^{�{"adf$f$tBt[J��f�e)t�¦�{"t�`ba g yU}��ªyJf$ad[^}�yNqI�)f�yU})��yU`���|2�Ä})|$f asfO�)f$t Õ�¦��ª���ÄÖ+yU})�h��yJ|w|����)|$t3Ô��)t�}8f$qd_�yJ��[^])f$tB���8_hf�e)t

Page 8: Professional Programmer's Guide to Fortran77 Clive G. Page

® ¯�°�± ��²³��´���µ���µ ± �5¶ m

�Ä}8f$t�`$}�yNf$ad[^}�yJq§�)f�yU})��y8`b��|QÅ�`bc)yU})ad|�yJf$ad[^}�ÕÉ�Ä��Å�ÖBv5 �e)t���tO¬�})asf as[)}Ó�\yN|(]����)qsad|�e)tB��yN|�¦Ï�ª��� � � v l � j�l Ç myU})�X����Å jMÈp�Ul � j�l8mUp v5 �e)t=f$t�`${�©��)f�yU})��y8`b����[^`�f�`$yU})«"��adqdqÔ�ÁtQ�)|$tB��a�}�f�e)t(`btB| f�[J��f�e)ad|���[)[ ¤ f$[2`btO�Lt�`f$[2{�t�yU}+��[^`�f�`$yU}�ÇUÇ=y gBg [^`b��a�})c+f$["f�e)ad|I��tO¬�})adf$ad[^}>v��[^`bfO`$yU}�as|ª})[@� [^})t�[J�zf�e)t({"[U|$f���ad��tBqd_��)| tB� g [^{w]��)f$t�`�q�yU})c)��yJcUtB|�a�}�fOe)t���[)`bqd����adf�e g [^{�])asqdt�`b|

yMr@yJadq�yU�)qdt��Ð[^`yJq�{"[U| fztBrUt�`b_(fb_�]�t�[J� g [^{w]��)f$t�`[^}=f�e)t�{wy8` ¤ tBf�v�)a¨} g t���[^`bfO`$yU}�ÇUÇ�ad|gÔ:�)adf$t�c8[^[)�wyJfÔe�y8}8���qda�})c g e�yU`$y g f t�`z|$f�`�a¨})c8|\yN|���tBqdq5yJ|�}^��{"�Át�`b|IyU})��yJqd|$[we�yJ|�]�[J��t�`��Ä�)q�¬�qdtO��e�yU})��qda�})cXyU})�+a�}�]��)f��J[^�)f�]��)f�Äy g adqsadf$adtB| n adf�ad|ª|��)adf�yU�)qdt=�Ð[)`�y�{Q� g e+��ad��t�`ª`$yU})cUt�[J�§yU]�])qda g yJf$ad[^})|ªf�e�yU}���tO�L[^`btUv

4�acuIu�.':ceÐ_<act<23Ni/5476'8�/�89.': �e)t�¦��ª���z�)f�yU})��yU`b�wy g fO��yJqdqs_���tO¬�})tB|�fb��[ª��a��5t�`bt�}8f§qdtBrUtBqd|Ã�L[^`��[^`�f�`$yU}�ÇUÇÁv5 �e)t�|$a�{w])qdt�` �Ð[)`${ n |O���)|$tBf��[)`bf�`$yU} n ��yJ|ªa¨}8f$t�})��tB�~�Ð[)`I�)|$t"[^} g [^{�]��)f$t�`b|��Ie)a g e¾��t�`bt"f$[^[+|�{wyNqsqzf [�e�yU})��qdtwfOe)t"�É�)qdqzq�yU})c^��yNcUtUv��[@�hfOe�yJf§tBrUt�}�]�t�`b|$[)}�yJq g [^{�]��)f$t�`b|�y8`bt�]�[J��t�`��É�)q�t�})[^�)c^e"f [Qe�yU})��qdt��É�)qdq���[^`bf�` yU}�ÇUÇ n |����)| tBf§��[)`bf�`$yU}ad|Ï]�` y g f$a g yJqdqd_�[^�)|$[UqdtBf$tUv§ �e)as|���[)[ ¤ n f�e)t�`btO�L[^`bt n [^})qd_���tB| g `ba���tB|��É�)qdq��[^`�f�`$yU}�ÇUÇÁv

4�6)89/�89.':c�]j �e)tX����Å��)f�yU})��y8`b�Ó�Ð[)`"��[^`�f�`$yU} lUp e�yJ| n [�Ü g a�yJqdqd_ n `bt�])q�y g tB�Âf�e�yJf=�L[^`"��[)`bf�`$yU}�Ç8Ç�v��Éfwa�}Uf�`�[^��� g tB|�y��t�yJqdf�e¾[J�I})tB� �Lt�yJf���`btB|"{wyU}8_�[N�\fOe)t�{�yJq�`bt�yJ��_¾a�}h�)|$twa�}~[Uf�e)t�`=e)asc)e8�ÄqstBr8tBq�q�yU})c^��yJcUtB| n �ªe)a g e~��adqsq{wy ¤ t�]�`b[Uc)`$yU{w{"a�})cht�yJ| ast�` n yU})�Ñ�Äy g adqdadf�yJf$t¾f�e)t g [^})|$fO`$� g f$ad[^}Ñ[J�Q]Á[^`bf�y8�)qstÓyU})�k`b[^���)|$f�]�`b[Uc^` yU{"|�v �e)t��Ie)[UqdtX[J�(fOe)tX��[)`bf�`$yU}�Ç8Ç��)fOyU})��yU`b�had|�a�} g q��)��tB��yJ|�y�]�`b[^]Át�`w|����)| tBf n |$[ÓtB¢^ad|$f$a�})ckÕ�|$f�y8})��yU`b�)�g [^}8�L[^`${"a�})c^Ö+��[^`bf�` yU}�]�`b[8c^`$yU{"|���adqsq"yU�)f$[^{�yJf$a g yJqdqd_ g [^}8�L[^`${ yJqd|$[hf [�f�e)t�})tB� �)f�yU})��yU`b�5v �I}8f$adq��tBqdq �Äf tB|$f$tB� g [^{�])asqdt�`b|ª�L[^`���[^`�f�`$yU} lUp yU`bt(��as��tB|O]�`bt�yJ� n e)[J��tBrUt�` n {"[U|$f�]�`b[Uc^` yU{w{"t�`b|ªyU`bt(| f$adqsq§�)| a¨})c��[)`bf�`$yU}�Ç8Ç n ��adf�e�]�t�`$e�y8])|Iy=�LtB��{"a�})[^`�tB¢^f$t�})| as[)})|�v

Â7ÃIÝ Ø<ÒdÆbËFÑgÞ�Òdß�àyÅ'Ñ�ÙâáãË]Å)ägÑ�ËFà�à�ËFà

��[)`bf�`$yU}=e�yJ|§��t g [){"tI]�[)]��)q¨y8`§yU})�w��as��tB|O]�`bt�yJ�2�Át g yU�)|$t�[J�>adf$|���})a@Ô��)t g [^{"�)a�}�yJf$ad[^}"[J�5]�`b[^]Át�`bf$adtB|�v§�Éf$|})��{"t�`ba g yJq§yU})�¾a�}�]��)f��J[^�)fO]��)fª�Éy g adqdadf$adtB|wyU`btQyNq¨{�[U|$f(��}�`badr@yNqsqdtB�Ó�Ie)adqdtwf�e)[U|$t=�L[^`�qs[8cUa g yU})� g e�yU`$y g f$t�`e�yU})��qda�})c2yU`btªyJ|zcU[)[^�2yN|�{"[U| fz[Uf�e)t�`zq�yU})c)��yJcUtB|�v��[)`bf�`$yU}=ad|�|$a�{w])qdtIt�})[)�)c^ewfOe�yJfz_U[^�"��["})[Uf§})tBtB�+f$[��t�y g [){w]��)f$t�`z|O]�t g a�yJqdad|$f�f$[(�Át g [^{"t��ÉyU{�asqda�yU`Ã��adf�e"adf �ÉyJa�`bqd_5Ô��)a g¥¤ qd_ n _UtBfÃasf�e�yJ|z�Lt�yJf���`�tB| n |�� g ewyJ|Ãf�e)ta�})��t�]�t�})��t�}8f g [^{w])adq�yJf$ad[^}+[J�z]�`b[Uc^`$y8{ ��})adf$| n �Ie)a g e�yJqdqs[J�kadf�f$[w��t(�)| tB�2[^}�rUt�`b_�q¨y8`bcUt(yU]�])qda g yJf$ad[^})|�vx§`�[Uc^`$yU{�|��ª`badf$f$t�}�a�}���[)`bf�`$yU}�y8`btQyJqd|$[�{"[^`�t(]�[^`bfOyU�)qdtQfOe�yU}�f�e)[8|$t�a�}X[8f�e)t�`I{�y�Áb[^`Ãq¨y8})c^��yJcUtB|�v� �e)ttåÜ g adt�} g _X[N� g [^{w])adqdtB� g [^��t"yJqd|$[wf$t�})��|�f [��ÁtMÔ��)adf$tQe)adc^e���t g yU�)|$t=f�e)t�q�yU})c^��yJc8t�as|ª|$f�` yJadc^eUf��L�Ð[^`��\y8`b�f$[ g [^{w])adqdtIyU})�"f$t g e�})a@Ô:�)tB| �Ð[^`e�yU})��qda�})c"��[^`bfO`$yU}�e�yMrUt�`�t�y g e)tB�wy g [^})| as��t�` yU�)qdt���tBc^`btBt�[J�5`btO¬�})t�{"t�}8f�v�za�}�yJqdqd_ n fOe)tQt�yN|$t"��adf�e��Ie)a g e¾tB¢)ad|$f$a�})c�]�`�[ g tB����`btB| g yU}¾��t"a�} g [^`$]Á[^`$yJf$tB�~a¨}8f$[X})tB�!|$[N�Ðfb��yU`bt({wy ¤ tB|adf�tB|�]Át g a¨yNqsqd_¾t�yJ|$_+f$[w��tBr8tBqs[)]X})tB��]�`b[8c^`$yU{"|�[^�)f�[J�Ô[8qs��[^})tB|�v�Lf g y8}�})[Uf(��t+��t�})adtB� n e)[J��tBr8t�` n f�e�yJf���[^`bf�`$y8}�e�yN|({"[^`btwfOe�yU}�asf |��ÄyJa�`�|�e�yU`�tw[J����t�y ¤ })tB|$|$tB|"yU})�

��`$yM�I��y gB¤ |�v<�Êy8}U_w[N�Ôf�e)tB| t(e�y�r8t�tB¢^ad|$f$tB��a�}���[)`bf�`$yU}�|$a�} g t(adf���yJ|\¬�`b|$f�a�}UrUt�}8f$tB�¾yU})��[^�)c^e8f�f$[we�yMrUt��tBt�}�tBqda�{"a�}�yJf$tB��qd[^})c�yJcU[�×ztB¢:y8{w])qdtB|�a¨} g q��)��twfOe)tÖBM� g e�yU`$y g f t�`�qda¨{�asf�[)}�|$_�{"��[Uqda g }�yU{"tB| n fOe)t�¬�¢)tB�|$f�yNf$t�{"t�}8f�q�yM_U[^�)f n y8})�Xf�e)t(})tBtB��f$[2�)|$t�|$fOyJf$t�{"t�}8f�q¨y8��tBqd|�v��[^`bfO`$yU}�yJqd|$[�e�yJ|w`$yNf�e)t�`=qsa��Át�`$yJqI`$�)qdtB|2y8})� yU}~tB¢)f$t�})|$adrUt�|$_)|$f$t�{�[J�I��tO�ÄyU�)qdfwrJyJq��)tB|�×+�Ie)adqst�fOe)as|

`btB��� g tB|"]�`b[Uc^`$y8{w{"a�})c2tå�5[^`�f�adf(yJqd|$[X{wy ¤ tB|ªadf(e�yU`b��t�`��L[^`�f�e)t"|$_^| f$t�{Æf [���tBf$t g f�f�e)tQ]�`�[Uc^`$yU{�{"t�`BÌÍ|{"ad|$f�y ¤ tB|�vI��}X{wy8}U_�[UfOe)t�`I]�`b[8c^`$yU{w{�a¨})c+q�yU})c^��yJc8tB| n �L[^`�tB¢�yU{w])qdt n f�e)t"��yJfOy"fb_:]Át([J�§tBrUt�`�_�r@yU`ba�yU�)qdte�yJ|�f [2��t���t g q�yU`btB�¾a�}XyN��r@yU} g tUvz��[^`bf�` yU}w��[)tB|�})[Uf�a�})|$ad|$fª[^}+f�e)ad|Ï���)f n a�} g [^})|$t3Ô��)t�} g t n a �z_U[^��{�y ¤ ty�|�]�tBqdqda�})c�{"ad|$f�y ¤ t�a�}�y�r@yU`ba�yU�)qdt2}�y8{"t(f�e)t g [){w])adqst�`�ad|Iqda ¤ tBqd_Xf$[��)|$t=f���["r@y8`ba�yU�)qdtB|��Ie)t�}�_U[^�+[^})qd_a�}Uf t�})��tB��f [��)| t([^})tUv§��� g e�t�` `b[^`b| g yU}��Át(|$t�`bad[^�)|����)fIyU`�t(})[UfIyJqd��yM_^|�t�yJ|$_+f$[w��tBf t g f�v

Page 9: Professional Programmer's Guide to Fortran77 Clive G. Page

® ¯�°�± ��²³��´���µ���µ ± �5¶ l

��[^`bfO`$yU}"yJqd|$[(q�y gB¤ |§r@y8`bad[^�)| g [^}8f�`b[8q�yU})�w��yJf�yª| f�`$� g f���`btB|Ã�Ie)a g e�|$a�{w])qda��Ð_+]�`b[Uc^`$y8{w{"a�})c(q�yU})c^��yNcUtB|��adf�e¾y�{"[^`�tQ{"[)��t�`$}���tB|$adc^}>v" �e)tB|$t"qda¨{�asfOyJf$ad[^})| n yU})�¾[Uf�e)t�`b| n y8`btQyJqdqztBqda�{"a�}�yJf$tB�Ó��adf�e�f�e)twyJ��rUt�}8f[J�z��[^`�f�`$yU} lUp v

Â7ÃIæ ç5ÆbËFè�Å'égÒpÚ³Í�Ñ�à

���7/3NF:72�Gs67:72�.':ce"X�6)89/3.Ft<G�uIGs/êh

Z�[^{�]��)f$t�`2{�yU}^�8�Äy g f���`�t�`b|2e�yMrUt�y~}�yJf���`$yJqªf$t�})��t�} g _Âf$[ g [^{w]ÁtBf$tX��asfOe�t�y g eÒ[Uf�e)t�`+�U_�]�`b[Jr)ad��a¨})c��[)`bf�`$yU}ª| _^|$f t�{"|��ªe)a g ewyU`�t(©��ÁtBf$f$t�`b«ªf�e�yU}"��tO�L[^`bt n �)|O��yJqdqs_w�8_(]�`b[Jr^ad��a�})c(tB¢)f$t�})|$ad[^})|zf [If�e)t�q�yU})c^��yNcUtUv �e)ad|���[)tB|I})[Uf g [^}b��a g f���adf�e�f�e)t���[^`bf�`$y8}w�)f�yU})��yU`�� n ]�`�[@r)ad��tB��f�e�yJf�|$f�y8})��yU`b�)� g [^}8�L[^`${"a�})cw]�`b[Uc)`$yU{"|yU`btÃ|$f$adqdq�]�`b[ g tB|$|$tB� g [^`$`bt g f qs_Uvz��})��tBtB�wa�}"f�e)t§qd[^})c�f t�`${kq�yU})c)��yJcUtB|§yJ��rJyU} g t��U_�f�e)t�yU�)| [^`$�)f$ad[^}�[J��|�� g etB¢)f$t�})|$ad[^})|�v(��}�f�e)t"|�e)[^`bfªf$t�`${ n e)[J��tBrUt�` n f�e)tBa�`��)|$t"as|"{"[^`bt"]�`b[^�)qdt�{wyJf a g yNq n |$a�} g twf�e)tB_X})t g tB|$|OyU`badqd_{wy ¤ tB|I]�`b[Uc^` yU{"|�qdtB|$|I]�[)`bf�yU�)qdtUv� e)t�}�f�e)t�q�yJf tB|$f§��[^`bf�`$y8}Q�)fOyU})��yU`b�w��yJ|zad|$|O�)tB�2a�} j�l ÇUǪf�e)t�`�t���yJ|�ÉyNa¨`�qs_���ad��tB|�]�`bt�yJ�+��ad|�yU]�]�[8a¨}8fb�

{"t�}8fwf�e�yJf�asf+��ad� })[Uf�cU[yÁ$�)|$f�yÊqsadf$f qst��Ä��`bf�e)t�`"a�}ÒtBqsa�{"a�}�yJf a¨})cÂ|$[^{"t�[N�Ïf�e)t�f$a�`btB|$[^{�tX`btB|$f�`ba g f$ad[^})|f�e�yJf(e�yN��]�t�`b| as| f$tB��| a¨} g t+f�e)twt�y8`bqd_���yM_)|�vw �e)t2�ª�¾��t�]�yU`�f�{"t�}8f�[J����tO�Lt�})|$twad|$|��)tB�hy+|�e)[^`�f(qdad|$f([J�tB¢)f$t�})|$ad[^})|ª�Ie)a g e¾{wyU})�8�Äy g f���`bt�`b|���t�`�t�t�} g [^��`$yJcUtB��f$[2yJ����f [wf�e)tBa�`���[^`bf�` yU}�ÇUÇ=|$_)|$f$t�{"|�v� �e)t"{"[U|$fa�{w]�[)`bf�yU}8f�[J�zf�e)tB|$t���t�`bt�f�e)tª�L[Uqdqd[J��a�})c�×

ë f�e)t ö^û S"S[T�|$f�yNf$t�{"t�}8f

ë f�e)t$S[Tì� ý � �8ö qd[)[^]

ë f�e)t � û�üi��� S ö |$f�yJf$t�{�t�}Uf

ë f�e)t � é k � � ü � úÑû T û)ö �Éy g asqdadfb_

ë a¨}8f�`ba�})|$a g �Ä��} g f$ad[^})|��L[^`��)adfb�Ä��ad|$t=[^]�t�`$yNf$ad[^})|I[)}+a¨}8f$tBcUt�`�|�v

�Êy8}U_¾��[)`bf�`$yU}�|$_)|$f$t�{�| n tB|�]Át g a�yJqdqs_hfOe)[U|$t2]�`b[)��� g tB�ha�}�fOe)t��ª})adf$tB� �)fOyJf$tB| n })[@� |���]�]�[)`bf"f�e)tB|$ttB¢)f$t�})|$ad[^})|����)f�f�e)tB_XyU`bt��8_X})[2{"t�yU})|I��})adrUt�`�|�yJq�yU})��|�e)[^�)qd��})[8fI��t(�)|$tB��a�}X]�[)`bf�yU�)qdtQ]�`�[Uc^`$yU{�|�vÅ�})t�[N��f�e)t�{"[8|$f5a�` ¤ |$[^{"t�`btB|$fO`ba g f$ad[^})|�[N����[^`bfO`$yU}�ÇUÇ�ad|f�e�yJf|$_�{Q�Á[Uqda g }�y8{"tB| g y8}�})[UfÔ�Át�{"[^`btÃf�e�yU}

|$ad¢ g e�yU`$y g f$t�`b|qs[)})c�vz �e)ad|�Ð[^` g tB|§]�`b[Uc^`$y8{w{"t�`b|5f [I��tBr)ad|$tIyJqdq�{wyU}�})t�`[N� g [^}UfO`$y g f$ad[^})| n yU����`btBr)a�yJf$ad[^})| nyU})�¾y g `b[^}8_:{�|�a�}¾])q�y g t([N� {"t�y8})a¨})cN�É�)q|$_�{Q�Á[Uqda g }�y8{"tB|�v§�ÉfIad|ªrUt�`b_+f$t�{w])f$a�})c+f$["f�y ¤ t(yJ��rJyU}8f�yJcUt�[J�|$_)|$f$t�{"|z�ªe)a g e+`btBq�yJ¢"f�e)ad|\` �)qstª���)f§f�e)ad| g yU}we�yMrUt�|$t�`bad[^�)|�`bt�]Át�` g �)|$|$ad[^})|Mv§Z�[^})|$ad��t�`�y�]�`b[Uc)`$yU{&�Ie)a g e{wy ¤ tB|§�)|$t�[J�>r@yU`ba�yU�)qdtB| g yJqdqdtB�� ��g��x���Q�¦§ ���Q���y8})�� ��g��x���Q��z�wv���yU}8_ g [^{�])asqdt�`b|���adqdq��Át�Ô��)asf te�yU]�]8_(��adf�e=f�e)tB| t n f�e)[^�)c^e"y\�ÐtB�h��adqdq�`btíÁbt g f§��[UfOe(}�yU{"tB|z[)}(c)`b[^��})��|[J��qdt�})cUf�e>v§�ª}8�Ð[)`bf���}�yJf$tBqd_=f�e)t�`btyU`bt(yNqs| [2[^})t=[^`�fb��[ g [^{w])adqdt�`b|�a�}�tB¢)ad|$f$t�} g t"�Ie)a g eX��asqdq|$a�{w])qd_Xadc^})[^`�tQyJqdqqstBf f$t�`b|�yM�Ðf t�`�f�e)t(| as¢)f�e |$[f�e�yJf(�Á[Uf�e¾}�yU{"tB|���asqdq���t+f�y ¤ t�}�yJ|(`btO�Lt�`bt�} g tB|(f$[�fOe)tw|�yU{"t"rJyU`ba�yU�)qdt n  ��g��x���Q�v>��� g e��Át�e�yMr^ad[^��` n�Ie)adqdt���t�])qs[)`$yU�)qdt n ad|<Ô:�)adf$tÃa¨}"y gBg [)`b��yU} g t§��asfOe�f�e)t§�)f�y8})��yU`b�(�ªe)a g e=[^})qd_(`bt3Ô��)a¨`�tB|�|$_)|$f$t�{�|5f$[ g [^{�])asqdt]�`b[Uc)`$yU{"| g [^`$`�t g f$qd_2a��§f�e)tB_ g [^}8�L[^`${Îf$[�asf |I`$�)qdtB|�v �e)t§[^})qd_=�\yM_ªf$[���t g t�`bf�yJa�}�[J��yMrU[Uad��a�})cÏ]�`b[)�)qst�{�|zqsa ¤ t�f�e)ad|zad|zf$[�adc^})[)`bt§|�� g e=f$t�{w])f�yNf$ad[^})|�t�}8f$a�`btBqd_

yU})��Á$�)|$fI�)|$t"�)f�yU})��yU`�����[^`bfO`$yU}>v7��yU}8_ g [^{w])adqdt�`b|Ï]�`�[@r)ad��tQy"| ��adf g e+[)`�[^])f$ad[^}+�Ie)a g e g yU}���t�|$tBf�f$[g yU�)|$tªyJqdq�})[^}8�Ä|$f�yU})��y8`b�w|$_�}UfOyJ¢(f$[(�Át���yJcUc8tB�5v�� rUt�`b_)f�e)a�})c g [JrUt�`btB�"a�}�f�e)ad|���[)[ ¤ as|�]�yU`�fz[J���)f�y8})��yU`b���[)`bf�`$yU}+��})qdtB|$| g qst�y8`bqd_�{wyU` ¤ tB�2f [wf�e)t g [^}8f�`$yU`�_Uv

Page 10: Professional Programmer's Guide to Fortran77 Clive G. Page

î ï�± ��²ð�"´���µ���µ ± �¤�����E����ñª��� j�p

©Ra7GIe7N�u�GW:'N[2

Z�[^{�]��)f$t�`�]�`b[Uc^`$y8{w{"a�})cwyJqd�\yM_)|�`bt3Ô:�)a�`btB|ªy(r8t�`b_�e)adc^e+| f�yU})��yU`b�+[J� g y8`bt(yU})�Xy gBg ��`$y g _wa��Ôadf�ad|�f$[w�Át|�� gBg tB|$|��É�)qLv§ �e)ad|Ãas|ÃtBrUt�}w{"[)`bt�r^adf�yJq��ªe)t�}w�)|$a�})c(��[^`bf�`$y8}�f�e�yU}���adf�e=|$[^{"t�[Uf�e)t�`q�yU})c)��yJcUtB| n ��t g yU�)|$t nyJ|ÃtB¢:])q�yJa�})tB�XyU�Á[@r8t n f�e)t�qda���t�`$yJq5`$�)qdtB|�[J�>��[^`bfO`$yU}"{wy ¤ t�adf�e�y8`b��t�`�L[^`zfOe)t�|$_)|$f$t�{&f$[���tBf$t g f�{"ad|$f�y ¤ tB|�v ¡[2]�`b[Uc^` yU{Î|�� gBg tB|$|��É�)qdqd_Xadfªas|�})[Uf�t�})[)�)c^e�Á$�)|$f�f$[ g [^}8�Ð[)`${Îf$[wfOe)tQ`$�)qdtB|ª[J�ÔfOe)t(q�yU})c^��yJc8t n adfIad|�yJqd|$[a�{w]�[)`bf�yU}8f�f$["��tO�Lt�})��_8[^��`b|$tBq��§yJc^yJa�})|$f ¤ })[J�I}�])adfb�ÄyJqdqs|Mv �e)t�`bt�ad|Ïy"�)|$tO�Ä�)q5qdtB|$|$[)}�f$[w��t=qdt�yU`$})tB�+�Ä`b[^{Îf�e)tª�ÄyJadq���`bt([N��[^})t�[J�zf�e)t�t�yU`bqdadtB|$fI])q�yU})tBfOyU`b_�]�`b[^��tB|

q�yU��} g e)tB���8_���¦Ï�)¦"v� �e)t g y8�)|$t�[J��f�e)tª�ÄyJadq���`bt(��yJ|�tBrUt�}8f���yJqdqd_�f�`$y g tB�2f$[wy"| f�yJf$t�{"t�}8f§a�} asf | g [^}8f�`b[Uq|$[J�Lfb��yU`bt�|$a�{"adq�yU`ªf$["f�e)ad|�×

S�Tóò9ô �"õ ò Þ ò ô^ô�Ie)t�} �Ie�yJf�|�e)[^�)qd��e�yMrUtÏ�ÁtBt�}��I`badf$f$t�}+��yJ|�×

S�Tóò9ô �"õ ò � ò ô^ô���)fª|$[^{"t�e)[J�kyw��[8fIe�yJ��`�t�])q¨y g tB�Xf�e)t g [^{w{wy�vã§t g y8�)|$t(��[^`bf�`$y8}+asc)})[^`btB|ª|�]�y g tB| n fOe)as|ª��yJ|�|$tBt�}��U_f�e)t g [^{�])asqdt�`�yJ|M×

S�T)ò9ô �öõ ò Þ ò ô)ô�Ie)a g e(ad|§yª]�t�`��Lt g f$qd_(rJyJqdad�2yJ|$|$adc^}�{�t�}Uff$[Iy�r@yU`�a¨y8�)qst g yJqdqstB���(Å j�È �>yU})�Q})[8fÔyJfzyJqdq)�Ie�yJf5��yJ|a�}Uf$t�})��tB�5v��[^`bfO`$yU}�ÇUÇw]Át�`${"adf$|(yU}�yJ����adf$ad[^}�yJq g [^{�{wy"f$[���t"a�})|$t�`bf$tB��yM�Lf$t�`�f�e)t(q�yU�ÁtBqza�}�y�S�T+|$f�yJf$t�{�t�}Uf n |$[

adf g [^�)qd��})[J�ð�Át(�I`�asf f$t�}�yJ|�×S�Tóò9ô � �Yõ ò � ò ô^ô

�Ie)a g eXe�yJ|�fOe)t�c^`bt�yJfIyN��r@yU}8f�yJcUtªf�e�yJf�asf�as|�})[wqd[^})cUt�`ªyJ|�r��)q¨})t�` yU�)qdtQf [2y"|$a�})cUqdtO��]�[8a¨}8fª�ÄyJadq¨��`�tUv �e)t�`bt2yU`�t2{wyU}8_�e�y�?�yU`b��|=[J��f�e)ad|Q| [^`bf�a�}���[^`bf�` yU} n ���)f"f�e)t2`bad| ¤ [J���ÄyJqdqsa�})c�r)a g f$a�{�f$[�f�e)t�{ g yU}

��tw{"a�})a�{"ad|$tB���8_�yN��[^])f$a�})c2fOe)tQ]�`b[Uc)`$yU{w{"a�})c�]�`$y g f$a g tB|�[J�§{"[^`�t(tB¢�]�t�`badt�} g tB�h�)|$t�`b|�vª 5[�e)tBq�]X_8[^� nr@y8`bad[^�)|�`�t g [^{w{"t�})��yJf as[)})|�yU})�Âc^�)ad��tBqda¨})tB|¾yU`bt�cUadrUt�}Âf�e�`�[^�)c^e)[^�)fwfOe)as|���[)[ ¤ v �)[){"tX[J��f�e)t¾{"[U|$f[^�)f$��yNf$tB�XyU})�X��})|�yJf as|��Éy g f [^`b_��Ðt�yJfO��`btB|�[J����[^`bf�` yU}2y8`bt(})[Uf���tB| g `�a¨�ÁtB�¾a¨} f�e)t({wyJa�}�]�yU`bf�[J�f�e)tQ�Á[^[ ¤yJfIyNqsq���)fIe�yMrUt(��tBt�}�`btBqdtBc^yJf$tB��f$["|$t g f$ad[^} j9� v �e)t�`bt(ad|�})[UfI`b[)[^{Îa�}�yw��[)[ ¤ [J�zf�e)ad|I| a÷?Bt=f$[wcU[��É��`bfOe)t�`�a�}Uf$[+f�e)t=f$t g e�})a@Ô��)tB|I[N� ]�`b[8c^`$yU{Î��tB| asc)}

yU})�Ó|$[J�Lfb�\y8`bt(t�})cUa�})tBt�`ba�})c�v¾¦ª|��ÄyU`=yJ|Q]Á[U|$|$a��)qdtXtBrUt�`�_^f�e)a�})c�`bt g [^{�{"t�})��tB� e)t�`�t2ad| g [^})|$ad|$f$t�}8f(��asfOef�e)t�{"tBf�e)[)��|�[J��{"[^���)q�yU`\��tB|$adc^}�yU})�+|$f�`$� g f���`�tB��]�`b[8c^`$yU{w{�a¨})c n ���)f�_U[^�"|Oe)[^�)qd��|$f��)��_wf�e)tB| tIf$[)])a g |a�}X{"[)`bt���tBf�yJadq��ÁtO�Ð[^`�t(t�{"��yU` ¤ a�})cw[^}�yU}8_2q�yU`�cUtO�Ä| g yJqdtQ]�`�[Uc^`$yU{�{"a�})c2]�`b[pÁbt g f$|�v

ø ù"º ('úðû¤½M!�¿)%]¿ º #ü "!$#Mûg&�ýM%'(

 �e)ad|�|$t g f$ad[^}+]�`btB|$t�}8f$|§| [^{"t�[J�5f�e)tª��yJ|$a g ad��t�yJ|�[J�5��[^`bf�`$y8}Q�8_"|�e)[J��a�})c(|$[){"t g [^{w])qdtBf$tªtB¢�yU{w])qdtB|�v§��}f�e)t�a�}8f$t�`btB|$f |§[J�5|$a�{w])qda g adf�_ n f�e)tI]�`�[^�)qdt�{"|§�Ie)a g ewfOe)tB|$tI| [UqdrUtIyU`btªe�yU`b��qd_2��tB_8[^})�wf�e)t�`$yU})cUt�[J��y�cU[^[)�]�[ gB¤ tBf g yNq g �)q�yJf [^` n yU})��f�e)tQ]�`�[Uc^`$yU{�|�|Oe)[@�ª}Xe)t�`bt=��[2})[Uf�a�} g q��)��twr@y8`bad[^�)|Ï`�tO¬�})t�{"t�}Uf |If�e�yNf���[^�)qd��)|���yJqdqd_ �Át�]�`btB|$t�}8f2a�}�]�`�[J�ÐtB| |$ad[^}�yJqª|$[J�Lf���yU`�tUv� �e)tB_�yU`bt n e)[J��tBrUt�` n g [^{w])qdtBf$t���[^` ¤ a¨})ch]�`b[Uc)`$yU{"|�Ie)a g eh_U[^� g yU}Óf�`�_�[^�)f=�L[^`"_U[)��`b|$tBq��Ïa���_U[^�Óe�yMrUtXy gBg tB|$|wf [ÊyÊ��[^`bfO`$yU}~|$_^| f$t�{�v��Ð��})[8f n adfwad|w| f$adqsq��[^`bf�e�`�t�yJ��a�})c2f�e�`�[^�)c^e+f�e)t�{ f$["|$tBtQe)[J�kfOe)tQ��yJ|$a g tBqst�{�t�}Uf$|�[N�Ô��[^`bf�`$y8} g yU}���t"]��)fIf$[8cUtBf�e)t�`�a�}8f$[g [^{w])qdtBf$t"]�`b[Uc^` yU{"|�v

×�Ã� Ø<ÒdÅ]ÒpËFÏÐËFÑ�Òdà

 ¡[w|$f�yU`�f���asfOe n e)t�`bt(ad|�[)})t([J��fOe)t(|$a�{w])qdtB|$f�]�`b[Uc^` yU{ f�e�yJf g yU}��Át(��tBr)ad|$tB�5×

k|l�Timpl ø^éÑú � û ��|l � ú^ögþí��û � ú õ�ÿ �2ï)é)ú õ�ÿ���� ý�ã)â)âNë���Ý:ë)á�âUñ �

Page 11: Professional Programmer's Guide to Fortran77 Clive G. Page

î ï�± ��²ð�"´���µ���µ ± �¤�����E����ñª��� jUj

ö^û S

¦ª|z_U[^� g yU}w]�`b[)��yU�)qd_Qc)�)tB|$| n yNqsq�fOe)as|�]�`b[Uc^` yU{k��[)tB|§ad|Ãf$[I| t�})�2y�`$yJf�e)t�`fO`badf$tI{"tB|$|OyJcUt"©ê��tBqsqd[ n ��[^`bqd��«f$[w_8[^��`Ãf$t�`${"a�}�yJqLv��zrUt�}+|$[�asf |�q�y�_8[^�)fIyU})��|$fO`$� g f���`bt���tB|$t�`�rUt(|$[){"t�tB¢:])q�yU}�yNf$ad[^}>v �e)t(]�`b[Uc^` yU{ g [^})| as| f$|�[J�zf�e�`btBtªqda¨})tB| n t�y g e g [^}8f�yJa�})a�})cw[^})t�|$fOyJf$t�{"t�}8f�vg�§y g e���[^`bfO`$yU}�|$f�yJf$t�{�t�}Uf

{"�)|$f§e�yMrUt�y�qda�})tªf$[�adf$|$tBq���Õ�[^`z{"[^`�t§f�e�yU}�[^})t�qsa�})tªa��¡})t g tB| |�yU`b_�Ö n ���)fzf�e)t�¬�`�|$f�| as¢ g e�yU`$y g f t�`z]�[U|$adf$ad[^})|[^}�t�y g e�qsa�})t2y8`btw`btB|$t�`brUtB���L[^`�|$f�yJf$t�{�t�}Ufªq�yU��tBqd|Qy8})� g [)}Uf$a�})��yJf$ad[^}�{�yU` ¤ t�`b|MvÏ�)a�} g twfOe)tQ| f�yJf$t�{"t�}8f$|a�}�f�e)ad|�tB¢:yU{�])qst+})tBtB�Ê})tBadf�e)t�`�[J�§f�e)tB|$t��Ðt�yNf���`btB| n f�e)t�¬�`b|$fª|$ad¢ g [Uq���{w})|=[J�§t�y g e�qda�})t�e�yMrUt"��tBt�}�qdtO�Ðf�)q�yU} ¤ v �e)tyk|l�Timpl ø^é |$f�yJf$t�{�t�}Uf"cUadrUtB|2y~}�yU{"t+f$[�f�e)tX]�`b[8c^`$yU{���})asf�yU})�h��t g q�yU`btB|+f�e�yJf"adfwad|�y�{�yJa�}

]�`b[Uc)`$yU{ ��})adf�v&Ūf�e)t�`wfb_�]�tB|+[J�(]�`b[Uc^`$y8{ ��})adf���adqsq(�Át g [JrUt�`btB�Âq�yJf$t�`�[^}>vk �e)t�]�`�[Uc^`$yU{ g yU}��Átg yJqdqdtB��yU}8_^f�e)a�})c¾_U[^�Êqsa ¤ t�]�`b[Jr)as��tB�Óf�e)t�}�yU{"t g [)}8�Ð[^` {"|(f$[�f�e)tw��[^`bf�`$y8}�`$�)qdtB|��zf�e)t�¬�`b|$f g e�yU`$y g f$t�`[J��y"��[^`bf�` yU}+|$_�{Q�Á[Uqda g }�y8{"tw{Q�)| fI��twy"qdtBf$f$t�`����)f n ��}8�L[^`bf���}�yNf$tBqd_ n f�e)tB_ g y8}�})[UfÏ�Átw{"[^`bt�f�e�y8}�|$ad¢g e�yU`$y g f$t�`�|Iqd[^})c�a�}¾f$[8f�yJqLv(�Lf�ad|�cUt�})t�` yJqdqs_¾|$t�})| a¨�)qdt+f$[+cUadrUt"f�e)tw|�yU{�tQ}�yU{"t"f$[+f�e)tw]�`b[Uc)`$yU{ËyU})�¾f$[f�e)tª¬�qdt"�Ie)a g e�e)[Uqd��|IfOe)t���[^`bfO`$yU}�|$[^��` g t g [)��t�Õ�fOe)t�[^`badcUa�}�yJq5f$tB¢)f�ÖBv �e)tM�il � ú)ö |$fOyJf$t�{"t�}8f�]�`b[^��� g tB|�[)�)f�]��)f�×zf�e)t"]�yU`bt�}8f�e)tB|$tB|ªt�} g qd[U|$tQy�qdad|$fI[N���O¯U´�½L®b¯U¶)adf$t�{"|ª�Ie)a g e

��tBf$t�`${�a¨})t=�Ie)t�`bt(yU})��a�} �Ie�yJfÃ�Ð[)`${ f�e)t�[^�)f�]��)f�yU]�]Át�yU`b|�v ��û � ú õ�ÿ |$tBqdt g f$|IfOe)t�|$f�yU})��yU`��2[^�)fO]��)f�¬�qdt�Ie)a g e�ad|Ï})[)`${wyJqdqd_�_U[^��`�[J�I}+f t�`${"a�}�yJqL� ï)é)ú õ�ÿ | tBqst g f |Ïy"��tO�ÄyU�)qdfª[^�)f�]��)f�q�yM_U[^�)fQÕÐf$t g e�})a g yJqdqd_ ¤ })[J�I}yJ|zqdad|$fb�Ä��a�`bt g f$tB�+�L[^`${�yJf�ÖBv>¦ª|$f$t�`bad| ¤ |�y8`btI�)|$tB�2e)t�`�t n yJ|za�}+{wyU}8_Q])q�y g tB|§a�}���[^`�f�`$yU} n f$[�|$tBqdt g f�yª��tO�Éy8�)qsf[^`ª|$fOyU})��yU`b��[^])f$ad[^}>v" �e)ad|Q]�`b[Uc)`$yU{ g [^�)qd� n a�}��Äy g f n e�y�r8t��ÁtBt�}�{wyJ��t"|$qdadc^e8f$qd_�|�e)[^`�f$t�`I�8_��)| a¨})c¾yU}yU����`btBr)a�yJf$tB� �Ð[^` { [N�Ôf�e)t � Q��� ��Â|$f�yJf t�{"t�}Uf |�×

�il � ú)ö�þ ÿ � ÿ���� ý�ã^â)âNë���Ý:ë)áÁâNñ �¦ªqsfOe)[^�)c^ehfOe)t ¤ tB_)��[^`b��| ��û � ú õ yU})� ï)é^ú õ yU`bt�[^])f$ad[^}�yNq n f�e)tB_�e)tBq�]Âf$[�{wy ¤ t�f�e)t�]�`b[8c^`$yU{ {�[^`bt`bt�yJ��y8�)qstUvÆ �e)t�adf$t�{�|Xa�}Ñf�e)t g [^}8f�`b[Uqªqdad|$f n qda ¤ t�f�e)[8|$t¾a¨} yJqdq�qsad|$f |Xa�}Ñ��[)`bf�`$yU} n yU`bt¾|$t�]�yU` yJf$tB�k�U_g [^{w{�yJ|�v �e)t g [^}8f�`b[8q�a�}8�L[^`${wyNf$ad[^}�a�}�fOe)tM�il � ú^ö |$f�yJf$t�{�t�}Uf�ad|��Ð[8qsqd[J��tB���8_�y�qsad|$f�[N�Ôf�e)t=��yJf�y=adf$t�{"|ªf$[2�Át

[^�)f�]��)fM×�e)t�`bt�f�e)t�`bt�ad|'Á$�)|$f�[)})t�adf$t�{ n y g e�yU` y g f$t�` g [^})|$f�yU}8f�Ie)a g e=ad|§t�} g qd[U|$tB��a¨}"y�]�yJa�`[J��y8]�[U|$fO`b[^]�e)tÕ�|$a�})cUqdtEÔ:�)[Uf t�Ö g e�y8`$y g f$t�`b|Mv¦Ï} ö)û Sª|$f�yJf t�{"t�}Uf¡as|§`�t3Ô:�)a�`btB�wyJff�e)t§t�})�"[J��tBr8t�`b_(]�`b[Uc^` yU{k��})adf�v � e)t�}(fOe)t�]�`b[Uc)`$yU{Ñad|��O¯U¸�³D¶d±O¼

Õ�f�` yU})|$q�yJf$tB��a�}8f$[�{wy g e)a�})t g [^��t�Ö=adf"f$tBqdqs|"f�e)t g [^{w])adqdt�`"f�e�yNf(f�e)t�]�`b[Uc^` yU{���})adf"ad| g [){w])qdtBf$tU�§�ªe)t�}t�} g [^��}8f$t�`btB��yNf(`$��}8�Äf$a�{"t+f�e)t ö)û S�|$f�yJf$t�{�t�}Ufª|$f$[^])|=f�e)tw]�`b[Uc^` yU{ `$��}�})a�})c�yU})��`btBf���`$})| g [^}UfO`b[Uqf$[f�e)t�[^]Át�`$yJf$a�})c+|$_)|$f$t�{�v �e)tX�)f�yU})��yU`�����[^`bf�`$y8} g e�yU`$y g f t�`�|$tBfw��[)tB|2})[Uf g [^}8f�yJa�}hyU}8_�qd[J��t�`�� g yJ|$t+qdtBf$f$t�`b|w| [�| f�yJf$t�{"t�}8f$|

cUt�})t�`$yNqsqd_ke�yMrUtXf [���t¾�I`badf$f$t�}ÑyJqdq�a�}k��]�]Át�` g yJ|$tUv £��)f���[)`bf�`$yU}Â]�`b[Uc^` yU{"| g yU}Ñ]�`b[ g tB| |XyJ|2��yNf�yyU}8_ g e�y8`$y g f$t�`b|�|���]�]�[^`�f$tB���8_�f�e)tQ{�y g e)a�})tU� g e�yU`$y g f t�` g [^})|$f�y8}Uf$|"Õ�|�� g eXyJ|ªf�e)tQ{�tB|$|�yJcUt�a�}�f�e)t=q¨yN|$ftB¢�yU{w])qdt�ÖIy8`bt(})[Uf�|����iÁbt g f�f$[wfOe)as| g [^})|$fO`$yJa�}UfMv

×�ÃW× Ä���Î�ÆbËFà�à�Ú³Í7Ñ�à«Å'Ñ�Ù� Jà�à�Ú�Þ�Ñ�ÏÊËFÑ�Òpà �e)t�})tB¢^f=tB¢:y8{w])qdt2|$[8qsr8tB|Qy�| [^{"tB�Ie�yJf"{"[^`bt+`bt�yJqdad|$f$a g ]�`�[^�)qdt�{�×"adf g [^{w]��)f tB|QfOe)t2`bt�]�yM_:{�t�}Uf$|=[^}y�¬�¢^tB�)�Äf$t�` { qd[^yU}hÕ�|�� g e¾yJ|�y2e)[^{�t�{�[^`bf$c^yNcUt�qd[^yU}�ÖBv( �e)t(¬�¢)tB��]�yM_�{"t�}Uf | g [JrUt�`�f�e)t"a�}Uf$t�`�tB|$f(yU})�`bt�]�yM_�]�yU`bf�[J�zf�e)t g yU])adf�yNq5|���{��)f�e)t"yU}�}^��yNq�]�yM_�{"t�}8f g yU}���t g yJq g �)q�yJf$tB���U_+f�e)tª�L[Uqdqd[@��a¨})c��L[^`${"�)q�y�×

��������������� � ������ !����"$#����Õ j&% Õ j(' � �)�*� Ö,+�-�.0/214345BÖ

Page 12: Professional Programmer's Guide to Fortran77 Clive G. Page

î ï�± ��²ð�"´���µ���µ ± �¤�����E����ñª��� j�o

�Ä}Âf�e)ad|+�Ð[)`${"�)q¨y n `$yJf$t�as|�fOe)t�yU}�})��yJqªa¨}8f$t�`btB| fX`$yJf$t�tB¢:]�`btB| |$tB�kyJ|�yÊ�Ä`$y g f$ad[^}>�ª|$a�} g t�adf+as|X{�[^`btg [^}8rUt�}8f$ad[^}�yJq5f$[�Ô��)[Uf$t�a�}8f$t�`btB|$fI` yJf$tB|IyJ|ªyw]�t�` g t�}8f�yJc8t�f�e)t(]�`b[Uc^` yU{ ��[^tB|ªf�e)ad| g [)}UrUt�`�|$ad[^}��Ð[)`��)|Mv

k|l�Timpl ø^éÊ� T ø)û�|l � ú^ögþí��û � ú õ�ÿ �2ï)é)ú õ�ÿ��6� öUî�Ù�ãUá�àNì�ëJå)î:Ù��87ká)àUÙ�ã���ê�ãNà)áÁß �l ö)ø S þ �:û � ú õ�ÿ �+ï^é)ú õ�ÿ�� ø^é T ��û)ú�� k ü l ø^ú)ö���û � ö^ø l[�l ø)ú)ö õ k ü l ø)ú)ö�Ü ò ô)ô§Þbôl ö k ø � õ l ø^ú)ö ÿ ø)é T �:û)ú&Ü þ ò Þbô:9 þ ò Þbô<; l ø)ú)ö �bÿ|ÿ þ,9Uû � ö)ø l[� �<��|l � ú^ögþí��û � ú õ�ÿ �2ï)é)ú õ�ÿ��6� øUî)î^å�àÁâ áÁã�Ú�àUê8ì>ã�î�Ù�ß�à)á�ã � � l ö k ø �ö^û S

 �e)ad|+tB¢:yU{�])qst�a�}Uf�`�[^��� g tB|+fb��[�})tB�Î�L[^`${�|Q[N�Ï|$fOyJf$t�{"t�}8f�×+f�e)tyl ö^ø S y8})��yJ|$|$adc^}�{"t�}8fw|$fOyJf$t�{"t�}8f$| n��[8f�e+[J�z�Ie)a g e g yU}���t"�)|$tB�Xf$[+yJ|$|$adc^}�})tB�krJyJq��)tB|�f$["r@yU`�a¨y8�)qstB|Mv �e)tMl ö^ø S�|$f�yNf$t�{"t�}8fIe�yJ|Iy�|$a�{"adq�yU`��Ð[)`${Æf [5�|l � ú^ö ×�e)t�`bt=asf�`bt�yJ��|ªa�}�f�e�`btBtQ})��{"��t�`b|�t�}8f$t�`btB��[^}

f�e)t"f$t�`${�a¨}�yNqza¨}~`btB|�]�[)})|$twf$[+f�e)t2]�`b[){w])f(yU})��yJ|$|$adc^})|�fOe)tBa¨`�r@yJq��)tB|=f$[�f�e)t"f�e�`btBtw}�yU{"tB�~r@yU`ba�yU�)qdtB|�vï)é^ú õ�ÿ yJc^yJa�}+|$tBqdt g f$|�qdad|$fb�Ä��a�`bt g f tB�ÒÕÐ[^` �É`btBtO�L�L[^`${�yJf�Öza�}�]��)fª�Ie)a g e�yJqdqd[@��|�fOe)t(}^��{"��t�`�|�f$[w��t=cUadrUt�}+a�}yU}8_ g [^}Ur8t�})ast�}8f=�Ð[)`${�×=f�e)tB_ g yU}Ó��t+|$t�]�yU`$yNf$tB���8_�|�]�y g tB|=[^` g [^{w{wyJ|�[)`�tBrUt�}~cUadrUt�}~[^})t2[)}�t�y g eqda�})tUv �e)t=�Ð[^��`�f�e�|$fOyJf$t�{"t�}8fIad|"yU}XyJ| |$adc^}�{"t�}8f�|$f�yJf$t�{�t�}Ufª�Ie)a g e���adr)as��tB|�k ü l ø)ú^ö �8_ j�p8p yU})��yJ| |$adc^})|

f�e)t2`�tB|��)qdfQf [�yU})[UfOe)t�`�r@y8`ba�yU�)qdt g yJqdqstB� l ø)ú^ö v5 �e)t�})tB¢^f"yJ|$|$adc^}�{"t�}8f"|$f�yJf t�{"t�}Uf�tBrJyJq���yJf$tB|"f�e)twqd[^y8}`bt�]�yM_�{"t�}Uf\�Ð[^` {Q�)q�y"yU})�¾yJ|$|$adc^})|�fOe)t(`btB|��)qdfIf [2y=r@yU`ba�yU�)qdt g yJqdqdtB�Jl ö k ø �>v�)tBrUt�`$yJq�yU`badf�e�{"tBf a g [^]Át�`$yJf$[)`b|�yU`bt��)|$tB�"a�}"f�e)tB|$tÃtB¢:]�`btB| |$ad[^})|�×zyJ|a¨}"{"[8|$fÔ]�`�[Uc^`$yU{�{"a�})cIq�yU})c^��yNcUtB|

© Ü «2`bt�]�`btB| t�}Uf$|ª��adr^ad|$ad[^}¾yU})�© ÿ «2`bt�]�`btB|$t�}8f$|�{"�)qsf a¨])qda g yJf$ad[^}>�¡a�}���[)`bf�`$yU}Ó© ÿ|ÿ «wad|Ï�)| tB���L[^`�tB¢�]�[^})t�}8�f$a�yJf$ad[^} n aLvÍtUv�`$yJad|$a�})c"[^})t�}^��{"�Át�`§f [(f�e)t�]�[J��t�`z[J��yU})[8f�e)t�`Bvz��[8f$tIfOe�yJf§fb��[�[^]�t�` yJf$[^`b| g yU}�})[Uf�yU]�]Át�yU`a�}¾|�� gBg tB|$| as[)}�yJ|ªf�e)ad| g [^�)qd����twyU{"�)adc^�)[^�)| n | [2f�e�yNfIa�})|$f$t�yN��[J�(© ÿiÿ 98û «2f�e)t��Ð[)`${ © ÿ|ÿ þ098û � «�e�yJ|ªf$[��t"�)|$tB�5v¦Ï})[UfOe)t�`+cUt�})t�`$yJq(]Á[Ua�}Uf g [^} g t�`$})a�})c ]�`b[8c^`$yU{ q�y�_8[^�)f�×�|O]�y g tB| ÕL�)q�yU} ¤ |�Ö�yU`�tÊ})[8f�|$adc^})a�¬ g yU}Uf�a�}

��[)`bf�`$yU}�|$f�yNf$t�{"t�}8f$|�|$[wf�e)tB_ g yU}���t=a�})|$t�`bf$tB� �É`btBtBqd_�f$[�a¨{�]�`b[JrUt�f�e)t�qdtBcUa��)adqsa f�_�[J�zf�e)t(]�`b[Uc^` yU{�v� e)t�} f�e)t(]�`b[Uc)`$yU{ ad|Ï`$��} n f�e)t�f$t�`${"a�}�yJq¡��a¨yNqs[8c^�)t(��adqdqqs[)[ ¤ |$[){"tBf�e)a�})cwqda ¤ t(f�e)ad|�×

ö8î:Ù�ãNáÑàNìÁëNå)î:Ù��87ká^à8Ù�ã���ê�ãNà)á�ß=)ô^ô)ô^ô��Xó§Þ ô � ò9ôø8î^î)åÁàÁâ�á�ãMÚ�àUê8ì�ãMî�Ù�ß�à)á�ã = ôiô)> Þ�?<@�A �e)twyU})|$��t�`�cUadrUt�}¾�U_�_U[^��`�|$_)|$f$t�{ {wyM_X})[Uf���t"tB¢�y g f$qd_¾f�e)t(|�y8{"twyJ|IfOe)as|(�Át g yU�)|$twfOe)t�})��{"��t�`ª[J���adcUadf$|�]�`b[Jr^ad��tB���8_�qdad|$fb�Ä��a�`bt g f$tB�Â�L[^`${wyNf$f$a�})c¾��t�]�t�})��|+[^}Óf�e)tXy gBg ��`$y g _�[J��f�e)tXyU`badf�e�{"tBf a g n �Ie)a g er@y8`badtB|��Ä`b[^{ [^})t g [^{w]��)f$t�`�f [�y8})[Uf�e)t�`Bv

×�ÃIÝ B9Ñ7ÒpË�Þ<ËFÆRÅ'Ñ�Ù�C�Ë]Å'Ç£É�Å]ÒpÅEDEÈ�Î�Ë]à �e)t"�5Å�¦�� ]�`�[Uc^`$yU{ ��[)�)qs�¾e�yMrUtQ�ÁtBt�}�{�[^`bt g [){w])qda g yNf$tB�¾a �§adf(e�yJ�¾})[Uf�f�y ¤ t�}XyJ��rJyU}8f�yJcUt�[J�§| [^{"ta�{w])qda g asf"`$�)qdtB|I[N����[^`�f�`$yU} g [^} g t�`$})a�})c���yJf�y=fb_�]�tB|�×zfOe)as|�`bt3Ô��)a�`btB|Ïy�qsadf$f qst"{"[^`bt�tB¢�])q�yU}�yJf$ad[^}>vZ�[^{w]��)f$t�`�| g yU}~|$f$[^`�t�})��{"��t�`b|"a�}~|$tBrUt�`$yJqÃ��a��t�`�t�}Uf=�\yM_)|�×=f�e)t2{"[U| f g [^{w{�[^}�})��{"t�`ba g yJq§��yNf�y

fb_:]ÁtB|Ïy8`bt�f�e)[U|$t g yNqsqdtB��a�}8f$tBcUt�`ªyU})�X`bt�yJqLv���}Uf$tBc8t�`�rJyU`ba�yU�)qdtB|�|$f$[^`�t(}^��{"��t�`�|�tB¢:y g f$qd_XyU})��yU`�tQ{wyJa�})qd_�)|$tB�+f$[ g [)��}UfÃ��as| g `btBf$t�[^�iÁbt g f$|�vgQ�t�yNq�r@y8`ba�yU�)qdtB|IyU`btI�)| tO�É�)q5{wyU}8_"[Uf�e)t�` g a¨` g ��{"|$f�yU} g tB|ªyJ|§f�e)tB_"|$f [^`bt})��{Q�Át�`b|I�)|$a�})c�yE��[^yJf a¨})cN��]�[Ua�}8fI`bt�]�`btB|$t�}8f�yJf as[)}+�Ie)a g e g yU}�e�yU})��qdtw}^��{"��t�`�|���adf�e�y=�Ä`$y g f$ad[^}�yNq�]�y8`bfyJ|Ã��tBqdq>yJ|§�Ie)[8qst�})��{Q�Át�`b|�vz �e)tª��ad|�yJ��r@y8}Uf�yNcUt�[J�5f�e)t�`bt�yJq���yJfOy�fb_:]Át�ad|�f�e�yJfg��[)yJf$a�})cJ��]�[8a¨}8f�})��{"��t�`b|yU`bt"})[Uf�|$f$[)`btB�XtB¢�y g f$qd_>×�fb_:])a g yJqdqd_¾[^})qd_¾f�e)t�¬�`b| f�|$ad¢X[^`�|$tBrUt�}���t g a�{wyJqz��adcUadf$|=��adqsq§�Át g [^`$`bt g f�v��Éf�as|

Page 13: Professional Programmer's Guide to Fortran77 Clive G. Page

î ï�± ��²ð�"´���µ���µ ± �¤�����E����ñª��� j��

a�{w]�[)`bf�yU}8f�f$[�|$tBqdt g f(fOe)t g [)`$`bt g f�fb_:]Át"�L[^`�tBr8t�`b_X��yJfOy+asf t�{ a�}¾f�e)tw]�`b[Uc)`$yU{�v"�Ä}¾fOe)tQq�yJ| f�tB¢:yU{�])qst nf�e)t(})��{"��t�`�[J�Ô_8t�yU`b|���yJ|�yU}�a�}8f$tBcUt�` n ���)fªyJqdq5[J�zf�e)t�[Uf�e)t�`�rJyU`ba�yU�)qdtB|ª��t�`�t�[J� `�t�yJq5fb_:]ÁtUv �e)t���yJf�yªfb_:]Át�[J��y g [^})|$f�y8}Ufad|�yJqd��yM_^|tBr^ad��t�}8fz�Ä`b[^{ adf$|z�L[^`${�× g e�yU`$y g f$t�` g [)})|$f�yU}8f$| n �L[^`¡tB¢:yU{�])qst n

yU`bt"t�} g qd[U|$tB�Óa�}�y�]�yNa¨`�[J�\y8]�[U|$fO`b[^]�e)tB|�vw��}�})��{"t�`ba g yJq g [^})| f�yU}8f$|�f�e)t2]�`btB| t�} g t2[J��y+��t g a�{wyJq�]Á[Ua�}Ufa�})��a g yJf$tB|�f�e�yNf§f�e)tB_wyU`btª`bt�yJq�y8})��})[UfÃa�}Uf$tBc8t�` g [)})|$f�yU}8f$|�סf�e)ad|�ad|��Ie8_"f�e)t�r@yNq¨�)t�[)})tI��yJ|§`bt�]�`�tB|$t�}Uf tB�yJ|w©�ò Þbô «wyU})�X})[8fgÁ��)| fw©rò «�v �e)t�`bt�yU`bt+|$tBrUt�`$yJqÃ��y�_)|(f [�|O]�t g a��Ð_Óf�e)t+��yJf�y f�_�]�t+[J�Ïy�rJyU`ba�yU�)qdtUv�Å�})t�ad|wf$[��)| t2tB¢�])qda g adf�fb_�]�t

|$f�yNf$t�{"t�}8f$|QyJf"f�e)tX�ÁtBcUa�}�})a�})c�[J�ªf�e)tX]�`b[Uc^` yU{�v���[^`=tB¢�yU{w])qdt n fOe)t�]�`btBr)ad[^�)|2]�`b[8c^`$yU{ g [^�)qd��e�yMrUt��tBc)��}�qda ¤ t(f�e)ad|�×

k|l�Timpl ø^éÊ� T ø)û� û)ú)ö m ö l û � ö)ø l[�l ö)ø���ø)é T ��û^ú�� k ü l ø^ú)ö�� l ø^ú)ö�� l ö k ø �

¦Iqdf�e)[^�)c)e�{�yU}U_¾]�`b[Uc^` yU{w{"a�})c+q¨y8})c^��yJcUtB|(`bt3Ô��)a�`btw��t g q�yU`$yNf$ad[^})|�[J�§f�e)ad|(| [^`bf��Ð[^`�tBrUt�`b_�|$_�{Q�Á[Uqda g}�yU{"tX�)| tB�ha¨}Òf�e)tX]�`b[Uc)`$yU{ n ��[)`bf�`$yU}~��[)tB|2})[Uf�v~��t�]�t�})��a�})c�[)}Ó_U[^��`"]�[Ua�}8f2[N�Ir^adtB� n f�e)ad|2{wy ¤ tB|��[)`bf�`$yU}�]�`b[Uc^` yU{"|�t�yJ|$adt�`ªf$[��ª`badf$t n [^`�yNqsqd[J��|=��[^`bfO`$yU}X]�`�[Uc^`$yU{�{"t�`b|ªf$[X��t g [^{�twq�y�?B_Uvw �e)t2`bt�yN|$[^}f�e�yJf=f�e)tB|$t+��t g q�yU`$yJf$ad[^})| g yU}�[N�Ðf$t�}~��t�[^{"adf$f tB��a�}~��[^`bfO`$yU}¾ad|"f�e�yJf n a�}Óf�e)t�yU�)|$t�} g t+[J�ÏyU}~tB¢�])qsa g adf��t g q�yU`$yJf as[)} n f�e)t���yJf�y�fb_:]Át�[J�ÔyU}8_wadf$t�{Îad|���tBf$t�` {"a�})tB���8_wf�e)tª¬�`b|$f�qdtBf$f$t�`Ã[J�asf |I}�yU{"tUv§ �e)tIcUt�})t�` yJq`$�)qdt(ad|�×

a¨})adf$a�yJqqdtBf$f$t�`b|������ a�}Uf tBcUt�`�fb_:]Áta¨})adf$a�yJqqdtBf$f$t�`b|ª¦�� ��yU})�XÅ��*F `bt�yJq>fb_�]�tUv�Ä}+f�e)t(]�`bt g tB��a�})c2]�`�[Uc^`$yU{ n ��t g y8�)|$t(f�e)t�]�t�`�as[)�X[N��f�e)tªqs[)yU}+��yJ| g yJqdqstB� û � ö)ø l���ÕLyU})��})[Uf�|$a�{w])qd_

� ö^ø l[�)ÖÃadfÏyU�)f [^{wyJf$a g yJqdqd_���t g yU{"t"yU}+a�}Uf tBcUt�` n �Ie)adqdtwyJqdq5f�e)t�[UfOe)t�`�r@yU`�a¨y8�)qstB|���t�`bt�[N�Ô`bt�yJq5fb_�]�tUv

×�ÃIæ G6HJI�ÍgÍ7Î�পqsfOe)[^�)c^e"f�e)tªyU}�}^��yNq�`bt�]�yM_�{"t�}Uf |z[^}"y(e)[^{"t�qs[)yU}wyU`bt��)|���yNqsqd_"¬�¢)tB� n f�e)t�[^�)f |$f�yU})��a�})cQ��yNq¨y8} g t���[^tB|})[Uf���t g qda�})t"qda¨})t�y8`bqd_X��adf�e f$a�{"tUv§ �e)t"})tB¢^fI]�`�[Uc^`$yU{ ��t�{"[)})|$f�`$yJf tB|�fOe)as|ª��adf�e+f�e)t"yJad��[J�§y�S[TN�Äqd[^[)]>v

kil[Timbl ø)é l ö S ��ü8ö�il � ú)ö�þ �:û � ú õ�ÿ �+ï^é)ú õ�ÿ��K� ö8î:Ù�ãNáÂàJì�ëNå^î�Ù��87ká)à8Ù�ã<��ê�ãUà^áÁß �l ö^ø S þí��û � ú õ�ÿ �2ï)é^ú õ�ÿ�� ø)é T �:û)ú�� k ü l ø)ú^ö���û � ö)ø l��l ø^ú)ö õ k ü l ø^ú)ö&Ü ò ô^ôÃÞ�ôl ö k ø � õ l ø)ú^ö ÿ ø)é T ��û^ú&Ü þ ò Þ�ô:9 þ ò Þbô�; l ø^ú)ö �pÿiÿ þ,98û � ö^ø l�� ����il � ú)ö�þ �:û � ú õ�ÿ �+ï^é)ú õ�ÿ��K� ø8î^î)åÁàÁâ áÁãMÚÁà8êUì>ãMî:Ù�ß�à^áÁã � � l ö k ø ��il � ú)ö�þ �:û � ú õ�ÿ �+ï^é)ú õ�ÿ��K� ö8îÁñÑë8í � ãUà^á � à�âUàJî>ä)ã �S�Tóò9ô � � � ö)ø l õ ò �bû � ö)ø l��

ø^é T ��û)ú õ ø)é T ��û^úL; þ ø^é T �:û)ú ÿ l ø)ú)ö � 9 l ö k ø ��|l � ú)ögþí��û � ú õ�ÿ �2ï)é^ú õ�ÿ��L� � ö)ø l ��ø^é T �:û)ú

ò9ô ü T û)ú � ûb�:öö)û S

 �e)t+¬�`b| f2]�yU`bf"[J�IfOe)tX]�`b[Uc^`$y8{�ad|w| a¨{�asq�yU`�f$[�fOe)t�t�yU`bqdadt�`"[^})tUvh�Lf g [)}Uf$a�})�)tB|2��asfOehyU})[Uf�e)t�`E�il � ú^ö|$f�yNf$t�{"t�}8f��ªe)a g e�]�`b[)��� g tB|Ie)t�yJ��a�})cU|��Ð[)`§fOe)t�f���[ g [Uq���{w})|�[J�z[^�)f�]��)f��Ie)a g e+��adqsqz��t(]�`�[^��� g tB��q¨yNf$t�`[^}>v �e)t�S[T |$f�yJf$t�{�t�}Ufªf�e)t�}���tO¬�})tB|(f�e)t"|$fOyU`bf�[J��ywqd[)[^]>תf�e)t"|$f�yJf t�{"t�}Uf |Ia�}¾f�e)t"qd[)[^]¾yU`bt"tB¢^t g �)f tB�

`bt�]Át�yJf$tB��qd_���adf�e+f�e)tªqd[^[^]8� g [)}Uf�`�[Uq>r@yU`ba�yU�)qdt � � ö^ø lwf�y ¤ a�})cw|�� gBg tB| |$adrUt�r@yJq��)tB|��É`�[^{ j f [ û � ö^ø l[��v^ �e)t

Page 14: Professional Programmer's Guide to Fortran77 Clive G. Page

î ï�± ��²ð�"´���µ���µ ± �¤�����E����ñª��� j >

¬�`b|$f�|$f�yJf$t�{�t�}Uf�a�}�f�e)t=qd[^[^]���]Á��yJf$tB|ªf�e)t(rJyJq��)t([J� ø)é T �:û)ú �8_XyJ����a�})c2fOe)t(yU}�}^��yNq5a�}Uf$t�`�tB|$f�f$[wadf�yU})�|����)f�` y g f$a�})cXf�e)twy g fO��yJq§`bt�]�yM_:{�t�}Uf�v" �e)ad|Q`�tB|��)qdf$|(a�} ø)é T ��û^ú |$f$[^`ba�})c�f�e)twyU{�[^��}Uf�[N��f�e)twqd[^y8}X| f$adqsq[J��a�})cwyJf�f�e)tIt�})��[N��f�e)tª_Ut�yU`Bvz �e)t(})tB¢)f�|$f�yJf$t�{�t�}UfÃ[^�)f�]��)f$|�f�e)tª_Ut�yU`�})��{Q�Át�`�yU})�+f�e)tªq¨yNf$tB|$f�r@yJq��)t[J� ø^é T ��û)ú v�¦��Lf$t�`ªf�e)ad|�f�e)t�`�twad|(y ü T û^ú � ûp��ö |$f�yJf t�{"t�}Uf��ªe)a g e�y g fO��yJqdqs_¾��[)tB|(})[Uf�e)a�})c����)f(y g f(yJ|(y])q�y g tO��{wyU` ¤ t�`Bv§ �e)t�qd[)[^]+t�})��|IyJf�f�e)t ü T û^ú � ûb��ö | f�yJf$t�{"t�}8f���t g yU�)| t(adf�as|�yJf$fOy g e)tB�+f$["f�e)tªq�yU��tBq n ò�ô nf�e�yJf���yJ|�|O]�t g a�¬�tB�¾a¨} f�e)tMS�T"|$fOyJf$t�{"t�}8f�yJf�f�e)t�|$fOyU`bf�[J�zf�e)t�qd[^[^]>v �e)t(y g f$adrUtª|$f�yJf t�{"t�}Uf |�a�}+f�e)tªqd[^[)]�e�y�r8t(��tBt�}+a�})��t�}Uf tB��y=qdasf f$qdt(f$["f�e)t�`badc^e8f�[J��f�e)[8|$tI[)�)f$|$ad��t�adf�×

f�e)ad|�ad|I})[Uf�`bt3Ô��)a�`btB�����)f�as|�rUt�`b_ g [^{�{"[^}+]�`$y g f$a g t(yU{"[)})cQ��[^`bf�` yU}2]�`�[Uc^`$yU{�{"t�`b|��Át g yU�)|$t�adfI{wy ¤ tB|f�e)t�|$fO`$� g f���`bt�[J�zf�e)t(]�`b[8c^`$yU{Î{"[^`�t g [^})|�])a g �)[^�)|�v �e)t2]�`b[Uc)`$yU{¡Q�� �(�IZ��&]�`b[)��� g tB|wy�f�yU�)qdtw[N�\rJyJq��)tB|"�Ie)a g e n �Ie)adqdtX{wyJf�e)t�{�yJf$a g yJqdqd_ g [)`$`bt g f n as|

})[Uf�r8t�`b_2t�yN|$_2f [�`�t�yJ�5×

ö8î:Ù�ãNáÑàNìÁëNå)î:Ù��87ká^à8Ù�ã���ê�ãNà)á�ß=)ô^ô)ôg�XóÃÞ ô � ôø8î^î)åÁàÁâ�á�ãMÚ�àUê8ì�ãMî�Ù�ß�à)á�ã ô =)ôÃÞ*?�@<=�?ö8îÁñÑë8í � ãUà)á � à�âUàJî>ä)ã

ò ò�M�M óÃÞ ò =�@= ò A)ô M Þ�?<=�=A ó ò ô§Þbô)ó M ?> > @ ô Þ M ?<A�=ô =ÃÞ�ó�?^ô)ô >còNM ö�9)ô >

×�ÃPO QgÍ7ÆbÏÊÅ]ÒrÒpË]ÙSRRégÒpÎ�é�Ò �e)t�f�y8�)qst�[N�ÔrJyJq��)tB|I��[^�)qd�Xe�yMrUt�yw��tBf$f t�`�yU]�]�t�y8`$yU} g t�a��§f�e)tª��t g a¨{�yJqÔ]Á[Ua�}Uf |���t�`bt(]�`b[^]Át�`bqd_�yJqdadc^})tB�yU})��a �§fOe)t�`bt���t�`bt�[^})qd_�fb��["��adcUadf$|(yM�Lf$t�`Ãf�e)t�{�v� �e)t=q¨yN|$f�¬�c^��`bt=a�}�f�e)t=f�yU�)qdt�ad|Ïy g fO��yJqdqs_�qdtB|$|IfOe�yU}�yf�e)a�`bf$adtBf�eÊ[J��y�]�t�}�}8_ n �Ie)a g e¾ad|�tå�5t g f$adrUtBqd_�?Bt�`�[�f$[2��asfOe)a¨}Êf�e)twy gBg ��`$y g _�[J��f�e)tw{wy g e)a�})tUv=¦ ��tBf f$t�`q�yM_U[^�)f g y8}���t�]�`b[)��� g tB��t�yJ| asqd_Ót�})[^�)c^e��8_��)|$a�})c�yU}�tB¢�])qda g asf��Ð[^` {wyJf�|�]Át g a ¬ g yNf$ad[^}Óa�})|$f$t�yJ�Ó[J��f�e)tqdad|$fb�Ä��a�`bt g f$tB��[^�)fO]��)f��)|$tB����]wf [(})[@�=vÔ ¡[(��[=f�e)ad| n f�e)t�q�yJ|$f��|l � ú^ö |$f�yJf$t�{�t�}Ufza�}�f�e)tÏ]�`�[Uc^`$yU{&|Oe)[^�)qd���t"`bt�])q�y g tB�X��asfOe�[^})t�qda ¤ t(fOe)as|M×

�il � ú)ö�þ �:û � ú õ�ÿ �+ï^é)ú õ(� þ ò ��� � óg�bï ò|ò Þ*= �6�T��� � ö)ø l ��ø)é T �:û)ú �e)t(yU{�t�})��tB��]�`b[Uc)`$yU{ ��adqdq�f�e)t�}�]�`b[)��� g tQyw})t�yJf t�`�f�yU���)q�yJf$ad[^}>×

ö8î:Ù�ãNáÑàNìÁëNå)î:Ù��87ká^à8Ù�ã���ê�ãNà)á�ß=)ô^ô)ôg�XóÃÞ ô � ôø8î^î)åÁàÁâ�á�ãMÚ�àUê8ì�ãMî�Ù�ß�à)á�ã ô =)ôÃÞ*?�@<=�?ö8îÁñÑë8í � ãUà)á � à�âUàJî>ä)ã

ò òNM<M ó§Þ ò A= ò A^ô M Þ�?�=A ó ò ô§Þ ò ô> > @ ô Þ M ?ô Þbô)ô

 �e)t+�L[^`${wyNfQ|O]�t g a�¬ g yJf$ad[^}Ñe�yJ|"f$[��Át�t�} g qd[U|$tB��a�}Â]�yU`bt�}8f�e)tB|$tB|2yU})� n yJ|wadfwad|2y g f���yJqdqd_�y g e�yU`$y g f$t�`g [^})|$fOyU}Uf n a�}�y¾]�yJa�`=[J�IyU]Á[U|$f�`b[)]�e)tB|QyJ|=��tBqdqLv¾ �e)tw¬�`�|$f(adf$t�{�a�}�fOe)tw�L[^`${wyNf�qsad|$f n ò � n ad|2})tBtB��tB�Óf$[g [^]ÁtQ��asfOeXfOe)t g y8`$`ba�yJcUtO� g [^}8f�`b[8q g [^}8rUt�}8f$ad[^}>×�adf(]�`b[Jr)ad��tB|(yU}¾yJ����adf$ad[^}�yJq§�)q�yU} ¤ yJfªf�e)t"|$f�yU`bf�[J��t�y g eqda�})t��ªe)a g ehad|wq�yJf t�`w`bt�{"[JrUtB���8_�fOe)t���[^`bfO`$yU}~|$_^| f$t�{�vh �e)t�`bt�ad|�})[�qd[UcUa g yJq�tB¢�])q�yU}�yJf$ad[^} �Ð[^`�f�e)ad|�×adf(ad|"f�e)t�`bt"�L[^` g [^{�]�yJf$a��)adqsadfb_Ó��adf�e¾rUt�`b_¾t�yU`�qs_¾��[^`bf�`$y8}X| _^|$f t�{�v2 �e)t+`bt�{wyJa�})a�})c¾asf t�{"|(|�]Át g a��Ð_Óf�e)t

Page 15: Professional Programmer's Guide to Fortran77 Clive G. Page

î ï�± ��²ð�"´���µ���µ ± �¤�����E����ñª��� j�È

q�yM_U[^�)f�[J�zt�y g e�})��{"��t�`B× � ò ô |O]�t g a�¬�tB|�f�e�yJf�f�e)tª¬�`b| fI}^��{"�Át�` n yU}+a�}8f$tBcUt�` n |�e)[^�)qd�¾��t([ gBg ��]8_Xy�¬�tBqd�j�p g [Uq���{w})|���ad��tU�5| a¨{�asq�yU`�qs_ ï ò|ò Þ�= ]��)f$|IfOe)tQ| t g [^})��}^��{"��t�` n y2`bt�yNq\Õs��[)yJf$a�})cJ��]�[8a¨}8f�Ö�r@yJq��)t n a¨}8f$[�y¬�tBqd� jUj g e�yU`$y g f$t�`�|§��ad��tª��adf�ewtB¢�y g f$qd_ o ��adcUadf$|�yM�Lf$t�` f�e)t���t g a�{wyJq5]�[8a¨}8f�v§�ª��{"��t�`b|�yU`btIyNqs��yM_)|�`badc^e8fb�Á$�)|$f$a�¬�tB��a�}+t�y g e�¬�tBqd�5v� �e)tª¬�tBqs����as��fOe)|�a�}+f�e)ad|�tB¢�yU{w])qdt(e�yMrUt���tBt�} g e)[U|$t�}+|$[=f�e�yJf�f�e)t g [Uq���{w})|�[J�¬�c^��`btB|�qsa�})tw��]�|OyJf$ad|b�Äy g f$[^`badqd_+��adf�e�f�e)t(e)t�yN��a¨})c8|�v

×�ÃVU Qgé�Ñ�èiÒpÚ³Í7Ñ�à��[)`bf�`$yU}Â]�`b[Jr^ad��tB|¾y��)|$tO�Ä�)q�|$tBqdt g f$ad[^} [J�wa¨}8f�`ba�})|$a g �É��} g f as[)})|Xf$[ g yU` `b_�[^�)f�rJyU`bad[^�)|�{wyJfOe)t�{wyJf$a g yJq[^]Át�`$yJf$ad[^})|=|�� g eÓyJ|=|ðÔ:��y8`bt2`b[)[Uf n {wyJ¢)a¨{"��{�yU})� {�a¨})a�{"��{ n | a¨})t n g [U| a¨})t n tBf g v n yN|(��tBqdq�yJ|=r@yU`bad[^�)|��yJf�yÓfb_�]�t g [)}UrUt�`�|$ad[^})|�v¤�z[^� g y8}kyJqd|$[��ª`badf$t�_U[^��`+[J�I}Ò�Ä��} g f$ad[^})|�vË �e)t�})tB¢)fXtB¢�yU{w])qdt n �Ie)a g eg [^{w]��)f tB|�f�e)tQy8`bt�y=[J� y�f�`ba�yU})cUqdt n |�e)[J��|ª��[Uf�e��L[^`${�|�[N���Ä��} g f$ad[^}�a�}�y g f$ad[^}>v �e)tª�Ð[)`${"�)q¨yNtª�Ð[^`\f�e)t(yU`bt�y"[N� y"fO`ba�yU})cUqdt���adf�e�| as��tB|ª[J�zqdt�})cUf�eXy n � n yU})� g ad|�×

WX� Õ � 'EYZ'E[ Ö]\ o� � ���^��_ `!W� Õ W % � Ö Õ W %aY Ö Õ W %b[ Ö2c

kil[Timbl ø)éÑú l � ø)û m�il � ú)ö�þ �:û � ú õ�ÿ �bï)é^ú õ�ÿ��6� ö8î:Ù�ãUáÂâ^ãMî:è)Ù8Ø�ß�ë8í Ù8Ø�á�ã)ãÑß:òJñ�ã)ßzÛ �l ö^ø S þí��û � ú õ�ÿ ��ï)é)ú õ�ÿ�� � � S ö^ø�� � � S ö � � � � S ö�ü�il � ú)ö�þ �:û � ú õ�ÿ �bï)é^ú õ�ÿ��6� ø�á�ãUàÑò8ß � �Xø l ö)ø�A�þ � � S ö^ø�� � � S ö � � � � S ö:ü �ö)û S

ïb�:û�ü8ú � T ûÑø l ö)ø�A�þ ø�� � �Xü �ÿ ü^ëNì^Ú)å�Ù�ã)ßhÙUØ>ã�à^áÁãNàÑë8í�àÑÙ�á�òJàNî:è�â^ãÓí:á)ëNì â^ãMî�è^Ù8Ø�ß�ë8í&ß:òJñ�ã)ß

� õ þ$øL; � ;Ñü � Ü�=ÃÞ�ôø l ö)ø�A õ � ù l úgþ � ÿ þ � 9Uø �Lÿ þ � 9 � �Lÿ þ � 9^ü �<�ö)û S

 �e)ad|�]�`�[Uc^`$yU{ g [)})|$ad|$f$|§[N��fb��[(]�`b[Uc^`$y8{���})adf$|�và�e)t�¬�`b|$fÃad|§f�e)tI{�yJa�}w]�`b[Uc^` yU{ n yU})�wadf�e�yJ|§yJ|§| a¨{�asq�yU`�L[^`${Îf$[�f�e)[U|$t�|$tBt�} t�yU`bqdadt�`Bv� �e)t=[^})qd_X})[@r8tBq>�Ðt�yNf���`bt�ad|IfOe�yJf�f�e)t=qsad|$fª[J�zadf$t�{"|ª[^�)f�]��)fI�8_�f�e)t$�il � ú^ö|$f�yNf$t�{"t�}8f�a�} g q��)��tB|(y g yJqdqf$[wy=�Ä��} g f$ad[^} g yJqdqdtB� ø l ö)ø�A vz �e)ad| g [^{w]��)f$tB|ªf�e)t(yU`�t�y([N�Ôf�e)t�fO`ba�yU})cUqdtUv��Éfad|�yU}�tB¢^f$t�` }�yJq)�É��} g f as[)}"�Ie)a g e�ad|§|�]Át g a�¬�tB�X�U_w{"t�yU})|z[N�¡yª| t�]�yU`$yJf$t�]�`b[8c^`$yU{!��})adf§f t g e�})a g yJqdqd_ ¤ })[J�I}yJ|IyQ�É��} g f$ad[^} |�����]�`b[Uc)`$yU{�v �e)tItB¢)f$t�`$}�yNq��Ä��} g f$ad[^}+|$fOyU`bf$|z��adf�e�y ïp��û�üUú � T û |$f�yJf t�{"t�}UfÃ�Ie)a g e�}�y8{"tB|�f�e)t��Ä��} g f$ad[^}�yU})�+|�]Át g �

a�¬�tB|�adf$|I| tBf�[J�z����{w{=_XyU`bc^��{"t�}8f$|�v� �e)ad|��É��} g f$ad[^}�e�yJ|ªf�e�`btBt(����{�{(_�yU`bc)��{"t�}Uf | g yJqdqdtB� ø�� � � yU})�ü v: �e)t�r@yJq��)tB|ª[J��f�e)t(y g fO��yJq5yU`bc^��{"t�}8f$| n � � S ö^ø�� � � S ö � � yU})�R� � S ö:ü n yU`btªf�`$yU})|��Ðt�`$`�tB�2f$["f�e)t g [)`$`btO�|�]Á[^})��a�})cX����{w{=_�yU`bc^��{�t�}Uf$|ª�Ie)t�}�f�e)t"�Ä��} g f$ad[^}¾ad| g yJqdqdtB�5v � y8`ba�yU�)qdt2}�yU{"tB|(�)|$tB�~a¨}Êf�e)t"tB¢^f$t�` }�yJq�Ä��} g f$ad[^}Xe�yMrUt�})[ g [^}�})t g f$ad[^} ��adf�e+f�e)[U| t�[J��f�e)t({wyNa¨}�]�`�[Uc^`$yU{ ×�fOe)t(y g f���yJq5yU})������{w{=_�yU`bc^��{�t�}Ufr@yNq¨�)tB|(y8`bt g [^}�})t g f$tB�¾[^})qd_X�8_�f�e)tBa�`I`btBq�yJf asr8tQ]�[8|$adf$ad[^}�a¨}�t�y g e�qdad|$f�v� �e^�)|$� � S ö^ø f�`$yU})|��Ðt�`b|�asf |�r@yJq��)tf$[ ø n yU})��|$[�[^}>vz �e)tI}�yU{�t�[J�5f�e)t��Ä��} g f$ad[^} g yU}w��tª�)|$tB��yN|§y�r@y8`ba�yU�)qdtI��adf�e)a�}�f�e)t�|�����]�`�[Uc^`$yU{!��})adf��f�e)ad|(rJyU`ba�yU�)qdt�{Q�)| fÏ�Át2yJ|$|$adc^})tB�Óy+r@yJq��)t���tO�L[^`bt"f�e)t"�Ä��} g f$ad[^}�`btBfO��`$})| g [^}8f�`b[Uq n yJ|�f�e)ad|=as|=f�e)t"r@yJq��)t`btBf���` })tB�Xf$["f�e)t g yJqdqda�})cX]�`b[Uc^` yU{�v� adf�e)a�}=f�e)tÃ�Ä��} g f$ad[^}=f�e)t§����{w{=_(yU`�c^��{"t�}8f$| g y8}(yJqd|$[���t��)|$tB�wyJ|r@yU`�a¨y8�)qstB|Mv§ �e)tz¬�`�|$fÔyN|$|$adc^}�{"t�}8f

|$f�yNf$t�{"t�}8f g [){w]��)f$tB|�f�e)t�|O��{ n ��adr^ad��tB|�adfI�8_2fb��[ n yU})��yJ| |$adc^})|�adf�f$[2y=qd[ g yJq5r@y8`ba�yU�)qdt n ���)f�e)t�|$t g [)})�yJ|$| asc)}�{"t�}Uf�|$f�yJf$t�{�t�}Uf"�)|$tB|wf�e)t�a�}8f�`ba�})|$a g �Ä��} g f$ad[^}Y� ù l ú �ªe)a g e g [){w]��)f$tB|wf�e)t+|ðÔ���yU`btO��`b[)[Uf"[J��adf$|yU`bc)��{"t�}UfMv( �e)t2`btB|O�)qsf=ad|(`btBf���`$})tB��f [�f�e)t g yJqdqsa�})c�]�`b[Uc)`$yU{Ë�U_�yJ|$| asc)})a¨})c�adf�f$[�f�e)t"r@yU`�a¨y8�)qst+�Ie)a g ee�yJ|�fOe)t�|�yU{"t(}�yU{�t(yJ|�f�e)t��É��} g f$ad[^}>v

Page 16: Professional Programmer's Guide to Fortran77 Clive G. Page

î ï�± ��²ð�"´���µ���µ ± �¤�����E����ñª��� j B

 �e)t ö^û S(|$fOyJf$t�{"t�}8f�a�}wy�]�`�[ g tB����`bt���[^tB|§})[Uf g y8�)|$t�f�e)t�]�`b[Uc^`$y8{kf$[ª|$f$[)]Q���)f'Á$�)|$f§`btBfO��`$})| g [^}8f�`b[Uqf$[wfOe)t g yJqdqsa�})cX]�`b[8c^`$yU{Î��})adf�v �e)t�`bt"ad|([^})t"[Uf�e)t�`�})[JrUtBqdfb_>×Iy g [^{w{�t�}Ufªqda¨})t+��tB| g `ba��)a�})c¾f�e)twy g f$ad[^}�[J��f�e)t=�É��} g f$ad[^}>v=¦�}U_�qsa�})t

[J�zf$tB¢)f g yU}X�Át"a¨})| t�`bf$tB��yN|Ïy g [){w{"t�}8fIyU}8_^�Ie)t�`�t(tB¢ g t�])fÏyM�Lf$t�`�y8} ö)û S+|$f�yJf t�{"t�}UfMv§Z�[^{w{�t�}Uf�qda�})tB|e�yMrUt(yU}�yJ| f$t�`bad| ¤ a¨} f�e)tª¬�`b|$f g [Uq���{w}>v �e)tB|$t�fb��[(]�`b[Uc^` yU{!��})adf$| g [^�)qd����t�e)tBqd�2[^}�|$t�]�yU`$yJf t�|$[^��` g t\¬�qstB|�yU})��tBrUt�} g [^{w])adqdtB��|$t�]�yU` yJf$tBqd_Uv

¦�}kyJ����adf$ad[^}�yJq=|$f�yJcUt n �)|���yJqdqd_ g yJqdqdtB�!qda¨} ¤ a�})c n as|¾})tBtB��tB��f [ g [^})|$f�`$� g f�fOe)t g [^{w])qdtBf$t�tB¢)t g �)f�yU�)qdt]�`b[Uc)`$yU{![)�)f�[J��f�e)tB| t�|$t�]�yU`$yJf tBqs_ g [^{w])adqdtB��[)�iÁ�t g f�{"[)���)qdtB|�v§ �e)ad|ª|$tBt�{"|�yU}���}�})t g tB|$|OyU`b_+[@r8t�`$e)t�yJ��L[^`Ã|�� g e�|$a�{w])qdtQ]�`�[Uc^`$yU{�|����)f n yJ|���tB| g `ba��ÁtB�Xa�}+f�e)t�})tB¢^f�| t g f$ad[^} n asfªe�yJ|�yJ��r@yU}8f�yJc8tB|§�Ie)t�}����)adqd��a�})cq�yU`bcUt(]�`�[Uc^`$yU{�|�v�Ä}�f�e)ad|Ir8t�`b_�|$a�{w])qdt"tB¢:yU{�])qst"adfª�\yN|I})[Uf�`bt�yJqdqd_�})t g tB|$|�y8`b_�f$[w|$t�]�y8`$yJf$t=f�e)t g yJq g �)q�yJf$ad[^} �Ä`b[^{ f�e)t

a�}�]��)f��J[^�)fO]��)f�[^]�t�`$yNf$ad[^})|(���)f�a�}�{"[^`bt g [^{w])qda g yJf$tB� g yN|$tB|�f�e)ad|�ad|(�)|���yJqdqd_Êy+| t�})|$a��)qst+]�`$y g f$a g tUv���[^`[^})twfOe)a¨})c�adf"yJqdqs[J��|=f�e)t"|�yU{"t g yJq g �)q�yJf$ad[^}~f$[X�ÁtwtB¢^t g �)f tB��yU}8_^�Ie)t�`�tQtBqd|$t+f�e�yJfªadf(ad|Q`�t3Ô:�)a�`btB�5v"��[^`yU})[UfOe)t�` n adfz`btB��� g tB|f�e)t g [^{�])qstB¢)adfb_([J��f�e)t�]�`�[Uc^`$yU{ �U_ª��adr^ad��a�})c(f�e)tÃ��[^` ¤ ��]�a�}Uf [I|�{�yJqdqUa�})��t�]�t�})��t�}8f��})adf$|ª�Ie)a g e�yU`bt�t�yJ|$adt�`�f [2{wyU}�yJc8tUv

×�ÃPd BNQXeTf�dzÍgèpägà¦�})[Uf�e)t�`"a�{w]Á[^`bf�yU}8f g [^}8f�`b[8q�| f�`$� g f���`bt�a�}h��[)`bf�`$yU}~ad|2fOe)t � ï |$fOyJf$t�{"t�}8f"�Ie)a g eÂyJqdqs[J��|�y��)qd[ g¥¤ [J�|$f�yNf$t�{"t�}8f$|zf$[Q�ÁtItB¢)t g �)f$tB� g [^})��adf$ad[^}�yJqdqd_ n [)`§yJqdqd[J��|�y g e)[Ua g tIf$["��t�{wyJ��tI�ÁtBfb��tBt�}���a�5t�`bt�}Uf g [^��`�|$tB|[J�§y g f$ad[^}>vÅ�})tw[^�8r^ad[^�)|���tO�Lt g f�[J��fOe)t(�Ä��} g f$ad[^} ø l ö^ø�A ad|�f�e�yJf�e�yJ|(})[X]�`b[Uf$t g f as[)}�yNc^yJa�})|$f�a�} g [^`$`bt g f�a�}�]��)f�v

��yU}8_�| tBf$|"[J��f�e�`btBt�`bt�yJq�}^��{"�Át�`b| g [^�)qd��})[UfQ]Á[U|$|$a��)qd_Ó�Ð[)`${ f�e)t+|$ad��tB|"[J�Ïy�f�`ba�yU})c8qst n �Ð[^`�tB¢:y8{w])qdtj v pÁn�o v p�n y8})��Ç�v p vI¦ qdasf f$qdt2yU}�yJqd_)|$ad|�|�e)[J��|�f�e�yJfªa�}�yNqsqz|O� g e�a�{w]�[8|$|$a��)qdt g yJ| tB|�f�e)tQyU`�c^��{"t�}8fI[J��f�e)t|ðÔ���yU`bt(`b[)[UfÃ�Ä��} g f$ad[^}+��adqdqÔ�Át(})tBc^yJf$adrUt n �ªe)a g e�ad|�adqdqdtBc^yJqLv���[)`bf�`$yU}�|$_^| f$t�{"|�|�e)[)�)qs����tBf$t g f�t�`$`�[^`b|�qda ¤ tf�e)ad|wyJfQ` ��}8�Äf$a�{"t����)f"��adqdq�r@yU`�_�a�}~f�e)tBa�`"`btB|�]�[)})|$tUvR�zr8t�}�|$[ n y¾{"tB|$|�yNcUtwqda ¤ t2«)})tBc^yJf$adrUt�yU`bc^��{�t�}Uf�L[^`�|ðÔ���yU`btO��`�[^[Uf «�{wyM_�})[Ufw��t+t�})[^�)c^e~f$[X|O�)cUcUtB|$f"f$[�f�e)t��)| t�`(�ªe�yJf(ad|"�I`b[^})c�v� �e)t�})tB¢)f(rUt�`b| as[)}[J��f�e)t=�É��} g f$ad[^}�ad|(| qsadc^e8f$qd_�{"[^`btw�)|$t�`��L�É`badt�})��qd_>�Ô��}8�L[^`bfO��}�yJf$tBqd_��Át g yU�)|$tw[^})t g yU}�})[Uf��)|$t2y � Q��Ä ��|$f�yNf$t�{"t�}8f§a�})|$ad��tQyÏ�É��} g f$ad[^}+�ªe)a g e+ad|�adf$|$tBq��Ô�ÁtBa¨})c��)|$tB�+a�}�y � Q��� ��Ó|$f�yNf$t�{"t�}8f n f�e)tªt�`$`b[)`§{"tB|$|OyJcUte�yJ|�f [ g [^{"tª�Ä`b[^{Îyw�� �Å�xÂ|$fOyJf$t�{"t�}8f�v

l ö^ø��Âïp��û�üUú � T ûÑø l ö)ø�A<þ$ø�� � �¾ü �ÿ ü^ëNì^Ú)å�Ù�ã)ßhÙUØ>ã�à^áÁãNàÑë8í�àÑÙ�á�òJàNî:è�â^ãÓí:á)ëNì â^ãMî�è^Ù8Ø�ß�ë8í!ò�Ù�ßkß�ò@ñÁã^ßzÞÿi� íkà)áUè8å^ì>ãMî:Ù�ß�à^áÁã�ò î�g�à�â�òJñkò8ß^ßMå�ã)ßÑãNá)á)ë^áÂì>ã)ß^ßUàUè�ã�àJî�ñÑá�ãJÙ8åÁáNî�ßhÿ�ãNá)ëÃÞ

l ö^ø��Âø�� � ��ü� õ þ$øL; � ;Ñü � Ü�=ÃÞ�ôï)ø:ü8ú Tpl õ � ÿ þ � 98ø �"ÿ þ � 9 � �Lÿ þ � 9)ü �� ï�þ ï)ø:ü8ú Tbl Þ �8ö�Þ�ôÃÞbô � ú)ý^ö)û

� ú Tpk �å� ì)Ú�ë�ß)ß:òih>â^ãÓÙ:á�ò@àNî�è�â)ã �ö�� � ö

ø l ö^ø�A õ � ù l ú�þ ï)ø:ü8ú Tbl �ö)û S � ïö)û S

 �e)t � ï | f�yJf$t�{"t�}8f���[^` ¤ |���adf�e¾f�e)t ö�� � ö y8})� ö^û S � ï |$fOyJf$t�{"t�}8f$|�f$[�t�} g qd[U|$t+fb��[��)qd[ g¥¤ |([J� g [^��tUv �e)t�|$f�yJf$t�{�t�}Uf$|"a�}hfOe)t�¬�`b|$f+�)qs[ gB¤ yU`bt�[^})qd_htB¢)t g �)f$tB��a��(f�e)t�tB¢:]�`btB| |$ad[^}ha�}hfOe)t � ï |$fOyJf$t�{"t�}8f"as|f�`$�)t n f�e)[U|$tªa�}�f�e)t�|$t g [)})���)qd[ gB¤ [^})qd_+a �§adf�ad|��ÉyNqs| tUv§ �e)t�|$f�yNf$t�{"t�}8f$|�a¨} t�y g e��)qs[ gB¤ yU`bt�a�})��t�}Uf tB���L[^`r)as| a¨�)adqdadfb_ n ���)f�f�e)ad|ªad| n yJc^yNa¨} n Á��)|$fªy"|$t�})|$a��)qdtw]�`b[Uc^`$y8{w{"a�})cw]�`$y g f$a g tUv

Page 17: Professional Programmer's Guide to Fortran77 Clive G. Page

î ï�± ��²ð�"´���µ���µ ± �¤�����E����ñª��� j Ç

� adf�e~f�e)ad|w{"[)��a ¬ g yNf$ad[^} n fOe)twr@yJq��)t�[J� ï^ø�üUú Tbl�ad|"f$tB|$f tB� yU})�~a ��adf"as|w})tBc^yNf$adrUt2[)`$?Bt�`b[¾f�e)t�}ÓyU}t�`$`b[)`I{"tB| |�yJcUt"ad|Q]�`b[)��� g tB�5� ø l ö)ø � ad|QyJqd|$[�|$tBf�f [�yU}Êa¨{�]�[U|$| a¨�)qdt+r@yJq��)t�Õ ?Bt�`b[^Öªf$[���yJc�f�e)tw{"ad|$f�y ¤ tUv��[Uf$tªf�e�yJf§fOe)t��L[^`${ © Þ �8ö�Þ «=as|��)|$tB�X�Át g yU�)|$tªf�e)tªqstB| |b�Äf�e�yU}8�Ä[^`��Ät3Ô:��yJqd| g e�y8`$y g f$t�` n ©0j8« n ad|�})[Uf�]�`btB|$t�}8fa�}�f�e)t���[^`bf�` yU} g e�yU`$y g f$t�`�|$tBf�vz�Ð� �wad|�]�[U|$adf$adrUt=f�e)t g yJq g �)q�yJf$ad[^}¾]�`b[ g tBtB��|ÏyN|I��tO�L[^`btUv

×�ÃVk JÆpÆpÅiÈ�à��[)`bf�`$yU}~e�yJ|(cU[)[)���Äy g adqdasf astB|��L[^`(e�yU})��qda�})chyU`$`$yM_)|�vX �e)tB_ g y8}�e�yMrUt2��]Óf [X|$tBrUt�}~��a�{"t�})|$ad[^})|�v� �e)t]�`b[Uc)`$yU{ �� ¡¦§ ��!`bt�yN��|�yÂ|$tBf¾[J��`bt�yJqw})��{"��t�`b|��Ä`b[^{ yÂ��yJf�yÒ¬�qdt�yU})� ]��)f$|�f�e)t�{ a�}8f$[ky�[)})tO���a�{"t�})|$ad[^}�yJq�yU`$` y�_Uv��Éfwf�e)t�} g [^{�]��)f$tB|wf�e)tBa�`w{"t�y8}hyU})�h|$f�yU})��y8`b����tBr)a�yJf$ad[^}>v�u�adrUt�}hyU}hyU`$` y�_¾[J�r@yNq¨�)tB|mlon�p,l�qNp0lsrtp u u lsv n f�e)t"{"t�yU}1� yU})��|$fOyU})��yU`b����tBr)a�yJf$ad[^}X��y8`bt�cUadrUt�}X�8_>×

w �yx l�z{| q � Õ x Õ}lsz % w Ö q Ö

Õ { %�j Ö � Õ x l qz % {~w ÖÕ { %hj Ö

 5[�|$a�{w])qda �L_Óf�e)ad|Q]�`b[Uc)`$yU{ n adf(��asqdq���t�yJ|$|O��{"tB��f�e�yJf�fOe)t"¬�`b|$f"}^��{"��t�`�a�}�f�e)t�¬�qst+ad|wyU}¾a�}Uf tBcUt�`�Ie)a g e�f$tBqdqd|IfOe)tQ]�`b[Uc)`$yU{Îe)[J�ð{�yU}U_�`bt�yJq¡��yJf�y"]�[Ua�}8f$|��Ð[Uqdqd[J�(v

k|l�Timpl ø^é � ú^ø)ú �üUý)ø l ø�üUú)ö l ï)û)ø^é)ö ÿ ô ôl ö)ø��Y�gþ ò ô)ô^ô ��|l � ú^ögþí��û � ú õ�ÿ �2ï)é)ú õ�ÿ���� öUî�Ù�ãNáÑñ)àUÙ�àÑí>òUâ)ãÓîÁàNì�ãzÛ �l ö)ø S þ �:û � ú õ�ÿ �+ï^é)ú õ(� þ$ø �6�T� ï)û^ø)é^öTpk ö)û�þ �:û � ú õ ò �+ï � �8ö õ ï^û)ø)é^ö�� � ú)ø^úb� � õ�� T � S ���

ÿ l ãUà^ñÒî)å^ì�h>ãNáÑë8í�ñ^à8Ù�àhÚ�ë�òBî�Ù�ßhû k ú �l ö)ø S þ �:û � ú õ ò �+ï^é)ú õ�ÿ�� û k ú ��|l � ú^ögþí��û � ú õ�ÿ �2ï)é)ú õ�ÿ�� û k ú � � � ñ^à8Ù:àÒÚ�ë�ò î�Ù�ß �� ïgþ û k ú � Þ m ú�Þ ò ô)ô)ô � � ú Tbk � ú:ë)ëÒìÁàNî:êkñ)àUÙ�àÂÚ�ë�ò î�Ù�ß �l ö)ø S þ �:û � ú õ ò �+ï^é)ú õ�ÿ�� þð�gþ ��� � �"õ ò �bû k ú � �üUø��i��é)ö)ø^û �pS þ ����û k ú � ��øi� m � �pS ��|l � ú^ögþí��û � ú õ�ÿ �2ï)é)ú õ�ÿ���� é�ãUàNî õ�� �Xø|� m � � � Ù�ñ S ã$g�òJà8Ù�òJëJî õ�� � �bSö^û S

� � �il[T �:ú � û^öÑé)ö^ø)û �bS þð���2û k ú � ��øi� m � �bS �� û)ú)ö m ö l û k ú �l ö)ø��Y�gþ û k ú � � ��øi� m � �bS� ��é õ ôÃÞ�ô� ��é � ù õ ôÃÞ�ôS[T ò�ô � �xõ ò ��û k ú �

� ��é õ � ��é ;"�gþ ���� ��é � ù õ � ��é � ù:;"�gþ ���bÿ|ÿ =

ò9ô ü T û)ú � ûb�:öø|� m õ � �:é!Ühû k ú ��pS õ � ù l ú�þ � �:é � ù:9Âû k ú � ÿ ø|� m � Ü7þ$û k ú � 9 ò �ö^û S

Page 18: Professional Programmer's Guide to Fortran77 Clive G. Page

� ´���µ��<µ ± �¼²��¼ñ�µ ± �$��²ð��� j�m

 �e)ad|�]�`b[Uc^`$y8{ e�yN|�|$tBrUt�`$yNq�})tB�&|$f�yNf$t�{"t�}8f§�L[^`${�|�v �e)t üUý)ø l ø�üUú)ö lª|$f�yNf$t�{"t�}8f���t g q�yU`btB|zfOe�yJf�fOe)t�rJyU`ba�yU�)qdt ï)û^ø)é)ö as|zf [Ïe)[Uqd�2y�|$f�`�a¨})c�[N� ÈUp g e�yU`$y g f$t�`b|�×

f�e)ad|ª|�e)[^�)qd���Át(qd[^})cwt�})[^�)c)e+�L[^`Ãf�e)t�¬�qdtO��}�yU{"tB|��)|$tB�¾�U_�{"[U|$f�[^]Át�`$yJf$a�})c+|$_)|$f$t�{"|�v �e)t�l ö)ø[� | f�yJf$t�{"t�}8f��t g q¨y8`btB|�yU}=yU`$`$yM_ � ��adf�e j�pUpUp tBqdt�{"t�}Uf |§}^��{"��t�`�tB�"�É`�[^{ �gþ ò � f$[ �gþ ò ô^ô)ô � v �e)t5l ö^ø S�|$f�yJf t�{"t�}Uf��)|$tB|"y��Ð[^` {wyJfªasf t�{ ø �Ie)a g e¾ad|Q})tBtB��tB�Óf$[�`�t�yJ�¾a¨}~y g e�yU` y g f$t�`ª|$f�`�a¨})c�×I¦

[^`badcUa�}�yJqdqd_X| f$[^[)�+�L[^`=©�yJq�]�e�yM��})��{"t�`ba g «�v �e)t«Tbk ö)û |$fOyJf$t�{"t�}8f�f�e)t�}�yJ| |$adc^})|(�Ä�UÅ ��})asfw})��{"��t�`�[)})t ÕÉyU}U_�|�{wyJqdqÃa¨}8f$tBcUt�` g [^�)qd��e�yMrUt2�ÁtBt�}

�)|$tB��Ö�f [(f�e)tª¬�qdtUv§ �e)ad|I��})adfI})��{"��t�`�ad|I})tBtB��tB��a�} |����)|$t3Ô��)t�}Uf�a�}�]��)f��J[^�)fO]��)f�|$f�yJf t�{"t�}Uf |�vz �e)tIadf$t�{� ú^ø)úp� � õ(� T � S � ad|I�)|$tB�Xf [w|�]�t g a��L_�f�e�yJf�fOe)tª¬�qst"yJq�`bt�yJ��_�tB¢)ad|$f$|�v �e)t � ï |$f�yNf$t�{"t�}8fzas|�yª|�]�t g a�yJqÁ�Ð[)`${&�Ie)a g e g yU}"`bt�])q�y g t�yU}"�L����)qd[ g¥¤ �ªe)t�`bt�adfz��[^�)qd�w[^})qd_ g [^}8f�yJa�}

[^})tª|$f�yJf t�{"t�}UfM×�adf$|�tå�5t g f�ad|�f$["|$f$[^]�f�e)t�]�`b[Uc^` yU{ `$��}�})a�})c+a���f�e)t(yU`$` y�_"��[^�)qd��})[Uf���t�q�yU`bcUt�t�})[)�)c^e>v �e)t5l ö^ø SX|$fOyJf$t�{"t�}8f��Ie)a g e��Ð[Uqdqd[J��|(adf"e�yJ|Qy+|�]Át g a�yJqÃ�Ð[^` { ¤ })[J�I}¾yJ|"yU}�a¨{�])qsadtB�)�³S�TJ�Äqd[)[^]>×wfOe)as|

`bt�yJ��|ªyJqdq5f�e)t(})��{Q�Át�`b|��É`b[){ fOe)t�¬�qdt(a�}�f [Q|O� gBg tB|$|$adrUt"tBqdt�{"t�}Uf |I[J�f�e)tQyU` `$yM_ � a�} [^})t�[^]�t�` yJf$ad[^}>v �e)t ü8ø[�i� |$fOyJf$t�{"t�}8f g [^`$`btB|�]Á[^})��|f$[�f�e)t�� � �il�T ��ú � û)ö |$f�yJf t�{"t�}Uf>a�}�fOe)tz|�yU{"tz��yM_�f�e�yJfyÃ�É��} g f as[)}

`btO�Lt�`bt�} g t g [^`$`btB|�]Á[^})��tB��f$[¾y ïp��û�üUú � T û | f�yJf$t�{"t�}8f�vw �e)t���a��5t�`bt�} g t+ad|"f�e�yJf�f�e)t2y8`bc^��{"t�}8f$| � yU})�û k ú �wfO`$yU})|b�Lt�`�a�}8�L[^`${wyNf$ad[^}�a�}8f$[2fOe)t(|�����`b[)�)f$a�})t n �Ie)t�`�t�yJ| øi� m�yU})���bSX`btBf���`$} a�}8�Ð[^` {wyJf$ad[^}��É`b[){Îadf�v �e)t���a�`bt g f$ad[^}�[J�zf�`$y8})|b�Ðt�`Ãad|ª��tBf$t�`${"a�})tB�¾[^})qd_��8_+f�e)t(��yM_wf�e)t�����{w{=_�yU`bc^��{�t�}Uf$|ªyU`bt(�)|$tB����adf�e)a�}f�e)t�|�����`�[^�)f$a�})tUv§¦�}Xy8`bc^��{"t�}8f g yU}���t"�)|$tB�Xf$[+]�yJ|$|�a�}8�L[^`${wyJf as[)}+a¨} tBadf�e)t�`���a�`bt g f as[)} n [^`���[Uf�e>v �e)t � û)ú^ö m ö l�|$fOyJf$t�{"t�}8f�ad| n yN|Ï�ÁtO�Ð[^`�t n })[Uf(`bt�yJqdqd_XtB|$| t�}Uf$a�yJq§���)f�adf�ad|�cU[)[^��]�`$y g f$a g tQf [2a�})��a g yJf$t

g qdt�yU`bqd_�f�e)t=��yJf�y=fb_:]Át�[J�ÔtBr8t�`b_�]�`�[ g tB����`bt"yU`bc^��{�t�}Uf�v �e)t5l ö^ø�� |$f�yJf$t�{�t�}Ufª��t g q�yU`btB|"f�e�yJf � ad|wyU}�yU`$` y�_X���)f"�)|$tB|wy+|�]�t g a�yJq�[^])f as[)}�yMr@yJadq�yU�)qdt�[^})qd_¾f$[

����{w{=_(yU`bc)��{"t�}Uf |�×>adf§�)|$tB|§yU})[Uf�e)t�`yU`bc)��{"t�}Uf n û k ú � n f$[ª|�]�t g a��L_Qadf$||$a@?BtIyU})�"{wy ¤ tB|adf§yU}(yN��Á��)|$fOyU�)qdtyU`$` y�_Uv5��[^`${�yJqdqs_=a�}���[)`bf�`$yU}�y8`$`$yM_I��[)��})��|§{Q�)| f���t�|�]Át g a ¬�tB�+�U_ g [^})| f�yU}8f$| n ���)ff�e)t�` �)qstB|zyU`bt�`btBq�yJ¢)tB��L[^`�yU`$`$yM_)|(]�yJ|$|$tB�Óa�}Uf [�]�`b[ g tB����`btB|w��t g yU�)| t2f�e)t+y g f���yJqz|$f [^`$yJcUt"|�]�y g t2ad|QyNq¨`�t�yJ��_�yJqdqd[ g yNf$tB��a�}~f�e)tg yJqdqda�})cX]�`b[Uc^`$y8{Æ��})adf���fOe)tMl ö^ø�� | f�yJf$t�{"t�}8fIe)t�`bt"{"t�`btBqd_�|�]Át g a ¬�tB|"e)[J��{wyU}8_2[N�§f�e)t j�pUpUp tBqst�{�t�}Uf$|yJq�`bt�yJ��_�yJqdqd[ g yNf$tB��yU`bt(y g f���yNqsqd_�f$[w�ÁtQ�)|$tB����adf�e)a�}�f�e)t�|�����`�[^�)f$a�})tUv �e)tw`btB|$fª[J�ÔfOe)tQ|O����`b[^�)f$a�})tw�)|$tB|(y�qs[)[^]�f$[2y gBg ��{Q�)q�yJf tQfOe)tQ|O��{Æ[J�§fOe)t(tBqdt�{"t�}8f$|�a�}������ n yU})�

f�e)t=|���{Ë[J�§f�e)tBa�`�|ðÔ:��y8`btB|�a�}���������Õ"v��Éf�f�e)t�} g [){w]��)f$tB|�f�e)t"{"t�yU}Xy8})��| f�yU})��yU`b����tBr^a�yJf as[)}��)| a¨})cf�e)t(�)|���yNq>�Ð[)`${"�)q¨yNt n yU})�X`btBf���` })|�f�e)tB|$t=r@yJq��)tB|ªf$[wf�e)t({wyNa¨}�]�`b[Uc^` yU{ n �ªe)t�`bt(f�e)tB_�yU`bt(]�`�a¨}8f$tB��[^�)f�v

� ½E!�¿'%]¿ º # úå#��ö¿ º û<%)úðûg& �e)ad|"|$t g f$ad[^}¾��tB| g `ba���tB|wf�e)t�|$f$t�])|Q`�t3Ô:�)a�`btB�Óf$[XfO��`$}�y+��[)`bf�`$yU}¾]�`b[8c^`$yU{ �Ä`b[^{ y�])ast g t�[N��f$tB¢)f(a�}8f$[tB¢)t g �)f�yU�)qdtª�Ð[)`${�v� �e)tÏ{wyNa¨}�[^]Át�`$yJf$ad[^}"ad|�f�e�yJfÃ[J�5f�`$yU})| q¨yNf$a�})c(f�e)tª[^`badcUa�}�yJq���[^`bfO`$yU}=|$[^��` g t g [)��tIa�}8f$[f�e)t"yU]�]�`b[^]�`ba�yJf tQ{wy g e)a�})t g [)��tUvIÅ�}¾ywfb_�])a g yJq���[^`bf�` yU}+|$_)|$f$t�{Îf�e)ad|�ad| g yU`$`�astB�¾[^�)f�a¨}�fb��[w|$t�]�yU` yJf$t|$f�yNcUtB|�vz �e)ad|I| t g f$ad[^}�tB¢�])q�yJa�})|Ïe)[J�kf�e)ad|ª��[^` ¤ |�a�}�{"[^`bt���tBf�yNasqLv �e)tB|$t+��tB| g `ba�])f$ad[^})|w��a�5t�`��É`b[){Ëf�e)[U|$twa�}Óf�e)t+`btB|$f([N�\fOe)t��Á[^[ ¤ a�}Ófb��[��\yM_)|�vw�za�`b| f$qd_ n adf"ad|w})[Uf

tB|$|$t�}8f$a�yJqf$[2��})��t�`b| f�yU})��e)[J��y���[^`bfO`$yU}+|$_)|$f$t�{Î��[^` ¤ |�a�} [^`b��t�`�f$[2�)|$t=asf n Á��)| fÏyJ|�_U[^�+��[�})[UfIe�yMrUtf$[ ¤ })[J�!e)[J� yU}�a�}8f$t�`$}�yJq g [^{"���)|$f as[)}Xt�})c8a¨})t���[)` ¤ |ªa�}�[^`b��t�`ªf$[+��`badrUtwy g yU`Bv�£��)f n a�}¾��[Uf�e g yJ| tB| nf�e)[U| t��Ie)[�e�yMrUt�| [^{"t(��yJ|$a g ��})��t�`b|$f�yU})��a�})c�[J�zf�e)t=�\yM_wa�} �Ie)a g e�f�e)t({wy g e)a�})t"��[^` ¤ |§¬�})��adfIt�yJ| ast�`f$["cUtBf�f�e)t(�ÁtB|$f�`btB|��)qdf$|�v§ �e)as|�as|�tB|�]�t g a�yJqdqd_¾f�`$�)tª�Ie)t�}+f�e)a�})cU|�|$fOyU`bf§f [Qc8[Q�ª`b[^})c��2yU})�X{"[U|$f�]�tB[^])qdt¬�})�XfOe�yJf�f�e)a�})cU|Ic8[w�I`b[^})cwyJqdq5f [^[wt�yN|$adqs_��ªe)t�}�f�e)tB_+|$f�yU`�f�f [2�)|$t(yw})tB��]�`�[Uc^`$yU{�{"a�})cwq�yU})c^��yJcUtUv�)t g [^})��qd_�f�e)t g [^}Uf t�}Uf$|=[J��f�e)ad|(|$t g f as[)}�yU`�t2{"� g e�{�[^`btw|$_)|$f$t�{Q�Ä��t�]�t�})��t�}8fwf�e�yU}�yNqsqÃf�e)tw[UfOe)t�`b|

a�}�fOe)t��Á[^[ ¤ v+ �e)tw��[)`bf�`$yU}��)f�yU})��yU`���[^})qd_¾|�]�t g a�¬�tB|"�Ie�yJf"y+��[^`bfO`$yU}X]�`�[Uc^`$yU{Ë|Oe)[^�)qd����[��Ie)t�}Êasfad|�tB¢^t g �)f tB� n adfÏe�yN|(})[Uf�e)a�})c���a�`bt g f$qd_¾f$[2|Oy�_Xy8��[^�)fªf�e)t"f�`$yU})| q¨yNf$ad[^}X]�`b[ g tB|$|�v=�Ä}¾]�`$y g f$a g t n e)[J��tBrUt�` n

Page 19: Professional Programmer's Guide to Fortran77 Clive G. Page

� ´���µ��<µ ± �¼²��¼ñ�µ ± �$��²ð��� j�l

})t�yU`bqd_�yJqdq§��[^`bf�` yU}�|$_^| f$t�{"|(��[^` ¤ a�}�{"� g eÊf�e)tw|�yU{�tw��y�_ n | [Xf�e)t�`bt�|�e)[^�)qd� })[8f(��t+f$[^[X{�yU}U_¾��a�����Lt�`bt�} g tB|(��tBfb��tBt�}�f�e)t¾©$fb_:])a g yJqd«�|$_)|$f$t�{ ��tB| g `ba���tB�he)t�`btwyU})�¾f�e)t=[^})t"f�e�yJfª_U[^�¾yU`bt"y g f���yJqdqd_��)|$a�})c�vQ�tBc^`�tBf$f�yU�)qd_"f�e)t���})��t�`bqd_^a�})c"|$a�{"adq�yU`badf$adtB|IyU`�t§|$[^{�tBf$a�{"tB|§[^�)| g ��`btB�2�8_(��a�5t�`bt�} g tB|§a�}"f�e)t�f$t�`${"a�})[Uqd[UcU_f�e�yJf���a�5t�`bt�}8fÏ{wy8}^�8�Äy g f���`bt�`�|\�)| tUv

ÝgÃ� D1ß�ËbQgÍ7Æ�ÒpÆpÅ'Ñ Ø�È�à9ÒpËFÏ

 �e)t"fb��[�{wyNa¨}Ê�\yM_)|I[N�§f�`$yU})|$q�yJf a¨})cXy�]�`�[Uc^`$yU{ a�}Uf [X{wy g e)a¨})t g [^��t2y8`bt(f$[X�)| t�y8}Xa�}8f$t�`$]�`btBf t�`ª[^`�yg [^{w])adqdt�`Bv¦Ï}�a�}Uf t�`$]�`btBf$t�`ªad|(y+]�`b[Uc^`$y8{Æ�Ie)a g e¾|$f�yM_)|�a�} g [^}8f�`b[UqyJqdqzf�e)t"�Ie)adqst�f�e)tQ]�`b[8c^`$yU{ ad|(`$��}�})a�})c�vQ�Éf

f�`$y8})|$q�yJf$tB|"f�e)tX| [^��` g t g [)��t�a¨}8f$[�{�y g e)a�})t g [^��t�[^})t�qda¨})t¾yJf2y�f$a�{"t¾yU})�hf�e)t�}ÓtB¢)t g �)f$tB|2fOe�yJf"qsa�})ta�{w{"tB��a�yJf$tBqd_Uv+�Lf�f�e)t�}¾c8[^tB|�[^}�f$[�fO`$yU})|$q�yJf$t=f�e)t2})tB¢)f n yU})��| [2[^}>v"���IyU}�t�`$`�[^`ª[ gBg ��`�|�asf=ad|(�)|���yJqdqd_]�[8|$|$a��)qdt�f$[ g [^`$`bt g fÃf�e)tI{"ad|$fOy ¤ tIyU})� g [^}Uf a¨})�)t�`$��}�})a�})cQfOe)tI]�`b[Uc^` yU{ �É`�[^{!f�e)tª]�[Ua�}8f\yNfz�Ie)a g e�adf§qdtO�Ðf[��§vz �e)ad| g yU}w|O]�tBtB�X��]+]�`b[Uc^`$y8{&��tBrUtBqd[^]�{"t�}8f g [^})|$ad��t�`$yU�)qd_Uv� �e)t�{wyJa�}w|O}�yJc(ad|�f�e�yNf�yJqdq�})[)}8�Äf�`badr^a�yJq]�`b[Uc)`$yU{"|a�}UrU[8qsr8t§�L[^`${�|�[J�5`bt�]�tBf asf as[)} n |�� g e"yJ|zqd[^[^])|z[)`�]�`b[ g tB����`bt g yNqsqd|�vÃ�Ä}"yJqdq�f�e)tB|$t g yJ|$tB|zfOe)t�|OyU{"tqda�})tB|�[J�5|$[^��` g t g [)��tÏyU`�t�f�`$yU})| q¨yNf$tB�wa�}Uf [�{�y g e)a�})t g [^��tª[JrUt�`§y8})�2[JrUt�`ÃyJc^yJa�}>vz�)[^{"t�a�}8f$t�`$]�`btBf t�`b|�yU`btg qdtBrUt�`�t�})[^�)c)e+f$[wy�r8[Uad�2��[Ua�})c2yNqsq>f�e)tª��[^` ¤ yNc^yJa�}2���)f�f�e)tI[JrUt�` e)t�yJ� g y8}�})[Uf���t�tBqda�{"a�}�yJf$tB�¾t�}Uf a¨`�tBqs_Uv �e)t g [^{�])asqdt�`��[^` ¤ |>a�}(yU}�t�}Uf$a�`btBqd_���a�5t�`bt�}8f���yM_Uv��Éf5ad|ÔyU}�a�})��t�]�t�})��t�}8f§]�`b[Uc^`$y8{Ñ�Ie)a g e�f�`$yU})| q¨yNf$tB|

f�e)t=t�}Uf$a�`bt"|$[)��` g t g [)��t(a�}8f$[�{�y g e)a�})t g [)��t�yNf�[^} g tUvI �e)tQ{wy g e)a�})t g [^��t"ad|Ï�)|O��yJqdqs_¾|�yMrUtB��[)}Xy�¬�qst n[J�Lf$t�} g yJqdqdtB��yU}�tB¢^t g �)fOyU�)qdt2a�{wyJc8t n �Ie)a g e g y8}XfOe)t�}���tw`$��}¾�ªe)t�})tBrUt�`ªadf(ad|(})tBtB��tB�5vw£Ãt g yU�)|$twt�y g e|$f�yNf$t�{"t�}8f§ad|�[^})qd_wf�` yU})|$q�yJf$tB�+[^} g t n ���)f g yU}+��t�tB¢)t g �)f$tB�XyJ|�{wyU}8_wf$a�{"tB|�yJ|�_U[^��qda ¤ t n f�e)tªf$a�{"tIfOy ¤ t�8_wf�e)tªf�`$yU})|$q�yJf as[)}w]�`b[ g tB|$|�as|�qstB| |�a�{w]Á[^`bf�y8}Uf�v<��yU}8_"|$_^| f$t�{"|�]�`�[@r)ad��t��Ie�yJfÃas| g yJqdqdtB��y8}"[^])f$a�{"ad|$a�})cg [^{w])adqdt�`ª�Ie)a g e�f�y ¤ tB|�tBrUt�}X{�[^`bt�f�`b[)���)qst"yU})��cUt�})t�`$yNf$tB|Ie)adc^e)qd_XtåÜ g adt�}8fÏ{�y g e)a�})t g [)��tU��[^])f a¨{�as| tB�g [)��t���adqdq�f�`b_=f$[({wy ¤ t�fOe)tI��tB|$f�]�[U| |$a��)qst��)|$t�[N���ÄyJ|$fza�}Uf t�`$}�yJq�`btBcUad|$f t�`b|�yU})��f�e)t g [^{w])adqdt�`§��asqdq>yU}�yJqd_^| tf�e)tw| [^��` g t2]�`b[8c^`$yU{Ëa�}Ó�)qs[ gB¤ |w`$yJfOe)t�`ªf�e�yU}¾[^})t�qsa�})tXyJf(y f$a�{"tUv+¦I|"y�`btB|��)qdf n g [^{w])adqdtB��]�`b[Uc)`$yU{"|�)|���yJqdqd_�` ��}�yU}+[^`b��t�`�[N� {wyNc^})adf��)��t��ÄyJ|$f$t�`\f�e�yU}+a�}Uf t�`$]�`btBf$tB��[^})tB|�v§ �e)t({�yJa�}���ad|�yJ��rJyU}UfOyJcUt(ad|�fOe�yJfa��§f�e)tQ]�`�[Uc^`$yU{��ÄyJadqd|Ia�}¾yU}8_2��yM_ n asfªad|Ï})t g tB| |�yU`b_�f$[�tB��asfªf�e)t=|$[^��` g t g [^��t"yU})�X`bt g [^{w])adqdt"f�e)t(�ªe)[Uqdtf�e)a�})c��ÁtO�Ð[)`bt"|$f�yU`bf a¨})cXyNc^yJa�} �É`b[){Ëf�e)tw��tBcUa�}�})a�})c�v2 �e)tQt�` `b[^`�{"tB|$|OyJcUtB|ª�Ä`b[^{Ëy g [^{w])adqdtB� ]�`b[8c^`$yU{{wyM_QyNqs| [Q��tªqdtB|$|§a�}8�L[^`${wyNf$adrUt�f�e�yU}�f�e)[U|$t��Ä`b[^{!y8}"a�}Uf$t�` ]�`btBf$t�`§�Át g yU�)|$tªf�e)t�[^`�asc8a¨}�yNq�|$_�{"��[Uqda g }�y8{"tB|yU})��qda�})tw}^��{"��t�`�|Ï{wyM_2})[8fI��t"`btBf�yJa�})tB���8_+f�e)t g [^{w])adqdt�`Bv�Ä}8f$t�`$]�`btBf$t�`�| n �ÁtBa¨})cÑ{"[^`bt©��)|$t�`��L�Ä`badt�})��qd_^« n y8`bt¾tB|�]�t g a�yJqdqd_k|��)adf�yU�)qdt¾�L[^`+e)adc^e)qd_ a�}8f$t�`$y g f asr8tÊ�)| t

yU})���L[^`I` ��}�})a¨})c¾|�{�yJqdqÔ]�`b[8c^`$yU{"|�]�`b[)��� g tB���8_���tBc8a¨}�})t�`�|�vw �e)�)|�q¨y8})c^��yJcUtB|�qda ¤ tw¦�x§� n £�yJ| a g n yU})��>[Uc8[�yU`�t��)|O��yJqdqs_�e�yU})��qdtB���8_XyU}�a�}Uf t�`$]�`btBf$t�`Bvª��[^`bf�`$y8} n [^} f�e)t"[Uf�e)t�`ªe�yU})� n ad|�[J�Lf$t�}¾�)|$tB���Ð[^`�Áb[^�)|�Ie)a g e g [^})|���{"t�|$adc^})a�¬ g yU}8f2yU{�[^��}Uf |Q[N� g [){w]��)f$t�`"f$a�{"tU×�a�}Ó|$[^{"t�yU]�])qda g yJf$ad[^})| n |�� g eÓyJ|"��t�yNf�e)t�`�L[^`bt g yJ|$f a¨})c n f�e)t�`btB|O�)qsf |���[)�)qs�Â|$a�{w])qd_k��tX[N�Q})[ �)|$t¾a��(f�e)tB_h��t�`bt¾]�`b[^��� g tB�&{"[^`bt�|$qd[J��qd_Uv� �e)t|�]ÁtBtB�XyJ��r@yU}8f�yJc8t�[J� g [^{w])adqdt�`b|�ad|�f�e)t�`btO�L[^`btª[J�5c^`bt�yJfÃa�{w]�[^`�f�yU} g t�yU})�2a�}�]�`$y g f$a g tÏyJq�{"[8|$f�yJqdq>��[)`bf�`$yU}|$_)|$f$t�{"|ª�)|$t(y g [^{w])adqdt�`ªf$[ g yU`$`�_2[^�)f�f�e)t�f�`$yU})| q¨yNf$ad[^}>v

_'N[O�.F89.�/3N�KE67^�O�GIuv.�/�Gs67:

 �e)t�]�`ba�} g a�]�yJq>��ad|�yJ��r@y8}Uf�yNcUt�[J��y g [^{w])adqdt�`zad|§fOe)t\})t g tB| |$adf�_=[J��`�tO� g [^{w])adqda¨})c"f�e)t��Ie)[8qstª]�`b[Uc^`$y8{kyM�Lf$t�`{wy ¤ a�})c�y8}U_XyJqdf$t�` yJf$ad[^}�f [2adf n })[�{�yJf$f$t�`ªe)[J�k|�{wyJqdqLvª��[^`�f�`$yU}�e�yJ|�]�yU`bf qs_�[JrUt�` g [^{"t(fOe)as|ªqda�{"adf�yJf$ad[^}�8_QyJqdqd[J��a�})c�]�`�[Uc^`$yU{&��})adf$|§f [(��t g [^{w])adqdtB�2|$t�]�y8`$yJf$tBqd_>�Uf�e)tB|$t g [^{w])adqdtB����})adf$|Ã[^`z{"[)���)qstB|�yU`�t�qda�} ¤ tB�f$[Uc8tBf�e)t�`�yM�Ðf t�`b��yU`b��|�a�}Uf$[+yU}+tB¢^t g �)fOyU�)qdt�]�`�[Uc^`$yU{ v¦ ��[)`bf�`$yU} g [){w])adqst�`�f���`$})|�f�e)t=|$[^��` g t g [)��t"a¨}8f$[��Ie�yNfIad|(�)|���yJqdqd_ g yJqdqdtB��[^�iÁbt g f g [)��tU×�fOe)as| g [)}8�

f�yJa�})|Ãf�e)tIyU]�]�`b[)]�`ba�yJf$t�{wy g e)a�})tO� g [^��tªa�})|$f�`$� g f$ad[^})|����)fÃ��adf�ew`btBq�yJf$adrUtª{"t�{"[^`b_"yJ����`btB|$| tB|�`$yJfOe)t�`f�e�yU}yU�)|$[8q¨�)f tw[^})tB|�v+¦ªqsq�f�e)t+]�`b[Uc^`$y8{ ��})asf | g yU}Ó��t g [){w])adqstB�hf [UcUtBf�e)t�` n [^`�t�y g e¾[)})t g yU}��Át g [^{�])asqdtB�

Page 20: Professional Programmer's Guide to Fortran77 Clive G. Page

� ´���µ��<µ ± �¼²��¼ñ�µ ± �$��²ð��� oUp

|$t�]�yU` yJf$tBqd_Uv$�zadf�e)t�`���yM_�yw|$tBf�[N�§[^�iÁbt g fÏ{"[)���)qdtB|(ad|(]�`b[)��� g tB� n [^})t��É`�[^{Æt�y g e¾]�`b[Uc)`$yU{Ë��})asfMvÏ �e)t|$t g [^})�+|$f�yNcUt n �Ie)a g e$Áb[Ua�})|�yJqdq>f�e)t�[^�iÁbt g f�{�[^���)qdtB|�f$[8cUtBf�e)t�` n ad|I�)|���yNqsqd_ ¤ })[J�I}+yJ|§qda�} ¤ a�})c n ���)f�[8f�e)t�`f$t�`${�|�|�� g e~yJ|�qd[^yJ��a�})c n qda¨} ¤ �ÄtB��adf$a�})c n yU})�~f�yJ| ¤ �����)adqs��a�})c�y8`btwyJqd|$[�a�}��)|$tUvw �e)t£Áb[^�¾[N��f�e)t"qda�} ¤ t�`=as|f$[ g [Uqdqdt g fQ��]~yJqdqzf�e)tB|$tw[^�[Á�t g f({"[)���)qdtB| n yNqsqd[ g yJf$t2y8�)|$[Uq��)f$t2yJ����`�tB|$|$tB|(f [2t�y g e¾[^})t n y8})��]�`b[)��� g t2yg [^{w])qdtBf$t=tB¢^t g �)fOyU�)qdtQ]�`b[Uc)`$yU{ n yJqd|$[ g yNqsqdtB��yU}+tB¢)t g �)f�yU�)qdt"a�{wyJcUtUv �e)t�yJ��rJyU}8f�yJcUt�[J��f�e)ad|�fb��[J�Ä|$f�yJc8tw|$_)|$f$t�{ as|+f�e�yJf�a � g e�yU})cUtB|�yU`btX{�yJ��tXf$[¨Á��)|$f�[^})t�]�`b[8c^`$yU{

��})adf(f�e)t�}Ê[^})qd_�fOe�yJf�[^})twe�yJ|(f [X��t2`btO� g [){w])adqstB�5v+�Lf=as| n [J� g [^��`b|$t n })t g tB|$|�yU`b_¾f$[�`btO�Äqda�} ¤ fOe)tQ�ªe)[Uqdt]�`b[Uc)`$yU{�vª �e)tw[^]Át�`$yJf$ad[^})|ª�Ie)a g eÊf�e)t"qsa�} ¤ t�`=]�t�`��L[^`${�|ÏyU`�t�`�tBq¨yNf$adrUtBqd_�| a¨{�])qst�|$[2fOe�yJfIqda�} ¤ t�`b|=[^�)c^e8ff$[2�Át=�ÉyJ| f�v��ª}8�L[^`bf���}�yJf tBqs_�f�e)ad|Iad|�})[Uf�yJqd�\yM_)|�|$[ n yU})��[^}�|$[){"t(|$_)|$f$t�{�|�adf g yU} f�y ¤ t=qd[^})cUt�`�f$[wqda�} ¤y"|�{�yJqdq�]�`b[Uc^` yU{ f�e�yU}+f$[ g [){w])adqst=adf�v

ÝgÃW× �«ÆpË]Å]ÒdÚ�ÑgÞLÒdß�Ë ØgÍ7é�Æbè�Ë��«ÍgÙ�Ë �e)t�¬�`b|$f�|$f$t�]�yM�Ðf t�`§�ª`badf$a�})c�yw]�`�[Uc^`$yU{ ad|ªf$[wt�}8f$t�`�adfIa�}8f$[wf�e)t g [){w]��)f$t�`B×zfOe)tB|$t�¬�qdtB|�yU`bt ¤ })[@�ª}�yJ|f�e)t"|$[^��` g t g [)��tUv���[^`�f�`$yU} |$_^| f$t�{"|ª��[�})[Uf��)|���yJqdqd_ g [^{"t"��adf�e¾yU}�tB��adf$[^`�[J��fOe)tBa¨`ª[J�I}>×�fOe)tQ| [^��` g t¬�qdtB| g y8}���t(c8t�})t�`$yJf$tB�¾�)|$a�})c�yU}8_ g [^}8rUt�})adt�}8fIf$tB¢)f�tB��adf$[^`\[^`���[^`b��]�`b[ g tB|$|$[^`Bv�Êy8}U_wf tB¢^f�tB��adf$[)`b|Ie�yMrUt�[^])f$ad[^})|��Ie)a g e+t�yJ| t�f�e)t(��`$�)��c8t�`b_2[N��t�}Uf t�`ba�})c2��[^`bf�`$y8}w|$fOyJf$t�{"t�}8f$|�vÅ�}

|$[^{�tw_U[^� g y8}���tO¬�})tXy |$a�})cUqdt ¤ tB_8�Ä|$f�`�[ ¤ twf$[�| ¤ a¨]~��a�`bt g f$qd_Óf$[Xf�e)t�|$f�yU`bf=[J��f�e)tw|$fOyJf$t�{"t�}8f�¬�tBqd�hyJfg [Uq���{w}�Ç�ÕÉ���)f�a��Ôf�e)t�| [^��` g tª¬�qdtB|Ïy8`btIf [ g [^}8�L[^`${ f$["f�e)t�|$f�y8})��yU`b�+f�e)ad|I|�e)[)�)qs����[^` ¤ �U_+a�})|$t�`bf$a�})c�y|��)adf�yU�)qdt2})��{"��t�`ª[J�§|O]�y g tB|(yU})��})[Uf�ywf�y8� g e�yU`$y g f$t�` ÖBv�¦�}�tBrUt�}¾{"[^`bt"�)|$tO�É�)q�Lt�yJf���`�t(ad|Qy���yU`$})a�})c�Ie)t�}+_U[)� g `b[8|$|�f�e)t(`badc^e8fb��{wyU`bc8a¨}+[N��f�e)tª|$f�yJf$t�{�t�}Ufì�tBqd��yJf g [Uq���{w}�Ç o v<��[8|$f�f$tB¢^f�tB��adf$[^`�|\{�y ¤ tªasft�yJ|$_�f$[+��tBqstBf t2yU})�¾a�})|$t�`bf��Ie)[Uqdt"��[^`b��| n �Ie)t�`btwy+��[^`b��ad|(yU}U_)f�e)a�})c���tBqda�{"adf$tB� �8_X|O]�y g tB|�v(�Éf(e)tBq¨])|��adf�e=q�yJf$t�`tB��adf$a�})c n f�e)t�`btO�L[^`bt n f$[�]��)fz|�]�y g tB|§�ÁtBf���tBt�}=adf$t�{"|za�}"��[^`bf�`$y8}�|$f�yNf$t�{"t�}8f$|�v5 �e)ad|�yNqs| [Ï{wy ¤ tB|f�e)t(]�`b[8c^`$yU{Î{"[^`�t(`bt�yJ��yU�)qdtUv��[8|$fÏ]�`�[Uc^`$yU{�|I��adqdq g [)})|$ad|$f�[J��| tBrUt�`$yJq§]�`b[8c^`$yU{Ë��})adf$|�תf�e)tB|$t2{�y�_�c8[�[^}�|$t�]�yU`$yJf t�¬�qdtB| n yJqdqz[^}

[^})tª¬�qdt n [^`�yU}U_ g [^{"�)a¨}�yNf$ad[^}>v�Å�}�{�[U|$f�|$_)|$f$t�{"|�adf�ad|I})[UfI})t g tB| |�yU`b_��Ð[)`§fOe)t({wyJa�}�]�`b[Uc^` yU{Î��})asf�f$[g [^{"t�¬�`b|$fMv � e)t�}�¬�`b|$f ¤ tB_)a¨})c�a¨}+fOe)t(]�`b[Uc^`$y8{!adfI{wyM_w|$tBt�{ |$a�{w])qdt�`�f$[w]��)f�f�e)tª�Ie)[Uqdt(]�`b[Uc)`$yU{ [^}[^})t"¬�qdt n ���)f(����`ba�})c�]�`�[Uc^`$yU{Ë��tBr8tBqs[)]�{"t�}Uf=adf(ad|(�)|���yJqdqd_�{"[^`�t g [)}UrUt�})adt�}8f(f$[Xe�yMrUt"t�y g e�]�`b[8c^`$yU{��})adfw[^}Óy�|$t�]�yU`$yJf tw¬�qdt�|$[¾f�e�yJf"f�e)tB_ g yU}��Át�tB��adf$tB� yU})� g [^{w])adqdtB��a�})��t�]Át�})��t�}Uf$qd_UvÑ�Lfw{"a�})a�{"ad|$tB|g [^}8�Ä�)|$ad[^}�a��§t�y g e+|$[^��` g tª¬�qst"e�yJ|ªf�e)t�|�yU{"t(}�y8{"t(yJ|�f�e)t2ÕD¬�`b|$f�Ö�]�`b[Uc)`$yU{Î��})adfIf�e�yNf�adf g [^}8f�yJa�})|�v

� û:üi��� S ö _)/3.�/3N]^�N]:F/�2��yU}8_2|$_)|$f$t�{�|Ï]�`b[Jr)ad��tQy+])|$t��)��[J�Ä|$f�yNf$t�{"t�}8f g yJqdqdtB� � û�üi��� S ö Õ�[^`\|$[^{"tBf$a�{"tB| � û � ö l ú �Ie)a g e�a�})|$t�`bf$|f�e)t�t�}8f$a�`bt g [^}8f$t�}Uf |z[J��y�|$t�]�yU`$yJf t�f$tB¢)f¬�qstªa�}Uf [(f�e)t�| [^��` g t g [)��tIa�}+])q�y g tI[N��f�e)t � û�ü|�d� S ö | f�yJf$t�{"t�}8f�v �e)ad|=�Ðt�yNf���`bt g yU}��Át�]�yU`�f$a g �)q¨y8`bqd_��)|$tO�Ä�)q§�Ie)t�}~f�e)tw|�y8{"t"|$tBf([J��|$f�yJf t�{"t�}Uf | n �)|���yNqsqd_�|O]�t g a�¬ g yJf$ad[^}|$f�yNf$t�{"t�}8f$| n e�yJ|2f [���t��)|$tB�Ña�}Â|$tBrUt�`$yJq���a��5t�`bt�}8f�]�`b[Uc^`$y8{ ��})adf$|�v!��� g eÂad|+[J�Ðf t�}hf�e)t g yJ|$tX�ªe)t�}��tO¬�})a�})c�y=|$tBf�[J� g [^})|$f�yU}8f$|��)|$a�})c5k ø l ø^é)ö^ú)ö lQ| f�yJf$t�{"t�}8f$| n [^`Ã�Ie)t�}+��t g q�yU`ba�})c g [^{�{"[^}+�)qs[ gB¤ |���asfOey�| tBfQ[N� ü T é^é T û |$fOyJf$t�{"t�}8f$|�v � û�ü|�d� S ö | f�yJf$t�{"t�}8f$|"`btB��� g t�f�e)t ¤ tB_U��]���} g e)a�})c�tå�5[^`bf"yU})��fOe)t2`bad| ¤[J�§t�`$`�[^`Bv�¦ªqdf�e)[^�)c^e¾})[^}8�Ä| f�yU})��yU`b� n�� û:üi��� S ö |$fOyJf$t�{"t�}8f$|���[X})[Ufª|$t�`bad[^�)| qs_ g [^{w]�`b[){"ad|$tw]�[^`bfOyU�)adqsadfb_��t g y8�)|$tXf�e)tB_h{"t�`btBqd_�{wy8})a¨]��)q�yJf tXf�e)t�|$[)��` g t+¬�qdtB|�yU})�h��[Ó})[UfwyJqdf$t�`"f�e)t�|$[)��` g t g [^��t��Ie)a g eÒf�e)tg [^{w])adqdt�`�f�`$yU})|$q�yJf tB|�v

ÝgÃIÝ �«Í7ÏÐÎ�Ú³Ç�Ú³Ñ�Þ �e)t�{wyJa�}��É��} g f as[)}�[J��y���[)`bf�`$yU} g [^{w])adqdt�`ad|�f [I`bt�yJ�(y�| tBf5[J��|$[^��` g t¬�qdtB|zyU})�(�I`�asf tzf�e)t g [^` `btB|�]�[)})��a¨})c|$tBf�[N�Ô[^�[Á�t g f�{"[)���)qdtB|�f$["f�e)t�[^�iÁbt g f�¬�qdtUv

Page 21: Professional Programmer's Guide to Fortran77 Clive G. Page

� ´���µ��<µ ± �¼²��¼ñ�µ ± �$��²ð��� o�j

��[8|$f g [^{w])adqdt�`b|we�yMrUt2yX})��{"��t�`=[J��|$��adf g e)tB|Q[)`ª[^])f$ad[^})|"�Ie)a g e g yU}��Át2| tBf(f$[ g [^}8f�`b[8q§e)[@� f�e)tg [^{w])adqdt�`=��[^` ¤ |ÏyU})�¾�Ie�yNf(yJ����adf$ad[^}�yJq§[)�)f�]��)f�adfQ]�`b[)��� g tB|�vw�)[^{"t"[J��f�e)tw{"[^`btw�)|$tO�Ä�)q§[)})tB| n �Ð[)��})�[^}�{wy8}U_+|$_)|$f$t�{"| n yU`�t���tB| g `ba���tB����tBqd[J�(v

ë ¦Iq�{"[U| fIyJqdq g [){w])adqst�`�| g yU}�]�`b[)��� g tQy�qsad|$f a¨})c+¬�qdtU×�y"f$tB¢)f�¬�qdt g [^}UfOyJa�})a¨})c�y g [^]U_+[J�zf�e)t(| [^��` g tg [^��t n ��adf�eÂf�e)t¾qda�})tB|�})��{Q�Át�`btB� n yU})�Ñ��adf�eÂt�`$`�[^`2{�tB|$|�yJcUtB|Xy8})� [8f�e)t�`2�)| tO�É�)q=a¨}8�L[^`${�yJf$ad[^}yJf$f�y g e)tB�5vw¦Îqdad|$f"[J�\yNqsqÃf�e)t+|$_:{"�Á[Uqda g }�yU{"tB|"yU})��q�yU�ÁtBqs|+�)|$tB��a�}�fOe)t�]�`b[8c^`$yU{ ��})adf(ad|"[J�Lf$t�}]�`b[Jr^ad��tB�5×�fOe)as|�|Oe)[^�)qd�ð�Át g e)t g¥¤ tB�Â�L[^`+��})tB¢:]Át g f$tB�kt�}8f�`badtB|XyJ|+f�e)tB_ {wyM_h��t�fOe)t�`btB|��)qdf�[J�|�]�tBqdqda�})cX{"ad|$f�y ¤ tB|Mv

ë ¦Ï}�tBrUt�}+{"[^`bt��)|$tO�Ä�)q�yN����asf as[)}+f$["f�e)tIqdad|$f$a�})cwad|Iy g `b[U|$|���`btO�Ðt�`�t�} g t�f�yU�)qdtU×zf�e)ad|�qdas| f$|�tBrUt�`b_+])q¨y g tf�e�yJf�t�y g e+|$_:{"�Á[Uqda g }�yU{�t(e�yJ|I��tBt�}��)|$tB�5v§u�[^[)� g [^{w])adqdt�`b|�a�})��a g yJf$t(�ªe)a g eX}�y8{"tB|Ie�yMrUt�[^})qd_��tBt�}X�)| tB�X[^} g t(yJ|�f�e)tB|$t([N�Ðf$t�}�a�})��a g yJf$twyw]�`b[Uc)`$yU{w{"a�})c2{�as| f�y ¤ tUv

ë ¦Ï})[UfOe)t�`���ad��tBqd_�yMr@yJadq�yU�)qdt"[^])f$ad[^}+ad|ªf�e)t���tBf$t g f$ad[^} [J�Ô| _:}8f�yJ¢+�Ie)a g e ��[^tB|ª})[Uf g [^}8�L[^`${Îf [wf�e)t��[^`bfO`$yU}+�)f�yU})��yU`b�5×f�e)ad|�e)tBq�])|If$[�t�})|���`btQ]�`�[Uc^`$yU{Î]Á[^`bf�yU�)adqdadfb_Uv

ë Å��Ðf$t�} adf�as|(]Á[U|$|$a��)qdtwf$[ g e)[^[U| t(f�e)t"[^])f$a�{"a@?�yJf as[)}XqdtBrUtBqLv��(��`�a¨})c�]�`b[Uc)`$yU{ ��tBrUtBqd[^]�{"t�}8f(ywqd[J�qstBr8tBq�[J�Q[^])f a¨{�a÷?�yNf$ad[^}Ñ|�e)[^�)qd���Át�|$tBqdt g f$tB�ka��wf�e)ad|X{wy ¤ tB|�f�e)t g [^{w])adqdt�`X`$��}Â�ÄyJ|$f t�`B�ªasfX{�y�_a¨{�]�`b[JrUtIfOe)tIt�`$`�[^`z��tBf$t g f as[)}>v ��adc^e)qd_2[^])f a¨{�as| tB�X{wy g e)a¨})t g [)��t({wyM_wtB¢)t g �)f$t��ÉyJ| f$t�`����)f�a��zf�e)t|$[^��` g t g [)��t(qda�})tB|Ïy8`bt(`bt�yU`$` yU})cUtB��t�`$`b[)`�{"tB|$|�yNcUtB|�{wyM_��Át(qdtB|$|Ie)tBq�]8�Ä�)qÐv

ë �Êy8}U_¾|$_)|$f$t�{"|wyJqdqd[J�ÆyJ����adf$ad[^}�yJq g [)��t�f$[��Át�a�} g q¨�)��tB�Ñ�Ie)a g e g e)t gB¤ �Ð[^`�t�`$`b[^`�|�yNfQ`$��}8�Äf$a�{"tUv�§`$`b[)`b|�|�� g e�yJ|=[JrUt�`���`$��}�})a�})c¾f�e)t2�Á[^��})��|w[J�IyU}�y8`$`$yM_X[^`=y g e�yU` y g f$t�`ª|$f�`�a¨})c n [)`(yU`badf�e�{�tBf$a g[@r8t�`�����[J� g yU}��)|���yJqdqd_2��tªf�`$yU]�]ÁtB�5vz��� g e�t�`$`b[^`�|§yU`bt�})[Uf���} g [){w{"[^} n |$[�f�e)ad|�yJ|$|$ad|$f�y8} g t�ad|§rUt�`b_r@yJq���yU�)qdtUvI�)[){"tQ]�`b[8c^`$yU{w{�a¨})c+{wyU})��yJqd|�|��)cUcUtB| f�f�e�yJf�fOe)tB|$t([^])f as[)})|I|�e)[)�)qs�¾[^})qd_X�Át(|$tBqdt g f$tB�����`ba�})c2]�`b[Uc^` yU{ ��tBrUtBqd[^]�{"t�}8fÏyU})��| ��adf g e)tB�)�Ä[d�ÊfOe)t�`bt�yM�Lf$t�`Ãa¨} f�e)t�a�}Uf t�`btB|$f$|�[N�Ô|�]ÁtBtB�5v� �e)as|�as|`$yJf�e)t�`Ãqda ¤ t"��t�y8`ba�})cw|$t�yJfb���ÁtBqdf$|Ia�}�f�e)t g yU`\[^})qd_��Ie)adqst"_U[)��yU`bt�qdt�yU`$})a�})c�f$["��`badrUt"yU})�Xadc^})[^`�a¨})cf�e)t�{ yJ|(| [^[^}~yJ|�_U[^��y8`btwyJqdqs[J��tB�Ó[^�)f�[^}¾f�e)t+{"[Uf$[^`��\yM_Uv�Q���}8�Äf$a�{"t g e)t gB¤ |(��[�})[8f(�)|���yJqdqd_`btB��� g t(f�e)t�tB¢)t g �)f$ad[^} |�]�tBtB��})[Uf$a g t�yU�)qd_Uv

ÝgÃIæ I�Ú³Ñ�ägÚ³ÑgÞ¦�fadf$|z|$a�{w])qdtB|$f n f�e)t§qda�} ¤ t�`'Á$�)|$ff�y ¤ tB|f�e)tÃ|$tBfz[J��[^�iÁbt g fz{"[^���)qdtB|§]�`b[)��� g tB�2�8_�f�e)t g [^{w])adqdt�`§yU})�=qda¨} ¤ |f�e)t�{ÎyJqdq>f$[UcUtBfOe)t�`za�}Uf [2yU}�tB¢^t g �)f�y8�)qst�a�{wyNcUtUv§Å�})tª[J��f�e)tB|$t�{"[)���)qdtB|Ï{"�)|$f g [^`$`btB|�]Á[^})��f$[=f�e)tÏ{�yJa�}]�`b[Uc)`$yU{Æ��})adf n f�e)t"[Uf�e)t�`ª{"[^���)qdtB|=��adqsq g [)`$`btB|�]Á[^})�¾f$[�]�`�[ g tB����`btB|(y8})��f [��)qd[ g¥¤ ��yJf�y�|�����]�`b[Uc^` yU{��})adf$|�v�Lf�[J�Lf$t�}we�yU]�]Át�})|�fOe�yJf�y=}^��{"��t�`Ã[J�5��a�5t�`bt�}8f\]�`�[Uc^`$yU{�|§`bt3Ô:�)a�`bt�| [^{"t�[J�5f�e)tª|�yU{�t g [^{w]��)f�yNf$ad[^})|

f$[��Át g yU`$`badtB��[)�)f�vk���(f�e)tB| t g yNq g �)q�yJf as[)})| g yU}��Át�fO��`$})tB��a�}8f$[ ]�`�[ g tB����`btB|Xy8})��qda�} ¤ tB�ka�}Uf [�t�y g e]�`b[Uc)`$yU{Ñadf g yU}�|�yMrUt�y�c^`bt�yJf��t�yJq)[J��]�`b[Uc)`$yU{w{"a�})cªtå�5[^`bf n tB|O]�t g a�yJqdqd_wa�}(fOe)t�qd[^})c(` ��}>v� �e)ad|�©����)adqd��a�})c�)qd[ gB¤ «�yU]�]�`b[^y g eÓad|X]�yU`bf$a g �)q�yU`bqd_Ñ��t�})tO¬ g a�yJq��L[^`"q�yU`�cUt�]�`b[8c^`$yU{"|Mv"�Êy8}U_Ó[^`bc^y8})as|OyJf$ad[^})|+c^`$yJ����yJqdqd_���)adqd� ��] g [Uqdqdt g f$ad[^})|+[J�I]�`b[ g tB����`btB|"�Ie)a g eh�Át g [^{"t�yU}¾a�{w]�[)`bf�yU}8f(|$[N�Ðfb��yU`btw`btB|$[)��` g tUvXx§`�[ g tB����`btB|g [Uqdqdt g f$tB��a�}"f�e)ad|���y�_=f$t�})�wf$[(�Át��ÄyJa�`bqd_w`btBqda�yU�)qdt(yU})�"�Ä`btBt��Ä`b[^{!���)cU| n a���[^})qd_w��t g yU�)|$tªf�e)tB_we�yMrUtI�ÁtBt�}tB¢)f$t�})|$adrUtBqd_Xf$tB| f$tB�XyU})����tO�����)cUcUtB��a�}�t�yU`bqdadt�`ªyU]�])qda g yNf$ad[^})|�v

�5t��nN[Hd/«f�GIt�89.F8�GsN[2�Lfª[^�8r^ad[^�)| qs_�|Oy�r8tB|�[^} g [^{w])adq�yJf$ad[^}�f$a�{"t=a��§f�e)tB|$t g [){w{"[^})qd_8���)|$tB��]�`b[ g tB����`�tB| g yU}���t ¤ t�])f�a�} g [^{=�])adqdtB���L[^`${!yJ|�[^�iÁbt g f�{�[^���)qdtB|�vz¦ªq�{"[U|$f�yJqdq>[^]�t�`$yNf$a�})cQ| _^|$f t�{"|�yJqdqd[J�ky g [Uqdqdt g f$ad[^}+[J��[)�iÁ�t g f�{"[)���)qstB|

Page 22: Professional Programmer's Guide to Fortran77 Clive G. Page

� ´���µ��<µ ± �¼²��¼ñ�µ ± �$��²ð��� oUo

f$[���t+|$f$[)`btB��a�}hyU}~[^�iÁbt g f"qda¨��` yU`b_kÕ�|$[^{"tBf a¨{�tB| ¤ })[J�I}ÓyJ|wyX]�`btO� g [^{�])asqdtB�Ñ[^`=`btBqd[ g yJfOyU�)qdtO� g [^��t�qsa����`$yU`�_:ÖBv� �e)ad|Qad|wy+¬�qdt g [^}8f�yJa�})a�})c�y g [Uqdqst g f as[)}Ó[J�I[^�iÁbt g fQ{�[^���)qdtB|"f$[UcUtBfOe)t�`���adf�eÓyU}~a¨})��tB¢Ó�Ie)a g eyJqdqd[J��|�f�e)t�{Ëf$[X�ÁtQtB¢)f�`$y g f$tB�¾t�yJ|$adqd_UvwÅ��iÁ�t g f�qda���`$yU`�astB|wyU`�tQ})[Uf�[^})qd_�{"[^`�t(tåÜ g adt�}8fQ���)f(yJqd|$[�t�yJ| ast�`f$[��)|$tQyN|If�e)t�`�tQad|ª[^})qd_X[^})t=¬�qdtO��}�yU{"t"f$[+|�]Át g a �L_¾f$[wf�e)t"qda�} ¤ t�`Bv� �e)t"qda�} ¤ t�` g yU}�fOe)t�}X��[^` ¤ [^�)f��L[^`adf$|$tBq����ªe)a g e¾{"[)���)qstB|(y8`btQ})tBtB��tB��f [w|�yJf$ad|b�L_�f�e)t=r@yU`bad[^�)| ü8ø��|� |$fOyJf$t�{"t�}8f$|IyU})� �É��} g f as[)}�`�tO�Ðt�`bt�} g tB|t�} g [^��}8f$t�`btB�ha�}~f�e)t�]�`�t g tB��a¨})cÓ[^�iÁbt g fQ{�[^���)qdtB|�v�Å��iÁbt g f"qda¨��` yU`badtB|�yNqs| [�| a¨{�])qsa��L_�fOe)tX{wyU}�yJcUt�{�t�}Uf[J��y2]�`b[ g tB����`bt g [8qsqdt g f$ad[^}ÓyU})��{wyM_�`�tB��� g tQfOe)t2yU{"[^��}8fª[J�§��ad| g |�]�y g t+})tBtB��tB�5vQ �e)t�`�t2yU`bt"�)|���yJqdqd_|$a�{w])qdt"��y�_)|�[J��qdad|$f$a�})c�f�e)t g [^}8f$t�}8f$|�[J�zyU}+[^�iÁbt g f�qda���`$yU`b_ n ��tBqdtBf$a�})c�{"[)���)qdtB|ª�É`�[^{ asf n yU})�X`bt�])q�y g a�})c{"[)���)qdtB|I��adf�e�})tB�krUt�`b| as[)})|�v¦Iqdq���[)`bf�`$yU}�|$_)|$f$t�{"| g [^{"t���adf�e"yª|$_)|$f$t�{ qda¨��` yU`b_"�Ie)a g e g [^}UfOyJa�})|zf�e)t�[^�iÁbt g fÔ{"[)���)qdtB|z�L[^`¡r@yU`bad[^�)|

a�}UfO`ba�})|$a g �Ä��} g f$ad[^})|�|�� g e�yJ|�� � û���ü Ti� n y8})��� ù l ú v: �e)as|�as|ªyU�)f$[^{wyNf$a g yJqdqs_+| g yU}�})tB�X�8_wf�e)t�qda�} ¤ t�`ªyU})���[)tB|Ï})[Uf�e�yMrUt�f$[+��t(|O]�t g a�¬�tB�¾tB¢:])qda g adf$qd_Uv�)[J�Ðfb��yU`btzad|Ã[J�Ðf t�}(yMr@yJadq�yU�)qdt g [^{w{"t�` g a�yJqdqd_"a�}"f�e)tÃ�Ð[)`${k[N��]�`b[ g tB����`bt�qda���`$yU`badtB| g [^}UfOyJa�})a¨})c"{"[)���)qstB|

�Ie)a g e {�y�_h��t�qda¨} ¤ tB�ka�}Uf$[ÓyU}U_h��[^`bf�` yU}�]�`�[Uc^`$yU{ v  �e)[8|$t g [^{�{"[^})qd_��)|$tB� g [JrUt�`Q¬�tBqs��|�|O� g eÂyJ||$f�yNf$ad|$f$a g | n |$adc^}�yNq�]�`b[ g tB|$|$a�})c n c^`$yU]�e)a g | n y8})�X}^��{"t�`�a g yNqÔyU}�yNqs_)|$ad|�v

f�GW:7�FN�8¨� O�/�Gv6�:c2

 �e)t=[^`b��t�`�[J�§f�e)t"[^�iÁbt g fI{"[)���)qdtB|(|���]�])qdadtB��f$[+f�e)t(qda�} ¤ t�`ª��[)tB|(})[Uf��)|���yJqdqd_�{wyJf f$t�`IyNqsfOe)[^�)c^e�| [^{"t|$_)|$f$t�{"|+`bt3Ô:�)a�`bt�f�e)tX{wyJa�}h]�`b[8c^`$yU{�f$[��ÁtX|�]Át g a�¬�tB��¬�`�|$f�vh �e)tX[)`b��t�`"a�}h�Ie)a g ehf�e)t�qda���`$yU`�_Ó¬�qstB|yU`bt�|$t�yU` g e)tB��{wyM_���t+a�{w]�[^`�f�yU}8f n e)[J��tBrUt�` n |$[�f�e�yJf=|$[^{"t g y8`bt2e�yJ|=f$[X��t+tB¢^t�` g as| tB�h�Ie)t�}�| tBrUt�`$yJq��a�5t�`bt�}Uf�qsa���`$y8`badtB|(yU`bt�a�}X�)|$t"yJf�f�e)t�|�yU{�t�f$a�{"tUv �e)tw]�`ba�} g a¨]�yNq§[^�)f�]��)fª[J�§f�e)t"qda�} ¤ t�`�ad|(y�|$a�})cUqdt"¬�qdt2�)|���yJqdqd_ g yJqdqdtB��f�e)t"tB¢^t g �)fOyU�)qdtwa�{wyJcUtUv��¾[U|$f

qda�} ¤ t�`b| g yU}2yNqs| [2]�`b[)��� g tQy=|$f$[^` yJcUtI{wy8]+|�e)[J��a�})cQfOe)t�qs[ g yJf$ad[^}+[N�Ôf�e)tªr@y8`bad[^�)|I{"[)���)qdtB|Ia�}�{"t�{"[)`b_Uv�)[^{"tBf a¨{�tB|�[UfOe)t�`5a�}8�L[^`${wyJf as[)}�ad|§]�`b[Jr^ad��tB�"|�� g e"yJ|5|$_�{"��[Uq)f�yU�)qdtB|�Ie)a g e"{wyM_(��t��)|$tO�Ä�)q)a¨}=��t����)cUc8a¨})cf�e)t(]�`b[8c^`$yU{�v

ÝgÃPO ç5ÆbÍ'Þ�ÆpÅ'Ï É�Ë�Ì�ËFÇ�Í7Î�ÏÊË]Ñ7Ò

 �e)t�]�`b[Uc^` yU{!��tBrUtBqd[^]�{�t�}UfI]�`�[ g tB|$| g [^})| as| f$|�[J��y"}^��{"�Át�`§[N��|$f�yJc8tB|§|$[^{�tI[J��Ie)a g e�{wyM_we�yMrUtªf$[Q�Át`bt�]Át�yJf$tB�X| tBrUt�`$yJq>f$a�{"tB|���}Uf asq¡f�e)t�t�})��]�`b[)��� g fªas| g [^`$`bt g f�×

j v���tB|$adc^})a�})c2f�e)t(]�`�[Uc^`$yU{ÎyU})���I`badf$a�})cwf�e)t=|$[^��` g tO� g [)��t(f tB¢^f�vo v��ªtB_^a�})c+a¨} f�e)t�f$tB¢)f�f$[2]�`�[^��� g t"y(| tBf�[J�z��[^`bfO`$yU}�|$[^��` g t�¬�qstB|Mv� v�Z�[^{w])adqda�})c2f�e)t=|$[^��` g t g [)��t(f [�]�`�[^��� g t"y"|$tBf�[J�z[^�iÁbt g fI{"[)���)qdtB|�v>�v��>a�} ¤ a�})c�f�e)t�[^�[Á�t g fI{�[^���)qdtB|�yU})�XyU}8_2[^�[Á�t g f�qda���`$yU`�astB|ªa�}Uf [�y g [){w])qdtBf$t�tB¢^t g �)fOyU�)qdtQa�{wyNcUtUvÈ v�Q���}�})a�})c�f�e)t�tB¢^t g �)fOyU�)qdtQ]�`b[Uc)`$yU{ [^}�| [^{"tªf$tB|$f���yJfOywyU})� g e)t g¥¤ a�})c2f�e)t(`�tB|��)qdf$|�v

 �e)t({wyJa�}X]�y8`bf$|�[J�f�e)tQ]�`b[ g tB|$|Iy8`bt�|�e)[J�I}+a�}�f�e)t���a�yJc)`$yU{Æ�ÁtBqs[J�(v

Page 23: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�m��µ ±m� �<��µ^���ª����µ�� ± ����� ±m� ����� op�

� ëJå�á�ä)ãÓÚÁá)ë8è:á)àJì��

ï Tpl ú l ø)û ü T é k � �8ö l 9�9<� þOëNÚ:Ù>ò@ëNî�à�â � ü)ëJì)Ú5òUâ)ãNá â�òUßJÙ>òBî�è��

T hs�Áã^äJÙ&äNë)ñÁã��

T hs�Áã^äJÙ&â:òih�á^à)á�ò8ã)ß�9�9��x� � û^þ)ö l 9�9<� þ�ëNÚ:Ù>òJëJî�à�â � â�ò î:æ�ãNáÒì�àJÚþOëJÚ�Ù�òJëNîÁàÁâ � �

�ö)÷�ã)ä�å�Ù�à$h>â^ã~ÚÁá)ë8è:á)àJì

~y.':7e<u�GW:)\Y��8�896)8�2 �e)a�})cU| g yU}¾c8[��I`b[^})cXyJf"yJq�{"[U|$f�tBr8t�`b_¾|$f�yJcUt"[J��f�e)t+]�`b[Uc^`$y8{Ë��tBrUtBqd[^]�{"t�}8fQ]�`b[ g tB|$|=�Ð[)`�y�r@y8`badtBf�_[J�Ï`�t�yJ|$[^})| n {"[8|$f([J�ªf�e)t�{�f�e)tw�ÄyU�)qdf"[J�If�e)t�]�`b[Uc)`$yU{w{"t�` vX�IyNf���`$yJqdqd_�f�e)t+��[^`�f�`$yU}¾| _^|$f t�{ g y8}�})[Uf]�[8|$|$a��)qd_���tBf t g f(yJqdqzf�e)tw{"ad|$f�y ¤ tB|ªf�e�yJfªadf�ad|(]�[U|$| a¨�)qdt��Ð[)`Ie)��{wyU}¾]�`b[Uc)`$yU{w{"t�`�|�f$[�{wy ¤ tUv$�§` `b[^`b|ªa�}f�e)tª|$_�}Uf�yN¢Q[N����[^`bf�` yU}"|$f�yNf$t�{"t�}8f$| g yU}+�)|���yJqdqd_��ÁtI��tBf$t g f tB�X�U_"f�e)t g [^{w])adqdt�` n �Ie)a g ew��asqdq5ad|$|O�)tIt�`$`�[^`{"tB|$|OyJcUtB|�a�})��a g yJf$a�})c��Ie�yJf�ad|ª�I`b[^})c2y8})� n a�� ]Á[U|$|$a��)qdt n �Ie)t�`btUvŪf�e)t�`w{"ad|$f�y ¤ tB|"��adqsq�[^})qd_ g [^{"t�f$[�qdasc)eUf2yNfQfOe)t2qda�} ¤ a�})cÓ|$f�yJc8tUv���� n �Ð[)`(tB¢�yU{w])qdt n _8[^��{�as| |�]�tBqdq

f�e)tX}�yU{�t�[J��yÊ|�����`b[^�)f$a�})t�[^`��É��} g f$ad[^}Òf�e)t g [^{w])adqdt�`+��adqdqÏ})[8f��Át�yU�)qdt�f$[¾��tBf$t g f2fOe)as|+yJ|wadfw[^})qd_��[^` ¤ |z[^}"[^})tª]�`b[Uc^`$y8{!��})asf�yJf§y�f$a�{"t n ���)fÃf�e)t�qda�} ¤ t�`Ã��adqdq�|Oy�_=|$[^{"tBfOe)a¨})c=qda ¤ t�©���})|�yJf$ad|b¬�tB��tB¢^f$t�` }�yJq`btO�Lt�`bt�} g tB«�v¾ �e)ad|w|$[^`�f�[J�Ï{"tB|$|OyJcUtw��adqdq�|$[){"tBf$a�{"tB|Qy8]�]�t�yU`=a��Ï_8[^��{"ad|$|�]ÁtBqdq�f�e)t�}�yU{"t+[J�IyU}�y8`$`$yM_|$a�} g tQy8`$`$yM_2yU})� �É��} g f$ad[^}�`btO�Lt�`bt�} g tB| g y8}�e�y�r8t�f�e)t�|�yU{"tª�L[^`${ v��[8|$f(t�`$`�[^`b|"f�e�yJf"[ gBg ��`wyJfw`$��}8�Äf$a�{"tXyU`�t2f�e)tX`�tB|��)qdfw[J�Ï]�`b[8c^`$yU{w{�t�`�t�`$`b[)` n [^`"yJf"qst�yN|$f"�ÄyJadq¨��`�t

f$[hyU}8f$a g a¨]�yNf$t¾|$[^{"t �ÉyJadq���`bt�{�[^��tUv¼�zr8t�}�fOe)a¨})c8|�qsa ¤ t~��asr)ad|$ad[^}k�8_Y?Bt�`b[Ó[^`+yJf$f$t�{�])f$a�})chf$[ y gBg tB|$|yU}¾yU`$` y�_�tBqdt�{"t�}8f(�ªe)a g e¾ad|Q�ÁtB_U[^})��adf$|���t g q�yU`�tB� �Á[^��})��| g yU}¾�Át2]�`btBrUt�}8f$tB���U_¾|��bÜ g ast�}8f$qd_ g yU`btO�Ä�)q]�`b[Uc)`$yU{w{"a�})c�v �e)t�`bt(ad| n e)[J��tBrUt�` n yw|$t g [)})� g yJf$tBc8[^`b_+[J��`$��}8�Äf$a�{"t"t�`$`b[)`��Ie)a g e¾})[�yU{"[^��}8f�[J�z�L[^`btBfOe)[^�)c^e8f g yU}

yMrU[Uad�5×wfOe)tB|$tX})t�yU`bqd_�yJqdq�a�}UrU[8qsr8t�f�e)t�a�}�]��)f��J[^�)f�]��)f�|$_^| f$t�{�v�� ¢:y8{w])qdtB|wa�} g q¨�)��t¾f�`�_^a�})c�f$[¾[^]Át�}hy¬�qdtX�Ie)a g eh})[�qd[^})cUt�`"tB¢)ad|$f$| n [^`=¬�})��a�})c g [^`$`$��])f tB�h��yJf�y�[^}ÓyU}Óa�}�]��)fw¬�qdtUvh��[^`=f�e)ad|2`bt�yJ|$[)}h{"[U|$fa�}�]��)f��J[^�)fO]��)f�t�` `b[^`b| g yU}+��tªf�`$y8]�]�tB� n �)|$a�})c"f�e)t � T|� ú^ø)ú õ [^` ö lil õ ¤ tB_)��[^`b��|za�}+yU}U_w���UÅk| f�yJf$t�{"t�}8f�v �e)t�`bt�ad|�})[���yM_�[J�>f�`$yU]�])a�})c(`$��}8�Äf$a�{"t�t�`$`b[^`b|za�}wy8}U_=[Uf�e)t�`¡f�_�]�tB|z[N��|$f�yNf$t�{"t�}8f�a�}w�)f�y8})��yU`b�"��[^`�f�`$yU}>v£��)f n Á$�)|$f§��t g yU�)| tIy�]�`b[Uc^` yU{ g [){w])adqstB| n qda�} ¤ | n yU})�w`$��})|§��adf�e)[)�)f§yU]�]�yU`bt�}8fzt�`$`b[^` n asfÃad|§})[Ufz|�yM�Lt�f$[

yJ|$|O��{"t�f�e�yJfIyNqsqz���)cU|�e�yMrUt(��tBt�} tBqsa�{"a�}�yJf tB�5vI �e)t�`bt"yU`bt=|$[^{"t�fb_�]�tB|�[J�§{"ad|$f�y ¤ t(�Ie)a g e���adqdq|$a�{w])qd_cUadrUt"_U[^� f�e)t"�I`b[^})c�yU})|$��t�`Bvª �e)t"[^})qd_X��yM_2f [��Át g [^{"t g [^}8¬���t�}8f�f�e�yJfªy�]�`b[Uc^`$y8{Îad| g [^`$`bt g fªad|�f$[cUadrUt=asfª|$[^{�t(f$tB|$f���yJf�y n ]�`btO�Lt�`$yU�)qd_+�Ð[)`Iy g yN|$t(�Ie)t�`�t(f�e)t"`btB|��)qdf$| g yU}���t g yNq g �)q�yJf tB��a�})��t�]�t�})��t�}8f$qd_Uv� e)t�}�y"]�`b[Uc^`$y8{!ad|�f$[)[(tBq�yU�Á[^`$yJf$tª�L[^` asf |I`btB|��)qdf$|�f$[w��t(]�`�tB��a g fOyU�)qdt(adf�|�e)[^�)qd���Át�|�])qdasf�a¨}8f$["|$t g f$ad[^})|�Ie)a g e g yU}��Át g e)t g¥¤ tB��|$t�]�yU`$yNf$tBqd_Uv

� �ö¿7!���¿ ºX� � %F¿Z�Mû<%K�$¿7& º #���� º(  !¡�$% �e)ad|(| t g f$ad[^}¾tB¢�])q¨yNa¨})|=f�e)t2`$�)qdtB|ª�L[^`�]�`b[Uc)`$yU{ g [^})|$f�`$� g f as[)}�yU})�¾f$tB¢)f�q¨yM_U[)�)f�v�¦ g [){w])qdtBf$tw��[)`bf�`$yU}]�`b[Uc)`$yU{ as| g [^{w]Á[U|$tB��[J��y�}^��{"�Át�`ª[J��|$t�]�y8`$yJf$tw]�`b[Uc)`$yU{Ë��})asf |�v5�§y g e�[J��fOe)tB|$t g yU} g [^}8f�yJa�}��Á[Uf�e

Page 24: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�m��µ ±m� �<��µ^���ª����µ�� ± ����� ±m� ����� o >

|$f�yNf$t�{"t�}8f$|5yU})� g [^{�{"t�}Uf¡qsa�})tB|�vÃ�)f�yJf$t�{"t�}8f$|�y8`btz�L[^`${"tB�ª�Ä`b[^{ðasf t�{"|�|O� g e=yJ| ¤ tB_)��[^`b��|�yU})�=|$_�{Q�Á[Uqda g}�yU{"tB|Mv§ �e)tB|$t�a�}�fO��`$} g [^})| as| f�[J� g e�yU` y g f$t�`b|�v

ægÃ� D1ß�ËbQgÍ7Æ�ÒpÆpÅ'Ñ��«ß�Å'ÆpÅ'èiÒpËFÆ�ØgË�Ò �e)t"[^})qd_ g e�yU`$y g f$t�`b|I})tBtB��tB��f [2�I`�asf t(��[)`bf�`$yU}�]�`�[Uc^`$yU{�| n y8})�Xf�e)t"[^})qd_X[)})tB|If�e�yNfI|�e)[)�)qs���Át��)| tB�a�}X]Á[^`bf�yU�)qdt=|$[J�Lf���yU`�t n yU`bt�fOe)[U|$t�a�}�f�e)t���[^`bf�` yU} g e�yU`$y g f$t�`Ã|$tBf�×

f�e)t o Bw��]�]Át�`�� g yJ|$t=qstBf f$t�`b| ø � ü v�v�v � �£¢f�e)t j�p ��adcUadf$| ô ò =LA >ÊôLM @¤? óyU})� j�� |�]Át g a�yJq g e�yU`$y g f$t�`b|�×

; ])q��)| 9 {�a¨})�)|ÿ yN|$f$t�`bad| ¤ Ü | q¨yN|�e

�)q�yU} ¤ õ t3Ô���yJqd|þ qdtO�LfÏ]�y8`bt�}UfOe)tB|$ad| � `�asc)eUfI]�y8`bt�}UfOe)tB|$ad|Þ ��t g a�{wyNqÔ]Á[Ua�}Uf � g [){w{wy� y8]�[U|$fO`b[^]�e)t Û g [8qs[)}¥ g ��` `bt�} g _�|$_�{Q�Á[Uq

¦ªqsfOe)[^�)c^e+f�e)ad| g e�yU`$y g f t�`§| tBf�ad|�|$[^{"tB�ªe�yJf�qsa�{"adf$tB� n adf�ad|IyJf�qdt�yJ| f\��})adrUt�`�|�yJqdqd_�yMr@yJadq�yU�)qdt n �Ie)a g e�e)tBq¨])|f$[¾{wy ¤ t�]�`b[Uc^` yU{"|Q]Á[^`bf�y8�)qstUv � e�yJf=|��b�5t�`b|"ad|2]�`b[Uc^` yU{ qdtBcUa��)adqdasfb_>×�qd[J��t�`�� g yJ|$t+qstBf f$t�`b|wyU`bt�yU�)|$t�}8fyU})�+adf�ad|�})t g tB|$|�y8`b_wf$["`btB|$[^`bfÃf$[Q�)c8qs_ g [^})|$f�`$� g f as[)})|�qda ¤ t Þí�Uú�Þ yU})� Þ m ú�Þ f$["`bt�]�`btB|$t�}8f�[^]�t�` yJf$[^`b|Ãqda ¤ tjXy8})� � v"�)[^{"t�[J��f�e)t"|�]Át g a�yJq g e�yU`$y g f t�`b| n |�� g e�yJ|�f�e)twyJ| f$t�`bad| ¤ yU})��]�yU`bt�}8f�e)tB|$tB| n yU`btwyJqd|$[X`$yNf�e)t�`[JrUt�`bqd[^yJ��tB����asfOe����)f$adtB|�v

D�uv.':7�72 �e)t��)q�yU} ¤ n [^`+|O]�y g t n g e�yU` y g f$t�`+ad|Xadc^})[^`�tB��tBrUt�`�_^�Ie)t�`�t�a�} ��[^`�f�`$yU}Ò|$f�yJf$t�{�t�}Uf$|�ÕÐtB¢ g t�])f���adf�e)a�}g e�yU`$y g f$t�` g [)})|$f�yU}8f$| n �Ie)a g eÓyU`btwt�} g qd[U| tB��a�}ÓyX]�yJa�`�[N��y8]�[U|$fO`b[^]�e)tB|�ÖBv�¦Iqdf�e)[)�)c^e¾_U[^�Ê��[�})[Uf"})tBtB�f$[�| t�]�yU`$yJf$t+adf$t�{"|+a�}h��[)`bf�`$yU}~|$f�yNf$t�{"t�}8f$|"��adf�e��)q�yU} ¤ | n adfwad|2c8[^[)��]�`$y g f$a g t�f$[�a�} g q��)��t�y¾qda���t�`$yJqe)tBq�])a�})c2[J�5f�e)t�{ |$a�} g t�f�e)tB_�a¨{�]�`b[JrUtIqdtBcUa��)adqda�fb_XyU})�+[J�Ðf t�}w|$a�{w])qda��L_�tB��asf a¨})c�v§ �e)t�[^})qd_wqda�{"adf�yJf$ad[^}�ÕÉyJ|tB¢�])q¨yNa¨})tB���ÁtBqs[J�IÖ�ad|�f�e�yJf�|$f�yJf$t�{�t�}Uf�qda�})tB|({Q�)| f\})[8f�tB¢^f t�})����tB_8[^})� g [Uq���{w}�Ç o v

K5a78�8�N]:7H�hY_'hg^�t<6'u �e)t g ��`$`bt�} g _�| _:{"��[8q�e�yJ|"})[�¬�¢)tB��c^` yU]�e)a g `bt�]�`�tB|$t�}UfOyJf$ad[^}>×"adfQyU]�]Át�yU`b|"[^}�{�[U|$f(| _^|$f t�{"|QyJ|=f�e)t��[Uqdq�yU`�©i¥@« n ���)f=[Uf�e)t�`��L[^`${"|�|O� g e�yN|�©�¦�«�t3Ô:��yNqsqd_¾r@yNqsad�5v� �e)ad|(rJyU`ba�yU�)adqdadf�_~��[^tB|"})[Uf({wyJf$f t�`�{Q� g e��t g y8�)|$t(f�e)t g ��` `bt�} g _�|$_�{Q�Á[Uq5ad|�})[Uf�y g f���yJqdqd_X})tBtB��tB�¾a¨}��)f�yU})��yU`�����[^`bfO`$yU}�|$_:}8f�yJ¢>v

��/�,)N�8�K5,'.F8�.FHd/3N[8�2

�¾[U|$f g [){w]��)f$t�`b|�e�yMrUt§y g e�yU` y g f$t�`>|$tBf¡�Ie)a g e=a�} g q��)��tB|�{wyU}8_ª[Uf�e)t�`5]�`ba�}8f�yU�)qdt g e�y8`$y g f$t�`b| n �Ð[)`>tB¢:y8{w])qdtqd[J��t�`�� g yJ|$t+qstBf f$t�`b| n | Ô:��yU`�tX��`$y gB¤ tBf$| n yU{w]Át�`b|�yU})��|+yU})� ]Át�`�� g t�}8fw|$adc^})|�v~¦Ï}8_ ]�`�a¨}8f�yU�)qdt g e�yU` y g f$t�`b||���]�]Á[^`bf$tB�¾�U_+f�e)t({wy g e)a�})tQ{wyM_���t"�)|$tB��a�} g [^{w{�t�}Uf�qda�})tB|(yU})����adf�e)a�} g e�yU`$y g f$t�` g [^})| f�yU}8f$|�v �e)t���[^`bf�` yU} g e�yU` y g f$t�`�| tBfX��[)tB|Ê})[8fXa�} g q��)��t yU}8_ g yU`$`ba�yJcUtO� g [)}Uf�`�[Uq g e�y8`$y g f$t�`b|�|�� g ekyJ|XfOyU� n

g yU`$`�a¨yNcUtO��`btBf���`$} n [^`=�L[^`${Q�L�ÐtBtB� n ���)f��L[^`${wyJf f$tB���il � ú)ö |$f�yNf$t�{"t�}8f$| g yU}h��t¾�)|$tB��f$[�]�`b[)��� g t�]�yNcUa��}�yJf$tB�Xy8})�Xf�yU���)q�yJf tB��[^�)f�]��)f�¬�qdtB|�v

Page 25: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�m��µ ±m� �<��µ^���ª����µ�� ± ����� ±m� ����� oUÈ

��[^`bfO`$yU}+]�`b[Uc^`$y8{"| g yU}�]�`b[ g tB|$|�yJ|���yJfOywyU}8_ g e�yU` y g f$t�`b|�|���]�]Á[^`bf$tB�¾�U_�f�e)t=qd[ g yJqe�yU`b����yU`btUv§ �e)t��[)`bf�`$yU}~�)f�yU})��yU`b�~as|w})[Ufw��yJ| tB��[^}Êf�e)t��)| t2[J�IyU}8_�]�yU`�f$a g �)q¨y8` g e�yU`$y g f$t�` g [)��t����)f"adfw`bt3Ô��)a¨`�tB|wadf$|g e�yU`$y g f$t�` g [){w]�yU`bad|$[^}Ê�Ä��} g f$ad[^})|(f$[¾�)|$twf�e)t g [Uqdq¨yNf$a�})c�|$t3Ô��)t�} g t2[J��f�e)t�¦Ï{"t�`�a g y8}��)f�y8})��yU`b��Z�[)��t�L[^`��Ä}8�L[^`${�yJf$ad[^}��Ä}8f$t�` g e�yU})cUt2ÕЦÏ��Z��b��ÖBv�����`�f�e)t�`���tBf�yJadqd|(yU`bt�c8asr8t�}+a¨} |$t g f$ad[^}�Ç�v�B�v

ægÃW× Ø<ÒdÅ]ÒpËFÏÐËFÑ�Òdà1Å'Ñ�Ù�I�Ú³Ñ�ËFà �e)t+|$f�yJf t�{"t�}Uf=ad|wf�e)t+|�{wyJqdqdtB|$fw��})adfw[J�Iy���[^`bfO`$yU}�]�`b[8c^`$yU{ n g [^`$`btB|O]�[^})��a�})c�f$[��Ie�yJf"ad| g yJqdqstB�ÑyU}a�})|$f�`$� g f as[)}+[^` g [^{w{wyU})��a�}+|$[){"tÏ]�`�[Uc^`$yU{�{"a�})cQq�yU})c)��yJcUtB|�vg�¾[U| f§fb_:]ÁtB|�[J��| f�yJf$t�{"t�}8f§| f�yU`bfÃ��adf�e�y¤ tB_)��[^`b���Ie)a g e g [)})|$ad|$f$|ª[J�Ô[)})t�Õ�[^`\|$[^{"tBf$a�{"tB|�f���[^Ö��§})cUqdad|�e���[^`b��|���tB| g `�a¨�)a�})c�f�e)t"{wyJa�}Xy g f$ad[^}�[J�f�e�yJf�| f�yJf$t�{"t�}8f n �L[^`ªtB¢�yU{w])qdtU×$l ö^ø S n S�T �Iö�� � ö � ï n m|T ú T�v5�)a�} g t��)q�yU} ¤ |QyU`�twadc^})[^`btB� n g [^{w]�[)��})�¤ tB_)��[^`b��| g yU}���t��I`badf$f$t�}�tBadf�e)t�`(yN|�[^})t"��[)`b�¾[^`�fb��[�× ö[� � ö � ï [^` ö[� � ö � ï ÕÉ���)f�f�e)twq�yJf$f$t�`ª| tBt�{"|t�yJ|$adt�`�f$[w`bt�yJ��ÖBv �e)t�`$�)qdtB|¡�Ð[)`>|$f�yJf t�{"t�}Uf>q�yM_U[^�)f�y8`bt§yU}(��}8�L[^`bfO��}�yJf$t§`btBqda g [J�Á]���} g e)tB�)� g yU`b�"��yM_)|�v�� rUt�`b_ª|$f�yJf$t�{�t�}Uf

{"�)|$f�|$fOyU`bf�[^}�yw})tB�kqda�})twyU})��t�y g e�qda�})t(ad|ª��asr)ad��tB�¾a¨}8f$[+f�e�`btBtª¬�¢)tB��¬�tBqd��|�×

ë g [Uq���{w})| j f$[ È �Ð[)`${ f�e)t(q�yU�ÁtBq5¬�tBqd� n

ë g [Uq���{w}RB=�L[^`${�|�fOe)t g [^}Uf a¨})��yJf$ad[^}�{wyU` ¤ t�`z¬�tBqd� n

ë g [Uq���{w})|ÏÇ�f$[wÇ o �L[^`${ f�e)t�|$f�yNf$t�{"t�}8f�¬�tBqd�5v�)a¨} g t~q¨y8��tBqd|XyU})� g [)}Uf$a�})��yJf$ad[^}Ñ{wyU` ¤ t�`b|2yU`�t�[^})qd_ })tBtB��tB�Ñ[^}�yÊ�LtB� |$fOyJf$t�{"t�}8f$| n f�e)t�¬�`�|$fw|$ad¢

g [Uq���{w})|ª[J�§{"[U|$f�qda�})tB|(yU`bt�qdtO�Ðfª�)q¨y8} ¤ v¦Ï}8_ g e�yU`$y g f$t�`b|�a�} g [Uq���{w}XÇ � [^`��ÁtB_U[^})�XyU`bt�qda ¤ tBqd_�f$[w��t�adc^})[)`btB� Õ g [8q¨��{�})|IÇ � f$[ mUp ��t�`btI[)} g t

�)|$tB��f$["e)[Uqd� g yU`b�+|$t3Ô��)t�} g t(}^��{"��t�`�|�ÖBv§ �e)ad|�a�}Ur)ad|$a��)qdt��Á[^��})��yU`b_�yM�Lf$t�` g [8q¨��{�}�Ç o ��t�{wyU})��| g yU`btO�Ä�)qyJf$f t�}Uf$ad[^}¾yJ|=adf g yU}¾e�yMrUtwrUt�`�_�]�t�` })a g ad[^�)|�tå��t g f |�תasf=ad|�]Á[U|$|$a��)qdt��Ð[^`�y |$f�yJf t�{"t�}Ufªf$[X�Át2f�` ��} g yJf$tB�yJf�f�e)t(�Á[^��})��yU`b_����)f�|$f$adqdqz��t�|$_�}UfOy g f$a g yJqdqd_ g [^`$`bt g f n |$["f�e�yNf�f�e)t g [^{w])adqdt�`ª��adqsq})[Uf���tBf$t g fIy8}U_)f�e)a�})c�I`b[)})c�v

KM6�:F/�G�:�a).�/�Gs67:xf�G�:'N�2

�)f�yJf t�{"t�}Uf |���[�})[8fIe�yMrUt(f$[�¬�f�[^}Xy�|$a�})cUqdt"qda¨})tUvª �e)t(a�})adf$a�yJqzqda�})tw[J�zt�y g e�|$f�yNf$t�{"t�}8f�|�e)[^�)qd��e�yMrUt(y�)q�yU} ¤ a�} g [Uq���{w}1B n yU})�2yJqdq>|����)|$t3Ô��)t�}8f�qda�})tB| n g yNqsqdtB� g [^}Uf a¨})��yJf$ad[^}�qda�})tB| n {"�)|$f�e�yMrUt�|$[^{"t g e�yU`$y g f$t�`[Uf�e)t�`ªfOe�yU}¾�)q¨y8} ¤ Õ�[^`ªfOe)tQ��adcUadfE?Bt�`b[^Ö�a¨} g [Uq���{w}�B�v(�ª]�f$[ j�l g [^}8f$a�}^��yJf as[)}¾qda¨})tB|"yU`btwyJqdqd[J��tB� n aLvÍtUvoUp a�} f$[Uf�yJqLvz �e)t g [Uq���{w} q�y�_8[^�)fI})tBtB��tB�¾��adf�e g [^}8f$a�}^��yNf$ad[^}�qda�})tB|�ad|�adqsq��)|$fO`$yJf$tB��e)t�`btU×

äUë�âMå^ì)î>ßò =<A >[ô�M @<?)ó§Þ)Þ)Þ

� ï�þ l ö k � � Þ�ö:ùÃÞ � � � Þ Tpl Þ l ö k � � Þ�ö:ùÃÞ � ê � Þ Tpl Þ¥ l ö k � � Þ�ö:ùÃÞ � ú � Þ Tpl Þ l ö k � � Þ�ö:ùÃÞ � Ù ��� ú^ý)ö^û �e)t g ��`$`�t�} g _�|$_:{"�Á[Uq�{wy ¤ tB|\y�cU[^[)� g [^}8f$a�}^��yNf$ad[^}X{wy8` ¤ t�`Ã|$a�} g t(a���y gBg ad��t�}8f�yJqdqd_�{"ad|�])q�y g tB�¾a�}Uf [2yU}yJ��Á$y g t�}8f g [Uq���{w}�adf���[^�)qd�¾��tQyNq¨{�[U|$f g t�`bfOyJa�}+f$[2]�`b[)��� g tQyU}+t�` `b[^`Ã����`ba�})c g [^{w])adq�yJf$ad[^}>v �e)t ö^û S�|$fOyJf$t�{"t�}8f2ad|¾yU}ÂtB¢ g t�])f$ad[^}ðf$[hf�e)t g [^}8f$a�}^��yJf as[)}k`$�)qdtU×hadfX{wyM_ })[Uf���tÊ�Ð[Uqdqd[J��tB���U_

g [^}8f$a�}^��yNf$ad[^}Ñqda�})tB|�yU})��})[h[8f�e)t�`w| f�yJf$t�{"t�}8f�{wyM_ e�yMrUt�yU}Âa�})asf a¨yNq(qda�})t��Ie)a g e�Á$�)|$f g [)}Uf�yNa¨})|�f�e)tqdtBf$f$t�`b|�©ê�§����«�vz��tBadf�e)t�`ª`$�)qdt g y8�)|$tB|Ï{�yU}U_+]�`b[^�)qdt�{"|ªa¨}�]�`$y g f$a g tUvx§`b[Uc)`$yU{"|Ã�Ie)a g e�{wy ¤ tItB¢ g tB|$|$adrUt(�)| t�[J� g [^}Uf a¨})��yJf$ad[^}+qda�})tB| g yU}2�Át(e�yU`b��f$["`bt�yJ��yU})��f$[w{"[)��a��Ð_>×

adf�ad|Ic8t�})t�`$yJqdqd_X��tBf$f$t�` n a���]�[U|$| a¨�)qdt n f$["��adr)as��twy"qd[^})c+|$f�yNf$t�{"t�}8f�a�}8f$[w|$tBr8t�`$yJq>|�e)[^`bf t�`�[^})tB|�v

Page 26: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�m��µ ±m� �<��µ^���ª����µ�� ± ����� ±m� ����� o B

KM6�^�^JNF:]/Öf�GW:'N[2

Z�[^{�{"t�}Uf |��Ð[)`${ÆyU} a¨{�]�[^`bfOyU}Ufª]�yU`bfª[J� y8}U_ g [^{w]��)f$t�`ª]�`b[Uc)`$yU{ÎtBrUt�} f�e)[^�)c^e f�e)tB_XyU`bt g [){w])qdtBf$tBqd_adc^})[^`btB���8_Xf�e)t g [^{w])adqdt�`Bתf�e)tBa�`(]���`$]Á[U|$t"ad|�f$[�e)tBq¨]~yU}U_Xe)��{wyU}��Ie)[�e�yJ|�f$[�`bt�yJ�¾yU})����})��t�`b|$f�y8})�f�e)t(]�`b[8c^`$yU{ Õ�|�� g eXyN|�fOe)t([^`badcUa�}�yJq]�`b[Uc^`$y8{w{"t�`Ã|$ad¢X{"[^}8f�e)|�q�yJf$t�`$ÖBvZ�[^{w{"t�}8f$|�a�} ��[^`bfO`$yU}�yJqd��yM_^|�[ gBg ��]8_Xyw|$t�]�y8`$yJf$t�qda�})t"[J�§f$tB¢)f���f�e)tB_XyU`�t({wyU` ¤ tB�¾�U_�yU}�yJ|$f$t�`bad| ¤

a�}�f�e)tª¬�`�|$f g [Uq���{w}>vÃ��[^`ÃtB¢�yU{w])qdtU×

ÿ ü^àÁâ^äMå>âNà8Ù�ãÓÙUØ>ã à8ÙUì�ëÁß�Ú)Ø�ãUá�òUähá�ãJí:á)àÁä@Ù>ò@ëNî�àUÙ kil ö �i� ì<h�à)á§Þl ö)ï õ kil ö �|� ÿ þOôÃÞ ò9ô ó > ; ò Þ�ó M ö�9�= ÿ ø£;§=Uö�9 ô ÿ ø ÿiÿ = �

ÿ ü^ë)á^áÁã)ä@ÙÑí�ë^áÂÙ8Ø�ã�Ù�ãMì^Ú>ãNá)à8ÙUå�á�ãÓúãþOü�ã)â^ß�ò å�ß �ú:ü Tbl õ þ0=�@<AÃÞbô¤;ðú �Lÿ þ ò Þbô:;kôÃÞ ô ô ô ÿ øS;L?§Þ >�ô ö�9<= ÿ ø ÿ|ÿ = �

¦ g [^{w{"t�}8fI{wyM_�yU]�]�t�yU`ªyJfIy8}U_�]�[Ua�}8fIa�}�yw]�`b[Uc^` yU{Î��})asfªtB¢ g t�])fÏyM�Lf$t�`�fOe)t ö)û S+|$f�yJf t�{"t�}Uf(ÕL��})qdtB|$|yU})[UfOe)t�`w]�`b[Uc^` yU{ ��})adf+�Ð[8qsqd[J��| n a�}Â�Ie)a g e g yJ|$t�adf2��adqdqª�L[^`${ f�e)t ¬�`b|$fwqda�})t�[J��f�e)t¾})tB¢^f���})adf�ÖBvk¦g [^{w])qdtBf$tBqd_h�)q�yU} ¤ qda�})t�ad|2yJqd|$[¾yJqdqs[J��tB��yU})��ad|wfO`bt�yJf$tB��yN|�y��)q�yU} ¤�g [){w{"t�}8f�vX �e)ad|w{"t�yU})|"f�e�yJf"y�)q�yU} ¤ qda�})tQad|�})[Uf�y g f���yJqdqd_X]�t�` {"adf$f$tB��y@�Ðf$t�`\f�e)t�q�yJ|$f ö)û S+|$f�yNf$t�{"t�}8f�[N� yw]�`�[Uc^`$yU{ v �e)t�`bt�ad|�})[Qqda�{"adfªf$["f�e)tÏ})��{"��t�`Ã[J� g [)})|$t g �)f$adrUt g [^{w{�t�}Uf�qda�})tB|I�Ie)a g e�{wyM_2��t(�)| tB�5� g [){w{"t�}8f$|

{wyM_XyJqd|$[XyU]�]Át�yU`ªa�}¾f�e)t"{"ad����qst+[J��y+|$t3Ô��)t�} g tw[J� g [)}Uf$a�})��yJf$ad[^}¾qda�})tB|�v" 5[ g [)}8�Ð[^` {Æf$[+f�e)t"��[)`bf�`$yU}�)f�yU})��y8`b� n g [^{w{"t�}8f�qsa�})tB|ª|�e)[^�)qd��})[8f\�Át([JrUt�`ÃÇ o g e�yU` y g f$t�`b|�qd[^})c n ���)f�f�e)ad|I` �)qst=ad|I`$yU`btBqd_+t�}8�Ð[)` g tB�5vZ�[^{w{"t�}8f$|"{wyM_�a�} g q��)��t g e�yU`$y g f$t�`b|(�ªe)a g ehyU`bt+})[Uf(a�}Óf�e)t+��[^`�f�`$yU} g e�yU`$y g f$t�`�|$tBf�v¾�Lf"e)tBq¨])|�f$[

��ad|$f$a�})c^�)ad|�e g [){w{"t�}8f$|5�Ä`b[^{ g [^��t�a���f�e)tB_(yU`bt�{wyJa�})qd_(�I`�asf f$t�}�a�}=qd[@��t�`�� g yN|$t§qdtBf$f$t�`�|\Õ��ªe)t�`bt�yMr@yNasq�yU�)qdt�ÖBv�LfÃad|\yNqs| [Qc8[^[)�2]�`$y g f a g t��L[^` g [^{�{"t�}Uf |§f$["]�`bt g tB��tIfOe)tI|$fOyJf$t�{"t�}8f$|zf�e)tB_"��tB| g `ba��Át(`$yJf�e)t�` f�e�yU}��Ð[Uqdqd[J�f�e)t�{�v�)[^{"t�|$_)|$f$t�{"|ªyJqdqs[J�&t�})�)�Ä[J���Äqsa�})t g [){w{"t�}8f$| n �)|���yJqdqd_�]�`btO�Äy g tB�¾�U_�yU}�tB¢ g q�yU{wyJf as[)}X{wyU` ¤ ×f�e)ad|ªas|

})[Uf"]�t�`${"adf$f tB���U_¾f�e)t���[^`bfO`$yU}�|$f�yU})��y8`b�5v"��[^` g [^{w]�yJf a¨�)adqdadfb_���adf�e¾��[^`bf�`$y8}�BpB g [){w{"t�}8f$| g yU}~yJqd|$[��t=��t�})[Uf$tB�¾�U_+f�e)t�qdtBf$f$t�`�Zða¨} g [Uq���{w} j v

_'/3.�/3NF^JNF:]/«fg.Ft<N�u�2

¦&q¨y8��tBq g yU}���t"yJf$f�y g e)tB��f$[wyU}8_2| f�yJf$t�{"t�}8f�vz �e)t�`bt"yU`btªf�e�`btBt"`bt�yJ|$[^})|Ã�L[^`��)|$a�})c+q�yU��tBqd|�×

ë f�e)t�t�})�X[J�zt�y g e1S[TN�Äqd[^[)]+as|ª|�]Át g a ¬�tB���8_Xy=q¨y8��tBqcUadrUt�}�a�}�fOe)t$S[T�|$f�yJf t�{"t�}UfM�

ë tBrUt�`b_ ï Tpl é)ø^ú |$f�yJf t�{"t�}Uf�{"�)|$fIe�yMrUt�y"q�yU��tBqzyJf$f�y g e)tB��yJ|�f�e�yNf�ad|Ie)[J�Êl ö)ø S2y8})�y�|l � ú)ö |$fOyJf$tO�{"t�}Uf |\`�tO�Ðt�`�f$["adf��

ë yU}U_"tB¢)t g �)f�yU�)qdt�|$f�yNf$t�{"t�}8f�{wyM_we�yMrUtIy�q�yU�ÁtBq�yJf$fOy g e)tB��|$[(f�e�yNf g [^}8f�`b[Uq>{wyM_w��tªf�`$yU})|b�Lt�`$`btB��f$[asf n �Ð[)`§tB¢�yU{w])qdt"�U_�y5miT ú T�|$f�yNf$t�{"t�}8f�v

�z¢�yU{w])qdtU×

ÿ l ãUà^ñÒî)å^ì�h>ãNáÁßhí:á)ëJì ò î^Ú)å�Ùkí�ò8â)ã�å)î�Ù�ò8âkò�Ù!ãMî�ñ�ß<�Xà^ñ)ñÂÙUØ>ã�ì å^Ú�Þ� �:é õ ôÃÞbô

ò ô^ô l ö^ø S þí��û � ú õ�� û��+ï^é)ú õ =)ô^ô���ö^û S õ ó)ó^ó)ó � �)ø�����ö=)ô^ô ï Tpl é)ø^úgþ$ï�=)ô§Þbô �� �:é õ � ��é£;"�)ø[�d�:ömiT ú T ò ô)ô

ó)ó^ó)ó �il � ú)ö�þ �:û � ú õ�ÿ �+ï^é)ú õ�ÿ��K� � �:ékë8í¤g�àÁâ�å>ã^ßkò8ß � � � �:é

Page 27: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�m��µ ±m� �<��µ^���ª����µ�� ± ����� ±m� ����� o Ç

�§y g e=q�yU��tBq5e�yJ|zfOe)t��Ð[)`${&[J��y8}w��})|$adc^})tB�+a¨}8f$tBcUt�` a�}"f�e)tI`$y8})cUt j f$[ lUl8lUlUl v£§q�yU} ¤ |�y8})�wqdt�yJ��a�})cÖ?Bt�`�[U|yU`bt=adc^})[^`btB�5v( �e)t�})��{"t�`ba g yJqzrJyJq��)twad|�a�`$`btBqdtBr@yU}8fQy8})� g yU}�})[Uf(�Átw�)|$tB�¾a¨}~y g yJq g �)q�yJf$ad[^}~yJfÏyNqsqLv( �e)tq�yU��tBq�{"�)|$f(yU]�]�t�y8`ªa¨} g [Uq���{w})| j f$[ È [J��fOe)tQa�})adf$a�yJq�qda�})t2[J��f�e)t"|$f�yJf t�{"t�}UfMv(�Ä} g [)}Uf$a�})��yJf$ad[^}¾qda�})tB|f�e)t�q�yU�ÁtBq5¬�tBqd��{"�)|$f���tQ�)q�yU} ¤ v¦kq�yU��tBq5{"�)|$f��Át(��})a@Ô:�)t���adf�e)a�}�y"]�`b[Uc)`$yU{!��})adfI���)f�q�yU��tBqd|�a�}+��a�5t�`bt�}Uf�]�`b[Uc^` yU{ ��})adf$|Iy8`bt�Ô��)asf t

a�})��t�]�t�})��t�}8f�v�¦ªqsfOe)[^�)c^e�yU}8_2| f�yJf$t�{"t�}8f�{�y�_+��t(q�yU�ÁtBqdqstB� n adf�[)})qs_�{wy ¤ tB|�|$t�})|$t�f$[wyJf f�y g e2y=q�yU��tBq¡f$[y ï Tpl é^ø)ú |$f�yNf$t�{"t�}8fI[^`�y8}XtB¢)t g �)f�yU�)qdt+|$f�yJf t�{"t�}Uf n |$a�} g t+f�e)t�`bt"ad|Q})[���yM_�[J�\�)| a¨})c¾y+q�yU��tBqÃ[^}¾yU}U_[Uf�e)t�`\f�_�]�t�[N�Ô|$fOyJf$t�{"t�}8f�v�)f�yJf$t�{"t�}8f§q�yU�ÁtBqd|IyU`bt���})|�yJf$ad|b�Äy g f$[)`b_w��t g yU�)|$t(})t�y8`bqd_2yJqdq>[J�5f�e)t�{Î{wyU` ¤ y"]�[Ua�}8f�f$[(�Ie)a g e g [^}8f�`b[Uq

g [^�)qd����t�fO`$yU})|b�Lt�`$`btB�¾�Ä`b[^{�tBqd|$tB�Ie)t�`�t�a¨}ÓfOe)t�]�`b[8c^`$yU{���})asfMv� �e)ad|2{wy ¤ tB|=adf2{"� g eÓe�yU`b��t�`=f$[¾��}8���t�`b|$fOyU})�Xy"]�`b[Uc^`$y8{ ��asfOe�{wyU}8_wq�yU��tBqdqdtB��|$f�yNf$t�{"t�}8f$|�vz�I}8�L[^`bfO��}�yJf$tBqd_2yJfI]�`�tB|$t�}Uf�[^})t g y8}�})[UfIyMrU[Uad��)|$a�})c(q�yU�ÁtBqd|\yNqsf [UcUtBf�e)t�` a¨}���[^`bfO`$yU}>v��Ð�5q¨y8��tBqd|�yU`bt��)|$tB�2yJf§yNqsq�f�e)tB_(|Oe)[^�)qd��yU]�]Át�yU`za�}wyN| g t�})��a�})cQ[)`b��t�`yU})�2]�`�tO�Ðt�`$y8�)qs_�a¨}�|$f$t�])|Ã[J� jMp [^` j�p8p f$[QyJqdqd[J�h�L[^` g e�yU})cUtB|�vz�5yU�ÁtBqd|���[Q})[Uf§e�yMrUt�f$[(��t�`badc^e8fb�vÁ��)| f$a�¬�tB�a�}�f�e)t�q�yU�ÁtBq5¬�tBqd�5v

ægÃIÝ ç5ÆbÍ'Þ�ÆpÅ'Ï ¨�Ñ�Ú�Òpঠg [^{�])qstBf t�tB¢^t g �)f�y8�)qst¾]�`b[Uc^` yU{ g [^})| as| f$|w[J�I[)})t2[^`"{"[)`bt�]�`�[Uc^`$yU{���})adf$|�v� �e)t�`bt�ad|2yJqd��y�_)|"[^})tÕLyU})�¾[^})qd_¾[^})t�Ö�{wyNa¨}~]�`b[Uc^`$y8{ ��})adf�×�fOe)as|=|$f�yU`�f$|I��asfOe�y1kil�T|mbl ø)é | f�yJf$t�{"t�}8f�v( �e)t�`btw{wyM_�yJqd|$[X�ÁtyU}8_�})��{"��t�`�[N�Ô|�����]�`�[Uc^`$yU{ ��})asf |I[J�zyU}U_+[J�zf�e)t�f�e�`btBt=r@yU`�astBf astB|M×

ë |�����`b[^�)f$a�})t=|�����]�`b[Uc^` yU{"|�×f�e)tB|$t�| f�yU`bf���adf�e�y5� � �il[T �:ú � û^ö |$f�yNf$t�{"t�}8f

ë �É��} g f$ad[^}Â|�����]�`�[Uc^`$yU{�| n yJqd|$[ ¤ })[@�ª}�yJ|�tB¢)f$t�`$}�yJq��Ä��} g f$ad[^})|�×�fOe)tB|$t¾|$f�yU`bf+��adf�eÑy ïp��û:ü8ú � T û|$f�yJf$t�{�t�}Uf

ë �)qs[ gB¤ ��yJf�y=|�����]�`b[Uc)`$yU{"|�×f�e)tB| t(|$f�y8`bf���adf�e�y�� � T üUþ S ø^ú)ø |$f�yJf$t�{�t�}Uf�v

������`b[^�)f$a�})tB|IyU})�+tB¢)f$t�`$}�yJqÁ�É��} g f$ad[^})|ªyU`bt ¤ })[J�I} g [8qsqdt g f$adrUtBqd_XyJ|�tB¢)f$t�`$}�yJq>]�`b[ g tB����`btB|����)qd[ g¥¤ ��yNf�y|�����]�`b[8c^`$yU{"|wyU`�t�})[Uf+]�`b[ g tB����`�tB|2yU})��yU`btX�)| tB�h[^})qd_��L[^`"f�e)t+|�]Át g a¨yNqÏ]���`$]Á[U|$t�[J��a�})adf$a�yJqdas| a¨})cÂf�e)tg [^}8f$t�}8f$|�[J�Ô}�y8{"tB� g [^{�{"[^}��)qd[ gB¤ |�v�zrUt�`b_�]�`b[Uc)`$yU{Î��})adfÏ{"�)|$f�t�})����asfOeXyU} ö)û S+|$f�yNf$t�{"t�}8f�v

XM8967H�N�ega789N[2

������`b[^�)f a¨})tB|¾yU})�ktB¢)f$t�`$}�yJqª�Ä��} g f$ad[^})|¾yU`bt g [Uqdqdt g f$adrUtBqd_ ¤ })[J�I}ÑyJ|�tB¢)f$t�`$}�yNq(]�`b[ g tB����`�tB|�×hf�e)tB_ÑyU`bt��tB| g `ba��ÁtB��a�}+�Ä�)qsqa�}�|$t g f as[)} l væ ]�`b[ g tB����`bt(ad|�yw|$tBq���� g [^}8f�yJa�})tB�¾|$t3Ô:�)t�} g t=[J�z[^]�t�`$yNf$ad[^})|I�ªe)a g e g yU}��t g yNqsqdtB�Âa¨}8f$[�y g f$ad[^}Ó[^}~��t�{wyU})�Ó�Ä`b[^{�tBqd|$tB�Ie)t�`bt�a¨}ÓfOe)tX]�`b[Uc^`$y8{�vX��[^`bf�` yU}�|O��]�])qsadtB|�y¾}^��{"��t�`[J�za�}Uf�`�a¨})| a g �Ä��} g f$ad[^})|ª|�� g e�yJ|£� � û��Xü Ti� ��ú)ø)û��Xé � û���é)ø|��� tBf g v§ �e)tB|$t"yU`bt(]�`b[ g tB����`btB|ª�Ie)a g e�yU`btyU�)f$[){wyJf$a g yJqdqd_�y�rJyJadq�yU�)qdt2�Ie)t�}Ê_U[^�¾})tBtB��f [X�)|$twf�e)t�{Ëa�}~tB¢:]�`btB| |$ad[^})|�v5�z¢)f$t�`$}�yNq�É��} g f$ad[^})| g yU}��Át�)|$tB��a�}+|$a�{"adq�yU`���yM_^|M×5f�e)t�`bt�{wyM_w��t(yU}8_2})��{"��t�`Ã[J�ÔyU`�c^��{"t�}8f$|����)f�[^})qd_+[^})tIrJyJq��)t�ad|I`btBf���`$})tB�+r)a¨yf�e)tª�Ä��} g f$ad[^}X}�y8{"tUv �e)tw|�����`b[)�)f$a�})twad|Qy�]�`b[ g tB����`bt+[J�\{"[)`bt"cUt�})t�`$yJq�L[^`${�תadf g yU}�e�yMrUtwyU}8_�})��{"��t�`�[J��a�}�]��)fwyU})�

[^�)f�]��)fªyU`bc^��{"t�}8f$|����)fªasf�as|ªtB¢)t g �)f$tB�X[^})qd_�a�}X`�tB|�]�[^})| t�f$[2yU}+tB¢�])qda g adf ü8ø[�i� |$f�yJf$t�{�t�}Uf�vx§`b[ g tB����`btB|I{wyM_ g yNqsq¡[Uf�e)t�`�]�`b[ g tB����`btB|IyU})��|$["[^} n ���)f\y�]�`b[ g tB����`�t({wyM_2})[Uf g yJqdq5adf$|$tBq��z��a¨`�t g f$qd_

[^`�a�})��a�`bt g f$qd_>�>��[^`�f�`$yU}���[^tB|ª})[Uf�|���]�]Á[^`bfI`bt g ��`�|$adrUtQ]�`b[ g tB����`bt g yJqdqs|Mv

Page 28: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�m��µ ±m� �<��µ^���ª����µ�� ± ����� ±m� ����� oUm

��[8|$fw��[)`bf�`$yU}~|$_)|$f$t�{"|+yJqdqs[J� ]�`b[ g tB����`btB|2f [���t��I`badf$f$t�}Óa�}Â[Uf�e)t�`"q�yU})c)��yJcUtB|�yU})�hqda¨} ¤ tB� ��asfOe��[)`bf�`$yU}�{�[^���)qdtB|(a�}8f$[XyU} tB¢^t g �)f�y8�)qst+]�`b[Uc^`$y8{�v�����fOe)tQ]�`b[ g tB����`btwa�}8f$t�`��Äy g t"as|�| a¨{�asq�yU`�f$[+f�e�yJfª[J��y��[)`bf�`$yU}�|�����`b[)�)f$a�})t([^`Ã�Ä��} g f$ad[^} f�e)ad|Ï]�`btB| t�}Uf$|ª})[2]�`b[^�)qdt�{�v �e)t�})[^` {wyJq���yM_�f [�f�`$yU})|��Ðt�`�a�}8�Ð[^` {wyJf$ad[^} �É`b[){ [^})t�]�`�[Uc^`$yU{ ��})asf�f [�yU})[Uf�e)t�`�ad|2f [��)|$t¾f�e)t

yU`bc)��{"t�}UfÃqdas| f�[J��f�e)t�]�`b[ g tB����`bt(yJ|���tB| g `ba��ÁtB�Xa�}+|$t g f$ad[^} l�n ���)f�adf�as|ªyJqd|$[w]�[U|$| a¨�)qdt=f$[w�)|$tÏy g [^{�{"[^}�)qd[ gB¤ ×�y"|Oe�yU`btB�XyU`bt�y=[J�§{"t�{"[)`b_Uv§ �e)ad|��Éy g adqdadfb_ n �Ie)a g e�ad|�qdtB|$|�{"[)���)q¨y8` n ad|���tB| g `ba���tB�¾a�}�|$t g f$ad[^} j�o v

ægÃIæ Ø<ÒdÅ]ÒpËFÏÐËFÑ�Ò©DEÈ�Î�ËFà�Å)Ñ�Ù�RRÆpÙ�Ë]Æ��[)`bf�`$yU}�|$f�yJf$t�{�t�}Uf$|�yU`bt�tBadf�e)t�`\tB¢^t g �)f�y8�)qst�[)`§})[^}8�ÄtB¢)t g �)f�yU�)qdtUv� �e)t g [^{w])adqdt�`�f�`$y8})|$q�yJf$tB|§tB¢)t g �)f�yU�)qdt|$f�yNf$t�{"t�}8f$|w��a�`bt g f$qd_Ña�}Uf$[�y~|$tBf�[J�Q{�y g e)a�})t g [)��t�a�})|$fO`$� g f$ad[^})|�v ��[^}8�ÄtB¢)t g �)f�yU�)qdtÓ|$f�yJf$t�{�t�}Uf$|+yU`bt{wyJa�})qd_Q�)| tB�Qf [If$tBqdq)f�e)t g [){w])adqst�`ÃyU��[)�)f�f�e)t�]�`b[Uc^` yU{��Mf�e)tB_(yU`bt�})[Uf���a�`bt g f qs_"f�` yU})|$q�yJf$tB�=a¨}8f$[�{wy g e)a�})tg [)��tUv� �e)t ö)û S�| f�yJf$t�{"t�}8f�ad|�tB¢^t g �)f�y8�)qstwyU})��|$[2yU`�t(yJqdq�f�e)[8|$t(a�}�fOe)t(qd[J��tB| fI`badc^e8fb��e�yU})����[J¢+[J�§f�e)tf�yU�)qdt"��tBqd[J�(��yJqdq5[UfOe)t�`�|$f�yJf t�{"t�}Uf |\y8`bt(})[^}8�ÄtB¢)t g �)f�yU�)qdtUv �e)t�cUt�})t�`$yJq¡[^`b��t�`�[J�z|$f�yNf$t�{"t�}8f$|�a¨}�yw]�`b[Uc)`$yU{Î��})adfIad|�×

ë x§`b[Uc)`$yU{ ��})adf�e)t�yJ��t�`"ÕIk|l�Timpl ø^é�� � � �|l�T ��ú � û)ö���ïb�:û�ü8ú � T û n [)`�� � T üUþ S ø^ú)ø | f�yJf$t�{"t�}8f�Öë ��]�t g a�¬ g yJf$ad[^}�|$f�yNf$t�{"t�}8f$|ë �z¢)t g �)f�yU�)qdt(|$fOyJf$t�{"t�}8f$|ë ö^û Sw|$f�yNf$t�{"t�}8f�v �e)tIfOyU�)qdtÏ�ÁtBqs[J�Ñ|�e)[J��|Ã|�e)[J��|§f�e)t g [^{w])qdtBf$tª|$f�yNf$t�{"t�}8fz[^`b��t�`ba�})cw`$�)qdtB|�×zf�e)tª|$f�yNf$t�{"t�}8f$|zqdas| f$tB��a�}

t�y g e¾��[J¢ g yU}¾��twa�}8f$t�`${"ad¢)tB�¾��adf�e�f�e)[U|$t"a�}¾��[J¢^tB|�[)}XfOe)t(|�yU{�t�e)[)`ba@?B[^}UfOyJq�qdtBrUtBqIÕÐf�e^�)|�k ø l ø^é)ö)ú^ö l|$f�yNf$t�{"t�}8f$| g y8}Q�Át�a�}Uf t�`${"ad¢^tB����adf�e � é k � � ü � ú |$fOyJf$t�{"t�}8f$|�Ö5���)fÃf�e)[U|$t�a�}w�Á[@¢)tB|z|$t�]�yU` yJf$tB�"rUt�`bf$a g yJqdqd_{"�)|$fzyU]�]�t�yU`a�}"fOe)t�]�`b[^]Át�`[^`b��t�`a�}"t�y g e(]�`�[Uc^`$yU{&��})adfIÕ�f�e)�)|§yJqdq^| f�yJf$t�{"t�}8f¡�É��} g f$ad[^})|§{"�)|$f§]�`�t g tB��tyJqdq5tB¢)t g �)f�yU�)qdt"|$f�yJf t�{"t�}Uf |�ÖBv

kil�T|mbl ø)é��2ïb�:û�üUú � T û�� � � �|l�T �:ú � û)ö�� � � T üUþ S ø)ú^ø� é k � � ü � ú

k ø l ø)é^ö)ú^ö l ªo«]:±�²B½LµU½L±M¸Q±M´�½�²�¬� û)ú)ö m ö l � l ö)ø��g� S�T � � �8ö k|l ö�ü � � � T û��ü T é k �8ö|���R� Tim � ü8ø[���XüUý)ø l ø�üUú)ö l­�½V®^±�®�²¯�±0�M³ °&��µ8½L³D¯U´+²B½LµU½L±M¸Q±M´�½�²�¬ü T é)é T û�� S � é)ö)û � � T û���ö�ùd� � �^ø��8ö^û�üUö��ö|�)ú)ö l û^ø���� � û)ú l � û � � ü�� � ø|�)ö

ï Tpl é^ø)ú ± ½LµU½L±M¸"±�´�½Á°¥»)´��M½L³D¯8´X²B½LµU½L±M¸Q±M´�½�²S ø^ú)ø ²´³ ±0�M»^½Lµ<µ ¶d±(²B½LµU½L±M¸Q±M´�½�²�¬

� ø�ü8þ �bk ø�ü8ö��Xü8ø[�i�g�Xüi� Ti� ö��Xü T û)ú � ûb�:ö�� S[T �ö[� � ö���ö�� � ö � ï���ö)û S � ï�� miT ú T � � ï��� û�ùd� � l ö�� Tpk ö)û�� l ö^ø S � l ö^úb� l û�� l ö � � û S �� ú Tbk � �il � ú^ö�� µJ²�²B³�·^´�¸"±M´�½²B½LµU½L±�¸"±�´�½�²¥v

ö^û S

���7N[H[a)/�Gs67:Ê_'N�¶<a)N]:7H�N¦ ]�`�[Uc^`$yU{ |$f�y8`bf$|��U_�tB¢^t g �)f$a�})c�f�e)t=¬�`b|$fªtB¢^t g �)f�y8�)qst+|$f�yNf$t�{"t�}8fI[J�§fOe)t�{�yJa�}�]�`b[Uc^` yU{Æ��})adf�v��z¢)tO�g �)f$ad[^} g [^}8f$a�})�)tB|�|$t3Ô��)t�}Uf$a�yJqdqd_���})qdtB|$| g [^}UfO`b[Uq>ad|�f�`$yU})|��Ðt�`$`�tB�2tBqd|$tB�Ie)t�`�tU×�yU} � ï [^`�m|T ú T"| f�yJf$t�{"t�}8f n

Page 29: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�m��µ ±m� �<��µ^���ª����µ�� ± ����� ±m� ����� oUl

�L[^`�tB¢�yU{w])qdt n {wyM_¾f�`$yU})|b�Lt�` g [)}Uf�`�[Uqzf$[XyU})[UfOe)t�`(]�yU`bf=[J��f�e)tw|�y8{"t2]�`b[Uc)`$yU{���})adf n �Ie)t�`�t�yJ|Qy üUø��|�|$f�yNf$t�{"t�}8f�[)`Ã�É��} g f as[)}X`btO�Lt�`bt�} g t(��asqdqf�`$yU})|��Ðt�` g [^}8f�`b[Uq>f$t�{�]�[^`$y8`badqs_�f [�y�]�`b[ g tB����`�tUv¦�]�`b[Uc^` yU{ g [^}8f$a�}^�)tB|�tB¢)t g �)f$a�})cw��}Uf asq>adf�`bt�y g e)tB|�yM� ú Tbk"|$f�yJf$t�{�t�}UfÃa¨}+yU}8_2]�`b[Uc)`$yU{!��})adf n [^`Ãf�e)t

ö)û S+|$f�yJf t�{"t�}Uf�[J�ÔfOe)tQ{wyJa�}�]�`b[Uc^`$y8{ ��})adf n [)`���}Uf asqy"�ÄyJf�yJq>t�`$`�[^`�[ gBg ��`b|�v � e)t�}Xyw]�`�[Uc^`$yU{ f$t�` {"a��}�yJf$tB|�})[^`${�yJqdqs_hÕLyJf$� ú Tbk�[^` ö)û S�Ö�fOe)tQ��[^`bf�` yU}+|$_)|$f$t�{ g qs[8|$tB|(yU}8_+¬�qstB|�| f$adqsqz[)]�t�}¾��tO�L[^`btw`btBf���` })a¨})cg [^}8f�`b[Uq�f [�f�e)t�[^]Át�`$yJf$a�})c"|$_)|$f$t�{�v£��)fÃ�Ie)t�}+y(]�`b[Uc)`$yU{&ad|§f$t�` {"a�}�yJf$tB��]�`bt�{wyJf���`�tBqs_=¬�qdtB| n tB|�]Át g a¨yNqsqd_[^�)f�]��)f\¬�qstB| n {wyM_2�Át(qdtO�LfI��adf�e+a�} g [^{�])qstBf tQ[)` g [^`$`$��])f tB�X`bt g [^`b��|�v

ægÃPO Ø<È�ÏEf�Í7Ç�ڳ踷�Å'ÏÊË]à�)_�{Q�Á[Uqda g }�y8{"tB| g yU}=��t§c8asr8t�}�f$[�adf$t�{�|5|�� g e(yJ|5rJyU`ba�yU�)qdtB| n yU`$`$yM_)| n g [^})|$f�yU}8f$| n �É��} g f$ad[^})| n |�����`b[^�)f$a�})tB| nyU})� g [){w{"[^}¾�)qd[ gB¤ |�vw¦ªqdq§|$_�{"��[Uqda g }�yU{"tB|"{"�)|$f g [^}8�L[^`${Ëf$[�f�e)t��Ð[Uqdqd[J��a�})cX|$a�{w])qdt�`$�)qdtU×�f�e)t"¬�`�|$fg e�yU`$y g f$t�`[N��t�y g e"}�yU{"tI{"�)|$fz��tIy�qdtBf$f$t�` n f�e)ad|�{wyM_Q��t\�Ð[Uqdqd[J��tB�2�U_"��]"f$[�¬�rUtI{"[)`bt�qstBf f$t�`b|z[^`��adcUadf$|�v��t�`bt(yU`bt�|$[){"t�tB¢:y8{w])qdtB|I[J�zr@yNqsad�¾|$_�{"��[Uqda g }�yU{�tB|�×

� é)ø^ú l � � � T �Uú � k � �i��> T � S üUý � ú ��T � l = S = T ��ú k ��ú¦�})��e)t�`bt(yU`�t�|$[^{"t(}�yU{�tB|��Ie)a g e ��[2})[Uf g [)}8�Ð[^` {Îf$["f�e)tQ` �)qstB|M×

ü T é k �8ö|� ÕÐf$[^[w{wy8}U_+qdtBf$f$t�`b|�Öé^øi� ö�� ÕÉ��})��t�`b| g [^`bt�ad|�})[UfIyJqdqd[J��tB��Ö= k � ÕÐ|$f�yU`bf |§��adf�e�y"��adcUadf�Öý�ã�ò�è8Ø�Ù ÕÐqs[J��t�`�� g yJ| tIqdtBf$f$t�`�|ÏyU`�tÏ})[UfªyJqdqs[J��tB��ÖBv

�Lf�as|+��tB|$fwf [ÊyMrU[8as���)| a¨})c~��asc8asf |2a�}�}�y8{"tB|w��})qstB| |2f�e)tX{�t�yU})a�})c�ad| g qdt�yU` n ��t g y8�)|$tXf�e)tB_hyU`bt+[J�Lf$t�}{"ad|�`bt�yN�5vÏ �e)t(��adcUadf�ò=ad|�t�yJ|$adqd_ g [)}8�É�)|$tB�¾��adf�e�f�e)t=qdtBf$f$t�` ��n |$a�{"adq�yU`bqd_ ô qd[^[ ¤ |�{"� g e�qda ¤ t"f�e)t"qstBf f$t�`T�[^}�{wyU}8_2��tBr)a g tB|�v �e)tw|$ad¢8� g e�yU` y g f$t�`ªqda�{"adfQ[)}XfOe)tQqdt�})cUfOe¾[J�\y+| _:{"��[8qsa g }�yU{"t"ad|([^})t�[J�§f�e)t2{"[8|$fÏ��})|OyJf$ad|b�Äy g f$[^`b_

�Lt�yJf���`btB|Ã[J�5��[^`bfO`$yU}>×�]�`�[Uc^`$yU{�|§yU`btI{"� g ewe�yU`b��t�` f$[Q��})��t�`b| f�yU})�+a �f�e)tI}�yU{"tB|�yU`bt g `�_:])f$a g y g `�[^}U_�{"|[^`"yU����`btBr)a�yJf$ad[^})| n ���)fw��adf�e~[^})qd_Ó|$ad¢ g e�yU`$y g f t�`b|"f�e)t�`bt�ad|wqdadf$f$qdt g e)[Ua g tUv�¦ªqdf�e)[^�)c^eh{wy8}U_�| _^|$f t�{"|��[�})[Uf�t�}8�L[^` g t(fOe)t(qda�{"adf2ÕLyU})����[)`bf�`$yU} l8p yNqsqd[J��|�}�yU{"tB|���]�f$[ ��j g e�yU`$y g f$t�`�|�qd[^})c^Ö n yJfI]�`btB| t�}Ufªf�e)t[^})qd_+�\yM_"f$["t�})|���`bt�| [J�Ðfb��yU`btª]�[^`bfOyU�)adqsadfb_+as|�f$[ ¤ tBt�]+f$[(adf�| f�`ba g f$qd_Uv§ �e)t�`bt�ad|Iy��Ä��`bf�e)t�`�]�`b[^�)qdt�{Î��asfOeadf$t�{"|��Ie)a g e¾e�y�r8tQyU}�yJ|$|$[ g a�yJf$tB�¾��yJf�y�fb_:]Át�Õ g [^})| f�yU}8f$| n rJyU`ba�yU�)qdtB| n y8`$`$yM_^| n yU})���É��} g f as[)})|�ÖBv��I})qdtB|$|f�e)t=��yJf�y"fb_�]�t�ad|I��t g q�yU`�tB��tB¢�])qda g asf qs_~a¨}�y"fb_:]Át(|$fOyJf$t�{"t�}8f n adfIad|ª��tBf$t�`${"a�})tB���U_�fOe)t(a�})adf$a�yJq�qdtBf$f t�`�[J�f�e)t(}�yU{�tUv§ �e)ad|Ï{�y�_��É��`bfOe)t�`�`btB|$f�`�a g fªf�e)t g e)[Ua g tUv

_7H�6)O<NJ6F¢E_'hg^�t<6)uIGIHR§y.'^JN�2�)_�{Q�Á[Uqda g }�y8{"tB|w�Ie)a g ehad��t�}Uf a �L_ g [){w{"[^}h�)qd[ g¥¤ |�y8})� ]�`b[Uc)`$yU{ ��})adf$|2[N��yJqdq�fb_�]�tB|�yU`bt�cUqd[^��yNq�a�}| g [^]Át n aLvÍtUv>f�e)tBa�`�}�yU{"tw{"�)|$f���t2��})a@Ô��)twa�}XfOe)tQt�}8f$a�`bt"tB¢)t g �)f�yU�)qdt2]�`b[Uc)`$yU{�v��ªyU{"tB|ªas��t�}8f$a��L_^a�})c�yJqdq[Uf�e)t�`\asf t�{"|�ÕÐr@yU`ba�yU�)qdtB| n y8`$`$yM_^| n g [)})|$f�yU}8f$| n | f�yJf$t�{"t�}8fÃ�É��} g f as[)})| n a�}8f�`ba�})|$a g �Ä��} g f$ad[^})| n yU})��yNqsqfb_:]ÁtB|[J������{w{=_�yU`�c^��{"t�}8f�Ö(yU`�twqd[ g yJq�f$[�f�e)t�]�`b[Uc^`$y8{���})adfwa�}��ªe)a g eÓf�e)tB_�y8`bt2�)|$tB�h|$[�f�e�yJf=f�e)t2|OyU{"t}�yU{"t({�y�_���t"�)|$tB��a�})��t�]�t�})��t�}8f$qd_�a�}�[UfOe)t�`�]�`�[Uc^`$yU{Î��})adf$|�v 5[�|$tBt"f�e)t"tå�5t g fª[J��f�e)tB| t�` �)qstB|"e)t�`bt"ad|(y+|$a�{w])qdtwtB¢:y8{w])qdtUvQ����]�]Á[U|$tw_U[)��`I]�`b[8c^`$yU{ g [^}8f�yJa�})|(y

|�����`b[)�)f$a�})t g yJqdqdtB� �����J�Ê�� �v> �e)ad|(ad|Qy�cUqd[^��yJq§}�yU{�tQ| [�asf g y8}�})[Uf(��t2�)| tB�ÊyN|�f�e)tw}�yU{"t"[J��c8qs[)��yJqadf$t�{ ÕÐ|�� g e"yJ|�yU}=tB¢^f t�`$}�yJq�]�`b[ g tB����`bt�[^`zy g [^{w{"[)}Q�)qd[ g¥¤ Öza�}"fOe)t�|�yU{"t�tB¢)t g �)f�yU�)qdt�]�`b[Uc^`$y8{�v5�Ä}�f�e)t���������� Ó|�����`b[^�)f$a�})tIy8})�wa�}wyU}8_([Uf�e)t�`z]�`�[Uc^`$yU{&��})adf§�Ie)a g e g yJqdqd|§adf§fOe)t\}�y8{"t g yU}�})[Uf§�ÁtI�)|$tB�=�L[^`zyqd[ g yNq�adf$t�{&|�� g ewyJ|§yªrJyU`ba�yU�)qdtI[)`zyU`$`$yM_Uv���}wyJqdq�[Uf�e)t�`z]�`�[Uc^`$yU{&��})adf$| n e)[J��tBrUt�` n a�} g q��)��a¨})c�f�e)[U|$t��Ie)a g e

Page 30: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�m��µ ±m� �<��µ^���ª����µ�� ± ����� ±m� ����� �Up

g yJqdq������J�Ê�� Ña�})��a�`bt g f$qd_ n f�e)t(}�yU{"t(�����J���Ä  g yU}��ÁtQ�)|$tB� �É`�tBtBqs_+tUvÍc�v8�L[^`�y g [^})|$fOyU}Uf n rJyU`ba�yU�)qdt n [^`yU`$` y�_Uv �e)tX}�yU{"tB|w[N�IcUqd[^��yJq�adf$t�{�|2})tBtB�hf$[��Át g e)[U| t�}h{"[^`bt g yU`�tO�É�)qdqd_���t g yU�)| t�asf�as|�e�yU`b��t�`�f$[�yJqdf$t�`

f�e)t�{�yJf(y�q�yJf$t�`�|$f�yJc8tU�5adf g yU}~��t+��a�Ü g �)qsf"f$[XyMrU[8as�Ó}�yU{"t g q�yJ|�e)tB|"�Ie)t�}Ê�I`badf$a�})c�y q¨y8`bcUt2]�`b[8c^`$yU{[^`ª���)adqs��a�})c�y+qda���`$yU`�_X[J��]�`b[ g tB����`�tB|Q��})qdtB|$|Q]�`�[Uc^`$yU{ ��})asf"}�yU{"tB|(yU`�t�yNqsqd[ g yJf$tB��| _^|$f t�{wyJf$a g yJqdqd_UvQ�Éf|$tBt�{"|(y8]�]�`b[^]�`ba�yJf$t��Ð[^`ª]�`b[ g tB����`btB|(f [Xe�y�r8t�}�y8{"tB|��Ie)a g e~yU`bt"rUt�`$�8�Äqda ¤ tUvw����_U[^� ¬�})��adf(��aÜ g �)qdf=f$[��tBr)as| t(|$t�})|$a��)qdtQ]�`�[ g tB����`bt"}�yU{"tB|�`bt�{"t�{"�Át�`�f�e�yJf�f�e)t$�§})cUqdad|�e q¨y8})c^��yJcUt�ad|���tBqdq5|$f$[ gB¤ tB�2��asfOe+f�e�`btBtyU})�"�L[^��`��ÄqdtBf$f t�`zrUt�`$�)|z�ªe)a g e��Ð[^` {!yªcU[^[)�2��yJ| as| n �L[^`tB¢:y8{w])qdtU×z�(Å n ¦Ï��� n uM�à n x§�ª  n  �Q�� n �z�(��  n�zÅ$Q�� n �5�Ä��  n �5Å�¦ª� n �)¦ � � n x§�5Å� �v£Ã_ g [){Q�)a�})a�})c�y���[^`b�¾qda ¤ t+[^})tw[J��f�e)tB|$t+��adf�e¾[^})tw[)`ªf���[yJ����adf$ad[^}�yJqqdtBf$f$t�`b|�asf�as|�]�[8|$|$a��)qdtQf [2{wy ¤ t���]Xy��Ie)[UqdtQ`$y8})cUtI[N� ]�`b[ g tB����`bt"}�yU{"tB|�v

¹ N[2nN[8Nº'N[e�+¼6'8�e�2

�Ä}�{"[U|$f g [^{w]��)f$t�`�q�yU})c^��yJcUtB|�f�e)t�`bt(ad|�y"qd[^})c+qsad|$f�[N�Ô��[^`b��|��Ie)a g e�yU`bt(`btB|$t�`�rUtB���8_�f�e)t�|$_)|$f$t�{ËyU})�g yU}�})[Ufª��tw�)|$tB��yN|�|$_�{Q�Á[Uqda g }�yU{"tB|M×�Z�[)��[Uq�]�`�[Uc^`$yU{�{"t�`b| n �L[^`�tB¢�yU{w])qdt n e�yMrUt�f [wf�`b_+f$[2`bt�{�t�{Q�Át�`})t�yU`bqd_ ÈUpUp [J��fOe)t�{�vz�Ä}=��[^`�f�`$yU}ªf�e)t�`�t\y8`bt�})[�`btB|$t�`br8tB�(��[^`b��|�v�)[^{"t���[)`bf�`$yU} ¤ tB_^��[^`b��|�Õ �Ð[)`5a�})|$f�y8} g tS ø^ú)ø���ö)û S n yU})��Tbk ö^û Ö�yU`btw|Oe)[^`bf�t�})[^�)c^e~f$[X�Át�]Át�`��Ðt g f qs_~r@yJqdad��| _:{"��[8qsa g }�yU{"tB|�v�¦Iqdf�e)[)�)c^e�adf=as|})[UfIyNc^yJa�})|$f�f�e)t(` �)qstB|ªf$["��[+f�e)ad| n adf g yU}���t�|$[^{�tB�Ie�yJf g [^}8�Ä�)|$a�})c�v �e)tI}�yU{"tB|Ã[J�5f�e)t�a�}8f�`ba�})|$a g �Ä��} g f$ad[^})|(Õ�|�� g ewyJ|�� ù l ú���é � û��¾üUý)ø l�ÖzyU`bt n f t g e�})a g yJqdqd_ n qd[ g yJq�}�y8{"tB|

yU})��f�e)t�`�tIad|I})[UfOe)a¨})c�f$[w]�`btBrUt�}8f�_8[^�2�)| a¨})c�f�e)t�{ �L[^`Ã_U[^��`z[J�I}+]���`$]Á[U|$tB| n ���)f�f�e)ad|�ad|I})[Uf�cUt�})t�`$yJqdqd_y�c8[^[)�wad��t�y"tBadf�e)t�`Bvz��[^`ztB¢�yU{w])qdt n a���_U[^� g e)[)[U|$t�f [Q�)|$tªf�e)tI}�yU{�t � ù l ú �Ð[)`zy(qd[ g yJq�rJyU`ba�yU�)qdt�_U[^����adqsqe�yMrUt({"[^`�tI��aÜ g �)qdfb_Xa�} g [^{w]��)f a¨})c+|ðÔ���yU`btO��`b[)[Uf$|�a�}�fOe�yJf�]�`b[Uc^`$y8{ ��})adf�v��Lf�as|ªtBrUt�}�{"[)`bt(��}U��as| t�f$[�)|$t"f�e)t"}�yU{"t([N��yU}�a�}8f�`ba�})|$a g �Ä��} g f$ad[^}¾yJ|IfOe�yJfI[N� yU}�tB¢)f$t�`$}�yJq]�`b[ g tB����`�t��Át g yU�)|$twa�}�f�e)ad| g yJ|$t"f�e)t}�yU{"t(e�yN|�f [��Át(��t g q�yU`btB��a�}�yU} öi�)ú^ö l û)ø�� |$f�yJf t�{"t�}Uf�a�}+tBrUt�`b_�]�`b[Uc)`$yU{ ��})adfªa�}+�Ie)a g e asf�ad|��)|$tB��a�}f�e)ad|ª�\yM_Uv

ægÃVU »s¼KH�½s¼�¾�¿�Ø<ÒpÅFÒpË]ÏÊËFÑ�Ò �e)t�kil�T|mbl ø)é |$f�yNf$t�{"t�}8f g yU}�[^})qd_�y8]�]�t�yU`ÃyJf�fOe)t�|$f�yU`�f�[J�>f�e)tI{wyNa¨}"]�`b[8c^`$yU{!��})adf�vz�Lf |§[^})qd_=�É��} g f as[)}ad|�f$[(a�})��a g yJf$t=�Ie�yJf§fb_�]�t�[N�Ô]�`b[Uc^` yU{!��})adf�adf�ad|�yU})�+f$[(c8asr8tIadf�|$_�{Q�Á[Uqda g }�yU{"tUv¦Iqdf�e)[)�)c^e+f�e)ad|�}�yU{"tg yU}�})[Uf��Át(�)|$tB��yU}8_)�Ie)t�`btªtBqs| t�a¨} f�e)t�]�`b[Uc^`$y8{ n adfI{wyM_2�Át(�)|$tB�X�8_2f�e)tª��[)`bf�`$yU}�|$_)|$f$t�{ f$["ad��t�}Uf a �L_t�`$`b[)`�{�tB|$|�yJcUtB|�tBf g v§ �e)t=cUt�})t�`$yJq��L[^`${Îad|�|$a�{w])qd_>×

kil[Timbl ø)é ´�µ8¸Q±� e)t�`bt2´�µU¸"±�ad|(y"|$_�{"��[Uqda g }�yU{"tUv� �e)ad|�}�yU{"t=as|ªcUqd[^��yJq¡a¨}�| g [)]�tQy8})��{wyM_�})[UfÏ�ÁtQ�)|$tB�¾tBqd|$tB�Ie)t�`�ta�}¾f�e)tw{wyJa�}¾]�`b[Uc)`$yU{Ë})[^`�yJ|�y+cUqd[^��yJq§}�yU{"t"a�}¾yU}8_X[Uf�e)t�`�]�`�[Uc^`$yU{Ë��})adf�v���[^` g [^{w]�yJf a¨�)adqdadfb_���asfOe��[)`bf�`$yU}�BbBwf�e)t�kil[Timbl ø)é |$fOyJf$t�{"t�}8fIad|"[^])f$ad[^}�yNqÐvw �e)as| g yU}�e�yMrUtw��})tB¢�]�t g f$tB�Ótå�5t g f$|�×�a���_U[^� �L[^`bcUtBf�)|$t"y«� � �il�T ��ú � û)ö [^` ïp��û:ü8ú � T û | f�yJf$t�{"t�}8fIyJf�f�e)t"|$f�yU`bf�[J��y+]�`b[ g tB����`bt"f�e)t g [){w])adqst�`ª��asqdq§yJ| |���{"tadf�f$[���twy�ÕÉ}�yU{"tBqdtB|$|�Ö�{wyNa¨}¾]�`b[8c^`$yU{Æ��})adf�v=�)a¨} g t�f�e)ad|���adqsq§})[)`${wyJqdqd_�`btB|O�)qsf�a�}¾fb��[2{wyNa¨}¾]�`b[8c^`$yU{��})adf$| n f�e)t�qda�} ¤ t�`�ad|ªqda ¤ tBqs_�f$["��tBf$t g fªf�e)t({"ad|$f�y ¤ tUv

ægÃPd ÀsÁ�G Ø<ÒdÅ]ÒpËFÏÐËFÑ�Ò �e)t ö)û S�|$f�yJf$t�{�t�}Uf�{Q�)| f\y8]�]�t�yU`�yN|�fOe)tIq�yJ|$f�|$f�yJf$t�{�t�}UfÃ[J��tBrUt�`b_+]�`b[Uc^`$y8{ ��})adf�vÃ�Lf�|$a�{w])qd_ g [^})|$ad|$f$|[J�zf�e)t���[^`b�5×

ö)û S�Ie)a g e�{wyM_h})[Uf2��t �Ð[8qsqd[J��tB� �8_ y8}U_ g [^}8f$a�}^��yJf as[)}hqda�})tB|�Õ�[^` g [^{�{"t�}Uf |�ÖBvh �e)t ö)û S�|$fOyJf$t�{"t�}8f"as|tB¢)t g �)f�yU�)qdtXyU})�h{wyM_�e�yMrUt�y�q�yU��tBq�yJf f�y g e)tB�5v��Ð�ÏyU} ö^û S¾|$f�yJf t�{"t�}Uf�ad|"tB¢)t g �)f$tB�ha�}�y |�����]�`b[Uc^` yU{

Page 31: Professional Programmer's Guide to Fortran77 Clive G. Page

 �������<� ± ������Ã&Ä ± µ�² ±$ï �7����à ± ��� ± µ�µ ±m� � ��j

��})adf n aLvÍtUv5y+]�`b[ g tB����`bt n adf(`btBfO��`$})| g [^}8f�`b[Uq5f [�f�e)t g yJqdqsa�})c¾��})asfM�5a��IyU} ö)û S�|$f�yJf t�{"t�}Ufªad|�tB¢^t g �)f tB��a�}f�e)t"{wyJa�}X]�`b[8c^`$yU{Îadf g qd[U|$tB|�yU}U_+¬�qdtB|ª�Ie)a g e¾yU`�t�[^]�t�} n |$f [^])|�f�e)t"]�`b[Uc^`$y8{ n yU})��`btBfO��`$})| g [)}Uf�`�[Uq>f$[f�e)t�[^]Át�`$yJf$a�})c+|$_)|$f$t�{�v

Å "!ª#ª(]% º #�%)((Æ�Ç º ¿7ú º�È^É &�((Æ º #¡��Ê ¿'¿ º�  ( �e)ad|�|$t g f$ad[^}Ê��t�yJqd|���adf�e�f�e)t"��yJf�yM�Ä|$f [^`$yJcUt�tBqdt�{"t�}8f$|�[J�§��[^`bf�` yU}>× g [^})|$f�y8}Uf$| n rJyU`ba�yU�)qdtB| n y8})��yU`$` y�_)|�v �e)tB|$t(yNqsq5]Á[U|$|$tB|$|ªyU}wa�{w]Á[^`bf�y8}Uf�]�`b[^]Át�`bfb_ g yNqsqdtB����yJf�y=fb_:]ÁtUvÔ �e)t���yJf�y=fb_:]ÁtI[J�zyU}+adf$t�{Î��tBf$t�`${�a¨})tB|�Ie�yJf�|$[^`bf�[J�za�}8�Ð[^` {wyJf$ad[^}+adfIe)[Uqd��|�yU})�XfOe)t�[^]�t�`$yNf$ad[^})|�f�e�yJf g yU}���t"]�t�`��L[^`${"tB��[^}+adf�v

O�Ã� É�Å]ÒpÅEDEÈ�Î�Ë]পqsq�fOe)t�a�}8�Ð[^` {wyJf$ad[^}"]�`b[ g tB|$|$tB�2�8_Qyª��adcUadf�yNq g [^{w]��)f$t�`ad|�e)tBqd�wa�}8f$t�`$}�yJqdqd_wa�}"f�e)tÃ�L[^`${ [J���)a�}�yU`�_Q��adcUadf$|[^`5�)adf$|MvÔ���)adf�y8�)qst g [Uqdqdt g f$ad[^})|z[J���)adf$| g yU}��Át\�)| tB�(f$[I`�t�]�`btB|$t�}8f�{wyU}8_I��a�5t�`bt�}8f�fb_�]�tB|[J����yJf�y�a�} g q��)��a�})c})��{Q�Át�`b|zyU})�"|$f�`ba�})cU|[J� g e�yU`$y g f$t�`�|�v5�Lfad|§})[UfÔ})t g tB| |�yU`b_�f$[ ¤ })[@�Óe)[@�Óf�e)tÃa¨}8�L[^`${�yJf$ad[^}=ad|Ô`bt�]�`�tB|$t�}Uf tB�a�}Uf t�`$}�yJqdqd_�a�}�[^`���t�`ªf$[��I`badf$tw��[^`bf�` yU}X]�`b[8c^`$yU{"| n [^})qd_�fOe�yJf�f�e)t�`bt"ad|wy+��a��5t�`bt�}8fQ`�t�]�`btB|$t�}8f�yJf$ad[^} �L[^`t�y g e�fb_�]�t([N�§��yJf�y�v� �e)t"��yJfOy"fb_:]Át([J�§t�y g e�adf$t�{ yNqs| [2��tBf$t�` {"a�})tB|��Ie�yJfª[^]�t�`$yNf$ad[^})| g y8}X��t g yU` `badtB�[^�)f�[)}+asfMקf�e)�)|IyU`�asfOe�{"tBf$a g [^]Át�`$yJf$ad[^})| g yU}X�Át g yU`$`�astB��[^�)f�[^}X})��{"��t�`b| n �Ie)t�`bt�yJ| g e�yU` y g f$t�`�|$fO`ba�})cU|g yU}Ó��t+|�])qdadf2��]�[)`�Áb[Ua�})tB��f$[8cUtBf�e)t�`BvX �e)tw��yJf�y f�_�]�t+[J��t�y g e�adf$t�{�ad|=¬�¢^tB�Ó�Ie)t�}~f�e)t�]�`b[Uc^`$y8{Ëas|�I`badf$f t�}>v��[^`bfO`$yU} n ��asfOe�adf$|"t�{w]�e�yJ| as|"[^}~}^��{"t�`�a g yNq�[)]�t�`$yJf as[)})| n e�yJ|=�Ð[^��`���yJf�y f�_�]�tB|�Á$�)|$f��L[^`=}^��{"��t�`�|�v

 �e)tB|$twyU`�t g [Uqdqdt g f$adrUtBqd_ ¤ })[@�ª}XyJ|ªf�e)tQy8`badf�e�{"tBf$a g ��yJf�y�fb_:]ÁtB|�v�¦�`badf�e�{"tBf$a g tB¢�]�`btB|$| as[)})| g yU}�a�} g q��)��t{"ad¢)f���`btB|([N����yJf�y�fb_:]ÁtB|QyU})� n a�}�{"[U|$f g yJ|$tB| n yU�)f$[){wyJf$a g fb_:]Át g [)}UrUt�`�|$ad[^})|QyU`�t�]�`�[@r)ad��tB�5vw�Ä}¾[8f�e)t�`g a�` g ��{"|$fOyU} g tB| n e)[J��tBrUt�` n tB|O]�t g a�yJqdqd_�a�}�]�`b[ g tB����`bt g yJqdqd| n f�e)t�`bt"ad|Q})[X]�`b[Jr)ad|$ad[^}��L[^`Iy8�)f$[^{wyJf a g fb_�]�tg [^}8rUt�`b|$ad[^}�y8})�Xadf�ad|ItB| |$t�}Uf a¨yNq>�Ð[)`���yJf�y=fb_:]ÁtB|�f$[2{�yJf g ewtB¢�y g f$qd_Uv �e)t�`$yU})cUt¾yU})� ]�`bt g ad|$ad[^}ð[J�(f�e)t�y8`badf�e�{"tBf$a g ��yJf�y~fb_:]ÁtB|�yU`�t�})[Uf+|�]�t g a�¬�tB�!�U_hfOe)t��)f�yU})��y8`b�5×

fb_:])a g yJq�r@yJq��)tB|Iy8`bt�a�})��a g yJf$tB�X��tBqd[J� n ���)fÃf�e)tª[^})qd_w��y�_=f$[Q�ÁtI|O��`btIad|�f$[ g e)t gB¤ f�e)tI{�yU}^��yNqs|�]�`b[Jr)ad��tB���adf�e _U[^��`Ã[J�I}+��[^`�f�`$yU}�|$_)|$f$t�{�v�)tBrUt�`$yJq�a�}8f�`ba�})|$a g �Ä��} g f$ad[^})|�yU`bt�yMr@yNasq�yU�)qdtªf$[ g [^}8rUt�`bf�Ä`b[^{&[^})t���yJf�yªfb_:]Át�f$[(yU})[Uf�e)t�` vÔZ\[^}Ur8t�`b|$ad[^}

�Ä`b[^{ g e�yU`$y g f$t�`z|$fO`ba�})cU|�f$[w}^��{"��t�`�|\y8})�2r)a g tO�ÄrUt�`b|�y g yU}��Át g [^{�])qsa g yJf tB�5��f�e)tB| tÏyU`�tI��tB|$f g yU`$`badtB�+[^�)f��adf�e f�e)t�a�}Uf$t�` }�yJq>¬�qdtMl ö^ø S�yU})�y�|l � ú^ö |$f�yJf t�{"t�}Uf |�ÕÐ|$tBt�|$t g f$ad[^} j�p v � Ö v �e)t�`bt(yU`bt n yJ|�_UtBf n })[2�)| t�`��Ä��tO¬�})tB�¾[^`�|$f�` � g f���`btB����yJf�y�f�_�]�tB|�a¨} ��[^`�f�`$yU}>v

_'/3.':ce�.F8�ex�1.�/3.ÌË�h�O<N�2 �e)t�f�y8�)qst(�ÁtBqd[@�&|���{w{�yU`bad|$tB|�f�e)t(]�`�[^]�t�`bf astB|�[J�ÔfOe)t�|$ad¢2��yJfOy(fb_�]�tB|I]�`�[@r)ad��tB�Xa�}X�)fOyU})��yU`b�+��[^`�f�`$yU}>×

�(yJf�y=fb_:]Át Z�e�yU`$y g f t�`bad|$f$a g |

�Ä}8f$tBcUt�` � e)[8qst(})��{"��t�`b|ª|$f$[)`btB��tB¢:y g f$qd_UvQ�t�yJq �I��{"��t�`�| n �ªe)a g e"{wyM_Ïe�yMrUt�Ä`$y g f as[)}�yJqU]�yU`bf$| n |$f$[)`btB�(�)|$a�})cÏy ��[^yJf a¨})cN�

]�[Ua�}8fI`bt�]�`btB|$t�}8f�yJf as[)}���adf�e+qda�{"adf$tB��]�`bt g ad|$ad[^}>v��[^���)qdtx§`bt g ad|$ad[^}

�)a¨{�asq�yU`�f$[2`�t�yJq����)f���adf�e+c)`bt�yJf$t�`�]�`�t g as| as[)}>v

Z�[^{w])qdtB¢ Z�[^{w])qdtB¢�}^��{"��t�`�|�ק| f$[^`btB��yJ|IyU}+[)`b��t�`btB��]�yNa¨`\[J� `�t�yJq5}^��{"��t�`�|�v�>[UcUa g yJq ¦ £Ã[)[Uqdt�yU}�rJyJq��)t n aLvÍtUv�[)})t(�Ie)a g e�ad|�tBadf�e)t�`�f�`$�)t�[^`Ã�ÄyJqd|$tUvZ�e�yU`$y g f t�` ¦�|$fO`ba�})cw[J� g e�yU` y g f$t�`b|�[J�¬�¢^tB��qdt�})cUf�e>v

Page 32: Professional Programmer's Guide to Fortran77 Clive G. Page

 �������<� ± ������Ã&Ä ± µ�² ±$ï �7����à ± ��� ± µ�µ ±m� � �Uo

 �e)t"¬�`b|$fª�L[^��`ªfb_�]�tB|�ÕÐa¨}8f$tBcUt�` n `bt�yJq n ��[^���)qdt�]�`bt g ad|$ad[^} n yU})� g [^{w])qdtB¢:Ö=yJqdq�e)[Uqd��})��{"t�`ba g yJqÃa�}8�Ð[^`��{wyJf as[)}�yU})�XyU`bt g [Uqdqdt g f$adrUtBqd_ ¤ })[J�I}�yN|IyU`badf�e�{"tBf a g ��yNf�y"fb_:]ÁtB|�v

09:F/3Ni\FN�8©Ë�h<O<N �e)t¾a�}Uf tBcUt�`w��yNf�y�fb_�]�t g yU}Â[^})qd_ `bt�]�`btB| t�}Uf+�Ie)[Uqdt�}^��{"�Át�`b|X���)f2fOe)tB_ yU`bt�|$f$[^`�tB��tB¢�y g f$qd_�a�}ÑyJqdqg a�` g ��{"|$fOyU} g tB|�v2��}Uf tBcUt�`b|Qy8`bt"[J�Ðf t�}��)| tB��f$[ g [)��}Uf���ad| g `btBf t2[^�[Á�t g f$|�|O� g e�yN|�tBqst�{�t�}Uf$|=[J�IyU}¾yU`$`$yM_ ng e�yU`$y g f$t�`�|�a�}�y"|$f�`ba�})c n [^`�adf$t�`$yJf as[)})|�[J�§y"qd[^[^]>v �e)tX`$yU})cUt�[N�Ï}^��{"�Át�`b| g [JrUt�`�tB� �8_�fOe)t�a¨}8f$tBcUt�`�fb_:]Át�ad|w|$_)|$f$t�{=�Ä��t�]Át�})��t�}Uf�v �e)t�{wydÁ�[)`badf�_¾[J�

g [^{w]��)f t�`b|I�)|$t �Uo �)asf |��L[^`�f�e)tBa�`�a�}Uf$tBc8t�`�yU`badf�e�{"tBf a g Õ j �)adf��L[^`�f�e)t=|$adc^}�yU})� ��j �Ð[^`\f�e)t({wyJc^})adf��)��t�ÖcUadr)a¨})c�y~}^��{"��t�`�` yU})cUt�[J� %�o p j >^Ç�p > mp� pêB9> m f$[ '�o p j >^Ç�p > mp� pðBd>NÇÁv �)[){"tX|$_)|$f$t�{�|2e�yMrUt�yU}ÓtBr8t�}q�yU`bcUt�`�a�}Uf$tBc8t�`�`$yU})cUt2���)f"y��ÐtB� rUt�`b_�|�{wyJqdq§| _^|$f t�{"|�[^})qd_�yJqdqs[J� j BM���)adf(a�}8f$tBcUt�`(y8`badf�e�{"tBf$a g |$[�fOe�yJff�e)tBa�`�a¨}8f$tBcUt�`�`$yU})cUt�ad|ª[^})qd_ %��Uo p�ÇpB m f$[ '$�Uo p�ÇpBUÇÁv¹ N|.Fu�Ë�h<O<N�¾[U|$f5| g ast�}8f$a�¬ g yU]�])qda g yJf$ad[^})|§�)|$tÃf�e)t�`bt�yNqU��yJf�y�fb_�]�t�{"[^`btzf�e�y8}�yU}U_)f�e)a�})cªtBqs| tUv�Q\t�yJq^rJyJq��)tB|§yU`btz|$f [^`btB�a�}Uf t�`$}�yJqdqd_X�)|$a�})c�yª��[^yJf a¨})cN��]�[Ua�}8fÏ`bt�]�`�tB|$t�}UfOyJf$ad[^}��Ie)a g e cUadrUtB|Iy=q�yU`bcUt�`�` yU})cUtªf�e�yU}+f�e)t�a�}8f$tBcUt�`�fb_�]�t���)f"f�e)t+r@yJq��)tB|2yU`�t2})[Uf n a�}�c8t�})t�`$yJq n |$f$[)`btB��tB¢�y g f$qd_Uv�£Ã[UfOe�f�e)t�`$yU})c8t2yU})�h]�`bt g ad|$ad[^}hyU`bt�{wy g e)a�})t��t�]�t�})��t�}8f�v�Ä}h]�`$y g f a g tX{�[U|$fw{wy g e)a�})tB|2�)|$tXyJf"qdt�yJ|$f �Uo �)adf$|wf$[¾|$f [^`bt�`bt�yJq�}^��{"�Át�`b|�vJ��yU}8_�|$_)|$f$t�{"|w})[J�

�)|$t"f�e)tw�³�����Ñ�)f�yU})��y8`b��`bt�]�`btB|$t�}8f�yJf$ad[^}>×\�Ð[)` �Uo ���)asf�})��{Q�Át�`b|�f�e)ad|�cUadrUtB|(y�]�`bt g ad|$ad[^}Ê[J�7Á��)| fI[JrUt�`ªÇ��t g a�{wyJqÃ��asc8asf |QyU})��yNqsqd[J��|"y�}^��{"��t�`=`$yU})cUt=�Ä`b[^{ËyU`b[^��})� j�p + r4Í f$[�Á$�)|$f�[JrUt�` jMp�Î r4Í vQ �e)as| g yU}��Át|$[^{�tBf�e)a�})cQ[N�Ôy=qsa�{"adf�yNf$ad[^}X�Át g yU�)|$t�f�e)t�`bt�yU`bt�{wyU}8_wfb_�]�tB|�[J� g yJq g �)q�yJf$ad[^} n tB|�]Át g a¨yNqsqd_�a�}�]�e8_^|$a g |�yU})�yJ|$fO`b[^})[^{=_ n �Ie)a g eÓqdt�yJ�hf [�})��{Q�Át�`b|wa�}ÓtB¢ g tB|$|w[J� j�p$Ï]Ð v��)[^{�t g [^{�]��)f$t�`b|w��tB|$adc^})tB�htB¢�]�`btB|$| qs_~�L[^`| g adt�}8f$a�¬ g ��[^` ¤ n | [^{"tBf$a�{"tB| g yJqdqdtB�!©$|���]Át�`�� g [^{w]��)f t�`b|$« n yJqdqs[ g yJf$t1B�>��)adf$|��Ð[^`�`�t�yJq§}^��{"�Át�`b|(|$[�fOe�yJff�e)t(})��{"t�`ba g yJq�]�`�t g as| as[)}Xad|I{"� g e+q�yU`bcUt�`B�Áf�e)t(`$yU})cUt�ad|�[N�Ðf$t�}+q�yU`�cUt�`�yJ|���tBqdqÐv�Å�}�|O� g e�{wy g e)a�})tB|ªasf�as|`$yU`�tBqs_�})t g tB|$|�y8`b_�f$[w�)|$t(fOe)t���[^���)qdt�]�`�t g as| as[)}�fb_:]ÁtUv

�167a7t<uvN�XM89N�HpGI2�Gs67:EË�h�O<N��[^���)qdt(]�`bt g ad|$ad[^} as|ªyU}2yNqsf t�`$}�yJf$adrUt���[^yNf$a�})cJ��]�[Ua�}8f�fb_:]ÁtUvz �e)t���[^`�f�`$yU}w�)fOyU})��yU`b�+[^})qd_2|O]�t g a�¬�tB|IfOe�yJfadf(|�e)[)�)qs�he�yMrUtwc^`�t�yJf$t�`�]�`bt g ad|$ad[^}Óf�e�y8}¾f�e)t2`bt�yNq§fb_:]Át2���)f(a�}Ó]�`$y g f$a g t n |$a�} g t�f�e)tw��[)���)qst�]�`bt g ad|$ad[^}|$f$[)`$yJcUtw��})adf"as|"fb��a g twf�e)t�|$a@?Bt n adf(ad|"|�yM�Ltwf$[�yN|$|���{"twfOe�yJf�f�e)t�]�`bt g ad|$ad[^}�ad|wyJf=qst�yN|$f(��[^���)qdtB�5vX �e)t})��{Q�Át�`I` yU})cUt�{wyM_ n e)[J��tBr8t�` n ��t(fOe)t�|�yU{"t(yJ|�f�e�yJfÃ�Ð[)`�`bt�yJq>fb_:]ÁtUv¦Iqdf�e)[^�)c)eX��[)���)qst+]�`bt g ad|$ad[^}¾r@yNq¨�)tB|=[ gBg ��]8_Xfb��a g t"yJ|({"� g e�{"t�{"[^`b_XyN|Ï`bt�yNq\Õ�[)`�a�}8f$tBcUt�`$Ö�r@yJq��)tB| n

g [^{w]��)fOyJf$ad[^})|�[^}+fOe)t�{Î��[�})[8f\})t g tB| |�yU`badqd_Xf�y ¤ tIfb��a g t"yJ|�qd[^})c�v

KM6�^ O<uvNi�EË�h�O<N �e)t g [){w])qdtB¢���yJf�y+fb_�]�tw|$f [^`btB|�fb��[�`bt�yNq§r@yNq¨�)tB|wyJ|(y |$a�})cUqdt2t�}8f$adfb_Uv2 �e)t�`�twad|Q})[X��[)���)qst�]�`bt g ad|$ad[^}g [^{w])qdtB¢�fb_�]�t�a�}X�)f�y8})��yU`b����[)`bf�`$yU}>vZ�[^{w])qdtB¢�})��{Q�Át�`b|�yU`bad|$tX}�yJf���` yJqdqs_h�ªe)t�}htB¢)f�`$y g f$a�})c�fOe)t�`b[)[Uf$|"[J�(})tBc^yJf$adrUt¾}^��{"�Át�`b|2yU})�ÑyU`bt

�)|$tB��a�}�{�yU}U_¾��`$yU} g e)tB|([J��{wyJf�e)t�{�yJf$a g | n ]�e8_^|$a g | n yU})�¾t�})cUa�})tBt�`ba�})c�v+¦ g [^{w])qdtB¢�}^��{"��t�`�ad|([J�Lf$t�}`bt�]�`btB| t�}Uf$tB�ÑyJ|�Õ}Ñ '£Ò2Ó Ö n �Ie)t�`bt~Ñ yU})� Ó yU`bt�fOe)t�`bt�yJqªyU})�ha�{wyJcUa�}�yU`b_�]�y8`bf$|2`btB|O]�t g f$adrUtBqd_kyU})�Ò q � %�j v��zqdt g f�`ba g yJq�t�})c8a¨})tBt�`�| n e�yMr^a�})c��)|$tB�Óf�e)t+qstBf f$t�`=a§f$[¾`bt�]�`btB|$t�}8f g ��`$`bt�}8f n �)|$t2fOe)t�})[UfOyJf$ad[^}Õ}Ñ '~Ô�Ó Ö�a�})|$f$t�yN�5v

Page 33: Professional Programmer's Guide to Fortran77 Clive G. Page

 �������<� ± ������Ã&Ä ± µ�² ±$ï �7����à ± ��� ± µ�µ ±m� � �p�

¦Iqdf�e)[^�)c)eXfOe)tQ`$�)qdtB|ª�L[^`�{wyU})a�]��)q�yJf$a�})c g [^{w])qdtB¢X}^��{"�Át�`b|(yU`bt�|$fO`$yJadc^e8fb�L�Ð[)`b��yU`b� n adf�as| g [^}8rUt�})adt�}Uff$[�e�yMrUt+f�e)t���[^`�f�`$yU}¾| _^|$f t�{ f$[¾��[¾f�e)t���[^` ¤ v��Lfwad|2�)|���yNqsqd_�{"[)`bt2tåÜ g ast�}8f2yJ|���tBqdq n ��t g yU�)|$t�f�e)tg [^{w]��)f t�` g yU}w�)| t�adf$|§a�}8f$t�`$}�yJq�`btBc8as| f$t�`b|§f [�|$f$[^`bt�f�e)t�a¨}8f$t�`${�tB��a¨yNf$tI]�`b[)��� g f$|§a�} g [^{w])qdtB¢wyU`badf�e�{"tBf a g v�z¢�]�[)})t�}Uf$a�yJf as[)}�yU})�¾f�e)t=�Ð[)��`I`btBc)�)q¨y8`�yU`badf�e�{"tBf$a g [^]Át�`$yJf$[^`�| g yU}¾�Át2�)|$tB�¾[^} g [^{w])qdtB¢¾r@yJq��)tB| n yU})�r@y8`bad[^�)|"a¨}8f�`ba�})|$a g �É��} g f as[)})|�y8`bt2yJqd|$[¾]�`b[Jr^ad��tB�Ó|�� g e~yJ|(|ðÔ���yU`btO��`�[^[Uf n qs[8c^yU`badf�e�{"| n y8})��f�e)twf�`�asc8[^})[J�{"tBf�`�a g �É��} g f as[)})|�v

fg6]\)GIH�.FuXË�h�O<N �e)t�qd[UcUa g yJq>��yJfOy(fb_�]�tªad|I{wyJa�})qd_X�)|$tB��a�} g [^}9Á$��} g f$ad[^}+��adf�e � ï |$f�yJf t�{"t�}Uf |§�Ie)a g e+|$tBqdt g fÏy g [^��`b| tI[J�y g f$ad[^}�y gBg [^`b��a�})c(f [��Ie)tBf�e)t�`z| [^{"t g [^})��adf$ad[^}�as|Ãf�`$�)t�[)`¡�ÉyJqd|$tUv¦Ñqd[UcUa g yJq�r@yU`ba�yU�)qdtwÕ�[^`zyU` `$yM_�tBqst�{�t�}Uf�Ö{wyM_w��t(�)|$tB�+f$[=|$f$[^`bt�|�� g e+y g [^})��adf$ad[^}+r@yNq¨�)tª�L[^`Ô�É�)f���`�tÏ�)|$tUvÃ�>[UcUa g yJq>r@y8`ba�yU�)qdtB|IyU})��yU`$`$yM_)|§yU`bt�yJqd|$[�)|$tO�Ä�)q��Ie)t�}���t�yJqda¨})c���adf�e"fb��[J�Är@yJq��)tB�w��yNf�yª|�� g e2yJ|z�ªe)tBf�e)t�`§y=]�t�`b|$[)}"ad|�{wyJqdtª[^`¡�Lt�{wyJqdt n y�¬�qstª[^]Át�}[^` g qd[U| tB� n ]�[J��t�`�[^}+[^`\[�� n tBf g v�)[^{"tQ]�`�[Uc^`$yU{�{"t�`b|�|$tBt�{Æ`btBq�� g f�y8}Ufªf$[2�)|$t=qd[UcUa g yJq5rJyU`ba�yU�)qdtB|(yU})��y8`$`$yM_^|��Át g yU�)|$t(fOe)tB_+�ÐtBtBq5fOe�yJf

adfÏ{"�)|$fª��t(a�})tåÜ g adt�}8f�f$[2�)|$t(y8}�t�}8f$a�`bt g [^{�]��)f$t�`���[^`b��[J�§]�t�` e�yU])| �8o �)adf$|If [w|$f$[^`�t�Á$�)|$fª[^})t(�)adfI[J�a�}8�Ð[)`${wyJf$ad[^}>vª�Ä} �Äy g fIfOe)t(tB¢)f�`$y g [^��tw})tBtB��tB��f$[�a¨{�])qst�{�t�}Uf"y2{"[)`bt(tåÜ g adt�}8f���yJf�y+]�y gB¤ a�})c+| g e)t�{�t�)|���yJqdqd_X��yJ| f$tB|�{"[^`bt({"t�{�[^`b_wf�e�y8}+f�e)t�qd[UcUa g yJqr@yU`ba�yU�)qdtB|ª��[^�)qd��e�yMrUt�[ gBg ��])astB�5v

K5,'.F89.FH�/3N[8�Ë�h<O<N �e)t g e�yU` y g f$t�`Ãfb_:]Át�as|���})a@Ô:�)t"a�}�fOe�yJf�t�y g e g e�y8`$y g f$t�`�adf$t�{ e�yJ|Ïy=qdt�})cUf�e ��tO¬�})tB���Ð[^`\asfM×zf�e)ad|Iad|ªf�e)t})��{Q�Át�`"[J� g e�yU`$y g f$t�`b|"f�e�yJf"adf2e)[Uqd��|�vÓ�Ä}ÓcUt�})t�`$yNq�f�e)t+qst�})c8f�eÓad|w¬�¢)tB�h�Ie)t�}Óf�e)t�adf$t�{�ad|w��t g q�yU`btB�yU})� g yU}�})[8fI��t(yJqdf$t�`�tB�X����`ba�})cwtB¢)t g �)f$ad[^}>v� �e)t�[^})qd_�tB¢ g t�])f as[)}�f$["f�e)ad|ªas|\�Ð[^`Ã����{w{=_�yU`bc^��{�t�}Uf$|�[J�]�`b[ g tB����`btB|�×e)t�`bt§adfas|]�[U|$| a¨�)qdtÃ�L[^`>f�e)tÃ����{w{=_ÏyU`�c^��{"t�}8f�f [Iy g Ô��)a¨`�t§f�e)tzqdt�})cUf�e�[J��f�e)t g [^` `btB|�]�[)})��a¨})cy g f���yNqÔyU`�c^��{"t�}8f�vQ��|$a�})cXfOe)as|ª�Äy g adqdadf�_ n cUt�})t�` yJq���]���`$]�[U| t2]�`b[ g tB����`btB| g yU}¾��tw�I`�asf f$t�}�f$[�[^]�t�` yJf$t"[^}g e�yU`$y g f$t�`| f�`ba�})cU|za�`$`btB|�]Át g f$adrUt�[J�>f�e)tBa�`zqdt�})cUf�e>vz��}wyJ����adf$ad[^} n f�e)t�`$�)qdtB|z�L[^` g e�yU`$y g f$t�`yJ|$| asc)}�{"t�}UfzfOy ¤ tg yU`bt�[J�5{"ad|�{wyJf g e)tB�wqdt�})cUfOe)|��8_QfO`$��} g yJf$a�})c�[^`z]�yJ����a�})c"��adf�e"�)q�yU} ¤ |�[)}(fOe)t\`�asc)eUf�yJ|§})t g tB|$|�yU`�_UvÔ �e)as|{"t�yU})|ªf�e�yJf�f�e)t(��[^`bf�`$y8} g e�yU` y g f$t�`�fb_�]�tQe�yN|Ï{wy8}U_+[J�§f�e)t"]�`b[^]�t�`�f$adtB|I[J��y�cUt�}^�)a�})t"r@y8`ba�yU�)qdtO�Äqst�})c8f�eg e�yU`$y g f$t�`���e�yU})��qda¨})c+|$_)|$f$t�{�v �e)tw{wyJ¢)a¨{"��{ qdt�})cUf�e�[J��y g e�yU`$y g f$t�`\asf t�{Ëas|�| _^|$f t�{=�Ä��t�]�t�})��t�}8f�תadf�as|�|OyM�Ðt=f$[�yJ|$|���{"t=f�e�yJf�yJqdq

|$_)|$f$t�{"|Ã��adqdq�yNqsqd[J��| f�`ba�})cU|§[N�¡��]�f$[ oUÈUÈ g e�yU`$y g f$t�`�| n y�qdt�})cUf�e�qda�{"adf�[J� �Uo ÇpB8ÇwÕ�[^`tBrUt�}+{"[^`bt�Öad|�Ô��)asf tg [^{w{�[^}>v( �e)tw{"a�})a�{"��{ qdt�})cUf�e¾[N��y g e�yU` y g f$t�`�asf t�{Ëas|=[^})t g e�y8`$y g f$t�`B�>t�{�])f�_�[)`�}^�)qdqz|$f�`�a¨})c8|(yU`bt})[UfI]Át�`${"adf$f$tB�5v

_'/36)89.�\FN�¬�:7Gv/�2

¦ªqsfOe)[^�)c^e�f�e)t���[)`bf�`$yU}=�)f�yU})��yU`��w��[^tB|�})[Ufz|O]�t g a��Ð_�f�e)tIyU�)|$[8q¨�)f tÏyU{�[^��}Ufz[N��{"t�{"[)`b_"f$[(��t�yJqdqd[ g yJf tB�f$[wt�y g e���yJf�y�f�_�]�t n adf���[^tB|ª|�]Át g a �L_XfOe)t�`�tBq¨yNf$adrUtQyU{�[^��}Uf |�v� �e)ad|�ad|Ï})[Ufªa�{w]�[)`bf�yU}8fIr8t�`b_2[N�Ðf$t�} n [^})qd_�Ie)t�} g [)})|$f�`$� g f$a�})c¾��}8�Ð[^` {wyJf$f$tB�~��a¨`�t g fb��y gBg tB|$|"`bt g [^`b��|=[^`ª�Ie)t�}Ó�)|$a�})c ü T é)é T û y8})� ö:ùd� � �)ø[�8ö)û:ü8ö|$f�yNf$t�{"t�}8f$|�vz �e)t(`$�)qdtB|�yU`bt(yJ|��L[Uqdqd[J��|�×

�(yJf�y=fb_:]ÁtB| �)f$[^`$yJc8tÏ��})adf$|a�}Uf$tBc8t�` n `bt�yJq n qd[Uc8a g yNq j ´�»)¸"±�®O³Õ�OµU¶U| f$[^`$yJc8tÏ��})adfg [^{w])qdtB¢ n ��[^���)qdt"]�`bt g ad|$ad[^} o ´�»)¸"±�®O³Õ�OµU¶U| f$[^`$yJc8tÏ��})adf$|g e�y8`$y g f$t�`,Ö�ÕL�IÖ ���i®^µU®bµ���½L±M®�|$f$[^` yJcUt���})asf |

Page 34: Professional Programmer's Guide to Fortran77 Clive G. Page

 �������<� ± ������Ã&Ä ± µ�² ±$ï �7����à ± ��� ± µ�µ ±m� � � >

�Ä}�fOe)t g yJ|$t=[J�§yU}XyU` `$yM_wf�e)tQ})��{"��t�`�[J�z|$f$[^`$yNcUt(��})adf$|Ï{"�)|$fª��tw{"�)qsf a¨])qdadtB���8_�f�e)t�f$[UfOyJq5}^��{"��t�`[J�ztBqdt�{"t�}Uf |Ia�}�fOe)t(yU`$`$yM_Uv �e)tw`btBq�yJf$ad[^})|�e)a�]Ó��tBfb��tBt�}XfOe)t�})��{"t�`ba g y8})� g e�yU`$y g f$t�`ª|$f$[^` yJcUt(��})adf$|(ad|���tBqda���t�`$yNf$tBqd_ ��})��tO¬�})tB�

��t g y8�)|$t(adfªas|�t�}Uf$a�`btBqd_�|$_^| f$t�{=�Ä��t�]�t�})��t�}8f�v

©Ra7GIe7N�u�GW:'N[2

�Lf�ad|I�)|���yNqsqd_+�ÄyJa�`bqd_ g qdt�yU`\�Ie)a g e+��yJfOy�fb_:]Át�f$[ g e)[)[U|$tª�L[^`zt�y g e+adf$t�{ a�}Xy"]�`b[Uc^` yU{ n f�e)[^�)c)e+f�e)t�`bt�yU`bt|$[^{�t(��[^`b��t�`�qsa�})t g yJ|$tB|ªyU{"[^})cwfOe)t�r@yU`bad[^�)|�yU`badf�e�{�tBf$a g ��yJf�y"fb_�]�tB|�v� e)t�}Ñ]�`b[ g tB|$|$a�})cÂ��yJf�y~�Ie)a g eky8`bt¾a¨}�e)t�`�t�}Uf$qd_Ña�}Uf tBcUt�`b| n |�� g eÑyJ|�fOe)tÊ})��{"��t�`+[J�"|$tBtB��|��Ie)a g e

cUt�`${�a¨}�yNf$tIa�}�t�y g e2])qd[Uf n [^`Ãf�e)tI})��{"��t�`Ã[J��]�e)[Uf$[^})|���tBf$t g f tB�2a�}�t�y g e�f$a�{"tªa�}Uf$t�`�r@yJq n adf�ad|�})[Uf�yJqd�\yM_)|g qdt�yU`z�ªe)tBf�e)t�`Ãf$[(�)|$t�a�}8f$tBcUt�`z[)`§`bt�yJq�y8`$`$yM_^|f$[=|$f$[^`bt�f�e)t�{ vÔ �e)tB_��Á[Uf�ew�)| t�f�e)t�|�y8{"tI{"t�{"[)`b_(|�]�y g t���)f�[^}�|$[^{�tQ{wy g e)a�})tB|(yJ����adf$ad[^})|Qy8})��|O���)f�`$y g f$ad[^})|(y8`bt��ÄyJ|$f$t�`�[^}�a�}Uf tBcUt�`b|�f�e�yU} [^}¨��[^yJf$a�})cJ��]Á[Ua�}Uf})��{Q�Át�`b|�v"�Ä}�]�` y g f$a g t n e)[J��tBrUt�` n yU}8_X|Oy�r)a�})cU| g yU}¾��t�|$��yJqdqs[J��tB����]�a�}¾f�e)tw��yNf�ywfb_�]�t g [)}UrUt�`�|$ad[^})|f�e�yJf�yU`�tÏ�)|���yNqsqd_X})t g tB|$|OyU`b_wa�}�|O���)|$t3Ô:�)t�}8fI]�`b[ g tB|$|$a�})c�và�e)t({wyJa�}+|�}�yJc"��adf�e+a�}8f$tBcUt�`b|�ad|�f�e)t�qda�{"adf$tB�`$yU})c8tU�U[^}"| [^{"t�{wy g e)a�})tB|�a�}8f$tBcUt�` [@r8t�`���[J��ad|�})[Ufz��tBf$t g f$tB�+�Ie)t�`bt�yN|<��[^yJf$a�})cJ��]Á[Ua�}Uf�[JrUt�`���[J��|z})t�yU`bqd_yJqd��yM_^|�]�`b[)��� g t"t�`$`b[^`�{"tB|$|OyJcUtB|�v���z_U[^��`§{�y g e)a�})t=|$f$[^`btB|Ãadf$|I`bt�yJq�r@yU`�a¨y8�)qstB|ªa�} �Uo ���)adf���[^`b��|Ãf�e)t�}+f�e)t�]�`bt g ad|$ad[^}�[N�ÔyU`b[^��})� j a�} j�p�×

ad|wqda ¤ tBqd_�f$[��Át�a¨}�yN��t3Ô:��yJf t2a�}Ó|$[^{�t�yU]�])qda g yJf$ad[^})|Mv� �e)ad|wa�{w]�`bt g ad|$ad[^}Òad|wt3Ô:�)adrJyJqdt�}Ufwf [Êy8}�t�`$`�[^`�[J�|$tBrUt�` yJq§]�t�} g t+a�}�y�{"adqdqdad[^}h]�[^��})��| n [)`�yU`b[^��})��f t�}�{"adqdqsad|$t g [)})��|wa�}�y+��yM_Uv2�Ð��t�`$`b[^`b|ª[J��f�e)ad|([)`b��t�`yU`bt=|$adc^})a�¬ g yU}8f�_U[^��|Oe)[^�)qd� g [)})|$ad��t�`��)|$a�})c�f�e)t(��[^���)qdt2]�`�t g as| as[)}¾fb_:]Át(a�})|$f$t�yJ�5vª �e)ad|���adqdq§})[^`${wyJqdqd_`btB��� g t�f�e)t�t�` `b[^`b|w�8_�yJf"qdt�yJ|$f2yU})[8f�e)t�`��Éy g f [^`�[J� j�p × v��¾ad¢)a¨})c~��yJf�y�fb_:]ÁtB|Qa�} g `bt�yN|$tB|2fOe)t�`bad| ¤ |w[J�{wy ¤ a�})cQ{"ad|$fOy ¤ tB|�y8})�wadf§ad|§[J�Lf$t�}"| a¨{�])qst�`�yU})��|�yM�Lt�`zf$[(�)|$tªf�e)t���[)���)qst�]�`bt g ad|$ad[^}�fb_:]Át�a�})|$f$t�yJ�+[J��`�t�yJqf�e�`b[)�)c^e)[^�)f�f�e)t(]�`�[Uc^`$yU{ n tBrUt�} f�e)[^�)c^e+f�e)ad|�{wyM_2�)|$t=|$qdasc)eUf$qd_X{"[)`bt({"t�{"[^`�_2yU})��]�`�[ g tB|$| [^`�f$a�{"tUv¦Iqdf�e)[^�)c)e2yU�)f [^{wyJf$a g fb_�]�t g [^}8rUt�`b|$ad[^})|�yU`btª]�`b[Jr^ad��tB�+�L[^`zf�e)t�yU`badf�e�{�tBf$a g fb_�]�tB|�a�}wtB¢�]�`btB|$|$ad[^})| n a�}

[Uf�e)t�` g yJ|$tB|z|�� g e+yJ|§]�`b[ g tB����`bt g yNqsqd|�adf§ad|�tB|$|$t�}8f$a�yJq)�L[^`zt�y g ewy g fO��yJq�yU`bc^��{�t�}Ufzf$[(e�yMrUt�f�e)t�|�yU{�t���yNf�yfb_:]ÁtQyJ|�f�e)t g [^` `btB|�]�[)})��a¨})c+����{w{=_XyU`bc)��{"t�}UfMv§�)a�} g t�]�`�[Uc^`$yU{ ��})asf |ÏyU`�t g [^{w])adqdtB�¾a�})��t�]�t�})��t�}8f$qd_ nadfIad|���aÜ g �)qdfª�L[^`�tBadf�e)t�`�f�e)t g [^{w])adqdt�`ª[^`�fOe)t�qsa�} ¤ t�`�f$[w��tBf t g f�fb_:]ÁtQ{"ad|�{wyNf g e)tB|�a¨} g yJqdqd|�f$["tB¢^f$t�` }�yJq]�`b[ g tB����`btB|�v

§y6�:�Øð2n/3.':ce�.F8�ex�1.�/3.ÌË�h�O<N�2¦ªqsfOe)[^�)c^e¾�)f�yU})��yU`��X��[)`bf�`$yU} [^})qd_�]�`b[Jr)ad��tB|�f�e)tQyU�Á[JrUt(|$ad¢���yJf�y�f�_�]�tB| n {wyU}8_�|$_^| f$t�{"|�]�`b[Jr^ad��twyJ�)���adf$ad[^}�yJq[^})tB|�vg�z[)��{wyM_ g [^{"t"y g `b[U|$|���yJfOy"fb_:]Át(}�yU{"tB|�|�� g e�yJ|�× � Tim � ü8ø[� ÿ ò n�� û)ú^ö m ö l ÿ = n l ö)ø[� ÿ ? nü T é k �8öi� ÿ ò�M n tBf g v� �e)t"}^��{"�Át�`�yM�Ðf t�`�f�e)t"yJ|$f$t�`�as| ¤ a�})��a g yJf$tB|�f�e)tw})��{Q�Át�`ª[J���8_^f$tB|ª[J�§|$f [^`$yJcUt(�)| tB��L[^`�t�y g e¾��yJfO��{ ÕLy��U_)f$t2�ÁtBa¨})cÓy�c^`b[)��]¾[J� m �)adf$|�Ö vX �e)ad|w})[Uf�yJf$ad[^}~e�yJ|Qy g t�`bf�yNa¨}Êqs[8cUa g ���)f(ad|"f$[J�f�yJqdqd_h})[^}8�Ä|$f�yU})��y8`b�5v� �e)tX�)| t�[J��y�f$t�` {�qda ¤ t�l ö)ø[� ÿ ? �Ie)t�}Óadfwad|w|$a�{w])qd_�y�|$_�})[^}U_�{��L[^`ES[T � � �8ökil ö�ü � � � T û |$tBt�{�|\]�y8`bf$a g �)q�yU`bqd_�]Á[Ua�}Uf qstB| |�v§ �e)t�`bt�yU`bt n [J� g [^��`�|$t n g a�` g ��{"| f�yU} g tB|��Ie)t�}�fb_:]ÁtB|§|�� g e+yJ|ü T é k �8öi� ÿ ò�M�yU`bt(})t g tB|$|�y8`b_����)f�f�e)tQ]�`ba g t=f$[w��tQ]�yNas��ad|If�e)t�qd[U| |I[J�z]�[^`bfOyU�)adqsadfb_UvO�ÃW× �«Í7Ñ�à9ÒdÅ'Ñ�Òpঠg [^})| f�yU}8f�e�yN|�y�rJyJq��)t��Ie)a g eÒas|=¬�¢)tB�h�Ie)t�}Óf�e)t�]�`b[Uc^` yU{�as|"�I`�asf f$t�}>v� �e)t���yJf�y�fb_�]�t+[J�ItBrUt�`b_g [^})|$fOyU}Uf�ad|=tBr^ad��t�}8f(�Ä`b[^{Ëadf$|��Ð[)`${�v"¦�`badf�e�{"tBf$a g+g [^})|$f�yU}8f$|(yJqd��yM_^|(�)| t2f�e)t"��t g a�{wyJq�})��{"��t�`(��yN|$tU×�)f�yU})��y8`b����[^`�f�`$yU}���[^tB|�})[Uf�|���]�]Á[^`bfª[Uf�e)t�`�})��{"��t�`���yJ| tB|�|�� g eXyJ|�[ g f�yJq>[^`�e)tB¢:yJ��t g a�{wyNqÐv¦Iqdf�e)[^�)c)e�y8`badf�e�{"tBf$a g(g [)})|$f�yU}8f$|I{wyM_+a�}Xc8t�})t�`$yJqze�y�r8t(ywqdt�yJ��a�})c�|$adc^}hÕL])q��)|ª[^`I{�a¨})�)|�Ö�f�e)t�`bt"yU`bt

|$[^{�t g a�` g ��{�|$f�yU} g tB|"a�}¾��[)`bf�`$yU} �Ie)t�}�yU}~��})|$adc^})tB� g [^})|$fOyU}Uf�ad|"`bt3Ô:�)a�`btB�5v+����f�e)t g [^})|$fOyU}Uf�ad|E?Bt�`b[

Page 35: Professional Programmer's Guide to Fortran77 Clive G. Page

 �������<� ± ������Ã&Ä ± µ�² ±$ï �7����à ± ��� ± µ�µ ±m� � �UÈ

f�e)t�}�yU}U_�|$adc^}�ad|ªasc)})[^`btB�5v

09:F/3Ni\FN�8yKE67:723/3.':F/�2 �e)t=cUt�})t�`$yJq>�L[^`${ [J�§yU} a¨}8f$tBcUt�` g [^})|$f�yU}8f�ad|�y"|$adc^}�ÕÉ])q¨�)|ª[^`�{�a¨})�)|�Ö\�Ð[8qsqd[J��tB���8_�y�|$f�`ba�})c+[J�Ô[)})t�[^`{"[^`�t(��adcUadf$|�v�¦ªqdqz[Uf�e)t�` g e�y8`$y g f$t�`b|"Õ�tB¢ g t�])f(�)q�yU} ¤ |�Ö�yU`�tQ]�`b[^e)a��)adf$tB�5v"����f�e)tQ})��{"��t�`ªad|(]�[U| asf asr8twf�e)t])q��)|I| asc)}�ad|I[)])f$ad[^}�yJqLv���t�`btQyU`�tI|$[){"t�tB¢:y8{w])qdtB|I[J�zr@yNqsad�¾a�}Uf tBcUt�` g [^})|$fOyU}Uf |�×9 ò ô)ô > = ô ; ò ô > ? ô @ M�Lf�ad|=t�yJ|$adt�`ªf$[�`bt�yJ��y+q�yU`bcUtw})��{Q�Át�`ªa��\adf$|���adcUadf$|"yU`bt"{wyU` ¤ tB�¾[��Óa¨}Êc^`b[^��])|ª[J��fOe�`btBtU×�f�` yJ��adf$ad[^}�yJqdqd_f�e)t g [^{w{�y�Õ�[^`ªa�}¾|$[^{�t g [)��}Uf�`�astB|=f�e)t"��[Uf�Öªad|(�)|$tB�¾�L[^`ªf�e)ad|"]���`$]�[U| tUvw �e)tw�)q¨y8} ¤Xg y8}���t2�)| tB��a�}f�e)t�|�y8{"t���y�_�a¨} ��[^`�f�`$yU}+]�`b[Uc^` yU{"|(ÕL���)fI})[Uf�a¨} ��yJf�y=¬�qdtB|�Ö ×9 ò ô)ô^ôÑô)ô^ôkô)ô)ô��[Uf$t(fOe�yJf�f�e)ad|(})��{Q�Át�` n yJqdf�e)[^�)c^e g [^}8�Ð[)`${"a�})c2f [2f�e)t"`$�)qdtB|I[N�§��[^`bfO`$yU} n {wyM_���t"f$[)[wq�yU`bcUt=a�}�{�yJcJ�})adf��)��t(f [2��t=|$f$[^`btB�XyN|\y8}�a�}Uf tBcUt�`�[^}+|$[){"t�|$_)|$f$t�{"|�v

¹ N|.Fu�KE67:723/3.':F/�2¦ `�t�yJq g [^})|$f�y8}Uf({"�)|$f g [^}8f�yJa�}¾y+��t g a�{wyJq�]�[Ua�}8f([^`�yU}ÊtB¢:]Á[^})t�}Uf�Õ�[^`ª��[UfOe�Öªf$[���ad|$f$a�})c^�)ad|�eÓadfª�É`�[^{[^})t=[J�§a�}Uf$tBc8t�`�fb_�]�tUv� �e)t=qstBf f$t�`w©å�z«+as|��)|$tB�¾a�}���[^`bfO`$yU}�f$[�`�t�]�`btB|$t�}8f2©$f a¨{�tB| j�p f$[wf�e)t"]�[J��t�`�[J�L«�v��[)`�tB¢:y8{w])qdt n f�e)t g [)})|$f�yU}8f j op� >�l j�p +�Ù ad|ª�I`badf$f$t�}�yN|w© j v ob� >|�� È «�v �e)t({"[U|$f�cUt�})t�`$yJq>�L[^`${ [J�§yw`bt�yNq g [)})|$f�yU}8f�as|M×

²B³ ·)´ ¼U³�·^³�½�² Þ ¼U³�·^³�½�² ö ²¥³�·^´ ¼8³ ·)³D½�²Ú ³�´�½L±�·^±M®4ÛÜ:µU®O½ Ú Ú ¼8±0�M³D¸"µU¶ÝÛu�µU®O½ Ú Ú ± ³ :¯U´�±�´�½ ÚÞ µ$µJ²B³V��Û�®b±OµU¶ÝÛ*�O¯U´�²B½LµU´�½ Þ Þ ± ³ �¯U´�±M´�½VÛ�²¥±,��½L³�¯U´ Þ

£Ã[Uf�eÒ|$adc^})|XyU`bt�[^])f$ad[^}�yJqL�(yÓ])q��)|�|$adc^}Âas|XyN|$|���{"tB�Ña���})[Ó|$adc^}Âad|X]�`btB|$t�}8f�v!�>t�yJ��a�})c ?Bt�`b[U|+a�}Ñf�e)ta�}Uf tBcUt�`���]�yU`bf�yU})�¾a�}�f�e)t"tB¢:]Á[^})t�}Uf�yU`bt"adc^})[^`�tB�5v � adf�e)t�`�fOe)tQa�}8f$tBcUt�`�]�yU`�f�[^`�f�e)t"��t g a¨{�yJq§]�yU`bfI{�y�_��tª[^{"adf$f tB�2a���adf�ad| ?Bt�`�[Q���)f�[^})t�[^` f�e)tª[Uf�e)t�`§{"�)|$f���t�]�`btB|$t�}8f�v§�Ð��f�e)t�rJyJq��)t�[J�5f�e)tItB¢�]�[)})t�}Uf�ad|�?Bt�`b[f�e)t�t�}8f$a�`bt(tB¢�]�[)})t�}Uf�| t g f$ad[^}X{wyM_2�Át([^{�asf f$tB�X]�`b[Jr^ad��tB�¾y"��t g a�{wyJq�]Á[Ua�}Ufªad|Ï]�`btB| t�}Uf�a�} f�e)t(}^��{"�Át�`Bv �e)t�`bt�ad|Ï})[+e�yU`${Îa�}�c8asr)a�})c�{�[^`btª��t g a¨{�yJq���adcUadf$|ªa�}Xy"`bt�yJq�Õ�[^`Ã��[^���)qdtQ]�`bt g ad|$ad[^}�Ö g [)})|$f�yU}8f�f�e�yU}

f�e)t g [^{w]��)f$t�` g yU}Ó{wy ¤ t2�)| tw[J�$×(f�e)t+r@yNq¨�)t���asqdq���t g [^`$`�t g f$qd_Ê`�[^��})��tB���U_¾f�e)t g [^{w]��)f t�`(yU})�Óf�e)ttB¢)f�`$y"��t g a�{wyJq])q¨y g tB|Iadc^})[^`�tB�5v��t�`bt"yU`bt�y=�LtB�ktB¢:y8{w])qdtB|I[J�zr@yNqsad��`bt�yJq g [^})| f�yU}8f$|�×Þ ô 9 ò ôÃÞ ò ö�A ; ò =<AÃÞ >[ô�M ö > Þ�ô)ô^ô)ô)ô ò

�(yU})cUqda�})c(��t g a�{wyNq�]�[8a¨}8f$| n f�e)[^�)c^e�]�t�`${"adf$f tB� n yU`bt�t�yJ| asqd_w[JrUt�`�qs[)[ ¤ tB� n y8})�wadf§ad| g [^}8rUt�}8f$ad[^}�yJq�f$[�| f�yU}8���yU`b��a@?Bt g [)})|$f�yU}8f$|a¨}=tB¢�]�[^})t�}8f$a�yJq�})[UfOyJf$ad[^}=|$[ªf�e�yJff�e)t�`bt�ad|z[^})qd_([^})t���adcUadf��ÁtO�Ð[^`�t�fOe)t§��t g a�{wyJq>]�[Ua�}8f�v��|$a�})c2f�e)ad| g [)}UrUt�}8f$ad[^} n fOe)tB|$t(rJyJq��)tB|I��[^�)qd�Xqd[)[ ¤ qsa ¤ t=f�e)ad|�×

ô§Þ ô 9 ò ôÃÞ�ô ò ô)ô^ôÃÞ�ô ò Þ�=<A >�ô<M ö M ò ÞbôUö�9 M

�167a7t<uvN�XM89N�HpGI2�Gs67:"KM67:723/3.':]/�2¦!��[^���)qdtQ]�`�t g as| as[)} g [^})|$f�y8}Uf�e�yJ|�y"|$a�{"adq�yU`��L[^`${Îf$[+yw`bt�yJq g [)})|$f�yU}8f����)fIadf�{Q�)| f g [^}8f�yJa�}XyU}+tB¢�]�[N�})t�}8fQ���)f(�)|$a�})cXfOe)twqdtBf$f$t�`+©$��«�a�}�])q�y g t+[J��«i�z«�tBrUt�}�a���f�e)twtB¢�]�[^})t�}8f(ad|M?Bt�`�[�vQ�)[){"twtB¢�yU{w])qdtB|([J���[^���)qdtQ]�`�t g as| as[)} g [)})|$f�yU}8f$|IyU`�tU×AÃÞ òi>cò9ô ó<= M|ô A ô ?)ó<?�@ S ô ò Þbô S 9 ò = 9�A§Þ M|ô = ô<M)>|S ;)ô<=

Page 36: Professional Programmer's Guide to Fortran77 Clive G. Page

 �������<� ± ������Ã&Ä ± µ�² ±$ï �7����à ± ��� ± µ�µ ±m� � � B

KM6�^ O<uvNi�"KM6�:c2n/3.':F/�2

¦ g [^{w])qdtB¢ g [^})| f�yU}8f(e�yJ|�f�e)t"�L[^`${ [J��fb��[X`bt�yJqz[^`ªa�}8f$tBcUt�` g [^})|$f�yU}8f$|�|$t�]�y8`$yJf$tB���8_�y g [^{w{wy�yU})�t�} g qd[U|$tB�Óa�}�y�]�yJa�`ª[J�\]�y8`bt�}UfOe)tB|$tB|�vw �e)t=¬�`b|$f(})��{"��t�`�as|=f�e)tw`bt�yJq g [^{�]�[^})t�}8f(yU})�¾f�e)tw|$t g [)})��f�e)ta�{wyJcUa�}�yU`�_ g [^{w]�[)})t�}Uf�vÃ�)[^{"t�tB¢�yU{w])qdtB|I[N��r@yJqdad� g [^{w])qdtB¢ g [^})|$fOyU}Uf |IyU`btU×þ0AÃÞ òi> �ß9 ô Þ M @ � þ,; ò ö ô �$ô§Þ ò = ô � þOôg�$ô � þ,9^ôÃÞ�ó)ó)óg�4=§Þ�@ ò ?8ö ò9ô �

fg6]\)GIH�.FuªKM67:723/3.':F/�2 �e)t�`bt"yU`bt=[^})qd_Xfb��[�]Á[U|$|$a��)qdtwqd[UcUa g yJq g [^})|$fOyU}Uf | n yU})�¾f�e)tB_XyU`�t�tB¢:]�`btB| |$tB��yJ|�× ÞÄú l ��ö�Þ yU})� Þ�ï^ø�� � ö�Þ �e)t=��[Uf$|�yJfIt�y g e t�})�Êy8`btQ})tBtB��tB�¾f$[+��ad|$f$a�})c^�)ad|�e¾f�e)tB| tQ|O]�t g a�yJq�L[^`${"|��Ä`b[^{ f�e)t=��[)`b��|I �Q����kyU})���¦��5��� n �ªe)a g e g [)�)qs�¾��t"�)|$tB��yJ|�|$_:{"�Á[Uqda g }�yU{"tB|�v

K5,'.F89.FH�/3N[8�KE67:723/3.':F/�2

¦ g e�yU`$y g f$t�` g [)})|$f�yU}8f g [)})|$ad|$f$|z[J��yª|$fO`ba�})c�[J� g e�y8`$y g f$t�`b|t�} g qd[U|$tB�wa�}wyª]�yJa�`z[N��yU]�[U| f�`b[^]�e)tB|�Ie)a g e�y g fyJ|gÔ��)[Uf�yJf as[)}Q{�yU` ¤ |�v � adf�e)a�}"f�e)t�Ô��)[Uf$tB�w|$fO`ba�})c(yU}U_ g e�y8`$y g f$t�`b|zyMr@yJadq�yU�)qdtªa¨}�f�e)t g e�yU` y g f$t�`|$tBfz[J�>f�e)t{wy g e)a�})twyU`btQ]Át�`${"adf$f$tB�5��f�e)t"�)q¨y8} ¤ Õ�[^`\|�]�y g t�Ö g e�yU` y g f$t�`�as|ª|$adc^})a�¬ g yU}8f���adf�e)a�} g e�yU` y g f$t�` g [^})|$f�yU}8f$|yU})� g [^��}8f$|IyN|Iy"|$a�})cUqdt g e�y8`$y g f$t�`�Á$�)|$f�qda ¤ tQyU}8_+[Uf�e)t�`Bv�� ¢:y8{w])qdtB|�[J�zr@yJqdad� g e�yU` y g f$t�` g [^})|$f�y8}Uf$|ªyU`btU×

� � �� > ô:; ò9ô 7 �� úUØ5ò8ßðò8ß à&äUëNî�ßJÙ:àNî�Ù�ò î�ä)â�å�ñ�òBî�è&ß�Ú�à�ä)ã)ß � �e)tQyU]Á[U|$f�`�[^]�e)t g e�yU`$y g f t�` g yU}���t"a�} g q��)��tB��a�}¾y g e�yU`$y g f$t�` g [^})|$fOyU}Ufª�U_X`bt�]�`�tB|$t�}Uf a¨})c�adf�yJ|ªf���[

|�� gBg tB|$| asr8t�y8]�[U|$fO`b[^]�e)tB|QÕ���asfOeX})[wa�}8f$t�`brUt�})a�})cX�)q�yU} ¤ |�ÖBv� �e)ad|�]�yJa�`�[J�§yU]Á[U|$f�`b[)]�e)tB|�[^})qd_ g [^��}8f$|ÏyN|Iy|$a�})cUqdt g e�yU`$y g f$t�`�L[^`Ãf�e)t(]���`$]Á[U|$tB|�[J� g [^{�]��)f$a�})cwf�e)t�qdt�})cUf�e+[J�f�e)tI| f�`ba�})c�vz��[^`ÃtB¢:yU{�])qstU× � S�T û ��� ú �ad|Ïy g [^})|$f�yU}8f�[J�zqst�})c8f�e È v

O�ÃIÝ ØgÎ�ËFè�Úáà È�Ú�ÑgÞYÉ�Å]ÒpÅEDEÈ�Î�Ë �e)t2]�`�t g tB��a¨})c�`$�)qdtB|=t�})|���`btwf�e�yNf�f�e)t"��yJf�y+fb_:]Átw[J��yU}�qsadf$t�` yJq g [^})| f�yU}8f�as| g [^{w])qdtBf$tBqd_¾��tBf$t�`${"a�})tB��8_�adf$|ª�L[^`${ vw�)a¨{�asq�yU`�qs_Óf�e)t"��yJf�y+fb_�]�tw[N�\yU}¾tB¢�]�`btB|$| as[)}¾��t�]�t�})��|w[)}XfOe)tw[^]�t�` yU})��|QyU})�~[^]�t�`$yNf$[^`b|a�}Ur8[UqdrUtB�5vQ �e)twa�}Uf�`�a¨})| a g �Ä��} g f$ad[^})|QyU`�tQyJqd|$[Xy+|�]Át g a�yJq g yJ| t n |$a�} g t2f�e)tBa�`�]�`b[)]�t�`bf$adtB| n a�} g q¨�)��a�})c�fOe)tBa¨`��yJf�yªfb_�]�tB| n y8`bt ¤ })[J�I}=f$[ªf�e)t g [^{w])adqdt�`BvæIqdq�[Uf�e)t�`fb_�]�tB�"[^�iÁbt g f$|za�}wyª��[^`bf�`$y8}(]�`b[Uc)`$yU{&yU`bt�`btO�Lt�`$`btB�f$[I�8_�|$_�{"��[Uqda g }�yU{"tB|Mv� �e)t�`$�)qdtB|zcUadrUt�}"e)t�`bt�yU]�])qd_=f$[IyJqdq)[J��f�e)tB|$t�}�yU{"tB�([)�iÁ�t g f |�×5rJyU`ba�yU�)qdtB| n yU`$` y�_)| n}�yU{"tB� g [)})|$f�yU}8f$| n |$f�yNf$t�{"t�}8f§�Ä��} g f$ad[^})| n yU})��tB¢)f$t�`$}�yJq��É��} g f$ad[^})|Mv�Ä}w{wy8}U_"]�`b[Uc^`$y8{w{"a�})cIq�yU})c)��yJcUtB| n tB|�]�t g a�yJqdqd_2fOe)[U|$t�a�}"f�e)t�¦IqdcU[8q)�ÉyU{�asqd_ n f�e)t���yJf�y�fb_:]Át�[J��yJq�{"[8|$f

tBrUt�`b_"adf$t�{ a�}wfOe)tI]�`b[Uc^` yU{ e�yJ|Ãf$[(��tª|�]Át g a ¬�tB��tB¢:])qda g adf$qd_Uv���yU}U_w]�`b[8c^`$yU{w{�t�`b|§`btBc^yU`��Qadf�yJ|�y g e)[^`btf$[�e�yMrUt+f$[�]�`�[@r)ad��t�yJqdq�fOe)tB|$tXfb_�]�t�|�]Át g a ¬ g yNf$ad[^})| n yNqsfOe)[^�)c^eÓf�e)tBa�`+]�`btB|$t�} g tX��[)tB|�{wy ¤ t�adf2`$yNf�e)t�`t�yJ|$adt�`\�Ð[)`§fOe)t g [^{w])adqdt�`ªf$[w��tBf$t g fI{�as| f�y ¤ tB|�v�Ä}¾��[^`bf�`$y8}+_U[^� g yU}�|�]�t g a��L_¾��yJf�y�f�_�]�tB|�tB¢�])qda g asf qs_Óa�}¾y+|$a�{"adq¨y8`���yM_X�U_¾�)|$a�})c�f�_�]�t"|$fOyJf$t�{"t�}8f$| n

���)f���[^`bf�`$y8}2yJqd|$[�{wy ¤ tB|�qda��LtQt�yN|$adt�`I�8_�e�yMr)a�})c g t�`bf�yJa�} ��tO�ÉyU�)qdfªfb_:]ÁtB|�v§ �e)t=��yJf�y=fb_:]Át([J�Ôy8}U_+[^�iÁbt g f�Ie)a g e�e�yJ|Q})[8f(��tBt�}¾��t g q�yU`btB�Óa�}�y+fb_:]Átw|$f�yNf$t�{"t�}8fI��t�]Át�})��|Q[)}XfOe)t"¬�`b|$f�qdtBf$f$t�`ª[N��adf$|Q}�y8{"tUvQ �e)t��tO�ÄyU�)qdfÏ`$�)qdtB|�yU`btU×

Page 37: Professional Programmer's Guide to Fortran77 Clive G. Page

 �������<� ± ������Ã&Ä ± µ�² ±$ï �7����à ± ��� ± µ�µ ±m� � � Ç

�za�`b|$f�qdtBf$f$t�`\[J�ÔfOe)t(}�yU{"t �Ä{�])qsa g adf(fb_�]�t¦�f [«� Q�� ¦Ï��Ãf$[w� �Ä�ª ��ÃuM��QÅ!f$[�F Q�� ¦Ï�

��[8|$f�]�`b[8c^`$yU{"|�{wy ¤ tªtB¢)f$t�})|$adrUt(�)|$tª[J��a�}8f$tBcUt�`�yU})�X`bt�yJq�[^�iÁbt g f$| n |$[=f�e)tB|$t���tO�ÄyU�)qdf�r@yJq��)tB|I`�tB��� g tf�e)t(})��{"��t�`�[J�f�_�]�t�| f�yJf$t�{"t�}8f$|�f�e�yJf�yU`�t(`bt3Ô:�)a�`btB� n ]�`b[Jr^ad��tB�X|O�)asfOyU�)qdt(a�})adf$a�yJq�qdtBf$f t�`b|IyU`bt g e)[U|$t�}��L[^`f�e)t�|$_�{"��[Uqda g }�yU{"tB|�v �e)t"¬�`b|$f��ÄqstBf f$t�`�`$�)qdt g yU}¾yJqd|$[¾��t g e�yU})cUtB�¾f�e�`b[)�)c^e)[^�)f(y�]�`b[Uc)`$yU{Ë��})asf"�U_��)|$a�})c¾yU} � é k � � ü � ú

|$f�yNf$t�{"t�}8f n ��tB| g `ba���tB����tBqd[J�(v

Ë�h�O<N�_)/3.�/3N]^�N]:F/�2 �e)t�`bt�yU`btª|$ad¢+��a��5t�`bt�}8f�fb_:]ÁtI|$fOyJf$t�{"t�}8f$| n [^})t��L[^`Ãt�y g ew��yNf�y�fb_�]�tUv§��}+f�e)tBa�`§| a¨{�])qstB| f��Ð[)`${ f�e)tB_$Á$�)|$fg [^})|$ad|$fÃ[J�5f�e)t�yU]�]�`b[^]�`ba�yJf t���yJf�yM�Äfb_�]�t ¤ tB_^��[^`b�=�L[Uqdqd[@��tB�2�8_2yªqdad|$f�[J�5|$_�{Q�Á[Uqda g }�yU{"tB|�v��[)`tB¢:yU{�])qstU×

� û^ú)ö m ö l ø m ö�� mpl ø S ö� T|m � üUø�� � � k ö ll ö^ø�� l ø)ú^ö��Xý T � l[� � k ø � ��ú)øi��� � û � � l ö

�Ä}�f�e)ad|�tB¢�yU{w])qdtªf�e)t�¬�`b|$fz�L[^��` asf t�{"|���t g q¨y8`btB��f$[(��t(`�t�yJq���[^�)qd��e�yMrUtIe�yN�2f�e�yNf§fb_:]ÁtIyU}8_^��yM_we�yJ�f�e)t���tO�ÄyU�)qdfÏ` �)qstB|���tBt�} qdtO�Ðfªf$["[^]�t�` yJf$tUv§Z�[)}8¬�`${wyJf$[)`b_wfb_:]Át�|�]�t g a�¬ g yJf as[)}X��[)tB|�})[2e�yU`${�v �e)t�`bt�ad|Ô})[�qda�{"adfzf$[ªf�e)t�}^��{"��t�`¡[J��fb_�]�t§| f�yJf$t�{"t�}8f$|f�e�yJf g y8}Q�Át��)|$tB�w���)fÔyª}�yU{"t�{Q�)| fÔ})[Ufze�yMrUt

adf$|§fb_�]�t�|�]Át g a ¬�tB��tB¢�])qda g asf qs_�{"[^`�t�f�e�yU}=[^} g t�a�}wy=]�`b[Uc^` yU{���})adf�và§_�]�t�|$f�yJf$t�{�t�}Uf$|z{"�)|$f§]�`bt g tB��t�yJqdqtB¢)t g �)f�yU�)qdt(|$fOyJf$t�{"t�}8f$|§a�} f�e)tÏ��})adf���adf�ad|�cU[)[^��]�`$y g f a g t n f�e)[^�)c^e�})[Uf�tB|$| t�}Uf$a�yJq n �L[^`Ãf�e)t�{Îf [�]�`�t g tB��t[Uf�e)t�`ª|O]�t g a�¬ g yJf$ad[^}Ó|$fOyJf$t�{"t�}8f$|(`btO�Lt�`$`ba�})cXf [�f�e)tw|�yU{�t�}�y8{"tUv2 Ã_�]�tw|$fOyJf$t�{"t�}8f$| g yU}��Át2�)|$tB��a�}Óy|�����]�`b[8c^`$yU{ f [�|O]�t g a��Ð_Âf�e)t�fb_:]ÁtB|w[J��f�e)t�����{w{=_hyU`bc^��{"t�}8f$|2y8})� n a�}�y8}ÓtB¢^f$t�` }�yJq��Ä��} g f$ad[^} n f�e)tfb_:]ÁtI[N��f�e)tª�Ä��} g f$ad[^}�yJ|§��tBqdqLv� Ã_�]�t�|$fOyJf$t�{"t�}8f$|��8_wf�e)t�{�|$tBqdrUtB|Ie�yMrUt�})[Qtå�5t g f�[^}�a�}Uf�`�a¨})| a g �É��} g f as[)}}�yU{"tB|ª���)f�adfIad|�})[Uf�y"cU[)[^��ad��t�y�f$[2�)|$t�f�e)t�{ a�}�f�e)ad|���yM_Uv �e)t ü8ý)ø l ø:ü8ú)ö l�|$f�yJf$t�{�t�}Uf=as|"|$qdadc^e8f$qd_���a�5t�`bt�}8f=�É`b[){ f�e)t+[Uf�e)t�`b|"��t g yU�)| t�asf"yJqd|$[¾|�]�t g a�¬�tB|+f�e)t

qdt�})cUf�e¾[N�§t�y g e g e�yU`$y g f t�`ªasf t�{ n aLvÍtUv>f�e)t2})��{"��t�`ª[J� g e�yU` y g f$t�`b|ªadf(e)[Uqd��|�vQ �e)twqdt�})cUf�e g yU}��ÁtQc8asr8t�}|$t�]�yU` yJf$tBqd_w�L[^`�t�y g e+adf$t�{ n f�e^�)|M×

ü8ý^ø l ø:ü8ú^ö l û^ø)é)ö ÿ ò�ô � � ú l ö^ö)ú ÿ A)ôg�+ú Tb� û ÿ =^ô�� k ü TpS ö ÿ @¦ªqsf t�`$}�yJf$adrUtBqd_ n a��I|$tBrUt�`$yNqzasf t�{"|QyU`�tQf [Xe�y�r8twf�e)t"|�yU{"t�qst�})c8f�e n y+��tO�ÉyU�)qdf=qst�})c8f�e¾�L[^`ªf�e)t�|$f�yJf$t�{�t�}Ufg yU}��Át(cUadrUt�}�yJf�f�e)tQ�ÁtBcUa�}�})a¨})c�×

ü8ý^ø l ø:ü8ú^ö l ÿ =)ô � ú^ø l � m ø��8ø|� � ��ü T é)ö^ú ÿ > � k �8ø)û^ö)ú �e)ad|w��t g q�yU`btB|+f�e)tX}�yU{�t ü T é^ö)ú f$[�e�yMrUt�y�qst�})c8f�eh[J��> g e�y8`$y g f$t�`b| n �ªe)t�`bt�yJ|«� ú^ø l � m ø��Uøi� � n yU})�k �Uø)û^ö)ú yU`bt§yJqdq oUp g e�yU` y g f$t�`b|5qd[^})c�vÔ�Ð��f�e)tzqdt�})cUf�e=ad|Ô})[8f5|�]�t g a�¬�tB�2yNf�yNqsq)adf���tO�ÄyU�)qdf$|f$[�[^})tUv �e)t§qdt�})cUfOeg yU}�yNqs| [���t+|�]Át g a ¬�tB���8_�{"t�yU})|=[J�\y�}�yU{"tB��a�}8f$tBcUt�` g [)})|$f�yU}8f�[^`(y8}¾a�}Uf$tBc8t�` g [^})|$fOyU}Uf�tB¢�]�`btB|$| as[)}t�} g qd[U|$tB�¾a�}X]�yU`�t�}Uf�e)tB| tB|�vz��[)`§tB¢�yU{w])qdtU×

k ø l ø^é)ö^ú)ö l þ û)ö|�)ú õ ò9ô �y�Uø � ú õ ?^ô �üUý)ø l ø�üUú)ö l ú)öi�^ú ÿ þ û)ö|�)ú�;i�8ø � ú �

��[Uf t�f�e�yJf�f�e)t(qdt�})cUfOe�[J�Ôy g e�yU` y g f$t�`�adf$t�{Îad|�¬�¢^tB�¾yJf g [^{w])adq�yJf$ad[^}�f$a�{"tUv§ �e)t�|�]�t g a�yJq¡�Ð[)`${�×ü8ý^ø l ø:ü8ú^ö l û^ø)é)ö ÿ þ ÿ��

ad|§]�t�`${�asf f$tB�"a¨}=fb��[ g yJ|$tB|�×��Ð[^`}�yU{"tB� g [^})|$f�y8}Uf$|¡f�e)t§qdt�})cUf�e=[J��fOe)t§qdadf$t�`$yJq g [^})| f�yU}8f5a�}(fOe)t�k ø l ø^é)ö)ú^ö l|$f�yNf$t�{"t�}8fzas|��)|$tB�¾Õ�|$t g f$ad[^} È v�>^Ö �M�Ð[^`����{�{(_+yU`bc^��{"t�}8f$|z[J��]�`b[ g tB����`btB|�f�e)t�qdt�})cUfOew[J�>f�e)t�yJ|$|$[ g a�yJf$tB�y g f���yNqNy8`bc^��{"t�}8f5ad|Ô�)| tB��Õ�|$t g f as[)} l v È ÖBv5 Ã_�]�tÃ|$f�yJf$t�{�t�}Uf$| g yU}�yNqs| [Ï�Át��)|$tB�=f$[���t g q¨y8`bt�f�e)tz��a�{"t�})|$ad[^})|[J�§yU`$`$yM_)|�×5fOe)as|ªad|I��tB| g `ba���tB�¾a�}�|$t g f$ad[^} È v�B�v

Page 38: Professional Programmer's Guide to Fortran77 Clive G. Page

 �������<� ± ������Ã&Ä ± µ�² ±$ï �7����à ± ��� ± µ�µ ±m� � �Um

� é k � � ü � ú _'/3.�/3NF^JN]:F/ �e)t � é k � � ü � ú |$f�yJf t�{"t�}Uf g yU}(�Át\�)| tB�Qf [ g e�yU})cUtÃf�e)tz¬�`b| fb�ÄqdtBf$f$t�`¡��tO�ÉyU�)qdf§`$�)qdt�f�e�`b[)�)c^e)[^�)fzyI]�`b[8c^`$yU{��})adf�vÃ��[^`ÃtB¢�yU{w])qdtU×

� é k � � ü � ú S�T � � �Uö kil ö�ü � � � T û þ S � ��9 ¢ � � � û^ú)ö m ö l þ$û�9 k ���[^�)qd�Q{"t�y8}(fOe�yJf�yJqdq�}�yU{"tB||$f�yU`bf a¨})cª��adf�e�f�e)t§qdtBf$f$t�`�|�� n � n � n [^`ZFw��[^�)qd��ÕL��})qdtB|$|z��t g q�yU`btB�w[UfOe)t�`b��ad|$ta�}+fb_:]ÁtI|$fOyJf$t�{"t�}8f$|�ÖÃe�y�r8tIf�e)tªfb_:]ÁtI��[)���)qst"]�`bt g ad|$ad[^}>v��)a¨{�asq�yU`�qs_�fOe)t�qstBf f$t�`b|��zf�e�`�[^�)c^ewx n a�})|$f$t�yJ��[J�Á$�)|$f��f�e�`�[^�)c^ew� n ��adqdq>a�{w])qd_2a�}8f$tBcUt�`Ãfb_:]ÁtUvÔ �e)tI[UfOe)t�`zqdtBf$f$t�`b|(Õ�¦���Z n �Ô� � n y8})��Õ�� � Öz��asqdq>|$f$adqdq>a�{w])qd_`bt�yJq¡f�_�]�tUv� é k � � ü � ú g yU}��ÁtQ�)|$tB����adf�e g e�yU`$y g f t�`§fb_�]�t�f$[�|�]�t g a��L_Xy"��tO�Éy8�)qsfªqdt�})cUf�e�yJ|���tBqdq n �L[^`ÃtB¢:yU{�])qstU×

� é k � � ü � úkü8ý^ø l ø:ü8ú^ö l ÿ ò ô^ô þ�ü�� ¢ � �XüUý)ø l ø�üUú)ö l ÿ > þ � �£��)fIfOe)as|�as|�})[Uf��)|���yJqdqd_�[J�§{Q� g eX]�` y g f$a g yJq5rJyJq��)tUv�¦I|���asfOe�fb_:]Át(|$fOyJf$t�{"t�}8f$| n f�e)t���tO�ÄyU�)qdf g e�yU`$y g f$t�`qdt�})cUf�e as|ª[^})tUv��[)`btIfOe�yU}+[^})t � é k � � ü � ú | f�yJf$t�{"t�}8f g y8}���tQ�)| tB��a¨}�yw]�`b[Uc)`$yU{ ��})adf����)f�f�e)t�|�y8{"tIqdtBf$f t�`�{"�)|$f

})[Uf�e�yMrUtªasf |�a�{w])qdastB�¾fb_�]�t�|�]Át g a ¬�tB��{"[)`btIfOe�yU}w[)} g tUv� �e)t��)|���yJq¡��[^`bfO`$yU}"a�{w])qdadtB�)�Äfb_:]Át2`$�)qdtB|IyU]�])qd_f$[IyNqsq)a�})adf$a�yJq�qdtBf$f$t�`b|z})[Ufqsad|$f tB�Qa�}"yU}8_ � é k � � ü � ú |$fOyJf$t�{"t�}8f$|�v �e)t§qdad|$f[J��qdtBf$f$t�`b|cUadrUt�}(y@�Ðf$t�`¡t�y g e�fb_�]�t{"�)|$fzyU]�]�t�yU`a�}wyNq¨]�e�y8��tBf$a g yJq�[^`b��t�`Bv � é k � � ü � ú |$f�yJf t�{"t�}Uf |�})[^`${wyNqsqd_w]�`bt g tB��tIyNqsq)[Uf�e)t�`|O]�t g a�¬ g yJf$ad[^}|$f�yNf$t�{"t�}8f$|Ia�}Óy�]�`b[Uc^` yU{�v" �e)t�`btwad|([)})tQtB¢ g t�])f$ad[^}~f$[�f�e)ad|�×$k ø l ø)é^ö)ú)ö l�|$fOyJf$t�{"t�}8f$|({wyM_�]�`�t g tB��tf�e)t�{Æ]�`�[@r)ad��tB�¾f�e�yJf�f�e)t g [)})|$f�yU}8f$|�}�yU{"tB��a¨} f�e)t�{ËyU`bt(})[UfIyr��t g f tB�X�U_+f�e)t � é k � � ü �  �| f�yJf$t�{"t�}8f�v��[Uf$twf�e�yNf�����{w{=_Êy8`bc^��{"t�}8f$|(yU})�~�É��} g f as[)}�}�yU{"tB|"{wyM_Ê�Át�yr��t g f tB�Ê�8_�y�|����)| t3Ô:�)t�}8f � é k � � ü � ú|$f�yNf$t�{"t�}8f�v � é k � � ü � ú |$f�yNf$t�{"t�}8f$|�e�y�r8t(})[wtå�5t g f�[^}+a�}UfO`ba�})|$a g �Ä��} g f$ad[^}�}�yU{"tB|�v

©Ra7GIe7N�u�GW:'N[2 �e)t�`bt+yU`bt"fb��[���a�yU{�tBf�`ba g yJqdqd_�[^]�]�[8|$tB��| g e)[^[8qs|=[J��f�e)[^�)c^e8fª[^}¾fb_:]Átw|�]Át g a ¬ g yNf$ad[^}>v� �e)t"¬�`b|$f(e)[8qs��|f�e�yJf�yJqdq5}�yU{"tB|�|�e)[^�)qd�Xe�yMrUt�f�e)tBa�`�fb_:]ÁtB|�|�]�t g a�¬�tB�¾tB¢:])qda g adf$qd_UvI �e)ad| g t�`�f�yJa�})qd_�e)tBq�])|�]�`b[Uc^`$y8{w{"t�`b|Ãf$[yMrU[Uad��{"ad|$fOy ¤ tB| n ��t g yU�)|$t+f�e)tB_�e�yMrUtwf$[�fOe)a¨} ¤ {"[^`bt g y8`btO�É�)qdqd_�yU�Á[^�)f(t�y g e¾adf$t�{ v��ÉfQyJqd|$[¾e)tBq�])|wf�e)tg [^{w])adqdt�`�f$["��a�yJc^})[8|$tIt�` `b[^`b|�{"[^`btªt�yJ|$adqd_ n tB|�]Át g a¨yNqsqd_�a �zf�e)tªadf ¤ })[J��|§fOe�yJf�yJqdq�}�y8{"tB|�yU`btªcU[Ua�})c"f$[Q�Át��t g q�yU`btB��a�}¾yJ��rJyU} g tUv(�)[^{"t=��[^`�f�`$yU} g [^{w])adqdt�`b|(yJqdqd[@� y�|$f�yNf$t�{"t�}8fI[J�§fOe)t��L[^`${ © � é k � � ü � úÑû T û)ö «�Ie)a g e�{�y ¤ tB|�yJqdqÔ}�yU{�tB|Ifb_�]�tBqdtB|$|(�8_���tO�ÉyU�)qdf(yU})�¾|$[+`bt3Ô:�)a�`ba�})c�tBrUt�`b_X}�yU{"t=f$[���t"tB¢:])qda g adf$qd_�fb_:]ÁtB�5vŪf�e)t�`b|�e�yMrUtQy g [^{w])adqdtO�Äf$a�{"t+|$��adf g e���adf�e�f�e)t=|�yU{"t=tå�5t g f�vI�Ð��_U[^��`�|���[^tB|(})[8fI_U[)�X{wyM_���twyU�)qdt"f$[]�`b[)��� g tQy"| a¨{�asq�yU`�tå�5t g fI�8_��)|$a�})c+|$[^{"tBfOe)a¨})c+qda ¤ tU×

� é k � � ü � úkü8ý^ø l ø:ü8ú^ö l ÿ ò ô^ô)ô)ô^ô)ô¼þ$ø�9 ¢ �})t�yU`�f�e)t���tBcUa�}�})a�})c�[N�(t�y g eÂ]�`b[Uc^` yU{ ��})adf��Ie)a g eÂas|�qda ¤ tBqd_Ñf$[ g yU�)| tÊy8}ht�`$`b[)`"�L[^`+yU}U_)f�e)a�})ch})[UftB¢�])qsa g adf$qd_¾fb_:]ÁtB�5v§Å�})t(��ad|�yJ��rJyU}8f�yJcUt�[J�zf�e)t(]�`$y g f$a g t�[J�Ô��t g q�yU`�a¨})c�yJqdq�}�yU{�tB|�a�}XyJ��rJyU} g t(ad|�f�e�yNf�f�e)t]�`b[Uc)`$yU{&{wyM_(��t g [^{"t�|$[ g q��)f$f t�`btB�w��adf�e=|�]Át g a ¬ g yNf$ad[^}w| f�yJf$t�{"t�}8f$|5fOe�yJf�adf�{wyM_�[^�)| g ��`bt�adf$|z|$f�` � g f���`btyU})�XyJqdcU[)`badf�e�{�v �e)t�yJqdf$t�` }�yJf$adrUtX��yM_�[J�(��[^` ¤ a�})c�ad|+f$[�{wy ¤ tX{wyJ¢)a¨{"��{ �)|$tX[N�Ïa�{w])qda g adfXfb_:]ÁtB|2f [�`btB��� g t¾f�e)t

})��{Q�Át�`Ã[J�5|$f�yJf$t�{�t�}Uf$|Mv� �e)ad|�{"t�yU})| n [J� g [^��`b|$t n f�e�yJfÃf�e)t�¬�`b|$fÃqdtBf$f$t�`Ã[J�5t�y g ew}�yU{"t�e�yJ|§f [(��t g e)[U| t�}f$[+|��)adf�f�e)t(fb_�]�t n qdt�yMr^a�})cX})[X{"[)`bt(f�e�y8}+¬�rUt"f$[���t g e)[U|$t�} �É`�tBtBqs_>×�fOe)as|({�y ¤ tB|ªasf(e�y8`b��t�`�fOe�yU}�tBrUt�`f$[���tBr)ad|$t2{"t�yU})a�})cJ�Ä�)q§| _:{"��[8qsa g }�y8{"tB|�v=¦I|"y�`btB|��)qdf n ��[)`bf�`$yU}¾]�`b[8c^`$yU{"|ª[J�Lf$t�}�a�} g q¨�)��t�}�yU{"tB|=qda ¤ tl � é)ø m ö [^` � � � ¢ ö [)` þ T ��û^ú v�Z�qdt�yU`bqd_�fb_�]�t(| f�yJf$t�{"t�}8f$|Iy8`bt(|$f asqdqz})tBtB��tB���Ð[^` g e�yU`$y g f$t�`\f�_�]�t"��t g yU�)| tadf�ad|Ï�)|O��yJqdqs_¾})t g tB|$|�yU`�_2f$[+�)|$t�adf$t�{"|ª[J�Ôyw})��{"��t�`�[J�Ô��a�5t�`bt�}8f�qdt�})cUf�e)|�v�z¢�]�t�`badt�} g t�|��)cUc8tB|$f$|�f�e�yJf�tBadf�e)t�`�|$_)|$f$t�{ g yU}��Át2|OyJf$ad|b�Äy g f$[^`b_X]�`�[@r)ad��tB��adf=as|"�)|$tB� g [^})| as| f$t�}Uf qs_Uv

��[@��tBrUt�`¡f�e)t��Ie)[UqdtB|�yNqstª`bt�yJ|$|$adc^}�{�t�}Uf[J��a�})adf$a�yJq�qdtBf$f$t�`�|z��adf�e � é k � � ü � ú |$f�yJf t�{"t�}Uf |Ô�)|���yNqsqd_"a�} g `bt�yJ|$tB|f�e)t g e�yU} g t�[N�¡{�y ¤ a�})c"y�{"ad|$f�y ¤ tUv � é k � � ü � ú n a �z�)|$tB�2yJf§yJqdq n |�e)[^�)qd�+[^})qd_2`bt�yJ|$| asc)}"[^})t�[^`fb��[�`$yU`btBqd_8��)|$tB��qstBf f$t�`b|�f$[�f�e)t�qdtB|$| g [){w{"[^}+��yJfOy(fb_�]�tB| n �Ð[^`ÃtB¢�yU{w])qdtU×

Page 39: Professional Programmer's Guide to Fortran77 Clive G. Page

 �������<� ± ������Ã&Ä ± µ�² ±$ï �7����à ± ��� ± µ�µ ±m� � �Ul

� é k � � ü � ú S�T � � �Uö kil ö�ü � � � T û þ ¢ � �R� T|m � üUø��¤þ�ù � �ü T é k �Uöi� þð� �

�Lf�as|�yJqd|$[2]�` �)��t�}Ufªf$[w�)|$tQy8}+as��t�}8f$a g yJq � é k � � ü � ú |$fOyJf$t�{"t�}8f�a¨} t�y g eX]�`b[Uc)`$yU{Î��})adf n [Uf�e)t�`���ad|$t(fb_�]�t{"ad|�{wyNf g e)tB|ªyU`bt({"[^`�t�qsa ¤ tBqd_�f$[w��tQ{�yJ��t�a�}X]�`b[ g tB����`bt g yJqdqd|�v

O�ÃIæ ·�Å'ÏÊËFÙS�«Í�Ñ�à9ÒpÅ)Ñ�Òpà �e)t�k ø l ø^é)ö)ú^ö l�|$f�yJf t�{"t�}Uf g yU}¾��t+�)|$tB��f$[+cUadrUtwy+|$_�{Q�Á[Uqda g }�yU{"t"f$[XyU}8_ g [)})|$f�yU}8f�v� �e)ad| g yU}¾�Át�)|$tO�Ä�)q5a�}�|$tBr8t�`$yJq�`$yNf�e)t�`Ã��a��5t�`bt�}8f g a¨` g ��{"|$f�yU} g tB|Mv� adf�e g [)})|$f�yU}8f$|"[J�(}�yJf���`bt�Õ�|�� g ehyJ|©â5Ö"yU})��]�e8_)|$a g yJq g [^}8rUt�`b|$ad[^}~�Äy g f$[)`b|XÕ�qda ¤ tXf�e)tX})��{"��t�`"[J�

]�[)��})��|�a�}�y ¤ asqd[Uc)`$yU{wÖÃadf g yU}�|�yMrUt�fb_�])a¨})c"tå�5[^`bf�yU})��`btB��� g t�f�e)t�`bad| ¤ [N��t�` `b[^`Ãa���f�e)t�y g f���yJq>}^��{"��t�`ad|I[)})qs_+cUadrUt�} [^} g t(a�}�fOe)t(]�`b[Uc^`$y8{ y8})��f�e)tQ}�yU{�t(�)|$tB�XtBrUt�`�_^�Ie)t�`�t�tBqs| tU×

l ö^ø�� k � �Xú �[Tbk � ��ý)ø[�8ï k � � l ú TpSk ø l ø)é^ö)ú^ö l þ k �Yõ AÃÞ òi>cò9ô ó<= M|ô � ú �[Tbk �Yõ =ÃÞbô ÿ k ���k ø l ø)é^ö)ú^ö l þ$ý)ø��Uï k �Yõ k � ܤ=ÃÞ�ô�� l ú TbS õ ò ?^ôÃÞ�ô Ü k ���

 �e)t"}�yU{"tB|�k � ��ú ��Tbk � � tBf g v g yU}�f�e)t�}���tw�)|$tB�¾a�}�])q�y g t"[J�zf�e)t"qdadf$t�`$yJq g [^})|$f�y8}Uf$|�tBqs| tB�Ie)t�`btwa�}�f�e)t]�`b[Uc)`$yU{ ��})adf�vX�Éf(ad|w{Q� g e��ÁtBf$f$t�`�f [X�)|$t�}�y8{"tB� g [^})|$fOyU}Uf |(f�e�yU}Êr@yU`ba�yU�)qdtB|"a�}�|O� g e g yJ|$tB|"yJ|(f�e)tB_yU`bt�c8asr8t�}���tBf f$t�`w]�`b[Uf t g f$ad[^}�yJc)yJa�})|$fwa�}�yJ��rUt�`bf t�}Uf g [)`$`$��])f$ad[^}>× g [^})|$f�y8}Uf$|wyU`�t�[J�Ðf t�}h]�`b[Uf$t g f$tB�Ñ�U_e�yU`b����yU`�tUv� �e)t"�)|$t([N�§|$_:{"�Á[Uqda g }�yU{�tB|Ï`$yNf�e)t�`�f�e�yU}�}^��{"�Át�`b| g y8}XyJqd|$[�{wy ¤ t�fOe)tQ]�`b[Uc)`$yU{Æy"qdadf$f$qdt{"[^`�t(`bt�yJ��yU�)qdtU×Ãasfªad|Ï]�`�[^��yU�)qd_�e�yU`���t�`�f$[w��[^` ¤ [^�)f�fOe)t�|$adc^})a�¬ g yU} g tw[J�§yw})��{Q�Át�`�qda ¤ t j v È Ç p Ç l B �UoUÈf�e�yU}+f [w��tB��� g t(f�e)t({�t�yU})a�})c2[J� ý)ø[�8ï k � v¦Ï})[UfOe)t�`wa�{w]Á[^`bf�yU}8f2yU]�])qda g yJf$ad[^}ð[J��}�y8{"tB� g [^})| f�yU}8f$|wad|+�Ð[)`"adf$t�{"|+�Ie)a g eÑyU`btX})[8f�]Át�`${wyU})t�}8f

g [^})|$fOyU}Uf |����)fI]�yU` yU{"tBf$t�`b|Ã[J�Ôy"]�`b[Uc)`$yU{ n aÐv tUv^adf$t�{�|�¬�¢^tB���L[^`Ãf�e)tÏ]�`�tB|$t�}Ufª���)f�|O���iÁ�t g f�f$[wyJqdf$t�` yJf$ad[^}yJf�|$[){"t"q¨yNf$t�`���yJf tUvw�IyU{�tB� g [)})|$f�yU}8f$|(yU`bt"[J�Lf$t�}¾�)|$tB��f [�|�]�t g a��L_�yU`$`$yM_¾��[^��})��| n g e�y8`$y g f$t�`��Ä| f�`ba�})cqdt�})cUf�e)| n yU})�X|$[�[^}>v��[^`�tB¢�yU{w])qdtU×

� û^ú)ö m ö l é^øi� l ��é^øi��üg��û k ú �k ø l ø)é^ö)ú^ö l þ$é)øi� l õ ò ô^ô���é^øi��ü õ ô ô)ôg��û k ú � õ é)ø|� l ÿ é)ø|��ü �l ö^ø��Âé^ø)ú l � ��þ é)ø|� l �bé)ø|��ü � ��ü T ����é^ûgþ é^øi� l � � l�Tp� þ$é)øi�:ü �

 �e)t g [^})|$fOyU}Uf |I|�� g eXyN| é^øi� lXy8})� é)ø|��ü g yU}¾yJqd|$[X��tw�)|$tB�¾a�}¾f�e)t=tB¢^t g �)fOyU�)qdt2]�yU`bfª[J��fOe)tQ]�`b[Uc)`$yU{ n�L[^`�a�})|$f�yU} g t=f$[ g e)t gB¤ f�e�yJf�f�e)t(y8`$`$yM_w|����)| g `�a¨])f |ÏyU`�t�a¨}�`$yU})cUtU×

� ï�þ û�ü T �ËÞ m ú�Þ+é)ø|��ü Þ Tpl Þ+û l�Tb� Þ m ú�Þ�é)øi� l � ú^ý)ö^û� ú Tpk � é:à8Ù�á�òM÷!òUßhÙ�ë^ë&ßMì�à�â)â �

ö�� � öé^ø)ú l � ��þ û l�Tb� �bû:ü T � ��õ l�Tb� þ û:ü T � �

ö)û S � ï��� n yNfz|$[^{"tI]Á[Ua�}Uf n f�e)tI{�yJf�`bad¢(fO��`$})|§[^�)fzf [(��t�f$[)[�|�{wyNqsqÁ�Ð[)`_U[^��`z})tBtB��|�f�e)t�}"_U[)�([)})qs_we�yMrUt�f [(yJqdf$t�`f�e)ad|�[^})t�k ø l ø^é)ö)ú^ö l2| f�yJf$t�{"t�}8f�×ÃtBrUt�`b_)f�e)a�})c�tBqd|$tw��adqdq g e�y8})cUtQyU�)f [^{wyJf$a g yJqdqd_X�ªe)t�}XfOe)t�]�`�[Uc^`$yU{ as|`bt g [^{�])asqdtB�5v �e)t�`$�)qdtB|��L[^` g e�yU`$y g f t�`�yJ|$|$adc^}�{"t�}8f�y8]�])qs_Ñf$[ k ø l ø)é^ö)ú)ö lh|$fOyJf$t�{"t�}8f$|�×Ó|$tBt�| t g f$ad[^}kÇ�v�>�v ��}

yJ����adf$ad[^}Ñy~|�]�t g a�yJq=qst�})c8f�eÂ|�]�t g a�¬ g yJf$ad[^}ð[J� ÿ þ ÿ�� as|�]�t�` {"adf$f$tB�k�Ie)a g eÑ{"t�yU})|+f�e�yJf+f�e)tXqdt�})cUf�eÂ[J�adf$t�{Ëad|(|$tBfªf$[+f�e�yJf�[J�§fOe)tQqdadf$t�`$yNq g [^})|$f�yU}8f�v� �e)t"fb_:]Át"|�]�t g a�¬ g yJf$ad[^}Ó{"�)|$f�]�`bt g tB��twf�e)t�k ø l ø^é)ö)ú^ö l|$f�yNf$t�{"t�}8f�v

Page 40: Professional Programmer's Guide to Fortran77 Clive G. Page

 �������<� ± ������Ã&Ä ± µ�² ±$ï �7����à ± ��� ± µ�µ ±m� � > p

ü8ý^ø l ø:ü8ú^ö l ÿ þ ÿ�� �Uö)ú)ú^ö l � S � m � ú���ø�� k ûp��ék ø l ø)é^ö)ú^ö l þê�8ö)ú^ú)ö l õy� ø � ü S ö)ï m ý ��ã þ[�8é^û Tbk ù l[� úb�[� � � ��¢ � �¥ S � m � ú õä� ô ò =<A >[ô�M @<?)ó � �2ø�� k ûb�:é õ �8ö)ú^ú)ö l Ü)Ü S � m � ú �ü8ý^ø l ø:ü8ú^ö l"� ø l û ÿ þ ÿ��k ø l ø)é^ö)ú^ö l þ � ø l û õä� úUØ5ò8ß�ì�à8Ù:á�ò�÷!ò8ßhî>ãNà)á�âJê&ß:ò î�èUå>âNà)á �T�

 �e)t g [^})|$f�y8}UfæÏ�5xÃ�I������asqdq��Át � B g e�yU`$y g f$t�`b|§qd[^})cwyU})� g [^}8f�yJa�}+yJqdq�fOe)tÏyJq�]�e�yM��})��{"t�`ba g=g e�yU` y g f$t�`b|Õ�qdtBf$f$t�`�|IyU})����adcUadf$|�ÖBv�IyU{�tB��qs[8cUa g yJq g [^})|$fOyU}Uf |\yNqs| [wtB¢^ad|$f n ���)fI�)|$tO�Ä�)q�yU]�])qda g yJf$ad[^})|ª�L[^`Ãf�e)t�{ÆyU`�tI|$[){"tB�Ie�yJf�e�yU`b��t�`\f$[

¬�})�5×k ø l ø)é^ö)ú^ö l þ$ûi� õ ò ô^ô���û � õ =^ô)ôg��û ¢ õ A^ô)ô��Xû^ú T ú õ û|� ÿ û � ÿ û ¢ �� T|m � üUø��"�Uø l[m ök ø l ø)é^ö)ú^ö l þê�8ø l[m ö õ þ$û)ú T ú Þ m ú�Þ ò ô)ô^ô)ô)ô^ô � Þ Tbl Þ þ û ¢ Þ m ú�Þ ò ô^ô)ô �<�

k ø l ø^é)ö)ú^ö l _)/3.�/3N]^JNF:F/ �e)t�cUt�})t�` yJq>�L[^`${Î[J�f�e)tMk ø l ø)é^ö)ú^ö lw|$fOyJf$t�{"t�}8f�as|M×

k ø l ø)é^ö)ú^ö l þ �M´�µU¸"±�å��O± ³ �æ´��´�µU¸"±�å��O± ³ �æÔv�v v ��Ie)t�`bt=t�y g e~��´�µ8¸Q±�ad|Ïy"| _:{"��[8qsa g }�yU{"t��ªe)a g e¾��t g [^{�tB|If�e)t(}�y8{"t([J�§y g [^})| f�yU}8f n yU})�Xt�y g e~�O± ³ +as|y g [^})| f�yU}8f�tB¢�]�`btB|$| as[)}�[J�§y"|��)adf�yU�)qdt=��yJf�y"fb_�]�tUv �e)t�f$t�`${"|�a�}Xy g [^})|$f�yU}8f�tB¢:]�`�tB|$|$ad[^} g yU}+[^})qd_X�Át�qsadf$t�` yJq g [^})|$fOyU}Uf |�[)`�}�y8{"tB� g [^})|$f�y8}Uf$|���tO¬�})tB�

t�yU`bqdadt�`"a�}hfOe)t2|�y8{"t�]�`�[Uc^`$yU{ ��})adf�v � yU`ba�yU�)qdtB| n yU`$`$yM_¾tBqdt�{"t�}Uf | n y8})�Ó�É��} g f$ad[^}h`�tO�Ðt�`bt�} g tB|+yU`bt�})[Uf]�t�` {"adf$f$tB�kyJf2yJqdqLv!Ūf�e)t�`b��ad|$t¾f�e)t¾�)|���yJqI` �)qstB|+�L[^`�tB¢:]�`�tB|$|$ad[^})|XyU]�])qd_>×�]�yU`bt�}8f�e)tB|$tB| g yU}��ÁtÊ�)| tB�yU`b[)��})��|����8�ÄtB¢�]�`btB|$|$ad[^})| n yU})��f�e)t�yU`badf�e�{"tBf a g f�_�]�tB| g yU}~��t+a¨}8f$t�`${�as¢)tB�5vX �e)t�`�twad|Q[)})t2`btB|$f�`�a g f as[)}[^}ÓtB¢�]�[^})t�}8f$a�yJf$ad[^}>× asf g yU}Ó[^})qd_���tX�)|$tB�hf [�`$yJad|$tXy¾})��{Q�Át�`"f$[�y8}�a�}8f$tBcUt�`w]Á[@��t�`Bvh �e)tX})[)`${wyJq`$�)qdtB|��Ð[^`�yJ| |$adc^}�{"t�}8f�| f�yJf$t�{"t�}8f$|�yU]�])qd_>×z�L[^`�yU`badf�e�{"tBf a g fb_�]�tB|�|O�)asfOyU�)qdt g [^}8rUt�`b|$ad[^})|���adqsq��tQy8]�])qsadtB�a��Ï})t g tB|$|�y8`b_�� g e�yU` y g f$t�`�| f�`ba�})cU|"��adqdq\�Át2fO`$��} g yJf$tB�Ó[^`(]�yN����tB�hf$[Xf�e)t+`bt3Ô:�)a�`btB�hqdt�})cUfOe>v���[Uf$twfOe�yJf|����)|$fO`ba�})c�`btO�Lt�`bt�} g tB|Iy8`bt(})[UfI]Át�`${"adf$f$tB��a¨} g e�y8`$y g f$t�` g [)})|$f�yU}8f�tB¢:]�`btB| |$ad[^})|�vk ø l ø)é)ö^ú)ö l~|$f�yJf$t�{�t�}Uf$|wyU`�t�|�]�t g a�¬ g yJf$ad[^}Â|$fOyJf$t�{"t�}8f$|wyU})� {�y�_h]�`bt g tB��t�[^`=�L[Uqdqs[J�Æfb_�]�t�|$fOyJf$tO�

{"t�}8f$|�vz£��)f�yU}U_�f�_�]�twÕ�[^` � é k � � ü � ú Öz|$f�yNf$t�{"t�}8f§�Ie)a g e�y9�5t g f$|§f�e)tª��yJf�y=fb_�]�tª[^`zqdt�})cUf�e+[N�Ôy(}�yU{�tB�g [^})|$fOyU}Ufz{"�)|$fz]�`bt g tB��t�adf�vz�����iÁbt g f�f$[ªf�e)tB|$t�`$�)qdtB| n k ø l ø^é)ö^ú)ö lI|$fOyJf$t�{"t�}8f$|zyU`bt�]Át�`${"adf$f$tB��f$[Ï]�`�t g tB��t� é k � � ü � ú | f�yJf$t�{"t�}8f$|�v �e)ad|I{wy ¤ tB|�adfI]Á[U|$|$a��)qdt=�Ð[)`�y"}�yU{�tB� g [^})|$f�yU}8f�f$["|$tBf�f�e)t���tO�ÄyU�)qdf�qdt�})cUf�e��L[^`f�e)t g e�yU`$y g f t�`�fb_:]Átª�Ð[^` g t�`bf�yJa�}�`$yU})c8tB|�[J�za¨})adf$a�yJqqdtBf$f$t�`b|Mvz��[^`\tB¢:yU{�])qstU×

kil[Timbl ø)ékü|�8ö|�)ö lk ø l ø)é^ö)ú^ö l þê�8ö)û:ü S õ > ô��R�Uö)û)ö õ = ÿ �8ö^û�ü S �� é k � � ü � úkü8ý^ø l ø:ü8ú^ö l ÿ þå�Uö)û�ü S � þOü�9 S � �2ü8ý)ø l ø:ü8ú)ö l ÿ þå�8ö^û)ö � þ ö �k ø l ø)é^ö)ú^ö l þ S ö)é T õä� úUØ5ò8ßðò8ßÑã@÷�àÁä@Ù�â@ê > ô&äMØÁà)á�ßÑâUëJî�è �T�

Å�} g t+��tO¬�})tB� n yX}�yU{�tB� g [^})| f�yU}8f g yU}��Át��)| tB��a�}ÓyU}U_¾tB¢�]�`btB|$|$ad[^} n a¨} g q��)��a�})chy���a�{"t�})|$ad[^}8���Á[^��})�tB¢�]�`btB|$|$ad[^} n [^`�a�}�y�S ø^ú)ø |$fOyJf$t�{"t�}8f�vª¦ }�yU{"tB� g [)})|$f�yU}8f g y8}�})[UfÏ�Át2�)|$tB�1Á$�)|$f(yJ|�]�yU`bf�[J��yU})[8f�e)t�`g [^})|$fOyU}Uf¾Õ �Ð[)`wtB¢�yU{w])qdt¾[^})t g [){w]�[^})t�}8f�[J�Qy g [^{w])qdtB¢ g [)})|$f�yU}8f�ÖwyU})�Ñ}�yU{"tB� g [^})|$fOyU}Uf |2yU`bt¾})[Uf]�t�` {"adf$f$tB��yNfIyJqdq5��adf�e)a�}+�L[^`${�yJf�|�]�t g a�¬ g yJf$ad[^})|Mv

©Ra7GIe7N�u�GW:'N[2

Å�})t¾[J�(f�e)t¾qda�{"adf�yJf$ad[^})|�[J�Q�)f�yU})��yU`�� ��[^`bf�` yU}hyJf�]�`btB|$t�}8f�as|�fOe�yJf2fOe)t�`btXad|X})[h��yM_�[J�wyJqdqd[ g yJf a¨})c{"t�{"[)`b_¾��_:}�yU{�a g yNqsqd_UvXÅ�})t+[J��f�e)t2�ÁtB|$f"��y�_)|(yU`b[)��})��f�e)ad|"as|=f$[��)| t2}�yU{"tB� g [^})|$f�y8}Uf$|�f [�|�]�t g a��L_

Page 41: Professional Programmer's Guide to Fortran77 Clive G. Page

 �������<� ± ������Ã&Ä ± µ�² ±$ï �7����à ± ��� ± µ�µ ±m� � > j

yU`$` y�_+��[^��})��|���f�e)ad|I{wy ¤ tB|�adfI{"� g e t�yJ|$adt�`�f$[+yJqdf$t�`�]�`b[Uc)`$yU{"|�f$[w|O�)asfª})tB� `bt3Ô��)a�`bt�{"t�}8f$|�v�IyU{�tB|I|�e)[)�)qs��yJqd|$[���t"cUadrUt�} f$[�yJqdqÔ{wyNf�e)t�{wyJf$a g yJqyU})��]�e8_^| a g yNq g [^})|$f�yU}8f$|�fOe�yJf�_U[^��`ª]�`b[Uc)`$yU{"|

`bt3Ô��)a�`btUvw����f�e)tw|�yU{�t g [)})|$f�yU}8f$|�yU`btw})tBtB��tB��a�}¾| tBrUt�`$yJqz]�`b[Uc^` yU{ ��})adf$|=f�e)t�}¾adfQ{�y�_X�Átw|$t�})|$a��)qdt+f$[g [^{w]Á[U|$twy+|��)adf�yU�)qdtw| tBf�[J��k ø l ø^é)ö^ú)ö l�|$f�yJf$t�{�t�}Uf$|��L[^`IyNqsqz[N�§f�e)t�{ yU})����`ba�})cXf�e)t�{Ëa�}¾�ªe)t�`bt"tBrUt�`})t g tB|$|�y8`b_��)| a¨})c � û:üi��� S ö |$fOyJf$t�{"t�}8f$|�v����_U[^�¾��tO¬�})t+��[^���)qdt�]�`bt g ad|$ad[^} g [^})|$f�y8}Uf$|�a�}Óy1k ø l ø^é)ö^ú)ö lX|$f�yNf$t�{"t�}8f���[�})[Ufª�L[^`bcUtBf�fOe�yJf(t�y g e

qdadf$t�`$yJq g [)})|$f�yU}8f�r@yNq¨�)t"{"�)|$f�a�} g q��)��t�y8}�tB¢�]�[^})t�}8fI�)|$a�})c+f�e)t�qdtBf$f$t�`��wv �e)t�`bt�y8`bt�})[ g [^})|$f�y8}Uf�yU`$`$yM_)|wa�}Â��[^`bfO`$yU}>×�f�e)t¾[^})qd_h��yM_hf$[�[JrUt�` g [){"t�f�e)ad|�qda¨{�asfOyJf$ad[^}Ñad|+f$[

��t g q�yU`bt"yU}+[^`b��a�}�yU`b_�yU`$` y�_�a¨}�y"fb_:]Át�|$f�yJf t�{"t�}Uf�yU})��a�})adf$a�yJqdad|$twadf$|�tBqdt�{"t�}8f$|ª��adf�eXyES ø^ú)ø |$f�yJf$t�{�t�}UfÕ���tB| g `�a¨�ÁtB�¾a¨} |$t g f$ad[^} jUj ÖBv

O�ÃPO ç5Å'ÆpÚ³Åof�dzËFà¦ÆrJyU`ba�yU�)qdt�ad|w|$a�{w])qd_ y¾}�yU{�tB� {"t�{�[^`b_¾qd[ g yJf as[)}Ó��adf�e�y ¬�¢)tB�h��yJf�y f�_�]�tUv�¦ª|QtB¢�])q�yJa�})tB��t�yU`�qsadt�` nr@y8`ba�yU�)qdtB|���[w})[Uf�e�yMrUt�f [Q��tª��t g q�yU`btB��a�}�yJ��rJyU} g tIa���fOe)tI��yJfOy�fb_:]ÁtIa�{w])qdadtB���8_wf�e)t\¬�`b|$f�qdtBf$f$t�`z[N��f�e)t}�yU{"t�ad|�yU]�]�`b[^]�`�a¨yNf$tUv§Åªf�e)t�`b��as| tQy"fb_�]�t�|$f�yNf$t�{"t�}8f�ad|�`bt3Ô��)a¨`�tB�5v¦�f�f�e)t�|$fOyU`bf+[J�wtB¢^t g �)f$ad[^} f�e)t¾r@yNq¨�)tÓ[J�"t�y g eðr@yU`ba�yU�)qdtÓad|Ê��})��tO¬�})tB�!��})qdtB|$|�yÓ|��)adf�yU�)qdt�S ø)ú^ø

|$f�yNf$t�{"t�}8fQyU]�]Át�yU`b|wa�}Óf�e)t�]�`b[Uc^` yU{ ��})asf¾Õ�|$tBt+|$t g f$ad[^} jUj Ö v��I})��tO¬�})tB�Âr@yJq��)tB|2{"�)|$fw})[Ufw��tX�)| tB�a�}ÓtB¢:]�`�tB|$|$ad[^})|�vh�>[ g yJq�rJyU`ba�yU�)qdtB|2a�}h]�`b[ g tB����`btB|+��[�})[Ufw})t g tB|$|�y8`badqs_�`�tBf�yJa�}Óf�e)tBa�`"r@yNq¨�)tB|��Ä`b[^{�[^})ta�}Ur8[ g yJf as[)}Ó[J�If�e)tX]�`b[ g tB����`bt�f$[�yU})[8f�e)t�`"��})qstB| |�y�|��)adf�yU�)qdtJ� øi�^ö |$f�yJf$t�{�t�}Uf=as|+]�`b[Jr^ad��tB��Õ�|$t g f as[)}l v j8j ÖBv

O�ÃVU JÆpÆpÅiÈ�à¦�}wyU`$`$yM_=as|�yªc^`�[^��]"[J��{"t�{"[)`b_(qd[ g yJf$ad[^})|�cUadrUt�}wy�|$a�})cUqdt(}�yU{"tUvz �e)t�tBqdt�{"t�}8f$|�[J��fOe)tIyU`$`$yM_"yJqdq�e�yMrUtf�e)t�|�y8{"t���yJf�y"fb_�]�tUv�Ä}�{wyNf�e)t�{wyJf$a g |=f�e)twtBqdt�{"t�}8f$|([J�IyU}~yU`$`$yM_Xy���[^�)qd���Átw��t�})[Uf$tB�h�8_�y jUn y o�n y �Án yU})��| [�[^}>v2��}

��[)`bf�`$yU}�yª]�yU`bf a g �)q�yU`yU`$` y�_ªtBqdt�{"t�}8fzas|zad��t�}8f$a�¬�tB�2�8_(]�`b[Jr^ad��a�})c(y�|O���)| g `ba�])fztB¢:]�`�tB|$|$ad[^}=a�}Q]�y8`bt�}UfOe)tB|$tB|yM�Lf$t�`�f�e)t2yU`$` y�_�}�yU{"tUת¦wÕ j Ö n ¦wÕ o Ö n ¦wÕ � Ö n tBf g v"�����)| g `ba�])f$|"{Q�)| f(e�y�r8t(a�}Uf tBcUt�`�fb_�]�tw���)f�f�e)tB_�{�y�_��t=|�]�t g a�¬�tB���8_2tB¢�]�`btB|$|$ad[^})|ª[J�§yU`$�)adf�`$y8`b_ g [){w])qdtB¢^adfb_ n a�} g q��)��a�})c��Ä��} g f$ad[^} g yNqsqd|�v¦Ï}¾yU`$` y�_+tBqdt�{"t�}8f g yU}¾��tw�)|$tB�¾a�}XfOe)tQ|OyU{"t(��yM_�yJ|Ïy�r@y8`ba�yU�)qdtwa�}�yNq¨{�[U|$f�yJqdqztB¢^t g �)f�y8�)qst"|$fOyJf$tO�

{"t�}8f$|�v¡¦Ï`$` y�_�tBqdt�{"t�}8f$|§yU`�t�{"[U| f�[J�Lf$t�}=�)|$tB�"��adf�e)a�}(qd[)[^])|�×fb_:])a g yJqdqd_wyU}�a�}8f$tBcUt�`qd[)[^] g [^��}Uf t�`5|$tBqdt g f$|t�y g e+tBqdt�{"t�}Ufª[J�zf�e)t(yU`$` y�_�a¨} f���`$}>vÿ ø:ñ)ñÑà^á)á^à8ê T � S Ù�ëkà)á^á)àUêÑû)ö � ì�àUæ>ò î:èkà)á^á)àUêÑú T ú)ø��

k ø l ø)é^ö)ú^ö l þ$û S ø^ú)ø õ ò ô�= > �l ö^ø�� T � S þ$û S ø)ú)ø � ��û^ö � þ û S ø)ú^ø � �2ú T ú)ø[�<þ û S ø^ú)ø �

ÿ Þ^Þ)Þ^Þ)Þ)ÞS�Tóò ô^ô�� �xõ ò ��û S ø)ú)ø

ú T ú^ø��<þ ����õ T � S þ ��� ;Ñû)ö � þ ���ò ô^ô ü T û)ú � ûb�:ö

�1N�Hpuv.F8�GW:)\Ywy8�89.ih�2¦�`$`$yM_^| g yU}(e�yMrUt§��]=f$[�| tBrUt�}���a�{"t�})|$ad[^})|M�Uf�e)tÃqs[J��t�`��[^��})�=[J��t�y g e���a�{"t�})|$ad[^}=ad|z[^})t���})qdtB|$|��t g q�yU`btB�[Uf�e)t�`���ad|$tUv� �e)t�`bt"ad|(})[2qda�{"adf([^}�f�e)t"��]�]�t�`=��[^��})��]�`b[Jr)as��tB�~asf�ad|(})[UfªqdtB|$|�f�e�yU} f�e)t"qd[@��t�`ª��[^��})�5v¦�`$`$yM_^|��Ie)a g eXyU`�tI����{w{=_�yU`bc^��{�t�}Uf$|�[J�§y"]�`b[ g tB����`btQ{wyM_2e�yMrUt�fOe)tBa¨`\��a¨{�t�})|$ad[^}¾��[^��})��|ª|�]�t g a�¬�tB�

Page 42: Professional Programmer's Guide to Fortran77 Clive G. Page

 �������<� ± ������Ã&Ä ± µ�² ±$ï �7����à ± ��� ± µ�µ ±m� � > o

�8_�a�}Uf$tBc8t�`(rJyU`ba�yU�)qdtB|+�Ie)a g eÓyU`bt�yU`bc^��{�t�}Uf$|=[J�If�e)t�]�`b[ g tB����`btU�Ãa¨}hyNqsq�[UfOe)t�` g yN|$tB|"t�y g e~��a�{"t�})|$ad[^}��[)��})��{"�)|$fI�Át(yU}+a�}Uf$tBc8t�` g [^})| f�yU}8f�tB¢�]�`btB|$| as[)}>v� �e)ad|�¬�¢)tB|ªf�e)t�|$a@?Bt([J�zf�e)t(yU` `$yM_2yJf g [^{w])adqdtO�Äf$a�{"tUv §_�]�t n S � é^ö)û � � T û�� yU})� ü T é)é T û |$fOyJf$t�{"t�}8f$|Q{�y�_ÓyJqdq\�Át��)|$tB�hf [���t g q�yU`�tXyU`$`$yM_)| n ���)f ü T é)é T û

|$f�yNf$t�{"t�}8f$|Qe�yMrUt�y�|�]Át g a�yJqdas| tB�ð�)| tÊÕ���tB| g `ba���tB��a�}Ó|$t g f as[)} j�o ÖBvX �e)t«S � é)ö)û � � T û |$f�yJf t�{"t�}Uf"e�yJ|wy|$a�{"adq�yU`\�Ð[^` { f [�y�f�_�]�t�| f�yJf$t�{"t�}8f����)f�[^})qd_���t g q¨y8`btB|�f�e)t(�Á[^��})��|I[N�ÔyU}�yU`$` y�_"��adf�e)[)�)f���tBf$t�`${"a�})a�})cadf$|���yJf�y�fb_:]ÁtUv��Lfªas|"�)|���yJqdqd_X|$a�{w])qdt�`=yU})��})t�yJf$t�`ªf$[2�)| t�y+fb_�]�t=|$f�yJf$t�{�t�}Ufª�Ie)a g e�|�]Át g a�¬�tB|��Á[Uf�e�yJf[^} g tU×

ü8ý^ø l ø:ü8ú^ö l ü T �d�:é)û�þ ô �pÿ = ô �2ú � ú[�8ö ÿ ?)ô��[Uf$t+f�e�yJf(�ªe)t�}Ó��t g q¨y8`ba�})c g e�yU`$y g f t�`(yU`$` y�_)|(fOe)t�|$f�`ba�})c¾qdt�})cUf�e~�L[Uqdqs[J��|"f�e)t+qdad|$fw[J�Ïy8`$`$yM_���[^��})��|�v �e)t g e�yU`$y g f$t�`Iy8`$`$yM_�Z�Å��¡����� e�yN| È tBqdt�{"t�}8f$|(t�y g e¾[J���Ie)a g eÊas| oUÈ g e�yU`$y g f$t�`�|Iqd[^})c��z ��� ��7� ad| n[J� g [^��`b|$t n Á��)|$fªy"r@yU`�a¨y8�)qst mUp g e�yU`$y g f t�`b|�qd[^})c�vz¦ªqdf�e)[^�)c^e�y"��tO�ÄyU�)qdfI|$fO`ba�})cwqdt�})cUf�e g y8}���t(| tBf��Ð[)`�yU}t�}8f$a�`bt(fb_�]�t�|$f�yNf$t�{"t�}8f n asf�as|�})[UfI]Á[U|$|$a��)qdt"f$["|$tBfIy"��tO�ÄyU�)qdf�yU`$`$yM_w|$a@?Bt=a¨}�y"|$a�{"adq�yU`��\yM_Uv�Lf§ad|ÃcUt�})t�`$yJqdqd_"cU[^[)�2]�`$y g f$a g t�f$[(�)|$t�}�yU{"tB� g [^})|$f�yU}8f$|zf$[ª|�]Át g a �L_2yU` `$yM_(��[^��})��|�yJ|zf�e)ad| �Éy g adqdadf�yJf$tB|

q�yJf$t�`�{�[^��a�¬ g yJf$ad[^})|M×k ø l ø)é^ö)ú^ö l þ$é)øi� � é õ ò�ô �� û^ú)ö m ö l"k[T � û)ú � þ é^øi� � é �ü T é k �Uöi� � ö l � ö � þ0= ÿiÿ é)ø|� � é �

 �e)tB|$t+yU`$`$yM_)|ÏyJqdq�e�y�r8t�y qd[@��t�`��Á[^��})��[N��[^})tUv"¦Î��a�5t�`bt�}Uf=qd[@��t�`��Á[^��})� g y8}���tw|O]�t g a�¬�tB�Ó�Ð[)`�yU}U_��a�{"t�})|$ad[^}¾yJ|�|Oe)[@�ª}���tBqd[J�(v§ �e)t�qd[J��t�`�yU})����]�]Át�`I�Á[^��})��|�yU`bt�|$t�]�yU` yJf$tB�X�8_�y g [8qs[)}>×

l ö^ø��Âú^øi�gþ ò ó<? ô Û ò ó^ó)ô � � k ø � þ ò =g� ò ó�? ô Û ò ó)ó)ô �� T|m � üUø��Âú l � k �8ö�þ,9 ò Û ò ��9 ò Û ò �89 ò Û ò �è9 ò Û ò �

 ¡¦ � e�yJ|£B"tBqdt�{"t�}8f$|��É`�[^{Æ ¡¦ � Õ j�lUm8È Özf$[+ 5¦ � Õ j�lUlUp Ö vx�¦g� e�yJ|IÇ o tBqdt�{"t�}8f$|��É`b[){Æx�¦g��Õ j8n�j�lUmUÈ Özf$[2x�¦g�wÕ j�o�n j�lUlUp Ö v �Q���x§�7�Ñe�yJ| m�j tBqdt�{"t�}8f$|��Ä`b[^{Σ��Ä�"Õ � jUn � j v � j v � j Ö§f [�£����QÕ j8n�jUn�jUn j ÖBv

¦Iqdf�e)[^�)c)e���[^`bf�`$y8}¾adf$|$tBq��Ï| tBf$|Q})[¾qda�{"adf$|wf$[�f�e)t2| a÷?BtB|"[J��yU`$`$yM_)|�f�e�yJf g y8}��Át2��tO¬�})tB� n f�e)t�¬�})asf tg yU]�y g adfb_X[N�§f�e)tQe�yU`����\y8`bt(ad|�qda ¤ tBqd_�f$[+��[2|$[�vÏ��}�r^a�`bf���yNqÔ{"t�{�[^`b_�[^]Át�`$yJf$a�})c�|$_)|$f$t�{"|ªadf�ad|(]�[U|$| a¨�)qdtf$[��)|$twyU`$`$yM_)|Iq�yU`�cUt�`�fOe�yU}¾]�eU_)|$a g yJq§{"t�{"[)`b_�×�f�e)[U|$t"]�yU`bf$|ª[J��f�e)tQyU` `$yM_X})[UfIa�}�y g f$adrUtw�)|$twyU`btQe)tBqd�[^}���y gB¤ a¨})c+|$f$[)`btI|O� g e�yJ|Iy"��ad| g ¬�qstUv

¬y2�GW:'\Vwy8�89.|h<2

¦�}�yU`$`$yM_�tBqst�{�t�}Ufw`btO�Lt�`bt�} g t�{Q�)| f(yJqd�\yM_)|(�)|$t+f�e)tw|�yU{�t�})��{"��t�`=[J��|����)| g `ba�])f$|wyJ|=f�e)t2})��{Q�Át�`�[J���a�{"t�})|$ad[^})|Ã��t g q¨y8`btB�"�L[^`>f�e)t�yU`$` y�_Uv7�Ãy g e�|����)| g `�a¨])f g yU}(�Át�yU}�a�}8f$tBcUt�`tB¢�]�`btB|$|$ad[^}=[J��yU}8_ g [^{w])qdtB¢)adf�_ n���)f�f�e)t�`�tQyU`bt(`�tB|$f�`ba g f$ad[^})|�[)}��É��} g f$ad[^})|ª��adf�e |$ad��t(tå�5t g f$|QÕ�| tBt�|$t g f$ad[^} l v � ÖBv¦Ï}�yU`$`$yM_+tBqst�{�t�}Uf�`btO�Lt�`bt�} g t"as|ª[^})qd_�r@yNqsad��a���yJqdq5[N�§f�e)t(|����)| g `ba�])fItB¢�]�`btB|$|$ad[^})|(y8`bt���tO¬�})tB��yU})�Xa��

t�y g e�[^})t=ad|�a¨}�f�e)t"`$yU})cUt=��t g q�yU`btB���Ð[)`�adf�v�¦Ï}�yU`$`$yM_+tBqst�{�t�}Uf g yU} [^})qd_��Át��)| tB�Xa�}¾yU}�tB¢�]�`btB|$|$ad[^}�a��y�r@yJq��)t"�L[^`�adf(e�yJ|���tBt�}¾��tO¬�})tB�5vª¦ S ø)ú^ø |$f�yNf$t�{"t�}8f�Õ�| t g f$ad[^} j�o Ö g yU}���tw�)|$tB�¾f$[+��tO¬�})twyU}�a¨})adf$a�yJqr@yNq¨�)t��Ð[)`�yU}+t�}8f$a�`btQyU` `$yM_w[^`�yU}8_2|$tBf�[J�ÔtBqdt�{"t�}8f$|�v¦Ï}�yU`$`$yM_ g yU}X�ÁtQ�)|$tB����asfOe)[^�)fI|O���)| g `ba�])f$|�×

ë a¨}�y"|�]Át g a ¬ g yNf$ad[^}�|$f�yJf$t�{�t�}Uf�|�� g e�yJ|Iy"fb_�]�t n S � é^ö)û � � T û�� [^`�� ø|�)ö | f�yJf$t�{"t�}8f��

ë a¨}hy �Ä��} g f$ad[^}�`�tO�Ðt�`bt�} g t�[)` ü8ø��|� |$f�yJf t�{"t�}UfM×"f�e)ad|wf�`$yU})|��Ðt�`b|"f�e)t��ªe)[Uqdt�[J�If�e)tXyU` `$yM_�f$[¾f�e)tyJ|$|$[ g a�yJf$tB������{w{=_�yU`bc^��{"t�}8fQÕ��ªe)a g e�{"�)|$fIe�yMrUt(y g [){w]�yJf$a��)qdtQyU` `$yM_w��t g q�yU`$yJf$ad[^}�Ö �

Page 43: Professional Programmer's Guide to Fortran77 Clive G. Page

é ± µ�²3� °�� �$�<²ð� > �

ë a¨}�f�e)t=��yJf�y�f�`$yU})|��Ðt�`�qdas| f�[J��y5l ö)ø S�[^`��il � ú^ö |$f�yNf$t�{"t�}8f�קfOe)as| g y8�)|$tB|�f�e)t(�ªe)[Uqdt�y8`$`$yM_2f [��Áta¨}�]��)fª[^`�[)�)f�]��)f�vz �e)ad|Iad|�})[UfI]Át�`${"adf$f$tB�+�L[^`�yU}�yN|$|���{"tB��|$a@?Bt(����{w{=_�yU`bc^��{"t�}8f�yU`$`$yM_Uv

ë yJ|�y"��})adf�ad��t�}Uf a ¬�t�`�a�}2yEl ö^ø Sw[^`��|l � ú^ö | f�yJf$t�{"t�}8f�×y g e�yU`$y g f$t�`§yU` `$yM_Qad|�f�e)t�}�yU}�a�}Uf t�`$}�yJq�¬�qdt��adf�e+[^})tQ`�t g [^`b�X]�t�`\tBqst�{�t�}Uf�v

ë yJ|Iy=�L[^`${wyNf�ad��t�}8f$a�¬�t�`�a�}¾y�l ö^ø Sw[^` �|l � ú)ö |$f�yJf$t�{�t�}Uf�×f�e)tª�L[^`${�yJf�|�]�t g a�¬ g yJf$ad[^}�ad| g [^}UfOyJa�})tB�a¨} f�e)t g e�yU`$y g f$t�`�yU` `$yM_w��adf�e�adf$|�tBqst�{�t�}Uf$|ªf�y ¤ t�}+a¨} |$t3Ô��)t�} g tUv

_'/36)89.�\FN�_'N�¶<a'N]:cH�N¦�`$`$yM_^|¾yU`bt�yJqd��yM_^|�|$f$[^`�tB��a�}!y g [^}8f$adc^�)[^�)|�|$tBf¾[J��{"t�{"[^`b_ qs[ g yJf$ad[^})|Mv �Ä}&fOe)t g yJ| th[J��{"�)qdf$a����a�{"t�})|$ad[^}�yJq(y8`$`$yM_^| n f�e)tX[)`b��t�`"[J��f�e)tXtBqdt�{"t�}8f$|+ad|2f�e�yNfwf�e)t�¬�`�|$fw|����)| g `�a¨])f�rJyU`badtB|�{"[U|$f2` yU])ad��qs_ nf�e)t�}Óf�e)t+|$t g [^})�h|O���)| g `ba�])f n yU})��| [�[)}>v¾��[^`=tB¢�yU{w])qdt�a�}Óf�e)tw�L[Uqdqd[J��a�})c o �Ä��a�{"t�})|$ad[^}�yJq�yU`$` y�_�Õ �L[^`|$a�{w])qda g adf�_�[^})t([N��[^})qd_�|$ad¢�tBqdt�{"t�}Uf |�ÖB×

� � � � �� ò � ò ò �ß= ò �ßA ���þ,=g�4A �Võ � �� � � � �� =g�4= =��4= =��4A �

 �e)t�tBqdt�{"t�}Uf |ÏyU`�t�|$f$[^`btB��a�} f�e)tª�Ð[8qsqd[J��a�})c+|$t3Ô:�)t�} g tU×�gþ ò � ò � ���gþ,=g� ò � �y��þ ò �ß= � �y�gþ0=��4= � �y��þ ò �4A � �y�gþ0=��ßA �

aLvÍtUv)f�e)tª|$t3Ô:�)t�} g t({�[@r8tB|§��[J�I}�t�y g e g [Uq���{w}�¬�`b| f n f�e)t�}�y g `b[U|$|Ãf$[(f�e)t�})tB¢)f\`�[@�=vÔ �e)as| g [Uq���{w}+[)`b��t�`ad|I��a�5t�`bt�}8f��Ä`b[^{Îf�e�yNf\�)| tB�Xa�}�|$[){"t�[Uf�e)t�`�]�`�[Uc^`$yU{�{"a�})cQq�yU})c)��yJcUtB|�v �e)tw|$f$[)`$yJcUt=[^`b��t�`�{wyM_X��t�a¨{�]�[^`bfOyU}Uf�a���_U[^�¾�)|$t"q�yU`bc8t2{"�)qsf a �Ä��a�{"t�})| as[)}�yJq�yU`$`$yM_)|ÏyU})�¾��ad|�eÊf$[

g yU`$`�_w[^�)f�|$[^{"tª[^]Át�`$yJf$ad[^}�[^}�yJqdq>f�e)tªtBqst�{�t�}Uf$|ª[J�5f�e)t(yU` `$yM_Uv��Lf�as|�f�e)t�}wqda ¤ tBqd_Xf [Q��tª�ÄyJ|$f t�`§f [�y gBg tB|$|f�e)t(yU` `$yM_Qa�}+|$f [^`$yJcUtª[^`b��t�` n aLvÍtUv��8_ g [8q¨��{�})|I`$yJf�e)t�`Ãf�e�y8}2`b[J��|MvÔ �e)as|ª{"t�yU})|�yU`$`$y8})cUa�})cwqd[^[^]+a�})��a g tB|��adf�e f�e)t�q�yJ|$f�|����)| g `ba�])fIa�})��tB¢)tB�Ê�8_+f�e)t�[^�)f$t�`�qd[)[^] n yU})��|$[w[^}+a�}8��yU`b��|�vz��[^`ÃtB¢:y8{w])qdtU×

S�T � � �Uö kil ö�ü � � � T ûÑø lil ø � þ ò ô^ô�� ò ô)ô � � � ��é� �:é õ ôÃÞbô S ôS�T = ô ô�� � õ ò � ò ô)ô

S[T¼ò9ô ô���þ õ ò � ò ô)ô� �:é õ � ��é£;Âø lil ø � þ$þ�� � �

ò9ô ô ü T û^ú � ûp��ö= ô ô ü T û)ú � ûb�:ö� adf�ehf�e)t�qd[^[^])|�yU`$` yU})cUtB��fOe)as|+��yM_ yU`�[^��})�hf�e)t�{�t�{"[^`b_hqd[ g yJf$ad[^})|�yU`bt�y gBg tB|$|$tB��a�} g [^})|$t g �)f asr8t[^`b��t�` n �Ie)a g e�{"a�})a�{"ad|$tB|�f�e)t(]�`b[ g tB|$|$[^`\[@r8t�`$e)t�yJ��a�}�|����)| g `ba�])f g yJq g �)q�yJf$ad[^})|Mv

ê Ê ¿7úí% ¹^� &�%)úðû

��[)`bf�`$yU}Âe�yJ|Xc8[^[)�Â�Éy g adqdadf$adtB|¾�L[^`�]�`b[ g tB|$|$a�})ck}^��{"��t�`�|�vΦÏ`�asfOe�{"tBf$a g tB¢�]�`btB|$| as[)})|�yU})��yN|$|$adc^}�{"t�}8f|$f�yNf$t�{"t�}8f$| g yU}+a�} g q¨�)��t"a�}8f$tBcUt�` n `bt�yJq n ��[)���)qst"]�`bt g ad|$ad[^} n [^` g [^{w])qdtB¢+adf$t�{"|�vz�(yNf�y=f�_�]�t g [)}UrUt�`�|$ad[^})|yU`bt+]�`b[Jr^ad��tB��yU�)f [^{wyJf$a g yJqdqd_¾�Ie)t�}Ó})t g tB|$|�yU`b_>�fb_:]Át g [^}8rUt�`b|$ad[^})| g yU}�yJqd|$[X�Át�]Át�`��Ð[)`${"tB��tB¢�])qda g adf$qd_�)|$a�})c¾a�}Uf�`�a¨})| a g �Ä��} g f$ad[^})|�v¾Åªf�e)t�`�a¨}8f�`ba�})|$a g �É��} g f$ad[^})|wyU`�t2yMr@yJadq�yU�)qdt+�Ð[)`�f�`badcU[)})[^{"tBf�`b_ n qd[Uc^yU`badf�e�{�| nyU})��[UfOe)t�`��)|$tO�Ä�)q�[^]Át�`$yJf$ad[^})|Mv

Page 44: Professional Programmer's Guide to Fortran77 Clive G. Page

é ± µ�²3� °�� �$�<²ð� >p>

��[^`�tB¢:y8{w])qdt n f�e)t"��tBqdq�� ¤ })[@�ª} g [8|$a�})t"�Ð[)`${"�)q¨y��L[^`�fOe)t(f�e)a�`b��| as��t"[J��y�f�`ba�yU})c8qst n c8asr8t�}XfOe)tQ[8f�e)t�`fb��[Q| as��tB|�yU})��f�e)t"yU})cUqdt(��tBfb��tBt�}�fOe)t�{Îad|�×

WNë � � Õ Y q 'Ì[ q %�o Y [ [ "$W Õ}ÑIÖ�Ö �`$y8})|$q�yJf$tB��a�}Uf [�y=��[)`bf�`$yU}+tB¢�]�`btB|$| as[)}�adf�qd[^[ ¤ |�qda ¤ t"f�e)ad|�×

� ù l úgþ � ÿ|ÿ =:;kü ÿ|ÿ =:9L=§Þbô ÿ � ÿ ü ÿ ü Ti� þ ø^û m �Uö)ø ����Ie)a g eX{wy ¤ tB|\�)| t�[J��f�e)t�a�}8f�`ba�})|$a g �Ä��} g f$ad[^})|$� ù l ú yU})� ü Ti��v^¦ªqdf�e)[^�)c^ey� ù l úgþð� � ]�`b[)��� g tB|�f�e)t�|OyU{"t`btB|��)qdf(yJ| � ÿ|ÿ ô§Þ ô n f�e)t=|ðÔ���yU`btO��`b[)[Uf��É��} g f$ad[^}�ad|�|$a�{w])qdt�` n �ÉyJ| f$t�` n yU})��]�`b[)��yU�)qd_Ê{�[^`btQy gBg ��`$yJf$t=f�e�yU}`$yJad|$a�})c�f$[Xf�e)tw]Á[@��t�`�[J��[^})t+e�yJq�� n �Ie)a g e~��[^�)qd��y g f���yJqdqd_��Át g yU`$`badtB�Ó[^�)f(�)|$a�})c��Á[Uf�e¾fOe)t ö|� k�yU})�� T|m��É��} g f as[)})|�v¦I|$| asc)}�{"t�}Uf"|$fOyJf$t�{"t�}8f$|(tBrJyJq���yJf$tXyU}~tB¢�]�`btB|$|$ad[^}ÂyU})� yN|$|$adc^}~asf |QrJyJq��)tXf$[¾y�r@yU`ba�yU�)qdthÕ�[^`(y8`$`$yM_

tBqdt�{"t�}8f�ÖBv2�ª})qda ¤ tXyJq�{"[U|$f(yNqsqÃ[Uf�e)t�`ª��[^`bf�`$y8}X| f�yJf$t�{"t�}8f$| n fOe)tB_���[¾})[Uf�|$f�y8`bf���adf�e�y ¤ tB_)��[^`b�5v"��[^`tB¢�yU{w])qdtU×

ø õ � ù l úgþ � ÿiÿ =�;kü ÿ|ÿ =:9L=§Þbô ÿ � ÿ ü ÿ ü Ti� þ ø^û m �Uö)ø ���ú T ú)ø���þ û�Ü�=�; ò ��õ ôÃÞbôï������ õ ï������£; ò Þbô

UgÃ� JÆpÚWÒdß�ÏÊË�ÒpÚ�èRÄ���Î�ÆpË]à�àrÚ�Í7Ñ�à¦�}wtB¢�]�`btB|$|$ad[^}+a�}+adf$|�|$a�{w])qdtB|$f��L[^`${ ad|<Á��)| f\y=|$a�})cUqdt�[^]Át�`$yU})� n |�� g e�yJ|�y g [^})| f�yU}8f§[^`Ãr@y8`ba�yU�)qdtUvg�¾[^`btg [^{w])qda g yJf$tB�¾tB¢�]�`btB|$|$ad[^})| g [){Q�)a�})t"r@y8`bad[^�)|�[^]�t�` yU})��|���adf�e�[)]�t�`$yJf [^`b| n �ªe)a g e�|�]�t g a��L_¾f�e)t g [^{�]��)f�yM�f$ad[^})|�f [2��t"]�t�`��L[^`${"tB�5v ��[^`ÃtB¢�yU{w])qdtU×

l ø^ú)ö ÿ ý T � l[� ; ��T ûp� � �e)t2` �)qstB|"[J����[^`bf�`$y8}�e�yMrUt+��tBt�}~��tB|$adc^})tB��f [�`btB|$t�{"�)qdt+f�e)[U|$tw[N�\{wyJfOe)t�{wyJf$a g |QyN|��ÄyU`(yJ|(]Á[U|$|$a��)qdt ntB|�]Át g a¨yNqsqd_ha�}~��tBf$t�`${"a�})a�})c�f�e)tw[)`b��t�`�a�}~�Ie)a g e~f�e)twtB¢�]�`btB|$|$ad[^}~ad|"tBr@yJq���yJf$tB�5v��Ä}~f�e)ad|QtB¢�yU{w])qdt+f�e)t{"�)qdf$a�])qsa g yJf as[)}���[^�)qd��yJqd��y�_)|���t g yU`$`badtB�¾[^�)f���tO�L[^`bt"f�e)twyJ����adf$ad[^} n })[Uf���t g y8�)|$twa�� g [^{�tB|�¬�`b| f n ���)f��t g y8�)|$t�adfIe�yJ|�y(e)adc^e)t�`�]�`�t g tB��t�} g tUv � e)t�}�a�}+��[^���)f n [^`Ãf$[=[@r8t�`���`bad��t�f�e)t�]�`bt g tB��t�} g tQ`$�)qdtB| n ]�yU`�t�}8�f�e)tB|$tB| g yU}X�ÁtQ�)|$tB�5×

þ l[TiT éì; S � û^û)ö l �Lÿ ò Þ ò9ô

�����8�ÄtB¢:]�`btB| |$ad[^})|�t�} g qd[U|$tB��a�}�]�yU`bt�}8f�e)tB|$tB|�yU`bt�yJqd��y�_)|ztBr@yNq¨��yNf$tB�+¬�`b|$f��8f�e)tB_ g yU}+��t�})tB|$f$tB�+f$["yU}U_`bt�yJ| [^}�yU�)qdt���t�])f�e>v§�Ð��a�}���[^���)f n f�e)t�`�tIad|I})[we�yU`${ a�}�yJ����a�})c2]�yU`�t�}Uf�e)tB| tB|�f$[(��tBf t�`${"a�})t(f�e)tª[^`b��t�`Ã[J�tBr@yNq¨��yNf$ad[^}�[^`\f$[2{wy ¤ tÏy g [){w])qda g yNf$tB�¾tB¢:]�`btB| |$ad[^}�t�yJ| ast�`\f$[2��})��t�`b|$fOyU})�5v¦Ï`badf�e�{�tBf$a g tB¢:]�`�tB|$|$ad[^})| g y8} g [)}Uf�yNa¨}"yU}8_([N��f�e)tì�rUt�yU`badf�e�{�tBf$a g yJq�[^]�t�` yJf$[^`b| ; 9 ÿ Ü ÿiÿ v

 �e)t¾��[^���)qdt�yJ| f$t�`bad| ¤ `�t�]�`btB|$t�}8f$|�tB¢:]Á[^})t�}8f$a�yJf$ad[^} n aLvÍtUv�`$yJad|$a�})c yÓ})��{Q�Át�`+f$[�yÓ]�[J��t�`Bv  �e)�)|�f�e)t{wyJfOe)t�{wyJf$a g yJq>tB¢�]�`btB|$|$ad[^}>×

Õ j´'Ìí Ñî�ï^\ j�pUp Ö .0/¯1]345g [^�)qd���ÁtQ`bt�]�`�tB|$t�}Uf tB�Xa�}���[^`bf�`$y8}2yJ|M×

þ ò Þbô:; l ø^ú)ö�Ü ò ô^ôÃÞ�ô �bÿ|ÿ � ö)ø l[�ÕL})[Uf t�f�e)t�tB¢:])qda g adf���t g a�{wyJqz]�[Ua�}8f$|Ia�} f�e)t g [^})|$f�y8}Uf$|�f$[+{wy ¤ tªf�e)t�{Ë`bt�yJq>r@yJq��)tB|�Ö v¦Ï`badf�e�{�tBf$a g tB¢�]�`btB|$|$ad[^})| g y8}Óa¨}8rU[UqdrUt�[)]�t�`$yU})��|�[J�I��a�5t�`bt�}Uf���yJf�y�fb_:]ÁtB|�×wf�e)t���yNf�y�f�_�]�t+[J��f�e)t

`btB|��)qdfªad|���tBf$t�`${"a�})tB���8_2|$[){"t�|$a�{w])qdtw`$�)qdtB|ItB¢�])q�yJa�})tB�Ê�ÁtBqd[@�=v

Page 45: Professional Programmer's Guide to Fortran77 Clive G. Page

é ± µ�²3� °�� �$�<²ð� > È

©«N]:'N[89.Fu ¹ a7usN[2¦�`badf�e�{"tBf$a g tB¢�]�`btB|$|$ad[^})| g yU} g [^}8f�yJa�}2y8`badf�e�{"tBf$a g [^]Át�`$yU})��| n yU`badf�e�{�tBf$a g [^]Át�`$yJf$[)`b| n y8})��]�yU`�t�}Uf�e)tB| tB|�v �e)t�`bt"{"�)|$fIyJqd��yM_^|I�ÁtQyJf�qst�yN|$f�[^})t=[^]�t�`$y8})�5v� �e)t=[^]�t�` yU})��| g y8}X��tBqd[^})c+f$[2y8}U_�[J�zf�e)tª�L[^��`ªyU`badf�e8�{"tBf$a g ��yJf�y"fb_�]�tB|QÕ�a�}8f$tBcUt�` n `bt�yJq n ��[^���)qdtw]�`bt g ad|$ad[^} n [^` g [^{w])qdtB¢�ÖB��f�e)t(`btB|��)qdf�yJqd|$[�e�yN|IyU}�yU`badf�e�{�tBf$a g��yJf�y�f�_�]�tUvzÅ�]Át�`$yU})��| g yU}��ÁtQyU}8_2[N�Ôf�e)tª�L[Uqdqd[J��a�})c�×

ë ��})|$adc^})tB�Xqdadf$t�`$yJq g [^})|$fOyU}Uf |

ë }�yU{"tB� g [^})|$fOyU}Uf |

ë r@yU`ba�yU�)qdtB|

ë yU`$`$yM_wtBqdt�{"t�}8f$|

ë �É��} g f$ad[^}�`btO�Lt�`bt�} g tB|

ë g [^{w])qdtBf$t(tB¢�]�`btB|$| as[)})|It�} g qd[U|$tB��a�}X]�yU`bt�}8f�e)tB|$tB|Mv �e)t�`$�)qdtB|=�Ð[^`Ï�Ð[)`${"a�})c�{"[^`bt g [){w])qda g yNf$tB��yU`badf�e�{"tBf a g tB¢�]�`btB|$| as[)})|�y8`bt2yJ|=�L[Uqdqs[J��|Mv�¦Ï}ÓyU`badf�e�{�tBf$a gtB¢�]�`btB|$|$ad[^} g yU}�e�yMrUt(yU}8_2[J�zf�e)tª�L[Uqdqd[@��a¨})c��L[^`${"|�×

¯T:±�®bµU´�¼; ¯,�±�®bµU´�¼9 ¯,�±�®bµU´�¼µ8®�³�½V®^¸"±�½L³V��Ûb± ³ >®�± ²�²B³�¯U´ µU®O³D½V®)Û�¯, ¯,�±�®bµU´�¼

�Ie)t�`bt�fOe)tQyU`badf�e8�Ä[)] g yU}���t"yU}U_+[J�zf�e)tB|$t�[^]Át�`$yJf$[)`b|�×; µU¼U¼8³D½L³�¯U´9 ²B»�µ ½L®�µ)��½L³�¯U´ÿ ¸"»^¶d½L³ð�¶d³Õ�OµU½L³�¯U´Ü ¼U³Vñ�³ ²¥³�¯U´ÿ|ÿ ± ³ :¯U´�±�´�½L³DµU½L³�¯U´

 �e)t"tå��t g f�[N��f�e)tB|$tw`$�)qdtB|=as|�fOe�yJf(yU}�tB¢:]�`�tB|$|$ad[^} g [^})|$ad|$f$|=[J��y+|$f�`�a¨})c�[N��[^]Át�`$yU})��|�|$t�]�yU` yJf$tB���U_[^]Át�`$yJf$[^`�|�y8})� n [^])f$ad[^}�yJqdqd_ n y¾])q��)|2[^`"{"a�})�)|2yJf"f�e)t+|$f�yU`�f�v¾¦ qdt�yJ��a�})c�])q��)|+|$adc^}he�yJ|w})[�tå�5t g f���yqdt�yJ��a�})cX{"a�}^�)|�|$adc^}X})tBc^yNf$tB|�f�e)t�rJyJq��)tQ[N��f�e)t(tB¢�]�`btB|$| as[)}>v¦Iqdq>qdasf t�`$yJq5yU`badf�e�{"tBf a g yNq g [^})|$fOyU}Uf |��)|$tB�+a�}wtB¢�]�`btB|$|$ad[^})|�{"�)|$f���t���})|$adc^})tB�5קfOe)as|�ad|�f$[(]�`btBrUt�}8f�f�e)t

�)|$t=[J��fb��[ g [)})|$t g �)f$adrUt([)]�t�`$yJf [^`b|��Ie)a g e�ad| g [^}8�Ä�)|$a�})c�yU})��]Á[U|$|$a��)qd_XyU{"�)adc^�)[^�)|�×> Ü:9<AÃÞ�ô ÿiÿ 9 ò Õ�adqdqdtBc^yJq�ÖBv �e)t���yM_�y8`b[^��})��f�e)ad|�ad|ªf$[2�)|$t(]�yU`�t�}Uf�e)tB| tB| n �L[^`�tB¢�yU{w])qdtU×> ܤþ09�A§Þbô �pÿiÿ þ,9 ò ��Ie)a g eX{wy ¤ tB|�f�e)t�[^`b��t�`\[J�ÔtBrJyJq���yJf$ad[^} tB¢:])qda g adf�v �e)t�[^`���t�`�[J�ztBr@yJq���yJf$ad[^}�[J�zyU}+tB¢:]�`�tB|$|$ad[^}�ad|�×j v�|����8�ÄtB¢:]�`�tB|$|$ad[^})|ªa¨}�]�yU`bt�}8f�e)tB|$tB|o vÃ�É��} g f$ad[^}�`btO�Lt�`bt�} g tB|� v�tB¢:]Á[^})t�}Uf a¨yNf$ad[^} n aLvÍtUv�`$yJad|$a�})c2f [�y�]�[J��t�`>�v�{Q�)qdf$a�])qda g yJf$ad[^}¾yU})����asr)ad|$ad[^}

Page 46: Professional Programmer's Guide to Fortran77 Clive G. Page

é ± µ�²3� °�� �$�<²ð� >|B

È v�yJ����adf$ad[^} n |O���)f�`$y g f$ad[^} n [^`�})tBc^yJf$ad[^}>v� adf�e)a�}¾t�y g e [J�§f�e)tB|$t"c^`b[)��])|ItBrJyJq���yJf$ad[^}¾]�`b[ g tBtB��|��Ä`b[^{ÎqdtO�Lf�f$[�`�asc)eUf n tB¢ g t�])f�f�e�yJfªtB¢:]Á[^})t�}Uf a¨y@�

f$ad[^})|�yU`bt=tBr@yJq���yJf$tB���Ä`b[^{Ë`badc^e8f�f$[+qstO�Lf�vª �e^�)|M× ø�Ü � Ü�ü as|�t3Ô��)adr@yJqdt�}8f(f$[ þ$ø!Ü � � Ü ü �Ie)t�`�t�yJ|� ÿiÿ � ÿ|ÿ ¢wad|�t3Ô��)adr@yJqdt�}8f�f$[ � ÿiÿ þ � ÿiÿ ¢ � v¦Ï}�tB¢�]�`btB|$|$ad[^}���[)tB|(})[UfÏe�yMrUt=f$[���t"tBr@yJq���yJf tB�¾�É�)qdqd_¾a���adf$|�r@yNq¨�)t g yU}¾�ÁtQ��tBf t�`${"a�})tB��[Uf�e)t�`���ad|$tU×

�L[^`�tB¢�yU{w])qdt(f�e)t(`�tB|��)qdfI[J�$×� ÿ ïp��û:ü<þ m �

g yU}¾��t���tBf$t�`${"a�})tB�Ó��adf�e)[^�)f g yJqdqda�})c�fOe)t(�Ä��} g f$ad[^}¾�§�ª�ªZ&a � � e�yU]�]�t�})|=f$[X��t5?Bt�`�[�v( �e)ad|(��asqdq�})[Ufg yU�)|$t(]�`�[^�)qdt�{"|Ia��§_U[)�+[^})qd_X�)|$tª�É��} g f as[)})|If�e�yNfIe�yMrUtÏ})[�|$ad��tQtå�5t g f$|Mv

�1.�/3.ÌË�h�O<N�KM6�:�º'N[8�29Gv6�:c2���zyU}w[)]�t�`$yJf [^`§e�yJ|�fb��[([^]Át�`$yU})��|�[J��fOe)tI|�y8{"t���yJf�y=fb_�]�tªf�e)t�}wfOe)tÏ`btB|O�)qsf�e�yJ|�f�e)tª|�yU{�tIfb_�]�tUvz���zf�e)t[^]Át�`$yU})��|�e�yMrUtI��a�5t�`bt�}8f���yJf�y�fb_�]�tB|�f�e)t�}+yU}�a¨{�])qsa g adfªf�_�]�t g [^}8rUt�`b|$ad[^}+ad|�yU]�])qdadtB�Xf$[=[^})tª[J�5f�e)t�{ f$[��`ba�})c+asf�f$[wf�e)t�fb_�]�t�[J�zf�e)t�[Uf�e)t�` v§ �e)tB|$t g [^}Ur8t�`b|$ad[^})|IyJqd��yM_^|�cU[�a¨} f�e)t���a�`bt g f$ad[^}��Ie)a g eX{"a�})a�{"ad|$tB|qd[U|$|�[N�Ôa�}8�L[^`${wyJf as[)}>×

³�´�½L±�·^±M® �m�^ò ®b±�µ8¶ �m�^ò �O¯U¸�¶d± ³ ¯U®I¼8¯U»�µ ¶d±X�®b±0�M³�²B³�¯U´�)a¨} g t¾f�e)t�`�tXad|X})[���yM_�[J� g [)}UrUt�`�f$a�})c�y g [){w])qdtB¢�}^��{"��t�`+f [���[^���)qdt�]�`bt g ad|$ad[^}Âf�_�]�t n [)`wr)a g tO�

rUt�`b|Oy n ��adf�e)[)�)f§qd[U|$a�})c"|$adc^})a�¬ g yU}8f�a�}8�L[^`${wyNf$ad[^} n �Á[Uf�e�f�e)tB|$t g [^}8rUt�`b| as[)})|�yU`btª]�`b[^e)a��)adf$tB�5קyU}�[^]�t�` yJf$[^`g yU}�})[Uf�e�yMrUtª[^})t g [^{w])qdtB¢+[^]�t�` yU})��y8})��[^})tI[N����[^���)qdtQ]�`bt g ad|$ad[^} fb_:]ÁtUvz¦Iqdq>[Uf�e)t�` g [^{"�)a�}�yJf$ad[^})|ªyU`bt]�t�` {"adf$f$tB�5v� �e)tB|$t"a�{w])qda g asf=fb_:]Át g [)}UrUt�`�|$ad[^})|Ïe�yMrUt=f�e)t(|OyU{"tQ`�tB|��)qdf(yJ|Ia��§f�e)twyU]�]�`�[^]�`ba�yJf$t=a¨}8f�`ba�})|$a g�Ä��} g f$ad[^}�Õ�Q�� ¦Ï� n �(£��7� n [^`�Z���x§� � ÖÃe�yJ���ÁtBt�}��)|$tB�5v§ �e)tB| tÏyU`�tI��tB| g `�a¨�ÁtB��a�}+��tBf�yJadq5��tBqd[J�(v§��[Uf$tf�e�yJf�f�e)t(��yJfOy"fb_:]Át�[J� y8}U_�[^]Át�`$yJf$ad[^}EÁ$�)|$fª��t�]�t�})��|�[^}+fOe)t(fb��[Q[)]�t�`$yU})��|ªa�}Ur8[UqdrUtB�5�>f�e)t(`btB|$f�[J�§f�e)ttB¢�]�`btB|$|$ad[^}�e�yJ|I})[wa�}b���)t�} g tw[^}+adf��ªe�yJf$tBrUt�`Bv�z¢�]�[^})t�}8f$a�yJf$ad[^} as|ªyU}+tB¢ g t�])f as[)}�f$["f�e)t�fb_�]�t g [^}8rUt�`b|$ad[^}�` �)qstU×Ã�Ie)t�}+f�e)t�tB¢�]�[)})t�}Uf�ad|�yU}+a�}Uf tBcUt�`

adf(��[)tB|Q})[Uf(e�yMrUt�f$[X��t g [)}UrUt�`�f$tB�¾f$[Xf�e)t"fb_�]�tw[J��f�e)tw[UfOe)t�`ª[^]�t�`$y8})� yU})�¾f�e)t+`btB|��)qdf(ad|"tBr@yJq���yJf tB�yJ|�a��§�U_�`bt�]Át�yJf$tB��{"�)qdf$a�])qda g yJf$ad[^}>v�£��)f�a��§f�e)t�tB¢�]�[^})t�}8fÏe�yN|\y8}U_+[Uf�e)t�`���yNf�y=f�_�]�t�fOe)t g yJq g �)q�yJf$ad[^} as|]�t�`��Ð[^` {"tB�X�U_�a�{w])qda g adf(�)|$t([N�Ôf�e)t(�¡Å�u yU})�J� � xÓ�Ä��} g f$ad[^})| n f�e)�)|�×

o v p Ö�Ö � �m�^ò o v p Ö o v p Ö o v p �m�^ò m v po v p Ö�Ö � v p �m�^ò � � xªÕ � v p ÖQ�¡Å�u2Õ o v p Ö$Ö �m�^ò m v p

 �e)t"¬�`b|$f"`btB|��)qdf(��asqdq n [J� g [^��`b|$t n ��t g [^{w]��)f$tB�Ó{"[^`bt2` yU])ad��qs_ÓyU})��y gBg ��`$yNf$tBqd_�fOe�yU}¾f�e)tw| t g [^})�5v����f�e)t+tB¢:]Á[^})t�}8f2e�yJ|2y¾})tBc^yJf asr8t�r@yJq��)t�f�e)tX`btB|O�)qsf�as|�|$a�{w])qd_hf�e)t�`�t g a¨]�`�[ g yJq�[J�If�e)t g [^` `btB|�]�[)})��a¨})c]�[8|$adf$adrUtQ]Á[@��t�` n f�e^�)|M×

o v p Ö)Ö:Õ � � Ö �m�^ò j v p � o v p Ö)Ö � �m�^ò j v p � m v p �m�^ò p v j�oUÈ��[Uf tzf�e�yJf g [^}8rUt�`b|$ad[^}Ï�É`b[){ `�t�yJqUf$[���[^���)qdt�]�`bt g ad|$ad[^} g yU}�})[Uf�]�`�[^��� g t�yU}U_ªa�}8�Ð[)`${wyJf$ad[^}�})[8f�]�`btB|$t�}8f

[^`badcUa�}�yJqdqd_Uv� �e)�)|���adf�e�yw`�t�yJq5r@y8`ba�yU�)qdtÖQ&yU})�Xy"��[^���)qdtw]�`bt g ad|$ad[^}�r@yU`�a¨y8�)qst=�w×l õ ò Þbô&ܤAÃÞbôS õ l

�!{wyM_Qt�})�X��]���adf�e+y=r@yJq��)t�|�� g e�yJ| p v �p�p�p�b�p�p� > �8o BJÇ�>p> pJm v�vdv>�Ie)a g e+ad|\})[ g qd[U|$t�`Ãf$["f�e)tªr@yNq¨�)t�[N��[^})tf�e)a�`b��f�e�yU}yQÑ��yJ|�[)`badcUa�}�yJqdqs_Uv

09:F/3Ni\FN�8«�yGܺ�GI2�Gs67:�Ä}8f$tBcUt�`���adr^ad|$ad[^}ÓyJqd��yM_^|�]�`b[)��� g tB|(y2`btB|O�)qsf��ªe)a g e¾ad|(yU})[UfOe)t�`�a�}8f$tBcUt�`ªr@yNq¨�)tUתyU}8_��Ä`$y g f$ad[^}�yJq]�yU`bfªas|f�`$��} g yNf$tB� n aLvÍtUv5`b[^��})��tB�¾f$[J��yU`b��|�?Bt�`�[�v( �e)ad|({wy ¤ tB|Iadf(tB|O]�t g a�yJqdqd_�a�{w]�[^`�f�yU}8fIf$[�]�`b[Jr)as��t+yw��t g a�{wyJq

Page 47: Professional Programmer's Guide to Fortran77 Clive G. Page

é ± µ�²3� °�� �$�<²ð� >^Ç

]�[8a¨}8f�yJf�f�e)t(t�})��[J�§yw`bt�yNq g [^})|$f�y8}Uf�tBrUt�}+a��§f�e)tª�Ä`$y g f$ad[^}�yNq�]�yU`bf�ad|£?Bt�`�[�vz��[)`§tB¢�yU{w])qdtU×m � � �m�^ò o � m � � �m�^ò � o�o Ö�Ö:Õ � � Ö �m�^ò j ��Õ o Ö�Ö � Ö �m�^ò j � m �m�^ò p

 �e)t g [^{"�)a�}�yJf$ad[^}�[N�Ôf�e)t�fb��[w]�`bt g tB��a�})cX`$�)qdtB|Ï{�y�_+e�y�r8t(��})tB¢:]Át g f$tB�¾tå��t g f | n �L[^`ÃtB¢:yU{�])qstU×Õ � o Ö,Ö�Ö � �m�^ò � o Ö�� o Ö�� o �m�^ò � m

�Ie)t�`bt�yN|QÕ � o Ö,Ö)Ö � v p ad|Ïy8}+a¨}8r@yNqsad��tB¢�]�`btB|$| as[)}XyJ|�fOe)t g [^{w]��)f t�`���[^�)qd�Xf�`b_+f$[wtBrJyJq���yJf$t=f�e)t(qd[Uc^y8`badf�e�{[J�� o v p�n �Ie)a g e���[)tB|I})[Uf�tB¢)ad|$f�v§�)a�{"adq�yU`bqd_ n f�e)t�tB¢:]�`�tB|$|$ad[^}>×

� ��>�Ö È v p �m�^ò Q�� ¦Ï�§Õ � ��>^ÖÖ È v p �m�^ò p v p�Ie)t�`bt�yN|

È v p Ö � ��> �m�^ò j�È v p ��Q��z¦��§ÕI>^Ö �m�^ò � v Ç È¹ N[2n/�8rGIH�/�Gs67:72Z�t�`bfOyJa�} y8`badf�e�{"tBf$a g yJq�[^]Át�`$yJf$ad[^})|Xy8`bt�]�`b[^e)a��)adf$tB� �Át g yU�)|$t�fOe)tBa¨`�`�tB|��)qdf$|�yU`�t�})[UfX{wyNf�e)t�{wyJf$a g yJqdqd_��tO¬�})tB�5vÃ��[^` tB¢:yU{�])qst���adr)ad��a¨})cX�8_5?Bt�`b[ n ` yJad|$a�})c�y"})tBc^yNf$adrUtIrJyJq��)t(f$["y"`bt�yJq�]Á[J��t�` n y8})��`$yNas| a¨})c�?Bt�`b[f$[wy(})tBc)yJf$adrUt(]�[J��t�`Bvz �e)tª��[^`�f�`$yU}w�)fOyU})��yU`b�+��[^tB|ª})[Uf�|�]�t g a��L_2tB¢�y g f$qd_+�Ie�yJf§ad|�f [�e�y8]�]�t�}+a��Ô[)})tI[J�f�e)tB|$t�t�` `b[^`b|�[ gBg ��`b|�×Ã{"[U|$f�|$_)|$f$t�{"|�as| |��)tQyU}+t�` `b[^`�{"tB| |�yJcUt(yU})�Xy8��[^`bf�f�e)t(]�`b[Uc^` yU{�v�§`$`b[)`b| g yU}+yJqd|$["[ gBg ��`���t g yU�)| t(}^��{"��t�`�|\y8`btI| f$[^`btB�w[)}2y g [^{w]��)f t�`§��asfOe�¬�})asf t(`$yU})cUtIy8})�X]�`bt g a��

|$ad[^}>vª �e)tQ`btB|O�)qsf |�[J��yJ����a�})c2[)`I{"�)qdf$a�])qd_^a�})cXfb��[wrUt�`�_�q¨y8`bcUtQ})��{"��t�`b|�{wyM_X��t=[^�)f$|$ad��t"f�e)t"}^��{"��t�``$yU})c8tU×�f�e)ad|(ad| g yNqsqdtB�h[JrUt�`���[J�(v=¦Î|$a�{"adq�yU`=tå��t g f�[)}¾rUt�`b_¾q�yU`bcUtw})tBc^yNf$adrUtwa�}Uf tBcUt�`b|(ad| g yJqdqstB����})��t�`����[J�(v��¾[U|$f�| _^|$f t�{"|I��asqdqzad|$|��)twy���yU`$})a�})c�{�tB|$|�yJcUt��Ð[)`�[JrUt�`���[J�k[^`ª��})��t�`���[J� n yU})��{wyM_�yU�Á[^`bfªf�e)t]�`b[Uc)`$yU{ n ���)f�|$[){"t(]�`b[ g tB|$|$[^`b| g yU}�})[Uf���tBf$t g f�t�`$`b[^`b|�[J��f�e)ad|ª|$[^`bf�a�}Ur8[Uqdr^a�})c�a�}Uf tBcUt�`�yU`badf�e�{�tBf$a g v�zrUt�`b_¾[^]Át�`$yU})��Õ�rJyU`ba�yU�)qdt n yU` `$yM_�tBqdt�{"t�}8f n [)`ª�Ä��} g f$ad[^}h`btO�Lt�`bt�} g t�Ö"�)|$tB��a�}hyU}~tB¢�]�`btB|$|$ad[^}Ó{"�)|$f

e�yMrUt�y���tO¬�})tB��rJyJq��)tXyJf(fOe)t2f$a�{"t�fOe)t2tB¢�]�`btB|$|$ad[^}Óad|"tBr@yNq¨��yNf$tB�5v���[Uf$twfOe�yJf"r@yU`ba�yU�)qdtB|2y8})� yU` `$yM_^|yU`bt"a�})adf$a�yJqdqd_���})��tO¬�})tB� ��})qdtB|$|"y+|��)adf�yU�)qdt5S ø^ú)ø |$f�yNf$t�{"t�}8fIad|(�)|$tB�5v��z¢�]�`btB|$|$ad[^})|({"�)|$f(})[8fIa�} g q��)��t`btO�Lt�`bt�} g tB|(f [XyU}U_�tB¢^f t�`$}�yJq�Ä��} g f$ad[^})|(��adf�eÊ|$ad��t2tå�5t g f$|�[^}�[UfOe)t�`�[^]Át�`$yU})��|�[J��f�e)twtB¢�]�`btB|$|$ad[^}>×�| tBt|$t g f$ad[^} l v � �L[^`�{"[^`�tI��tBf�yNasqd|�v

wy8�Gv/�,<^JN|/�GIHJKM6�:c2n/3.':F/«����O<8�N�2�29Gv6�:c2¦�`badf�e�{"tBf$a gwg [^})| f�yU}8fItB¢�]�`btB|$|$ad[^})| g yU}¾��t2�)| tB��a�}Jk ø l ø)é^ö)ú)ö l�|$fOyJf$t�{"t�}8f$|IyU})�~f$[2|O]�t g a��Ð_¾a�{w])qdadtB�)��(ÅÎ]�yU`$yU{�tBf$t�`b|ªa¨} S ø)ú^ø | f�yJf$t�{"t�}8f$|�vª¦ªqdq§f�e)t"[^]Át�`$yU})��|�a�}�y g [^})|$f�yU}8f�tB¢�]�`btB|$|$ad[^}¾{"�)|$f(��t"qdadf$t�`$yJqg [^})|$fOyU}Uf |�[^`�]�`btBr)as[)�)|$qd_���tO¬�})tB� }�y8{"tB� g [^})|$fOyU}Uf |�v � y8`ba�yU�)qdtB| n yU`$`$yM_�tBqdt�{"t�}8f$| n y8})�¾�É��} g f as[)}�`btO���t�`bt�} g tB|(yU`�t(yJqdqÔ]�`b[)e)a¨�)adf$tB�5v$� ¢:]Á[^})t�}Uf a¨yNf$ad[^}�as|ª[^})qd_�yNqsqd[J��tB�Xa��§f�e)t"}^��{"��t�`ªad|�`$yJad|$tB��f$[�y8}�a�}Uf tBcUt�`]�[J��t�`Bv �e)t"|�yU{"t"`$�)qdtB|(yU]�])qd_Xf$[wa�}8f$tBcUt�` g [^})| f�yU}8f�tB¢:]�`�tB|$|$ad[^})|(���)f�a�}¾yJ����adf$ad[^}�f�e)t([^]Át�`$yU})��|({"�)|$f�yJqdq

��t+a�}Uf tBcUt�` g [^})|$f�yU}8f$|�×=|�� g e�tB¢�]�`btB|$| as[)})| g y8}��Át��)|$tB�Óf$[�|�]�t g a��L_ yU` `$yM_Ê�Á[^��})��|"a�}Óf�_�]�t n ü T é)é T û��yU})�yS � é)ö)û � � T û |$fOyJf$t�{"t�}8f$| n yU})��f$[�|�]�t g a��L_�|$f�`ba�})c+qst�})c8f�e)|�a�} ü8ý^ø l ø:ü8ú^ö lw|$fOyJf$t�{"t�}8f$|�v

D�Gv/�Ø�ó«GI23N�fg6F\'G�Hd.Fu$�5O<N[89.�/�Gs67:7256�:Y09:F/3N|\]N[8�2� e)t�}���[^`bf�`$y8}�]�`b[Uc^`$y8{"| g [^{w{"��})a g yJf$t§��a�`bt g f qs_=��adf�e���adcUadf�yNq:e�yU`����\y8`btzadfÔ{wyM_���t�})t g tB|$|�yU`b_�f [ g yU`$`b_[^�)f"�)asf��Ä��ad|$t2qd[Uc8a g yNq§[^]Át�`$yJf$ad[^})|=[^}��)adfb��]�yJf$f t�`$})|�v2�)fOyU})��yU`b����[^`bf�` yU}���[^tB|"})[UfQ]�`b[Jr)ad��t2yU}8_���a�`bt g f��yM_([J����[8a¨})c"f�e)ad| n |$a�} g t�qd[UcUa g yJq>r@yU`�a¨y8�)qstB|�tB|$|$t�}8f$a�yJqdqs_+[^})qd_w|$f [^`bt�[^})t��)asf�[J�5a�}8�L[^`${wyJf as[)}2yU})�+a�}Uf tBcUt�`r@y8`ba�yU�)qdtB| g yU}Ó[^})qd_���t��)|$tB�Ò�Ð[^`"yU`�asfOe�{"tBf$a g v"��yU}U_~|$_^| f$t�{"|2]�`b[Jr)ad��t n yJ|2yU}ÒtB¢^f$t�})| as[)} n a¨}8f�`ba�})|$a g�Ä��} g f$ad[^})|(f$[�]�t�`��Ð[^` { �)adfb�Ä��ad|$t�[^]�t�`$yNf$ad[^})|�[^}�a�}Uf$tBc8t�`b|�v( �e)t=�Ä��} g f$ad[^}�}�yU{�tB|IrJyU`b_>×�fb_:])a g yJqdqd_�f�e)tB_yU`bt � ø)û S � � Tbl � � � ý � ï)ú vJ¦Â�LtB��|$_)|$f$t�{"|§]�`�[@r)ad��tIyJqdqd[J� fOe)tI})[^`${wyNq�qs[8cUa g yJq�[^]Át�`$yJf$[)`b|z|�� g ewyJ| Þ�ø^û S ÞyU})� Þ Tpl Þ f$[���t��)|$tB�"��adf�e=a�}Uf$tBc8t�`zyU`bc^��{"t�}8f$|�×>fOe)as|zad|�yI{"� g e({"[^`�t\` yJ��a g yJq^tB¢)f$t�})|$ad[^}�yU})�Q{"� g e(qdtB|$|

Page 48: Professional Programmer's Guide to Fortran77 Clive G. Page

é ± µ�²3� °�� �$�<²ð� > m

|�yJf as|��Éy g f [^`b_ n })[8f�[^})qd_��Át g yU�)|$t�adfI`btB��� g tB|ª]�[^`bfOyU�)adqsadfb_ n ���)f\yNqs| [2`btB��� g tB|�f�e)t(y8�)asqdadfb_�[J��f�e)t g [^{w])adqdt�`f$[w��tBf t g f�t�`$`b[^`�|�a�}�})[^`${wyJqyU`badf�e�{"tBf$a g tB¢�]�`btB|$|$ad[^})|Mv�Êy8}U_ª|$_)|$f$t�{"|zyJqd|$[I]�`b[Jr)ad��t§�L[^`${�yJf>��tB| g `ba�])f$[^`b|f$[ªf�`$yU})|��Ðt�`>a�}8f$tBcUt�`b|z�)|$a�})cª[ g f�yNq^yU})�Qe)tB¢�yJ��t g a�{wyJq

})��{Q�Át�`I��yN|$tB|�×f�e)tB|$t"yU`bt(yJqd|$[2})[)}8�Ä|$f�yU})��yU`��5v

©Ra7GIe7N�u�GW:'N[2

�z¢�]�`btB|$| as[)})|���asfOe�{"ad¢)tB�!��yJf�yÒf�_�]�tB|�|�e)[^�)qd� ��tÓtB¢�yU{"a�})tB� g yU`btO�Ä�)qdqs_&f$[Ât�})|���`btÓf�e�yJfXfOe)t�fb_:]ÁtO�g [^}8rUt�`b|$ad[^}¾`$�)qdtB|"e�y�r8tQfOe)tQ��tB| a¨`�tB��tå�5t g f�v(�Éf(��[)tB|(})[Xe�yU`${Ëf$[X�)| tQfOe)tQfb_�]�t g [)}UrUt�`�|$ad[^} �É��} g f$ad[^})|tB¢�])qsa g adf$qd_�yU})��adfÏ{�y�_+{wy ¤ t�f�e)t���[^` ¤ a�})c g qdt�yU`bt�` vxzyU`bf$a g �)q�yU` g y8`bt"as|"})tBtB��tB����asfOe¾f�e)t"��yJf�y+fb_�]�tB|([N��qdadf$t�`$yJq g [^})| f�yU}8f$|�v"�Lf(ad|"��yJ��]�`$y g f$a g t+f$[��)| t

yU}Óa�}8f$tBcUt�` g [^})| f�yU}8fQ�ªe)t�`bt�_U[^�h`bt�yNqsqd_�})tBtB�Ñy�`�t�yJq g [^})|$fOyU}UfMv�¦ªqsfOe)[^�)c^ehfOe)as|���adqsqª��[^` ¤ a�}Â{"[U|$ftB¢�]�`btB|$|$ad[^})|=asf�ad|(y+|$t�`�as[)�)|({"ad|$f�y ¤ t"f$[��)|$t"f�e)t"�I`b[)})cw�L[^`${Ë[J� g [)})|$f�yU}8fIa�}¾fOe)t�y8`bc^��{"t�}8fIqdad|$f=[J��y]�`b[ g tB����`btUv�>[^})c�yU})� g [^{w])qda g yJf$tB�ÂtB¢:]�`�tB|$|$ad[^})|+�Ie)a g eÓ|�]�`�t�yJ�h[JrUt�`�|$tBr8t�`$yJq�qda¨})tB| g yU}h�ÁtX`$yJf�e)t�`=f�`b_)a�})c¾f$[

`bt�yJ��[��5t�`�{"[^`�t(| g [^]Át��L[^`ª]�`b[Uc^`$y8{w{"a�})cwt�`$`b[)`b|�v��)[^{"tBf a¨{�tB|Iadf�ad|Ï�ÁtBf$f$t�`�f$[+|�])qdasf�fOe)t g [^{w]��)fOyJf$ad[^}a�}Uf [w|$tBrUt�`$yNq5|�e)[^`bf t�`§t3Ô���yJf$ad[^})|�yJf�f�e)t�tB¢�]�t�})|$t"[J�z[^})t�[^`\f���["f$t�{w]Á[^`$yU`�_wr@yU`�a¨y8�)qstB|Mv�Lfªas|�[N�Ðf$t�}+f t�{w])f$a�})c2f [2f�`�_2f$[+�I`badf$t"]�`b[Uc^` yU{"|�f�e�yJf�yU`bt(yJ|ªtåÜ g adt�}8f(yJ|I]�[8|$|$a��)qdtUv � adf�e�{"[^��t�` }

g [^{w])adqdt�`b|=f�e)t�`bt(ad|=qsadf$f qst+]�[Ua�}8f�a¨}�f�`�_^a�})c�f$[�`bt�yU`$` yU})cUt�tB¢�]�`btB|$|$ad[^})|=f$[2[)])f$a�{"ad|$t"|�]�tBtB�5v(Å�})t"[J��f�e)t�LtB��tB¢ g t�])f$ad[^})|§ad|�f�e�yJfza���yU}"a�}8f�`ba�})|$a g �Ä��} g f$ad[^}�ad|�]�`b[Jr)as��tB�+adf§ad|�yNqs��yM_)|§��tB|$fÃf$[Q�)|$t�asfM�Uf�e)�)| � ù l úgþð� �ad|Iqda ¤ tBqd_Xf [��Át��ÄyJ|$f$t�`�yU})�¾{"[^`bt(y gBg ��`$yJf$t�f�e�y8} � ÿiÿ ôÃÞ ô�v�z[^�2{�y�_=¬�})�+f�e�yJfÃ_U[^��`z| _^|$f t�{ y g f���yNqsqd_w| tBf$|§f�e)tª�Ie)[Uqdtª[J��{"t�{"[^`�_Qf [M?Bt�`b[=a¨})adf$a�yJqdqd_ n tB¢ g t�])fÃ�L[^`

adf$t�{"|���tO¬�})tB�¾��adf�e¨S ø)ú)ø |$f�yJf t�{"t�}Uf | n ���)f�adfIad|�rUt�`�_���yJ�¾]�`b[Uc^` yU{w{"a�})cw]�`$y g f$a g t=f$[2`btBqd_+[^}+f�e)ad|�v

UgÃW× JÆpÚWÒdß�ÏÊË�ÒpÚ�è8B�Ñ�ÒpÆpÚ³Ñ�à�Ú³èaQgé�Ñ�èiÒpÚ³Í7Ñ�à�Ä}8f�`ba�})|$a g �Ä��} g f$ad[^})|(yU`�t(|���]�])qdadtB��yU�)f$[){wyJf$a g yJqdqd_��8_�f�e)t(| _^|$f t�{ yU})� g yU}���tw�)|$tB�¾a�}�tB¢:]�`btB| |$ad[^})|�a�}yU}8_�]�`�[Uc^`$yU{Î��})adf�væ���tB| g `ba�])f$ad[^}�[J��f�e)tBa�`�|�]�t g a�yJqz]�`b[^]Át�`bf$adtB|Ïy8]�]�t�yU`b|�a¨} |$t g f$ad[^} l v j v�Êy8}U_"[J��fOe)tÏyU`�asfOe�{"tBf$a g a�}8f�`ba�})|$a g �Ä��} g f$ad[^})|Ie�yMrUt�cUt�})t�`ba g }�yU{"tB|�×f�e�yNf�ad|�f�e)tB_ g y8}2�Át(�)|$tB�2��asfOe

|$tBrUt�` yJq>��a��5t�`bt�}8f�fb_:]ÁtB|�[J�ÔyU`�c^��{"t�}8f$|�vz �e)t(��Õ$Q Â�É��} g f as[)} n �L[^`ztB¢�yU{w])qdt n g yU}+��tQ�)| tB����adf�e�y"`bt�yJq n��[^���)qdt�]�`bt g ad|$ad[^} n [^` g [^{�])qstB¢�yU`�c^��{"t�}8f�vw �e)tw��[^`bf�`$y8}�|$_)|$f$t�{�yU�)f$[^{wyNf$a g yJqdqs_¾|$tBqdt g f$|=f�e)t g [^` `bt g f|�]Át g a ¬ g �É��} g f$ad[^} �L[^`�f�e)t�Áb[^�>×���Õ$Q  n �(��Õ$Q  n [^`ªZ���Õ$Q �v> �e)tB|$t"|�]�t g a�¬ g }�y8{"tB| g y8}X��t"adc^})[^`�tB�a�}�yJq�{"[U|$f�yJqdq g a�` g ��{�|$f�yU} g tB| n yU})�XyU`btªqdas| f$tB�X[^})qd_+a�}+f�e)t(yU]�]�t�})��ad¢>v���}�{"[U|$f g yJ| tB|�fOe)t���yJf�y=fb_:]ÁtI[J�f�e)tª�Ä��} g f$ad[^}�ad|ªf�e)t�|�yU{�t(yJ|�f�e�yJf�[J�zadf$|IyU`�c^��{"t�}8f\���)f�f�e)t�`btQy8`btÏyQ�ÐtB�k[)�Ur)ad[^�)|ItB¢ g t�])f$ad[^})|ª|�� g e�yJ|f�e)t�fb_�]�t g [)}UrUt�`�|$ad[^}��É��} g f as[)})|�v�Ä}Ñf�e)t¾��tB| g `�a¨])f as[)})|Ê�ÁtBqd[@� n fOe)tÊ})��{"��t�`�yU})�Ñ��yJf�y~f�_�]�t~[J�(f�e)t�yU`�c^��{"t�}8f$|2[N�Qt�y g eÂa¨}8f�`ba�})|$a g

�Ä��} g f$ad[^}XyU`�t�a¨})��a g yJf tB�Ê�8_�y"qdtBf$f$t�`Bק� � a�}8f$tBcUt�` n Q � `bt�yJq n � � ��[^���)qdtQ]�`bt g ad|$ad[^} n � � g [^{w])qdtB¢>v¦Ï}�yN|$f$t�`bad| ¤ [^}¾fOe)twqdtO�Ðf=a¨})��a g yJf tB|wf�e�yJf�f�e)t+`btB|��)qdfQe�yJ|=f�e)tw|�y8{"tw��yJf�y+fb_�]�t2yN|(f�e)t2y8`bc^��{"t�}8f$|�v

��[Uf$t�f�e�yNf§a��Ô{"�)qdf$a�])qst(y8`bc^��{"t�}8f$|�y8`btI]�t�` {"adf$f$tB��f�e)tB_w{"�)|$f�yNqsq5e�yMrUt�fOe)t�|�yU{"tª��yJf�y�fb_:]ÁtUvÔ �e^�)|�� ��ª�Ä�ª (Õ�Q��(Öa�})��a g yJf$tB|�f�e�yJfzfOe)tI�I���I ~�Ä��} g f$ad[^} g yU}=f�y ¤ t�yª|$a�})cUqdt�`bt�yJq�[^`��[)���)qstª]�`bt g ad|$ad[^}�yU`bc^��{�t�}Uf���)f�adf$|�`btB|��)qdf�ad|�yJqd�\yM_)|§a�}8f$tBcUt�` n �Ie)t�`bt�yN|�Ö � ¦Ï�ª�Ä�ª (Õ�Q\�(Ö§a�})��a g yJf$tB|�f�e�yJf�f�e)t�`btB|��)qdf�e�yJ|�f�e)tI|OyU{"tfb_:]Át2ÕL`bt�yJq>[^`\��[^���)qdt�]�`�t g as| as[)}�ÖIyJ|�f�e)t(yU`bc^��{�t�}Uf�v

Page 49: Professional Programmer's Guide to Fortran77 Clive G. Page

é ± µ�²3� °�� �$�<²ð� > l

Ë�8�Gv\�:)6�^�Ni/�8�G�H�4ga<:cHd/�Gv6�:c2 �e)tª�Ä��} g f$ad[^})|�a�}+f�e)ad|�c^`�[^��] g y8}�yJqdq��Át(�)|$tB��[^}�`bt�yNq�[)`§��[)���)qst(]�`�t g as| as[)}XyU`bc)��{"t�}Uf | n yU})�������!yU})�Z�Å�� g yU}�yJqd|$[2�ÁtQ�)|$tB��[^} g [^{w])qdtB¢X})��{Q�Át�`b|�v��Ä}+tBrUt�`�_ g yJ|$t�f�e)t(`btB|O�)qsf�e�yJ|�fOe)t�|�yU{"t���yJfOy"fb_:]Át(yJ|f�e)t(yU`�c^��{"t�}8f�v

ÿxõ � � û�þ liS � � |$a�})t([J�zf�e)t(yU})cUqdt=a¨}�`$yJ��a�yU})|�vÿxõ ü Ti� þ liS � � g [U|$a�})t([J�zf�e)t(yU})c8qst=a�}X`$yJ��a�yU})|Mvÿxõ ú^ø)û�þ liS � f�yU})cUt�}8f�[J�ÔfOe)t(yU})cUqdt(a�}X` yJ��a�yU})|�vÿxõ ø � � ûgþ l|S � yU` g �Ä|$a�})tU��f�e)t"`btB|��)qdf�ad|ªa¨} f�e)t(`$yU})c8t % âK\ o f$[ ' âK\ o vÿxõ ø:ü T|� þ l|S � yU` g � g [U|$a�})tU��fOe)tQ`btB|��)qdf�ad|ªa�}�f�e)t(`$y8})cUt p f$[ ' âÒvÿxõ ø^ú)ø^ûgþ l|S � yU` g �Äf�yU})c8t�}Uf��)f�e)t(`�tB|��)qdfIad|�a�}�fOe)tQ`$yU})c8t % âK\ o f$[ ' âK\ o vÿxõ ø^ú)ø^û�=<þ liS � liS � yU` g �Äf�yU})c8t�}Uf�[J��yU`bc j �UyU`bc o ��f�e)t+`btB|��)qdf(ad|"a�}¾f�e)t2`$y8})cUt % âÓf$[ ' âzv

£§[8f�e�yU`bc^��{�t�}Uf$|�{"�)|$fI})[8fI��t$?Bt�`b[�vÿxõ � � û^ýgþ l|S � eU_�]�t�`$�Á[Uqda g | a¨})tUvÿxõ ü Ti� ýgþ l|S � eU_�]�t�`$�Á[Uqda gQg [8|$a�})tUvÿxõ ú^ø)û^ýgþ l|S � eU_�]�t�`$�Á[Uqda g fOyU})cUt�}8f�v��[Uf tQfOe�yJf�f�e)t2yU`�c^��{"t�}8f$|�[J�\����� n Z�Å�� n yU})�� ¡¦�� {"�)|$f(�Át2yU})cUqdtB|"{"t�yJ|���`btB�~a¨}Ó`$yJ��a�yU})|2ÕÉ})[Uf

��tBc^`btBtB|OÖBvX �e)tB_ g y8}��Át��)|$tB�Ó[^}ÓyU})cUqdtB|"[J�IyU}8_�|$a@?Bt n ]�[8|$adf$adrUt2[)`(})tBc^yJf asr8t n ���)f(a��If�e)t�{wyJc)})asfO�)��tad|�rUt�`b_�q�yU`bc8tQfOe)tQy gBg ��`$y g _X[J�§f�e)t"`btB|��)qdf���adqdq§��t2`�tB��� g tB�5vÏ�)a�{"adq�yU`bqd_�yNqsqf�e)t"a�}Ur8t�`b|$t"f�`badcU[^})[){"tBf�`ba g�Ä��} g f$ad[^})|I��tBqdadrUt�`�yw`�tB|��)qdf�a�}�` yJ��a�yU})|���f�e)t(y8`bc^��{"t�}8f�[J�z¦Ï�����!yU})��¦IZ�Å���{"�)|$f���t(a�}�f�e)t(`$y8})cUtª� jf$[ '"j v§ �e)t�¦§ 5¦�� o �Ä��} g f$ad[^} g y8}���t(�)|$tO�Ä�)q5a�}�`btB|$[Uqdr)a�})c�y"`btB|��)qdf�a�}8f$[wf�e)t g [^`$`�t g f Ô���yJ��`$y8}Uf�[J�zf�e)tg a�` g qdt n fOe^�)|�×

ø)ú^ø)ûgþ�ôÃÞ ô � õ ô§Þ >�M A M�> @ Mø)ú^ø)û�=�þ,=§Þbô�� > Þ�ô � õ ô§Þ >�M A M�> @ Mø)ú^ø)û�=�þ,9<=ÃÞbôg�49 > Þbô ��õ 9<=ÃÞ M @�@^ó >�ôXÕ � p v�>iB � B�>^ÇbB���â5ÖBv

��/�,)N�8�Ë�8�.':72�HdNF:7e7N]:F/3.Fu�4�a�:7H�/�Gs67:72ÿxõ � ù l ú�þ liS � � |ðÔ���yU`bt(`b[)[Uf�vÿxõ � T|m þ liS � � }�yJf���` yJq>qs[8c^yU`badf�e�{ n aÐv tUv�qd[Ucwf$[2��yN|$t�t2Õ��Ie)t�`bt=t � o v Ç jMmUoUm�j�m8oUm v�v�vÍÖBvÿxõ öi� k þ liS � � `btBf���` })|§f�e)tªtB¢:]Á[^})t�}8f$a�yJq n aLvÍtUvUtªf$[(fOe)tÏ]Á[@��t�` [J�5f�e)tÏy8`bc^��{"t�}8f�v� �e)as|

ad|�f�e)t=a¨}8rUt�`b| t�[J�ÔfOe)t(}�yJf���`$yJq¡qs[8c^yU`badf�e�{�vÿxõ � T|m'ò ô<þ l|S � qd[Uc^yU`�asfOe�{Îf$[w��yJ|$t j�p v��[Uf tIf�e�yNf��5Å�u j�p�n �ªe)a g e�{wyM_w��t(�)|$tO�Ä�)q>f$[ g [){w]��)f$tª��t g a¨�ÁtBqÔ` yJf$ad[U|§tBf g v n as|�f�e)tª[^})qd_+[^})tI[N��fOe)as|

c^`b[)��]+�Ie)a g e g yU}�})[UfI�ÁtQ�)|$tB��[^}�y g [^{w])qdtB¢XyU`�c^��{"t�}8f�v

Ë�h�O<N�KM67:�º'N�8�2�Gs67:�4�a�:7H�/�Gs67:72 �e)tB|$t��Ä��} g f$ad[^})| g yU}+��t(�)|$tB��f [ g [^}8rUt�`bf �É`b[){ y8}U_"[J��fOe)t��L[^��`�yU`badf�e�{"tBf a g ��yNf�y�fb_�]�tB|�f$[Qy8}U_w[N��f�e)t[Uf�e)t�`�|�v� �e)tB_�yU`�tQ�)|$tB�¾yU�)f$[^{wyNf$a g yJqdqs_��ªe)t�})tBrUt�`I{�as¢)tB�¾��yJf�y=fb_:]ÁtB|Ïy8`bt�t�} g [^��}8f$t�`btB�¾a�}XyU`badf�e�{�tBf$a gtB¢�]�`btB|$|$ad[^})|�yU})�XyJ|$| asc)}�{"t�}Uf |�v

�xõÐ� û)ú�þ � l|S � � g [^}8rUt�`bf |�f$["a�}Uf$tBc8t�`I�8_2fO`$��} g yJf$ad[^}>vl õ l ö)ø[�<þ � liS � � g [^}8rUt�`bf |�f$[w`bt�yJqLvS õ S|� �Uögþ � liS � � g [^}8rUt�`bf |�f$["��[^���)qdtw]�`bt g ad|$ad[^}>v� õ üUé k �b�gþ � l|S � � g [^}8rUt�`bf |�f$[ g [^{w])qdtB¢>v� õ üUé k �b�gþ � l|S � � liS � g [^}8rUt�`bf |�f$[ g [^{w])qdtB¢>v �e)t�a¨}8f$tBcUt�` g [^}8rUt�`b|$ad[^}=[J�����I h`�[^��})��|�f [@��yU`���|7?Bt�`b[��Ja���_8[^�(})tBtB�wf [I`b[^��})�"f$[ªf�e)t�})t�y8`btB|$fza�}Uf tBcUt�`

Page 50: Professional Programmer's Guide to Fortran77 Clive G. Page

é ± µ�²3� °�� �$�<²ð� ÈUp

�)|$t"f�e)t"�I���I ð�É��} g f as[)} ÕÐ��tB| g `ba���tB���ÁtBqd[@�ªÖBvI �e)twZ���xÃ� � �É��} g f as[)}�]�`�[^��� g tB|(y�r@yJq��)t"��adf�e¾y�?Bt�`b[a�{wyJcUa�}�yU`�_ g [){w]�[^})t�}8f���})qdtB|$|�adfzad|��)|$tB�w��adf�e"fb��[�yU`bc^��{"t�}8f$|IÕ�[)`[^})t��Ie)a g e"ad|�yJq�`bt�yJ��_ g [^{�])qstB¢�ÖBv§�Éfad|Ia�{w]Á[^`bf�y8}Uf�f$[2`�t�yJqdas| t(f�e�yJf�{wy8}U_ g [^}8rUt�`b|$ad[^})|�qd[U| t�a¨}8�L[^`${�yJf$ad[^}>×za�}X]�y8`bf$a g �)q�yU`Iy���[^���)qdtQ]�`bt g ad|$ad[^}r@yNq¨�)t=ad|Iqda ¤ tBqd_Xf$[�qs[8|$t�|$adc^})a�¬ g yU}8fI��adcUadf$|ªa�� g [^}Ur8t�`bf$tB��f$[2y8}U_w[8f�e)t�`���yJf�y�f�_�]�tUv

ô GW:cGW^�a<^ .':7e ô .��<G�^�a<^ �e)tE�Ê���!yU})�J�¾¦ � �Ä��} g f$ad[^})|�yU`btQ��})a@Ô��)twa�}¾��tBa�})cXyU�)qdt"f$[wf�y ¤ tQyU}8_�})��{"��t�`ª[J�§yU`bc)��{"t�}Uf |��É`�[^{fb��[���]8��yU`b��|��)f�e)t(`�tB|��)qdfÏe�yJ|�f�e)t�|�yU{"t���yNf�y"fb_:]Át(yJ|�f�e)t(y8`bc^��{"t�}8f$|�v

ÿxõ é � û�þ � l|S � � liS ��Þ^Þ)Þ � `btBf���`$})|�fOe)t�|�{wyJqdqdtB|$fª[J�Ôadf$|ªyU`bc^��{"t�}8f$|�vÿxõ é^øi��þ � l|S � � liS ��Þ^Þ)Þ � `btBf���`$})|�fOe)t�q¨y8`bcUtB|$f�[N�Ôadf$|Iy8`bc^��{"t�}8f$|�v �e)tB|$t�fb��[��Ä��} g f$ad[^})| g yU} n [J� g [^��`�|$t n ��t g [){Q�)a�})tB�Âf$[¾qsa�{"adf�y�r@yJq��)tXf [Êy g t�`bfOyJa�}h`$yU})cUtUv¾��[^`

tB¢�yU{w])qdt n f [Qqda�{"adf(y"rJyJq��)tQ ����Êx���QÑf [wf�e)t(`$yU})c8t �Uo f$[ o�j�o _U[)� g yU}��)|$tQy8}+tB¢:]�`btB| |$ad[^}�|�� g eXyN|�×é)ø|�gþ,A<=ÃÞ�ô���é � ûgþ$ú)ö^é k ö l �õ= ò =ÃÞbô ���

��[Uf$t�f�e�yJf�f�e)t"{"a�})a�{Q��{ [J�zf�e)t(`$yU})c8t�as|�yU}�yU`�c^��{"t�}8f�[N�Ôf�e)t$�¾¦ � �Ä��} g f$ad[^}�yU})�Xr)a g tO�ÄrUt�`b|�y�v 5["¬�})��f�e)t�q�yU`bcUtB| fQÕ�[^`Ã|�{wyNqsqdtB|$fOÖ�tBqdt�{"t�}8fI[N�Ôy"q�yU`bcUt"yU`$`$yM_wadf�ad|�})t g tB|$|�yU`�_��)|$t"y"qd[^[)]>v

ÿ ï�ò îÁñ âUà^á8è�ã^ßJÙ:g:àÁâ�å>ãkòBî!à^á)á^à8êÑú�ë8í û�ã^â)ã�ì>ãMî:Ù�ßÔÛú Tpk õ úgþ ò �S�T = ô � �Yõ =g�bû

ú Tpk õ é)ø|�gþ ú�þ ��� ��ú Tbk �= ô ü T û)ú � ûb�:öÿ ú Tbk îÁë8Ý!äUëJî�Ù:à�ò î�ßhÙ8Ø�ãÑâUà^á8è�ã)ßJÙ�ã)â)ã�ì>ã�î�ÙkëUíÑú�Þ

��/�,)N�8y4ga<:7H�/�Gv6�:c2ÿxõ ø � û)ú�þ liS �  `$��} g yJf$tB|�f�e)t��É` y g f$ad[^}�yJq5]�yU`bf�Õ�aLvÍtUv�yJ|��Ä�ª �Ö����)fI]�`btB|$t�`�rUtB|�f�e)tI��yNf�y

fb_:]ÁtUvÿxõ ø)û � û^úgþ l|S � Q�[^��})��|ªf$["f�e)t"})t�yU`btB|$f��ªe)[Uqdt(}^��{"��t�` v�xõ û � û)ú�þ liS � Z�[^}8rUt�`bf |�f [Qa�}8f$tBcUt�`ª�U_�`b[^��})��a�})c+f$["f�e)tQ})t�y8`btB|$f��Ie)[8qst(})��{"��t�`Bvÿxõ ø �[� þ � liS � Q�tBf���` })|�fOe)tÏyU�)| [Uq��)f$tIrJyJq��)t�[J�Ôy=}^��{"��t�`�Õ�aLvÍtUv)adf g e�y8})cUtB|�f�e)tI| asc)}wa��

})tBc^yJf asr8t�ÖBvl õ ø �[� þð� � Z�[^{�]��)f$tB|§f�e)t�{"[)���)q��)|�[J��y g [^{�])qstB¢+}^��{"��t�`�Õ�aLvÍtUv)f�e)t�|ðÔ:��y8`btO��`b[)[Uf

[J��fOe)t(|���{Î[N�Ôf�e)t�| Ô:��yU`�tB|�[J�zf�e)t�fb��[ g [^{�]�[^})t�}8f$|�ÖBvÿxõ é TpS þ � liS � � liS � `btBf���` })|Q¦ j {"[)���)qs[Ó¦ o�n aLvÍtUvf�e)tX`bt�{wyNa¨})��t�`�yM�Ðf t�`(��adr)ad��a¨})cÓ¦ j �U_

¦ o vÿxõ � � m û�þ � l|S � � liS � ]�t�`��Ð[^` {"|�|$adc^}wfO`$yU})|b�Lt�`B×a���¦ o ad|I})tBc^yNf$adrUtIfOe)tÏ`btB|O�)qsf�as|\�Ħ jUn a���¦ o as|

?Bt�`b[w[)`�]Á[U|$adf$adrUt"f�e)t(`btB|O�)qsfªad|�¦ j vÿxõ S � égþ � liS � � liS � `btBf���` })|QfOe)tX]�[U|$adf$adrUt���a�5t�`bt�} g t�[J�I¦ j yU})�h¦ o�n aLvÍtUva��Ϧ j � ¦ o asf

`btBf���` })|QÕ�¦ j �Ħ o Ö n [Uf�e)t�`b��ad|$t$?Bt�`�[�vS õ Sik|l�TpS þ l � l � Z�[^{�]��)f$tB|�f�e)t���[^���)qdt"]�`bt g ad|$ad[^}¾]�`b[^��� g fª[J��fb��[w`bt�yJq5rJyJq��)tB|�vl õ ø � é)ø m þ � � �z¢)f�`$y g f$|�f�e)t+a¨{�yJcUa�}�yU`b_ g [){w]�[^})t�}8f"[J�Ïy g [^{w])qdtB¢ })��{"��t�`Bv¾��[Uf$t

f�e�yJf�fOe)tÊ`�t�yJq g [^{w]Á[^})t�}Uf g yU}Ñ��t�[)�)f�yJa�})tB� �8_ �)| a¨})cÂf�e)t�Q�� ¦Ï��Ä��} g f$ad[^}>v

� õ ü T û ã m þ � � Z�[^{�]��)f$tB|�f�e)t g [^{�])qstB¢ g [)}9Á��)c^yNf$t�[J�§y g [){w])qdtB¢X}^��{"��t�` v �e)tÏ�ª�Ä�ª kyU})�+¦��I���I Â�Ä��} g f$ad[^})|I`�[^��})����]8��yU`b��|Ãa �zf�e)t��É` y g f$ad[^}�yJq>]�yU`bf�[J��f�e)t�yU`bc)��{"t�}UfÃad| p v È

[^`�{�[^`bt n �Ie)t�`bt�yJ|ª�Ä�ª �yU})��¦��Ä�ª &yJqd�\yM_)|�`b[^��})�Xf [@��yU`���|�?Bt�`b[�và�e^�)|M×� û^úgþ,;<AÃÞ ô � õ A û � û^úgþ,;<AÃÞ ô � õ >

Page 51: Professional Programmer's Guide to Fortran77 Clive G. Page

ö � °�± µ ± �$����µ °�± ���m�7²���� ± �X���g�m��²ð� È�j

� û^úgþ,9<AÃÞ ô � õ 9�A û � û^úgþ,9<AÃÞ ô � õ 9 > �e)tª�Ä`$y g f$ad[^}�yNq�]�yU`bf�[J�§yE��[^yJf a¨})c+]�[Ua�}8fÏ})��{"��t�` n � n g yU}+t�yN|$adqs_¾��tª�L[^��})�XtBadf�e)t�`ª�8_�×

�£9ðø � û^úgþ � �[^`

é TpS þ ��� ò Þ�ô ��Ä}+tBadf�e)t�` g yJ|$t n a�� � ad|I})tBc)yJf$adrUtªf�e)t(`btB|��)qdf���adqdq�yJqd|$[w�Át(})tBc^yJf$adrUtUv§ �e)tI¦�£����É��} g f$ad[^} g y8}2yJqd��yM_^|��Át�)|$tB��f$[wyJqdf$t�`�fOe)t�|$adc^}�a��§`bt3Ô:�)a�`btB�5v �e)ty��Ū�Æ�Ä��} g f$ad[^}he�yJ|"[Uf�e)t�`"�)|$tB|Mv¾��[^`=tB¢�yU{w])qdt�adf g yU}ʬ�})�hf�e)t���yM_�[J�If�e)t+��tBt ¤ �Ä`b[^{ yU}

yU�)|$[8q¨�)f t(��yM_ g [^��}8f�|�� g eXyJ|���[)��a�¬�tB�RÓ^�)qda�yU}��(yJf$t2Õ ��Ó8�(ÖB×é TpS þ é ã S �4@ �

e�yJ|2y�rJyJq��)t���tBfb��tBt�} p yU})�YB �Ð[)`(��yM_)|"�Ä`b[^{ � tB��})tB|$��yM_Óf$[� ��)tB|$��yM_UvÓ�)a¨{�asq�yU`�qs_Âa��Ï_U[)�h�)|$t�f�e)t¦§ ¡¦Ï� o �É��} g f$ad[^}����)f���yU}8f§f�e)t�`btB|��)qdf�f [(qdadt(a�}wfOe)t(`$yU})cUt p f$[ o ÕL`$yJf�e)t�` f�e�yU}��Ôf [ ' ÖÃf�e)t�} n yJ| |���{=�a�})c2fOe)t�r@yJq��)t([N�   � Å�x§� as|ª|��)adf�yU�)qd_���tO¬�})tB� n f�e)t(`�t3Ô:�)a�`btB��tB¢:]�`btB| |$ad[^}�ad|�×

é TpS þ ø^ú)ø^û�=<þð��� � � ;ðú ��Tpk � ��ú ��Tpk ���

UgÃIÝ JÆpÚWÒdß�ÏÊË�ÒpÚ�è8 Jà�àrÚWÞ�Ñ�ÏÐËFÑ�ÒRØ<ÒdÅ]ÒpËFÏÐËFÑ�Òdà¦�}�yU`badf�e�{"tBf$a g yJ|$|$adc^}�{"t�}8f�|$fOyJf$t�{"t�}8fIe�yJ|�fOe)tª�Ð[^` {�×

µU®O³�½V®^¸"±�½L³V��Û*ñMµU® õ µU®O³D½V®)¸Q±M½L³Õ�iÛ�± ³ �®b±B²O²B³D¯U´�Ie)t�`bt=µU®�³�½V®^¸"±�½L³V��Û�ñ�µU® g yU}w�ÁtÏy8}wyU`badf�e�{"tBf a g r@yU`ba�yU�)qdt�[^`ÃyU`$`$yM_�tBqdt�{"t�}8f�vz��[^`ztB¢�yU{w])qdt n f�e)t��L[Uqdqd[@��a¨})cyJ|$| asc)}�{"t�}Uf�|$f�yJf$t�{�t�}Uf�ad|IrJyJqdad�Ê]�`�[@r)ad��tB�Xf�e�yNf\� n � n y8})�X¦��Iu=�7��yU`�t(yJqdq5��tO¬�})tB�¾r@yJq��)tB|�×

� é^ø m ö�þ û�Ü�=�; ò �ßA ÿ þ�9 ò ��õ � � û�þ ø)û m �Uö �bÿ|ÿ =E; ò Þbô���§fOe)t([^�iÁbt g f�[^}+fOe)t(qdtO�Ðf�e�yJ|Iy���a�5t�`bt�}Ufª��yJf�y�f�_�]�tª�Ä`b[^{ f�e�yJf�[J�zf�e)t=tB¢:]�`btB| |$ad[^}�[^}+f�e)tQ`�asc)eUf�fOe)t�}y���yJf�y f�_�]�t g [)}UrUt�`�|$ad[^}�ad|2y8]�])qsadtB�ÑyU�)f$[^{wyNf$a g yJqdqs_Uv� �e)t�f�_�]�t g [^}8rUt�`b|$ad[^}Ê�Ä��} g f$ad[^}kÕL�Ä�ª  n Q�� ¦Ï� n�(£��7� n [^`wZ �ÊxÃ� � Ö"ad|2|$tBqdt g f$tB�Ñf$[Ó{wyJf g eÓf�e)tX[)�iÁ�t g f�[^}hf�e)t�qdtO�Lf�vk��[Uf$t�f�e�yJf+{wyU}8_hf�_�]�t g [)}8�rUt�`b| as[)})|Qqd[U| t2a�}8�L[^`${wyJf as[)}>v����If�e)t+[^�iÁbt g f([)}�f�e)t+qdtO�Ðf"ad|2yU}~yU`$`$yM_¾tBqdt�{"t�}Uf n adf$|"|����)| g `ba�])f$| g y8}��ÁtyU`$�)adf�` yU`b_�a�}Uf tBcUt�`ªtB¢:]�`�tB|$|$ad[^})| n ���)f(yJqdqzf�e)t=[^]�t�` yU})��|�a�}¾f�e)tB|$t"tB¢�]�`btB|$|$ad[^})|({"�)|$f���t"��tO¬�})tB���ÁtO�Ð[^`�tf�e)t�|$f�yNf$t�{"t�}8f5ad|ztB¢^t g �)f$tB�+yU})�"t�y g e"{"�)|$fz��t�a�}"f�e)t�`$yU})cUt���t g q�yU`btB�=�L[^`5fOe)t g [)`$`btB|�]Á[^})��a�})c(|����)| g `�a¨])f[J�zf�e)t(yU`$` y�_UvQ�t�{"t�{"��t�`"��asfOe�yU}~a�}Uf tBcUt�`"adf$t�{�[^}~f�e)t2qdtO�LfwyU})��yU}~tB¢:]�`btB| |$ad[^}Ó[J��[^})t+[J�If�e)t���[^yJf$a�})cJ��]Á[Ua�}Uf

fb_:]ÁtB| n f�e)t"�Ä�ª Ñ�Ä��} g f$ad[^}�ad|Ia�}8rU[ ¤ tB�5×Ãa��§f�e)tQ�ª�Ä�ª ð�É��} g f$ad[^} ad|Ï`bt�yNqsqd_¾})tBtB��tB��fOe)t�}�adfÏ{"�)|$fª��tQ�)| tB�tB¢�])qsa g adf$qd_¾f$[ g [^}8rUt�`bf�f�e)t�rJyJq��)t"[J��f�e)t=tB¢:]�`btB| |$ad[^}>v

÷ ¹Mº ¿ º û<%)&�¿ùø º #�� É úå#�� º #����y!���úðû �e)ad|�|$t g f as[)}+��tB| g `ba���tB|ªf�e)t��Éy g adqdadf$adtB|ª�Ð[)`§e�yU})��qda�})cX})[^}8��})��{"t�`ba g yJq5��yJfOy�a�}+��[^`�f�`$yU}>vzZ�e�yU` y g f$t�`z��yNf�yyU`btªy g f���yJqdqd_�]�`�tB|$t�}UfÃa�}�yJq�{"[U|$f�yJqdq�]�`b[Uc)`$yU{"| n a���[^})qd_wa�}wfOe)t��L[^`${�[J�>¬�qst�}�yU{"tB|�yU})�+t�`$`b[)`§{"tB|$|OyJcUtB| n���)f(fOe)t"�Éy g asqdadf$adtB|"�L[^` g e�yU`$y g f$t�`�{wyU})a�]��)q�yJf$ad[^}hyU`�t�})[J� Ô:�)adf$t�]�[J��t�`��Ä�)qÐv+ �e)t+qs[8cUa g yJq§��yJfOy+f�_�]�t�as|tBrUt�}�{"[^`btªa�})��as|O]�t�})|$aD�)qdt+|$a�} g tQy"qd[Uc8a g yNq5tB¢:]�`�tB|$|$ad[^}�ad|��)|$tB�Xa�} tBrUt�`b_ � ï |$f�yJf t�{"t�}UfMv

d�Ã� �«ß�Å)ÆbÅ)èiÒpË]Æ8QgÅ'è�Ú³Ç�Ú�ÒpÚ³Ë]à �e)t g e�yU`$y g f$t�`���yJfOy+f�_�]�t���a��5t�`b|=�Ä`b[^{ yJqdqÃf�e)tw[Uf�e)t�`�|(a�}�[)})twa�{w]�[^`�f�yU}8f(`btB|�]�t g fM×(tBrUt�`�_ g e�yU`$y g f$t�`adf$t�{Ëe�yJ|Iy�¬�¢^tB��qdt�})cUf�e>v� �e)ad|I|�]Át g a�¬�tB|�f�e)t(}^��{"�Át�`�[J� g e�yU` y g f$t�`b|�adfIe)[8qs��|Mv �e)twqdt�})cUf�e¾[N�\y+qdadf$t�`$yJq g e�yU` y g f$t�` g [^})|$f�yU}8f�ad|�Á$�)|$f�f�e)tw})��{Q�Át�`�[J� g e�y8`$y g f$t�`b|(�ÁtBfb��tBt�}Êf�e)t"t�}8�

Page 52: Professional Programmer's Guide to Fortran77 Clive G. Page

ö � °�± µ ± �$����µ °�± ���m�7²���� ± �X���g�m��²ð� ÈUo

g qd[U|$a�})c�yU]Á[U|$f�`�[^]�e)tB|�Õ�tB¢ g t�])f"f�e�yJf=f���[ g [^})| t g �)f$adrUtXyU]�[8|$f�`b[^]�e)t���adf�e)a�}Óf�e)t2| f�`ba�})c g [^��}Uf"yJ|([)})t�ÖBv �e)�)|�× � ò�Ù ��� ß �ad|�y g e�yU`$y g f$t�` g [^})|$f�y8}Ufz[J�5qdt�})cUf�e��L[^��`Bv£Ãt g yU�)|$t�f�e)t�qdt�})cUfOew[J�5tBrUt�`�_ g e�y8`$y g f$t�`rJyU`ba�yU�)qdt n yU`$` y�_ n yU})��Ä��} g f$ad[^}we�yJ|f$[(��t�|�]Át g a�¬�tB�2a�}wyJ��rJyU} g t�adfzad|§})t�yU`bqd_wyJqd��y�_)|z})t g tB|$|�yU`b_=f$[��)|$t üUý)ø l ø�üUú)ö l�| f�yJf$t�{"t�}8f$|f$[w��t g q�yU`�t(f�e)t�{ n �Ð[^`ÃtB¢�yU{w])qdtU×

ü8ý^ø l ø:ü8ú^ö l û^ø)é)ö ÿ =^ô���ø SiSil[�i� þ,A �pÿ > ô�� ¢ � k ÿ @ �e)t=|�yU{"t�yU]�])qdadtB|�f$[2}�yU{"tB� g e�yU`$y g f$t�` g [^})|$fOyU}Uf |\���)f��L[^`Ãf�e)tB|$tQy�|�]�t g a�yJqz})[Uf�yJf as[)}+|$tBf$|�f�e)t�qdt�})cUfOef$[wfOe�yJf�[J�ÔfOe)t(yJf$f�y g e)tB� g [^})|$fOyU}Uf n �ªe)a g e�|Oy�r8tB|�fOe)t�f�`b[^���)qdt([N� g [^��}8f$a�})c g e�yU`$y g f t�`b|�×

ü8ý^ø l ø:ü8ú^ö l ú � ú��Uö ÿ þ ÿ��k ø l ø)é^ö)ú^ö l þ$ú � ú[�8ö õä� �)à8Ù�ã)ß@ÙÒìÁà�ò8â:ò î:è&â�òUßJÙ �T�

 �e)tª¬�¢^tB��qdt�})cUfOe+[J� g e�yU` y g f$t�`Ã[^�iÁbt g f$|�{wy ¤ tB|Ãadf�t�yJ|$_wf [Q[)�)f�]��)f���yJf�y�a�}�y�¬�¢)tB�+�Ð[^` {wyJf�yN|��ªe)t�}]�`ba�}8f$a�})cQy�f�yU�)qdt���adf�e"})t�yJf$qd_"yJqdasc)})tB� g [Uq���{w})| n ���)fz|$[^{"tBf$a�{"tB|zadfz��[^�)qd�2�Át\{�[^`bt g [)}UrUt�})adt�}8f§f$[�e�yMrUty=r@yU`�a¨y8�)qst�qdt�})cUfOe+|$f�`ba�})c"fb_:]ÁtÏyJ|�|$[){"tI[8f�e)t�`Ãq¨y8})c^��yJcUtB|���[�vz �e)t(`$�)qdtB|Ã�L[^` g e�yU` y g f$t�`§yN|$|$adc^}�{"t�}8f�cU[|$[^{�t��\yM_wf [@��yU`���|�fOe)as|Mקa���yU}+tB¢�]�`btB|$|$ad[^} ad|If$[)[w|�e)[)`bf�f�e)t�}X�)q�yU} ¤ |Ïy8`bt(yU]�]�t�})��tB�¾f$[�asfM��a��§asfªad|�f$[)[qd[^})c+f�e)t�} g e�yU` y g f$t�`b|Iy8`btQ`bt�{�[@r8tB���Ä`b[^{Îf�e)t"`badc^e8fb��e�yU})�¾t�})�5v���[^`I{�yU}U_X]���` ]�[U|$tB| n f�e)t�`�tO�Ð[^`�t n adfªas|[^})qd_�})t g tB| |�yU`b_�f$[2t�})|O��`btwf�e�yJf g e�yU`$y g f$t�`�r@y8`ba�yU�)qdtB|QyU`btwyJfªqdt�yJ|$f(yJ|ªqd[^})cXyJ|�f�e)t=qd[^})cUtB|$f�|$fO`ba�})c�_U[^�})tBtB�Xf [w|$f$[^`�tIa�}�fOe)t�{�v� e)t�}Êf�`$yU})|b�Lt�`$`ba�})c g e�yU`$y g f t�`�a�}8�L[^`${wyJf as[)}Xf [X]�`b[ g tB����`�tB|(f�e)t"qdt�})cUf�e¾[N��f�e)t"����{w{=_�yU`bc^��{�t�}Uf

g yU}+��tª|$tBf�y8�)f$[^{wyJf a g yNqsqd_wf [(f�e�yJfÃ[J��f�e)t g [^`$`btB|�]Á[^})��a�})c2y g f���yNq�yU`bc)��{"t�}UfMv � adf�ewfOe)as|�]�yJ| |$tB�2qdt�})cUfOe})[Uf�yNf$ad[^}¾adf"as|�t�yJ|$_¾f$[X�ª`badf$t2c8t�})t�`$yJq���]���`$]�[8|$t g e�y8`$y g f$t�`=e�yU})��qda¨})ch]�`b[ g tB����`btB|�v¾ �e)ad|wad|"��tB| g `ba���tB��Ä��`bf�e)t�`�a�}�| t g f$ad[^} l v È v �e)t�{"[8|$f g [^{w{�[^}Ó[^]�t�` yJf$ad[^})| g yU`$`badtB��[)�)fw[^} g e�yU`$y g f$t�`"|$f�`�a¨})c8|2yU`bt�|�])qdasf f$a�})chf�e)t�{ ��]ÑyU})�

Áb[Ua�})a¨})c¾f�e)t�{ f$[UcUtBfOe)t�`Bvw¦�}U_¾|$t g f as[)}¾[J�Iy g e�y8`$y g f$t�`�r@yU`ba�yU�)qdt+[^`(y8`$`$yM_�tBqdt�{"t�}Uf g yU}~��t+tB¢^f�` y g f$tB��8_2�)|$a�})cwf�e)t�|����)| f�`ba�})cw})[Uf�yJf$ad[^}>vz�)f�`�a¨})c8|QÕLyU})�+|����)|$f�`�a¨})c8|�Ö g yU}���t�Áb[Ua�})tB��t�})��f$[(t�})�X�8_��)|$a�})cwf�e)tg [^} g yJf t�}�yJf$ad[^}+[^]Át�`$yJf$[^`Ãa�}�y g e�yU`$y g f t�`§tB¢�]�`btB|$| as[)}>v� �e)tB| t(yU`btª��tB| g `ba���tB�¾a�}+f�e)t(})tB¢)f�fb��["|$t g f as[)})|�v¦Ï})[UfOe)t�`¡�ÉyJa�`bqd_ g [^{w{�[^}"`bt3Ô:�)a�`bt�{�t�}Ufzad|§f [I|$t�y8` g e��L[^`zyª]�yU`bf$a g �)q�yU`z| t3Ô:�)t�} g tª[J� g e�yU`$y g f$t�`�|z��adf�e)a�}

y"qd[^})cUt�`\|$f�`ba�})c�×zfOe)as| g yU}��Át(��[^})t=��adf�e+f�e)t�a�}UfO`ba�})|$a g �Ä��} g f$ad[^} � û S öi� vŪf�e)t�`=a¨}8f�`ba�})|$a g �Ä��} g f$ad[^})| � üUý)ø lÊy8})� ü8ý^ø l�yU`bt2]�`�[@r)ad��tB��f [ g [^}8rUt�`bf"yX| a¨})c8qst g e�yU`$y g f$t�`�f$[¾yU}

a�}Uf tBcUt�`Ã[^`zr)a g tO�ÄrUt�`b|�y"y gBg [^`���a¨})c"f$[=adf$|�]�[U|$adf$ad[^}���adf�e)a�}+f�e)t�}�yJf$adrUt g e�yU`$y g f$t�`z|$tBfMv��¾[^`�t g [^{w])qda g yJf$tB�g [^}8rUt�`b|$ad[^})| �É`�[^{!y(})��{"t�`ba g yJq>��yJf�yªfb_�]�t�f [ g e�yU`$y g f$t�`¡�L[^`${!y8})�wr^a g tO�ÄrUt�`�|�y"yU`btI�ÁtB|$f g yU` `badtB�2[^�)f§�)|��a�})c(f�e)t�a�}8f$t�`$}�yJq8¬�qdt�l ö)ø SQyU})���il � ú^ö | f�yJf$t�{"t�}8f$|�Ie)a g e�yJqdqs[J�hf�e)t�]Á[@��t�`[J��fOe)t§�L[^`${�yJf�|O]�t g a�¬ g yJf$ad[^}f$[2y8]�])qsadtB�¾f$["f�e)t�f�yN| ¤ và�e)ad|I{"t g e�yU})ad|�{Æad|ª��tB| g `ba���tB�¾a�}�| t g f$ad[^} j�p v � vZ�e�yU`$y g f t�`§| f�`ba�})cU| g yU}+��t g [^{w]�y8`btB��f$[(t�y g e+[UfOe)t�`��)| a¨})c+`btBq�yJf$ad[^}�yJq>[^]Át�`$yJf$[^`�|§[^`Ãa�}UfO`ba�})|$a g �Ä��} g �

f$ad[^})|�vÓ �e)t+q¨yNf$f$t�`w�)|$t+f�e)t�¦���Z��b� g [Uqdq¨yNf$a�})c�|$t3Ô��)t�} g tXa�`$`btB|�]Át g f$adrUtX[N�If�e)t�}�yJf$adrUt g e�yU`$y g f$t�` g [^��tUv����`�f�e)t�`���tBf�yJadqd|�yU`bt�cUadrUt�} a¨} |$t g f$ad[^}�Ç�v�B�v

d�ÃW× �«ß�Å)ÆbÅ)èiÒpË]ÆJØ�éúf�à9ÒpÆpÚ³Ñ�Þ�à �e)tw|O���)|$f�`ba�})c�})[8f�yJf$ad[^} g yU}��Át2�)|$tB��f [�|$tBqdt g fQyU}8_ g [^}8f$adc^�)[^�)|=|$t g f$ad[^}¾[N�\yU}8_ g e�yU`$y g f t�`ªr@yU`ba�yU�)qdt[^`�y8`$`$yM_wtBqdt�{"t�}8f�v� �e)t g e�yU` y g f$t�`b|�a�}�yU}U_+|$f�`�a¨})c�yU`bt(})��{"��t�`btB��|$f�yU`�f$a�})c(�Ä`b[^{ [^})t�[^}�fOe)t�qstO�Lf�×Ãf�e)tqd[J��t�`���[^��})� g yU}�})[Ufª��tQyNqsf t�`btB��yJ|ªadf g yU} a¨}¾yU` `$yM_^|�v¦!|����)| f�`ba�})c2ad|ª|$tBqdt g f$tB�¾|$a�{w])qd_��8_2c8asr)a�})c�f�e)t¬�`b|$fªyU})��q�yJ|$f g e�yU`$y g f t�`�]�[U| asf as[)})|I[J�zf�e)t�tB¢)f�`$y g fMv���[^`�tB¢�yU{w])qdt n ��adf�e>×

ü8ý^ø l ø:ü8ú^ö l é^ö)ú)ø[� ÿ ò ôé)ö^ú)ø�� õû� ü8ø S é � ��é �

Page 53: Professional Programmer's Guide to Fortran77 Clive G. Page

ö � °�± µ ± �$����µ °�± ���m�7²���� ± �X���g�m��²ð� Èp�

f�e)t�} é^ö)ú^ø��<þ ò Û*A � e�yJ|ªf�e)t�rJyJq��)t � ü8ø S � �ªe)asqdt é)ö^ú)ø[�<þ,?§Û�? � e�yJ|IfOe)t(r@yNq¨�)t�µB¶dµU´süÏ��t g y8�)|$t"f�e)t�r@yJq��)tad|Ï]�yN����tB�X[^�)f���asfOe��)q¨y8} ¤ |ªf$[wadf$|���t g q�yU`�tB�Xqdt�})cUf�e>v�����)|$f�`ba�})cU|2{"�)|$f"��tXyJf=qdt�yJ|$f"[^})t g e�yU` y g f$t�`�qd[^})c�v� �e)tB_ g yU}Ó��tX�)|$tB�Óa�}ÓcUt�})t�`$yJqÃa�}Óf�e)t2|OyU{"t

��yM_^|�yJ| g e�yU`$y g f$t�`Ãr@yU`ba�yU�)qdtB|�v�Z\[^}Uf a¨})�)a�})cw��adf�e f�e)t�q�yJ|$f�tB¢�yU{w])qdt n f�e)t(yJ|$|$adc^}�{�t�}Uf�| f�yJf$t�{"t�}8f�×é)ö^ú)ø���þ,A§Û > �Võy� ö � �

��adqdq g e�y8})cUt"f�e)t(rJyJq��)tw[J�����§ ¡¦Ï�Óf [ � üUø)ö � � �:é � Õ���asfOe�f�e�`btBtw�)q�yU} ¤ |(yJfªf�e)t"t�})� n |$a�} g twf�e)t(f [Uf�yJqqdt�})cUf�e |$f�yM_^|�yJf j�p ÖBv

_<act<23/�8�GW:)\ ¹ a7usN[2 �e)t(]�yU`�t�}Uf�e)tB| tB|���t�})[8f$a�})c2y=|����)|$f�`ba�})c2{"�)|$f g [^}8f�yJa�}+y g [Uqd[^}>×zf�e)t�`bt�{wyM_2�Át(yU}wa�}8f$tBcUt�`�tB¢�]�`btB|$| as[)}[^}"tBadf�e)t�` |$ad��tI[N��f�e)t g [8qs[)}>v§ �e)t�¬�`b| fztB¢:]�`btB| |$ad[^}w��t�})[8f$tB|§f�e)t�a�})adf$a�yJq g e�y8`$y g f$t�`z]Á[U|$adf$ad[^} n f�e)t�|$t g [)})�[^})t�f�e)t=q�yJ|$f g e�yU`$y g f t�`�]Á[U|$adf$ad[^}>v�£Ã[Uf�e�rJyJq��)tB|Ï{"�)|$fª��t(��asfOe)a¨} f�e)t(`$yU})c8t j f$[2�7�Ã� n �Ie)t�`btQ���§� as|f�e)t=qst�})c8f�e�[J�zf�e)t"]�yU`bt�}8f�|$f�`ba�})c n yU})��f�e)t=qdt�})cUf�e�[N�§f�e)t(`btB|��)qdf$a�})c�|����)|$fO`ba�})c�{"�)|$fI})[8fI��t"qdtB|$|ªf�e�yU}[^})tUv¦Iqdf�e)[^�)c)e�f�e)t g [Uqd[^}�{"�)|$f(yJqd��yM_^|"��t2]�`btB| t�}Uf n f�e)t�f���[+a�}Uf$tBc8t�`�tB¢�]�`btB|$|$ad[^})|wyU`bt�[^])f$ad[^}�yJqLv2 �e)t

��tO�ÄyU�)qdfzr@yJq��)t��L[^`¡f�e)tz¬�`b| f�[^})t�ad|z[^})t n f�e)t���tO�ÄyU�)qdf�Ð[)`5f�e)tÃ|$t g [^})�"ad|zf�e)t�]�[U| asf as[)}([N��f�e)t�q¨yN|$f g e�yU`$y g f$t�`[J�zf�e)t(]�yU`bt�}8f�|$fO`ba�})c�v§ �e)�)| n |$fOy�_)a�})cw��adf�e+f�e)t=q�yJ|$f�tB¢�yU{w])qdtU× é^ö)ú^ø��<þ�Û�= � e�yJ|�f�e)t�rJyJq��)t � ü8ø � �ªe)asqdté)ö^ú)ø[�<þ,@§Û � e�yJ|�fOe)t�r@yJq��)t � é � ��adf�e�fOe�`btBt(�)q�yU} ¤ |Mv� adf�e�y8`$`$yM_wtBqdt�{"t�}8f$|IfOe)t�|����)|$f�`ba�})c+tB¢:]�`�tB|$|$ad[^}+�L[Uqdqd[J��|�f�e)t�|����8�Ä| g `ba�])fItB¢�]�`btB|$|$ad[^} n �L[^`ÃtB¢:yU{�])qstU×

ü8ý^ø l ø:ü8ú^ö l"k �8ø � þ,A^ô �bÿ ?)ôk �Uø � þ ò ô � õä� ø �Y��T � � � þ)ö � ú �

 �e)t�}�f�e)t"|����)|$fO`ba�})cyk �8ø � þ ò ô � þ > Û òiò � e�yJ|ªf�e)t"r@yJq��)t � ��T �¾� � þ)ö � v������)|$fO`ba�})cU| g yU}���t2�)| tB��a�}�tB¢8�]�`btB|$| as[)})|QyU}8_^�ªe)t�`btwtB¢ g t�])f(a�}¾f�e)tw��tO¬�})adf$ad[^}~[J��y�|$f�yNf$t�{"t�}8f��Ä��} g f$ad[^}>�f�e)tB_ g yU}�yJqd|$[X�Át��)| tB��[^}f�e)t�qstO�Lfb��e�yU})�Ñ|$ad��t�[N��yU}ÑyJ| |$adc^}�{"t�}8f2|$fOyJf$t�{"t�}8f n yU})� g yU}Ñ�Át�yJqd|$[��ÁtX��tO¬�})tB���8_ha�}�]��)f��J[^�)f�]��)f|$f�yNf$t�{"t�}8f$|�v

d�ÃIÝ �«ß�Å)ÆbÅ)èiÒpË]ÆRÄ���Î�ÆpË]à�àrÚ�Í7Ñ�à �e)t g e�yU`$y g f$t�`�[^]Át�`$yJf$[^` Ü)Ü as|"�)|$tB�¾f$[ g [^} g yJf$t�}�yJf t n [^`gÁb[Ua�} n fb��[ g e�yU`$y g f t�`�|$fO`ba�})cU|�v��Lf�ad| n a�}��Äy g f nf�e)t�[^})qd_ g e�yU`$y g f t�`�[^]�t�` yJf$[^`Ãf�e�yJf���[^`bf�`$y8}2]�`b[Jr)ad��tB|�v� �e^�)|�×� üd� k � Ü)Ü � ��T ø l|S � �m�^ò � ü�� k|��T ø liS � �e)t+qdt�})cUf�eÓ[J��f�e)t�`btB|��)qdf"ad|£Á$�)|$f"f�e)t+|���{�[J��f�e)t+qst�})c8f�e)|"[J�If�e)t+[^]�t�` yU})��|�v¾xzyU`bt�}8f�e)tB|$tB|Q{�y�_��Át�)|$tB��a¨} g e�y8`$y g f$t�`�tB¢�]�`btB|$| as[)})|Ï���)fI{�y ¤ t(})[w��a�5t�`bt�} g t"f$["f�e)tQ`�tB|��)qdf�v§��[Uf$t�f�e�yJfªyU}U_+t�{"��tB����tB��[^`f�`$yNasqda�})c��)q¨y8} ¤ |wÕ�|�]�y g tB|OÖ���adqdqÔ�ÁtQ`bt�]�`b[)��� g tB�XtB¢�y g f$qd_�a�}�fOe)t(`btB|��)qdf$a�})c2| f�`ba�})c�v �e)t�cUt�})t�`$yJq��Ð[^` {Î[J�Ôy g e�yU`$y g f$t�`��ÄtB¢�]�`btB|$|$ad[^} as|ªf�e)�)|�×�i®^µU®bµ���½L±M®4Ûb¯,:±M®bµU´�¼

[^` �i®^µU®bµ��M½L±�®]Û�± ³ �®b±B²O²¥³�¯U´ Ü^Ü ��®^µ8®�µ)��½L±�®]Û�¯T:±�®bµU´�¼�Ie)t�`bt��i®^µU®bµ��M½L±�®]Û�¯,�±�®bµU´�¼ g yU}���tQy8}U_w[N�Ôf�e)tª�L[Uqdqd[J��a�})c�×

ë g e�yU` y g f$t�` g [^})|$f�y8}Uf(Õ�qdadf$t�`$yJq[^`�}�yU{"tB��Ö n

ë g e�yU` y g f$t�`Ãr@yU`�a¨y8�)qst n

ë g e�yU` y g f$t�`�yU`$`$yM_wtBqdt�{"t�}8f n

ë g e�yU` y g f$t�`Ã|����)|$f�`�a¨})c n

Page 54: Professional Programmer's Guide to Fortran77 Clive G. Page

ö � °�± µ ± �$����µ °�± ���m�7²���� ± �X���g�m��²ð� È >

ë g e�yU` y g f$t�` �É��} g f as[)}X`btO�Lt�`bt�} g tUv

 �e)t�`bt+as|�[^})t2|O]�t g a�yJqI`btB| f�`ba g f$ad[^}Ó[^} g e�y8`$y g f$t�` g [^} g yJf$t�}�yJf as[)}�a�}h]�`b[ g tB����`btB|�×�y¾]�yJ|$|$tB�)�Äqdt�})cUfOe����{w{=_wyU`bc^��{�t�}Uf g yU}"[^})qd_2�ÁtÏyU}�[^]�t�`$y8})�2[J�5f�e)t g [^} g yJf$t�}�yJf as[)}w[^]Át�`$yJf$[)`a¨}+yU}wyN|$|$adc^}�{"t�}8f§|$fOyJf$tO�{"t�}8f�vI �e)as|ª|$tBt�{"a�})cUqd_�yU`$�)adf�` yU`b_X`$�)qdtwyJqdqd[@��|If�e)t g [^{w])adqdt�`�f$[���tBf$t�`${"a�})t2e)[J��{"� g e���[^` ¤ �Ä|�]�y g t=as|`bt3Ô��)a�`btB�5v

d�ÃIæ �«ß�Å)ÆbÅ)èiÒpË]Æ8 Jà�àrÚWÞ�Ñ�ÏÐËFÑ�ÒJØ�ÒpÅ]ÒdË]ÏÊËFÑ�Òpà �e)t g e�yU`$y g f t�`�yJ|$|$adc^}�{�t�}Uf�| f�yJf$t�{"t�}8f�e�yJ|�f�e)t�c8t�})t�`$yJq>�L[^`${�×�i®^µU®]Û*ñ�µ8® õ ��®^µU®bµ��M½L±�®]Û�± ³ �®b±B²O²B³D¯U´�Ie)t�`bt��i®^µU®]Û*ñMµU® g yU}��ÁtQy g e�yU`$y g f$t�`Ãr@yU`ba�yU�)qdt n yU`$`$yM_wtBqdt�{"t�}8f n [^`�|����)| f�`ba�})c�v �e)t�`bt�ad|�[^})t�a�{w]Á[^`bf�yU}8fz`btB|$f�`ba g f$ad[^}=[^} g e�y8`$y g f$t�`5yN|$|$adc^}�{"t�}8fz|$f�yJf t�{"t�}Uf |�×�})[)})t�[N��f�e)t g e�yU` y g f$t�`b|

��tBa�})c�`btO�Lt�`bt�} g tB��a�}+f�e)tItB¢�]�`btB|$| as[)}�[^}�f�e)t�`badc^eUf�{wyM_2�Át���tO¬�})tB�Xa�} g e�yU`��Är@y8`§[)}wf�e)tªqdtO�Ðf n f�e�yJf�ad|�f$[|�yM_+f�e)t�`bt g yU}��ÁtQ})[w[JrUt�`bq�yU]>và�e^�)|�f�e)t(yJ|$|$adc^}�{�t�}Uf�| f�yJf$t�{"t�}8f�×

� ú l � û m þ ò Û�û � õ � ú l � û m þ ò ô§Û �ad|�r@yNqsad��[^})qd_�yJ|�qd[^})cwyJ|��Ñad|\})[we)adc^e)t�`�fOe�yU} l vÔ�Éf�ad| n [J� g [^��`�|$t n t�yJ|$_wf$[=cUtBf�yU`b[^��})�+f�e)ad|�`btB|$f�`�a g f as[)}�8_��)|$a�})c�y"f$t�{w]Á[^`$yU`�_ g e�y8`$y g f$t�`�rJyU`ba�yU�)qdt(��asfOeXy"|��)adf�y8�)qst=qdt�})cUf�e>v��[Uf tI�Ie)t�}�y=r@yJq��)t(ad|IyN|$|$adc^})tB�Xf [�y=|����)| f�`ba�})c�ÕLyJ|�a�}�fOe)t�q¨yN|$f�tB¢:yU{�])qst�Ö�f�e)t�[UfOe)t�` g e�yU`$y g f$t�`b|�a�}

f�e)tw]�yU`bt�}8fª|$f�`ba�})cXyU`bt"})[Uf(y9�5t g f$tB�¾yJfÏyNqsqLv"����f�e)t"|$f�`ba�})c+�\yN|Ï]�`btBr)ad[^�)|$qd_���})��tO¬�})tB��fOe)t�}XfOe)tQ[8f�e)t�`g e�yU`$y g f$t�`�]Á[U|$adf$ad[^})|���adqdq�| f$adqsq��tQ��})��tO¬�})tB�5�>[8f�e)t�`b��ad|$t�f�e)tB_+��adqdqÔ`�tBf�yJa�}�f�e)tBa�`�]�`�tBr^ad[^�)| g [^}8f$t�}Uf |�v �e)t2tB¢�]�`btB|$| as[)}�yU})�Óf�e)t g e�yU` y g f$t�`=[^�iÁbt g f(f$[¾�Ie)a g eÓadf$|"r@yJq��)tXad|wyJ|$| asc)})tB��{wyM_�e�yMrUtw��a�5t�`bt�}Uf

qdt�})cUf�e)|�×a���f�e)t�tB¢:]�`btB| |$ad[^}wad|Ãqs[)})cUt�`Ãf�e)t�}"f�e)t�tB¢ g tB|$| g e�yU` y g f$t�`b|Ã[^}=f�e)tI`badc^e8f�yU`�t�qd[U|$f��8a �asfÃad|§|�e)[^`�f$t�`f�e)t�}+�)q�yU} ¤ |ªyU`bt�yU]�]�t�})��tB�5v�Z�yU`btªad|I})tBtB��tB��f$[=��t g q¨y8`btQyJ��t3Ô���yJf$tªqdt�})cUf�e)|�[^`ÃtBqd|$t�f�e)t�`btB|��)qdf$| g y8}2�Át��})tB¢�]�t g f$tB�5×

ü8ý^ø l ø:ü8ú^ö l øp��ú)ý Tbl ÿ A)ôg� � ý Tpl ú ÿ ô ��ö|� k ø)û S ÿ ò ôøb�:ú)ý Tpl õä� � ý)ø)þ^ö �pk ö)ø l ö�� � � �i� � ø^é �� ý Tbl ú õ øp��ú^ý Tblöi� k ø)û S õ � ý Tbl ú

 �e)t(`btB|O�)qsf a¨})c�rJyJq��)t([J� öi� k ø^û Sw��adqdqz��t � � ý^ø)þ^ö � �Ie)t�`bt=f�e)t�q�yJ|$f�¬�rUt g e�y8`$y g f$t�`b|�yU`�t(�)q¨y8} ¤ |�vd�ÃPO �«ß�Å)ÆbÅ)èiÒpË]Æ8B�Ñ�ÒpÆpÚ³Ñ�à�Ú³èbQgé�Ñ�èiÒpÚ�Í7Ñ�à �e)t��Ð[)��`({wyJa�} g e�y8`$y g f$t�`�a¨}8f�`ba�})|$a g �Ä��} g f$ad[^})|2yU`�tw��tB| g `ba���tB�Âa�}�f�e)ad|"|$t g f$ad[^}>v¾ �e)t�`bt�yU})[UfOe)t�`ª�L[^��`�Ä��} g f$ad[^})|Q]�`b[Jr)ad��tB��f [ g [^{w]�yU`bt g e�y8`$y g f$t�`ª|$fO`ba�})cU|���adf�e�t�y g eX[8f�e)t�`I�)| a¨})c�f�e)t"¦Ï��Z���� g [Uqdq�yJf$a�})cX| tO�Ô��)t�} g tUקf�e)tB| t(yU`bt���tB| g `ba��ÁtB��a�} |$t g f$ad[^}XÇÁv�B�v

ü8ý^ø l .':7e � ü8ý^ø l �e)tB|$t�f���[+�Ä��} g f$ad[^})|Q]Át�`��L[^`${ a�}8f$tBcUt�`�f$[ g e�y8`$y g f$t�` g [^}8rUt�`b| as[)}�yU})��r)a g tO�ÄrUt�`b|�y��)|$a�})c�fOe)twa�}Uf$t�` }�yJqg [)��tQ[N�Ôf�e)t"{wy g e)a�})tUvI¦ªqdf�e)[^�)c^e�{"[U|$f g [^{w]��)f t�`b|Ï})[J���)| tQfOe)t(¦���Z��b� g e�y8`$y g f$t�` g [)��t n adfIad|(�8_X})[{"t�yU})|���})adrUt�`b|OyJq n |$["f�e)tB|$t��É��} g f as[)})| g yU}�[^})qd_��ÁtÏ�)|$tB��a�}�y=rUt�`b_"qda�{"adf$tB�X��yM_"a�}�]�[^`bfOyU�)qdt�|$[J�Lf���yU`�tUvüUý)ø l þ ��� `btBf���`$})|�f�e)t g e�yU` y g f$t�`�yJf(]Á[U|$adf$ad[^} � a�}�fOe)t g [^��t�f�yU�)qdtUvw��[^`ªtB¢:y8{w])qdt n [)}�y�{wy g e)a�})t

�)|$a�})c¾¦Ï��Z���� g [)��t n ü8ý^ø l þ0@ > � � �,ãý�Bn |$a�} g t+« ã «Xad|(f�e)t g e�yU`$y g f$t�`�})��{"��t�`"Ç�>�a�}~f�e)t2¦���Z��b� g [)��tf�yU�)qdtUv

Page 55: Professional Programmer's Guide to Fortran77 Clive G. Page

ö � °�± µ ± �$����µ °�± ���m�7²���� ± �X���g�m��²ð� ÈUÈ

� ü8ý^ø l þ � ú l � û m � `btBf���`$})|"f�e)t�a�}8f$tBcUt�`"]�[U| asf as[)}ha�}Óf�e)t g [^��t�f�y8�)qst�[N�If�e)t+¬�`b|$f g e�yU`$y g f t�`([N�If�e)tyU`bc)��{"t�}Uf�� ú l � û m�v)��[^`�tB¢�yU{w])qdt n [^}�yw{wy g e)a�})tQ�)| a¨})c+¦���Z��b� g [)��t n

� ü8ý^ø l þ �,ã T ý)û ��� �m�^ò Ç�>� ü8ý)ø l þ � �)ëJØ)î ��� �m�^ò j�p B

� û S ö|�� û S ö|� ad|Xy~|$t�yU` g eÒ�É��} g f as[)}>��adf�f�y ¤ tB|wfb��[ g e�yU` y g f$t�`wyU`�c^��{"t�}8f$|�y8})�ð`�tBf���`$})|�yU}Âa¨}8f$tBcUt�`�`�tB|��)qdf�v� û S ö|�gþ �)ò � � = � |$t�yU` g e)tB|�L[^`f�e)t g e�y8`$y g f$t�`��Ä| f�`ba�})c � = a�}wy8})[Uf�e)t�`|$f�`�a¨})cM�'ò n �Ie)a g e"ad|§�)|���yNqsqd_wqd[^})c8t�`Bv���g� = ad|�]�`btB| t�}Uf�a�}«�'ò�f�e)t��Ä��} g f$ad[^}+`btBf���`$})|Ãf�e)t g e�yU`$y g f$t�`z]�[U| asf as[)}�yJfz�Ie)a g e+adf ¬�})��|�| f�yU`bf$|Mv����f�e)t�`btad|Ï})[+{wyJf g e�ÕÐ[^`��'ò�ad|�|�e)[)`bf$t�`�f�e�y8}y� = Ö�f�e)t�}+adf�`btBf���`$})|�fOe)t�r@yJq��)tM?Bt�`�[�vz��[)`�tB¢:y8{w])qdtU×

ü8ý^ø l ø:ü8ú^ö l ÿ =)ô �bk ö��i��bk ö��i� õä� ø �il ø:ü8ø S ø �|l ø �þ õâ� û S öi��þ �pk ö��|��� � l ø ���

��t�`bt þkÝ�ò8â)â ��t"|$tBfªf$[ � �Át g yU�)|$t"f�e)ad|(ad|�f�e)t"]�[U| asf as[)}¾[J�§f�e)t=¬�`b|$fª[ gBg ��`$`bt�} g tw[J�§fOe)tQ| f�`ba�})c � l ø � v ¡[w¬�})�¾f�e)t=|$t g [^})�¾[ gBg ��` `bt�} g twadfIad|(})t g tB|$|OyU`b_�f$[�`btB|$f�y8`bf�f�e)t=|$t�yU` g e¾yJf�f�e)tw})tB¢)f g e�yU`$y g f t�`�a�}�f�e)t{wyJa�} |$f�`ba�})c n �L[^`�tB¢�yU{w])qdtU×

� õ � û S öi�gþ �bk ö��i��þ þ�; ò Û � � � l ø �T� �e)ad|���adqdq�`btBfO��`$}wfOe)tIrJyJq��)tQÇ"��t g yU�)| t�f�e)t�¬�`�|$f�[ gBg ��`$`�t�} g t([J� � l ø � a�}+f�e)t�|����)|$fO`ba�})c � ø�üUø S ø �il ø � as|yJfI]Á[U|$adf$ad[^}�Ç�vz 5["¬�})��adf$|Ï]Á[U|$adf$ad[^} a¨} f�e)t(]�yU`bt�}8f�|$fO`ba�})cwf�e)t�[��5|$tBf n þ n {"�)|$f���t"yJ����tB� n {�y ¤ a�})c jMp v �e)t � û S ö|� �Ä��} g f$ad[^}~ad|([J�Lf$t�}¾�)|$tO�Ä�)qz�Ie)t�}�{wyU})a�]��)q�yJf$a�})c g e�yU`$y g f$t�`ªa�}8�L[^`${wyNf$ad[^}>vw����]�]�[U| t n �L[^`

tB¢�yU{w])qdt n ��t(e�yMrUt�yU}�| f�`ba�})c2��¦£��� g [)}Uf�yNa¨})a�})c+f�e)t(yw]Át�`b|$[^}>ÌÍ|�|���`$}�yU{"t(y8})��a¨})adf$a�yJqd| n tUv c�vé�ëUÿ�à)áUÙ�� � Þ�ø

 �e)tw}�yU{"t g yU}¾��tw`btO�L[^`${wyNf$f$tB��f$[�]��)f�f�e)t(a�})adf$a�yJqd|w��tO�L[^`bt=f�e)t"|���`$}�yU{"t"yU})�¾[^{"adfªf�e)t g [^{w{wy�qda ¤ tf�e)ad|�×

ü8ý^ø l ø:ü8ú^ö l û^ø)é)ö ÿ = ô � k ö l��|T û ÿ = ôÿ Þ^Þ)Þ

þ�ü T é)é^ø õâ� û S öi��þ û^ø)é)ö�� � � �T�þ �pk ø�üUö õâ� û S öi��þ û^ø)é)ö�� �L�T�k ö l��iT û õ û)ø^é)ögþ$þ�ü T é)é^ø�; ò Û�þ �bk ø�ü8ö�9 ò � Ü)Ühû^ø)é)ö�þ ò Û�þ�ü T é^é)ø�9 ò �

 �e)t�}�x���Q���Å�� ��adqsq g [^}8f�yJa�}¾f�e)t"|$f�`�a¨})c � � Þ�ø�Þ�é:ë8ÿ�à^á8Ù � ÕÐ��adf�e��)q�yU} ¤ |QyU]�]Át�})��tB��f$[�fOe)twqdt�})cUf�e¾[J�oUÈ Ö v���[Uf$t�f�e�yJf§yª|$t�]�y8`$yJf$t�rJyU`ba�yU�)qdt n k ö l��|T û�� ��yJ|§})t g tB| |�yU`b_w��t g y8�)|$t�[J�5f�e)t�`$�)qdt�yU��[^�)fz[JrUt�`�q¨y8]�])a¨})c|$f�`�a¨})c8|�a�}XyJ|$| asc)}�{"t�}Uf |�v

�8ö^û �e)t �8ö)û �É��} g f$ad[^}�f�y ¤ tB|Ôy g e�yU`$y g f t�`zyU`bc^��{"t�}8fzyU})�2`btBf���` })|zasf |§qdt�})cUf�ewyN|§yU}=a¨}8f$tBcUt�` vÔ �e)tIyU`bc^��{�t�}Uf{wyM_X��twy+qd[ g yJq g e�y8`$y g f$t�`�r@yU`�a¨y8�)qst�[^`Iy8`$`$yM_�tBqdt�{"t�}Uf(���)f�fOe)as|���asqdq�Á��)|$f�`btBf���` }�y g [^})|$fOyU}UfMv �8ö)û as|{"[^`�t��)| tO�É�)qza�}Ó]�`b[ g tB����`�tB|(�Ie)t�`bt g e�yU`$y g f t�`ª����{w{=_�yU`bc)��{"t�}Uf |2ÕLyU})� g e�y8`$y g f$t�`��Ä��} g f$ad[^}�}�yU{�tB|�Ö{wyM_2e�yMrUt�f�e)tBa�`�qdt�})cUf�eX]�yN|$|$tB��[JrUt�`Ã�Ä`b[^{ f�e)t g yJqdqda�})cX��})adf n | [QfOe�yJf�f�e)t�qdt�})cUf�e�{wyM_��Át���a��t�`�t�}Ufª[^}t�y g eX]�`b[ g tB����`bt g yJqdqLv� �e)t"qdt�})cUf�eX`�tBf���`$})tB���8_ �8ö^û ad|�f�e�yJf���t g q�yU`btB���L[^`�f�e)t=adf$t�{�v��)[^{"tBf a¨{�tB|Iadfªas|{"[^`�tI�)|$tO�Ä�)q�f [�¬�})�+f�e)tIqdt�})cUfOewtB¢ g q��)��a¨})c+f�`$yNasqda�})c2�)q�yU} ¤ |�v§ �e)t�})tB¢)fz�Ä��} g f$ad[^}+��[^tB|<Á$�)|$f§fOe�yJf n �)| a¨})c�8ö^û a�}�f�e)t(]�`b[ g tB|$|�v

� û^ú)ö m ö l ïp��û:ü8ú � T ûÊ�Uö)û m ú)ý�þ � ú l � û m �

Page 56: Professional Programmer's Guide to Fortran77 Clive G. Page

ö � °�± µ ± �$����µ °�± ���m�7²���� ± �X���g�m��²ð� È B

ÿ l ãJÙUå�áNî�ßÑâ)ã�î�è^Ù8Ø�ëUí&ßJÙ:á�ò î:è!òMèUî�ë^á�ò î:èÑÙ�á^à�òUâ�ò î:è�h>âNàNî:æ�ßü8ý^ø l ø:ü8ú^ö l ÿ þ ÿ�� � ú l � û mS�Tóò9ô � �xõ �8ö)û�þ � ú l � û m � � ò �89 ò

� ï�þ � ú l � û m þ � Û ��� Þ�û^ö�Þ �L��� miT ú T =)ôò9ô ü T û)ú � ûb�:ö=)ô �8ö^û m ú^ý õâ�

ö)û S

d�ÃVU CJËFÇ�Å]ÒdÚ�Í7Ñ�Å'Ç�Ä���Î�ÆpËFà�à�Ú³Í7Ñ�ঠ`�tBq¨yNf$ad[^}�yJq(tB¢�]�`btB|$| as[)} g [^{w]�yU`�tB|�f�e)t�r@yNq¨�)tB|�[J�Qfb��[hyU`badf�e�{"tBf$a g tB¢�]�`btB|$| as[)})|X[^`+fb��[ g e�yU`$y g f$t�`tB¢�]�`btB|$|$ad[^})|�סf�e)t�`�tB|��)qdf�ad|zy�qd[UcUa g yJq)r@yJq��)t n tBadf�e)t�`¡f�`$�)tz[^`��ÄyJqd|$tUvgQ�tBq�yJf$ad[^}�yNq^tB¢�]�`btB|$|$ad[^})|zyU`bt g [){w{"[^})qd_�)|$tB��a¨} � ï |$f�yNf$t�{"t�}8f$| n yN|�a�}�f�e)ad|ªtB¢:yU{�])qstU×

� ï�þ � ö^û �|Tbl Þ m ú�Þ5� kik ö l � ú)ý^ö)ûüUø��|�Ñü T|T �

ö�� � ö � ïgþ � ö)û �iTbl Þí�8ú�Þy� Tp� ö l � ú^ý)ö)ûüUø��|�Âý)ö^ø)ú

ö)û S � ï �e)t�`�tBq¨yNf$ad[^}�yJq§[)]�t�`$yJf [^`b|(e�yMrUt"�L[^`${"|=|�� g e�yJ| Þ m ú�Þ yU})� Þ �8ú�Þ ��t g y8�)|$t�f�e)tw��[^`bf�`$y8} g e�yU`$y g f$t�`

|$tBf���[)tB|(})[Ufªa¨} g q��)��t�f�e)tw�)|���yNq g e�yU`$y g f t�`b| Þ y8})�Jj�vMQ�tBq�yJf as[)}�yJqztB¢:]�`�tB|$|$ad[^})|Qy8`btQ{"[8|$f g [){w{"[^})qd_�)|$tB��a¨} � ï | f�yJf$t�{"t�}8f$| n ���)fÏyU}8_+qs[8cUa g yJq�rJyU`ba�yU�)qdt"[^`�yU` `$yM_2tBqdt�{"t�}8fÏ{�y�_���tw�)|$tB��f$[w|$f [^`bt(y�qs[8cUa g yJqr@yNq¨�)t��Ð[)`��)|$t(q�yJf t�`�[^}>v

ü8ý^ø l ø:ü8ú^ö l ÿ ò ô Tbk ú � T û� T|m � üUø��Âö|� � úöi� � ú õ Tbk ú � T û ÞÄö�ùÃÞ � ï � û � � ý �

ÿ Þ^Þ)Þ� ï�þ öi� � ú � � ú Tbk � ï>ò î�ò8ß�Ø�áÁãNõNå>ã^ßJÙ�ãUñ �

�>[UcUa g yJq5tB¢�]�`btB|$| as[)})|ÏyU`�t g [@r8t�`btB��a�}X{"[^`�t���tBf�yJadq5a�}�f�e)t"})tB¢^f�|$t g f$ad[^}>v

©«N]:'N[89.Fu�476'8b^ 2E6F¢ ¹ N�uv.�/�Gs67:'.Fu$����O�89N�2�29Gv6�:µU®O³�½V®^¸"±�½L³V��Û�± ³ �®O´Ó®�±M¶ÝÛ�¯,�µU®O³D½V®^¸"±M½L³Õ�iÛ�± ³ �®O´

[^` �i®^µU®bµ��M½L±�®]Û�± ³ �®O´�®b±�¶ÝÛ�¯,þ�i®^µU®bµ��M½L±�®]Û�± ³ �®O´�Ä}ÊtBasfOe)t�` g yJ|$t"f�e)tw`btB|��)qdf$a�})cXtB¢�]�`btB|$| as[)}�e�yJ|�f�e)t"qd[UcUa g yJqzfb_�]�tUv( �e)t+`btBq�yJf$ad[^}�yJq[^]�t�` yJf$[^`"®b±�¶ÝÛb¯, g yU}��t"yU}8_2[J�f�e)t��L[Uqdqd[@��a¨})c�×

ÞÄö�ùÃÞ t3Ô���yJq5f [Þ m ö�Þ c)`bt�yJf$t�`�fOe�yU}+[^`Ãt3Ô:��yNq5f$[Þ m ú�Þ c)`bt�yJf$t�`�fOe�yU}Þ �8ö�Þ qdtB|$|ªf�e�yU}+[)`�t3Ô:��yNq5f$[Þ �8ú�Þ qdtB|$|ªf�e�yU}ÞÄû)ö�Þ })[8f�t3Ô:��yNq5f$[

��[Uf t�f�e�yJf�f�e)tB|$t=[^]�t�`$yNf$[^`b|�})tBtB��y���t g a¨{�yJqÔ]Á[Ua�}Uf�yJf�tBadf�e)t�`�t�})�Xf$[w��ad|$f a¨})c)�)as|OeXfOe)t�{ �É`�[^{Î|$_�{=���[8qsa g }�yU{"tB|Mv

Page 57: Professional Programmer's Guide to Fortran77 Clive G. Page

ö � °�± µ ± �$����µ °�± ���m�7²���� ± �X���g�m��²ð� È Ç

wy8�Gv/�,<^JN|/�GIHJKM6�^ O�.F8�G�2n67:72

� e)t�}�f�e)t=fb��[wyU`�asfOe�{"tBf$a g r@yJq��)tB|ª[J�§��a��t�`�a¨})c+��yJf�y�f�_�]�t"yU`bt g [^{�]�yU`btB� n y g [^}8rUt�`b|$ad[^} as|�yU�)f$[){wyJf$a��g yJqdqd_�yU]�])qdadtB��f$[�[^})t([J�§fOe)t�{ ÕLyN|�a�}�y8`badf�e�{"tBf$a g tB¢�]�`btB|$| as[)})|�Öªf$[2��`ba�})c+adf�f$[wf�e)t=f�_�]�t=[J�zf�e)t([UfOe)t�`Bv �e)t���a�`bt g f$ad[^}�[J� g [^}8rUt�`b|$ad[^}+ad|�yJqd��y�_)|�×

³�´�½L±�·^±M® �m�^ò ®�±OµU¶ �m�^ò äUëNì^Ú>â^ãJ÷ [^`ª¼U¯8»�µ ¶s±ÿ�®b±0�M³�²B³D¯8´�v� e)t�} g [){w]�yU`ba�})cXa�}8f$tBcUt�`�tB¢:]�`btB| |$ad[^})| n f�e)t�`bt+ad|Qy g [)})|$ad��t�`$yU�)qdt���a��t�`�t�} g t��ÁtBf���tBt�}~f�e)t Þí�Uö�Þ yU})�Þí�Uú�Þ [^]Át�`$yJf$[^`�| n yU})�h|$a�{"adq�yU`bqd_��ÁtBf���tBt�} Þ m ö�Þ yU})� Þ m ú�Þ n | [�fOe�yJf"_U[^�Ó|�e)[^�)qd� g [^})|$ad��t�` g yU`btO�Ä�)qdqd_�Ie�yJfªy g f$ad[^}+ad|Ï`�t3Ô:�)a�`btB��a¨} f�e)t�qda�{"adf$a�})c g yJ|$tQ�ÁtO�Ð[)`bt�|$tBqdt g f$a�})c�f�e)t(yU]�]�`b[)]�`ba�yJf$t�[^]Át�`$yJf$[^` v�Ä} g [^{w]�yU`�as| [^})|Ia�}8rU[Uqdr)a¨})c�fOe)t([Uf�e)t�`ªyU`badf�e�{�tBf$a g fb_:]ÁtB|�_U[^�+|�e)[)�)qs��`bt�{�t�{Q�Át�`�fOe�yJfIfOe)t(r@yNq¨�)t"[J�

y"}^��{"�Át�`�{wyM_w})[Uf���t�|$f$[)`btB�2tB¢�y g f$qd_Uv§ �e)as|ª{"t�yU})|�f�e�yJf�adf�ad|���}U��ad|$t=f$[Q`�tBqs_+[^}�f$tB|$f$|�a�}8rU[Uqdr^a�})c+f�e)tv���Õ"v:y8})��v ����v)[^]Át�`$yJf$[^`�|�tB¢ g t�])f�a�}�|O]�t g a�yJq g yJ|$tB| n �L[^`�tB¢�yU{w])qdt�a��§[^})t�[J��f�e)t�rJyJq��)tB|(e�yJ|�]�`btBr)as[)�)|$qd_��tBt�} |$tBf�f$[�?Bt�`b[w[^`�| [^{"tª[Uf�e)t�`�|�{�yJqdq5a�}Uf$tBc8t�`Bv �e)t�`bt(yU`bt�fb��[w`btB|$f�`�a g f as[)})|�[^} g [^{w])qdtB¢�rJyJq��)tB|�×z¬�`�|$f$qd_2fOe)tB_ g yU}�})[8fI��t g [^{�]�yU`btB�XyJf�yJqdq5f$[�[^})tB|

[J����[^���)qdtX]�`bt g ad|$ad[^}Òf�_�]�tUv��)t g [^})��qd_�f�e)tB_ g yU}�})[Ufw�)|$t�`btBq�yJf$ad[^}�yJq�[^]Át�`$yJf$[^`�|�[Uf�e)t�`=f�e�yU}hv��Õ"vzyU})�v ����v���t g y8�)|$t"f�e)t�`bt�ad|Ï})[�|$a�{w])qdt(qda�})t�yU`ª[^`b��t�`ba�})cw[N� g [^{�])qstB¢X})��{"��t�`b|Mv

K5,'.F89.FH�/3N[8yHd67^�O7.F8�GI2367:72

¦ g e�yU`$y g f t�`(rJyJq��)t g yU}~[^})qd_ �Át g [^{w]�yU`btB�Óf$[�yU})[UfOe)t�` g e�yU`$y g f$t�`�rJyJq��)tU��a ��f�e)tB_���[�})[Ufwe�yMrUt+f�e)t|�yU{�t�qdt�})cUf�e�f�e)t�}"f�e)tª|�e)[^`bf t�`[^})t�ad|�]�yJ����tB�2[)�)f§��adf�e+�)q�yU} ¤ |�f$[�fOe)t�qdt�})cUf�e�[J�5f�e)t�[Uf�e)t�`Ã��tO�L[^`btªf�e)tg [^{w]�y8`bad|$[^}+f�y ¤ tB|\])q�y g tUvà5tB|$f |��Ð[)`§t3Ô���yJqdadfb_ÊÕ�[)`§a�})t3Ô���yJqdadf�_�Ö���[2})[Uf���t�]�t�})��[^}+f�e)t g e�yU`$y g f$t�` g [^��t nf�e)t�fb��[�|$f�`ba�})cU|zyU`bt�Á��)| f g [^{�]�yU`btB� g e�y8`$y g f$t�`�U_ g e�yU`$y g f$t�`���}8f$adq�y���a�5t�`bt�} g t�ad|�L[^��})�5vzZ�[^{w]�yU`�as| [^})|�)|$a�})cÓf�e)tX[UfOe)t�`"[^]�t�` yJf$[^`b|XÕ Þ m ö�Þb��Þ m ú�Þp��Þí�Uö�Þb� yU})� Þí�Uú�Þ Ö"��[ n e)[@��tBrUt�` n ��t�]Át�})� [)}Óf�e)tXqd[ g yJqg e�yU`$y g f$t�` g [^��tUvk �e)t�fb��[¾tB¢�]�`btB|$|$ad[^})|�yU`bt g [^{w]�yU`�tB�h[^})t g e�yU`$y g f t�`w]�[U| asf as[)} yNf2y¾f$a�{"t¾��}Uf$adq�y��a�5t�`bt�} g t2ad|=�L[^��})�5×(fOe)t2`btB|��)qdf"f�e)t�}¾��t�]Át�})��|w[^}¾f�e)t+`btBq�yJf$adrUt�]�[U|$adf$ad[^})|"[J��f�e)t�f���[ g e�yU`$y g f t�`b|�a�}f�e)t�qd[ g yJq g [8qsq�yJf a¨})c+|$t3Ô��)t�} g t n aLvÍtUvÁf�e)t([^`���t�`�a�}��Ie)a g e�f�e)t g e�yU`$y g f t�`b|IyU]�]Át�yU`�a�}�f�e)t g e�y8`$y g f$t�` g [)��tf�yU�)qdtUv �e)t���[)`bf�`$yU}"�)f�y8})��yU`b�w|�]Át g a�¬�tB|�f�e�yJfÃf�e)t g [Uqdq�yJf$a�})c"|$t3Ô��)t�} g tÏ�)|$tB���8_�yNqsq�|$_)|$f$t�{"|§{"�)|$f�e�y�r8t�f�e)t

�L[Uqdqs[J��a�})c���yJ|$a g ]�`�[^]�t�`bf astB|M×

ë yJqdq5f�e)t(��]�]�t�`�� g yJ|$t(qdtBf$f t�`b|Ïy8`bt�a�}�[^`b��t�` n ¦�j+£Lj2ZðtBf g v

ë yJqdq5��adcUadf$|Ïy8`bt�a�}�[^`b��t�` n:p j j j o tBf g vë yJqdq5��adcUadf$|Ï]�`�t g tB��tQyJqdq5qdtBf$f$t�`�|�[^`�r)a g tO�ÄrUt�`b|�y n

ë f�e)t(�)q�yU} ¤ Õ�|�]�y g t�Ö g e�yU` y g f$t�`�]�`bt g tB��tB|ªqstBf f$t�`b|�yU})����adcUadf$|�v

�Lf(��[)tB|w})[Uf n e)[@��tBrUt�` n |�]Át g a �L_Ó�Ie)tBf�e)t�`�qdtBf$f t�`b|Q]�`bt g tB��t���adcUadf$|"[^`Ï�Ð[8qsqd[J� fOe)t�{�v+¦I|"yX`btB|��)qdf n a��|$f�`�a¨})c8|�[J��{�as¢)tB�wf$tB¢)fzyU`bt§| [^`bf$tB�"�)|$a�})c(`btBq�yJf$ad[^}�yJq)[^]�t�` yJf$[^`b|f�e)t�`btB|��)qdf$|z{wyM_(��t�{wy g e)a�})t���t�]Át�})��t�}Uf�v��[)`�tB¢:y8{w])qdt n f�e)t(tB¢�]�`btB|$| as[)}� ø kik �Uö � Þ �8ú�Þ � ø kil � ü T ú �ad|�yJqd��yM_^|f�`$�)tª��t g yU�)|$tªyJfzf�e)t�fb��[ª|$f�`�a¨})c8|¬�`b|$fz��a�5t�`§yJff�e)t�f�e)a�`b� g e�yU` y g f$t�`]�[U|$adf$ad[^} n yU})�"f�e)t�qstBf f$t�`Ì x�Ì:]�`�t g tB��tB|wÌ�Q�Ì)a�}XyJqdq��[^`bfO`$yU} g [Uqdq¨yNf$a�})c2|$t3Ô��)t�} g tB|�v���[J��tBrUt�`B×� ø ò � Þ m ú�Þ � ø T û^ö ���adqdq�e�yMrUt�y�r@yNq¨�)t=f�`$�)tªa���_U[^��`Ã|$_)|$f$t�{Î�)|$tB|��§£�Z��(��ZÑ���)f��ÉyNqs| tIa��zasf��)|$tB|�¦Ï��Z��b� n ��t g yU�)| t�f�e)tI��adcUadf$|�L[Uqdqs[J�kqdtBf$f t�`b|Ia�} f�e)tª�Ð[)`${"t�`�yU})��]�`�t g tB��t(f�e)t�{Îa�} f�e)t�q�yJf$f$t�`Bv

Page 58: Professional Programmer's Guide to Fortran77 Clive G. Page

ö � °�± µ ± �$����µ °�± ���m�7²���� ± �X���g�m��²ð� ÈUm

�Ä}h[)`b��t�`=f$[�yJqdqs[J� g e�yU`$y g f$t�` g [^{w]�yU`bad|$[)})|wf$[���t¾{wyJ��t�a�}hy¾f�`$�)qd_h]�[^`�f�yU�)qdt���y�_ n ��[^`bfO`$yU}Óe�yJ|]�`b[Jr)as��tB�Ò�Ð[)��`wyJ����adf$ad[^}�yJqªa�}Uf�`�a¨})| a g �Ä��} g f$ad[^})|�vÑ �e)tB|$t¾]�t�`��L[^`${ g e�yU`$y g f$t�` g [^{w]�yU`bad|$[)})|��)|$a�})cÓf�e)t¦���Z��b� g [Uqdq�yJf$a�})c�|$t3Ô��)t�} g t�})[ {�yJf$f$t�`"�ªe�yJf2fOe)t�}�yJf$adrUt g e�y8`$y g f$t�` g [^��t¾[J��f�e)t�{wy g e)a�})tUv� �e)tB| t�Ä��} g f$ad[^})|Ïy8`btU×

� m ö�þ �)ò � � = � c^`�t�yJf$t�`Ãf�e�yU}+[^`\t3Ô:��yJq¡f$[� m ú�þ �)ò � � = � c^`�t�yJf$t�`Ãf�e�yU}�i�8ö�þ �)ò � � = � qdtB|$|ªf�e�yU}+[^`Ãt3Ô���yJq5f$[�i�8ú�þ �)ò � � = � qdtB|$|ªf�e�yU}>v

 �e)tB_�fOy ¤ t�fb��[ g e�yU`$y g f$t�`�yU`bc^��{"t�}8f$|XÕ�[J��yU}U_Óqdt�})cUf�e�Öwy8})��`btBf���`$}hy¾qd[Uc8a g yNq�r@yJq��)tUvÑ �e)�)|wf�e)ttB¢�]�`btB|$|$ad[^}>×

� m úgþ � ø ò � � � ø T û^ö �T���adqdqÔyNqs��yM_)|\e�yMrUt�fOe)t�r@yJq��)t=�ÉyNqs| tUvZ�e�yU`$y g f t�` g [^{w]�yU`�as| [^})|(yU`bt g yJ| tO�Ä|$t�})|$adf$adrUtw[^}�{wy g e)a�})tB|��Ie)a g e¾e�yMrUt(qd[J��t�`�� g yJ|$t=qdtBf$f$t�`b|ªa�}XfOe)tBa¨`

g e�yU`$y g f$t�`Ã|$tBfMv§�Lf�ad|�yJ��r)as|OyU�)qdtQf [ g [)}UrUt�`�fI��[UfOe�yU`bc^��{"t�}8f$|�f$[wfOe)t�|�yU{"t g yJ| t(��tO�L[^`bt�e�yU})�5v

©Ra7GIe7N�u�GW:'N[2

�)_)|$f$t�{"|��Ie)a g e+|���]�]�[^`�f$|I��[8f�e2��]�]Át�`Iy8})�2qd[J��t�`�� g yJ|$t g e�y8`$y g f$t�`b|�yU`�tÏ�)|���yNqsqd_ g yJ| tO�Ä|$t�})|$adf$adrUtUק�ÁtO�Ð[^`�tf$tB|$f a¨})c �Ð[)`�f�e)t�]�`btB|$t�} g t+[J�I]�yU`bf$a g �)q�yU` ¤ tB_)��[^`b��|�[^` g [^{w{wyU})��|=adfQad|w�)|���yJqdqd_h��tB|$f=f$[ g [^}8rUt�`bf=f�e)tyU}~a�}�]��)fw|$f�`ba�})c¾f$[�y�|$f�yU})��y8`b� g yJ|$t n �)|���yJqdqd_���]�]�t�`�� g yJ| tUv��ª}8�Ð[^`�f���}�yJf$tBqd_�f�e)t�`�t�yU`�t�})[¾|$f�y8})��yU`b�a�}UfO`ba�})|$a g �Ä��} g f$ad[^})|ªf$["��[2fOe)as| n f�e)[^�)c^e�{�yU}U_+|$_)|$f$t�{"|�]�`b[Jr)ad��t(f�e)t�{ÆyN|IyU}+tB¢)f$t�})|$ad[^}>v�Ä} g e�yU`$y g f$t�`Ã|$[^`bf$a�})cw[)]�t�`$yJf as[)})|��Ie)t�`bt�f�e)t�| f�`ba�})cU| g [^}8f�yJa�}�{"ad¢)f���`btB|�[N�ÔqdtBf$f$t�`�| n ��asc8asf | n [)`§[8f�e)t�`

|$_�{"��[Uqd| n _U[)�(|Oe)[^�)qd���)| t�fOe)t�a�}8f�`ba�})|$a g �Ä��} g f$ad[^})|zf$[�{wy ¤ t�f�e)t�]�`b[Uc^` yU{�]Á[^`bf�y8�)qstUvz��}([8f�e)t�` g e�yU`$y g f$t�`g [^{w]�y8`bad|$[^})| n e)[J��tBrUt�` n f�e)tw`btBq�yJf$ad[^}�yJqz[)]�t�`$yJf [^`I})[8f�yJf$ad[^}�ad|(]�`b[^��yU�)qd_¾]�`btO�Ðt�` yU�)qdt2��t g yU�)| twadf(e�yJ|(y{"[^`�tª�ÉyU{�asqda�yU`\�Ð[)`${ÎyU})��{wyM_2�Át(|$qdadc^e8f$qd_X{"[^`bt�tåÜ g ast�}8f�v

d�ÃPd I�Í'Þ�Ú�è�Å)Ç�Ä���Î�ÆpËFà�à�Ú³Í�Ñ�à�>[Uc8a g yNqztB¢:]�`btB| |$ad[^})| g yU}~��tw�)|$tB��a�}¾qd[UcUa g yJq�yJ|$|$adc^}�{�t�}Uf�|$fOyJf$t�{"t�}8f$| n ���)f(yU`btw{"[U| f g [^{w{"[^})qd_�t�}8�g [^��}8f$t�`btB��a�} � ï |$f�yJf$t�{�t�}Uf$|��Ie)t�`�t(f�e)t�`bt�ad|�y g [^{w]Á[^��})� g [)})��asf as[)} n �L[^`ÃtB¢:y8{w])qdtU×

� ïgþ ø m ö Þ m ö�Þ M ô Þ Tpl Þ þ � ú^ø)úb� � Þ�ö:ùÃÞ � � � S[Tb� � Þ�ø^û S Þ¥ û�üUý � � S Þ m ú�Þ�ô � ú)ý^ö)û �e)ad| g [^{"�)a�})tB|�f�e)t¾r@yJq��)tB|�[J�(fOe�`btBt�`btBq�yJf$ad[^}�yJqªtB¢:]�`�tB|$|$ad[^})| n f���[�[N�(f�e)t�{ g [^{w]�yU`�a¨})chyU`badf�e�{�tBf$a gr@yNq¨�)tB| n f�e)tX[UfOe)t�` g e�y8`$y g f$t�`=r@yNq¨�)tB|Mvk �e)t�qd[UcUa g yJqª[^]�t�`$yNf$[^`b|"|�� g e�yJ| ÞÄø)û S Þ yU})� Þ Tbl Þ yJqd|$[Ó})tBtB���t g a�{wyJq(]Á[Ua�}Uf$|�yJf+tBadf�e)t�`+t�})��f$[Ó��ad|$f$a�})c^�)ad|�eÑfOe)t�{ �Ä`b[^{ |$_�{Q�Á[Uqda g }�y8{"tB|�v� �e)t Þ Tpl Þ [^]�t�` yJf$[^`]�t�`��Ð[^` {"|IyU}+a�} g q��)|$adrUtw[^` n fOe)t�tB¢ g q��)|$adrUt"[^`�[)]�t�`$yJf [^`Ãas| g yJqdqdtB� ÞÄû)ö:ùb��Þ v

¹ acusN[2¦&qs[8cUa g yJq�tB¢�]�`btB|$| as[)} g yU}�e�yMrUt(yU}8_+[J��f�e)t��Ð[Uqdqd[J��a�})cw�L[^`${�|�×

ë ¶s¯ ·^³V��µ8¶!Ûb½L±�®O¸ë ÞÄû T ú�Þ ¶d¯$·)³Õ�OµU¶ÝÛ�½L±M®�¸

Page 59: Professional Programmer's Guide to Fortran77 Clive G. Page

ö � °�± µ ± �$����µ °�± ���m�7²���� ± �X���g�m��²ð� ÈUl

ë ¶s¯ ·^³V��µ8¶!Ûb± ³ �®b±B²O²¥³�¯U´ ¶s¯ ·^³V��µ8¶!Ûb¯,:±M®bµU½L¯U® ¶s¯ ·^³V��µ8¶!Ûb½L±�®O¸� e)t�`btU×�¶d¯$·)³Õ�OµU¶ÝÛ�½L±M®�¸ g yU}��ÁtQyU}8_+[J��f�e)t��Ð[Uqdqd[J��a�})c�×

ë qs[8cUa g yJq g [^})|$fOyU}Uf(Õ�qdadf$t�`$yNq�[^`�}�yU{�tB��Ö n

ë qs[8cUa g yJq5r@y8`ba�yU�)qdt n

ë qs[8cUa g yJq�yU`$` y�_�tBqst�{�t�}Uf n

ë qs[8cUa g yJq>�Ä��} g f$ad[^}X`btO�Lt�`bt�} g t n

ë qs[8cUa g yJq5tB¢�]�`btB|$|$ad[^} t�} g qs[8|$tB�¾a¨}�]�yU`bt�}8f�e)tB|$tB| n

ë `btBq�yJf$ad[^}�yJq5tB¢�]�`btB|$| as[)}>v

yU})��f�e)t(qd[Uc8a g yNq5[^]�t�` yJf$[^` g yU}���tQy8}U_+[J��f�e)t��Ð[8qsqd[J��a�})c�×

Þ�ø^û S Þ qd[UcUa g yJqzyU})�Þ Tpl Þ qd[UcUa g yJqa¨} g q��)|$adrUt"[^`Þ�ö:ùb��Þ qd[UcUa g yJqt3Ô:�)adr@yNqst�} g tÞ�û^ö�ùp��Þ qd[UcUa g yJqz})[^}8�Ät3Ô:�)adrJyJqdt�} g t�Õ�aLvÍtUv�tB¢ g q��)|$adrUt"[^`$ÖBv

��[Uf tXf�e�yJf+f�e)t¾`$�)qdtB|�[J�(qd[UcUa g yJq�tB¢�]�`btB|$|$ad[^})|�[^})qd_�yJqdqd[J� fb��[~|�� gBg tB|$|$adrUt¾[^]Át�`$yJf$[^`�|2f$[Ó[ gBg ��`wa��f�e)tw| t g [^})��[J��f�e)t�{Ëad|(f�e)t2��}�y8`b_¾[^]�t�`$yNf$[^`=v �IÅ� �v>�Ie)a g eÓ})tBc^yJf$tB|�fOe)twr@yJq��)tw[N��adf$|([)]�t�`$yU})�5vw �e)ttå�5t g f$|([N�If�e)t"�L[^��`"�)a�}�yU`b_�qd[UcUa g yJq�[^]Át�`$yJf$[)`b|QyU`�tw|�e)[J�I}¾a�}Óf�e)twfOyU�)qdtX��tBqd[J� �L[^`�f�e)tw�L[^��`=]�[U|$| a¨�)qdtg [^{"�)a�}�yJf$ad[^})|ª[J�z[^]�t�`$y8})��| n ¢�yU})��_Uv

¢ _ ¢ Þ�ø)û S Þ _ ¢ Þ Tbl Þ _ ¢ ÞÄö�ùb��Þ _ ¢ Þ�û^ö�ùp��Þ _�ÄyJqd|$t �ÄyJqd|$t �ÉyNqs| t �ÄyJqd|$t fO`$�)t �ÄyJqd|$tfO`$�)t �ÄyJqd|$t �ÉyNqs| t fO`$�)t �ÄyJqd|$t fO`$�)t�ÄyJqd|$t f�` �)t �ÉyNqs| t fO`$�)t �ÄyJqd|$t fO`$�)tfO`$�)t f�` �)t f�`$�)t fO`$�)t fO`$�)t �ÄyJqd|$t

��[Uf t(f�e�yJfªy"qd[UcUa g yJqtB¢:]�`btB| |$ad[^} g yU}Xe�yMrUt�[^]Át�`$yU})��|��Ie)a g eXyU`�t g [^{w])qdtBf$t"`btBq�yJf$ad[^}�yJqtB¢�]�`btB|$|$ad[^})| nyU})��f�e)tB|$t g y8}�a�}�f���`$} g [)}Uf�yNa¨}�yU`badf�e�{"tBf a g tB¢�]�`btB|$|$ad[^})|Mv� �e)t g [^{w])qdtBf$t([)`b��t�`�[N� ]�`bt g tB��t�} g t�[J�§f�e)t[^]Át�`$yJf$[^`�|�a�}�y"cUt�})t�`$yJq¡tB¢:]�`btB| |$ad[^}�ad|�yJ|Ã�Ð[Uqdqd[J��|�×

j v�yU`badf�e�{"tBf$a g yJq¡[^]�t�`$yNf$[^`b|(Õ�a�}�fOe)t�[^`b��t�`���tO¬�})tB�¾a�}�|$t g f as[)}yB�v j yU�Á[JrUt�ÖBvo v�`btBq�yJf$ad[^}�yJq5[)]�t�`$yJf [^`b|� v ÞÄû T ú�Þ>�v ÞÄø)û S ÞÈ v Þ Tbl ÞBÁv ÞÄö�ùp��Þ yU})� Þ�û^ö�ùp��Þ

Page 60: Professional Programmer's Guide to Fortran77 Clive G. Page

� ��������µ������<� ± ��� � ������� B p

����f�e)t�[^]�t�` yJf$[^`b|�v���Õ � vzyU})�kv��£��Õ � vzyU`btX�)| tB��yJf"f�e)t�|�yU{"t+qdtBrUtBq�a�}�y8}ÓtB¢:]�`btB| |$ad[^}Óf�e)tB_hyU`bttBr@yNq¨��yNf$tB���Ä`b[^{ÎqdtO�Lf�f$[2`�asc)eUf�v �e)tB|$tQ` �)qstB|�`btB��� g t=f�e)t(})tBtB���L[^`�]�yU`�t�}Uf�e)tB| tB|�a�}�qd[UcUa g yJq5tB¢�]�`btB|$| as[)})| n fOe^�)|�×

þ ��Þ m ú�Þ+ø � Þ Tbl Þ þ � Þ m ú�Þ � ���[^�)qd��e�yMrUtªtB¢:y g f$qd_�f�e)t�|�yU{"t({�t�yU})a�})c2a���yJqdq5f�e)t(]�y8`bt�}UfOe)tB|$tB|Ie�yJ�¾��tBt�}�[){"adf$f$tB�5v¦���[^`bf�`$y8}"|$_)|$f$t�{ ad|Ï})[Uf�`bt3Ô��)a�`btB�Xf [QtBrJyJq���yJf$t�tBrUt�`�_2f$t�` { a�}�y"qd[Uc8a g yNq5tB¢:]�`�tB|$|$ad[^} g [^{w])qdtBf$tBqd_�a��

adf$|ªr@yJq��)t g yU}���t"��tBf$t�`${�a¨})tB��{"[)`bt(|$a�{w])qd_Uv��Ä}�f�e)t"yU��[JrUt�tB¢�yU{w])qdt n a�� � e�yN����tBt�}�c^`�t�yJf$t�`�f�e�yU}�¦f�e)t�}+adfª��[)�)qs�X})[8fI��t(})t g tB|$|OyU`b_+f$[ g [^{w]�y8`bt£�!yU})�¾£h�L[^`Ãf�e)t�tB¢�]�`btB|$|$ad[^} ��[^�)qd�Xe�y�r8t(��tBt�}�fO`$�)t�a�}tBadf�e)t�` g yN|$tUvw �e)ad|(a�{w]�`b[JrUtB|=tåÜ g adt�} g _����)f({"t�yU})|=f�e�yJfª�Ä��} g f$ad[^})|(��asfOe¾|$ad��tO�Ätå�5t g f$|(|�e)[)�)qs�h})[Uf(�Át�)|$tB�5v

©Ra7GIe7N�u�GW:'N[2Z�[^{�])qsa g yJf tB�Xqd[UcUa g yJqzyU})��`�tBq¨yNf$ad[^}�yJq5tB¢�]�`btB|$|$ad[^})| g yU}���tQe�y8`b��f$[2`bt�yN��tB|�]�t g a�yJqdqd_¾a �§fOe)tB_�tB¢^f$t�})��[^}f$[w| tBrUt�`$yJq|�� gBg tB|$|$adrUt"qda�})tB|�v��Lf�e)tBq�])|(f$[wqda�})t2��] |$a�{"adq¨y8` g [^})��adf$ad[^})|�[^} |�� gBg tB|$|$adrUt"qda�})tB| n y8})�Xf$[2�)| t]�yU`bt�}8f�e)tB|$tB|Mv

d�ÃVk I�Í'Þ�Ú�è�Å)Ç �à�à�Ú�Þ<Ñ�ÏÊË]Ñ7ÒJØ<ÒdÅ]ÒpËFÏÐËFÑ�Òdà¦&qs[8cUa g yJqÔyN|$|$adc^}�{"t�}8f�|$f�yNf$t�{"t�}8f\e�yN|�f�e)tª�L[^`${�×

¶s¯ ·^³V��µ8¶!Û�ñ�µU® � ¶d¯ ·^³V��µU¶ÝÛb± ³ >®�± ²�²B³�¯U´� e)t�`bt+f�e)t�¶d¯ ·^³V��µU¶ÝÛ�ñ�µU® g yU}Ó��t�y�qs[8cUa g yJq�r@yU`ba�yU�)qdt�[^`=yU`$`$yM_¾tBqdt�{"t�}8f�v���[UcUa g yJq�r@yU`�a¨y8�)qstB|+yU})� y8`$`$yM_tBqdt�{"t�}8f$|�y8`btX{wyJa�})qd_��)|$tB��f [�|$f$[^`�t2f�e)t�r@yJq��)tB|+[J�(`btBq�yJf$ad[^}�yJq�tB¢�]�`btB|$| as[)})|X��}Uf$adq�| [^{"t�q�yJf$t�`w]Á[Ua�}Uf�Ie)t�`bt�fOe)tB_XyU`bt(�)|$tB��a�} � ï |$f�yJf$t�{�t�}Uf$|Mv

� "!ª#�%F¿7! É � % º %'& � & #�%)(

�z¢)t g �)f�yU�)qdtw| f�yJf$t�{"t�}8f$|�yU`bt"})[^`${wyJqdqd_¾tB¢^t g �)f tB��a�}¾|$t3Ô��)t�} g twtB¢ g t�])f(yN|�|�]�t g a�¬�tB�h�U_ g [^}UfO`b[Uq5|$fOyJf$tO�{"t�}8f$|�vª �e)t ö)û S õ yU})� ö l|l õ ¤ tB_^��[^`b��|ª[J�§a�}�]��)f��J[)�)f�]��)f�|$f�yJf t�{"t�}Uf | g yU}XyNqs| [Xy9�5t g f�f�e)t"tB¢^t g �)f as[)}|$t3Ô��)t�} g tUv

kgÃ� �«Í7Ñ�ÒpÆpÍ7ÇEØ<ÒdÆbé�èiÒpé�ÆpË]àD�89.':cHb,'N[2

 �e)t���tB|$f"��yM_Xf$[�|$tBqdt g f2yJqdf$t�`$}�yNf$adrUt2]�yJf�e)|"f�e�`�[^�)c^e�y�]�`b[Uc^`$y8{ ad|"f$[��)|$t�f�e)t��)qd[ g¥¤ � � ï |$f�`$� g fO��`btU×f�e)ad|w{wyM_ g [^{w]�`bad|$t�y�|$a�})cUqdtX�)qd[ g¥¤ f [X��t�tB¢)t g �)f$tB���ªe)t�}�y |�]�t g a�¬�tB� g [)})��asf as[)}�ad|"f�`$�)t+[^`�| tBrUt�`$yJq�)qd[ gB¤ |(f$[ g [JrUt�`�| tBrUt�`$yJqtBrUt�}8f���yJqdadf$adtB|�v � e)t�`bt"f�e)t � ï ���)qd[ gB¤ ��[)�)qs�¾[^})qd_ g [^}UfOyJa�}¾[^})t"|$f�yJf t�{"t�}Uf�asfad|Ï]Á[U|$|$a��)qdt"f$[w�)|$tQy8}�yU����`btBr)a¨yNf$tB���L[^`${ g yJqdqdtB��Õ �Ð[)`�e)ad|$f [^`ba g yJqz`bt�yJ|$[^})|OÖ§fOe)t�qs[8cUa g yJq����L�Ñ|$f�yJf t�{"t�}UfMv �e)t�`bt�ad|IyJqd|$[2y g [^{�]��)f$tB�Rm|T ú T"| f�yJf$t�{"t�}8f��Ie)a g e g y8}�]�`b[^��� g t"y"{Q�)qdf$a��Ä��yM_���` yU} g e+| a¨{�asq�yU`\f$[

f�e)t�© g yN|$tB«w|$f�yNf$t�{"t�}8f$|�[J�Ô[8f�e)t�`�q�yU})c^��yJc8tB|�v

fg6'6'O�2¦�})[Uf�e)t�`=�Ä��})��yU{"t�}8f�yJq�`bt3Ô��)a�`bt�{"t�}8f2ad|wf�e�yNfQ[N��`bt�]ÁtBf$adf$ad[^}>v��Ð�Ïf�e)tX})��{"��t�`"[N� g _ g qdtB|2ad| ¤ })[J�I}Óa�}yJ��rJyU} g t(f�e)t�} f�e)t$S�Tw|$fOyJf$t�{"t�}8f�|�e)[^�)qd���ÁtQ�)|$tB�5v§ �e)as|�yJqd|$[ g [)}Uf�`�[Uqd|Iyw�)qd[ gB¤ [J�z|$f�yJf t�{"t�}Uf | ¤ })[J�I}yJ|�fOe)t$S[TN�Äqd[^[^]>v ¦ ü T û^ú � ûp��ö |$f�yNf$t�{"t�}8f\�)|O��yJqdqs_X{�yU` ¤ |�f�e)t�t�})�X[N� y�S�TN�Äqs[)[^]>v

Page 61: Professional Programmer's Guide to Fortran77 Clive G. Page

� ��������µ������<� ± ��� � ������� B j

��[^`bfO`$yU}"e�yJ|�})[(��a�`bt g f�t3Ô��)asrJyJqdt�}Uf�[J�5f�e)t2© ��[(�Ie)adqdtB«2yU})��©O`bt�]�t�yJf���}8f$adqd«(�L[^`${�|�yMr@yJadq�yU�)qdt�a�}w| [^{"t]�`b[Uc)`$yU{ q�yU})c^��yJcUtB|��L[^`�qd[^[)])|I[J�§yU} a¨})��tO¬�})adf$t+}^��{"��t�`�[J�zadf$t�`$yJf$ad[^})| n ���)fIfOe)tB_ g yU}���t g [^})|$fO`$� g f$tB��)|$a�})c+|$a�{w])qdt miT ú T+yU})� � ï | f�yJf$t�{"t�}8f$|�v

��/�,)N�8�KM67:]/�8�6'u�_'/3.�/3NF^JN]:F/�2

 �e)t�� ú Tpk�|$f�yJf$t�{�t�}Uf g y8}���t��)| tB�(f$[�f t�`${"a�}�yJf$tztB¢)t g �)f$ad[^}>v§Åªf�e)t�`�|$f�yJf$t�{�t�}Uf$|¡�Ie)a g e=y9�5t g f5tB¢^t g �)f as[)}|$t3Ô��)t�} g tIyU`btÃ��tB| g `ba���tB��a¨}�[Uf�e)t�`¡|$t g f$ad[^})|�×f�e)t ö^û S�|$f�yJf t�{"t�}Uf��yJ| g [@r8t�`btB�(a�}=|$t g f$ad[^}E>�v ÇÁ�U]�`b[ g tB����`�tg yJqdqd|Ia�} g q��)��a�})cXf�e)t üUø��i� yU})�Rl ö)úp� l û |$f�yJf$t�{�t�}Uf$|�yU`�t���tB| g `ba���tB�¾a�}�|$t g f as[)} l v

kgÃW× ����e��ydzÍgèpägà �e)t�|$a�{w])qdtB|$fª�L[^`${ [J� � ï ���)qd[ g¥¤ qd[)[ ¤ |�qsa ¤ t"f�e)ad|�×

� ï�þ û ÞÄû)ö�ÞXô � ú)ý^ö)ûøi�^ö l ø m õ � �:é&Ü�ûøi� mi� ù õ � �:é � ù Ühû

ö)û S � ï �e)t"|$f�yJf$t�{�t�}Uf$|ªa�}�f�e)tw�)qs[ gB¤ yU`bt"[^})qd_�tB¢^t g �)f$tB�~a ��f�e)t g [^})��adf$ad[^}¾ad|�f�`$�)tUv=�Ä}�f�e)ad|�tB¢:y8{w])qdtwf�e)t

|$f�yNf$t�{"t�}8f$|�a¨} f�e)t(�)qd[ gB¤ yU`bt(})[8f�tB¢^t g �)f tB�Xa����kad|�?Bt�`b[wa�}�[)`b��t�`�f$[wyMrU[Uad����adr^ad|$ad[^}¾�8_y?Bt�`b[�v �e)t � ï ���)qd[ gB¤+g yU}�yJqd|$[ g [^}8f�yJa�}�yU} ö�� � ö |$f�yJf$t�{�t�}Uf�f$[2e�y8})��qst=f�e)t(yJqdf$t�`$}�yNf$adrUtU×

� ï�þ � ÿ|ÿ =ËÞ m ö�Þ > Þ�ô ÿ ø ÿ ü � ú^ý)ö^û�|l � ú)ögþí��û � ú õ�ÿ ��ï)é)ú õ�ÿ��6� l ãUà)â�á)ë^ë8Ù�ß �

ö�� � ö�|l � ú)ögþí��û � ú õ�ÿ ��ï)é)ú õ�ÿ��6� û:ëÓá�ãUàÁâ á^ë)ë8Ù�ß �

ö)û S � ï�)a¨} g t"f�e)t � ï |$f�yNf$t�{"t�}8f g [)}Uf�yNa¨})|�y"qd[UcUa g yJqtB¢�]�`btB|$|$ad[^} asf |IrJyJq��)t g y8}�[^})qd_X��t=f�`$�)t�[^`��ÉyJqd|$t n f�e)�)|

[^})t�[^`\[Uf�e)t�`�[J�zf�e)tB|$t(�)qd[ g¥¤ |ª��adqsqzyJqd��yM_^|���t=tB¢^t g �)f tB�5v����f�e)t�`btwyU`bt�|$tBrUt�`$yJqzyJqdf$t�`$}�yNf$adrUt g [^})��adf$ad[^})|"f$[X�Átwf$tB|$f$tB� n f�e)tB_ g y8}���tw|O]�t g a�¬�tB�h��adf�e ö�� � ö � ï

|$f�yNf$t�{"t�}8f$|�×

� ï�þ Tbk ú � T û ÞÄö�ùÃÞ � kil � û^ú ��� ú)ý)ö^ûüUø��i� T ��ú k ��ú�þ ø l|l ø � �

ö�� � ö � ïgþ Tpk ú � T û Þ�ö�ù§Þ � l ö)ø S ��� ú)ý)ö^ûüUø��i� � û k �:úgþ$ø lil ø � �

ö�� � ö � ïgþ Tpk ú � T û Þ�ö�ù§Þ � ù�� � ú ��� ú)ý)ö^ûü|� Ti� ögþí��û � ú õ T ��ú �� ú Tbk � ãMî�ñ ë8íÑÚ�á^ë8è�á^àNì �

ö�� � ö�|l � ú^ögþí��û � ú õ�ÿ �bï^é)ú õ�ÿ��K�å� î>äUë^á)á�ã)äJÙ áÁã�Ú>âJê���Ù�áUê�à8è�à�ò î\Þ)Þ)Þ �

ö)û S � ï �e)t�`bt g yU}h��tXyU}8_�}^��{"�Át�`"[J� �Ã�5���!�L� �)qd[ g¥¤ |w���)fwa�}Ót�y g e g yJ|$t+[^})t n y8})�h[^})qd_�[^})t n ��adqdqI�Át

tB¢)t g �)f$tB��t�y g e"f$a�{"tUv � adf�e)[^�)f�yU}«�Ã�5���h�)qd[ gB¤ [^}"f�e)tªt�})��y8}2})[UfOe)a¨})c"��[^�)qd��e�y�r8tIe�yU]�]�t�})tB���ªe)t�}yU}+a�}8r@yJqdad��[^])f$ad[^}+��yJ|�|$tBqdt g f$tB�5v

Page 62: Professional Programmer's Guide to Fortran77 Clive G. Page

� ��������µ������<� ± ��� � ������� B o

D�uv67H��oØð034¤©1NF:'N�8�.Fu ¹ acusN�2 �e)t�cUt�})t�` yJq>�L[^`${Î[J�f�e)tQ�)qd[ g¥¤ �Äa��§|$f�`$� g f���`�t�as|�yJ|��L[Uqdqd[J��|�×

� ï�þ âNë8è�ò8äUà�â�9�ãJ÷8ÚÁáÁã^ß)ß�ò@ëNî � ú)ý^ö)ûà¤h�âUë�äJækëUí�ß@Ù�àUÙ�ãMì�ãMî:Ù�ß

ö�� � ö � ïgþÓâUëUè>ò8äNàÁâ 9ÁãJ÷UÚ�á�ã)ß)ß:òJëJî � ú^ý)ö^ûàNî�ëUÙ8Ø�ãUá�h�âUëÁä@ækë8í!ß@Ù�à8Ù�ãMì�ãMî�Ù�ß

ö�� � öàðí�ò îÁàÁâbh�âUëÁä@ækë8í!ß@Ù�à8Ù�ãMì�ãMî�Ù�ß

ö)û S � ï �e)t � ïkú)ý)ö^û���ö[� � ö � ï n yU})� ö�� � ö |$f�yNf$t�{"t�}8f$|�t�y g e+cU[JrUt�`$} [^})tQ�)qd[ g¥¤ [J�§| f�yJf$t�{"t�}8f$|�và�e)t�`bt g yU}��t�yU}8_�})��{Q�Át�`=[J� ö[� � ö � ï |$f�yNf$t�{"t�}8f$|�vX �e)t ö�� � ö |$f�yJf$t�{�t�}Uf2Õ�f [UcUtBf�e)t�`���adf�e�adf$|w�)qd[ g¥¤ Ö=as|+yJqd|$[[^])f$ad[^}�yNq n yU})�Xf�e)t�`�t g yU}���t"yJfI{"[U| f�[)})t([J��fOe)tB|$tUv �e)tª¬�`b|$f��)qd[ gB¤ [J��| f�yJf$t�{"t�}8f$|Ãas|�tB¢^t g �)f$tB��[^})qd_2a��zf�e)tª¬�`b|$f�tB¢�]�`btB|$|$ad[^} ad|�f�`$�)tUv��Ãy g e2�)qd[ g¥¤ yM�Lf$t�`

yU} ö�� � ö � ï as|ÃtB¢^t g �)f tB�w[^})qd_(a���})[^})t�[J��fOe)t\]�`�t g tB��a¨})cw�)qd[ g¥¤ |�e�yMrUt���tBt�}�tB¢^t g �)f$tB�+yU})�"f�e)t�yJf$f�y g e)tB�ö�� � ö � ï tB¢�]�`btB|$| as[)}+as|�f�` �)tUv§����fOe)t�`btIad|Iy8} ö[� � ö �)qd[ gB¤ adf�ad|�tB¢^t g �)f$tB��[)})qs_+a��Ô})[^})t�[J�5f�e)t�]�`bt g tB��a�})c�)qd[ gB¤ |Ïe�yJ|ª��tBt�}�tB¢)t g �)f$tB�5v¦��Lf$t�`�y"�)qs[ gB¤ e�yJ|ª��tBt�}+tB¢)t g �)f$tB� g [^}8f�`b[Uq>ad|�f�`$yU})|b�Lt�`$`btB�+f$["f�e)t�|$fOyJf$t�{"t�}8fz�L[Uqdqd[@��a¨})c�f�e)t ö^û S � ï

|$f�yNf$t�{"t�}8fÔyJff�e)t�t�})�w[J��fOe)t�| f�`$� g f���`bt(ÕL��})qdtB|$|zfOe)t\�)qd[ g¥¤ t�})��|z��adf�e=|$[){"t�|$f�yJf$t�{�t�}Uf�Ie)a g e�f�`$yU})|b�Lt�`b|g [^}8f�`b[Uq>tBqd|$tB�Ie)t�`�t�ÖBv¦Ï}8_w�)qs[ gB¤"g yU} g [^}8f�yJa�}wy g [^{w])qdtBf$t��)qd[ gB¤ ���É��| f�`$� g f���`btª]�`b[^]�t�`�qs_+})tB|$f$tB�w��adf�e)a�}�adf n [^`zy g [^{�])qstBf t

S�TJ�Äqd[)[^] n [^`�y8}U_+[Uf�e)t�`�tB¢)t g �)f�yU�)qdt=|$f�yJf$t�{�t�}Uf$|(Õ�tB¢ g t�])f ö)û S�ÖBv�Lf�ad|(adqdqdtBc^yJq§f [�f�`$yU})|b�Lt�` g [^}UfO`b[Uqa¨}8f$[XyU}8_��)qd[ g¥¤ �É`�[^{Ë[^�)f$|$ad��twadf n ���)f�fOe)t�`btwad|(})[X`btB|$f�`�a g f as[)}¾[^}

f�`$y8})|b�Ðt�` `ba�})c g [^}8f�`b[Uq>[^�)f�[N�Ôyw�)qd[ gB¤ v �e)t(`$�)qdtB|��L[^`�qd[Uc8a g yNq5tB¢:]�`�tB|$|$ad[^})|�yU`bt g [JrUt�`btB��a�}�| t g f$ad[^}XÇ�v�Ç�v

©Ra7GIe7N�u�GW:'N[2 �e)t�a¨})��t�}8f�yJf as[)}�| g e)t�{"t�|�e)[J�I}Óa�}Âf�e)tXtB¢�yU{w])qdtB|�yU��[JrUt�as|�})[Uf2{�yU})��yJf$[^`�_ ���)f+f�e)t�]�` y g f$a g tX[J�a�})��t�}Uf a¨})c�t�y g eX�)qd[ gB¤ �8_Xy��ÐtB� g e�y8`$y g f$t�`b|ª`btBq�yJf$adrUt"f$[wf�e)tw`btB| f�[J�§f�e)t"]�`b[Uc^`$y8{Îad|�|$f�`b[^})c8qs_X`�t g [^{=�{"t�})��tB�5v§�Éf§{wy ¤ tB|f�e)t�|$f�` � g f���`bt�[J��fOe)t\�)qd[ g¥¤ a�{w{"tB��a�yJf$tBqd_2yU]�]�y8`bt�}UfzyU})�2`�tB��� g tB|zf�e)t�`bad| ¤ [J���ÉyNasqda�})cf$[w{wyJf g e"t�y g e��É����adf�e�y8}«�Ã���!�L��v)¦�}+a¨})��t�}8f$a�})c+| g e)t�{�tIad|�tB|�]Át g a�yJqdqs_¾�)|$tO�Ä�)q��ªe)t�} � ï ���)qd[ gB¤ |ªyU`bt})tB|$f$tB����adf�e)a�}�[UfOe)t�`b|�vz��[^`ÃtB¢:yU{�])qstU×

� ï�þ k�Tp� ö l Þ m ú�Þy� � é � ú � ú^ý)ö^û� ïgþ�Þ�û T ú�Þ � ø l û)ö S � ú^ý)ö^û

üUø��|� � ö^úgþ � � ø l û � û m ���� ø l û)ö S õ ÞÄú l ��ö�Þ

ö[� � öüUø��|� � ö^úgþ � ø��Uø l é ���

ö^û S � ïö)û S � ï

 �e)t�qda�{"adf$tB�¾��ad��f�e�[N�Ôf�e)t�| f�yJf$t�{"t�}8fì�tBqd� g yU}���t(yw]�`b[)�)qst�{ �Ie)t�} � ï ���)qd[ gB¤ |ªyU`bt(})tB|$f$tB��f$[wy"rUt�`b_c^`bt�yNf���t�])fOe>×����)f�fOe)as|�f$t�})��|If [�{�t�yU}+f�e�yJf�fOe)t(]�`b[Uc^`$y8{ ��})adfªad|�cUtBf$f$a�})cwf [^[ g [){w])qda g yNf$tB��yU})��fOe�yJfadf"��adqsq��)|���yNqsqd_h��t���t�})tO¬ g a�yJq�f [X��adr^ad��t�asf"a�}8f$[X|�����`�[^�)f$a�})tB|�v¾���I_U[)��y gBg ad��t�}UfOyJqdqs_h[){"adfQyU} ö^û S � ï

Page 63: Professional Programmer's Guide to Fortran77 Clive G. Page

� ��������µ������<� ± ��� � ������� B �

|$f�yNf$t�{"t�}8f�fOe)t g [^{�])asqdt�`���adqdq'��yJcwf�e)tªt�`$`b[)`����)f���adqsq})[Uf ¤ })[J�Ñ�Ie)t�`bt�_U[)�"�L[^`bcU[8f�f [�]��)f�adf�v§��}+|�� g eg yJ|$tB|�f�e)t g [^{w])adqdt�`�{wyM_wcUtBf g [)}8�É�)|$tB�¾yU})��cUt�})t�`$yNf$t(y"q�yU`bcUt(})��{"��t�`�[J�z[Uf�e)t�`�t�`$`�[^`�{"tB|$|�yJc8tB|�v� e)t�}~yU} � ï ���)qd[ g¥¤ �ªe)a g e¾ad|"tB¢^t g �)f tB���Ä`bt3Ô��)t�}Uf$qd_ g [^}8f�yJa�})|Qy q�yU`bcUt2})��{"��t�`�[J� ö�� � ö � ï |$fOyJf$tO�

{"t�}8f$|�adfª��adqsqz��t=|$qdadc^eUf qs_¾{"[^`bt�tåÜ g ast�}8fªf$[2]��)fªf�e)tQ{"[8|$fb�Äqda ¤ tBqd_ g [^})��adf$ad[^})|(})t�yU`�f�e)t=f$[^]+[J�zf�e)t=qsad|$fyJ|��ªe)t�}+f�e)tB_�[ gBg ��`\f�e)t(f$tB| f$|�qs[J��t�`���[J�I}+a�}�fOe)t�qsad|$fª��adqdqÔ})[8fI})tBtB�Xf$[+��t�tB¢)t g �)f$tB�5v

kgÃIÝ G6H<e�I£ÍgÍ7Î�à �e)t�S�T�|$f�yNf$t�{"t�}8f g [^}8f�`b[8qs|(y��)qd[ g¥¤ [J�§| f�yJf$t�{"t�}8f$|ª�Ie)a g e~yU`bt"tB¢^t g �)f tB��`bt�]�t�yNf$tB��qd_ n [)} g t(�L[^`ªt�y g er@yNq¨�)t+[J�Iy�rJyU`ba�yU�)qdt g yJqdqdtB�hf�e)twqd[)[^]8� g [^}8f�`b[UqÃr@yU`ba�yU�)qdtUvX �e)t�})��{"��t�`�[N�\adf$t�` yJf$ad[^})|"��t�]�t�})��|"[^}~f�e)t]�yU`$y8{"tBf$t�`b|�[J��fOe)t$S[T�|$f�yJf t�{"t�}Uf�yJf�f�e)t�e)t�yJ��|ª[J��f�e)t�qd[)[^]>v§ �e)tª¬�`�|$f�adf$t�{ÆyM�Lf$t�`Ãf�e)t ¤ tB_)��[^`b�Ó©ðS�TU«ad|IfOe)t�q¨y8��tBq�Ie)a g e as|�yJf$fOy g e)tB�+f$[wfOe)t�q¨yN|$f�|$f�yNf$t�{"t�}8f�[N�Ôf�e)t�qd[)[^]>vÃ��[^`ÃtB¢�yU{w])qdtU×ÿ � å)ìkÙUØ>ãkßUõJå�à^áÁã)ßÒë8íÑÙUØ>ã�í>ò@áÁßJÙ û�ã^â)ã�ì>ãMî:Ù�ß ë8íkÙ8Ø�ã�à)á^á)àUêÐ�

� �:é õ ôÃÞbôS�Tóò9ô � �xõ ò �bû

� ��é õ � ��éL;"�gþ ���pÿiÿ =ò9ô ü T û)ú � ûb�:ö������tQe�yJ�¾��yU}8f$tB�X[^})qd_�f$[2|O��{ yJqdf$t�`$}�yJf$t=tBqdt�{"t�}Uf |�[J�§f�e)twyU`$`$yM_+��t g [)�)qs��e�yMrUt"�)|$tB��y�|$f�yJf$t�{�t�}Ufqda ¤ tU×

S�Tóò9ô � �Yõ ò �bû��ß=yU})�wfOe)t�}wf�e)t�r@yJq��)tª[J���5a�}�|�� gBg tB|$|$adrUtªqd[^[^])|���[^�)qd�2e�yMrUtI�ÁtBt�} j8n|��nUÈ�n tBf g vz �e)t�¬�}�yJq�r@yJq��)t���[^�)qd�2�Át�&a����&��t�`bt�[^��� n [^`�[)})qs_�f$[2�\� j a��\� ��t�`bt(tBrUt�}>v��Ð�§f�e)t(fOe)a¨`���]�yU`$y8{"tBf$t�`�ad|ª[^{"adf$f$tB��f�e)t(|$f t�]8�Ä|$a@?Btad|I[)})tU��a��Ôadfªas|ª})tBc^yJf$adrUt=f�e)t�}+f�e)t(| f$t�])|�cU["��[J�I}8�\y8`b��|�v��[^`\tB¢:yU{�])qst

S�Tóò ô^ô�� �Yõ ô � ò �49 ò�|l � ú)ögþí��û � ú õ�ÿ ��ï)é)ú õ�ÿ����iÿiÿ =

ò ô^ô ü T û)ú � ûb�:ö��adqdqÔ]�`�[^��� g t È `bt g [^`b��| g [^}UfOyJa�})a¨})c+f�e)t�rJyJq��)tB| oUÈ�n>j B n�l�n > n y8})� j `btB|�]Át g f$adrUtBqd_Uv�>[^[)])| g y8}2�ÁtÏ})tB|$f tB��f$[QyU}8_w`bt�yJ|$[)}�yU�)qdtI��t�])f�e>và�e^�)|�f�e)t��L[Uqdqs[J��a�})cw| f�yJf$t�{"t�}8f$|z��adqdq5|$tBfÃf�e)tªf���[

��a�{"t�})|$ad[^}�yJqzyU`$` y�_��§�³�§���!f$[5?Bt�`b[�vl ö^ø��Âï � ö�� S þ$ûi����û � �S�TÊô ôg� � � õ ò ��û �

S�TE> ô�� � � õ ò Þ�û|�ï � ö�� S þ � ��� � � ��õ ôÃÞ�ô> ô ü T û)ú � ûb�:ö

ô ô ü T û)ú � ûb�:ö

©«N]:'N[89.Fu�476'8b^­6F¢ S[T _)/3.�/3N]^�N]:F/

 �e)t$S�Tw| f�yJf$t�{"t�}8f�e�yJ|�fb��[=�Ð[^` {"|�×S�TX¶dµ<µ ±�¶ n ñ�µ8®�³�µ<µB¶d± õ ²B½LµU®O½(æ�¶d³�¸"³D½Væz²B½L±�S�TX¶dµ<µ ±�¶ n ñ�µ8®�³�µ<µB¶d± õ ²B½LµU®O½(æ�¶d³�¸"³D½

�Ä} f�e)t�|$t g [^})� �Ð[)`${ f�e)t(|$f t�]+|$a@?Bt(ad|Ia�{w])qda g adf$qd_¾[^})tUv �e)t�¶dµ<µ ±�¶§{wy8` ¤ |�fOe)t¾¬�}�yJq(| f�yJf$t�{"t�}8f+[J�Qf�e)t~qs[)[^]>vË�LfX{"�)|$f��Át�yJf$fOy g e)tB�Ñf$[�y8}�tB¢)t g �)f�yU�)qdt

|$f�yNf$t�{"t�}8f�É��`bfOe)t�`z[^}�a�}wf�e)tª]�`b[Uc^`$y8{ ��})adf�v§ �e)tª`$�)qdtB|\]Át�`${"adf�f�e)ad|Ã|$f�yJf$t�{�t�}UfÃf$[(��t�yU}8_QtB¢)t g �)f�yU�)qdt

Page 64: Professional Programmer's Guide to Fortran77 Clive G. Page

� ��������µ������<� ± ��� � ������� B�>

|$f�yNf$t�{"t�}8fwtB¢ g t�])fXy8})[Uf�e)t�` g [^}UfO`b[Uq�|$fOyJf$t�{"t�}8f n ���)f2adf�|$f�`�[^})cUqd_�`bt g [^{w{�t�})��tB� fOe�yJfw_U[^�Â�)|$t¾f�e)tü T û)ú � ûb�:ö |$f�yNf$t�{"t�}8fQe)t�`btUv ü T û)ú � ûb�:ö e�yJ|w})[¾[Uf�e)t�`��É��} g f as[)}ÓtB¢ g t�])f"f$[�y g f"yJ|wyX����{�{(_Ó])q¨y g tO�{wyU` ¤ t�`Bv �e)t g [^{w{wy�yM�Ðf t�`�f�e)t�q�yU��tBqad|�[^])f$ad[^}�yNq����)f n yJ|ª})[Uf$tB��a�}�|$t g f as[)} j v�> n ad|�y"�)|$tO�É�)qz]�`bt g yU�)f as[)}>v �e)t©ñMµU®�³�µ<µ ¶s±ª�Ie)a g e+�L[Uqdqd[@��|Iad| ¤ })[J�I}�yJ|ªf�e)t=qs[)[^] g [^}UfO`b[Uq>r@yU`�a¨y8�)qst"[^`\qs[)[^]�a�})��tB¢��>adf�{"�)|$fI��t"y

r@y8`ba�yU�)qdt ÕÉ})[Uf�yU}�yU`$`$yM_wtBqdt�{"t�}8f�Öª���)fI{wyM_�e�y�r8tIa�}8f$tBcUt�` n `�t�yJq n [^`Ã��[^���)qdtw]�`bt g ad|$ad[^} f�_�]�tUv �e)t+²¥½LµU®O½Væ�¶d³D¸"³�½Væ y8})��²B½L±�XrJyJq��)tB|Q{wyM_¾��twtB¢�]�`btB|$|$ad[^})|=[J�\y8}U_+�L[^`${Ë[J��a�}Uf$tBc8t�` n `bt�yJq n [)`���[^���)qdt

]�`bt g ad|$ad[^}~fb_:]ÁtUv2���ªf�e)t"|$f$t�]¾rJyJq��)t2ad|w]�`btB|$t�}8f(adfQ{"�)|$f(})[8fQ��t�?Bt�`b[ n [N�\[){"adf$f$tB��adf(ad|=f�y ¤ t�}¾yJ|=[^})tUv �e)t(})��{"��t�`�[J�Ôadf$t�` yJf$ad[^})|�ad| g [^{w]��)f$tB�X�ÁtO�Ð[^`�t(f�e)t�|$fOyU`bf�[J�zf�e)tª¬�`b|$f�[)})t n �)|$a�})c2fOe)tª�Ð[^` {Q�)q�y�×

asf t�`$yJf$ad[^})| � �¾¦ � ÕL�Ä�ª (Õ pÁn ÕÐqsa�{"adfª�§|$fOyU`bf ' |$f$t�]�Ö���|$f$t�]�Ö$Ö��[Uf$t�f�e�yJf�a �§fOe)t(qda�{"adf�r@yJq��)t"ad|IqdtB|$|�f�e�y8}+|$f�yU`bf�f�e)t=adf$t�`$yJf$ad[^} g [^��}8fIad|�?Bt�`b[2��})qdtB|$|�|$f$t�] ad|Ï})tBc^yNf$adrUtUv¦"?Bt�`b["adf$t�`$yJf$ad[^} g [^��}UfÃad|\]Át�`${"adf$f$tB�����)f�{"t�yU})|Ãf�e�yJf§fOe)t g [^}8f$t�}Uf |§[J�5f�e)t�qd[)[^]���adqsq5})[Uf���tªtB¢^t g �)f tB�yJf§yJqdq>yU})� g [)}Uf�`�[Uq�ad|§f�`$y8})|b�Ðt�` `btB�wf$[�f�e)t\¬�`b|$f§| f�yJf$t�{"t�}8f§yM�Lf$t�`zfOe)t�t�})�w[J�5f�e)t�qd[)[^]>v§ �e)t�qs[)[^] g [^}8f�`b[Uqr@y8`ba�yU�)qdt2��[)tB|w})[Uf(})t g tB|$|�yU`�asqd_�`�t�y g eÊf�e)twqda�{"adf$a�})c�r@yJq��)t n tB|O]�t g a�yJqdqd_�a��If�e)t�|$f$t�]8�Ä|$a@?Bt+as|=q�yU`bcUt�`�f�e�yU}[^})tUv�)f�yJf$t�{"t�}8f$|Ã��adf�e)a�}�f�e)tªqd[^[^]�y8`btI]�t�` {"adf$f$tB��f$[wyJqdf$t�`Ãf�e)tªr@yJq��)t�[J�f�e)tItB¢�]�`btB|$| as[)})|I�)|$tB�+�L[^`z|$fOyU`bf n

qda�{"adf n [^`|$f t�]2���)fÃf�e)ad|\e�yN|�})[(tå�5t g fÃ[^}wfOe)t�adf$t�`$yJf$ad[^} g [^��}8f§�Ie)a g ewad|ì�¢)tB���ÁtO�Ð[^`�t�f�e)t�¬�`b|$fzadf$t�`$yJf as[)}|$f�y8`bf$|�v �e)t(qd[)[^] g [^}8f�`b[8q5r@yU`�a¨y8�)qstw{wyM_���t"�)|$tB�Xa�}�tB¢:]�`�tB|$|$ad[^})|����)fÏy+})tB�kr@yNq¨�)tw{"�)|$fI})[8fÏ�ÁtQyJ|$| asc)})tB�

f$[wadf���asfOe)a¨} f�e)t(qd[)[^]>vS[TN�Äqd[^[^])|�{wyM_ g [^}UfOyJa�}w[UfOe)t�`<S[TN�Äqd[^[^])| g [^{�])qstBf tBqs_�})tB|$f$tB����adf�e)a�}+f�e)t�{ ]�`b[Jr)ad��tB�2f�e�yNf�yª��a�5t�`bt�}Uf

qd[^[)] g [^}8f�`b[Uqr@yU`�a¨y8�)qst+ad|Q�)|$tB�~a¨}Êt�y g e�[^})tUv"¦ªqdf�e)[^�)c^eÊasf�ad|"]�t�`${"ad|$| a¨�)qdt+�L[^`ªfb��[2��a�5t�`bt�}8f(qd[^[)])|�f$[f$t�`${�a¨}�yNf$t�[^}"fOe)t�|�yU{"t�|$fOyJf$t�{"t�}8f n f�e)ad| g yU}w�Át�rUt�`b_ g [^}8�Ä�)|$a�})c�v§�Éf§ad|�{"� g ew��tBf$f t�`zf$[(�)|$t�yª|$t�]�yU` yJf$tü T û)ú � ûb�:ö |$f�yJf$t�{�t�}UfzyJfzf�e)t�t�})�+[J�>t�y g e�qs[)[^]>vz�)a�{"adq�yU`bqd_ g [){w])qdtBf$t � ï ���)qs[ gB¤ |�{wyM_Q��tª})tB|$f$tB�+��adf�e)a�}S�TJ�Äqd[)[^])| n yU})��r^a g tO�ÄrUt�`�|�y�vŪf�e)t�` g [^}8f�`b[Uq5| f�yJf$t�{"t�}8f$|I{�y�_X�Átw�)|$tB�¾f$[2fO`$yU})|b�Lt�` g [)}Uf�`�[Uq5[^�)fª[J��fOe)tQ`$yU})c8t([J��y1S�TJ�Äqd[)[^]¾���)f

adf(ad|�adqdqstBc)yJq�f$[2fO`b_Xf$[�Á$��{w]�a�}Uf [�y+qd[^[)]��É`�[^{Æ[)�)f$|$ad��twadf�vw����_U[^��tB¢)asf��É`�[^{ y+qd[)[^]�]�`bt�{�yJf���`btBqd_¾a�}f�e)ad|���yM_"f�e)tIqd[)[^] g [^}8f�`b[Uq�r@yU`�a¨y8�)qst ¤ tBt�])|�adf$| g ��`$`bt�}8f�r@yJq��)t(yU})�X{�y�_w�Át(�)|$tB��[^�)f$|$ad��t�f$["��tBf$t�` {"a�})te)[J��{wyU}8_wqd[)[^])|I��t�`bt(y g f���yJqdqd_�tB¢^t g �)f$tB�5v¦��Lf$t�`�f�e)tw})[^`${wyJq¡f$t�`${"a�}�yJf$ad[^}�[J��y�S�TJ�Äqd[)[^]�f�e)t(qd[)[^] g [^}UfO`b[Uq5rJyU`ba�yU�)qdt2e�yJ|ªf�e)t"r@yJq��)twadf�e�yJ�¾[^}

f�e)t�q�yJ|$f�asf t�`$yJf$ad[^}�])q¨�)|ª[^})t�tB¢)f�`$y"a�} g `bt�{�t�}Ufª[J�zf�e)t�|$f$t�]+rJyJq��)tUv� �e)�)|���adf�e>×S[T ò ô)ô^ô���ûp��é � ö l õ ò � ò ô^ô��ßA

ò ô^ô)ô ü T û)ú � ûp��öÅ�}~f�e)twq�yJ|$f=asf t�`$yJf$ad[^}Ó�I����£���Q!��[^�)qd�h��t l8l�n yU})�Ó[^}¾tB¢)adf=�É`b[){Ëf�e)twqd[^[)]��ª����£���Q���[^�)qd� �Átj�pUo vÔ �e)as|�]�`b[Jr)as| as[)} g yU}��ÁtQ�)|$tO�Ä�)q5a�}�f�e)t�tBr8t�}Uf�[N�ÔtB¢)adf��Ä`b[^{Îy"qd[)[^]X�Át g yU�)|$t([N�Ô|$[){"t�t�`$`b[^` ×

k ø l ø^é)ö^ú)ö l þ é)ø|�i�^ø�� õ ò ô)ô �l ö)ø��Y�gþ é^øi�|�)ø�� �S[T ò�ô � �xõ ò ��é)ø|�i�)ø[�

l ö)ø S þí��û � ú õ�ÿ ��ï^é)ú õ�ÿ ��ö^û S õ ó)ô � �gþ ���ò9ô ü T û)ú � ûp��öó)ô û|�)ø�� � õâ� 9 ò �e)t"y g f$ad[^}�[N�Ôf�e)t�| f�yJf$t�{"t�}8f�q�yU�ÁtBqsqdtB� l8p ad|If$[�|$tBfÏ� � ¦Ï�5� f$[wf�e)t"}^��{"�Át�`�[J�zr@yNq¨�)tB|�y g f���yNqsqd_¾`bt�yJ��Ä`b[^{ f�e)t�¬�qdt��Ie)tBfOe)t�`wf�e)t�`�t���yJ|+y�]�`bt�{�yJf���`bt�tB¢^adfX��t g y8�)|$t�f�e)t�t�})�)�Ä[J�D�L¬�qdt���yJ|+��tBf$t g f$tB�Ñ[^`�asf`bt�y g e)tB�XfOe)t�t�})�X[J��fOe)tQyU`$` y�_�|�]�y g t(yJf��¾¦ � � ¦��zv

Page 65: Professional Programmer's Guide to Fortran77 Clive G. Page

� ��������µ������<� ± ��� � ������� B È

©Ra7GIe7N�u�GW:'N[2

���z_U[^�+y=qd[^[^]8� g [)}Uf�`�[Uq>r@yU`ba�yU�)qdt=[J� y8}U_wfb_�]�t�[UfOe)t�`§fOe�yU}wa�}8f$tBcUt�`�fOe)t�`bt�ad|Iy"`bad| ¤ fOe�yJf�`b[^��})��a�})cwt�`$`b[)`b|��adqdqIy gBg ��{"�)q�yJf$tXyJ|=adfwad|wa�} g `bt�{"t�}8f$tB��`bt�]�t�yNf$tB��qd_Uv��Ä}hyN����asf as[)} n a���f�e)t2tB¢�]�`btB|$| as[)})|"�Ð[)`(fOe)t2|$fOyU`bf nqda�{"adf n y8})��|$f t�]�rJyJq��)tB|2yU`bt�})[Uf([N�Ia�}Uf$tBc8t�`(fb_�]�t+f�e)t�}^��{"��t�`=[J��adf$t�`$yNf$ad[^})|w{wyM_�})[UfQ�Át��Ie�yJf=_U[^�tB¢�]�t g f���t g yU�)|$t�f�e)t��L[^`${"�)q�y��)|$tB|�f�e)t����I  �Ä��} g f$ad[^}&ÕL})[Uf2�ª�Ä�ª �ÖBv§��[^})t�[J��f�e)tB|$t¾]�`b[^�)qdt�{"| g yU}[ gBg ��`�a��za¨}8f$tBcUt�`�Ô���yU}Uf asf astB|ªyU`bt(�)|$tB��f�e�`b[^�)c^e)[)�)f�f�e)t$S�Tw|$fOyJf$t�{"t�}8f�v

kgÃIæ I�Í'Þ�Ú�è�Å)ÇPeTBNQ Ø�ÒpÅ]ÒdË]ÏÊËFÑ�Ò

 �e)tªqd[UcUa g yJq����L�h|$fOyJf$t�{"t�}8fzad|I��tB|$f�`btBc^yU`���tB��yJ|�y�|�]Át g a�yJq g yJ|$t�[J��f�e)t � ï ���)qs[ gB¤ �Ie)t�}�adf§[^})qd_ g [^}8f�yJa�})|[^})t�|$fOyJf$t�{"t�}8f�vz �e)�)|�×

� ïgþ ö Þ�û)ö�ÞXôÃÞbô � ú)ý^ö)ûl ö�ü � k ö õ ò Þbô&Ühö

ö^û S � ïg yU}��ÁtQ`bt�])q�y g tB���8_�y"| a¨})c8qst=qd[UcUa g yJq����L�Ñ|$f�yNf$t�{"t�}8f�×

� ï�þ ö ÞÄû)ö�ÞXô§Þbô � l ö�ü � k ö õ ò ÞbôkÜÂö

 �e)t�cUt�})t�`$yJq��Ð[^` {Î[J��f�e)t=qd[UcUa g yJq����L�Â|$f�yJf$t�{�t�}Uf�ad|�×� ï�þ ¶d¯$·)³Õ�OµU¶ÝÛ�± ³ �®b±B²O²B³D¯U´ � ²¥½LµU½L±M¸"±�´�½

 �e)t�| f�yJf$t�{"t�}8f�ad|XtB¢)t g �)f$tB�&[^})qd_ a��wf�e)t�¶d¯ ·^³V��µU¶ª± ³ �®b±B²O²¥³�¯U´�e�yN|�yÓf�`$�)t~r@yJq��)tUv˦Ï}8_�tB¢)t g �)f�yU�)qdt|$f�yNf$t�{"t�}8f g y8}��Ð[Uqdqd[J��tB¢ g t�])f�S�T � � ï���ö[� � ö � ï���ö[� � ö���ö^û S � ï n [^` ö^û S�v

kgÃPO ¨�Ñ�è�Í7Ñ�Ù�Ú�ÒpÚ³Í�Ñ�Å'Ç�½ H��6H�Ø�ÒpÅ]ÒpËFÏÊË]Ñ7Ò �e)t���} g [^})��adf$ad[^}�yJq)miT ú Tª| f�yJf$t�{"t�}8f5|$a�{w])qd_w]�`b[)��� g tB|§y�fO`$yU})|b�Lt�`>[J� g [^}8f�`b[8qUf$[�y�q�yU��tBqdqdtB�2tB¢)t g �)f�yU�)qdt|$f�yNf$t�{"t�}8f�tBqd|$tB�ªe)t�`bt"a¨} f�e)t(]�`b[Uc)`$yU{Î��})adf�v��Éf$|�cUt�})t�` yJq��Ð[^` {Îad|�×

miT ú TX¶dµ<µ ±�¶��[Uf$t�f�e�yJf g [^}8f�`b[8q�{"�)|$fª})[UfI��t=f�`$yU})|��Ðt�`$`�tB�2a�}8f$[2yU} � ï ���)qd[ gB¤ [)`�y�S�TJ�Äqd[)[^]+�Ä`b[^{ [^�)f$| as��t=adf�v

©Ra7GIe7N�u�GW:'N[2

 �e)t���} g [^})��adf$ad[^}�yJq7miT ú T�|$f�yJf$t�{�t�}Ufz{wy ¤ tB|zadf�]�[U|$| a¨�)qdtªf$[ g [^})|$f�`$� g f§]�`�[Uc^`$yU{�|���adf�e�yªrUt�`b_(��})��ad| g a��])qda�})tB�2|$fO`$� g f���`btU�J|�� g e(]�`�[Uc^`$yU{�|�yU`bt��)|���yJqdqd_�e�y8`b�"f$[I��})��t�`b|$fOyU})�wyU})�"f$[I{wyJa�}8f�yJa�}>vzu�[)[^�w]�`b[8c^`$yU{=�{"t�`b|��)|$tMmiT ú T"|$f�yNf$t�{"t�}8f$|�yU})��q�yU�ÁtBqd|IrUt�`�_w|�]�yU`ba�})cUqd_Uv§�ª}8�L[^`bf���}�yJf tBqs_+adf�ad|�})[Uf�yJqd�\yM_)|�]�[U|$| a¨�)qdt=f$[yMrU[Uad��f�e)t�{Ît�}8f$a�`btBqd_�a�}���[^`bf�`$y8}2�Át g yU�)|$t"[J�Ôy"q�y gB¤ [J�ÔyNqsf t�`$}�yJf$adrUt g [^}UfO`b[Uq>|$f�`$� g fO��`btB|�v �e)t(})tB¢^f�tB¢�yU{w])qdtª¬�})��|�f�e)t(e)adc^e)tB| f g [^{w{"[)}"�Äy g f$[^` [J��fb��[(a�}8f$tBcUt�`b|�� y8})�X�k�)|$a�})c2y��§� g qdad�5ÌÍ|

yJqdcU[^`�asfOe�{�v§�Lf g yU}��Át(tB¢�]�`btB|$|$tB�X`�[^�)c^e)qd_�× �Ie)adqst�ÕI� �ªÖÃ|����)f�`$y g f�fOe)t�|�{wyJqdqdt�`�[N��� yU})�X�ð�Ä`b[^{ f�e)t[Uf�e)t�`�`bt�]�t�yJfª��}Uf$adq5fOe)tB_XyU`bt�t3Ô���yJqLv

k|l�Timpl ø^éÑöb�Áüi� � S�|l � ú^ögþí��û � ú õ�ÿ �2ï)é)ú õ�ÿ���� öUî�Ù�ãNáÂÙ)Ý:ë!ò î�Ù�ãJè�ãUáÁß �l ö)ø S þ �:û � ú õ�ÿ �+ï^é)ú õ�ÿ�� é��Xû

ò ô � ï�þ é ÞÄû)ö�Þ+û � ú)ý^ö)û� ïgþ$é�Þ m ú�Þ+û � ú^ý)ö)û

é õ é£9Ñû

Page 66: Professional Programmer's Guide to Fortran77 Clive G. Page

� ��������µ������<� ± ��� � ������� BpB

ö�� � öû õ û£9Ñé

ö)û S � ïmiT ú Tóò ô

ö^û S � ï�|l � ú^ögþí��û � ú õ�ÿ �2ï)é)ú õ�ÿ��6� ý�òMèUØ>ã)ß@Ù äNëNì^ì�ëNîðí�àÁä@Ù�ë^á õä� ��éö^û S

kgÃVU �«Í7ÏÐÎ�égÒpË]ÙL½oH�KH�Ø�ÒpÅ]ÒdË]ÏÊËFÑ�Ò �e)t g [){w]��)f$tB�«miT ú T=|$f�yNf$t�{"t�}8f�ad|�y8}wyJqdf$t�`$}�yJf asr8t�f [�f�e)tI�)qd[ gB¤ ���L�Ó�Ie)t�}wyªq�yU`bcUtª}^��{"��t�`[N��[)])f$ad[^})|yU`bt"`bt3Ô��)a¨`�tB��yU})�¾f�e)tB_ g y8}��Át"|$tBqdt g f$tB���8_Xf�e)t=r@yJq��)tw[J��yU}�a�}8f$tBcUt�`ªtB¢�]�`btB|$|$ad[^}>v= �e)t"cUt�})t�`$yJq¡�Ð[)`${[J�zf�e)t�|$f�yNf$t�{"t�}8f�ad|�×

miT ú T þ ¶dµ<µ$±M¶�NæÔ¶dµ<µ ±�¶ �$æ������ª¶dµ<µ ±�¶�� � � ³�´�½L±�·^±M®4Ûb± ³ �®b±B²O²¥³�¯U´ �e)t g [^{�{wywyM�Lf$t�`Ãf�e)tQ`�asc)eUfI]�y8`bt�}UfOe)tB|$ad|�ad|I[^])f as[)}�yJqLv �e)tX± ³ �®b±B²O²¥³�¯U´�ad|=tBr@yJq���yJf$tB�5� a �ªasf |(r@yNq¨�)t+ad|"[^})twf�e)t�} g [)}Uf�`�[Uqzad|(f�`$y8})|b�Ðt�` `btB�¾f$[Xf�e)t�|$f�yJf$t�{�t�}Uf

yJf$fOy g e)tB��f [2f�e)t�¬�`b|$f�q�yU�ÁtBqza�}�f�e)t=qsad|$fM�>a �§adf�ad|ªf���[ g [)}Uf�`�[Uq>cU[^tB|ªf$[wfOe)t(|$t g [^})�¾q�yU�ÁtBq n y8})�X|$[+[^}>v����f�e)t�rJyJq��)t�[J�5f�e)t�tB¢�]�`btB|$|$ad[^}�ad|§qdtB|$|§fOe�yU}"[^})t�[^`ze)adc^e)t�`Ãf�e�yU}"�!Õ��Ie)t�`�t�fOe)t�`btIyU`bt��Âq�yU��tBqd|�a�}wfOe)t�qdad|$f�Öf�e)t�} f�e)t(|$fOyJf$t�{"t�}8f�e�yJ|Ï})[+tå�5t g fIyU})��tB¢^t g �)f$ad[^} g [^}8f$a�})�)tB|I��adf�e f�e)tQ})tB¢)fª|$f�yJf$t�{�t�}Uf�a�}�|$t3Ô:�)t�} g tUv �e)t�|�y8{"t�q�yU��tBqz{wyM_��ÁtQ]�`btB| t�}UfI{�[^`btªf�e�yU}�[)} g t�a¨} f�e)t�qdad|$f�v �e)t g [^{�]��)f$tB��miT ú T+|��b�5t�`b|\�É`b[){Æ{wyU}8_2[N�Ôf�e)t�|OyU{"t(��` y��ª��y g¥¤ |�yJ|�f�e)t"��} g [^})��adf$ad[^}�yJq�miT ú T n

|$a�} g tªa �5adf$|���`$yU} g e)tB|�yU`btª�)|$tB�w��adf�e)[^�)f�`btB|$f�` yJa�}Ufzf�e)tB_ g yU}���t g [^{"tªa�{w]�t�})tBfO`$yU�)qdtIfOe)a gB¤ tBf$|MvÔ �e)tI��tB|$f��yM_Xad|"f$[+�Ð[8qsqd[J�Îf�e)t g [^{�]��)f$tB��miT ú T�|$fOyJf$t�{"t�}8f���adf�e¾f�e)t+|$t g f$ad[^})|=[J� g [^��t+a�}�[)`b��t�` n yNqsqÃtB¢ g t�])ff�e)t�q�yJ| f�f t�`${"a�}�yJf$tB�w��asfOewadf$|�[J�I}w��} g [^})��adf$ad[^}�yNqcmiT ú T=f$[(f�` yU})|b�Lt�` g [^}UfO`b[Uq�f$[=f�e)tIt�})�+[J�5f�e)t��ªe)[Uqdt|$f�` � g f���`btUv¦Ï}8_ g [){w]��)f$tB�YmiT ú T~|$f�` � g f���`bt g [^�)qd� ��t¾`bt�])q�y g tB� �8_hyU} � ï ���)qd[ gB¤ ��adf�e�y�|��)adf�yU�)qdt¾}^��{"��t�`

[J� ö�� � ö � ï g q�yU�)| tB|�vX���ªf�e)t�`bt�yU`bt2y rUt�`b_¾q�yU`bcUt�}^��{"�Át�`([N� g yN|$tB|(f�e)t�}~f�e)ad|"��[^�)qd� �Át�y qsadf$f qst�qdtB|$|tåÜ g adt�}8f��5f�e)ad|(e�yJ|�f [��Át2��yJq�yU} g tB��yJc^yJa�})|$f�fOe)tQa�} g `bt�yN|$tB� g q�yU`badfb_X[J�§fOe)t��É�Ñ|$f�`$� g f���`�t g [){w]�yU`btB��f$[f�e)t�q�yU�ÁtBq ��`�as����t�}�miT ú T�v¦Ï} tB¢:yU{�])qst�[N�Ôf�e)t(�)| t([J�zf�e)t g [^{w]��)f tB�Rm|T ú T�as|ªcUadrUt�}�e)t�`bt=a�}Xy"|�����`�[^�)f$a�})t(�Ie)a g e g [^{�]��)f$tB|

f�e)t"}^��{"��t�`ª[N�§��y�_)|ªa¨}¾y+{"[^}8f�e n cUadrUt�}�f�e)tw{"[)}Uf�e�}^��{"�Át�`���Å��ª ��!��tBfb��tBt�} j yU})� j�oÁn yU})�¾f�e)t�L[^��`��Ä��adcUadf�_Ut�yU`ª}^��{"�Át�`ªa¨} � � ¦ Q�v5��[Uf$t=f�e�yJfªt�y g eX| t g f$ad[^}�[J� g [^��t�tB¢ g t�])f�f�e)t"q�yJ|$fªad|�f$t�`${"a�}�yJf tB���adf�e�yÖmiT ú Tw| f�yJf$t�{"t�}8f�f$[wtB| g y8]�tª�Ä`b[^{Îf�e)t�| f�`$� g f���`btUv

� � �il�T ��ú � û)öðü8ø��Uö)û S þ � ö)ø l �2é T û^ú)ý�� S ø ��� �� û^ú)ö m ö l"� ö)ø l ��é T û)ú^ý�� S ø �[�miT ú T þ,A ò ô��ß=�?^ô��4A ò ôg�4A)ô^ô��ßA ò ôg�4AUô)ôg�4A ò ô��ßA ò ô��ßA)ô^ô��*A ò ô��4A^ô)ô<�4A ò ô � é T ûUú)ý

ÿ ã àNî�ï�ãNhké:à)áÑø8ÚÁáÂé�àUê ã å)î ã âJêkø8å:è � ã�Ú T ä@Ùkû�ë)g S ã)ä� ú Tbk �ê� ì)ÚÁëÁß^ß�òih�â)ãÓìÁëNî:Ù8ØÑî^å)ì�h�ãUá �

ÿ ï�ãNhÁáNå�à^á8ê�Û�ØÁàÁߤ=)ókñ)àUê�ßkòBî!â)ãNàNÚ�ê�ãNà)ág�8=�?kë8ÙUØ>ãNá8Ý>òUß)ãÔÞ=�?^ô � ï�þ é TpS þ � ö)ø l � > ô)ô � ÞÄö�ù§Þ�ô Þ Tpl Þ þ$é TpS þ � ö)ø l � ò ô)ô � ÞÄû)ö�Þ�ô¥ ÞÄø)û S Þ+é TbS þ � ö^ø l � > � Þ�ö:ùÃÞ�ô ��� ú)ý^ö)ûS ø �[� õ =)ó

ö�� � öS ø �[� õ =�?

ö)û S � ïmiT ú T ò ô)ô^ô

Page 67: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� BUÇ

ÿ � ØÁë)áUÙðìÁëNî:Ù8Ø>ßA)ô^ô S ø ��� õ A)ômiT ú T ò ô)ô^ô

ÿ �)ëJî�èÑì�ëJî�ÙUØ>ßA ò ô S ø ��� õ A òÿ áÁã@Ù8å�áJîkÙ8Ø�ãÌg�à�âMå�ã�ë8í S ø ���ò ô^ô)ô ö)û S

kgÃPd ���KH�»VØ�ÒpÅ]ÒdË]ÏÊËFÑ�Ò �e)tM� ú Tbkw|$fOyJf$t�{"t�}8f�|$a�{w])qd_�f$t�`${"a�}�yJf$tB|�f�e)t�tB¢)t g �)f$ad[^} [J��f�e)t(]�`b[8c^`$yU{ÎyU})�X`btBfO��`$})| g [^}UfO`b[Uq>f$["f�e)t[^]Át�`$yJf$a�})cw|$_)|$f$t�{ v§�Lf$|�cUt�})t�`$yJq>�L[^`${ ad|�×

� ú Tbk � ��®^µ8®�µ)��½L±�®m�O¯U´Á²¥½LµU´�½ � �e)t g e�y8`$y g f$t�` g [^})|$f�yU}8fÏÕÐ�Ie)a g e�{"�)|$f���t(y�qdadf$t�`$yNq�yU})��})[Uf�}�yU{�tB� g [^})| f�yU}8f�Özad|�[^])f as[)}�yJqL×�a��§]�`btB|$t�}8fadf$|ªr@yJq��)t"ad|2©�{�yJ��tQyMr@yNasq�yU�)qdtB«�f$[�f�e)tQ�)|$t�` ���)|���yNqsqd_�asf�fOe)t({"tB|$|�yJc8tQyU]�]Át�yU`b|ª[^}�_U[)��`�f$t�`${"a�}�yJqLv���[^`g [^{w]�yNf$a��)asqdadfb_���adf�e���[)`bf�`$yU}�BbB"adf�as|"]�[U| |$a��)qst+f$[��)|$twy+|$f�`ba�})c�[J�§[)})tQf [+¬�rUt"��t g a¨{�yJqz��adcUadf$|(a�})|$f$t�yN�[J�zf�e)t g e�yU`$y g f$t�` g [^})|$f�yU}8f�v�L��t�yJqdqd_�yX]�`b[8c^`$yU{ |�e)[^�)qd�h[^})qd_�`btBf���` } g [^}8f�`b[8q§f$[�f�e)t2[)]�t�`$yJf a¨})c¾|$_)|$f$t�{ �Ä`b[^{ [^})t�]Á[Ua�}Uf n f�e)t

t�})�X[N�Ôf�e)t({�yJa�}X]�`b[Uc)`$yU{ n �Ie)t�`bt=f�e)t ö)û S+|$f�yJf t�{"t�}Uf���[)tB|ÏyNqsq¡f�e�yJf�ad|�})t g tB|$|�yU`b_Uv��Ä}�]�`$y g f$a g t n tBr8t�}a�}�f�e)t(�ÁtB|$fb��])q�yU}�})tB��]�`b[Uc)`$yU{"| n |$adf���yJf$ad[^})| g yU}�yU`bad|$t��Ie)a g eX{wy ¤ t�adfI]�[Ua�}8f$qdtB|$|ªf$[ g [^}Uf a¨})�)tUv§�Ð�§f�e)tB|$tyU`bt=��tBf$t g f$tB�¾a�}�f�e)tw{wyJa�}¾]�`b[Uc^`$y8{Îf�e)t�`bt=as|(yNqs��yM_)|If�e)t=[^])f$ad[^}�[J�7Á$��{w])a�})c�f$[+f�e)t ö)û S�| f�yJf$t�{"t�}8f n���)f���adf�e)a�}¾]�`b[ g tB����`btB|ªf�e)t�`bt({wyM_���t(})[ g e)[Ua g t"���)f�f$[2�)|$t(y�� ú Tpk+|$f�yNf$t�{"t�}8f�v

� �ö¿7!Mûg&´� �$¿7&�(¦�}U_w| tBf�[N� g [^{w]��)f�yNf$ad[^})| g yU}+��t�t�} g yU])|O�)q¨yNf$tB�Xa�}�y"]�`b[ g tB����`btUv§ �e)t({wyNa¨}�]���` ]�[U|$t�[N�Ôy"]�`b[ g tB����`�tad|�f$[QyJqdqd[J��f�e)tª|�yU{�t�|$tBf§[N��[)]�t�`$yJf as[)})|§f$["��tªa¨}8rU[ ¤ tB��yJfz��a�5t�`bt�}8f�]�[Ua�}8f$|�a¨}+y(]�`�[Uc^`$yU{ v�x§`�[ g tB����`btB|yJqd|$[�{wy ¤ t�adf(]Á[U|$|$a��)qdt"f$[��)| t(f�e)t=|�yU{"t g [^��t=a¨}�|$tBr8t�`$yJq5��a�5t�`bt�}8fÏ]�`b[8c^`$yU{"|Mv��ÉfIad|�cU[)[^�¾]�`$y g f$a g t=f$[|�])qdadfÏy=q�yU`bc8tÏ]�`b[8c^`$yU{ a�}Uf [Q| t g f$ad[^})|��Ie)t�})tBrUt�`\asfª��t g [^{"tB|�f$[^["q�yU`bc8t�f$[w��t(e�yU})��qdtB� g [)}UrUt�})adt�}8f$qd_�a�}[^})t�])adt g tUv� �e)t�[)])f$a�{Q��{ |$a@?Bt�[J�zyQ]�`�[Uc^`$yU{ ��})adf�ad|�Ô:�)adf$t�|O{wyJqdq n ]�`�[^��yU�)qd_�})[w{"[)`btIfOe�yU} jMpUp qsa�})tB|�v��[^��`���a�5t�`bt�}8f��L[^`${"|�[N�Ô]�`b[ g tB����`bt g yU}���t"�)|$tB�Xa�}���[^`bf�` yU}2]�`�[Uc^`$yU{�|�× �

ë �Ä}8f�`ba�})|$a g �Ä��} g f$ad[^})|

ë �)f�yJf$t�{"t�}8fÃ�É��} g f as[)})|

ë �z¢)f$t�`$}�yJq��Ä��} g f$ad[^})|�ÕÉyJqd|$[ ¤ })[@�ª}�yJ|��Ä��} g f$ad[^}�|�����]�`�[Uc^`$yU{�|�Ö

ë ������`b[^�)f$a�})tB|�v

�Ä}8f�`ba�})|$a g �É��} g f as[)})|QyU`btw]�`b[Jr)ad��tB��yU�)f$[^{�yJf$a g yJqdqd_��8_Xf�e)tw��[^`bf�` yU}�|$_)|$f$t�{ n �Ie)t�`�t�yJ|(f�e)t"[UfOe)t�`ªf�e�`btBt�L[^`${"|Ã[J��]�`b[ g tB����`�t(yU`bt��)|$t�`��Ä�I`badf$f t�}>v§�)f�yJf$t�{�t�}Uf �É��} g f$ad[^})| n �ªe)a g e�yU`bt���tO¬�})tB�X��adf�e�f�e)tª|$f�yJf$t�{�t�}Uf�Ä��} g f$ad[^}�| f�yJf$t�{"t�}8f n g yU}Ó��t+[^})qd_���t��)|$tB�Óa¨}~f�e)t2]�`�[Uc^`$yU{ ��})adf"a�}��ªe)a g e~f�e)tB_¾��t�`�tw��tO¬�})tB��yU})�yU`btª|����iÁbt g f�f$["[UfOe)t�`§|O]�t g a�yJq�`btB| f�`ba g f$ad[^})|�v�� ¢^f t�`$}�yJq��É��} g f as[)})|IyU})��|�����`b[)�)f$a�})tB|IyU`btªfb��[wyJqdf$t�` }�yJf$adrUt�L[^`${"|Ã[J��tB¢)f$t�`$}�yJq>]�`b[ g tB����`�tUקt�y g e�as|�|�]Át g a�¬�tB��yJ|�y=|$t�]�yU`$yNf$tI]�`b[Uc)`$yU{ ��})adfIy8})� g yU}+��t(�)| tB��Õ���adf�e[^})qd_Xy=�LtB��`btB|$fO`ba g f$ad[^})|�Ö�yU}8_)�Ie)t�`bt�tBqd|$t(a�} f�e)tQ]�`b[8c^`$yU{�v

Page 68: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� B m

�gÃ� B9Ñ7ÒpÆpÚ�Ñ�à�Ú³èaQgé�Ñ�èiÒpÚ³Í�Ñ�à�Ä}8f�`ba�})|$a g �Ä��} g f$ad[^})|Ie�yMrUt�y(})��{"��t�`Ã[J�Ô��})a@Ô��)t(]�`b[^]�t�`�f$adtB|�v§ �e)t���yJfOy�fb_:]ÁtI[N��t�y g e�a�}Uf�`�a¨})| a g �É��} g f as[)}ad| ¤ })[@�ª}Óf$[¾f�e)t���[^`�f�`$yU}¾| _^|$f t�{ y8})�has|+})[Ufw|����iÁbt g f"f$[¾f�e)tX})[^`${�yJq�`$�)qdtB|�v � é k � � ü � ú yU})�hfb_�]�t|$f�yNf$t�{"t�}8f$|(yJqd[^})t2e�yMrUt2})[�tå�5t g f([^}¾fOe)t�{�v2�)[^{�twa�}Uf�`�a¨})| a g �Ä��} g f$ad[^})|we�y�r8twcUt�})t�`ba g }�yU{"tB|�×��ªe)t�}f�e)tB|$t(y8`bt(�)|$tB�XfOe)t g [^{w])adqdt�`ª|$tBqdt g f$|IfOe)t(yU]�]�`b[^]�`ba�yJf t�|�]�t g a�¬ g �É��} g f as[)}�y gBg [^`b��a�})cwf$[wfOe)t���yJf�y"fb_�]�t[J�zf�e)t(yU`bc)��{"t�}Uf |�v¦ �LtB�!a�}UfO`ba�})|$a g �É��} g f$ad[^})|=|�� g e�yJ|$�¾¦ � n ���Ä� n yU})��Z���xÃ� � n y8`bt2yJqdqd[J��tB�~f$[Xe�yMrUtwy+r@yU`ba�yU�)qdt

})��{Q�Át�`=[J�IyU`bc^��{"t�}8f$| n ���)fwyJqdq�[J��f�e)t�yU`bc^��{"t�}8f$|"{Q�)| fQe�yMrUtwf�e)t+|�yU{�t2��yJfOy�fb_:]ÁtUv���|$t�`��Ä�ª`badf$f$t�}]�`b[ g tB����`btB| g yU}�})[UfIe�yMrUt�[^])f as[)}�yJq�yU`bc)��{"t�}Uf |�[)`�cUt�})t�`ba g fb_�]�tUv¦Iqdf�e)[^�)c)e�a�}8f�`ba�})|$a g �É��} g f as[)})| g y8}���t��)|$tB�Óa¨}ÓyU}8_�]�`b[Uc^`$y8{ ��})asf n f�e)tBa�`(}�yU{�tB|�y8`bt2})[Uf�cUqd[^��yNq n

})[^`"yU`bt+f�e)tB_�`�tB|$t�`brUtB�Ó��[^`b��|�v¾�Lf"ad| n e)[J��tBrUt�` n ��tB| fQf [�yMrU[Uad� g e)[)[U|$a�})c�y¾}�yU{"t��L[^`(y�r@y8`ba�yU�)qdt�[^`yU`$` y�_��Ie)a g e as|�as��t�}8f$a g yJqf$[wf�e�yNf�[N� yU}+a�}8f�`ba�})|$a g �É��} g f as[)}>v§�LfI{�y�_ g yU�)|$t g [)}8�É�)|$ad[^}�yU})��a�}�f�e)t�qd[^})c`$��}¾adf({wyM_¾{wy ¤ t"adfQ{"[)`bt"��a�Ü g �)qsf"f$[+t�}�e�yU} g t+f�e)tw]�`b[Uc^` yU{�v=¦ }�yU{"t g q¨yN|�e¾ad|Q{"[)`bt"|$t�`bad[^�)|(a���asfa�}Ur8[UqdrUtB|(yU}�tB¢)f$t�`$}�yNq5�Ä��} g f$ad[^}�[^`�|�����`b[^�)f$a�})t n �Ð[^`\a¨}Êf�e)ad| g yJ|$t(fOe)tQtB¢)f$t�`$}�yNq�]�`b[ g tB����`bt2}�yU{"t"{"�)|$f��t=|�]�t g a�¬�tB�¾a�}XyU} öi�)ú^ö l û)ø�� |$f�yJf t�{"t�}Uf�f$[+`btB|$[UqdrUt�f�e)t(y8{Q�)adc^�)adfb_Uv§£Ã_�f�e)ad|I{"t�y8})|�adfIad|I]Á[U|$|$a��)qdt"f$[|����)|$f asfO�)f$tQyU}+tB¢)f$t�`$}�yNq��Ä��} g f$ad[^} [J�Ô_8[^��`�[J�I}��L[^`Ã[^})t�[J�zf�e)t(a�}8f�`ba�})|$a g �Ä��} g f$ad[^})|�v �e)tI��[^`bf�` yU}"�)f�yU})��yU`b�+|�]Át g a ¬�tB|ªyª�ÄyJa�`bqd_2tB¢)f$t�})|$adrUtª|$tBf§[N��a�}8f�`ba�})|$a g �Ä��} g f$ad[^})|��Ie)a g e2{"�)|$f�yJqd�\yM_)|

��tXyMrJyJadq¨y8�)qst¾���)f"asf���[^tB|w})[Ufw]�`btBrUt�}8f"f�e)t�]�`b[Jr^ad|$ad[^}Ó[J��yJ����adf$ad[^}�yJq�[^})tB|MvJ�Êy8}U_¾|$_)|$f$t�{"|w]�`b[Jr)ad��tyJ����adf$ad[^}�yJq�a¨}8f�`ba�})|$a g �Ä��} g f$ad[^})|w�Ie)a g e n �L[^`�tB¢:yU{�])qst n [^�)f�yNa¨}~f�e)t g ��`$`�t�}Uf"��yJf$t�yU})�Óf$a�{"t n cUt�})t�` yJf$t])|$t��)��[J��` yU})��[^{�})��{"��t�`b| n [^`�tBr@yJq���yJf t�u=yU�)|$|$a�yU}¾]�`b[^��y8�)asqdadfb_Uv2 �e)t+{wyJa�}���`$yM�I��y gB¤ a�}��)|$a�})c�})[)}8�|$f�y8})��yU`b�=�É��} g f as[)})|§ad|§f�e�yNf�_U[)�Q{�y�_"e�yMrUt�f$[�¬�})�+yª|����)|$f$adf��)f$t�a �5_U[)��`z]�`b[Uc^`$y8{kad|�{�[@r8tB�(f$[(yU})[8f�e)t�`|$_)|$f$t�{Î�ªe)a g e���[)tB|I})[Ufªe�y�r8t�f�e)t�|�{wyJt�tB¢)f$t�})|$ad[^})|Mv �e)t2| f�yU})��yU`b�~a¨}8f�`ba�})|$a g �Ä��} g f$ad[^})|=�Ð[)`�f�e)t2y8`badf�e�{"tBf$a g f�_�]�tB|wyU`�tw��tB| g `ba���tB�ha�}~��tBf�yJadq�a�}�|$t g f as[)}

B�v o �^fOe)[U|$t��)|$tB����adf�e g e�yU`$y g f$t�`��Ä|$f�`ba�})cU|�yU`bt g [JrUt�`�tB�2a�}�| t g f$ad[^}�Ç�v È v¦ g [){w])qdtBf$tQyJq�]�e�yU�ÁtBf$a g yJqqsad|$f�as|]�`b[Jr)as��tB��a�}�f�e)t(yU]�]Át�})��ad¢�v

�gÃW× Ø<ÒdÅ]ÒpËFÏÐËFÑ�Ò©Qgé�Ñ�èiÒdÚ�Í7Ñ�à�)f�yJf t�{"t�}UfÃ�Ä��} g f$ad[^})| g yU}���t���tO¬�})tB����adf�e)a�}XyU}8_2tB¢)t g �)f�yU�)qdt"]�`b[Uc^`$y8{ ��})adfÏ�8_�{"t�yU})|�[J�z|$f�yJf$t�{�t�}Uf�Ä��} g f$ad[^}+|$f�yJf t�{"t�}Uf |�v� �e)tB_ g yU}w[)})qs_+��t(�)|$tB� n e)[J��tBrUt�` n ��asfOe)a¨}+fOe)tI|�y8{"tI]�`b[Uc)`$yU{ ��})adf�v ¦Iqdf�e)[^�)c)e|$f�yNf$t�{"t�}8f§�Ä��} g f$ad[^})|�e�yMrUt�qda¨{�asf tB�Ê�)| tB| n f�e)tB_�yU`bt(��}9Á$�)|$f$qd_X})tBcUqdt g f$tB���8_�{wy8}U_�]�`b[Uc^` yU{w{"t�`b|Mv �e)t�|$f�yJf$t�{�t�}Uf>�Ä��} g f$ad[^}"| f�yJf$t�{"t�}8f�`btB| t�{Q�)qdtB|�yU}�[^`���a¨}�y8`b_QyJ| |$adc^}�{"t�}8fz|$f�yJf$t�{�t�}Uf�v>��[^`¡tB¢:yU{�])qstU×

ï)ø^ý l þ�ü8ö[� � �Võ A�=§ÞbôL; ò Þ*? ÿ üUö�� � �e)t=�Ä��} g f$ad[^}¾��¦$�£Q g [^}8rUt�`bf |Ïy�f$t�{w]Át�`$yJf���`bt"a�}¾��tBc^`�tBtB|(Z�tBqd|$a��)|(f$[+adf$|�t3Ô:�)adrJyJqdt�}Uf"a�}���yUe�`bt�}�e)tBadf�v �e)�)|���¦$�£Q(Õ oUp v p ÖÃ��[^�)qd�X`btBf���` }�y"r@yJq��)t5B m v p y8]�]�`b[J¢^a�{wyJf tBqs_Uv¦!|$f�yJf$t�{�t�}Uf��Ä��} g f$ad[^} g yU}�e�y�r8tQyU}8_X}^��{"�Át�`�[J�§����{�{(_Xy8`bc^��{"t�}8f$|QÕ�|O� g e�yJ|ÏZ��§�5��yU��[JrUt�ÖªyJqdq

[J���ªe)a g e�{"�)|$f�yU]�]�t�y8`§a�}+f�e)t�tB¢�]�`btB|$| as[)}+[^}wfOe)t(`badc^eUf���e�yU})�2| as��tU��f�e)ad|�tB¢:]�`�tB|$|$ad[^}�{wyM_2yJqd|$["a�} g q��)��tg [^})|$fOyU}Uf | n r@yU`ba�yU�)qdtB| n [^`"yU`$`$yM_XtBqdt�{"t�}8f$|2�)| tB��tBqd|$tB�Ie)t�`�tXa�}�fOe)t�]�`b[8c^`$yU{�v � e)t�}~f�e)t��É��} g f as[)}Óas|g yJqdqdtB�¾f�e)t g ��`$`bt�}8f�r@yNq¨�)tB|�[N��f�e)tB|$t=asf t�{"|���adqdqÔ�ÁtQ�)|$tB�5v ��[^`�tB¢�yU{w])qdtU×

l ö)ø���é ò �Xé�=�� m � lû^ö � ú T û�þ é ò ��é�=g� l �Yõ m ÿ é ò ÿ é�=&Ü l ÿ|ÿ =

¦ `btO�Lt�`bt�} g t=f$[wf�e)tª�Ä��} g f$ad[^}�a�}�yU}�yJ|$|$adc^}�{�t�}Uf�| f�yJf$t�{"t�}8f�|�� g eXyJ|�×ï Tpl ü8ö õ û^ö � ú T û�þ ��� � � S � � ú �

��adqdqÔ`�tBf���`$}Xy�r@yJq��)t"��t�]�t�})��a�})c�[^} f�e)t�r@yJq��)tB|�[J�zf�e)t"y g f���yJq�y8`bc^��{"t�}8f$| � n � n yU})���(�Ä��  n yU})��fOe�yJf[J�zf�e)t�r@y8`ba�yU�)qdt�u!yNf�f�e)t�f$a�{"t=f�e)tª�É��} g f as[)}�ad|Ï`�tO�Ðt�`bt�} g tB�5v

Page 69: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� B l

��tO¬�})asf as[)})|�[J�Ô| f�yJf$t�{"t�}8fÃ�É��} g f as[)})| g yU}�yJqd|$[wa�} g q��)��t2`btO�Lt�`bt�} g tB|ªf$["a¨}8f�`ba�})|$a g �Ä��} g f$ad[^})| n tB¢^f$t�` }�yJq�Ä��} g f$ad[^})| n [^`�]�`btBr^ad[^�)| qs_���tO¬�})tB�X|$fOyJf$t�{"t�}8fÃ�É��} g f$ad[^})|M×

k ø l ø)é^ö)ú^ö l þ k �Yõ AÃÞ òi>cò9ô ó<= M|ô � S ú Tpl õ k � Ü ò ?^ôÃÞ�ô �� � û S þ$ú)ý^ö)ú)ø � õ � � ûgþ$ú)ý^ö)ú)ø ÿ S ú Tpl �ü T|�bS þ$ú)ý^ö)ú)ø � õ ü Ti� þ$ú)ý^ö)ú)ø ÿ S ú Tpl �ú)ø^û S þ$ú)ý^ö)ú)ø � õ � � û S þ ú^ý)ö)ú^ø � ÜÒü Ti�pS þ$ú)ý)ö^ú)ø �

 �e)tB|$t=��tO¬�})adf$ad[^})|(yJqdqd[@� f�`badcU[^})[^{�tBf�`b_w[^}�y8})cUqdtB|I|�]Át g a�¬�tB��a�} ��tBc^`btBtB|�`$yJf�e)t�`Ãf�e�yU}�` yJ��a�yU})|�v �e)tw| g [^]Át2[N�\t�y g e¾����{�{(_�yU`�c^��{"t�}8fQ}�yU{"t¾Õ�|�� g e�yJ| ú)ý)ö^ú)ø yU�Á[JrUt�Ö�ad|(fOe�yJf([J��f�e)t�|$f�yJf$t�{�t�}Uf

yJqd[^})tU�)f�e)tB|$tª}�yU{"tB| g y8}w��t��)|$tB�wtBqd|$tB�Ie)t�`�t�a¨}�f�e)tI]�`b[Uc)`$yU{!��})adf�yJ|§rJyU`ba�yU�)qdtB|�[J�5f�e)t�|�yU{�t���yNf�y�fb_�]�t��adf�e�})[wtå�5t g f��Ie�yJf$tBr8t�`§[)}+f�e)t(tBrJyJq���yJf$ad[^}�[N�Ôf�e)tª�Ä��} g f$ad[^}>v�)f�yJf$t�{"t�}8f�Ä��} g f$ad[^})| g yU}�e�y�r8t\y8}U_=��yJf�yªfb_:]ÁtU�Uf�e)tª}�yU{"t�yU})�2yU`�c^��{"t�}8f$|�Ð[8qsqd[J�hf�e)tI})[)`${wyJq�fb_�]�t

`$�)qdtB|�v� �e)tB_ g yU}���t"�)|$tO�É�)qa�} g e�yU`$y g f t�`�e�y8})��qsa�})c n �L[^`ÃtB¢�yU{w])qdtU×� T|m � üUø��Âé^ø)ú^ý�� S � m � ú�� S[Tbl éü8ý^ø l ø:ü8ú^ö l ü ÿ òS � m � ú�þOü � õ � m ö�þOüg� � ô ��� ÞÄø)û S Þy�i�Uögþ�ü�� � ó ���é)ø^ú)ýgþ�ü � õâ� û S öi��þ � ;<9 ÿ Ü � ��ü � Þ�û)ö�ÞXôS�Tpl égþ�ü � õ S � m � ú�þOü � Þ Tpl Þ�é)ø^ú)ý�þOü �

 �e)tB|$t"f�e�`�tBt��Ä��} g f$ad[^})|�t�y g eX`btBf���` }�y�qd[UcUa g yJqr@yJq��)tw�ªe)t�}�]�`�tB|$t�}Uf tB�X��adf�e¾y�|$a�})cUqdt g e�y8`$y g f$t�`�y8`bc^�8�{"t�}8f�×7S � m � ú f$tB| f$|zf$[�|$tBt��ªe)tBf�e)t�`zf�e)t g e�yU` y g f$t�`¡as|�yª��adcUadf n é)ø^ú)ý �Ie)tBfOe)t�`asfÃad|�yU}"[)]�t�`$yJf [^`|$_�{Q�Á[Uq nyU})��S[Tbl é ��asqdq�f$tB|$f��Ð[)`�tBadf�e)t�` g [^})��adf$ad[^}>v¾��[Uf twf�e)t2�)|$t+[J��f�e)t+qdtB¢^a g yJq g [^{w]�y8`bad|$[^}Ê�É��} g f$ad[^})| � m öyU})� �i�Uö a¨} f�e)t���tO¬�})adf$ad[^}�[N��S � m � ú �Ie)a g e�{wy ¤ tªadf g [^{w])qdtBf$tBqd_�a�})��t�]�t�})��t�}8f�[J�zf�e)t�qd[ g yNq g e�yU`$y g f$t�`g [)��tUv

_'/3.�/3NF^JNF:]/«4ga<:7H�/�Gv6�: ¹ a7uvN�2�)f�yJf t�{"t�}Uf��É��} g f as[)}�|$fOyJf$t�{"t�}8f$|Q{"�)|$f"yU]�]�t�y8`(yM�Lf$t�`(y8}U_¾f�e)t+|�]�t g a�¬ g yJf as[)}Ó|$f�yJf$t�{�t�}Uf$|"���)fQ�ÁtO�Ð[^`�tyJqdq5tB¢)t g �)f�yU�)qdt(| f�yJf$t�{"t�}8f$|�a�}�f�e)t(]�`�[Uc^`$yU{ ��})adf�v� �e)tB_�{wyM_2�Át(a�}8f$t�`${"ad¢)tB�X��adf�e1S ø^ú)ø yU})� ï Tbl é^ø)ú|$f�yNf$t�{"t�}8f$|�vz �e)t�cUt�})t�`$yNq>�Ð[)`${ as|M×

°B»^´���½L³�¯U´ þ ¼U»)¸"¸ «�N槼8»^¸"¸^«��$æ�v�v v�¼8»^¸"¸^«�� �Yõ ± ³ �®b± ²�²B³D¯8´ �e)t=°¥»)´��M½L³D¯8´�{wyM_¾e�y�r8t2yU}8_���yJf�y+fb_�]�tU�zf�e)t¾± ³ �®b±B²O²¥³�¯U´���asqdq�})[^`${�yJqdqs_Óe�y�r8twf�e)t+|�yU{"tw��yNf�y�fb_�]�t���)f�a��§��[Uf�e�e�yMrUt�yU}�yU`�asfOe�{"tBf$a g fb_:]Át�f�e)t�}+f�e)t(})[^`${�yJq g [^}8rUt�`b| as[)}�`$�)qdtB|��Ð[)`�yU`badf�e�{"tBf a g yN|$|$adc^}�{"t�}8f|$f�yNf$t�{"t�}8f$|�yU]�])qd_Uv �e)t�}�y8{"t2[N�\fOe)tw�Ä��} g f$ad[^}h{"�)|$fQ�Át2��ad|$f a¨} g f��É`b[){�yJqdq�[Uf�e)t�`=|$_�{"��[Uqda g }�yU{"tB|=a¨}ÓfOe)t�]�`b[8c^`$yU{

��})adf�v§�ÉfI{wyM_wyU]�]�t�yU`\a¨}+fb_�]�t�|$fOyJf$t�{"t�}8f$|����)f�})[Uf�a�}�[8f�e)t�`Ã|�]�t g a�¬ g yJf$ad[^} |$f�yJf t�{"t�}Uf |�v�ÕL �e)t�`bt�ad|�[^})ttB¢ g t�])f$ad[^}>×wy g [^{�{"[^}��)qd[ g¥¤ ad|"]�t�`${"adf$f tB��f$[¾e�yMrUt"f�e)t2|OyU{"t2}�yU{�t2yJ|Qy+| f�yJf$t�{"t�}8f��Ä��} g f$ad[^}Ó���)f|$a�} g t g [^{w{"[^}¾�)qd[ g¥¤ }�y8{"tB|(yJqd��y�_)|(yU]�]Át�yU`(�ÁtBf���tBt�}¾| q¨yN|�e)tB|(f�e)t�`�twad|(qdadf$f$qdt�`�as| ¤ [N� g [)}8�É�)|$ad[^}�Ö vw���f�e)tª�Ä��} g f$ad[^}Xe�yN| g e�y8`$y g f$t�`�fb_�]�t�adf$|ªqdt�})cUf�e�{"�)|$fI�ÁtQyU}+a�}8f$tBcUt�` g [^})| f�yU}8f�tB¢:]�`�tB|$|$ad[^}>v �e)tI����{�{(_wyU`�c^��{"t�}8f$|�yU`�t�|$a�{w])qd_2| _:{"��[8qsa g }�yU{"tB|�v ¦ð}�y8{"tÏ{�y�_"})[Uf�y8]�]�t�yU`�{"[^`�t�f�e�yU}"[)} g t

a�}¾f�e)tw|OyU{"t"qdas| f�v2 �e)tB| t2}�yU{"tB|"{wyM_X��t��)|$tB��tBqd|$tB�Ie)t�`bt+a�}¾f�e)t2]�`�[Uc^`$yU{Ë��})adfQyJ|=r@yU`�a¨y8�)qstB|=[J��f�e)t|�yU{�t���yJf�y=fb_:]ÁtUv �e)t2tB¢�]�`btB|$| as[)}h{Q�)| f g [)}Uf�yNa¨}~f�e)t+����{w{=_�yU`bc)��{"t�}Uf |QyJ|=[^]�t�`$y8})��|�v� �e)t+[^]�t�`$y8})��|�{�y�_ÓyJqd|$[

a�} g q��)��tU×

ë qsadf$t�` yJq g [^})|$fOyU}Uf | n }�y8{"tB� g [^})|$f�y8}Uf$| n r@yU`�a¨y8�)qstB| n yU})��yU` `$yM_�tBqdt�{"t�}8f$|���f�e)tB|$t���adqdqÏe�yMrUt�fOe)tBa¨`r@yJq��)tB|�yJf�f�e)t�f$a�{"t�fOe)t��Ä��} g f$ad[^}�ad|�tB¢)t g �)f$tB��yU})�X{"�)|$f�f�e)t�}��Át(��tO¬�})tB�5v

Page 70: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� Ç p

ë `btO�Ðt�`�t�} g tB|�f$[wa�}8f�`ba�})|$a g yU})��tB¢^f t�`$}�yJq>�Ä��} g f$ad[^})| n

ë `btO�Ðt�`�t�} g tB|�f$[w|$fOyJf$t�{"t�}8fÃ�É��} g f$ad[^})|ª��tO¬�})tB�¾t�yU`bqdadt�`�a�} f�e)t�|�yU{"t(]�`�[Uc^`$yU{Î��})adf n

ë g [^{w])qdtBf$t(tB¢�]�`btB|$| as[)})|It�} g qd[U|$tB��a�}X]�yU`bt�}8f�e)tB|$tB|Mv

��[Uf t�f�e�yJf g e�yU`$y g f t�`�|����)|$f�`�a¨})c8|ÏyU`�t(})[UfÏ]Át�`${"adf$f$tB�5v� �e)t=r@yU`ba�yU�)qdtB|(yU})�¾yU`$`$yM_wtBqdt�{"t�}8f$|(�)|$tB��a�}f�e)t�tB¢�]�`btB|$|$ad[^}�{"�)|$fI��t=��tO¬�})tB��yJf�f�e)t�f$a�{"t(fOe�yJf�f�e)t��Ä��} g f$ad[^}X`�tO�Ðt�`bt�} g t�ad|ªtB¢^t g �)f tB�5v

©Ra7GIe7N�u�GW:'N[2¦ªqsfOe)[^�)c^e+|$f�yNf$t�{"t�}8fz�Ä��} g f$ad[^})|Ïe�yMrUt�y=qda¨{�asf tB��`b[Uqdt�f$[w])q�yM_2a�}�]�`b[8c^`$yU{"|���t g yU�)| t(f�e)tB_ g y8}+[^})qd_��Át��tO¬�})tB��a�}�y=|$a�})cUqdt�|$f�yJf$t�{�t�}Uf n `btO�Lt�`bt�} g tB|�f$["|$f�yJf$t�{�t�}Uf �É��} g f$ad[^})|�f�e)tB_+{wyM_2��tªtB¢^t g �)f tB�X{"[^`btªtåÜw�g adt�}Uf qs_"f�e�y8}Q`�tO�Ðt�`bt�} g tB|Ãf$[ªtB¢^f$t�` }�yJqU�Ä��} g f$ad[^})|���{wy8}U_({"[)��t�`$} g [^{w])adqdt�`b|ÃtB¢:]�yU})��|$f�yJf$t�{�t�}Uf¡�É��} g f as[)}`btO�Lt�`bt�} g tB|ªf$["a¨}8�Äqda�})t g [)��t(�Ie)t�} adf�ad|ÏyJ��rJyU}8f�yJcUtB[^�)|�f$[���[w|$[�v���zf�e)t�|�yU{"tª|$f�yNf$t�{"t�}8f§�Ä��} g f$ad[^} as|ª})tBtB��tB�Xa�}X{"[)`btIfOe�yU}w[)})t(]�`b[Uc^`$y8{ ��})adfªadf���[^�)qd��as|ª]�[U|$| a¨�)qdt

f$["�)|$tÏy8} � û:üi�d� S ö �Éy g adqdadfb_2f$["]�`b[Jr^ad��t�f�e)tª|�yU{�t���tO¬�})adf$ad[^}�t�y g e�f$a�{"t n ���)f�adf���adqdq��)|���yJqdqd_���t(��tBf f$t�`f$[2�)| t(yU}+tB¢^f t�`$}�yJq>�Ä��} g f$ad[^}�a�})|$f t�yJ�5v

�gÃIÝ Ä��gÒpËFÆpÑ�Å'Ç�ç5ÆpÍgè�Ë]Ù�é�ÆbËFà �e)t�`bt(y8`bt�fb��[=�L[^`${"|�[J�ztB¢)f$t�`$}�yJq5]�`b[ g tB����`bt n ��[Uf�e+[N�Ô�Ie)a g e�f�y ¤ tIfOe)tª�Ð[^` {Î[J�Ôy g [){w])qdtBf$tQ]�`b[8c^`$yU{��})adf�v

ë �z¢)f$t�`$}�yJqÁ�É��} g f$ad[^})| n �ªe)a g e�yU`btª|�]Át g a ¬�tB�¾�U_+yQ]�`�[Uc^`$yU{!��})adf�| f�yU`bf$a�})c"��adf�e+y ïp��û:ü8ú � T û |$fOyJf$tO�{"t�}UfMvQ �e)tB_¾yU`bt"tB¢)t g �)f$tB���Ie)t�})tBrUt�`�f�e)t g [^` `btB|�]�[)})��a¨})c �É��} g f as[)}¾ad|Q�)|$tB��yN|(yU}�[^]�t�`$y8})��a�}yU}+tB¢:]�`�tB|$|$ad[^}>v

ë ������`b[^�)f$a�})tB| n �Ie)a g ewyU`bt�|O]�t g a�¬�tB�X�U_"y(]�`b[8c^`$yU{!��})adf§| f�yU`bf$a�})c���adf�e�yM� � �il[T ��ú � û^ö | f�yJf$t�{"t�}8f�v �e)tB_�y8`bt�tB¢^t g �)f tB�Xa�}X`btB|O]�[^})|$t=f$[wy ü8ø[�i� | f�yJf$t�{"t�}8f�v

�Ä}�tBadf�e)t�`\�L[^`${ f�e)t�q�yJ|$fª|$f�yJf t�{"t�}Uf�[J�f�e)tQ]�`b[8c^`$yU{Î��})adfÏ{"�)|$f��ÁtQyU} ö)û S+|$f�yNf$t�{"t�}8f�v¦Ï}8_2[8f�e)t�`|$f�yNf$t�{"t�}8f$|(Õ�tB¢ g t�])f�k|l�T|mbl ø^é [^`�� � T üUþ S ø^ú)ø | f�yJf$t�{"t�}8f$|�Ö�{wyM_2�ÁtQ�)|$tB����adf�e)a�}�f�e)t"]�`b[Uc^` yU{Î��})asfMv �e)t�`bt�yU`�t�fb��[h|$f�yNf$t�{"t�}8f$|�]�`�[@r)ad��tB��tB|O]�t g a�yJqdqd_k�L[^`��)|$t�a�}ÑtB¢)f$t�`$}�yNq(]�`b[ g tB����`�tB|�v  �e)t�� øi�^ö

|$f�yNf$t�{"t�}8fzt�})|���`btB|�f�e�yJfÃf�e)t�r@yNq¨�)tB|�[J�5qs[ g yJq�r@yU`ba�yU�)qdtB|Iy8})�2yU`$`$yM_)|§yU`btI]�`�tB|$t�`brUtB��yM�Lf$t�`f�e)t�]�`b[ g tB����`�t`btBf���` })| g [^}UfO`b[UqUf$[�fOe)t g yNqsqda�})cQ��})adf�×f�e)tB| t�rJyJq��)tB|§��adqdq�fOe)t�}Q�ÁtIyMr@yJadq�yU�)qdt�a��5f�e)t�]�`b[ g tB����`bt�as|ÃtB¢^t g �)f tB�|����)|$t3Ô��)t�}8f$qd_UvI �e)tEl ö)úp� l û |$fOyJf$t�{"t�}8fI{wyM_���tQ�)| tB��f [wf$t�`${"a�}�yJf t(f�e)t=tB¢^t g �)f$ad[^}�[J�zf�e)t"]�`b[ g tB����`�tyU})� g yU�)|$tªyU}=a¨{�{"tB��a�yJf$tI`btBfO��`$}=f$[�f�e)t g [^}8f�`b[Uq)[J��fOe)t g yNqsqda�})cw��})adf�v��z¢)t g �)f$ad[^}"[N��f�e)t ö)û S=|$f�yJf$t�{�t�}UfyJfÃf�e)tIt�})��[N��f�e)t�]�`b[ g tB����`�t(e�yJ|�tB¢:y g f qs_�f�e)tI|OyU{"tªtå��t g fMvÔ£Ã[UfOew[J�f�e)tB|$t�yU`btª��tB| g `ba���tB��a�}��Ä�)qsq¡q¨yNf$t�`a�}�f�e)t�| t g f$ad[^}>v��[8|$f���[^`bfO`$yU}�|$_^| f$t�{"|�yJqd|$[2yJqdqd[J��tB¢)f$t�`$}�yNq�]�`�[ g tB����`btB|ªf$[w��t=|�]�t g a�¬�tB�¾a�}�q�yU})c^��yNcUtB|�[Uf�e)t�`\f�e�yU}

��[)`bf�`$yU}>סf�e)tB_ g yU}���t g yJqdqdtB��a�}wf�e)tª|�yU{�t���y�_wyJ|Ã��[^`�f�`$yU}w]�`�[ g tB����`btB|����)f�f�e)tBa�`Ãa�}Uf$t�` }�yJq>[^]�t�`$yNf$ad[^})|yU`bt n [J� g [^��`b| t n ��tB_U[)})�Xf�e)t�| g [)]�t([N�Ôf�e)ad|I�Á[^[ ¤ v�Lfwad|���tB|$fwf [�f�e)a�} ¤ [J�If�e)t�|�����`b[^�)f a¨})t¾yJ|"f�e)t�{�[^`bt+cUt�})t�`$yJq��L[^`${�[J�(]�`b[ g tB����`btU��fOe)t�tB¢^f$t�` }�yJq

�Ä��} g f$ad[^}w|Oe)[^�)qd���ÁtÏ`btBc)yU`b��tB�2yJ|§y�|�]�t g a�yJq g yJ| t��Ð[)`z�)|$t��Ie)t�}�_U[^�"[)})qs_w})tBtB�+f$[(`btBf���` }wy�|$a�})cUqdtªr@yJq��)tf$[wfOe)t g yJqdqsa�})cX��})adf�v��t�`bt�ad|�y=|$a�{w])qdt(tB¢�yU{w])qdt�[J�Ôy"]�`b[ g tB����`bt��Ie)a g e g [^}8rUt�`bf |�y=f$a�{"t�[J����yM_wa�}�e)[^��`�| n {"a�}^�)f$tB| n yU})�

|$t g [^})��|ªa�}Uf [�y g [)��}Ufª[J�z|$t g [^})��|�|$a�} g tQ{�as��})adc^e8f�vª�)a¨} g t"[^})qd_�[^})t(rJyJq��)t�})tBtB��|ªf$[2�Átw`btBf���`$})tB� n f�e)t

Page 71: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� Ç j

]�`b[ g tB����`bt g yU}+e�yMrUt�f�e)t��Ð[)`${![J��yU}�tB¢)f$t�`$}�yJqÁ�É��} g f$ad[^}>vªÕL�Ä}��Éy g f�fOe)as|�ad|�|�� g e2y=|$a�{w])qdt�tB¢�yU{w])qdtIfOe�yJfadf���[^�)qd��e�yMrUt(�ÁtBt�}X]�[8|$|$a��)qdtQf [w��tO¬�})t(adfIyJ|ªy"|$f�yJf t�{"t�}UfÃ�Ä��} g f$ad[^}>v Öÿ ú � ö:ü � äNëNî�g�ãUáUÙ�ßÓØÁëNå�á�ß<�+ì�ò î^å�Ù�ã^ß<�¾ß^ã)äNëNî�ñ�ßhÙ�ë�Ù�ë8Ù:àÁâÑß^ã)äNëNî�ñ�ßzÞ

l ö)ø���ïb��û:ü8ú � T û ú � ö:ü � þ û)ý T � l�� �2é � û � � � ö:ü � �� û)ú)ö m ö l û)ý T � l[� ��é � û �l ö)ø�� � ö�ü �ú � é)ö õ þ|þ û^ý T � l�� ÿ M ô � ;Ñé � û � �Lÿ M ô:; � ö:ü �ö^û S

 �e)�)|wa��(��tX�)|$t�y��Ä��} g f$ad[^}Â`btO�Ðt�`�t�} g tXqda ¤ t� ����ÃZ��5Õ j�oÁn��Up�n p v p Öªa�}ÑyU}ÓtB¢:]�`�tB|$|$ad[^}htBqd|$tB�ªe)t�`btXa�}Âf�e)t]�`b[Uc)`$yU{!adf���adqdq g [^}Ur8t�`bf§f�e)tªf$a�{"t�f$[=|$t g [^})��|�|$a�} g t({"ad��})adc^e8fQÕLyU�Á[^�)f�> È8pUpUp v p | t g [^})��|�a¨}+fOe)as| g yJ| t�ÖBv �e)t�adf$t�{"|ªa�}X]�yU`�t�}Uf�e)tB| tB|IyM�Lf$t�`�f�e)tª�Ä��} g f$ad[^}X}�y8{"tw×

þ ò =��4A^ô���ôÃÞbô �yU`bt ¤ })[J�I}�yN|(f�e)t�y g f���yJq�yU`bc^��{�t�}Uf$|�[N�\fOe)tw�Ä��} g f$ad[^}>�zf�e)tB| t2rJyJq��)tB|�y8`bt2fO`$yU})|b�Lt�`$`btB��f [�f�e)t g [)`$`btO�|�]Á[^})��a�})c2����{w{=_XyU`�c^��{"t�}8f$|

þ û^ý T � l�� ��é � û � � � ö�ü � �[J�5f�e)t�]�`b[ g tB����`bt(��tO�L[^`btªadf�ad|�tB¢)t g �)f$tB�5v§�Ä}+fOe)as|�tB¢�yU{w])qdtªf�e)tÏy8`bc^��{"t�}8f§qdad|$f�ad|��)|$tB�+[^})qd_wf$[(fO`$yU})|b�Lt�`a�}8�Ð[)`${wyJf$ad[^} a�}Uf$[�fOe)t��Ä��} g f$ad[^} �É`b[){Æ[^�)f |$ad��t n f�e)t��Ä��} g f$ad[^}¾}�yU{"t=asf |$tBq���`�tBf���`$})|ªf�e)tQ`bt3Ô��)a�`btB�¾r@yJq��)tf$[�f�e)t g yJqdqda�})cw]�`b[Uc^`$y8{�v���}"|�����`b[^�)f a¨})tB| n e)[J��tBrUt�` n f�e)t�`bt�ad|�})[ª�Ä��} g f$ad[^}w}�y8{"t�f$[�`btBf���`$}�a¨}8�L[^`${�yJf$ad[^}���)f�f�e)t(yU`bc)��{"t�}Uf | g yU}��ÁtÏ�)|$tB�+�L[^`Ãf�`$y8})|b�Ðt�`�|§a�}+tBadf�e)t�`���a�`bt g f$ad[^} n [^`���[UfOe>vÔ �e)t(`$�)qdtB|I]�t�`${�asf�f�e)t�{f$[2�Át(�)|$tB�Xa�} f�e)ad|Ï{"[)`bt�cUt�})t�`$yJq>��yM_2a�}��É��} g f$ad[^})| n ���)f�adfIad|�y"]�`$y g f$a g tQ�ÁtB|$f�y�r8[Uad��tB�5v �e)t2})tB¢)f(tB¢�yU{w])qdt2]�t�`��Ð[^` {"|(f�e)t"a�}8rUt�`b|$t g [)}UrUt�`�|$ad[^}¾f$[�f�e)t+ ����§Z����É��} g f$ad[^}>v+�)a�} g t2adfQe�yN|�f$[

`btBf���` }"f�e�`btBt�rJyJq��)tB|�f$[(f�e)t g yJqdqsa�})cw]�`b[Uc)`$yU{!��})adf�f�e)t��Ä��} g f$ad[^}�yJq��L[^`${�ad|�})[(qd[^})c8t�`§yU]�]�`b[)]�`ba�yJf$t n yU})�y"|�����`�[^�)f$a�})t(��adqdqz��tQ�)| tB�Xa�})|$f$t�yJ�5vÿ � å�hÁá)ëNå:Ù>òBî>ã�ý)é � äNëNî�g�ãUáUÙ�ßhú � é)ö ò î!ß^ã)äUëJî�ñ�ßkò î:Ù�ëÂØ�ëJå�áÁß��+ì5òBî>ß��Oß)ã^ä)ßÔÞ

� � �il�T ��ú � û)ö ý)é � þ ú � é)ö��+û^ý T � l�� ��é � û � � � ö:ü � �l ö^ø��Âú � é)ö�� � ö�ü �� û^ú)ö m ö l û^ý T � l�� ��é � û �û)ý T � l[� õâ� û^úgþ ú � é^ö&ÜEA M ô)ô§Þbô �� ö:ü � õ ú � é)öL9LA M ô)ô§Þbô ÿ û)ý T � l��é � û � õâ� û^úgþ � ö�ü � Ü M ô§Þbô �� ö:ü � õ ú � é)öL9 M ô§Þbô ÿ é � û �ö)û S

�Ä} f�e)ad| g yJ|$t=f�e)t�|�����`b[)�)f$a�})t g [^�)qd���Át(tB¢)t g �)f$tB���8_��)|$a�})c�y"| f�yJf$t�{"t�}8f�|�� g eXyJ|�×üUø��i��ý)é � þ >[ô ô)ô^ôÃÞ�ô���û^ý l�� ��é � û � � � ö:ü � ��|l � ú^ögþí��û � ú õ�ÿ �2ï)é)ú õ�ÿ�� û)ý l�� ��é � û � � � ö:ü �

��t�`btwf�e)t=¬�`b|$f(y8`bc^��{"t�}8f�f�`$yU})|��Ðt�`b|�a�}8�L[^`${wyNf$ad[^}�a¨}8f$[�f�e)t"|�����`b[^�)f$a�})t n f�e)t"[Uf�e)t�`�f�e�`btBtwyU`btw�)|$tB�~f$[`btBf���` }wf�e)t�r@yJq��)tB|��Ie)a g e+adf g yNq g �)q�yJf tB|�vg�z[^����[w})[Uf�e�yMrUt�f [(|�]Át g a �L_+�Ie)tBf�e)t�`�y(]�yU`�f$a g �)q¨y8`�yU`bc^��{�t�}Ufad|�f$[+f�`$yU})|b�Lt�`ªa�}8�Ð[)`${wyJf$ad[^} a�}¾[^`�[^�)f2Õ�[^`�a�}��Á[Uf�e���a�`bt g f$ad[^})|�Ö n ���)f�f�e)t�`btwyU`�tQ`$�)qdtB|Qy8��[^�)f�f�e)t��Ð[)`${[J�§y g f���yJq5yU`�c^��{"t�}8f�f�e�yJf�_U[^� g y8}��)|$t(a�}�t�y g e g yJ| tUv§ �e)tB|$t"yU`btªtB¢:])q�yJa�})tB��a�}+�Ä�)qdq���tBqd[J�(v

XM8967H�N�ega789N�09:7e7N�O<N]:ce�NF:7H�N

�§y g e+]�`b[Uc^` yU{ ��})adfIe�yJ|�adf$|�[J�I}�a¨})��t�]Át�})��t�}Uf�| tBf�[N��| _:{"��[8qsa g }�yU{"tB|�yU})�+q¨y8��tBqd|�v� §_�]�t�| f�yJf$t�{"t�}8f$|yU})� � é k � � ü � ú |$f�yJf$t�{�t�}Uf$|�{wyM_���t"�)|$tB�Xf$["|�]Át g a��Ð_�f�e)tBa�`���yJf�y"fb_�]�tB|�v

Page 72: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� Ç o

�z¢)f$t�`$}�yJq�]�`b[ g tB����`btB| g yU}Âf�e)t�{�|$tBqdrUtB| g yJqdq(yU}8_h[Uf�e)t�`�]�`b[ g tB����`btB|XyU})�Ñf�e)tB|$t�{wyM_ g yJqdq�[UfOe)t�`b|a�}�fO��`$} n ���)fQ]�`b[ g tB����`bt�yU`bt2})[Uf"yJqdqd[@��tB�Óf$[ g yJqdq�f�e)t�{"|$tBqdrUtB|"tBadf�e)t�`=��a�`bt g f$qd_�[^`�a�})��a¨`�t g f$qd_���f�e�yNf�as|`bt g ��`b| asr8t g yJqdqda�})c�as|�})[Uf�]�t�` {"adf$f$tB�Xa�} ��[^`bfO`$yU}>v

09:'¢³6)8b^J.�/�Gv6�:EË 89.':723¢�N[8�Ä}8�L[^`${�yJf$ad[^} g yU}��Át(f�`$y8})|b�Ðt�` `btB��f$[2yU})�+�Ä`b[^{ÎyU} tB¢^f t�`$}�yJq5]�`b[ g tB����`btQ�8_�y8}U_+[J�zf�e�`btBt({"tBf�e)[)��|�v

ë ¦Ï}¾yU`bc)��{"t�}Ufªqdad|$f�×IyN|�|�e)[J�I}�a�}¾f�e)t"fb��[wtB¢�yU{w])qdtB|QyU�Á[JrUtUv� �e)ad|�as|�fOe)t�]�`�tO�Ðt�`$`�tB�Ê{�tBf�e)[^�¾[J�a¨}8f$t�`��Äy g a�})cQyN|§adf§ad|�f�e)tI{"[8|$f<��tB¢^a��)qdt(yU})�2{�[^���)q�yU`BvÃ�Lf§ad|Ã��tB| g `ba���tB��a�}���tBf�yJadq�a�}�f�e)tI`bt�{wyNa¨})��t�`[J��f�e)ad|ª|$t g f$ad[^}>v

ë Z�[^{w{"[)}��)qd[ g¥¤ |�×�fOe)tB|$t2yU`bt�qsad|$f |([J��r@y8`ba�yU�)qdtB|Q[)`�yU`$`$yM_)|��Ie)a g e�y8`btw|$f$[)`btB�¾a¨}ÓyU`bt�yN|�[J�\yU`�t�yJ|[J�Ï{"t�{"[)`b_�|�e�yU`�tB� �ÁtBf���tBt�}Ófb��[X[^`"{"[)`btX]�`b[Uc^` yU{���})adf$|�vh �e)tB_ÓyU`btX�)|$tO�Ä�)q�a¨}Ò|�]�t g a�yJq g a¨`��g ��{"|$f�yU} g tB|=�Ie)t�}�]�`b[ g tB����`btB|"e�y�r8twf$[X��t g [^��])qdtB� g qs[8|$tBqd_�f$[UcUtBfOe)t�` n ���)fQyU`�tQ[8f�e)t�`b��ad|$twqdtB|$||�yJf$ad|b�Äy g f$[^`�_UvÔZ\[^{w{"[^}+�)qd[ gB¤ |ÏyU`�t g [@r8t�`btB��a�}���tBf�yJadq5a�} |$t g f$ad[^} jMo v

ë �z¢)f$t�`$}�yJq�¬�qdtB|�×¾a�}8f$t�`��Äy g a�})chr^a�y~tB¢^f t�`$}�yJq�¬�qstB|�ad|X})tBadf�e)t�` g [^}8rUt�})adt�}8f�})[^`�tåÜ g adt�}8fX���)f2adf+as|{"t�}Uf as[)})tB��e)t�`bt�f$[+]�[Ua�}8f�[^�)f�f�e�yNf�tB¢^f t�`$}�yJq�¬�qdtB|(yU`btªcUqd[^��yJqLv�Å�} g t"y=¬�qdtQe�yJ|ª��tBt�}�[^]�t�})tB��a�}yU}U_�]�`b[Uc)`$yU{Ñ��})adf�adf g yU}���t�y gBg tB|$|$tB�"yU}U_)�Ie)t�`btÃa�}�f�e)t§]�`b[8c^`$yU{Ñ]�`b[Jr)as��tB�"f�e�yNf�fOe)t�yU]�]�`b[)]�`ba�yJf$t�Ä�UÅ&��})adfI}^��{"�Át�`§ad|�yMr@yJadq�yU�)qdtUvæ���})adfI}^��{"�Át�` g y8}2�ÁtÏ]�yJ| |$tB�2a�}8f$[wy"]�`b[ g tB����`�tÏyJ|�yU}�a�}Uf tBcUt�`yU`bc^��{"t�}8f�v

XM8967H�N�ega789N����7N�Hia)/�Gs67:

�Lf�as|�})[Ufw})t g tB|$|�y8`b_hf$[ ¤ })[J� e)[J�Îf�e)t���[^`bf�`$y8}�|$_)|$f$t�{ y g f���yJqdqd_hf�`$yU})|��Ðt�`b|"a�}8�L[^`${wyJf as[)}~�É`b[){ [^})t]�`b[ g tB����`bt§f [IyU})[Uf�e)t�`�f$[I{wy ¤ t§�)|$tz[J��f�e)t§|$_)|$f$t�{ n ���)f�fOe)t§`$�)qdtB|�cU[JrUt�` })a¨})c�f�e)t�]�`b[ g tB|$|�y8`bt§|$[){"tB�Ie�yJfg [^{w])qda g yJf$tB�¾yU})��adf�{wyM_2��t�t�yJ| ast�`\f$[w��})��t�`b|$f�yU})��fOe)t�{Îa��Ô_U[)�2yU]�]�`�t g a¨yNf$t�f�e)t(��yJ|$ad|�[)}w�Ie)a g e�f�e)tB_e�yMrUt���tBt�}~�L[^`${"�)q�yJf$tB�5v� �e)t�`$�)qdtB|wa�}Óf�e)t���[^`bf�` yU}��)f�yU})��y8`b� y8`bt���yN|$tB�h[^}~f�e)tXyJ|$|���{�])f$ad[^}�fOe�yJff�e)twyJ����`btB| |�[J��yU}¾y g f���yJqzyU`bc)��{"t�}Ufªad|�f�`$yU})|��Ðt�`$`�tB�Xa�}¾t�y g e g yJ|$tU×�fOe)as|({�y�_�[)`I{wyM_X})[Uf(�Át"f�`$�)t"a�}]�`$y g f a g t"���)f�f�e)t(]�`b[)]�t�`bf$adtB|ª��adqdqÔ�Át(f�e)t�|�y8{"t(yJ|�a��§adf�ad|�v �e)ad|Ï{"t�y8})|�f�e�yJf��Ie)t�}+_U[)��`btO�Ðt�`�t�} g tQy"����{w{=_+r@yU`�a¨y8�)qst=[^`�yJ|$|$adc^}�y"})tB��rJyJq��)t(f$["[^})t�_U[)��yU`bt

qda ¤ tBqd_�f$[���t2�)|$a�})c�f�e)tw{"t�{"[^`b_�qd[ g yJf as[)}X[ gBg ��])adtB� �8_XfOe)t2y g f���yJqzyU`bc)��{"t�}UfMv(£Ã_Xf�e)ad|({"t�yU})|�tBr8t�}q�yU`bcUt(y8`$`$yM_^| g yU}���t=f�`$yU})|b�Lt�`$`btB��tåÜ g ast�}8f$qd_Xf [�]�`�[ g tB����`btB|Mv�¦�|$qdadc^e8fÏ{�[^��a�¬ g yJf$ad[^}�[J�f�e)ad|I|$_)|$f$t�{ as|})tBtB��tB�¾�L[^`�asf t�{"|�[J� g e�yU`$y g f$t�`\f�_�]�t"|$[+f�e�yJfªf�e)t"qdt�})cUf�e�[J�§f�e)t"adf$t�{ g yU}���t"f�`$y8})|b�Ðt�` `btB��yJ|���tBqdqzyJ|adf$|IyJ����`�tB|$|�v� e)t�}Óy��Ä��} g f$ad[^}�`�tO�Ðt�`bt�} g t+[^` üUø��|� |$f�yJf t�{"t�}Uf�ad|"tB¢)t g �)f$tB� y8}U_¾tB¢�]�`btB|$|$ad[^})|=a¨}~f�e)t�yU`bc^��{�t�}Uf

qdad|$fQyU`�twtBr@yJq���yJf tB�5��fOe)t2yJ����`btB|$| tB|([J��f�e)t2yU`bc)��{"t�}Uf |(yU`bt"f�e)t�}�]�yJ| |$tB��f$[�f�e)tw]�`b[ g tB����`btUv � e)t�}Êasf`btBf���` })| g [)}Uf�`�[Uq�f�e)ad|�yU�)f$[^{wyNf$a g yJqdqs_+{wy ¤ tB|���]���yJf$tB��rJyJq��)tB|IyMr@yJadq�yU�)qdt�f$[=f�e)t g [)`$`btB|�]Á[^})��a�})cwadf$t�{"|�a�}f�e)t(y g fO��yJq�yU`bc)��{"t�}Uf�qdad|$f�v

4�a�:7H�/�Gs67:72�ó«Gs/�,"_cGIe�N<ØíN�� N�H�/�2 �e)t(`$�)qdtB|ª[J�z��[^`bfO`$yU}+yJqdqs[J�Ñ�Ä��} g f$ad[^})|ªf$[we�yMrUt�|$ad��tO�Ätå�5t g f$| n f�e�yNf�ad|�f$[2yJqdf$t�`\f�e)tBa�`�y g f���yJqyU`bc^��{"t�}8f$|[^`�f [ g e�y8})cUt�[Uf�e)t�`�rJyU`ba�yU�)qdtB|���adf�e)a�} g [){w{"[^}��)qd[ g¥¤ |�vÃ����} g f$ad[^})|ª��adf�e�| as��tO�Ätå�5t g f$| g yU}�})[Ufª��tQ�)| tB�a�}ÓtB¢:]�`�tB|$|$ad[^})|+�Ie)t�`btXyU}8_�[J�IfOe)t�[Uf�e)t�`=[^]�t�` yU})��|w[J�IfOe)t�tB¢:]�`btB| |$ad[^}Ó��[^�)qd����tXy9�5t g f$tB� n })[)` g yU}f�e)tB_���t+�)|$tB��a�}¾|����)| g `�a¨])f"[^`ª|O���)|$f�`ba�})c�`�tO�Ðt�`bt�} g tB|=�Ie)t�}�yU}8_X[8f�e)t�`ªtB¢:]�`�tB|$|$ad[^}Ó�)|$tB��a�}¾f�e)tw|OyU{"t`btO�Lt�`bt�} g tB|���[^�)qd����twy9�5t g f$tB�5v= �e)ad|(`$�)qdtwt�})|���`btB|�f�e�yNfIf�e)t"rJyJq��)t2[J��y8}XtB¢�]�`btB|$| as[)} g y8}�})[Uf���t�]�t�})�yU`$�)adf�` yU`badqd_�[^}+f�e)t���yM_wa�}��Ie)a g e�f�e)t g [^{w]��)f$t�` g e)[)[U|$tB|�f$[�tBr@yJq���yJf$t=adf�v

Page 73: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� Ç �

 �e)t�`btQy8`btÏyNqs| [�`btB| f�`ba g f$ad[^})|�[^}��Ä��} g f$ad[^})|ª�Ie)a g e�{wy ¤ t(�)| t([J��a�}�]��)f��N[^�)f�]��)fª|$f�yJf$t�{�t�}Uf$|�tBrUt�} [^}a�}Uf t�`$}�yJq>¬�qdtB|�×zfOe)tB|$t g yU}�})[8f\�ÁtQ�)|$tB��a�} tB¢:]�`btB| |$ad[^})|Ia�}+[UfOe)t�`��Ä�UÅ&| f�yJf$t�{"t�}8f$|�vz �e)ad|�ad|ªf$[wyMrU[Uad��f�e)t�Ä�8Å!|$_)|$f$t�{Î��tBa�})cX�)|$tB�¾`bt g ��`b|$adrUtBqd_Uv£§_��ÄyU`�f�e)t(�ÁtB|$f g [)��`b|$t�ad|If [��)| t(f�e)t�|�����`�[^�)f$a�})t��L[^`${ �L[^`�yU}8_�]�`�[ g tB����`bt=��adf�e�| as��tO�Ätå�5t g f$|Mv

�gÃIæ JÆ�Þ�é�ÏÊËFÑ�Òpà«Í�à Ä��gÒpËFÆpÑ�Å)Ç�ç5ÆpÍgè�ËFÙ�é�ÆpË]à¦�`bc^��{"t�}8f$| g y8}�]�yJ|$|"a�}8�Ð[)`${wyJf$ad[^}Êa¨}8f$[�yX]�`�[ g tB����`bt+[^`�[^�)f��Ä`b[^{ asf n [)`�a�}��Á[Uf�e¾��a�`bt g f as[)})|�v� �e)as|Á$�)|$f§��t�]Át�})��|�[^}�f�e)tI��yM_(fOe�yJf§f�e)tª����{w{=_wyU`bc^��{�t�}UfÃas|��)|$tB�+��adf�e)a�}+f�e)t�]�`b[ g tB����`btUvz¦ªqsfOe)[^�)c^e+yU}U_yU`bc)��{"t�}Uf=[^`b��t�`=ad|2]�t�` {"adf$f$tB� n asf"ad| g [^{�{"[^}Ó]�`$y g f$a g t�f$[¾]��)fQa�}�]��)f�yU`bc^��{�t�}Uf$|�¬�`b|$f n f�e)t�}ÓfOe)[U|$tf�e�yJf�]�yJ|$|�a�}8�L[^`${wyNf$ad[^}���[8f�e��\yM_)| n yU})��f�e)t�}¾yU`bc)��{"t�}Uf |��Ie)a g e1Á$�)|$f(`btBfO��`$}�a¨}8�L[^`${�yJf$ad[^} �É`�[^{Ëf�e)t]�`b[ g tB����`btUv �e)t�`$�)qdtB|5�L[^`yU`bc^��{"t�}8fzyJ|$|$[ g a�yJf$ad[^}(y8`bt§f�e)tÃ|�yU{"t �Ð[)`��Á[Uf�eª�L[^`${�|�[J��tB¢)f$t�`$}�yJq�]�`b[ g tB����`btUvz �e)t�qsad|$f

[J������{�{(_+yU`bc^��{"t�}8f$|�Õ�|$[^{"tBf a¨{�tB| g yNqsqdtB� �Ð[^` {wyJq�y8`bc^��{"t�}8f$|�Ö [J�ÔyU}�tB¢^f t�`$}�yJq5]�`b[ g tB����`bt�ad|�|�]�t g a�¬�tB�a�}¾adf$| ïb��û:ü8ú � T û [^`$� � �il[T �:ú � û^ö |$fOyJf$t�{"t�}8f�v( �e)t�`�t g yU}¾��t2y8}U_�})��{Q�Át�`ª[J�\y8`bc^��{"t�}8f$| n a�} g q��)��a�})c})[^})t�yJfQyNqsqLv��Ð�If�e)t�`bt2y8`bt�})[¾yU`bc^��{�t�}Uf$|=f�e)t�}~f�e)t�]�y8`bt�}UfOe)tB|$tB| g yU}��Át2[){"adf$f$tB�Óa¨}ÓfOe)t üUø��i� yU})�� � �il[T ��ú � û^ö |$f�yJf$t�{�t�}Uf����)fI})[Uf�a¨}�y ïb�:û�üUú � T û | f�yJf$t�{"t�}8f�[^`Ã�Ä��} g f$ad[^}X`�tO�Ðt�`bt�} g tUv �e)t�����{w{=_Qy8`bc^��{"t�}8fzqdas| f§ad|§|$a�{w])qd_2yªqdad|$fÃ[J��|$_�{"��[Uqda g }�yU{"tB|z�Ie)a g e g yU}w`bt�]�`�tB|$t�}Uf§y8}U_"{"ad¢^f���`�t

[J�

ë r@yU`ba�yU�)qdtB|

ë yU`$`$yM_)|

ë ]�`b[ g tB����`�tB|�v

¦ }�yU{�t g yU}�})[Uf n [N� g [^��`�|$t n yU]�]Át�yU`�fb��a g t(a�}�fOe)t�|�yU{"t�����{w{=_�yU`bc^��{�t�}Uf�qdad|$f�v�(��{w{=_�rJyU`ba�yU�)qdtB| n y8`$`$yM_^| n yU})� ]�`�[ g tB����`btB|wyU`�tw��ad|$f$a�})c^�)ad|�e)tB��[)})qs_Ó�U_¾f�e)t+��y�_�f�e�yJf=f�e)tB_�yU`bt

�)|$tB�Ó��adf�e)a�}�fOe)t2]�`b[ g tB����`btUv� �e)tw��a�{"t�})|$ad[^}h�Á[^��})��|([J�Iy ����{w{=_Êy8`$`$yM_^|�{"�)|$fQ�Átw|�]Át g a ¬�tB�ha�}Óy|����)|$t3Ô��)t�}8f�fb_�]�t§[)`'S � é)ö^û � � T û |$f�yJf t�{"t�}UfM������{w{=_�]�`b[ g tB����`btB|§{"�)|$f�yU]�]Át�yU`>a�}"y üUø��i� [^` ö|�)ú^ö l û^ø��|$f�yNf$t�{"t�}8f5[^`��tI�)|$tB�"a�}"y��Ä��} g f$ad[^}w`�tO�Ðt�`bt�} g tU�)yU}8_^f�e)a�})cªtBqd|$t�ad| n �8_(tBqda�{"a�}�yJf$ad[^} n y�����{�{(_"yU`bc^��{�t�}Ufr@y8`ba�yU�)qdtUv�(��{w{=_�yU`bc^��{"t�}8fwrJyU`ba�yU�)qdtB|�yU})�ÑyU`$`$yM_)| g yU}Ñ��t��)|$tB�Ña�}ÂtB¢^t g �)fOyU�)qdt�| f�yJf$t�{"t�}8f$|wa�}�Á$�)|$f+f�e)t

|�yU{�t��\yM_�yJ|�qd[ g yJq5adf$t�{"|ª[J�zf�e)t(|�y8{"tª�Ð[)`${ n ���)f�fOe)tB_ g yU}�})[UfIyU]�]Át�yU`�a¨}�� øi�)ö���ü T é)é T û�� S ø)ú^ø�� [^`ö�ù�� � �)ø��Uö)û:ü8ö |$fOyJf$t�{"t�}8f$|�v

wy89\7a<^�N]:F/�wy2�2367HpGs.�/�Gs67:

 �e)twy g f���yNq�yU`bc^��{�t�}Uf$|ª[J�§f�e)t��É��} g f as[)}�`btO�Lt�`bt�} g t"[^` ü8ø��|� |$fOyJf$t�{"t�}8fI��t g [){"twyJ|$|$[ g a�yJf$tB�¾��adf�e�f�e)tg [^`$`�tB|�]�[^})��a�})c¾����{w{=_�yU`bc^��{�t�}Uf$|�[N�\fOe)t ïp��û�üUú � T û [)`$� � �|l�T �:ú � û)ö | f�yJf$t�{"t�}8f�vw �e)t+{wyJa�}�` �)qstB|yU`bt(yN|��Ð[8qsqd[J��|�×

ë  �e)t�`bt§{"�)|$f��Át§f�e)tz|�y8{"t§}^��{"�Át�`5[J��y g f���yNqNy8})�(����{w{=_�yU`bc^��{"t�}8f$|��Mf�e)tB_�yU`bt§yJ| |$[ g a�yJf tB�(|$[UqdtBqd_�U_+f�e)tBa�`�]�[8|$adf$ad[^}�a¨} f�e)t�fb��[Qqdad|$f$|Mv�Å�])f$ad[^}�yNq�yU`bc^��{�t�}Uf$|�yU`�t(})[UfI]�t�` {"adf$f$tB�Xa�} ��[^`bfO`$yU}�ÇUÇ�v

ë ����f�e)tX����{w{=_hyU`bc^��{�t�}Ufwad|�y¾r@y8`ba�yU�)qdt n yU`$` y�_ n [^`w]�`b[ g tB����`bt��)| tB� yJ|2yÊ�Ä��} g f$ad[^}hf�e)t�}Òf�e)tg [^`$`btB|�]Á[^})��a�})c�y g f���yJq5yU`bc^��{�t�}UfI{"�)|$f�e�yMrUt�f�e)t�|OyU{"t���yJf�y�f�_�]�tUv

Page 74: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� Ç�>

ë ���§f�e)t"����{w{=_XyU`bc)��{"t�}Ufªad|(yU}Xy8`$`$yM_2fOe)t�}Xadf$|�yU`$` y�_���[)��})��|Q{"�)|$fI})[Uf���t�q¨y8`bcUt�`�f�e�yU}�fOe)[U|$t[J��f�e)t g [^` `btB|�]�[)})��a¨})c�y g fO��yJq§yU`bc^��{�t�}Uf�v=¦ªqsf t�`$}�yJf$adrUtBqd_�f�e)t���a¨{�t�})|$ad[^}��Á[^��})��|([N�\y�����{�{(_yU`$`$yM_ g yU}"��tª]�yJ|$|$tB�wa�}w�8_Q{�t�yU})|z[J��[8f�e)t�`z]�`b[ g tB����`btIyU`bc)��{"t�}Uf |�f$[ª�L[^`${!y8}QyN��Á��)|$fOyU�)qdtUvÔ �e)as|[^])f$ad[^}�yU})��f�e)t"yJ|$|���{�tB�)�Ä|$a@?BtQyU`$` y�_+yU`bt(��[8f�e+��tB| g `ba���tB�¾a�}�| t g f$ad[^} l vB�v

ë ���zf�e)t�����{w{=_2yU`bc)��{"t�}Uf�as|ªy g e�yU`$y g f$t�`�adf$t�{Îf�e)t�}+adf$|�qst�})c8f�eX{"�)|$f�})[Uf���t=c^`bt�yJf t�`§fOe�yU}wfOe�yJf[J��f�e)t g [^`$`�tB|�]�[^})��a�})c�y g f���yJq§yU`bc)��{"t�}UfMv2¦ªqdf$t�`$}�yJf asr8tBqs_Óf�e)t�`bt�as|wy�]�yJ|$|$tB�)�Äqdt�})cUf�eÓ[)])f$ad[^}��L[^`g e�yU` y g f$t�`�yU`bc^��{�t�}Uf$|M×�| tBt(|$t g f$ad[^} l v È v

£§t g y8�)|$tÏ]�`�[Uc^`$yU{&��})adf$|�yU`bt g [^{w])adqdtB��a�})��t�]�t�})��t�}8f$qd_ n adfÃas|Ã��aÜ g �)qdf��Ð[)`f�e)t g [^{w])adqdt�`Ãf$[ g e)t g¥¤ �L[^`{"ad|�{wyNf g e)tB|ªa�}¾y g f���yJq�y8})�X����{w{=_XyU`bc)��{"t�}Uf�qsad|$f |�v�¦ªqdf�e)[^�)c^e�{"ad|�{wyJf g e)tB| g [^�)qd� n a¨}¾]�`ba�} g a�])qdt n �Át��tBf$t g f$tB�X�8_+f�e)tIqda�} ¤ t�` n f�e)ad|I`$y8`btBqd_2|$tBt�{�|�f [�e�y8]�]�t�}�a�}�]�`$y g f$a g tUv �Ã`$`b[^`b| n ]�yU`bf a g �)q�yU`�qs_X{�as|O{wyJf g e)tB|[J����yJf�y+fb_:]Átw[^`ªyU`$`$yM_¾��[^��})��| n yU`btwtB|O]�t g a�yJqdqd_�t�yJ| _Xf$[X{wy ¤ tw���)f(e�yU`b��f$[���tBf t g f�vw�)[^{"tBf$a�{"tB|=f�e)t[^})qd_Xa�})��a g yJf$ad[^}~ad|�f�e�yJfªf�e)tw]�`b[Uc^` yU{ ]�`�[^��� g tB|�f�e)t"�I`�[^})c�y8})|$��t�`Bv� �e)ad|(|�e)[J��|�e)[J��a�{w]Á[^`bf�yU}8fªasfad|If [ g e)t gB¤ ]�`b[ g tB����`�t(a�}Uf t�`��Éy g tB|�v

��a7O�uIG�Hd.�/3NVwy89\7a<^JNF:F/�2 �e)tÃ|�yU{"t§y g fO��yJqUyU`bc^��{"t�}8f g yU}�})[8f���t��)|$tB�Q{"[)`btzf�e�yU}ª[^} g tÃa�}(y�]�`b[ g tB����`bt g yJqdq^a���f�e)t g [^` `btB|�]�[)})��a¨})c����{w{=_�yU`bc^��{"t�}8f$|�yU`bt(yN|$|$adc^})tB��})tB�&r@yNq¨�)tB|Mv§��[^`ÃtB¢:yU{�])qst n ��adf�e>×

� � �il[T �:ú � û^öÑïb�:û)û � þ ��� � �� õ =§Þbô� õ A§Þbôö^û S

¦ g yJqdq�|�� g e�yJ|�×ü8ø[�i�Âïp��û)û � þ$ø���ø �

��[^�)qd���Át�asqdqdtBc^yJq§�Át g yU�)|$t=f�e)t�|$_)|$f$t�{Î��[^�)qd�XfO`b_wf$[2yN|$|$adc^}���[8f�e o v p y8})� � v p f$[wf�e)t�rJyU`ba�yU�)qdt"¦Qv¦Æ|$a�{"adq�yU`w`btB|$fO`ba g f$ad[^}�y8]�])qsadtB|wf [Xr@y8`ba�yU�)qdtB|w�Ie)a g ehy8`bt2`btBf���` })tB�hr^a�y¾y g [^{�{"[^}��)qd[ g¥¤ yU})�hyJqd|$[

f�e�`b[)�)c^e+f�e)t(]�`b[ g tB����`btQy8`bc^��{"t�}8f�qdad|$f�v

�gÃPO ç5Å'ÆpÚ³Åof�dzËFàyÅ'à�É�é�ÏÊÏöȤ JÆ�Þ�é�ÏÊËFÑ�Òpà���zf�e)tª����{w{=_�y8`bc^��{"t�}8f�[J�Ôy"]�`b[ g tB����`bt(ad|Iy=r@y8`ba�yU�)qdtQyU})��adf�e�yJ|Iy=r@yNq¨�)t"yJ|$|$adc^})tB��f [Qadf���asfOe)a¨} f�e)t]�`b[ g tB����`bt n f�e)t�}+f�e)t g [)`$`btB|�]Á[^})��a�})c�y g fO��yJq5yU`bc^��{"t�}8f g yU}��ÁtU×

ë y"r@yU`�a¨y8�)qst n

ë yU}�yU`$`$yM_wtBqdt�{"t�}8f n [)`

ë y g e�y8`$y g f$t�`Ã|����)|$fO`ba�})c�v

��� n e)[J��tBrUt�` n f�e)t�����{w{=_wrJyU`ba�yU�)qdt(]�`btB|$t�`�rUtB|§adf$|�a�})adf$a�yJq5r@yNq¨�)t�fOe�`b[^�)c^e)[^�)fzfOe)tItB¢)t g �)f$ad[^}+f�e)t�}�f�e)ty g f���yNq�y8`bc^��{"t�}8f g yU}��ÁtQyU}8_2[N�Ôf�e)tB| t�f�e�`btBtª�L[^`${"|Iy8��[JrUtª[^`�yJqdf$t�`$}�yNf$adrUtBqd_�×

ë yU}+tB¢:]�`�tB|$|$ad[^}�[N� yU}8_"�L[^`${�ÕÐa¨} g q��)��a�})c�y g [^})| f�yU}8f�ÖBv

 �e)tI`bt�yJ| [^}ª�L[^`f�e)ad|�`�tB|$f�`ba g f$ad[^})|Ãas|zt�yN|$_"f$[I| tBtI�U_ g [^})|$ad��t�`ba�})c"f�e)t���y�_)|[J� g yJqdqda�})c"f�e)t�|�����`b[)�)f$a�})t���Ä�¡�p� a¨} f�e)t(})tB¢)fItB¢�yU{w])qdtU×

Page 75: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� Ç È

� � �il[T �:ú � û^ö � � �i� � þ û��+é �û õ û£;Ñéö^û S

���§adf�ad| g yNqsqdtB����adf�eXy"| f�yJf$t�{"t�}8f�|�� g eXyJ|�×ûp��é � ö l õ ò ôüUø��i� � � �|� � þ ûb�:é � ö l � ô �

f�e)t�}+f�e)t�rJyJq��)t�[J�§�I����£ ��QÂ��adqsqz��t(��]Á��yJf$tB��f$[ j�È yJ|�yw`�tB|��)qdf�[J��f�e)t g yNqsqLv§£��)f�adf�ad|�adqdqdtBc^yJqf$[ g yJqdqf�e)tª�Ä��} g f$ad[^}���asfOeXy g [^})| f�yU}8f\yN|�f�e)tª¬�`b|$fªyU`bc^��{"t�}8f n f�e)�)|�×

üUø��i� � � �|� � þ ò ôg�8@ ���t g y8�)|$t2[)}¾tB¢^adf=f�e)tw|�����`b[)�)f$a�})t2��adqdq�yJf$f$t�{�])f�f$[X`btBf���`$}Êf�e)twr@yNq¨�)t+[J� j Ç+f$[�fOe)t2y g f���yJq�yU`bc^��{�t�}Uf�Ie)a g e���yJ|�|�]Át g a�¬�tB��yJ|�f�e)t g [^})| f�yU}8f(f$t�}>v+ �e)twtå�5t g f$|�[J� g [^{w{�asf f$a�})cX|�� g e�yU}¾t�` `b[^`�yU`bt�|$_^| f$t�{=���t�]�t�})��t�}8f�v§�)[){"tz|$_)|$f$t�{"|��tBf$t g f5f�e)t�yJf$f$t�{�])f5f$[�[JrUt�`��Ä�ª`badf$t§y g [^})|$fOyU}UfyU})�(ad|$|��)t�yU}�t�` `b[^`5{"tB| |�yJcUtU�[Uf�e)t�`�|�asc)})[^`bt+f�e)twyJf$f$t�{w])f(y8})��yJqdqd[@� f�e)t2]�`b[8c^`$yU{Ëf$[ g [)}Uf$a�})�)tU�§���)f(| [^{"t"|$_)|$f$t�{"|���adqdq�y g f���yJqdqd_cU[XyUe)t�yN��yU})��[JrUt�`��Ä�ª`badf$twf�e)t g [)})|$f�yU}8f���adf�e�y�})tB� r@yJq��)t n |$[�fOe�yJf(a���_U[^�¾�)|$t+f�e)t g [^})| f�yU}8f j�p a�}|$[^{�tI|����)| t3Ô:�)t�}8fI| f�yJf$t�{"t�}8f�a�}+f�e)t(]�`b[Uc^` yU{ _U[^�+{wyM_wcUtBf�y"r@yNq¨�)t=[J� j ÇÁvÔ�)a�} g t"f�e)ad| g yU}�e�yMrUtªrUt�`b_]��i?3?Bqda�})c�tå��t g f |IyU})���Át(e�yU`b��f$["��a¨yNc^})[U|$t n adfªad|Ia�{w]Á[^`bf�yU}8f�f$[2yMrU[Uad����[Ua�})c+f�e)ad|�a�}�yJ��rUt�`bf t�}Uf$qd_Uv����_U[^�={wy ¤ t§�)| t§[J��]�`b[ g tB����`btB|z�I`�asf f$t�}(�8_I[8f�e)t�`�]ÁtB[^])qdt�_U[^�({�y�_���t���[^`$`�astB�(y8��[^�)fz��})a�}Uf$t�}8f$ad[^}�yJq

tå�5t g f$|�[J�f�e)ad|�|$[^`bfMvÔ��}X]�`ba�} g a�])qdtwadf�|�e)[^�)qd�¾��t(]�[8|$|$a��)qdtQf [�]�`�tBrUt�}Ufªyw]�`b[ g tB����`bt(yJqdf$t�`ba�})c�y g [^})|$f�y8}UfyU`bc)��{"t�}Uf��8_�f���`$})a�})cwt�y g e�[)})t�a¨}8f$[2y8}+tB¢:]�`btB| |$ad[^} n �L[^`ÃtB¢�yU{w])qdt(qda ¤ t"f�e)ad|�×

ü8ø[�i� � � �i� � þ0; ò ôg�8; ô �[^`

ü8ø[�i� � � �i� � þ|þ ò ô � �Yþ ô �<�¦ªqsfOe)[^�)c^e=tBadf�e)t�`z[J�>f�e)tB|$tÃ�L[^`${"||�e)[^�)qd�2]�`b[8f$t g f�fOe)t g [)})|$f�yU}8f$| n adfzas|Ã|$f$adqdq�yJc^yJa�})|$fzfOe)t\` �)qstB|z[N����[)`bf�`$yU}�L[^`�fOe)t�]�`�[ g tB����`bt"f$[�yJf$f t�{w])fIf [�yJqdf$t�`�f�e)t"r@yNq¨�)tB|�[N��f�e)t g [^`$`btB|�]Á[^})��a�})cX����{w{=_XyU`�c^��{"t�}8f$|�v��z[)���adqdq�e�yMrUt�f$[�Á��)��c8tI�Ie)tBfOe)t�`�adf�ad|���tBf f$t�`Ãf$[Q��`bt�y ¤ f�e)t�`$�)qdtB|�[J�5f�e)tªq¨y8})c^��yJcUtªf�e�yU}�f$[Q`�as| ¤"g [^`$`$��])f a¨})cy g [^})| f�yU}8f�v

����O�89N�2�29Gv6�:c2bog_<act<2�Hp8�GIO7/�2bo<.':ceÐ_<act<23/�8�GW:)\'2

���5f�e)t�y g f���yNq�yU`bc^��{"t�}8f g [)}Uf�yNa¨})|ÃtB¢:]�`�tB|$|$ad[^})|�f�e)t�}"f�e)tB| tÏyU`�t�tBr@yJq���yJf tB���ÁtO�Ð[^`�tIf�e)tª]�`b[ g tB����`�tI|$fOyU`bf$|f$[�tB¢^t g �)f$tU��tBr8t�}�a��If�e)tX]�`�[ g tB����`bt�q�yJf t�`Q{�[^��a�¬�tB|w[^]Át�`$yU})��|"[J�IfOe)t2tB¢�]�`btB|$|$ad[^}ÓfOe)as|we�yJ|w})[¾tå�5t g f[^}Óf�e)t+r@yNq¨�)t¾]�yJ|$|$tB�hf [�fOe)t2����{w{=_hyU`bc^��{�t�}Uf�v� �e)t�|�yU{"t�`$�)qdt�yU]�])qdadtB|+f$[�yU`$`$yM_¾|����)| g `ba�])f�yU})�g e�yU`$y g f$t�`Ã|����)| f�`ba�})c2tB¢�]�`btB|$| as[)})|�v§��[^`ÃtB¢:y8{w])qdt n a��§f�e)t(]�`b[ g tB����`bt g yJqdq g [^})|$ad|$f$|ª[J�$×

ü8ø[�i� � � � þ¾ø lil ø � þ$û � �2û�� � � ûgþ > Þ�ô ÿ û � �2ú)ö|�)úgþ ò ÛÄû �:�yU})��f�e)tw]�`b[ g tB����`�t�yN|$|$adc^})|�y2})tB�!rJyJq��)tQf [2f�e)t=|$t g [^})��yU`bc)��{"t�}Uf n � n ����`ba�})cXadf$|ªtB¢)t g �)f$ad[^} n adf(e�yJ|})[wtå�5t g fª[^}+f�e)t([8f�e)t�`�yU`bc)��{"t�}Uf |��ªe)a g e¾yJqdq��)|$t=f�e)t�[^`badcUa�}�yJqr@yJq��)t"[J�§�(v� �e)tQ��]Á��yJf$tB�XrJyJq��)t"[J� ���adqdq n [J� g [^��`b| t n ��t"]�yJ|$|$tB�X��y gB¤ f$["f�e)t g yJqdqda�})cX��})adf�v

X�.F2�2nN[e6ØðuvN]:'\F/�,"K5,'.F8�.FHd/3N[81wy89\7a<^�N]:F/�2¦ g e�y8`$y g f$t�`¡����{w{=_wyU`bc^��{"t�}8fz��adqdq�e�yMrUt�adf$|§qdt�})cUfOe"|$tBf§yU�)f$[){wyJf$a g yJqdqd_"f$[�f�e�yJfz[J�>f�e)t g [^` `btB|�]�[)})��a¨})cy g f���yNq�y8`bc^��{"t�}8f�a��ÔfOe)t(|�]Át g a¨yNq�qdt�})cUf�e |�]�t g a�¬ g yJf as[)}X[N� ÿ þ ÿ�� ad|��)|$tB�5v 5["adqdq¨�)| f�`$yJf$t=f�e)ad| n e)t�`bt�ad|Iy"]�`b[ g tB����`bt�f$[ g [^��}8f�f�e)t(})��{Q�Át�`�[J��r8[@��tBqd|�a�}�y g e�yU`$y g f$t�`Ã|$f�`ba�})c�v§�Éf

�)|$tB|zf�e)t�a¨}8f�`ba�})|$a g �É��} g f as[)}w�7�§�Òf$[���tBf$t�`${�a¨})t�f�e)t�qst�})c8f�e"[J�>asf |z����{w{=_QyU`bc)��{"t�}Uf n yU})�"f�e)tI�Ä���M� ��Ä��} g f$ad[^}�f$[�|$tBt��Ie)tBf�e)t�`�t�y g e g e�yU` y g f$t�`Ãa�}�f���`$}+ad|ªa�}�f�e)t�|$tBf�«U¦ �Ã�ÄÅ���«2[)`�})[Uf�v

Page 76: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� ÇpB

� û)ú)ö m ö l ïb�:û�ü8ú � T û"� Tp� ö�� � þ � ú l � û m �üUý)ø l ø�üUú)ö l ÿ þ ÿ�� � ú l � û m� Tb� ö[� � õ ôS[T = ô ��þ õ ò � �8ö^ûgþ � ú l � û m �

� ïgþ � û S öi�gþ � ø^ö � T � � � � ú l � û m þ þ�ÛÄþ �<� ÞÄû)ö�ÞXô � ú)ý^ö)û� Tp� ö�� � õ � Tp� ö�� � ; ò

ö^û S � ï= ô ü T û)ú � ûp��öö^û S

��[Uf$t"f�e�yJf�f�e)t=�Ä��} g f$ad[^}Óe�yJ|(y+��yJf�y+fb_�]�t"�Ie)a g e~ad|Q})[Uf�fOe)tQ��tO�ÄyU�)qdf��L[^`ªadf$|=a¨})adf$a�yJqÃqdtBf$f$t�`�| [�f�e�yJfªasf��adqdq��)|���yNqsqd_���tI})t g tB| |�yU`b_"f$[�|�]Át g a��Ð_wadf$|�}�yU{"t�a�}+y � û)ú)ö m ö l=|$f�yJf t�{"t�}Ufza�}�t�y g ew]�`b[Uc^` yU{���})adf��Ie)a g e`btO�Lt�`bt�} g tB|ªf�e)tª�É��} g f as[)}>v �e)ad|Ï]�yJ| |$tB�)�Äqdt�})cUf�e¾{"t g e�yU})ad|�{Æad|�`bt g [^{w{�t�})��tB�Ê})[8f�[^})qd_+�Ð[)`�cUt�})t�`$yJq���]���`$]Á[U|$t"|$[J�Lfb��yU`bt��Ie)t�`�t

f�e)t�y g f���yNq:yU`�c^��{"t�}8f5qdt�})cUf�e)|�y8`bt���} ¤ })[J�I} n ���)fza�}QyNqsq g yN|$tB|§��})qdtB|$|zf�e)t�`bt�ad|§yªcU[)[^�"`bt�yJ|$[^}�f$[ª|�]�t g a��L_y"����{w{=_�yU`bc^��{�t�}Uf�[J�¬�¢^tB��qdt�})cUf�e>v �e)t�`bt(ad|ª[^})tQ`�tB|$f�`ba g f$ad[^} [^}�����{w{=_XyU`�c^��{"t�}8f$|���adf�e�]�yJ|$|$tB��qst�})c8f�e>×�f�e)tB_ g yU}�})[Uf���t([)]�t�`$yU})��|

[J�§f�e)t g [^} g yNf$t�}�yJf$ad[^}�[^]Át�`$yJf$[^`=ÕL�U�UÖ�tB¢ g t�])f�a�}¾yJ|$| asc)}�{"t�}Uf�| f�yJf$t�{"t�}8f$|�v���[Uf$t"f�e�yNfIf�e)t=|�yU{"t��Ð[)`${[J�5qdt�})cUf�e+|�]Át g a�¬ g yJf$ad[^}h© ÿ þ ÿ�� « g yU}+��t(�)|$tB���L[^`�}�yU{"tB� g e�yU` y g f$t�` g [)})|$f�yU}8f$|����)f���adf�e+y g [){w])qdtBf$tBqd_��a�5t�`bt�}Ufª{"t�yU})a�})c�×�}�yU{"tB� g [^})|$fOyU}Uf |IyU`bt(})[Uf�|����[Á�t g f�f [wf�e)ad|Ï`�tB|$f�`ba g f$ad[^}>v

�gÃVU JÆpÆpÅiÈ�à�Å'à8 JÆ�Þ�é�ÏÊËFÑ�Òpà���zf�e)t=����{w{=_�yU`�c^��{"t�}8f�[N� yw]�`�[ g tB����`bt=ad|ÏyU}�y8`$`$yM_wf�e)t�}+f�e)t"y g f���yJq5yU`�c^��{"t�}8f g y8}X��t=tBadf�e)t�`B×

ë yU}�yU`$`$yM_2}�y8{"t2Õ���adf�e)[^�)f�|����)| g `ba�])f$|�Ö

ë yU}�yU`$`$yM_wtBqdt�{"t�}8f�v

 �e)t�¬�`b| fw�L[^`${ fO`$yU})|b�Lt�`b|+f�e)tXt�}8f$a�`bt�y8`$`$yM_���fOe)t�| t g [^})�h�L[^`${ n �ªe)a g eJÁ$�)|$f+f�`$yU})|��Ðt�`b|+y�|$t g f as[)}|$f�y8`bf$a�})c2yJf�f�e)t�|�]Át g a�¬�tB��tBqdt�{"t�}Uf n ad|I��tB| g `�a¨�ÁtB�¾a¨}�{"[^`bt���tBfOyJadq>�É��`�f�e)t�`�[^}>v �e)tX|$a�{w])qdtB|$f n yU})� {"[8|$f g [^{w{"[^} n `�t3Ô:�)a�`bt�{"t�}8f+as|+f$[�{wy ¤ t�f�e)tXt�}8f$a�`bt g [)}Uf$t�}8f$|w[N��yU}hy8`$`$yM_

yMr@yJadq�yU�)qdt�a�}hyX]�`b[ g tB����`btUvX�Ð�If�e)t�y g f���yJq�yU`bc^��{�t�}Uf(yU` `$yM_^|(yU`�t�yJqd��yM_^|�c8[Ua�})c�f [���t+f�e)t+|�yU{"t�|$a@?Btf�e)t�} f�e)t�����{w{=_�y8`$`$yM_^|�a�}�fOe)t(]�`b[ g tB����`�t g yU}��)|$tª¬�¢^tB�¾��[^��})��|Mv§��[^`ÃtB¢:yU{�])qstU×

� � �il[T �:ú � û^ö S�T úgþð��� � � ¢ �ÿ ü^ëNì^Ú)å�Ù�ã)ßhÙUØ>ã�ñ^ë8ÙÑÚ�á^ë)ñJå>äJÙ ë8í�à^á)á)àUê�ß ��àJî�ñ � ë8í ò ô)ô ã^â)ãMì�ãMî:Ù�ßÿ Ú�á^ë)ñNå�ä�òBî�è à)á)á^à8ê ¢ ëUí ÙUØ>ãÑßNàNì�ã ß:òMÿ�ãzÞ

l ö)ø��Y�gþ ò ô)ô � � � þ ò ô^ô � � ¢ þ ò ô)ô �S[T ò�ô � �xõ ò � ò ô^ô¢ þ ��� õ �gþ ���Lÿ � þ ���

ò9ô ü T û)ú � ûp��öö^û S

 �e)ad|�]�`b[ g tB����`�t g [^�)qd���ÁtQ�)|$tB����adf�e)a�}Xyw]�`�[Uc^`$yU{Î��})adfªqsa ¤ t=f�e)ad|�×

k|l�Timpl ø^é kil[TbSl ö)ø���øgþ ò ô)ô � � � þ ò ô^ô � �Xü<þ ò ô)ô �l ö)ø S þ �:û � ú õ�ÿ �bï)é^ú õ�ÿ�� ø�� �

Page 77: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� ÇUÇ

üUø��i� S�T ú�þ ø�� � ��ü ��|l � ú^ögþí��û � ú õ�ÿ �bï^é)ú õ�ÿ�� üö^û S

 �e)ad|ªas|ª]�t�`��Lt g f$qd_XqdtBcUadf$a�{wyJf t n a��za¨}b��tB¢)a��)qdt n |$a�} g t(adfª��adqdqÔ})[Uf���[^` ¤ [^}�yU` `$yM_^|�[J�Ôy8}U_+[Uf�e)t�`�| a÷?BtUv

wye���a723/3.Ft<uvN�wy8�89.|h�2¦ {"[^`bt�|�yNf$ad|b�Éy g f$[^`b_�| [Uq��)f$ad[^}had|+f$[¾cUt�})t�`$yJqdad|$t¾f�e)tX]�`b[ g tB����`btX| [�f�e�yJf"adf g y8}h��t��)| tB��[^}hyU` `$yM_^|[J�QyU}8_h|$a@?BtUv  �e)ad|�ad|���[^})t��8_��)|$a�})c yU}ÂyJ��Á��)| f�yU�)qdt�yU`$`$yM_)|w��t g q�yU`$yJf$ad[^}>v ��t�`bt�f�e)t¾[^]�t�` yU})��|�a�}t�y g ew��a�{"t�})| as[)}X��[)��})��tB¢:]�`btB| |$ad[^}�{wyM_wa�} g q��)��t(a�}Uf tBcUt�`Ãr@yU`ba�yU�)qdtB|ª�Ie)a g e�y8`btÏyNqs| [�y8`bc^��{"t�}8f$|§[N��f�e)t]�`b[ g tB����`bt�Õ�[^`={"t�{"��t�`b|�[J�Iy g [){w{"[^}Ó�)qd[ gB¤ Ö v� �e)t+�Ð[8qsqd[J��a�})c�tB¢�yU{w])qdt�|�e)[J��|"e)[@�Îf�e)ad|2{�y�_��Át��[^})tU×

� � �il[T �:ú � û^ö S�T ú k|l�T þ$û k ú � �«��� � � ¢ �l ö)ø��Y�gþ û k ú � � � � þ û k ú � � � ¢ þ û k ú � �S[T ò�ô � �xõ ò ��û k ú �

ÿ ãJÙ�äzÞ�Ä} f�e)ad| g yJ|$t=f�e)t g yJqdqda�})c�|$t3Ô:�)t�} g t=��[^�)qd����t=|$[^{"tBfOe)a¨})c�qsa ¤ tU×

ü8ø[�i� S[T ú k|l�T þ ò ô^ô���ø�� � ��ü �¦�}2yJ��Á$�)|$f�y8�)qst�yU`$` y�_=��t g q�yU`$yJf$ad[^}+ad|�]�t�` {"adf$f$tB�+[^})qd_"�Ð[)`§yU`$` y�_)|§�ªe)a g e+yU`bt�����{w{=_2y8`bc^��{"t�}8f$| n |$a�} g tf�e)tXy g fO��yJq�yU` `$yM_�|�]�y g t�e�yJ|wa�}Óf�e)ad| g yJ| tXyJq�`bt�yJ��_��ÁtBt�}�yJqdqd[ g yNf$tB��a�}Óf�e)t g yJqdqda�})c ��})adfw[)`QyNfQ| [^{"te)adc^e)t�`ÃqdtBrUtBqLv� �e)t�{"tBf�e)[)� g yU}2�ÁtItB¢)f$t�})��tB��a�}�f�e)tI[)�Ur)ad[^�)|��\yM_=f$[ g [JrUt�`Ã{Q�)qdf$a��Ä��a�{"t�})|$ad[^}�yNqÔyU` `$yM_^|yU})��f�e)[8|$t���adf�eX��]�]Át�`Iy8})��qs[J��t�`��Á[^��})��| n �Ð[^`\tB¢:yU{�])qstU×

� � �il[T �:ú � û^öÑéb���8ú � þ é^ø k �+þ ò �R� ò �Xþ�=g�R��=g��ú l ø:ü8ö �S[T � � �8ö k|l ö:ü � � � T ûÑé)ø k þ þ ò Û � ò �2þ�=§Ûí�<= �l ö)ø���ú l ø:ü8ö�þå� ò 98þ ò ; ò �

 �e)t�yJ��Á��)| f�yU�)qdt�yU` `$yM_I{"t g e�yU})ad|�{ g yU} n [J� g [)��`b|$t n ��t��)|$tB���L[^`5y8`$`$yM_^|>[J��y8}U_ª��yJf�y�fb_�]�tU�UyU}�yN��Á��)|$fOyU�)qdtyU`$` y�_ g yU}(yJqd|$[ª��t�]�yJ|$|$tB�(yN|�yU}(y g f���yJq^yU`�c^��{"t�}8f�[N�Áyª]�`b[ g tB����`bt§��adf�e n a���})t g tB|$|�yU`�_ n f�e)t�yU` `$yM_I��[^��})��|]�yJ|$| tB��[^}�a�}X]�y8`$yJqdqdtBqÐv�§y g e¾yU`$`$yM_X��[)��})��[J�\y+����{�{(_�yU`�c^��{"t�}8fÏyU` `$yM_X{wyM_���t+yU}�a¨}8f$tBcUt�`ªtB¢�]�`btB|$| as[)}�a�}8rU[Uqdr^a�})c¾})[Uf

[^})qd_ g [)})|$f�yU}8f$|����)f(yJqd|$[�a�}Uf$tBc8t�`ªr@yU`ba�yU�)qdtB|"]�yJ|$|$tB�¾a�}�f$[2fOe)t�]�`�[ g tB����`bt�tBasfOe)t�`�yJ|(yU`bc^��{�t�}Uf$|ª[^`ª�U_{"t�yU})|�[J��y g [^{w{�[^}2�)qd[ g¥¤ v§ �e)tªtB¢)f$t�}UfÃ[J��t�y g e���a¨{�t�})|$ad[^}�[J�5f�e)t�yU`$` y�_w{"�)|$f�})[Uf���tªqstB| |�f�e�yU}�[^})tyU})��{"�)|$f�})[Uf���tªc^`bt�yJf t�`zf�e�yU}�f�e)t�tB¢)f$t�}8f�[J�5f�e)t g [)`$`btB|�]Á[^})��a�})cQ��a�{"t�})| as[)}�[J�5f�e)t�y g f���yJq>yU`bc^��{�t�}UfyU`$` y�_Uv���IyU}8_Xa�}Uf tBcUt�`�rJyU`ba�yU�)qdtÊÕÐ[^`�}�yU{"tB� g [)})|$f�yU}8f�Öª�)|$tB��a�}�y8}�yU`$`$yM_8����[^��})�¾tB¢�]�`btB|$|$ad[^}Óe�yJ|(y�}�yU{"t

�Ie)a g eÓ��[^tB|w})[Uf"a�{w])qd_�a�}8f$tBcUt�`=fb_:]Át2fOe)t�}�f�e)t � û^ú)ö m ö l�| f�yJf$t�{"t�}8f(�ªe)a g eÓ|�]Át g a ¬�tB|�asf |Qfb_�]�t�{"�)|$f]�`bt g tB��t=asf |Ï�)|$t�a�}�y"��a�{"t�})|$ad[^}8����[)��})��tB¢:]�`�tB|$|$ad[^}>v

wy2�2da�^JN�eKØð2�G��pNJwy8r89.ih�2 �e)t�`bt({�y�_���t g a�` g ��{"|$f�y8} g tB|�a�}��Ie)a g e�adfIad|�a�{w]�` y g f$a g yU�)qdt"f$[2�)|$t�tBadf�e)t�`\¬�¢^tB��[^`�yJ��Á$�)|$f�yU�)qdtQy8`$`$yM_��t g q�yU`$yJf as[)})|�a�}�yQ]�`�[ g tB����`bt(�Át g yU�)|$t�f�e)t�y g f���yNq�|$a@?Bt�[J��fOe)tÏyU` `$yM_Qad|I��} ¤ })[J�I}��Ie)t�}+f�e)t�]�`b[ g tB����`�t|$f�y8`bf$|�tB¢^t g �)f a¨})c�v��Ä}�fOe)as| g yJ|$t(y8}XyJ|$|O��{"tB�)�Ä|$a@?BtwyU`$`$yM_wad|�y"r^a�yU�)qdtwyJqdf$t�`$}�yNf$adrUtUv� �e)tB|$tQyU`�t(yJqd|$[w[^})qd_]�t�` {"adf$f$tB�+�L[^`Ã����{w{=_2yU`bc^��{�t�}Uf�yU`$`$yM_)|§[J�Ô]�`�[ g tB����`btB| n ���)fIe)t�`btªf�e)t(yU`$` y�_"ad| n tå�5t g f$adrUtBqd_ n ��t g q�yU`btB�f$[2�Át�[J�§��} ¤ })[J�I} [^`Ãa¨})��tO¬�})adf$t�|$a@?BtUv§��[^`ÃtB¢:yU{�])qstU×

Page 78: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� Ç m

l ö)ø���ïb��û:ü8ú � T û ø SiS ú �[T þ ú^ø � �8ö��2ø)û m �Uö �l ö)ø���ú)ø � �8ö�þ ÿ��û õ é^øi�gþ ò �Xû � û)ú�þ � � ûgþ$ø)û m �8ö ��ÿ ô ô)ô§Þbô �<�ø SiS ú ��T õ ú^ø � �Uögþ$û � ;Âú^ø � �8ögþ$û�; ò �ö^û S

��t�`bt�f�e)t�]�`b[ g tB����`�t�[^})qd_ ¤ })[J��|"f�e�yJfQy8`$`$yM_� 5¦�£��7�!ad|w[^})tO�Ä��a�{"t�})| as[)}�yJqI��asfOe�y�qd[J��t�`�����[^��})�h[J�[^})tU×�f�e�yJfªas|(yNqsqzadf(})tBtB��|=f$[ ¤ })[J��f [�y gBg tB| |�f�e)twyU]�]�`b[^]�`ba�yJf tQtBqdt�{"t�}8f$|(� yU})��� '"j v���}¾tB¢^t g �)f a¨})cf�e)t�]�`b[ g tB����`bt2adf"ad|"[^��`"`btB|�]�[)})|$a��)asqdadfb_hf$[Xt�})|O��`bt2fOe�yJf(f�e)t+r@yNq¨�)t�[N�\¦��ªu(�7�&��adqdq�})tBrUt�`"`btB|��)qdf"a�}yU}hyU` `$yM_�|O���)| g `ba�])fw�Ie)a g ehad|w[^�)f"[J�Ï` yU})cUtUv� �e)as|�as|+yJqd�\yM_)|wyX��y8})cUt�`"��adf�ehyJ| |���{"tB�)�Ä|$a@?BtXyU`$` y�_)|�v£Ãt g yU�)|$t�f�e)t g [^{w])adqdt�`���[)tB|I})[Uf�e�yMrUtIyU}8_wa�}8�L[^`${wyJf as[)}2yU�Á[^�)f�f�e)t���]�]�t�`����Á[^��})�¾[J��yU}2yN|$|���{"tB�)�Ä|$a@?BtyU`$` y�_�adf g yU}�})[Uf"�)|$t�yU}U_�yU` `$yM_U���Á[^��})� g e)t g¥¤ a�})c g [)��t+tBrUt�}�a���adf"as|"})[^`${wyNqsqd_�y8�)qst+f$[���[Xf�e)ad|�v+¦�}yJ|$|O��{"tB�)�Ä|$a@?Bt(yU`$`$yM_ g yU}w[)})qs_+e�y�r8t�f�e)t���]�]�t�`����Á[^��})��[J�5adf$|�q¨yN|$f§��a�{"t�})|$ad[^} |�]�t g a�¬�tB�X�8_2yU}wyN|$f$t�`bad| ¤ nyJqdqf�e)t([UfOe)t�`I�Á[^��})��|2Õ�a���yU}8_:Öª{"�)|$f g [^}8�L[^`${ f$[+f�e)tQ})[^` {wyJq�`$�)qdtB|2Õ�[)`���twyJ��Á$�)|$f�yU�)qdtw�)|$a�})c�a�}Uf tBcUt�`yU`bc)��{"t�}Uf |�ÖBv¦Ï}�yJ| |���{"tB�X| a÷?Bt=����{w{=_�y8`bc^��{"t�}8f�yU`$`$yM_wad|�|�]Át g a�¬�tB����adf�e�yU}�yJ| f$t�`bad| ¤ yJ|�f�e)t(��]�]Át�`I�Á[^��})�X[J�

adf$|(q�yJ| f2Õ�[^`ª[^})qd_�Ö���a�{"t�})|$ad[^}>v�¦Iqdq§fOe)tQ[8f�e)t�`���a�{"t�})|$ad[^}Ó��[)��})��| n a��IyU}8_ n {"�)|$f g [^}8�L[^`${Ëf$[X})[)`${wyJq`$�)qdtB|��Ð[^`\qs[ g yJq�y8`$`$yM_^|�[^`�yJ��Á$�)|$f�y8�)qst"yU`$`$yM_)|�v �e)t�`btXad|�[^})t�a�{w]�[^`�f�yU}8f2`btB|$f�`�a g f as[)}�[)}�yJ|$|O��{"tB��|$a@?Bt�yU`$` y�_)|�×�fOe)tB_ g yU}�})[Uf���t��)| tB� ��asfOe)[^�)f

|����)| g `�a¨])f |(a�}����UÅÎ|$fOyJf$t�{"t�}8f$| n �Ð[)`ªtB¢:yU{�])qst�a¨}~f�e)t"a�}�]��)f"qsad|$f=[J�\y1l ö)ø S�|$f�yJf$t�{�t�}Ufª[^`ªf�e)tw[)�)f�]��)fqdad|$fI[N� y��il � ú)ö | f�yJf$t�{"t�}8f�vz �e)ad|ªas|ª��t g yU�)|$t"f�e)t g [){w])adqst�`�e�yN|I})[wa�}8�Ð[)`${wyJf$ad[^}�yU��[)�)f�f�e)t�f$[UfOyJq>|$a@?Bt[J�zf�e)t(yU`$` y�_��Ie)t�} g [^{�])asqda�})c�f�e)t(]�`b[ g tB����`btUv

wy8�89.|hL_)N�H�/�Gs67:72

 �e)t�` �)qstB|�[J�w��[^`�f�`$yU}Â`bt3Ô:�)a�`btÓf�e�yJf�fOe)t�tB¢)f$t�}8fX[J�wyU}kyU` `$yM_�Õ�a�}Ñt�y g eÑ��a�{"t�})|$ad[^}&a��wasf�ad|�{"�)qdf$a����a�{"t�})|$ad[^}�yJq�Ö={Q�)| fI��twyJf�qdt�yJ| fÏyJ|�q¨y8`bcUt(a�}�f�e)t"y g f���yJq�y8`bc^��{"t�}8fIyJ|ªa�}XfOe)t(����{w{=_XyU`bc)��{"t�}Uf n ���)ff�e)tB_+��[2})[UfI`�t3Ô:�)a�`bt"y g f���yJq�yNc^`btBt�{"t�}8f�[J� �Á[Uf�e+qd[J��t�`�yU})�X��]�]�t�`��Á[^��})��|�vz��[^`�tB¢�yU{w])qdtU×

k|l�Timpl ø^ékü T û)ïb� �l ö)ø��Y�gþ,9 ò Û ô ô � � � þ ò ô§Û ò ô^ô)ô �l ö)ø S þ �:û � ú õ�ÿ �bï)é^ú õ�ÿ�� ��� �üUø��i� T ��ú k �:úgþ � �üUø��i� T ��ú k �:úgþ � �ö^û S

� � �il[T �:ú � û^ö T �:ú k ��úgþ$ø l|l ø � �l ö)ø���ø lil ø � þ ô ô ��|l � ú^ögþí��û � ú õ�ÿ �bï^é)ú õ�ÿ�� ø lil ø �ö^û S

 �e)t�tå�5t g fz[J��fOe)as|�]�`b[Uc^` yU{k��asqdq>��t�f$[�[)�)f�]��)fzf�e)t�tBqdt�{"t�}Uf | � Õ � j Öf$[ � ÕI> m Ö¡|$a�} g t � ÕI> m Ö g [^`$`�tB|�]�[^})��|f$[w¦$Q�Q�¦g�wÕ ÈUp Ö n yU})��f�e)t�}�[^�)fO]��)f£�wÕ j�p ÖÃf$[���Õ È8l Ö�yJqd|$[�v� �e)t=|�����`b[^�)f$a�})t=��adqsq��[^` ¤ |$a�{"adq�yU`bqd_X[^}�y|$qda g t"f�e�`b[^�)c^e�y=fb��[J�Ä��a�{"t�})|$ad[^}�yJqzyU`$` y�_>×

k|l�Timpl ø^éÑú �[TbS � él ö)ø�� S þ ò ô)ôg�4=)ô �

ÿ Þ)Þ^Þ

Page 79: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� Ç l

û � � � ü8ö õ ò�ôüUø��i� T ��ú k �:úgþ S þ ò �bû � � � ü8ö �<�

�Ä} f�e)ad|�tB¢:y8{w])qdt(f�e)t=|$qda g t�[J�ÔfOe)tQyU`$` y�_��Ä`b[^{ÎtBqdt�{"t�}8f$|ª�2Õ jUn�j�È Ö§f [w�2Õ ÈUp�n j�È ÖÃ��adqdqÔ�ÁtQ�ª`badf$f$t�}+f$[+f�e)t[^�)f�]��)fì�qdtUv§��}+[^`b��t�`Ãf$[(��[^` ¤ [)�)f§�Ie�yJf�ad|�cU[Ua�})c"f$[we�yU]�]�t�}+_8[^�w})tBtB��f$[ ¤ })[@�Âf�e�yJfÃ��[^`bfO`$yU}wyU` `$yM_^|yU`bt�|$f$[^`�tB����adf�eÒf�e)t�¬�`b|$f+|����)| g `ba�])fX{"[U| f2`$yU])ad��qd_Ñr@yU`b_)a�})c n y8})��f�e�yJf+f�e)t¾yU`bc^��{"t�}8f2yJ| |$[ g a�yJf as[)}[^]Át�`$yJf$tB|(yJ|=a��\fOe)t2yJ����`btB|$|=[J��fOe)tw|�]�t g a�¬�tB�htBqdt�{"t�}8f(��t�`btwfO`$yU})|b�Lt�`$`btB�¾f$[�f�e)t+��yJ|$t2yJ����`�tB|$|�[J��f�e)t����{w{=_�yU`bc^��{"t�}8fIyU` `$yM_Uv �e)tÏ�)| tI[J��yU}�yU`$`$yM_"tBqdt�{"t�}Uf�yJ|�yU}wy g fO��yJq�yU`�c^��{"t�}8f§�Ie)t�}�f�e)tª����{w{=_�y8`bc^��{"t�}8f§ad|�y g [^{�])qstBf t

yU`$` y�_"ad|Iy=rUt�`b_�{"ad|$qdt�yJ��a�})c�})[Uf�yJf$ad[^}+yU})��f�e)tªf�`$y8})|b�Ðt�`Ã[J�zyU`$`$yM_w|$t g f as[)})|�|�e)[^�)qd�X��t(yMrU[8as��tB��a��§yJf�yJqdq]�[8|$|$a��)qdtUv

K5,'.F89.FH�/3N[8ywy8�89.ih�2

� e)t�}�y=����{w{=_�yU`�c^��{"t�}8f§ad|Iy g e�yU`$y g f t�`§yU`$` y�_�f�e)tÏ]�yN|$|$tB�)�Äqdt�})cUf�e�{"t g e�y8})as|O{ g yU}���t(�)| tB��a¨} f�e)t|�yU{�tQ��yM_�yN|ª�Ð[^`ªy g e�yU`$y g f$t�`�rJyU`ba�yU�)qdtUv«� rUt�`b_�tBqst�{�t�}Uf=[J��f�e)t�����{w{=_�yU`$` y�_Xe�yN|(f�e)t"qdt�})cUf�e¾fOe�yJf��yJ|�]�yJ|$|$tB��a�}+�Ä`b[^{ f�e)tQy g f���yJq5yU`bc^��{�t�}Uf�v��[^` tB¢:yU{�])qst n y�|�����`b[)�)f$a�})t���tB|$adc^})tB��f$["|$[^`bf�yU}wyU` `$yM_Q[N� g e�yU`$y g f$t�`z|$fO`ba�})cU|�a¨}8f$[wyJ| g t�})��a�})cw[)`b��t�`

{"adc^e8f�|$f�y8`bf���adf�e�|�]Át g a�¬ g yJf$ad[^}�|$f�yJf t�{"t�}Uf |�qda ¤ t=f�e)tB|$tU×

� � �il[T �:ú � û^ö �iTpl ú�þ û)ö[� � �+û^ø)é)ö � �� û)ú)ö m ö l û)ö[� �üUý)ø l ø�üUú)ö l û)ø)é^ö � þ û)ö[� � �bÿ þ ÿ��

¦ªqsf t�`$}�yJf$adrUtBqd_hf�e)t�y g f���yJq�yU`�c^��{"t�}8f g y8}��Át�y g e�y8`$y g f$t�`=r@y8`ba�yU�)qdtX[^`=|����)|$fO`ba�})c�v���}Ó|�� g e g yN|$tB|"asf�)|���yJqdqd_k{wy ¤ tB|�{"[^`�tX|$t�})|$t�})[Uf+f$[h�)|$t¾f�e)t�]�yJ|$|$tB�)�Äqdt�})cUfOe {�t g e�yU})ad|�{ v!��[^`�tB¢�yU{w])qdt�yU}Ñy g f���yJqyU`bc)��{"t�}Uf���t g q�yU`btB�5×

ü8ý^ø l ø:ü8ú^ö l ÿ ?)ôY� � û)ög [^�)qd���ÁtQ]�yJ| |$tB�Xf$[wy"|O����`b[^�)f$a�})t(�ªe)a g e���t g q�yU`�tB��adfIyN|IyU}�yU`$` y�_�[J���L[^��` oUp � g e�yU`$y g f$t�`�tBqdt�{"t�}8f$|�×

� � �il[T �:ú � û^ö �bk � � úgþå� � û^ö �üUý)ø l ø�üUú)ö l � � û^ögþ > �bÿ =)ô

¦Iqdf�e)[^�)c)eXfOe)as|ªad|�r@yJqdad����[^`bf�`$y8} n adf�ad|�})[UfÏy�rUt�`b_+|�yJf as|��Éy g f [^`b_�]�`b[Uc^`$y8{w{"a�})c2f t g e�})a@Ô��)tQf [��)|$t"y]�`b[ g tB����`bt g yNqsq¡f$[2yJqdf$t�`�fOe)t�|�e�yU]�t=[J�§yU}+adf$t�{Æ| [�` yJ��a g yJqdqs_Uv

�gÃPd ç5ÆbÍgè�ËFÙ�é�ÆpËFà1Å'à8 JÆ�Þ�é�ÏÊËFÑ�Òpà��[)`bf�`$yU}~yJqdqs[J��|"[^})tX]�`�[ g tB����`bt�f [���tX�)| tB��yJ|"f�e)t�y g f���yJq�y8`bc^��{"t�}8f"[J�ÏyU})[UfOe)t�`(]�`b[ g tB����`btUv� �e)as|]�`b[Jr)as��tB|ªyQ]Á[J��t�`��É�)qÁ�Éy g adqdadfb_ n f�e)[^�)c^e�[^})t�f�e�yNf�{"[U| f�]�`b[Uc)`$yU{w{"t�`�|��)|$t�[^})qd_2` yU`btBqd_Uv§x§`�[ g tB����`btB|ªyU`bt})[^`${�yJqdqs_+�)|$tB�2f [ g yU`$`b_"[^�)f�y�cUadrUt�}"| tBf§[J�5[^]Át�`$yJf$ad[^})|Ã[^}w��a�5t�`bt�}8f§|$tBf |§[J�5��yJf�yÁ�U���)f�| [^{"tBf$a�{"tB|Ã_U[^���yU}8fIf$[ g yU`$`�_X[^�)fªf�e)t"|�yU{"t"|$tBf�[N�§[^]�t�`$yNf$ad[^})|([^} ��a��t�`�t�}Uf��É��} g f$ad[^}�yNq�Ð[^` {"|�v$�z¢�yU{w])qdtB|(a�} g q��)��tU׬�})��a�})c"f�e)t�c^`$yJ��adt�}8fz[J��y��Ä��} g f$ad[^} n a�}Uf$tBc)`$yJf$a�})c�f�e)tIy8`bt�yI��})��t�`Ãy g ��`brUt n [^`|$a�{w])qd_w])qs[8f$f$a�})cQyªc^` yU]�e>v���zf�e)t g ��`brUt�ad|�|�]Át g a ¬�tB�ÓyJ|�y"|$tBf�[J�z��yJf�y"]Á[Ua�}Uf$|ªf�e)t�}+_U[)� g yU}+|$a�{w])qd_�]�yJ| |�[JrUt�`�yU}�yU`$`$yM_ n ���)f�a��zasfad|�|�]�t g a�¬�tB���8_�{�t�yU})|I[N�§|$[^{"t"yJqdcU[^`badf�e�{ f�e)t�}�f�e)tQ]�`�[ g tB����`bt"�Ie)a g e�tBr@yJq���yJf$tB|=adf g yU}�adf$|$tBq�����twyU}y g f���yNq�y8`bc^��{"t�}8f�v�Ä}+f�e)t�})tB¢^f�tB¢:yU{�])qst n f�e)tI|O����`b[^�)f$a�})t(uMQ\¦Ïx���])qd[Uf$|ªy(c)`$yU]�e�[J��y=�É��} g f as[)}1���ª�§�ª�IZÂ��tBfb��tBt�}

|�]Át g a ¬�tB� qsa�{"adf$| n ��asfOehadf$|XyU`bc)��{"t�}Uf+`$yU})cUt���asr)ad��tB�k|$[^{�tB�Ie�yJf�yU`$�)adf�`$yU`�asqd_Âa¨}8f$[ j�p�j ]Á[Ua�}Uf |�vk��[^`

Page 80: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� mUp

|$a�{w])qda g adf�_ asf�yJ|$|O��{"tB|�f�e)tXtB¢)ad|$f$t�} g t�[N�Qy�|�����`�[^�)f$a�})t�x§�¡Å� Ë�Ie)a g eÑ{"[JrUtB|+f�e)t�]Át�}Ñf$[h]�[U| asf as[)}Õ � n ��ÖBv��)[^{"t�[Uf�e)t�`\|�����`b[^�)f$a�})tB|ª��[^�)qd� n a�}X]�`$y g f a g t n yJq�{"[U| f g t�`�f�yJa�})qd_���t"`bt3Ô��)a¨`�tB�5v

� � �il�T ��ú � û)ö mbl ø k ý�þ é � ïb�:û�ü��«�)é � û��y�)é^øi� �ÿ k âUëUÙ�ßhíUå)î>ä@Ù>ò@ëNî�à�âhí�ë^áNì�ëUíÑé � ïb�:û�ü<þð� � Ý�òMÙUØÊ� ò î á)àJî�è�ãV�)é � û�Û³�)é)ø|��Þ

l ö^ø��Âé � ïb�:û�üg�y�)é � û��R�^é)øi�� S ö��8ú^ø õ þ �^é)øi�ì9ì�^é � û � Ü ò ô^ôÃÞ�ôS�T = ô � �xõ ô�� ò ô)ô

� õ �^é � ûL; �Ðÿ � S ö��Uú)ø� õ é � ïp��û�ü�þ � �üUø��|� k � T úgþð��� � �= ô ü T û)ú � ûb�:ö

ö)û S �e)t�]�`b[ g tB����`btMmpl ø k ý g y8}wf�e)t�}+��t(�)| tB��f$[Q])qd[UfIyÏ�É��} g f as[)}+|$a�{w])qd_X�U_2]�`�[@r)ad��a�})cwadf$|�}�yU{"tªf�e)t�{ÎyJ|f�e)tì�`b|$f§y8`bc^��{"t�}8fz[J��fOe)t g yNqsqLv� �e)t�[^})qd_"[Uf�e)t�`z`bt3Ô��)a�`bt�{"t�}8f§ad|§f�e�yNfzf�e)t�}�yU{"t�[J��t�y g e=�Ä��} g f$ad[^}w�)| tB�yJ|�yU}¾y g f���yJqzyU`bc)��{"t�}Ufªa�}�f�e)ad|(��yM_�{"�)|$f���tw|O]�t g a�¬�tB��a�}¾yU} � û^ú l � û � � ü [)` ö|�)ú^ö l û^ø�� | f�yJf$t�{"t�}8f nyJ|Iy8]�]�`b[^]�`ba�yJf$tUvà�e^�)|M×

k|l�Timpl ø^éküd� l �)ö �� û)ú l � û � � ü � � û���ú)ø^ûö|�)ú)ö l û^ø��Âé^ö �i�p�üUø��i� mbl ø k ý�þ � � û��Xô§Þbôg�8AÃÞ òi>7ò�ô ó �üUø��i� mbl ø k ý�þ ú)ø^û��Xô§Þbôg�XôÃÞ ô �üUø��i� mbl ø k ý�þ é)ö �i�p� �Xô§Þ ò � ôÃÞbó �ö^û S

l ö)ø���ïb��û:ü8ú � T û é)ö �|�b� þ � �é^ö �i�p� õ ü T|� þOô§Þ ò ÿ � � ;kôÃÞ�ô�= ÿ � � ûgþ � ù l úgþð� ���ö^û S

 �e)ad|"��adqdq§¬�`�|$f(])qd[Ufwy�c^`$y8]�e¾[J��fOe)t2|$a�})t��É��} g f as[)} n fOe)t�}�[J��f�e)t+f�yU})cUt�}8fª�É��} g f as[)}���adf�eÓy+��a�5t�`bt�}Uf`$yU})c8t n yU})��¬�}�yJqdqs_�]�`b[)��� g t2yU})[8f�e)t�`I])qd[Uf�[N��f�e)t"tB¢)f$t�`$}�yJq¡�É��} g f as[)} g yJqdqdtB� é^ö �i�p�>v� �e)tB|$t=�É��} g f$ad[^})|{"�)|$f n [J� g [)��`b|$t n e�y�r8tQfOe)tQ|OyU{"tQ]�`�[ g tB����`bt�a¨}8f$t�`��Äy g t"f�e)t�{"| tBqsr8tB|(yU})��{Q�)| fÏ�Át g yJqdqdtB� g [^`$`bt g f qs_�a�}f�e)tMmbl ø k ý ]�`b[ g tB����`btUv�Lf�ad|\]Á[U|$|$a��)qdt�f$["]�yJ|$|�tBadf�e)t�`�y��Ä��} g f$ad[^}�[^`§y=|�����`�[^�)f$a�})tÏyN|\y8}wy g f���yJq>yU`bc^��{�t�}UfÃa¨}�f�e)ad|���yM_�סf�e)t

[^})qd_¾��a��t�`�t�} g t2ad|(fOe�yJfÏy üUø��i� |$f�yJf$t�{�t�}Uf�ad|Q�)| tB��a�})|$f$t�yJ��[N�\y��Ä��} g f$ad[^}�`btO�Lt�`bt�} g t+f$[2tB¢)t g �)f$t+f�e)t����{w{=_�]�`b[ g tB����`�tUv��ÉfIad|I]Á[U|$|$a��)qdt"f$[2]�yJ|$|ªyw]�`b[ g tB����`bt(f�e�`�[^�)c^e�{"[^`�t�f�e�yU}+[^})t�qdtBrUtBq[J�§]�`b[ g tB����`�tg yJqdq5a�}�fOe)t(|�yU{�t��\yM_UvzZ�[^}8f$a�})�)a¨})c�f�e)t(q�yJ|$f�tB¢:yU{�])qst n yU})[Uf�e)t�`�qdtBrUtBq g [^�)qd���Át(a�}8f�`b[)��� g tB�Xqda ¤ t"f�e)ad|�×

k|l�Timpl ø^éküd� l �)ö�=ö|�)ú)ö l û^ø��Âé^ö �i�p�� û)ú l � û � � ü � � û���ú)ø^ûüUø��i� mbl ø k ý�=<þ k|l ö^ú)ú � �üUø��i� mbl ø k ý�=<þ ú^ø)û �ö^û S

� � �il[T �:ú � û^ö mbl ø k ý�=<þ kil[T ü �ö|�)ú)ö l û^ø�� k|l�T ü

Page 81: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� m�j

üUø��i� mbl ø k ý�þ kil[T üg�XôÃÞ ò �Xô§Þ�@ �ö^û S

 �e)�)|§f�e)t�]�`b[ g tB����`btMmbl ø k ý�= | tBf$|§qda�{"adf$|�f$[=t�y g e2])qd[Uf�yU})�2]�yN|$|$tB|�f�e)tI]�`b[ g tB����`bt(}�yU{�t�[^}�f$[Ömbl ø k ý v �e)tÃ|$_:{"�Á[Uqda g }�yU{�t�kil[T ü {"�)|$fz��tÃ��t g q�yU`btB�"a�}Qy8} öi�^ú)ö l û)ø[� |$f�yJf t�{"t�}UfyJ|5adf�ad|§y�����{�{(_(]�`�[ g tB����`btU×yU} öi�^ú)ö l û)ø[� |$f�yNf$t�{"t�}8f�ad|�`bt3Ô��)a¨`�tB���ªe)tBf�e)t�`�fOe)t(y g f���yJq�]�`�[ g tB����`bt"yJf�f�e)t=f$[^]+qdtBrUtBqad|Ia�}8f�`ba�})|$a g [^`tB¢)f$t�`$}�yJqLv§ �e)tª|$_�}UfOyJ¢"[J��f�e)t � û)ú l � û � � ü yU})� ö|�)ú)ö l û^ø�� |$f�yJf t�{"t�}Uf |§ad|�cUadrUt�}+a�}w|$t g f as[)} l v j�o ��tBqd[J�(v �e)tw}�yU{"t([N��yU}�a¨}8f�`ba�})|$a g �Ä��} g f$ad[^}¾�)|$tB��yJ|�yU}Xy g f���yJqzyU`bc^��{"t�}8f�{Q�)| fÏ�Át�y�|�]Át g a ¬ g }�yU{"twyU})�

})[Uf�y�cUt�})t�`ba g [^})tUv§ �e)ad|Ãas|�f�e)tª[^})qd_ g a�` g ��{"|$f�y8} g t�a¨}��Ie)a g ew_U[)�"|$f$adqdq5e�y�r8t�f$[(�)|$tª|�]�t g a�¬ g }�yU{�tB|z�L[^`a�}UfO`ba�})|$a g �É��} g f$ad[^})|Mvz¦Â�É�)qdq�qdad|$f�[J�5|�]Át g a ¬ g }�y8{"tB|§ad|§c8asr8t�}wa�}�f�e)tIyU]�]Át�})��as¢>væ��LtB��[N��fOe)tI{"[U|$f§��yN|$a ga�}UfO`ba�})|$a g �Ä��} g f$ad[^})|(�ªe)a g e�yU`�tQ[N�Ðf$t�}�tB¢�]�yU})��tB��f$[�a�}8�Äqda�})t g [^��t¾Õ�f�e)[U|$t��Ð[)`ªf�_�]�t g [^}8rUt�`b| as[)} n qdtB¢^a g yJqg [^{w]�y8`bad|$[^} n yJ|���tBqdq�yN|����Ä�&yU})�y�¾¦ � Ö g yU}�})[Ufª��tQ]�yN|$|$tB�XyJ|Iy g f���yJq�yU`�c^��{"t�}8f$|�v

�gÃVk Øgé´f�ÆbÍ7égÒpÚ³Ñ�Ë�Å'Ñ�Ù��«Å)Ç�ÇEØ�ÒpÅ]ÒpËFÏÊË]Ñ7Òpà�Lf�ad| g [^}8rUt�})adt�}8f�f [Q��tB| g `ba���t�f�e)tB|$tªfb��[(|$f�yNf$t�{"t�}8f$|§f$[8cUtBf�e)t�`§yN|�fOe)tB_2e�yMrUtIf [Q��t g qd[U| tBqs_�{wyJf g e)tB�+a�}�)|$tUv§ �e)t(cUt�})t�`$yNq��L[^`${ [J�ÔfOe)tM� � �|l�T �:ú � û)ö |$fOyJf$t�{"t�}8f�as|M×

� � �il�T ��ú � û)ö ´�µU¸"± þ ¼U»)¸"¸^« t槼U»^¸"¸^«��$æ�v v�v�¼U»^¸"¸^«�� �[^`

� � �il�T ��ú � û)ö ´�µU¸"± �e)t�| t g [^})�w�L[^`${ìÁ��)| fza¨})��a g yJf tB|�f�e�yJfza���f�e)t�`�tIyU`btI})["yU`bc^��{�t�}Uf$|Ãf�e)t�}"f�e)tª]�yU`bt�}8f�e)tB|$tB|�yU`bt�[)])f$ad[^}�yJqLv �e)t�|$_:{"�Á[Uqda g }�yU{�t�[N��f�e)t§|�����`�[^�)f$a�})t���t g [^{"tB|§yªc8qs[)��yJq:}�y8{"tU�Jadf§{Q�)| f�})[Ufz��t��)|$tB�wyJfzyJqdq���adf�e)a�}

f�e)t"]�`b[Uc^`$y8{ ��})adf(yU})�¾{Q�)| fÏ})[Uf���tw�)|$tB���L[^`ªyU}U_�[8f�e)t�`�c8qs[)��yJq�adf$t�{Ë��asfOe)a¨}�f�e)t"t�}8f$a�`bt(tB¢)t g �)f�yU�)qdt]�`b[Uc)`$yU{�v �e)t"����{w{=_�yU`bc)��{"t�}Uf |ÏyU`�tQyJqd|$[�|$a�{w])qd_¾|$_�{"��[Uqda g }�yU{"tB|Mv( �e)t"��y�_�a�}��Ie)a g e¾f�e)tB|$twyU`bt=a�}Uf$t�`��

]�`btBf$tB��ad| g [JrUt�`btB��a�}�f�e)t"})tB¢^f�|$t g f$ad[^}>v �e)t üUø��i� |$fOyJf$t�{"t�}8f�e�yJ|�|$a�{"adq�yU`ªcUt�})t�`$yNq��L[^`${�|�×

ü8ø[�i� ´�µU¸"± þ µU®�·!tæÔµU®�·��$æÔv v�v�µU®�·�� �[^`

ü8ø[�i� ´�µU¸"±¦ªc^yJa�} n a��§f�e)t�`bt(yU`�t(})[2yU`bc^��{�t�}Uf$|�f�e)t(]�yU`bt�}8f�e)tB|$tB|Iy8`bt�[^])f$ad[^}�yJqLv �e)t�}�yU{"t�{"�)|$f��Át¾f�e�yJf+[J�Qy�|O����`b[^�)f$a�})t Õ�[)`"����{w{=_�|�����`�[^�)f$a�})t�ÖBvó�Ãy g eÂyU`bcÓad|XyU}Ñy g f���yJq

yU`bc)��{"t�}Uf=�Ie)a g e g yU}Ó��t�y�rJyU`ba�yU�)qdt n yU`$` y�_ n |����)|$f�`�a¨})c n y8`$`$yM_XtBqdt�{"t�}8f"[^`(yU}8_¾�L[^`${Ë[J��tB¢�]�`btB|$|$ad[^}>v �e)t�]�t�`${�asf f$tB�Ó�Ð[)`${"| n �Ie)a g eÓ��t�]Át�})�h[^}�fOe)tw�L[^`${ [J��f�e)t g [)`$`btB|�]Á[^})��a�})c�����{w{=_�yU`bc)��{"t�}Uf"yU})�e)[J�kadf�ad|Ï�)| tB�X��adf�e)a�}�fOe)t�|�����`b[^�)f$a�})t n yU`btª�Ä�)qdqs_���tB| g `ba���tB�¾a�}�fOe)t(]�`bt g tB��a�})c�|$t g f$ad[^})|�v

�gÃ�� ¼oÀ"�$#�¼�Á�Ø�ÒpÅ]ÒpËFÏÊË]Ñ7Ò �e)t$l ö^úb� l û |$f�yJf t�{"t�}Uf<Á$�)|$f g [^})| as| f$|�[J�zf�e)t ¤ tB_)��[^`b�l ö)úp� l û�Lf$|"tå�5t g f"as|"f$[�|$f$[^]~f�e)t�]�`b[ g tB����`bt2tB¢)t g �)f$a�})c�yU})�Óf$[�`btBf���` } g [^}8f�`b[Uq n yU})�Ó�Ie)t�`bt�yU]�]�`b[)]�`ba�yJf$t

yU`bc)��{"t�}Uf�yU})���Ä��} g f$ad[^}+r@yJq��)tB| n f$[=f�e)t g yJqdqda¨})c�]�`b[Uc)`$yU{ ��})adf�và�e)t�tB¢^t g �)f as[)}�[J�5f�e)t ö)û S�|$f�yJf$t�{�t�}UfyJf�f�e)t"t�})��[N��f�e)t2]�`�[Uc^`$yU{Ë��})adfwe�yJ|�f�e)t"tB¢:y g f$qd_�fOe)tw|�yU{"t"tå�5t g f n |$[�fOe�yJf$l ö)úb� l û ad|(|O��]�t�`����)[^�)|a�}�]�`b[ g tB����`btB|w�ªe)a g e�e�yMrUt+[^})qd_Ó[^})t�t�}UfO`b_ y8})�h[^})t2tB¢)adf�]Á[Ua�}Uf¾ÕLyJ|wyJqdq���tBqdq �Ä��tB| asc)})tB�ð]�`�[ g tB����`btB||�e)[^�)qd��ÖBvw�Éf�ad| n e)[J��tBrUt�` n |$[^{"tBf a¨{�tB| g [^}Ur8t�})ast�}8f(f [X�)|$t�l ö)úp� l û �Ð[^`�y8}Xt�{�t�`bcUt�} g _¾tB¢^adf�v���t�`bt"as|"y|$[^{�tB�Ie�yJf�|$a�{w])qdtO��{"a�})��tB��tB¢�yU{w])qdt�Á��)|$f�f$["asqdq��)|$f�` yJf$t(fOe)tQ]�[8a¨}8f�×

Page 82: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� mUo

l ö)ø[�ðïp��û:ü8ú � T û�ý �|k�T ú�þ ��� � �ÿ ü^ëNì^Ú)å�Ù�ã)ßhÙUØ>ãÓØ:ê8ÚÁë8Ù�ã�î)å�ß)ã�ëUíkàká�òMèUØ�Ù�9)àNî:è�â^ãUñhÙ�á�ò@àNî:è�â)ãÔÞ

l ö^ø��L��� �� ï�þ � Þ �8ö�ÞXô§ÞbôËÞ Tbl Þ � Þ �8ö�Þ�ô§Þbô � ú)ý^ö)û

�|l � ú)ögþí��û � ú õ�ÿ ��ï)é)ú õ�ÿ��6� � à)áMî5òBî�è�Û�ò ì)ÚÁëÁß^ß�òih�â)ãþg�à�âMå>ã^ß �ý �ik[T ú õ ôÃÞ�ôl ö)úp� l û

ö)û S � ïý �|k�T ú õ � ù l úgþ � ÿiÿ =:; � ÿ|ÿ = �ö)û S

 �e)ad|��É��} g f$ad[^} g [^�)qd���ÁtQ�)|$tB��a¨}�yU})[Uf�e)t�`�]�`b[Uc^`$y8{ ��})adfªqda ¤ t(f�e)ad|�×

� õ ý �ik�T úgþ ò =ÃÞ�ô�� ô Þbô �� õ ý �ik�T úgþ�ôÃÞbôg� ô Þ�ô �

�Ie)a g e(��[^�)qd�wyJ|$| asc)}(f [ � f�e)t�rJyJq��)t�[J� j�� v pUpUpUp yU]�]�`b[J¢)a�{wyJf$tBqd_ n �ªe)asqdt�fOe)t§|$t g [^})�=�Ä��} g f$ad[^} g yJqdq)��[^�)qd�g yU�)|$t(y��\y8`$})a�})c2{"tB|$|�yNcUt�f$[2�Át(ad|$|��)tB�¾yU})����[^�)qd��`btBf���` }�y"r@yJq��)t=[J��?Bt�`�[wf$[5�"v�Ä}�f�e)t"tB¢^f t�`$}�yJq¡�É��} g f$ad[^}�|�e)[J�I}¾yU�Á[JrUt(adfª��[)�)qs��e�yMrUtw��tBt�}¾]Át�`��Ðt g f qs_�]Á[U|$|$a��)qdtwf$[�yMrU[Uad��e�yMr)a¨})c

fb��[QtB¢)adf$|I]Á[Ua�}Uf$|��8_�yU}�yNqsf t�`$}�yJf$adrUt=t�})��a¨})c+f$[wfOe)t(]�`b[ g tB����`�t n |�� g e�yJ|�×� ï�þ � Þ �8ö�ÞXô§ÞbôËÞ Tbl Þ � Þ �8ö�Þ�ô§Þbô � ú)ý^ö)û

�|l � ú)ögþí��û � ú õ�ÿ ��ï)é)ú õ�ÿ��6� � à)áMî5òBî�è�Û�ò ì)ÚÁëÁß^ß�òih�â)ãþg�à�âMå>ã^ß �ý �ik[T ú õ ôÃÞ�ô

ö�� � öý �ik[T ú õ � ù l ú�þ � ÿ|ÿ =E; � ÿiÿ = �

ö)û S � ïö)û S

�Ä}Ó{"[^`�t�`�t�yJqdas| f$a g2g yJ| tB| n e)[@��tBrUt�` n f�e)t2{wyJa�}�]�y8`bf([J��f�e)t g yJq g �)q�yJf$ad[^}Ó��[^�)qd���Át�{"� g e¾qd[^})cUt�`�f�e�yU}Á$�)|$f§[^})tª|$f�yNf$t�{"t�}8f§yU})�2adf�{"adc^eUf�f�e)t�}+��tªt�yJ|$adt�`Ãf$[(��})��t�`b| f�yU})�+f�e)tI��[^` ¤ a�})c(a��Ôyªl ö)úb� l û |$f�yJf$t�{�t�}Uf��t�`bt�f$["��t(�)|$tB�+f�e�yU}���adf�e+yJq�{"[U|$f�yJqdq�[J�f�e)tI]�`b[ g tB����`bt g [^}8f�yJa�})tB�+��adf�e)a�}�yU}«�Ã�5������)qd[ g¥¤ vz¦kfOe)a¨`��]�[8|$|$a��)adqsadfb_~�Ð[^`ªt�{�t�`bcUt�} g _¾tB¢^adf$|=ad|(f$[X�)|$t�yU}¾��} g [^})��adf$ad[^}�yJq�miT ú T�|$f�yNf$t�{"t�}8f�f$[�Á���{�]¾f$[Xy+q�yU��tBq])q�y g tB�X[)}�f�e)t ö)û S+|$f�yNf$t�{"t�}8f�v

�gÃ�Â$% ��#�Á'&"�(�sH<Á�Ø�ÒpÅ]ÒdË]ÏÊËFÑ�Ò �e)t ïb��û:ü8ú � T û |$f�yJf$t�{�t�}Ufz{"�)|$f§��t�fOe)t§¬�`�|$fz|$f�yJf t�{"t�}Ufz[N��tBrUt�`b_"tB¢^f t�`$}�yJq)�Ä��} g f$ad[^}>vz�Lf$|ÃcUt�})t�`$yJq8�Ð[)`${ad|�×

½}«]:± ïp��û:ü8ú � T û�þ ¼U»^¸"¸^«�N槼U»)¸"¸ «��$æ§v v�v�¼U»^¸"¸^«�� � �e)t�½}«]:±�|O]�t g a�¬ g yJf$ad[^}¾ad|=[^])f$ad[^}�yJqL×�a���adf�ad|�[^{"adf$f$tB�¾f�e)t�}�f�e)t"fb_:]Át"[J�§f�e)tw`btB|��)qdf�ad|(��tBf$t�` {"a�})tB���U_f�e)tI�)|O��yJq�`$�)qdtB|�v§ �e)t\�É��} g f$ad[^}�}�yU{"tI{wyM_(e�yMrUt�adf$|zfb_�]�t�|O]�t g a�¬�tB�X�U_"y�fb_�]�t�[^` � é k � � ü � ú |$f�yJf$t�{�t�}Uf�Ie)a g e�yU]�]Át�yU`b|=q¨yNf$t�`�a�}~f�e)t2]�`b[Uc)`$yU{ ��})adf�vX�Ð�\fOe)t"�É��} g f as[)}�ad|"[J��fb_:]Át g e�y8`$y g f$t�`ªf�e)t�}~f�e)twqdt�})cUfOe{wyM_���t(|O]�t g a�¬�tB���U_Xy"qdadf$t�`$yNq g [^})| f�yU}8f�ÕÉ���)fÏ})[Ufªyw}�yU{"tB� g [^})|$f�yU}8f�ÖÃ[^`�{�y�_���t=cUadrUt�}�a�} f�e)tª�Ð[)`${ü8ý^ø l ø�ü8ú^ö l ÿ þ ÿ�� a�}"�Ie)a g e g yN|$t�f�e)t�qdt�})cUf�e���adqdq���tª]�yJ|$|$tB�wa�}+yJ|zf�e)t�qdt�})cUfOe"��t g q�yU`btB���Ð[^`fOe)t��É��} g f as[)}}�yU{"t�a�} f�e)t g yJqdqda�})c�]�`�[Uc^`$yU{ ��})asfMv �e)t�`bt2{wyM_X�Át2yU}8_�})��{Q�Át�`�[J������{w{=_�yU`�c^��{"t�}8f$|�a�} g q¨�)��a�})c�})[)})t n ���)f�f�e)t2]�y8`bt�}UfOe)tB|$tB|({"�)|$f

|$f$adqdq���tX]�`btB| t�}Uf�v �(��{w{=_Êy8`bc^��{"t�}8f$|Q{�y�_ n yJ|=��tB| g `ba���tB�Âa�}Ó|$t g f$ad[^} l v�> n ��t�r@y8`ba�yU�)qdtB| n yU`$` y�_)| n [^`]�`b[ g tB����`btB|�v

Page 83: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� mp�

 �e)t��Ä��} g f$ad[^}¾}�yU{"t"{wyM_��Át��)| tB�ÊyN|IywrJyU`ba�yU�)qdt"��adf�e)a�}¾f�e)t��É��} g f$ad[^}�|�����]�`�[Uc^`$yU{ ��})asfM�5y"r@yJq��)t{"�)|$f���t(yJ| |$adc^})tB�2f [QfOe)as|�r@yU`ba�yU�)qdt(�ÁtO�Ð[^`�t�f�e)tÏ]�`�[ g tB����`bt(`�tBf���`$})| g [^}8f�`b[Uq�f$["f�e)t g yNqsqda�})c���})asfMv§���zf�e)t�Ä��} g f$ad[^}�}�yU{"t��)|$tB�+f�e)tÏ]�yN|$|$tB�)�Äqdt�})cUf�e+[^])f as[)}+f�e)t�}wfOe)t g [^` `btB|�]�[)})��a¨})c�r@yU`ba�yU�)qdt g yU}�})[8f\�Át(�)|$tB��yJ|yU}=[^]Át�`$yU})�"[J��fOe)t g [)} g yJf$t�}�yJf$ad[^}=[^]Át�`$yJf$[)`5tB¢ g t�])f§a�}wyU}"yJ| |$adc^}�{"t�}8fz|$f�yJf$t�{�t�}Uf�v5 �e)tI]�yJ|$|$tB�)�Äqdt�})cUfOe[^])f$ad[^}+ad|ªqdtB|$|Ï�)| tO�É�)q>�L[^` g e�yU`$y g f$t�` �É��} g f$ad[^})|ªf�e�yU}��L[^`�y8`bc^��{"t�}8f$|���t g yU�)| t(f�e)t�qdt�})cUf�e ad|Ia�})tBr)asfOyU�)qd_f�e)t�|�y8{"tª�Ð[)`�yJqdq�`btO�Lt�`bt�} g tB|��É`b[){ fOe)t�|�yU{"t(]�`b[8c^`$yU{Î��})adf�vÃ��[^`�tB¢�yU{w])qdtU×

k|l�Timpl ø^éÑï��Uöi�üUý)ø l ø�üUú)ö l ü TbS ö ÿ ?��Xü|�8ø �|� ÿ M �2ú � ú[�8ö ÿ òNMü|�8ø �|� õ ü TpS ögþ � � ö�ü l ö)ú ���ú � ú��Uö õ ü TpS ögþ � TpliS ö l"T ï � ø)ú^ú��Uö ���ö^û S

üUý)ø l ø�üUú)ö l ÿ þ ÿ�� ïb��û:ü8ú � T ûðü TbS ögþ ��Tbl|S �üUý)ø l ø�üUú)ö lx��Tbl|S ÿ þ ÿ�� � � ��ï^ï)ö l ÿ ?^ôS[T ò�ô ��þ õ ò � �8ö^ûgþ �[Tbl|S �

� ��ï^ï)ö l þ þ�Û�þ � õ ü8ý^ø l þ � üUý)ø l þ �[Tbl|S þ þ�Û�þ � ; ò �ò9ô ü T û)ú � ûp��ö

ü TbS ö õ � ��ï^ï)ö lö^û S

�ª}8�Ð[^`�f���}�yJf$tBqd_ n yJqdf�e)[^�)c^e�f�e)ad|z�Ä��} g f$ad[^} g y8}wf�y ¤ t�a¨}+yU}wy8`bc^��{"t�}8f§[J�5yU}8_Qqdt�})cUfOe2��]"f [ mUp g e�yU` y g f$t�`b|qd[^})c2yU})�+t�} g [)��t�asf n adf g y8}+[^})qd_2`btBf���`$}�y=`btB|��)qdf�[J�tB¢:y g f qs_ m g e�y8`$y g f$t�`b|Ãqd[^})cw�Ie)t�} g yJqdqdtB���Ä`b[^{ f�e)t]�`b[Uc)`$yU{Ë�§�7� � n |$[�f�e�yJf�adf"��adqsq�})[Uf"]�`b[)��� g t�f�e)tw��tB|$a�`btB��`btB|O�)qsf"�Ie)t�}Ó]�`b[Jr)as��tB�Ó��adf�e~f�e)twqd[^})cUt�`g e�yU`$y g f$t�`\|$f�`ba�})c�v§ �e)as|ªqda�{"adf�yJf$ad[^} g [^�)qd�Ê�Át([JrUt�` g [){"tI��asfOe�f�e)t(�)|$t=[J�Ôy"|O����`b[^�)f$a�})t"��adf�e�y"|$t g [)})�]�yJ|$| tB�)�Äqst�})c8f�eXyU`�c^��{"t�}8f�f$[we�yU})��qdt"f�e)t(`btBf���`$})tB��r@yJq��)tUv����} g f$ad[^})|ª��adf�e)[^�)fIy8`bc^��{"t�}8f$|���[2})[UfIe�yMrUt�y"��ad��t"`$yU})cUt�[J�z�)|$tB|Ï���)fªyU]�])qda g yNf$ad[^})|��L[^`�fOe)t�{Î��[

[ gBg ��`Q��]��É`b[){ f$a�{"twf [Xf$a�{"t n �L[^`ªtB¢:y8{w])qdt2�Ie)t�}~cUt�})t�`$yNf$a�})c�`$yU})��[){�})��{Q�Át�`b|([)`(`bt�yJ��a�})c¾r@yNq¨�)tB|�Ä`b[^{ÎyU}�a�}�]��)f�¬�qdtUv§��[^`ÃtB¢:yU{�])qstU×

k|l�Timpl ø^ékü Tpki�l ö)ø���û)öi�^úS[T ò ô�� �Yõ ò � ò ô)ô

�il � ú^ögþ �:û � ú õ�ÿ �bï^é)ú õ�ÿ�� û^öi�)ú�þ �ò ô ü T û)ú � ûp��ö

ö^û S

l ö)ø���ïb��û:ü8ú � T û û)öi�^úgþ �l ö)ø S þ �:û � ú õ�ÿ �bï)é^ú õ�ÿ�� û)ö|�)úö^û S

 �e)t(]�yU`�t�}Uf�e)tB| tB|ÏyU`�t(})tBtB��tB�X[^}+f�e)t��É��} g f as[)} g yJqdq5f$[���as| f$a�})c^�)ad|�e�asf��Ä`b[^{Îy"r@y8`ba�yU�)qdtUv� �e)t��É��} g f as[)}|$f�yNf$t�{"t�}8f�adf$| tBq ��yNqs| [2e�yJ|�f$[+e�y�r8t�f�e)t�t�{w])fb_�]�yNa¨`�[J�Ô]�y8`bt�}UfOe)tB|$tB| n ]�`btB|O��{wyU�)qd_�f$[2{wyNf g e�f�e)t g yJqdqÐv

�gÃ�Â7 �s¾$)oÀ�Ø�ÒpÅ]ÒpËFÏÊË]Ñ7Ò� ø|�)ö as|wy |�]�t g a�¬ g yJf$ad[^}Ó| f�yJf$t�{"t�}8f��Ie)a g e g yU}���t��)|$tB�Óf$[Xt�})|O��`bt2fOe�yJf(rJyU`ba�yU�)qdtB|wyU})� y8`$`$yM_^|(�)| tB���adf�e)a�}"yI]�`�[ g tB����`btª]�`btB|$t�`brUtÃf�e)tBa�`r@yJq��)tB|§�ÁtBf���tBt�}=|�� gBg tB|$| asr8t g yNqsqd|zf$[ªf�e)t�]�`b[ g tB����`�tUv§�I})��t�`z})[)`${wyJqg a�` g ��{"|$fOyU} g tB|�qd[ g yJqadf$t�{"|���adqdqz��t g [^{"t¾©���})��tO¬�})tB��«¾yJ|�|$[)[^}�yJ|IfOe)tQ]�`b[ g tB����`bt2`btBfO��`$})| g [)}Uf�`�[Uq>f$[

Page 84: Professional Programmer's Guide to Fortran77 Clive G. Page

� ñ�µ£�$���´���<µ���� m >

f�e)t g yJqdqsa�})c¾��})asfMv��Lfªas|�[N�Ðf$t�}��)| tO�É�)qf$[w|$f [^`bt(fOe)t�r@yJq��)tB|([N� g t�`bfOyJa�}�adf$t�{"|��)|$tB�¾[^}�[)})t g yJqdqf$[2yMrU[Uad���[Ua�})c+tB¢^f�` y(��[^` ¤ [^}+fOe)t(})tB¢^f�v ��[^`ÃtB¢�yU{w])qdtU×

� � �il[T �:ú � û^öÑöi�^ú l øgþ é � �Uö � �� û)ú)ö m ö l é � �8ö � �R�8ø � ú� øi�)öì�8ø � úS ø)ú)øì�8ø � ú!ÜUôÁÜ�|l � ú^ögþí��û � ú õ�ÿ �2ï)é)ú õ�ÿ�� é � �8ö � 9Ð�Uø � ú�� � ì�ë^áÁãÓì�ò8â^ã)ßzÞ ��Uø � ú õ é � �Uö �ö^û S

 �e)ad|ª|�����`b[^�)f$a�})t"|$a�{w])qd_�|�yMrUtB|�fOe)t(r@yNq¨�)t"[J�zf�e)t(yU`�c^��{"t�}8f é � �8ö �+t�y g e�f a¨{�tQyU})��|����)f�`$y g f |�adf��É`�[^{f�e)t(})tB¢)f�[^})t n | [QfOe�yJf�asf g yU}�]�`ba�}8f�[^�)f�f�e)t�a�} g `bt�{"t�}8f�yJq¡r@yJq��)tUv� �e)t�r@yJq��)t"[J� �8ø � ú e�yN��f$[2��t�c8asr8t�}yU}�a�})adf$a�yJq§rJyJq��)t2�)|$a�})cXy1S ø)ú)ø |$f�yJf$t�{�t�}Ufªa�}¾[^`b��t�`�f$[�]�`btBrUt�}8f�asf |(�)|$t"��adf�e¾yU}¾��})��tO¬�})tB��rJyJq��)tw[^}f�e)t�a�})adf$a�yJq g yJqdqLv�>[ g yNq�r@yU`�a¨y8�)qstB|Xy8})��yU`$`$yM_)|�y8})� g [^{w])qdtBf$t�}�y8{"tB� g [^{�{"[^}h�)qd[ gB¤ | g yU}��ÁtX|�yMrUtB�h�)|$a�})c � øi�^ö

|$f�yNf$t�{"t�}8f$| n ���)f(})[Ufªr@y8`ba�yU�)qdtB|QyU})�¾yU`$`$yM_)|��Ie)a g e~yU`bt(����{�{(_Xy8`bc^��{"t�}8f$|ª[^`��ªe)a g e¾yU]�]�t�y8`ª��adf�e)a�}g [^{w{�[^}��)qd[ gB¤ |Mv�Lf$t�{"|��Ie)a g e�yU`bt�a�})adf$a�yJqdqs_���tO¬�})tB�¾��adf�e�y�S ø^ú)ø |$f�yNf$t�{"t�}8f\���)f��Ie)a g e�yU`bt(})tBrUt�`���]Á��yJf$tB����adf�e�y

})tB�krJyJq��)tQ��[+})[UfI})tBtB�Xf [��Át(|�yMrUtB�5v �e)tM� øi�)ö |$fOyJf$t�{"t�}8f�e�yJ|�fb��[�yNqsf t�`$}�yJf$adrUt��Ð[^` {"|�×

� ø|�)ö ³D½L±M¸�槳�½L±�¸�æ*�����ª³�½L±�¸� ø|�)ö

� e)t�`bt+t�y g e³�½L±�¸ g y8}���tXy qs[ g yJq�r@y8`ba�yU�)qdt�[^`2ÕL��})|O���)| g `ba�])f$tB��ÖwyU` `$yM_ n [)`�f�e)t�}�yU{"tw[N�Ïy g [^{�{"[^}�)qd[ gB¤ t�} g qd[U| tB��a�}X| q¨yN|�e)tB|�v� �e)t(| t g [^})���Ð[^` { n ��asfOeX})[�qdad|$f�[J�§adf$t�{"| n |�yMrUtB|�yJqdq�fOe)tQyJqdqd[J�\y8�)qst"adf$t�{"|a�}�f�e)tQ]�`b[8c^`$yU{Î��})adf�vI �e)as|ª�L[^`${ |�e)[^�)qd��})[UfI��tw�)|$tB��a�}�y8}U_�]�`b[Uc^` yU{Æ��})adf��Ie)a g e��)|$tB|(y g [^{�{"[^}�)qd[ gB¤ ��})qstB| |IyJqdq g [^{w{"[^}+�)qd[ gB¤ |I�)|$tB�+a¨}+fOe�yJf�]�`b[8c^`$yU{ ��})asfªyU`bt�yJqd|$[w�)|$tB��a�}+f�e)tÏ{�yJa�}2]�`b[8c^`$yU{�[^`|�yMrUtB��a�}�tBrUt�`b_�]�`b[Uc^` yU{Î��})asf�a�} �Ie)a g e�adfÏy8]�]�t�yU`b|Mv� �e)t�� øi�)ö |$fOyJf$t�{"t�}8f g yU}X�ÁtQ�)|$tB��a¨}�f�e)t({�yJa�}]�`b[Uc)`$yU{ ��})adf(Õ�|$["f�e�yNf§adf g [^�)qd�X��t�]�y g¥¤ yJcUtB�+��adf�e+[Uf�e)t�` |�]�t g a�¬ g yJf as[)})|Ia�}�yU} � û�ü|�d� S ö ¬�qdt�Ö����)f�e�yJ|})[wtå�5t g f�v�Êy8}U_ g ��` `bt�}Uf"��[^`bf�`$y8}X| _^|$f t�{"|we�y�r8t�y�|$a�{w])qdt�|$f�yNf$a g |$f [^`$yJcUt+yJqdqs[ g yJf$ad[^}Ó| g e)t�{"t�a�}Ó�Ie)a g ehyJqdq

r@y8`ba�yU�)qdtB|\y8`bt�|�yMrUtB�w�ªe)tBf�e)t�`�� ø|�)ö ad|\�)| tB�w[^`§})[8f�vz£��)fÃ[^}"|�{�yJqdq g [^{w]��)f t�`b|§�Ie)a g e2{�y ¤ tI�)|$t�[J�5��as| g[JrUt�`bq�yM_^| n [^`�q¨y8`bcUtw[^})tB|"��adf�e~r)a¨`�f���yJq�{�t�{"[^`b_�|$_^| f$t�{"| n f�e)ad|w{wyM_�})[Uf"��t+|$[�v1�z[^�~|�e)[^�)qd�hyJqd�\yM_)|f�y ¤ t g yU`bt(f [��)|$t=f�e)tÖ� øi�^ö |$f�yJf t�{"t�}UfªyU}U_)�Ie)t�`bt=f�e�yJfªadf$|Ï�)| t(ad|�a�})��a g yNf$tB��f$[2{�y ¤ t�_U[^��`ª]�`b[Uc)`$yU{"||�yM�Lt(yU})�¾]�[^`bfOyU�)qdtUv � rUt�}��Ie)t�`�t(adfIad|�yJfI]�`btB| t�}Uf�| f�`ba g f$qd_X`btB����})��yU}8fIadfª|$f$adqdq�a�})��a g yJf$tB|�f [wf�e)tQ`�t�yJ��t�`f�e�yJfzfOe)tI]�`b[ g tB����`btI��[^` ¤ |§�8_Q`btBfOyJa�})a¨})c"a�}8�L[^`${wyJf as[)}=�É`�[^{&[^})t g yJqdq�f$[�f�e)tI})tB¢)f n y8})�wf�e)ad|�as|Ãr@yJq���yU�)qdta�}�adf$|$tBq��$v

�gÃ�Â'× À�+$�oÀ�¼�Á�¾$,JÅ)Ñ�Ù-�)Á$��¼.��Á'�/�0& Ø�ÒpÅ]ÒpËFÏÊË]Ñ7Òpà �e)t ö|�)ú)ö l û^ø�� |$f�yJf t�{"t�}Uf=ad|��)| tB�hf$[�}�yU{�t2tB¢)f$t�`$}�yJq�]�`b[ g tB����`btB|w�Ie)a g e�yU`�t�`bt3Ô��)a�`btB�ha�}Ó[^`b��t�`�f$[`$��}�y=cUadrUt�}+]�`b[Uc^` yU{Î��})asfMv§�Lf�{wyM_w|�]Át g a��Ð_�f�e)t�}�yU{"t�[N�¡y8}U_wtB¢)f$t�`$}�yNq��Ä��} g f$ad[^}+[^`Ã|�����`�[^�)f$a�})tUv��Éf�as|`bt3Ô��)a�`btB�Xa�}�fOe�`btBtQ`$yNf�e)t�`Ã��a��5t�`bt�}8f g a¨` g ��{"|$f�yU} g tB|M×

ë �Ie)t�})tBrUt�`(y8}¾tB¢^f t�`$}�yJq§]�`b[ g tB����`bt+[^`�����{w{=_¾]�`b[ g tB����`�t2ad|w�)|$tB��yJ|=f�e)t2y g fO��yJq§yU`bc^��{�t�}Uf�[J�yU})[Uf�e)t�`�]�`b[ g tB����`bt g yJqdqL�

ë f$[ g yJqdqÔyU}8_2]�`b[ g tB����`bt=�Ie)a g e¾e�yJ|Iy"}�yU{�t(����])qda g yJf$a�})cXyU}+a�}UfO`ba�})|$a g �Ä��} g f$ad[^}>�

Page 85: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� mUÈ

ë f$[�t�})|���`bt�f�e�yJf2y~}�yU{"tB� �)qd[ g¥¤ ��yJf�y¾|O����]�`b[Uc^`$y8{ ad|2qda�} ¤ tB�ka�}8f$[�f�e)t g [^{w])qdtBf$tXtB¢)t g �)f�yU�)qdt]�`b[Uc^`$y8{�v� �e)ad|ª|�]�t g a�yJqdad|$tB���)| t(ad| g [JrUt�`btB�+�Ä��`bf�e)t�`�a�} |$t g f$ad[^} jMo v�>�v

 �e)t � û^ú l � û � � ü |$f�yJf t�{"t�}Ufªad|Q�)|$tB�Óf$[+��t g q�yU`bt�y�}�yU{"twf$[���t+f�e�yJfª[J��yU}¾a�}UfO`ba�})|$a g �Ä��} g f$ad[^}>v2�Éfad|(})[^`${wyNqsqd_X})t g tB|$|OyU`b_�[^})qd_X�ªe)t�}�f�e�yJf��Ä��} g f$ad[^}�ad|�f$[2�Átw�)|$tB��yJ|�f�e)t"y g f���yJq�y8`bc^��{"t�}8fI[N� yU})[8f�e)t�`]�`b[ g tB����`bt g yJqdq n ���)f�{wyM_ yJqd|$[h��t�yJ��r)ad|�yU�)qdt¾�Ie)t�} g yJqdqda¨})c�yÓ})[^}8�Ä|$fOyU})��yU`b�Âa¨}8f�`ba�})|$a g �Ä��} g f$ad[^}Òf$[`bt�{"[JrUt�yU}8_�y8{Q�)adc^�)adfb_��Ie)a g eX{"adc^e8fIyU`bad|$t�a���yU}+tB¢)f$t�`$}�yNq>�É��} g f as[)}�[J��fOe)t(|�yU{�t(}�yU{"t(yJqd|$[wtB¢)ad|$f$tB�5v �e)t�cUt�})t�`$yJq��Ð[^` {Î[J��f�e)t=fb��["|$fOyJf$t�{"t�}8f$|�ad|�f�e)t(|OyU{"tU×

öi�^ú)ö l û)ø[� ±�´�µ8¸Q±iæÔ±M´�µU¸"±iæÔv�v v�±M´�µU¸"±� û^ú l � û � � ü ³�´�µU¸"±iæÔ³�´�µU¸"±iæÔv�v v�³�´�µ8¸Q±

� e)t�`btX±M´�µU¸"± g yU}���t�f�e)t2}�yU{"t�[J�IyU}¾tB¢)f$t�`$}�yJq�Ä��} g f$ad[^}~[^`ª|�����`b[^�)f a¨})t+[^`=y+����{w{=_Ê]�`�[ g tB����`btU�³�´�µU¸"±�{"�)|$fÏ�Át"|�]�t g a�¬ g }�yU{�t([J��yU}�a�}8f�`ba�})|$a g �Ä��} g f$ad[^}>vª��[^`�tB¢�yU{w])qdt n f$[2�)|$t"f�e)t"`bt�yJqzyU})�X��[^���)qdt]�`bt g ad|$ad[^}�rUt�`b| as[)})|�[J�zf�e)t�f�`badcU[^})[){"tBf�`ba g �Ä��} g f$ad[^})|ÏyN|Iy g f���yJq5yU`�c^��{"t�}8f$|���t(})tBtB�5×

� û^ú l � û � � ü � � û�� ü Ti� ��ú)ø^û�� S ü Ti� � S�� � û�� S ú)ø^û� e)t�}�fOe)t"�É��} g f as[)}h}�yU{"t2�����Îad|��)| tB� yJ|wyU}~y g f���yJq�yU`bc^��{"t�}8f�adfw`btO�Ðt�`�|(f$[�f�e)t2|O]�t g a�¬ g `bt�yJqÃ|$a�})t�Ä��} g f$ad[^}>�)a¨}�[Uf�e)t�` g [^}8f$tB¢^f |zasfÃ|$f$adqdq�e�yJ|Ãadf$|��)|���yNq�cUt�})t�`ba g ]�`b[^]Át�`bfb_UvÔ �e)tI�)|$tª[J��]�`b[ g tB����`btB|�yJ|�y g f���yJqyU`bc)��{"t�}Uf |zas| g [JrUt�`btB�"a�}"��tBf�yJadq�a�}"| t g f$ad[^} l v ÇÁ�Uyªqsad|$fÃ[J��|O]�t g a�¬ g }�yU{"tB|z[J�>a�}Uf�`�a¨})| a g �Ä��} g f$ad[^})|§ad|§c8asr8t�}a�}�f�e)t(y8]�]�t�})��ad¢�v

·54 »]#ªý �$%(687��$%'ý��$%¤½ º ûgú É úí%)úð&�( �e)t2���UÅÎ|$_)|$f$t�{Ë[N�\��[^`bf�` yU}�ad|w`btBq�yJf$adrUtBqd_�]Á[@��t�`��Ä�)q n ��tB¢)a��)qst n yU})����tBqdq �Ä��tO¬�})tB�5v�x§`b[Uc)`$yU{"| g yU}��Át]�[)`bf�yU�)qdt�yU})����tBr^a g tO�Äa�})��t�]�t�}Á��t�}Uf�tBr8t�}wa���f�e)tB_+{wy ¤ tªtB¢^f t�})|$adrUt(�)|$tª[J�5a¨}�]��)fO�J[^�)f�]��)f��Äy g adqdadf$adtB|�קfOe)as|ad|���a�Ü g �)qsf�a �z})[Uf§a�{w]Á[U|$|$a��)qdt(a�}+{wyU}8_Q[8f�e)t�`§e)adc^e8�ÄqdtBrUtBq5q�yU})c)��yJcUtB|�vz �e)tªtå�5t g f$|§[J�5f�e)t�e�yU`b����yU`�tIyU})�[^]Át�`$yJf$a�})c"|$_)|$f$t�{ g yU}�})[Uf n [J� g [^��`�|$t n ��t�adc^})[^`btB�+t�}8f$a�`btBqd_����)f�fOe)tB_2�)|���yJqdqd_2[)})qs_�y9�5t g fz�ÄyJa�`bqd_2{"a�})[^`{wyJf f$t�`b|�|�� g eXyJ|�f�e)t��Ð[^` {"|�[J��¬�qdtO��}�yU{�tQyU})��f�e)t({wyJ¢)a�{Q��{ `bt g [^`b��qdt�})cUf�e f�e�yJf g y8}���tQ�)| tB�5v �e)t$l ö)ø S�yU})�y�il � ú)ö | f�yJf$t�{"t�}8f$|�yU`bt({�[U|$f g [^{w{"[)}�yU})��cUt�})t�`$yJqdqd_Xqd[)[ ¤ qsa ¤ t"f�e)ad|�×

l ö)ø S þ �:û � ú õ�ÿ �+ï^é)ú õ�ÿ�� ûp��é � ö l�|l � ú^ögþí��û � ú õ ò A��2ö l|l õ ó)ó)ó � ûb�:é � ö l ��ø lil ø � þ ò � �+ø lil ø � þ$û �

 �e)t2]�yNa¨`�[J�\]�y8`bt�}UfOe)tB|$tB|(yM�Lf$t�`ªf�e)t"��[^`b�Jl ö)ø SX[^`��il � ú)ö t�} g qd[U|$tB|=f�e)t g [^}8f�`b[Uq��Äqdad|$f�×(y+qdad|$f=[J��adf$t�{"|�Ie)a g eX|O]�t g a�¬�tB|(�Ie)t�`�t�y8})��e)[J��fOe)t(��yJf�y�f�`$y8})|b�Ðt�`�f�y ¤ tB|I])q�y g tUv� �e)t"asf t�{"|Ia�}¾fOe)as|ªqdad|$f(yU`bt"�)|���yJqdqd_|�]Át g a ¬�tB�¾��adf�e ¤ tB_)��[)`b��|�vz �e)t�qdad|$fI[N�Ô��yJfOy"adf$t�{"|�f$[+��tQ`�t�yJ��[^`Ã�I`badf$f$t�}��Ð[8qsqd[J�kf�e)t g [)}Uf�`�[Uq��Äqsad|$fMvŪf�e)t�`Ãa¨}�]��)fO�J[^�)f�]��)f�|$f�yNf$t�{"t�}8f$|�e�yMrUtIy=|$a�{"adq�yU` �L[^`${!tB¢ g t�])f�f�e�yNf§f�e)tB_"[^})qd_�e�y�r8tIy g [^}8f�`b[8q �Äqdad|$f�v

 �e)t�`bt"yU`bt=f�e)t=¬�qstO��e�y8})��qsa�})c¾|$f�yNf$t�{"t�}8f$|£Tbk ö)û���üi� Ti� ö�� yU})� � û�ù�� � l ö�� yN|I��tBqdqÔyN|If�e)tEl ö � � û SXyU})�� ø:ü8þ �bk ø:ü8ö |$f�yNf$t�{"t�}8f$|��Ie)a g e�yJqdf$t�`�f�e)t g ��`$`�t�}Uf$qd_Xy g f asr8t(]�[U|$adf$ad[^}���adf�e)a�}�y=¬�qdtUv£§tO�L[^`bt g [JrUt�`ba�})c(fOe)tIf�e)tB| t�|$f�yJf t�{"t�}Uf |§a�}w��tBfOyJadq n asf�ad|�})t g tB|$|�yU`�_Qf [(tB¢�])q¨yNa¨}+| [^{"tª[J�5f�e)t g [^} g t�])f$|

yU})��f$t�` {"a�})[Uqd[UcU_�a�}Ur8[UqdrUtB�5v

Â$%gÃ� Q$Ú�dzË]à09úB�:KR�¨�Ñ�ÚWÒdà�9�Å'Ñ�Ù�CJËFè�Í7ÆbÙ�à�Ä}=��[^`bf�`$y8}ªf�e)t�f$t�`${ð¬�qst�ad|§�)|$tB�"�L[^`5y8}U_)f�e)a�})c�f�e�yJf g yU}(�ÁtIe�yU})��qdtB�w��adf�e=y�l ö)ø SI[^`��il � ú^ö | f�yJf$t�{"t�}8f�×f�e)t+f$t�`${ g [@r8t�`b|Q})[Uf�Á��)| f(��yJf�y�¬�qdtB|w|$f$[^`�tB��[^}~��as| g [^`�f�yU]Át�yU})�hyJqd|$[�]�t�`�a¨]�e)t�` yJq���tBr^a g tB|w|�� g eÓyJ|]�`ba�}8f$t�`b|�[^`\f$t�`${"a�}�yJqd|�v§�)fO`ba g f$qd_�f�e)tB|$t�|�e)[^�)qd�¾yJqdq���t g yJqdqstB��tB¢^f t�`$}�yJq>¬�qdtB| n f [Q��ad|$f a¨})c)�)as|Oe¾f�e)t�{��É`�[^{a�}Uf t�`$}�yJq>¬�qdtB|�v

Page 86: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� m B

¦Ï}�a¨}8f$t�`$}�yNqJ¬�qdt�ad|z})[Uf�e)a�})c�{"[^`btzf�e�y8}�y g e�yU`$y g f t�`�rJyU`ba�yU�)qdt�[^`5yU` `$yM_I�Ie)a g e�ad|z�)|$tB�QyJ|y�f$t�{w]Á[^`$yU`b_¬�qdt(�Ie)adqdt�f�e)t(]�`b[8c^`$yU{�as|ª`$��}�})a�})c�v���}Uf t�`$}�yJq�¬�qdtB| g yU}+��t(�)| tB����adf�e1l ö)ø S2yU})�y�il � ú^ö |$f�yJf$t�{�t�}Uf$|Ãa�}[^`b��t�`Ãf$["]�`b[ g tB|$| g e�yU`$y g f$t�` a�}8�Ð[^` {wyJf$ad[^}+��})��t�`�f�e)t g [^}8f�`b[Uq�[J�Ôyª�L[^`${�yJf§|�]Át g a�¬ g yJf$ad[^}>v� �e)tB_ g y8}�})[Uf��t"�)|$tB���8_+[Uf�e)t�`����UÅ&|$f�yJf t�{"t�}Uf |�v£§tO�L[^`bt¾yU}htB¢)f$t�`$}�yNq�¬�qdt g y8}���t��)|$tB�ÂadfX{Q�)| f2��t g [^}�})t g f$tB�Ñf$[ÓyU}����UÅ���})adf�v&�Ä�UÅ���})asf |XyU`bt

a�}Uf tBcUt�`b|��Ie)a g eX{wyM_���t g e)[U| t�}��É`btBtBqd_+�Ä`b[^{¤?Bt�`�[2��]+f$[2y"| _^|$f t�{=�Ä��t�]�t�})��t�}8fIqda�{"adf2ÕL�)|���yNqsqd_XyJf�qst�yN|$flUl Ö v��z¢ g t�])fa¨}�Tpk ö^û y8})� � û:ùd� � l ö |$f�yJf$t�{�t�}Uf$| n ¬�qdtB| g yU}=[^})qd_Q�Át�`btO�Ðt�` `btB�"f$[Ir)a�y�fOe)tBa¨`Ã��})adf§}^��{"��t�`�|�v �e)tÖTbk ö)û |$f�yNf$t�{"t�}8f g [^}�})t g f$|(yw}�y8{"tB��¬�qst"f$[�yw})��{"��t�`btB����})adf�v��Lf��)|���yJqdqd_¾|�]�t g a�¬�tB|(�ªe)tBf�e)t�`

f�e)tª¬�qdtwyJq�`bt�yJ��_+tB¢^ad|$f |I[^`Ã�Ie)tBfOe)t�`Iy"})tB�&[^})t�ad|If$[w�Át g `bt�yJf tB� n �Ð[)`�tB¢:y8{w])qdtU×

Tbk ö)ûgþí��û � ú õ ò �2ï � �8ö õ(� � Û � û k �:ú�Þ S ø)ú � � � ú)ø^úb� � õ�� T � S ���Tbk ö)ûgþí��û � ú õ ó��2ï � �8ö õ(� k|l � û^ú T ��ú � � � ú)ø^úb� � õ�� û)ö � ���

��[)`§| a¨{�])qsa g adfb_�{"[8|$f§[J�f�e)t�tB¢:y8{w])qdtB|�a�}�f�e)ad|�|$t g f as[)}+|�e)[J�ðy8}2y g fO��yJq>a¨}8f$tBcUt�`�yJ|�f�e)tÏ��})adfªad��t�}Uf$a�¬�t�` n���)f�adfIe)tBq�])|ªf$[2{wy ¤ tI|$[N�Ðfb��yU`btI{�[^`bt({"[)���)q�yU`�yU})�XyJ��y8])f�yU�)qdt(a��§yw}�yU{"tB� g [^})| f�yU}8f�[)`�y�r@yU`ba�yU�)qdt=as|�)|$tB��a¨})| f$t�yJ�5v�Ä�UÅÆ��})adf$|"yU`btwy+cUqd[^��yJq§`�tB|$[^��` g tUv=¦!¬�qdt g yU}~��tw[^]Át�})tB��a�}�yU}8_�]�`b[8c^`$yU{Ë��})adf��[^} g twadf�ad|([^]Át�}

�Ä�8Åk[^]Át�`$yJf$ad[^})| g yU}w�ÁtÏ]Át�`��Ð[)`${"tB�w[^}�asf�a�}+yU}U_"]�`b[Uc^` yU{!��})adf\]�`�[@r)ad��tB�2fOe�yJf§f�e)t�|�yU{"tI��})adf�}^��{"��t�`ad|Ï�)| tB�5v� �e)t"��})adfÏ})��{"��t�` g yU}X�ÁtQe)tBqd�Xa�}¾yU}+a�}Uf tBcUt�`�rJyU`ba�yU�)qdtwyU})�X]�yJ|$| tB�Xf$[wfOe)t(]�`b[ g tB����`�t�yN|IyU}yU`bc)��{"t�}UfMv �e)t g [^}�})t g f$ad[^}¾��tBfb��tBt�}�y=¬�qdtQy8})��yw��})adf n [)} g t(tB|$f�y8�)qsad|�e)tB� n ]�t�`�|$ad|$f$|���}Uf$adqL×

ë f�e)t(]�`b[Uc^` yU{ f$t�`${"a�}�yJf$tB|ª})[^`${wyJqdqd_�ÕLyJfIy�� ú T)xh|$fOyJf$t�{"t�}8f�[^`Ãf�e)t ö)û S�[J�ÔfOe)t({wyJa�}X]�`b[8c^`$yU{wÖ �

ë yU})[Uf�e)t�`�Tbk ö)û | f�yJf$t�{"t�}8f g [^}�})t g f$|�y"��a�5t�`bt�}Uf\¬�qst=f$[wf�e)t�|OyU{"t(��})adf��

ë [^`�y ü|� Ti� ö |$f�yJf t�{"t�}Uf�ad|�tB¢)t g �)f$tB�¾[^}+f�e�yJf���})adf�v

¦Iqdf�e)[^�)c)e(yJqdq8¬�qstB|§y8`bt g qd[U|$tB�"�Ie)t�}�fOe)t�]�`b[Uc)`$yU{ÑtB¢)adf$| n asfad|zcU[)[^�(]�`$y g f$a g t�f [ g qd[U|$t§fOe)t�{ktB¢�])qda g adf$qd_yJ|�|$[)[^}�yN|(�Ä�UÅÎ[)]�t�`$yJf as[)})|([^}�f�e)t�{�yU`bt g [^{w])qdtBf$tB�5v+����f�e)t2]�`b[8c^`$yU{ f$t�`${"a�}�yJf tB|QyU��})[^` {wyJqdqd_ n �L[^`tB¢�yU{w])qdtÏ�Át g yU�)|$t�yU}�t�`$`b[^`[ gBg ��`b|�[^`adf�as|�yU�Á[^`bf$tB�+�U_"f�e)t��)|$t�` n yU}U_=¬�qdtB|��Ie)a g e+yU`bt�[^]�t�} n tB|�]Át g a¨yNqsqd_[^�)f�]��)f\¬�qstB| n {wyM_2�Át(qdtO�LfI��adf�e+a�} g [^{�])qstBf tQ[)` g [^`$`$��])f tB�X`bt g [^`b��|�v �e)t � û:ùd� � l ö |$f�yNf$t�{"t�}8f g yU}���t+�)|$tB��f [�[^�)f�yJa�}¾a�}8�L[^`${wyJf as[)}�yU��[)�)f(f�e)t g ��` `bt�}Uf"]�`b[^]Át�`bf$adtB|([J�

tB¢)f$t�`$}�yJq�¬�qdtB|�yU})���Ä�8Å���})adf$|�v � û�ùd� � l ö as|�]�yU`bf a g �)q�yU`�qs_Ñ�)|$tO�Ä�)q��Ie)t�}h�ª`badf$a�})c�qda���`$yU`b_�]�`�[ g tB����`btB|�Ie)a g e�{wyM_¾e�y�r8twf$[X`$��}¾a�}Óy�rJyU`badtBfb_�[N����a�5t�`bt�}Uf"]�`b[Uc^` yU{Ët�}Ur)a�`b[^}�{"t�}8f$|�v1�z[^� g yU}�¬�})��[^�)f n �L[^`tB¢�yU{w])qdt n �Ie)a g e¾��})adf(})��{Q�Át�`b|�yU`bt��Ä`btBt=�L[^`��)|$t"[^`��ªe)tBf�e)t�`�y2]�y8`bf$a g �)q�yU`�¬�qdtQtB¢)ad|$f$|�yU})�¾a��§|$[2�ªe�yJfadf$| g e�yU`$y g f t�`bad|$f$a g |Ïy8`btUv

¹ N[H�6'8�e�2¦!¬�qdt g [^})|$ad|$f |�[J��yw| t3Ô:�)t�} g tw[N��`bt g [^`b��|�v���}�y�f$tB¢)f�¬�qdt2y+`bt g [^`�� g [^`$`�tB|�]�[^})��|�f [�y�qda¨})t�[J��f$tB¢)f���a�}[Uf�e)t�` g yJ|$tB|�y+`bt g [^`b�¾e�yJ|Ï})[�]�e8_^|$a g yJq§��yN|$ad| n adfIad|�Á$�)|$fÏy g [^}8rUt�})adt�}Uf g [8qsqdt g f$ad[^}Ê[J�ÔrJyJq��)tB| g e)[U|$t�} f$[|��)adf§fOe)tÏyU]�])qda g yJf$ad[^}>và�e)t�`btªas|�})[Q})tBtB���Ð[)`§y�`bt g [^`��wf$[ g [)`$`btB|�]Á[^})�wf$["yª��as| g |$t g f [^`z[^`zy�f�yU]ÁtI�)qd[ gB¤ vl ö^ø S�y8})�y�|l � ú)ö |$f�yJf$t�{�t�}Uf$|�yJqd��yM_^|�|$f�yU`bf���[^` ¤ yJf�fOe)t(��tBcUa�}�})a�})cX[J�§yw`bt g [)`b�XyU})��yNqs��yM_)|�fO`$yU})|b�Lt�`y"�Ie)[8qst"}^��{"�Át�`�[J�§`bt g [^`b��|�v �e)t�`$�)qdtB|X[J�(��[^`bf�`$y8}h|$tBfX})[h��]�]�t�` qsa�{"adf�f$[hf�e)t¾qdt�})cUf�eÂ[J��yÓ`bt g [^`��ð���)f n a�}k]�`$y g f a g t n t�y g e

[^]Át�`$yJf$a�})cw|$_)|$f$t�{ {wyM_2��[w| [�vz �e)ad|Ï{wyM_���t���a�5t�`bt�}8f��L[^`Ã��a��t�`�t�}Uf��Ð[)`${"|�[J�§`bt g [^`b�5v

Page 87: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� m Ç

4�6)8b^�.�/3/3N�e .':7e"¬�:)¢�6)8b^J.�/3/3N[e ¹ N[H�6'8�e�2�z¢)f$t�`$}�yNq>¬�qdtB| g [^{"t=a�}Xfb��[wrJyU`badtBf$adtB|Qy gBg [)`b��a�})c�f$[w�Ie)tBf�e)t�`ªfOe)tBa¨`�`�t g [^`b��|�yU`bt��L[^`${�yJf$f$tB��[^`ª��}8�L[^`��{wyJf f$tB�5v��[^`${�yJf$f$tB��`bt g [^`b��|�|$f$[^`btª��yJf�y=a�} g e�yU`$y g f$t�`�� g [)��tB�+�Ð[^` { n aÐv tUv�yJ|�qda¨})tB|�[N�Ôf$tB¢)f�vz �e)ad|I{wy ¤ tB|f�e)t�{ |��)adf�yU�)qdt=�Ð[)`�y"��ad��tw`$yU})cUt�[N��yU]�])qda g yNf$ad[^})|�|$a�} g t n ��t�]Át�})��a�})cX[^} f�e)tBa�` g [^}8f$t�}8f$| n fOe)tB_X{wyM_��ÁtqdtBcUa��)qdt�f [Êe)��{wyU})|+yJ|"��tBqdqIyN| g [){w]��)f$t�`b|�vh �e)tX{�yJa�} g [^{w])qda g yJf$ad[^}Ò�Ð[)`(fOe)tX]�`b[Uc^`$y8{w{"t�`�ad|wfOe�yJft�y g ey�il � ú)ö [^`�l ö^ø S2| f�yJf$t�{"t�}8fI{"�)|$fª|�]�t g a��L_�e)[J�&t�y g e r@yJq��)t"ad|If [��Át g [^}8rUt�`bf$tB� �É`�[^{Îa�}Uf t�`$}�yJqf$[tB¢)f$t�`$}�yJq>�L[^`${ [^`\r^a g tO�ÄrUt�`b|Oy�v§ �e)ad|ªas|��)|���yJqdqd_���[^})t=��adf�e�y=�L[^`${wyJf�|�]Át g a�¬ g yJf$ad[^}>v�I}8�L[^`${wyNf$f$tB�k`bt g [^`b��|�| f$[^`bt¾��yJf�yÓa�}ÑfOe)t�a�}8f$t�`$}�yJq g [^��t~[J�Qf�e)t g [^{�]��)f$t�`�|$[hfOe�yJfX})[Ó�Ð[)`${wyJf

g [^}8rUt�`b|$ad[^})|ªyU`bt�a�}Ur8[UqdrUtB�5v§ �e)ad|�e�yJ|Iy=|$tBrUt�`$yNq�yN��r@yU}8f�yJcUtB|\�Ð[^` ¬�qdtB|ª[J�Ô})��{Q�Át�`b| n tB|O]�t g a�yJqdqd_R��[)yJf$a�})cJ�]�[8a¨}8f2})��{"��t�`b|�v¾�ª}8�Ð[^` {wyJf$f$tB�Ó��yJf�y f�`$yU})|��Ðt�`b|"yU`bt+|$a�{w])qdt�`wf [�]�`b[Uc)`$yU{ n �ÄyJ|$f$t�`�a¨}ÓtB¢)t g �)f$ad[^} n yU})��Ä`btBt"�Ä`b[^{ `b[^��})��a�})c¾t�`$`b[)`b|�v"����`�f�e)t�`${"[^`�twf�e)t2`btB|O�)qsf a¨})c¾��yJfOy�¬�qstB| n | [^{"tBf$a�{"tB| g yJqdqstB���)a�}�yU`�_X¬�qdtB| nyU`bt��)|���yJqdqd_X{"� g e+|O{wyJqdqdt�`Bvz¦!`bt�yJq�})��{"��t�`���[^�)qd� n �L[^`ÃtB¢�yU{w])qdt n e�yMrUtªf$[w��t�f���`$})tB��a�}8f$[wy"|$f�`�a¨})c"[J�j�p [^`ÃtBrUt�} j�È g e�y8`$y g f$t�`b|�f$[w]�`btB| t�`brUtªasf |I]�`bt g ad|$ad[^}�[)}2y��L[^`${wyJf f$tB�2`bt g [^`�� n ���)f�[^}2y8}2��}8�L[^`${wyNf$f$tB�`bt g [^`��2y�`bt�yJq�})��{"��t�`zfb_�])a g yJqdqs_�[ gBg ��])adtB|�[^})qd_�>Q�8_^f$tB|zaLvÍtUv8f�e)t�|�yU{"tªyJ|g> g e�y8`$y g f$t�`b|MvÔ �e)t���`$yM�I��y gB¤ad|�f�e�yJf���}8�Ð[)`${wyJf$f tB�"¬�qdtB|IyU`bt�e)adc^e)qd_�|$_^| f$t�{=�Ä|�]Át g a ¬ g v� �e)tB_2y8`btÏ�)|O��yJqdqs_+adqdqstBc8a¨�)qdtwf [Qe)��{wyU})|�yU})�+f$[[Uf�e)t�`��`$yU})��|[J� g [^{w]��)f$t�`yU})�=|$[^{"tBf$a�{"tB|a�} g [^{w]�yJf a¨�)qdt���asfOeª¬�qdtB|§]�`b[)��� g tB���8_�[Uf�e)t�`¡]�`b[Uc^`$y8{w{"a�})cq�yU})c^��yJc8tB|([^}¾fOe)tw|�yU{"tw{wy g e)a�})tUv��I}8�L[^`${�yJf$f$tB��¬�qdtB|"|�e)[^�)qd��[^})qd_��Át2�)|$tB�~�Ð[^`ªa�}8�L[^`${wyNf$ad[^}¾f$[X�Át�I`badf$f t�}�yU})��`bt�yN�X�U_+��[^`�f�`$yU}+]�`b[Uc^` yU{"|�`$��}�})a�})c2[)}+f�e)t(|�y8{"t�fb_:]Át�[J� g [){w]��)f$t�`Bv

_'N�¶<a'N]:F/�Gv.Fu�.':7e"�yG�89N�H�/«wyHpH�N�2�2¦ªqsq]�t�`ba�]�e)t�`$yJq��tBr)a g tB|�yJqdqd[J�Ѭ�qdtB|If$[w�ÁtQ]�`b[ g tB|$|$tB��|$t3Ô��)t�}8f$a�yJqdqs_>×�_U[^��|$f�y8`bf�yJf�f�e)t(��tBcUa�}�})a�})c�[J�zf�e)t¬�qdt2yU})����[)` ¤ f�e�`b[^�)c)e�t�y g eX`bt g [)`b�¾a¨}�f���` }>vÏÅ�})t"a�{w]Á[^`bf�yU}8f�yJ��r@yU}8f�yJc8t([J�§|$t3Ô��)t�}8f$a�yJq¬�qdtB|�as|�fOe�yJf��a�5t�`bt�}Uf§`�t g [^`b��| g yU}"e�yMrUt���a��t�`�t�}Ufzqdt�})cUf�e)|M�Uf�e)t�{"a�})a�{"��{ `�t g [^`b�(qdt�})cUfOe"ad|�?Bt�`b[(���)fzf�e)t�{wyN¢^a�{"��{ad|I| _^|$f t�{=�Ä��t�]�t�})��t�}8f�v�)t3Ô:�)t�}8f$a�yJq¬�qdtB|(��t�e�yMrUt"yJ|Ia��§f�e)t�`�t(��t�`btQy+]�[8a¨}8f$t�`ªyJf$f�y g e)tB��f$[wf�e)t�¬�qst"�Ie)a g e¾yJqd�\yM_)|�a�})��a g yJf$tB|

f�e)t(})tB¢)fÏ`�t g [^`b��f$[2�Át(f�` yU})|b�Lt�`$`btB�5vzÅ�}���tBr)a g tB|�|�� g e�yJ|�f$t�`${"a�}�yJqd|�yU})��]�`�a¨}8f$t�`b|ª_U[^� g yU} [^})qd_X`bt�yJ�[^`��ª`badf$t(a�}�|$f�`ba g fª|$t3Ô��)t�}Uf$a�yJq[^`b��t�` n ���)fI�ªe)t�}Xy�¬�qst"ad|ª|$f$[^`btB��[)}���ad| g [^`�f�y8]�t(adfªad|(]�[U|$| a¨�)qdt"f$[2�)| tf�e)t�l ö � � û S"|$f�yJf$t�{�t�}Ufzf$["`btB|$tBf�f�e)ad|�]�[Ua�}8f$t�`Ãf$[(fOe)tI|$fOyU`bf§[N��fOe)t�¬�qdt n yJqdqd[@��a¨})c�asf�f$["��t�`bt�yJ�+a�}�yJc^yJa�}[^`�`�tO�Ä�I`badf$f$t�}>v§Å�} |��)adf�yU�)qdt�¬�qdtB|ªf�e)tM� ø�üUþ �pk ø�üUö | f�yJf$t�{"t�}8f g yU}���t"�)|$tB�Xf [�{�[@r8t�f�e)t(]�[Ua�}8f$t�`ª��y g¥¤�8_2[^})t(`�t g [^`b�X| [QfOe�yJf�f�e)t�q�yJ|$fª`bt g [^`b� g yU}���t"`bt�yJ�XyJc^yNa¨}+[)`�[JrUt�`��Ä�I`badf$f t�}>vÅ�})t\��}8�L[^`bfO��}�yJf$t§[){"ad|$|$ad[^}��É`�[^{kfOe)t§��[)`bf�`$yU}=�)f�yU})��yU`��(ad|zf�e�yJff�e)t�]Á[U|$adf$ad[^}=[J��f�e)t�`bt g [)`b�Q]Á[Ua�}Uf$t�`

ad|I})[Uf���tO¬�})tB���Ie)t�}Xy8}wtB¢)ad|$f$a�})c2| t3Ô:�)t�}8f$a�yJq>¬�qdt(ad|ª[^]�t�})tB�5v��¾[U|$f���[)`bf�`$yU}�|$_^| f$t�{"|I�Át�e�y�r8t�|$t�})|$a��)qd_yU})��{�y ¤ t"|���`btwfOe�yJf�f�e)tB_¾|$f�yU`�fÏyJf�fOe)t2��tBcUa�}�})a�})c�[J��f�e)t"¬�qdt n ���)f(f�e)t�`�t2yU`btwy��LtB� `b[Uc)�)tQ| _^|$f t�{"|yU`b[)��})�X�Ie)a g eX{wy ¤ t(adfÏyN��r^ad|�yU�)qdt n a�}�]Á[^`bf�y8�)qst=|$[J�Lfb�\y8`bt n f$[2�)|$tEl ö � � û S�yM�Lf$t�`�fOe)tÖTbk ö)û | f�yJf$t�{"t�}8f�v¦�})[Uf�e)t�`z]�`b[^�)qdt�{�as|§e)[J�hyU]�]�t�})��})tB��`bt g [^`���|zf$[Ïy8}(tB¢)ad|$f$a�})c(| t3Ô:�)t�}8f$a�yJq)¬�qdtUv§�)[^{"t�|$_)|$f$t�{�|Ô]�`b[Jr)ad��tÕLyJ|yU}�tB¢)f$t�})|$ad[^}�ÖyU}+©�yU]�]Át�})��«�[^])f$ad[^}�a¨}�f�e)t Tbk ö^û |$f�yJf t�{"t�}Uf n ���)f�fOe)t���tB| fÔ{"tBfOe)[^�(�)|$a�})c(�)f�y8})��yU`b���[)`bf�`$yU}Óad|�f$[�[^]Át�}Ñf�e)t�¬�qdt�y8})�ð`�t�yJ� `bt g [)`b��|�[^})t�yJf2yÓf$a�{"t���}8f$adqIfOe)t�t�})�)�Ä[N�D�L¬�qdt g [^})��adf$ad[^}ðas|t�} g [^��}8f$t�`btB�5�>f�e)t�}¾�)|$tE� ø�ü8þ �bk ø�ü8ö f$[�{"[JrUt�f�e)tw]Á[Ua�}Uf$t�`ª��y gB¤ yU})� g qdt�yU`ªf�e)t(t�})�)�Ä[N�D�L¬�qdt g [^})��adf$ad[^}>v��tB��`bt g [^`b��| g yU}�f�e)t�}��ÁtQyJ����tB��a�}�f�e)t(�)|���yNq5��y�_Uv �e)t2yJqdf$t�`$}�yNf$adrUtwy gBg tB|$|Q{�tBf�e)[^�¾ad|(��a�`bt g f���y gBg tB|$|(�ªe)a g eÓyJqdqs[J��|(`�t g [^`b��|�f$[X�Át2`bt�yJ��yU})���ª`badf$f$t�}

a�}�yU}8_X[^`���t�`Bv$�¾[U|$f�|$_)|$f$t�{�|I[^})qd_�]�t�` {"adf(f�e)ad|ª�L[^`�¬�qdtB|(|$f$[)`btB�¾[^}¾`$yU})��[^{=��y gBg tB|$|���tBr^a g tB|"|�� g e¾yJ|��ad| g |��zadf"ad|"|$[^{"tBf$a�{"tB|"yJqd|$[�]Át�`${"adf$f$tB�Ó[^}¾fOyU]�tB|�v ¦Iqdq�`�t g [^`b��|(a�}Óy���a�`bt g fb��y gBg tB|$|"¬�qdt�{"�)|$f"��t+f�e)t|�yU{�tQqdt�})cUfOe¾|$[�f�e�yJfªf�e)tw| _^|$f t�{ g yU} g [^{w]��)f$t"f�e)twqd[ g yJf$ad[^}¾[N��y�`bt g [^`b�¾�Ä`b[^{ adf$|Q`�t g [^`b��}^��{"�Át�`Bv �e)t(`bt g [)`b�2qdt�})cUfOeXe�yJ|�f$[w��t g e)[U|$t�}+�ªe)t�}+f�e)tª¬�qdt�as| g `bt�yJf$tB�XyU})��ÕÐ[^}2{�[U|$f§| _^|$f t�{"|�ÖÃad|�f�e)t�}�¬�¢)tB��L[^`ªf�e)t"qda �Ltw[J��f�e)t=¬�qdtUvw�Ä}¾��[^`bf�`$y8} n ��a�`bt g fb��y gBg tB|$|Q`bt g [)`b��|(yU`btw})��{Q�Át�`btB�¾�Ä`b[^{ [^})tw��]U��yU`���|��5t�y g e

Page 88: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� mUm

l ö^ø S2[)`��il � ú)ö | f�yJf$t�{"t�}8f�|�]�t g a�¬�tB|�f�e)t(`�t g [^`b�X})��{Q�Át�`IyNf��ªe)a g e�fOe)t(f�`$y8})|b�Ðt�`Ã|$fOyU`bf$|�vQ�t g [^`b��|�{wyM_w��t��I`�asf f$t�}wf [Qy���a�`bt g f���y gBg tB|$|�¬�qdt�a�}�yU}8_Q[)`b��t�`Bv¦Ï}8_2`bt g [)`b� g y8}2�ÁtÏ`bt�yN��]�`b[Jr)ad��tB�

f�e�yJf�adf�tB¢^ad|$f | n aÐv tUv�adf\e�yN|\�ÁtBt�}+�I`badf$f$t�}�yNf§|$[^{�tIf$a�{"t�| a¨} g t�fOe)t�¬�qdt(��yJ| g `bt�yJf$tB�5vÃÅ�} g t(yQ`�t g [^`b��e�yJ|��tBt�}+�ª`badf$f$t�}"f�e)t�`�tIad|�})[(��yM_"[J�5��tBqstBf a¨})c�asf n ���)fÃadf$| g [^}Uf t�}Uf$| g yU}w�Át(��]���yJf$tB� n aLvÍtUv)`bt�])q�y g tB� n yJf�yU}U_f$a�{"tUv¦!�LtB� ]�`ba�{"adf$adrUtw[^]Át�`$yJf$a�})c�|$_)|$f$t�{"|�`bt3Ô��)a�`bt"f�e)tw{wyJ¢)a¨{"��{Ëqdt�})cUf�e�[J��yw��a�`bt g f���y gBg tB|$|�¬�qdtwf [��Át

|�]Át g a ¬�tB�Ó�Ie)t�}�f�e)t�¬�qst�as| g `�t�yJf$tB�5�>f�e)ad|�ad|(})[Uf�})t g tB|$|�yU`b_�a�}X| _^|$f t�{"|I�ªe)a g e g [^{�])qs_ �É�)qdqd_¾��adf�e�f�e)t��[)`bf�`$yU}+�)f�yU})��y8`b�5v

Â$%gÃW× Ä��gÒpËFÆbÑ�Å'Ç�Q$Ú³Ç�ËFà��[)`${wyJf$f tB��y8})����}8�L[^`${wyNf$f$tB�2`bt g [)`b��| g yU}�})[Uf���t�{"ad¢^tB��[)}"f�e)tª|�yU{"t�¬�qdt(yU})�+[^}+{"[U|$fÃ|$_)|$f$t�{"| ¬�qstB|��tB|$adc^})tB� �Ð[^`\|$t3Ô:�)t�}8f$a�yJq���y gBg tB|$|�yU`bt$Ô��)adf$t���ad|$f$a�} g f��É`b[){ fOe)[U|$t g `bt�yJf tB�+�Ð[^`Ã��a�`bt g fb��y gBg tB|$|�×Ãf�e^�)|�f�e)t�`btyU`bt��L[^��`Ã��a��5t�`bt�}8f�fb_�]�tB|�[J�ztB¢^f$t�` }�yJq�¬�qdtUv� �e)t�`bt�ad|I})["|�]�t g a�yJq|���]�]Á[^`bf�a�}��)f�yU})��yU`b����[^`bf�` yU}=�L[^`�yU}U_[Uf�e)t�`\f�_�]�tB|�[J��¬�qdt=|�� g e�yJ|�a�})��tB¢^tB�)�Ä|$t3Ô��)t�}8f$a�yJqz¬�qdtB|ª[^`�}�yU{"tO�Äqdad|$fª¬�qdtB|�v

4�6)8b^�.�/3/3N�e"_'N�¶<a)N]:F/�Gs.Fu�4�GIuvN�2 �e)tB|$t+yU`btw[J�Lf$t�}�Á$�)|$f g yJqdqdtB�hf$tB¢^fª¬�qdtB|�v� ¡t�`${"a�}�yJqd|Qy8})��]�`ba�}Uf t�`b|(|�e)[)�)qs�hyJqd��yM_^|(�Át2f�`�t�yJf$tB��yJ|ª�L[^`��{wyJf f$tB��|$t3Ô��)t�}Uf$a�yJq¡¬�qdtB|�v��(yNf�y=¬�qdtB|I[N�§f�e)ad|Ifb_�]�t g y8}X��t g `bt�yNf$tB��a�}�y�r@y8`badtBf�_�[N�Ô��yM_^| n �Ð[)`�tB¢:y8{w])qdt�8_Q��a�`bt g fÃt�}UfO`b_=�É`b[){&f�e)t ¤ tB_���[^y8`b� n [^`z�8_w�)|$a�})cwyªf$tB¢^fÃtB��adf$[^`Bvz�)[^{"t���[^`bfO`$yU}=|$_)|$f$t�{"|z��["})[Uf§yJqdqd[@�`bt g [^`���|�f$[w��t�qd[^})cUt�`\f�e�yU}+yw})[^`${wyNq�qda�})tQ[N��f$tB¢)f n �Ð[^`ÃtB¢�yU{w])qdt j9�Uo g e�yU`$y g f t�`b|�vz�I})qdtB|$|�y=f$tB¢)f§¬�qdt=as|]�`btO� g [^}�})t g f tB��asf�{"�)|$f��ÁtI[^]Át�})tB�2��asfOe2yU}�Tpk ö^û |$fOyJf$t�{"t�}8f n ���)f�f�e)t ï Tpl é õ y8})� ø:ü)ü8ö �i� õ ¤ tB_)��[^`b��|yU`bt(})[8fI})tBtB��tB��yJ|�f�e)t���tO�Éy8�)qsfªr@yNq¨�)tB|�yU`bt�|O�)asfOyU�)qdtU×

Tbk ö)ûgþí��û � ú õ > �2ï � �8ö õ(� l ö k�Tpl ú � � � ú)ø^úb� � õ�� û)ö � ���¦ªqsq¡��yJf�y�fO`$yU})|b�Lt�`b|�{"�)|$f���t g yU`$`�astB��[)�)f\��})��t�`��Ð[^` {wyJf g [)}Uf�`�[UqLvÔ �e)t�`bt(yU`btªfb��[=[^])f$ad[^})|���adf�e�¬�qdtB|�[J�f�e)ad|ªf�_�]�tU× _U[^� g yU}�tBadf�e)t�`ª]�`b[Jr^ad��t�_U[)��`�[J�I}��Ð[)`${wyJf�|�]Át g a ¬ g yNf$ad[^}�[^`��)|$t(qdad|$fb�Ä��a�`bt g f$tB���L[^`${wyNf$f$a�})c�v �e)tIyJf$fO`$y g f$ad[^}�[J��qdad|$fb�Ä��a�`bt g f$tB�X���UÅÑad|§fOe�yJf�fOe)t���[^`�f�`$yU}�|$_^| f$t�{&��[^tB|Ãf�e)t���[^` ¤ n ]�`b[Jr^ad��a�})c(|$a�{w])qdt

��yJf�y+fO`$yU})|b�Lt�`b|ª��adf�e¾qdadf$f$qdt�]�`�[Uc^`$yU{�{"a�})c�tå��[)`bf�v( �e)tB_¾yU`btw|O]�t g a�¬�tB� �8_�e�yMr)a�})c�yU}¾yJ|$f t�`bad| ¤ yJ|�f�e)t�L[^`${wyJf�ad��t�}8f$a�¬�t�`B×

�il � ú)ö�þ �:û � ú õ�ÿ �+ï^é)ú õ�ÿ��K� ö8î:Ù�ãNá�g�ã)âUë�ä�ò�Ù)ê�Û �l ö^ø S þí��û � ú õ�ÿ �2ï)é^ú õ�ÿ ��ö)û S õ ó)ó)ó � �bk ö)ö S

�>ad|$fb�Ä��a�`bt g f tB��a�}�]��)fwad|�Ô:�)adf$t g [^}8rUt�})adt�}8fw�Ie)t�}Ó`bt�yJ��a�})c�}^��{"��t�`�|"�É`�[^{�y�f$t�`${�a¨}�yNq§|$a�} g t�adf2yJqdqd[J��|r)a¨`�f���yJqdqd_ ©b�Ä`btBtO�L�L[^`${wyJf «���yNf�y¾t�}8f�`b_UvÑ�Lf�{wyM_ yJqd|$[h��t¾�)|$tO�Ä�)qI�Ie)t�}Â`bt�yJ��a�})cÓ��yJf�y�¬�qdtB|��Ie)t�`bt�f�e)tq�yM_U[^�)f+as|¾})[Uf�`btBc^�)q�yU`+t�})[^�)c^eÂf$[��Át�e�yU})��qdtB���U_Ñy~�Ð[)`${wyJfw|O]�t g a�¬ g yJf$ad[^}>vÆ�>ad|$f��Ä��a¨`�t g f$tB��[)�)f�]��)fad|w|�yJf as|��Éy g f [^`b_¾�Ie)t�}Ó�)|$tB�JÁ��)| fQf [X[^�)f�]��)fwy g e�yU`$y g f$t�`�|$f�`ba�})c�ÕLyJ|=a�}Óf�e)t2tB¢�yU{w])qdtXyU�Á[JrUt�Ö n ���)f"asf]�`b[)��� g tB|�qdtB|$|z])qdt�yJ|$a�})c�`btB|��)qdf$|�Ie)t�}(�)|$tB��f [�[^�)f�]��)f�})��{"t�`ba g yJq8r@yJq��)tB|z|$a�} g t§_8[^��e�yMrUt§})[ g [^}8f�`b[UqJ[JrUt�`f�e)t"]�[U|$adf$ad[^})a�})c�[J�§adf$t�{�|I[^}+fOe)t(qda�})t n f�e)t�¬�tBqd�)�Ä��ad��f�e n [^`�f�e)t"}^��{"��t�`�[J�z��t g a�{wyJq��asc8asf |���as|O])q¨yM_UtB�5v �e)�)|�×

�il � ú)ö�þ �:û � ú õ � k �2ï)é)ú õ�ÿ��6� � ë8÷këUí � ��û�� � äUë�ßJÙ�ß � � kil � üUö��adqdqÔ]�`�[^��� g t"yw`bt g [^`b��| [^{"tBf�e)a�})cwqda ¤ t"f�e)ad|�×� ë8÷këUí ò = äNëÁßJÙ�ß ó§Þ ô ô)ô)ô^ô)ô^ô�>ad|$fb�Ä��a�`bt g f tB��[^�)f�]��)fªad|Ï�ÁtB|$f(yMrU[Uad��tB�XtB¢ g t�])fIf [2�I`�asf t(|$a�{w])qdtw{"tB|$|�yNcUtB|Ïy8})���L[^`���a�yJc^})[U| f$a g [)�)f�]��)f����`ba�})c�]�`b[Uc)`$yU{���tBrUtBqd[^]�{"t�}8f�vk �e)t¾`$�)qdtB|+�Ð[^`�qsad|$f��Ä��a¨`�t g f$tB�Ñ�L[^`${wyJf f$a�})c�yU`bt g [JrUt�`btB�Âa�}h��tBf�yJadqªa�}|$t g f$ad[^} j�p v jMp v

Page 89: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� mUl

 �e)tQyJqdf$t�` }�yJf$adrUt(ad|�f$[+]�`b[Jr^ad��twy=�L[^`${wyJf�|�]�t g a�¬ g yJf$ad[^}>×�f�e)ad|(]�`b[Jr^ad��tB| g [^{w])qdtBf$t g [^}8f�`b[Uq¡[@r8t�`�f�e)t��yJf�y�f�`$yU})|b�Lt�`Bvz �e)t(]�`btBr)ad[^�)|ªtB¢:yU{�])qst g yU}���t"{"[)��a ¬�tB�¾f$[w�)|$t"y=�L[^`${wyJf�|�]Át g a�¬ g yJf$ad[^}�qda ¤ t(f�e)ad|�×

�il � ú)ö�þ �:û � ú õ � k �2ï)é)ú õ ô|ô �6� � ëU÷ÑëUí � ��û�� � äUë�ßJÙ�ß � � kil � üUöôiô ï Tpl é)ø^úgþ ò ����ø�� � A��Xø���ï M Þ*= �yU})����adqdqz]�`b[^��� g t"yw`bt g [^`���qsa ¤ t"f�e)ad|�×� ë8÷këUí ò = äNëÁßJÙ�ß óÃÞ ô p �e)tª�L[^`${wyNf�|O]�t g a�¬ g yJf$ad[^}¾ad|I]�`�[@r)ad��tB�Xa�}�fOe)as| g yJ|$t(�8_�y ï Tbl é^ø)ú | f�yJf$t�{"t�}8f�×adf$|�q�yU�ÁtBq�ad|ªf�e)tª�Ð[)`${wyJfad��t�}Uf a ¬�t�`�a�}¾f�e)t��|l � ú^ö |$fOyJf$t�{"t�}8f�vIŪfOe)t�`ª�\yM_)|I[N�\]�`b[Jr)as��a�})c+�L[^`${wyNfI|�]Át g a�¬ g yJf$ad[^})|Qy8`bt"��tB| g `ba���tB�a�}�|$t g f as[)} j�p vB�vÅ�})tQ��})�)|���yJq>�Lt�yJf���`bt�[N�Ôa�}�]��)f���})��t�` g [^}8f�`b[Uq>[J�§y=�L[^`${wyJf�|�]Át g a�¬ g yJf$ad[^}�ad|�f�e�yJf�t�y g e+qda�})t"[J��f$tB¢)f

��adqdq�yU]�]Át�yU`�f [X��t�]�yJ����tB��[^�)f=[^}�f�e)t2`badc^e8f(��adf�e~yU}�a¨})��tO¬�})adf$tX})��{"��t�`�[J�I�)q¨y8} ¤ |=a¨` `btB|�]�t g f asr8t2[J�f�e)t(y g fO��yJq>qst�})c8f�e+[J�zf�e)t���yJf�y"`bt g [^`��5v§ �e)ad|I{"t�yU})|�f�e�yJf n yU{"[)})cQ[8f�e)t�`Ãf�e)a�})cU| n adf�ad|I})[Ufª]�[U|$| a¨�)qdt=f$[��ad|$f$a�})c^�)ad|�eÓ��tBfb��tBt�}�yU}�t�{w])fb_�`�t g [^`b��yU})��[^})t=¬�qdqdtB����asfOe��)q�yU} ¤ |MvQ�Ð��})��{"��t�`b|(y8`btw`bt�yJ���É`�[^{ yU}t�{w])fb_�`bt g [^`b��f�e)tB_+��adqdq�| a¨{�])qs_¾��t$?Bt�`b[�v

¬�:'¢³6)8b^J.�/3/3N[eÐ_'N�¶�a)N]:F/�Gs.Fu 4�G�usN[2�ª}8�Ð[^` {wyJf$f$tB�~|$t3Ô:�)t�}8f$a�yJq ¬�qstB|+yU`btw[J�Lf$t�}��)| tB� yJ|=f$[XfO`$yU})|b�Lt�`ª��yJf�y��É`b[){ [^})t2]�`�[Uc^`$yU{ f$[XyU})[UfOe)t�`Bv �e)tB_�yU`bt+yJqd|$[X|��)adf�y8�)qst��L[^`ª| g `$yJf g e�¬�qdtB| n aLvÍtUv¡f�e)[U|$tw�)|$tB�Óf$t�{w]Á[^`$yU`badqd_¾����`ba�})c�]�`b[Uc^`$y8{ËtB¢^t g �)f$ad[^}>v �e)t"[^})qd_�qda�{"adf([^} f�e)t"qst�})c8f�e�[J� ��}8�L[^`${�yJf$f$tB�¾`bt g [^`b��|ªad|�f�e�yJf�|$tBf��8_Xf�e)t=[^]�t�`$yNf$a�})c�|$_^| f$t�{��>{"[U|$f|$_)|$f$t�{"|�yJqdqd[J� `�t g [^`b��|�f$[ g [^}8f�yJa�}�y��LtB�kf�e)[^�)|�y8})����yJf�y=adf$t�{"|�yJf�qst�yN|$f�v§ �e)tMTbk ö^û | f�yJf$t�{"t�}8f�{"�)|$f|�]Át g a �L_�fOe)t�¬�qdt��Ð[^` {wyJf n ���)f2fOe)tX��tO�ÄyU�)qdfXy gBg tB|$|�{"tBf�e)[)��ad|�© |$t3Ô:�)t�}8f$a�yJqd«�vâ�§y g e l ö^ø SÓ[^`��il � ú^ö|$f�yNf$t�{"t�}8f�fO`$yU})|b�Lt�`b|�[^})tQ��}8�L[^`${�yJf$f$tB��`bt g [^`b�5v��[^`�tB¢:y8{w])qdt n f�e)tB| tQ| f�yJf$t�{"t�}8f$|�[)]�t�}Xy8}XtB¢)ad|$f$a�})cX��}8�L[^`${wyJf f$tB�+¬�qdt�y8})�Ê`�t�yJ�Xfb��[w`bt g [^`b��|��É`�[^{

adf�×Tbk ö)ûgþí��û � ú õ ò9ô �+ï � �8ö õ�� � � û � � � ú)ø^úb� � õ�� T � S � �2ï Tpl é õ(� �:û)ï Tpl é^ø)ú)ú^ö S ���l ö^ø S þ ò9ô � ý)ö � m ý^ú��R�Uö)û m ú)ý�� � � S ú^ýl ö^ø S þ ò9ô � ø l|l ø �|k ��ø lil ø � ù

� ø:ü8þ �bk ø:ü8ö yU})�yl ö � � û S+|$f�yJf t�{"t�}Uf |\{�y�_�cUt�})t�`$yJqdqd_X��t"�)|$tB�X[^}�yNqsq��}8�Ð[^` {wyJf$f$tB��| t3Ô:�)t�}8f$a�yJq>¬�qdtB|�v

¬�:'¢³6)8b^J.�/3/3N[e"�yGI89N[H�/�Øí.FHpHdN[292y4�G�usN�2�)a�} g t���a�`bt g fb��y gBg tB| |+¬�qstB|¾yU`bt¾`bt�yJ��yU�)qdt¾[^})qd_ �8_ {wy g e)a�})t n adf�|$tBt�{�|2|$t�})| a¨�)qdtÓf$[h�)|$t���}8�L[^`${wyNf$f$tB�`bt g [^`���|Qf [�{wyJ¢)a�{"ad|$t�tåÜ g adt�} g _Uvh �e)tyTpk ö^û |$f�yJf$t�{�t�}Uf"{Q�)| f(|�]Át g a �L_ ø:ü)üUö �i� õ�� S � l ö�üUú � y8})��yJqd|$[|�]Át g a �L_�f�e)tw`bt g [)`b�¾qst�})c8f�e>vw�I}8�L[^`bfO��}�yJf$tBqd_Xf�e)t+��})asf |Q�)|$tB��f [�{"t�yN|���`btwf�e)t"qdt�})cUf�eÊ[J�\y�`bt g [)`b��yU`bt})[Uf�|$fOyU})��yU`b��ad|$tB�5×�|$[^{"t"|$_)|$f$t�{"|({�t�yJ|���`bt=f�e)t�{Ëa�}��U_)f$tB| n [8f�e)t�`b|ªa¨}~}^��{"t�`�a g yNqz|$f$[^`$yNcUtQ��})adf$| n aLvÍtUvf�e)tX})��{"��t�`�[J��`�t�yJq�[^`"a�}Uf tBcUt�`"r@y8`ba�yU�)qdtB|Xy�`�t g [^`b� g yU}Âe)[Uqd� Õ�|$tBt�| t g f$ad[^} È v j ÖBv� �e)as|+ad|�y¾{"a�})[^`[^�)|$fOy g qdtwf$[X]�[)`bf�yU�)adqdadf�_ÓyU})��{"t�yU})|=f�e�yJf�_U[)��{�y�_¾})tBtB��f [ ¤ })[J� e)[J� {wy8}U_¾�U_)f$tB|(_8[^��`�{wy g e)a�})t�)|$tB|Ã�L[^`zt�y g e+}^��{"t�`�a g yNq�|$f$[)`$yJcUtI��})adf n yJqdf�e)[)�)c^ewfOe)as|�ad|<Á��)| f\y8��[^�)fÃf�e)tI[)})qs_+])q¨y g t�a¨}���[)`bf�`$yU}=�Ie)t�`�tf�e)ad|ªas|(})t g tB| |�yU`b_Uv��¾[U|$f�|$_^| f$t�{"|ª��adqsqzyJqdqd[J�!_U[^�+f$[+[^]�t�}�yU}�tB¢)ad|$f$a�})c+¬�qdt"[^})qd_Xa��§f�e)tQ`�t g [^`b�Xqdt�})cUfOead|IfOe)t�|�yU{"t(yJ|�f�e�yJf��)|$tB�X�ªe)t�}�f�e)tª¬�qdt(��yJ| g `bt�yJf$tB�5v�§y g e�l ö)ø S¾yU})�J�|l � ú^ö |$f�yJf$t�{�t�}Ufªf�`$yU})|��Ðt�`b|�tB¢�y g f$qd_�[^})t2`bt g [^`��Êy8})��{"�)|$fI|O]�t g a��Ð_~f�e)tw}^��{"��t�`

[J��fOe�yJf�`bt g [^`b�5קy8}wa�}8f$tBcUt�`�rJyJq��)t��Ä`b[^{ [^})t(��]8�\y8`b��|�vz �e)t(`bt g [^`��2qdt�})cUf�e�{"�)|$f�})[Uf���t�c^`bt�yNf$t�`Ãf�e�yU}f�e�yJf���t g q¨y8`btB�¾a¨}�f�e)t�Tpk ö)û |$fOyJf$t�{"t�}8f��)a��\yU}+[^�)fO]��)fÏ`bt g [)`b�Xad|�})[Uf g [^{w])qdtBf$tBqd_ ¬�qsqdtB��fOe)tQ`bt�{wyNa¨})��t�`ad|Ï��})��tO¬�})tB�5v

Page 90: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� lUp

 5[+adqsq��)|$fO`$yJf$twe)[J����a�`bt g f���y gBg tB|$|�¬�qdtB| g yU}���tw�)|$tB� n e)t�`bt"ad|�y g [^{�])qstBf t�]�`�[Uc^`$yU{ �Ie)a g e�yNqsqd[J��|�yrUt�`b_"|$a�{w])qdt���yJfOyM����yJ|$t n |�� g e2yN|�y�| tBf§[J��| f$[ gB¤ `bt g [^`b��| n f$["��tªtB¢:yU{�a¨})tB�5væª|$|���{"a�})c"f�e�yJfÃf�e)tÏ`�t g [^`b�qdt�})cUf�e+ad|�{"t�yJ|���`btB�+a�}X})��{"t�`ba g yJq5| f$[^`$yJc8tI��})adf$|I[N��>w�U_)f$tB| n fOe)tÏ`bt3Ô��)a�`btB��`�t g [^`b��qdt�})cUf�e+a�}�fOe)as| g yJ|$tg yU}��Át g [^{w]��)f tB��yJ|��L[Uqdqd[J��|�×

��¦���� j Z���¦$Q�¦IZ� ���QXÖ j�p r@yU`ba�yU�)qdt j�p g e�yU`b| � j�p �U_)f$tB|�v�� �Å�Z�� j �Ä�ª ��§uE��QÑrJyU`ba�yU�)qdt j ��})adf � >2�U_)f$tB|x�Q���Z�� j Q��z¦���rJyU`ba�yU�)qdt j ��})adf � >2�U_)f$tB|

 �e)t2f [Uf�yJq§`bt g [)`b��qdt�})cUfOe�ad| j�m �8_)f$tB|"[^` È })��{"t�`ba g yJq�|$f$[^` yJcUtw��})adf$|XÕL`b[^��})��a�})c���]~f$[XfOe)t�})tB¢)fa�}Uf tBcUt�`$ÖBv

kil[Timbl ø)é S|� ø � ö ò� û^ú)ö m ö lÊ� ú T ü8þ���û)ö l|ll ö^ø�� k|l � üUöü8ý^ø l ø:ü8ú^ö l û^ø)é)ö ÿ ò ô

ÿ ø�ß)ß�å)ì>ãÒáÁã)äNë)á^ñ â)ã�î�è)ÙUØ ò î ß@Ù�ë)á^à8è�ã~å^î5òMÙ�ßhØ�ëÁâNñ�òBî�è > ä�Ø�à^áÁßÑãNàÁäMØ\ÞTbk ö)ûgþí��û � ú õ ò �2ï � �8ö õ(� � ú T üUþ � � � � ú)ø^úb� � õ�� T � S � �¥ ø:ü)ü8ö �i� õ�� S � l ö�ü8ú � � l ö:üi� õ ô �

ò ô^ô ü T û)ú � ûb�:öÿ ø�ßJæÂå�ß)ãNáðí:ë)áÒÚÁà)áUÙÂî)å^ì�h>ãNáÂÝ8Ø�ò8ä�Ø&Ý�ò8â^âbh>ãhå>ß^ãUñÑà�ß�áÁã^äUë^á)ñÒî^å)ì�h�ãUá§Þ

�il � ú)ö�þ �:û � ú õ�ÿ �bï)é^ú õ�ÿ��6� ö8î:Ù�ãUá~ÚÁà)áUÙÂî)å^ì�h>ãNá¤þOë^áÂÿ�ãNá)ëÑÙ�ë õNå5ò�Ù � Û �l ö^ø S þí��û � ú õ�ÿ ��ï)é)ú õ�ÿ�� û k ø l ú� ï�þ û k ø l ú Þí�Uö�Þ�ô � � ú Tpkl ö^ø S þí��û � ú õ ò � l ö:ü õ û k ø l ú�� � Ti� ú)ø^ú õ û^ö l|l � û)ø)é^ö�� � ú T ü8þ�� kil � ü8ö� ï�þ û)ö lil ÞÄû)ö�Þ�ô � ú)ý^ö)û

�|l � ú)ögþí��û � ú õ�ÿ ��ï)é)ú õ�ÿ��6� �^î�æJî�ëUÝ8îhÚÁà)á8Ù�î)å)ì<h>ãNá��Xá�ã�9Áã�î�Ù�ãUá �m|T ú Tóò ô)ô

ö)û S � ï�il � ú)ö�þ ÿ � òiò�ô � � ú T ü8þ��+û^ø)é)ö�� kil � üUö

òiò�ô ï Tpl é)ø^úgþ ò ��� � � Ù�ëÁä@æ&òUß � � � > � ò ����ø�� � à8Ù � ��ï�?ÃÞ*=�� � ãUà�äMØ ���miT ú T ò ô)ôö)û S

 �e)t�fb_�])a g yNq5[^�)f�]��)fI`�t g [^`b�X[N��f�e)tQ]�`�[Uc^`$yU{ ��adqdqz��t�[J�zf�e)tª�L[^`${�×� Ù:ëÁäJæ ò8ß ò =<AÂÝ>ò@ñ8è�ã@Ù�ß à8Ù ôiô<M Þ*?)ó ãNàÁäMØ

 �e)ad|�]�`b[Uc^`$y8{ g [)�)qs���Át(tB¢)f$t�})��tB���ÄyJa�`bqd_�t�yJ|$adqd_Xf$[wyJqdqd[J��fOe)t g [^}Uf t�}Uf$|�[J�ÔfOe)tQ`bt g [^`���f$[2��t"��]���yJf tB�yJ|�fOe)t�|$f$[ g¥¤�g e�y8})cUtB|�v

4�6)8b^�.�/3/3N�eY�yGI89N[Hd/�Ø .FHbH�N[292y4�GIuvN�2��[)`${wyJf$f tB�(��a�`bt g fb��y gBg tB| |§¬�qdtB|�yU`bt�|$qdadc^e8f$qd_w{"[^`bt�]�[)`bf�yU�)qdt�f�e�y8}"f�e)t���}8�Ð[)`${wyJf$f tB�(�L[^`${!�Át g yU�)|$t�fOe)tBa¨``bt g [^`��Qqdt�})cUfOe"ad|§yJqd�\yM_)|Ô{�t�yJ|���`btB�"a�} g e�yU`$y g f$t�`�|�v�Ūf�e)t�`���ad|$t�f�e)t�`bt�ad|§qdadf$f$qdt�f [Ï�Át�|�yJad�=�Ð[)`f�e)t�{�v� �e)tTbk ö)û |$f�yJf t�{"t�}Ufz{"�)|$fz|�]Át g a �L_w��[UfOe ø�ü)üUö �|� õ�� S � l ö�üUú � y8})� ï Tbl é õ(� ï Tpl é^ø)ú)ú^ö S � yU})�"t�y g eEl ö)ø S"yU})��il � ú^ö |$f�yNf$t�{"t�}8f�{"�)|$f g [^}8f�yJa�}(�Á[Uf�eÏ�Ð[^` {wyJf�yU})�"`bt g [^`b�)��})��{"��t�`¡ad��t�}Uf$a�¬�t�`b|Mv§�>ad|$fb�Ä��a�`bt g f$tB��f�`$yU})|b�Lt�`b|yU`bt"})[Uf(]�t�` {"adf$f$tB�5v(�Ð��f�e)t��Ð[^` {wyJfª|�]�t g a�¬ g yJf$ad[^}~`bt3Ô:�)a�`btB|"{"[^`bt=f�e�yU} [^})tw`bt g [^`b�¾f$[���tw�)|$tB� n f�e)tB|$tyJ����adf$ad[^}�yJqª`bt g [^`b��|=�L[Uqdqs[J�Æ[)}�|$t3Ô��)t�}8f$a�yJqdqs_Ó�Ä`b[^{�f�e�yNfQ|O]�t g a�¬�tB� �8_VQ��§Z � vÓ�Lf"ad|2yU}Ót�`$`b[)`�f$[¾f�`b_f$[�`bt�yJ����tB_8[^})��f�e)t"t�})��[J��y�`�t g [^`b� n ���)f(yU}�a�} g [^{w])qdtBf$tBqd_¾¬�qdqdtB� `�t g [^`b�¾��adqdq§��t2]�yJ����tB�~[^�)fI��asfOe�)q�yU} ¤ |�v

Page 91: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� l�j

Â$%gÃIÝ B9Ñ7ÒpË]ÆpÑ�Å'ÇXQ$ڳdzË]à¦�}�a�}Uf t�`$}�yJq8¬�qstÃad|§yU}�yU`bt�y�[J� g t�}Uf�` yJq^{"t�{"[)`b_I�ªe)a g e g yU}(�Át��)|$tB�"yJ|a ��adf��t�`bt�yÃ�L[^`${�yJf$f$tB��|$t3Ô��)t�}8f$a�yJq¬�qdtUv§�Lf�tB¢)ad|$f$| n [J� g [^��`b| t n [)})qs_��Ie)adqst�fOe)tÏ]�`b[8c^`$yU{�as|�tB¢)t g �)f$a�})c�v§��}Uf$t�` }�yJq�¬�qstB|�yU`�tÏ�)|$tB���L[^`§y=r@y8`badtBf�_[J��]���`$]Á[U|$tB| n ]�yU`bf a g �)q�yU`�qs_�f$[ g yU`$`b_+[^�)fª��yJf�y g [^}8rUt�`b| as[)})|�f$[2yU})� �É`b[){ g e�y8`$y g f$t�`���yJf�y"fb_�]�tUvª�)[^{"tt�yU`bqdadt�`zr8t�`b|$ad[^})|§[N����[)`bf�`$yU}�a�} g q¨�)��tB� ö)û�ü TbS ö yU})��S ö�ü TpS ö |$fOyJf$t�{"t�}8f$|�×>f�e)t�a¨}8f$t�`$}�yNq)¬�qst�l ö)ø S�Õ��Ie)a g e`bt�])q�y g tB|�S ö:ü TpS ö Ö§yU})�wa�}8f$t�`$}�yJq�¬�qdt��|l � ú)ö Õ��Ie)a g e2`bt�])q�y g tB| ö^û�ü TbS ö ÖzyU`�t�|$a�{w])qdt�` n {"[)`bt���tB¢)a¨�)qdt n yU})�t�}8f$a�`btBqd_X]�[^`bfOyU�)qdtUv¦Ï}~a�}Uf$t�` }�yJqì�qst g y8}�[^})qd_��ÁtX�)|$tB�h��adf�e�l ö)ø SÊy8})���il � ú)ö | f�yJf$t�{"t�}8f$|"yU})� y8}�tB¢�])qda g adf��Ð[)`${wyJf

|�]Át g a ¬ g yNf$ad[^}+ad|\`�t3Ô:�)a�`btB�5×qdad|$fb�Ä��a�`bt g f$tB��f�`$yU})|b�Lt�`b|§yU`�tI})[Uf§]�t�` {"adf$f$tB�5v§ �e)tª��})asf�{"�)|$f�e�y�r8t g e�yU`$y g f$t�`��yJf�y�fb_�]�t����)f�asf g yU}h��t¾y¾r@yU`�a¨y8�)qst n y8`$`$yM_�tBqdt�{"t�}8f n |����)|$f�`�a¨})c n [^`�y g [){w])qdtBf$t�yU` `$yM_Uv �Ð�Ïadfwad|�yg [^{w])qdtBf$t¾yU`$`$yM_�fOe)t�}ht�y g e�yU` `$yM_�tBqdt�{"t�}Uf g [^})|$f asfO�)f$tB|2yÓ`bt g [^`b�5��a�}�yNqsqª[Uf�e)t�` g yJ|$tB|wf�e)t ¬�qdtX[^})qd_g [^})|$ad|$f |�[J�§[^})tQ`�t g [^`b�5v��(yNf�ywfO`$yU})|b�Lt�`b|IyJqd��yM_^|ª|$f�y8`bfIyJfªf�e)tQ�ÁtBcUa�}�})a�})c�[N�§f�e)t(a�}8f$t�`$}�yJq¡¬�qdt n f�e�yJf�as|yU}"a�{w])qda g adfI`btB��a�})�wad|�]�t�`��L[^`${"tB��t�y g e�f$a�{"tUvz �e)tI`bt g [^`��wqdt�})cUf�e"ad|§fOe)t�qdt�})cUf�e"[J�>f�e)t g e�yU`$y g f t�`asf t�{�v�Lfzad|ÃasqdqdtBc^yJq�f$[�f�`b_=f$[ªf�`$yU})|b�Lt�`z{"[^`�t g e�yU`$y g f$t�`b|f�e�yU}=f�e)t�a�}Uf$t�` }�yJq�¬�qdt g [^}8f�yJa�})| n ���)fÃa���y�`bt g [^`��w[J��f$[)[�LtB� g e�yU`$y g f$t�`b|zad|��I`badf$f t�}"adf���asqdq5��t(]�yN����tB�2[^�)f���adf�e+�)q�yU} ¤ |�v§ �e)t ö^û S õ y8})� � Ti� ú^ø)ú õ {"t g e�yU})ad|�{"|g yU}��ÁtQ�)|$tB��f$[w��tBf$t g f�fOe)t�t�})�)�Ä[J�D�L¬�qdtUv¦Ï}+a�}8f$t�`$}�yJq>¬�qdtE�|l � ú)ö ad|ªf�_�])a g yJqdqd_X�)|$tB�Xf$[ g [^}8rUt�`bf�yw})��{"t�`ba g yJq¡r@yJq��)t"f$[wy g e�yU`$y g f$t�`Ã|$fO`ba�})c2�U_

�)|$a�})c�y"|��)adf�yU�)qdt��L[^`${�yJf�|�]�t g a�¬ g yJf$ad[^} n �L[^`ÃtB¢�yU{w])qdtU×

ü8ý^ø l ø:ü8ú^ö l ÿ ?Ñüb�^ø��l �^ø��d�:ö õ ó�?§Þ M�il � ú)ö�þOüp�)ø��g� � þ �bk ��ï�@§Þ�= �K��� l �)ø[�d��ö

 �e)t��il � ú^ö | f�yJf$t�{"t�}8f��adqsqÁ¬�qdq�f�e)t g e�yU` y g f$t�`¡r@yU`ba�yU�)qdtIZ � ¦��+��adf�e"f�e)t g e�yU`$y g f t�`b| � ;)ó<?ÃÞ M ô � ÕÉ})[Uf$tf�e�yJfÃf�e)t�`bt�ad|�[^})t��)q�yU} ¤ yJfÃt�y g e�t�})�+[J�5f�e)tI})��{Q�Át�` n f�e)t�¬�`b|$f��Át g yU�)|$tªf�e)t�}^��{"��t�`Ãad|�`badc^e8fb�vÁ��)| f$a�¬�tB�a�}�f�e)t�¬�tBqd��[N� Ç g e�y8`$y g f$t�`b| n fOe)t(|$t g [^})�¾��t g yU�)| tQfOe)tQ`bt g [^`���as|(]�yN����tB�X[^�)f�f [wf�e)t(��t g q�yU`�tB��qdt�})cUfOe[J� m g e�yU`$y g f$t�`�|�ÖBvÅ�} g tXyX})��{Q�Át�`we�yJ|"��tBt�}Óf���`$})tB�Óa�}Uf [Êy g e�yU`$y g f t�`��Ä|$f�`ba�})c�asf g yU}Ó��tX]�`�[ g tB|$| tB���Ä��`bf�e)t�`=a�}Óf�e)t

r@y8`bad[^�)|I��yM_)|§��tB| g `ba��ÁtB��a�} |$t g f$ad[^}XÇÁvÔ �e)as|�{wy ¤ tB|�adfI]�[U| |$a��)qst n �L[^`�tB¢�yU{w])qdt n f$[w�ª`badf$t(}^��{"�Át�`b|�qdtO�Ðf��Á$�)|$f$a�¬�tB�2a�}wyϬ�tBqd� n [)`z{wyU` ¤ })tBc^yJf asr8tI}^��{"�Át�`b|§��adf�e���adf�e¾©$�MQ�«2ÕÉyJ|za�}2��yU} ¤ |$fOyJf$t�{"t�}8f$|�Ö¡a�}w[^`tBr8t�}�)|$t"y2]�yJa�`�[J�§]�yU`bt�}8f�e)tB|$tB|wÕLyJ|�a�}¾��yJq�yU} g tO�Ä|�e)tBtBf$|OÖBv � adf�e�|O�)asfOyU�)qdt�y8`badf�e�{"tBf$a g _8[^� g yU} tBrUt�}�[)�)f�]��)fr@yNq¨�)tB|�a¨}~[Uf�e)t�`=}^��{"�Át�`�����yJ|$tB|"|�� g e�yJ|=[ g f�yNq§[^`=e)tB¢:yJ��t g a�{wyNqÐvJ�zr8t�}�{"[^`bt�tBq¨y8��[^`$yNf$t g [)}UrUt�`�|$ad[^})|{wyM_w��t(y g e)adtBrUtB�X�8_"¬�`b|$f��I`badf$a�})c2y�|��)adf�yU�)qdt��L[^`${�yJf§|�]Át g a�¬ g yJf$ad[^}�a�}8f$[wy g e�yU` y g f$t�`z| f�`ba�})cwyU})�2fOe)t�}�)|$a�})c+f�e�yJfÃ�Ð[)`${wyJf�f$[ g y8`$`b_+[^�)f�f�e)t(��tB|$a�`btB� g [^}8rUt�`b|$ad[^}>v�Ä}8f$t�`$}�yJqÁ¬�qst�l ö^ø S"|$f�yJf$t�{�t�}Uf$| g y8}2�ÁtÏ�)|$tB�+f$[���t g [)��t(y g e�yU`$y g f t�`|$f�`ba�})c g [)}Uf�yNa¨})a�})cwy(})��{"t�`ba g yJq

r@yNq¨�)tUv Å�})t�[^�8r^ad[^�)|XyU]�])qda g yJf$ad[^}ðas|�f [ e�yU})��qdt�fOe)tÊ�)| t�`+a¨}�]��)f�f [ y g [^{�{wyU})�)�Ä��`badrUt�}Ñ]�`b[Uc)`$yU{�v����]�]�[8|$twf�e)t g [){w{wyU})�¾qda�})t g [^})| as| f$|�[J�\y+��[^`��X�L[Uqdqd[J��tB� n [)])f$ad[^}�yJqdqd_ n �8_�y�})��{"��t�`+Õ�a�}¾a�}Uf$tBc8t�`ª[^``bt�yJq¡�L[^`${wyJfOÖ n ��asfOe�yNfIqdt�yJ|$f=[^})tw�)q�yU} ¤ |$t�]�y8`$yJf$a�})c�f�e)t"fb��[�v� �e^�)|�fOe)tQa�}�]��)f g [^{w{wyU})��|({�asc)eUf(�Át|$[^{�tBf�e)a�})cwqda ¤ tU×� kL>l � m ý^ú ò =<AÃÞ >[ô¦!|$a�{w])qdt"��y�_+f$[w��t�yNq���adf�e f�e)ad|�ad|If$[+`bt�yJ�XfOe)t(�Ie)[Uqdt"qda�})tQa�}8f$[�y g e�yU`$y g f t�`�r@yU`�a¨y8�)qstwyU})��f�e)t�}X�)| tf�e)tI�����M� � �É��} g f$ad[^}�f$[�qd[ g yJf t�f�e)t�¬�`b| f§�)q¨y8} ¤ v§ �e)t\]�`�t g tB��a¨})c g e�yU` y g f$t�`b| g [^})|$f$adf��)f t�f�e)t g [^{�{wyU})���[^`b� n f�e)[8|$tÃ�Ð[Uqdqd[J��a�})c g yU}w�Át g [)}UrUt�`�f$tB�"f$[(y�`bt�yJq�}^��{"�Át�`§�)|$a�})c(yU}=a�}Uf t�`$}�yJq)¬�qdt£l ö)ø S>v���[^`¡tB¢:yU{�])qstU×

ü8ý^ø l ø:ü8ú^ö l ü|� � û^ö ÿ ?)ô

Page 92: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� lUo

ÿ ÞÑÞkÞò ô^ô �il � ú)ö�þ �:û � ú õ�ÿ �bï)é^ú õ�ÿ��6� ö8î:Ù�ãUáÂäNëNì^ì�àNîÁñÃÛ �

l ö^ø S þ ÿ � � þ ø �6� � � Ti� ú)ø^ú õ þ TbS ö � üi� � û)ö� ï�þ þ TpS ö ÞÄû)ö�Þ�ô � � ú Tbkþ õ � û S öi�gþ�üi� � û)ö�� �L�T�

ÿ úUØ>ãÑäNëNì^ì�àNîÁñÂÝ�ë^á)ñ!ò8ß�î�ë8Ý òBî�üi� � û)ö�þ ò Û�þ�9 ò �/; ø�ß)ßMå^ì>ãhÙUØ>ãÿ î)å^ì�h>ãNá&ò8ßðò î�Ù8Ø�ãÓî>ã@÷)Ù£=)ô ä�Ø�à^á)àÁä@Ù�ãNáÁßzÛ�áÁãUà^ñ&òMÙ òBî�Ù�ë l �)ø[�d�:ö

l ö^ø S þ�üi� � û)ö�þ þ�; ò Û � � � þ � û���ï�=^ôÃÞbô �6� � � Ti� ú^ø)ú õ þ TpS ö �l �^ø�����ö

� ï�þ þ TpS ö ÞÄû)ö�Þ�ô � ú)ý^ö)û�|l � ú)ögþí��û � ú õ�ÿ ��ï)é)ú õ�ÿ��6� ö:á)áUë)áÑòBîkî)å)ì<h>ãNáÃÛ+Ù:á8êkàUè�à�òBî �m|T ú Tóò ô)ô

ö)û S � ï��[Uf$t�f�e�yNf§f�e)t�tB��adf���tB| g `ba�])f$[)`�� û ad|\})tBtB��tB��f [(t�})|���`btªf�e�yJf�yU}8_QfO`$yJadqda¨})cw�)q�yU} ¤ |���adqsq5�ÁtIadc^})[^`�tB�5��f�e)tï�=^ôÃÞ�ô ��adqsq¡f�e)t�}�e�yU})��qdtQyU}8_�`bt�yJq>[^`Ãa�}Uf$tBc8t�` g [^})|$f�y8}Uf�yU}8_^�ªe)t�`btIa�} f�e)t(})tB¢^f oUp g e�yU` y g f$t�`b|�v¦Ñ¬�tBqd�[J�§�)q�yU} ¤ |ª��adqdqÔ�Át g [^}8rUt�`bf$tB��a�}8f$[«?Bt�`�[�v

Â$%gÃIæ ç�ÆpË�eN�«Í7Ñ�Ñ�ËFèiÒpËFÙ§Q$ڳdzË]àË�N[8b^�G�:'.Fu�09:cO�a'/��F�1a)/�O�a)/��yU}8_�]�`�[Uc^`$yU{�|�yU`bt�a¨}8f$t�`$y g f$adrUt(yU})��})tBtB�2f$[wy gBg tB| |�fOe)tÏ�)|$t�` ÌÍ|§f$t�` {"a�}�yJqLvz¦Iqdf�e)[)�)c^e+f�e)tªf$t�`${"a�}�yJq�as|y�¬�qst��Ie)a g e g yU}¾��t g [^}�})t g f tB����adf�eXy8}�Tbk ö^û |$fOyJf$t�{"t�}8f n adf$|(}�yU{�tQad|�|$_)|$f$t�{Q�Ä��t�]�t�})��t�}8f�v���[)`bf�`$yU}|$[UqdrUtB|�fOe)tÊ]�`�[^�)qdt�{ �8_ ]�`b[Jr)as��a�})cÂf���[�|O]�t g a�yJq�¬�qdtB|¾�)|���yJqdqd_ g yNqsqdtB�&f�e)t¾|$f�yU})��y8`b�Ña¨}�]��)f ¬�qdt�yU})�f�e)t+|$f�yU})��y8`b��[)�)f�]��)f=¬�qstUvh �e)tB| tw¬�qdtB|2yU`�t�]�`btO� g [)}�})t g f$tB� n aLvÍtUvz})[ Tbk ö^û | f�yJf$t�{"t�}8f(ad|2})tBtB��tB�!Õ�[^`]�t�` {"adf$f$tB��ÖBv� �e)tB_Xy8`bt(��[UfOe+�L[^`${wyJf f$tB�2| t3Ô:�)t�}8f$a�yJq¡¬�qstB|(y8})� n [^}�a�}8f$t�`$y g f asr8t(|$_)|$f$t�{"| n e�yU})��qdt"a¨}�]��)fyU})�h[^�)fO]��)fwf$[�f�e)t�f t�`${"a�}�yJqLvY�z[)� g yU}�l ö^ø ShyU})� �|l � ú^ö �Ä`b[^{ f�e)tB|$t+¬�qdtB|�|$a�{w])qd_��U_he�yMr^a�})chyU}yJ|$f t�`bad| ¤ © ÿ «QyJ|�f�e)t���})adf�as��t�}8f$a�¬�t�`Bv� �e)tB|$tª¬�qdtB|�{wy ¤ tªf$t�`${�a¨}�yNq����UÅ |$a�{w])qdt(yU})��]Á[^`bf�y8�)qstU�ÁtB¢:yU{�])qstB|[J�zf�e)tBa�`��)|$t g yU}���t��Ð[^��})��f�e�`b[^�)c)e)[^�)f�f�e)ad|Ï�Á[^[ ¤ v� e)t�}ÑyÓ]�`b[Uc^` yU{ ad|X`$��}Âa�} ��yNf g eÂ{"[)��tÊ{�[U|$f+|$_^| f$t�{"|�yU`$`$yU})c8t+�Ð[^`�|$f�y8})��yU`b��[)�)f�]��)f2f [ �Át

��adrUt�`bf$tB�¾f$[+y"qd[Ucw¬�qdt"[^`�f [2f�e)t=|$_)|$f$t�{Æ]�`ba�}8f$t�`Bv� �e)t�`�tQ{wyM_���t"|$[^{"t=|$a�{"adq�yU`�yU`$`$y8})cUt�{"t�}8f§�L[^`�f�e)t|$f�y8})��yU`b��a�}�]��)f�¬�qdtUv �e)tXyJ|$f$t�`�as| ¤ })[UfOyJf$ad[^}Óe�yJ|w[^})t�|$qdadc^e8fw��`$yM�I��y gB¤ ×wf�e)tX��})adf2})��{"��t�`b|wad|+[J�Lf$t�}�|O]�t g a�¬�tB�k�U_hyU}

a�}Uf tBcUt�`ªr@yU`�a¨y8�)qst�|$[�f�e�yJfªf�e)t"|$[^��` g t=[J��a�}�]��)f=[^`���tB| f$a�}�yJf$ad[^}¾[J�§[)�)f�]��)f g yU}¾��t"|$��adf g e)tB�¾�Ä`b[^{ [^})t¬�qdt�f$[Ïy8})[Uf�e)t�`5{"t�`�tBqs_"��t�yJqdf$t�`ba�})c�f�e)tÃr@yJq��)t�[J��f�e)ad|za�}8f$tBcUt�`Bv �e)ad| g yU}�})[Ufz��t���[^})t§��asfOe(fOe)t§|$f�y8})��yU`b�a�}�]��)fI[)`�[^�)f�]��)f�¬�qdtB|�v

��/�,)N�8yXM89N�Ø Hd67:<:)N�H�/3N�ex4�G�usN[2�Ä}�[^`b��t�`zf [(`btBf�yJa�} g [^{�]�yJf$a��)adqsadfb_w��adf�e���[^`bfO`$yU}�BpB n {wyU}8_(| _^|$f t�{"|�]�`b[Jr)ad��t�[Uf�e)t�`z]�`btO� g [)}�})t g f$tB�w¬�qdtB|�v�Lf+�)|$tB�hf$[��Át g �)|$f [^{wyU`b_¾f$[�e�yMrUt���})adf È g [^}�})t g f$tB�hf [�fOe)t g yU`��)��`bt�yJ��t�` n yU})�h��})asf1B¾f$[XfOe)t�qsa�})t]�`ba�}8f$t�`Bv�Ūf�e)t�`���})asf |2��t�`btX�)|���yNqsqd_ g [^}�})t g f$tB��f [���ad| g ¬�qdtB|���adf�ehyU]�]�`b[^]�`�a¨yNf$tX}�yU{"tB|�× f�e^�)|+��})asf�Ul {"adc^e8f(��t g [^}�})t g f$tB��f [�y�¬�qdt g yJqdqdtB� ï^ú)û�ô<A)ó§Þ S ø^ú [^`�tBrUt�} ú)ø k ö�A)ó vÏ �e)tB|$tw]�`btO� g [^}�})t g f$ad[^})|"yU`btg [^{w])qdtBf$tBqd_�[^�)|$[UqdtBf$twyU})��|�e)[^�)qd����t(adc^})[)`btB�5×�yU}RTbk ö^û |$f�yJf t�{"t�}Uf g yU}�|���]Át�`b|$tB��t2y�]�`btO� g [^}�})t g f$ad[^}[^}�yU}8_�}^��{"��t�`�tB�Ê��})adf�v��ª}8�Ð[^`�f���}�yJf$tBqd_�f�e)tB|$t�[)�)|$[UqdtBf$tQ]�`�tO� g [^}�})t g f$ad[^})| g yU}�e�y�r8t(��})tB¢:]Át g f$tB�¾|$ad��ttå�5t g f$|�v"����_U[^� �Ð[)`bcUtBfªf$[�[^]�t�}~yU}�[^�)f�]��)fª¬�qdtw_U[^�¾{wyM_ ¬�})��f�e�yJfª_U[^��`�]�`b[8c^`$yU{ ��adqdq�`$��}¾��asfOe)[^�)ft�`$`b[)`����)fªf�e�yJf�f�e)t"`btB|��)qdf$|���asqdqz��t"e)as����t�}�[^}�yQ¬�qst=��adf�e�[)})t�[J�ÔfOe)tB|$t�|�]�t g a�yJqz}�yU{"tB|Mv

Page 93: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� lp�

Â$%gÃPO Ä�ÆpÆbÍ7ÆRÅ'Ñ�Ù¼Ä�Ñ�Ù(eNR©à4e�Q$Ú³Ç�Ëb�«Í7Ñ�Ù�Ú�ÒpÚ³Í�Ñ�à�§` `b[^`b|+a�}�{"[8|$f2tB¢)t g �)f�yU�)qdtÓ|$f�yJf t�{"t�}Uf | g yU} ��t�]�`btBr8t�}Uf$tB�&�U_Âf�y ¤ a¨})ch|O�bÜ g adt�}Uf g yU`bt¾a�}Ñ�I`�asf a¨})cf�e)tw]�`b[Uc)`$yU{ n ���)f�a�}Ó�Ä�UÅ |$f�yNf$t�{"t�}8f$|�t�`$`b[^`�| g yU}~��t g yU�)| tB���U_�tBrUt�}8f$|(��tB_U[)})��f�e)t g [^}8f�`b[8q�[J��f�e)t]�`b[Uc)`$yU{w{"t�` ×"�L[^`"tB¢�yU{w])qdtXf�e�`�[^�)c^eÓf�`b_)a�})c�f$[¾[^]Át�}�y�¬�qdtX�ªe)a g e�})[~qs[)})cUt�`wtB¢)ad|$f$| n �I`badf$a�})cÓf$[�y��ad| g �Ie)a g e¾ad|ª�É�)qdq n [^`ª`bt�yJ��a�})cXy+��yJf�y�¬�qdtw�Ie)a g e~e�yJ|(��tBt�} g `�t�yJf$tB�¾��adf�e�f�e)t"�I`b[^})c��L[^`${wyJfMvÏ�)a�} g t�Ä�8Å |$f�yJf t�{"t�}Uf |�yU`�t�|$[hr��)q¨})t�` yU�)qdt n ��[^`bf�`$y8}�]�`b[Jr)as��tB|¾yU}Ât�`$`b[^`���e�yU})��qda¨})ck{"t g e�yU})ad|�{ �Ð[^`+fOe)t�{�v �e)t�`bt�yU`bt�y g f���yNqsqd_+fb��[=��a��t�`�t�}Uf���yM_^|Ã[J�Ôe�yU})��qda�})c2t�` `b[^`b|Ã�Ie)a g e�{wyM_2�ÁtÏ�)| tB��a¨})��t�]Át�})��t�}Uf qs_�[^`Ãa�}g [^{"�)a�}�yJf$ad[^}>v�za¨`�|$f$qd_ n _U[^� g y8}�a�} g q��)��tQa�} f�e)t(�Ä�UÅ g [^}8f�`b[Uq>qdad|$fÏy8}+asf t�{Æ[J�f�e)t��L[^`${�×

� T|� ú)ø^ú õ ò î�Ù�ãJè�ãUá�9�g�à^á�òJà$h>â^ã� e)t�}hf�e)t�| f�yJf$t�{"t�}8fwe�yJ|wtB¢)t g �)f$tB�Ñf�e)t�a�}Uf tBcUt�`"r@y8`ba�yU�)qdtÒÕÐ[^`wyU`$` y�_~tBqst�{�t�}Uf�Ö���adqsq���t¾yJ|$|$adc^})tB�Ñyr@yNq¨�)t+`bt�]�`btB|$t�}8f$a�})cXf�e)tw���UÅÎ|$f�yNf��)|�v(�Ð��f�e)tw| f�yJf$t�{"t�}8f�e�yJ| g [^{w])qdtBf$tB��|O� gBg tB|$|b�Ä�)qsqd_�fOe)as|=r@yU`�a¨y8�)qst�as||$tBfªf$[1?Bt�`b[ n [Uf�e)t�`b��ad|$t=adf�as|ª|$tBfªf$[+|$[^{"t=[Uf�e)t�`�r@yJq��)t n y+]�[U|$adf$adrUtw})��{"��t�`ªa��\yU} t�`$`b[^`�e�yJ|I[ gBg ��`$`btB� n[^`ªyw})tBc^yJf asr8tQrJyJq��)t"a �§fOe)tQt�})��[J��yU} a¨}�]��)fª¬�qdt"��yJ|���tBf$t g f tB�5vÏ�)a�} g t"f�e)t=r@yJq��)tw[J�zf�e)ad|�|$f�yNf��)| g [)��tad|"|$_^| f$t�{=�Ä��t�]�t�})��t�}8f n a�}h]�[^`bfOyU�)qdt2|$[N�Ðfb��yU`btwfOe)t�{"[8|$f(_U[)� g yU}~��[�ad|wf [ g [^{w]�y8`bt2adf"f$[�?Bt�`b[�yU})� n]�[8|$|$a��)qd_ n `bt�]�[^`�f�fOe)tQy g f���yNq�t�` `b[^` g [)��t�f$[wf�e)t(�)| t�`Bv§ �e)�)|�×

ò ô^ô �il � ú)ö�þ �:û � ú õ�ÿ �+ï^é)ú õ�ÿ��K� ö8î:Ù�ãNá îÁàNì>ã ëUí!ò î^Ú)å�Ùkí�ò8â)ãÔÛ �l ö^ø S þí��û � ú õ�ÿ �2ï)é^ú õ�ÿ�� ï)û^ø)é^öTbk ö)ûgþí��û � ú õ�� û k ��ú��+ï � �Uö õ ï^û)ø^é)ö�� � ú^ø)úp� � õ(� T � S � � � Ti� ú)ø)ú õ þ TbS ö �� ï�þ þ TpS ö ÞÄû)ö�Þ�ô � ú)ý^ö)û

�|l � ú)ögþí��û � ú õ�ÿ ��ï)é)ú õ�ÿ�� ï)û^ø)éUö�� � äNàNî)îÁë8Ù�h�ã�ëNÚ�ãMî�ãUñ �m|T ú Tóò ô)ô

ö)û S � ï �e)ad|�|$a�{w])qdt�t�`$`�[^`���e�yU})��qda�})cw| g e)t�{"t({wy ¤ tB|§f�e)t�]�`b[Uc^` yU{"Á$�)|$f�y=qsadf$f qst({�[^`bt��)|$t�`��L�Ä`badt�})��qs_>×Ãa �zf�e)t�¬�qdtg yU}�})[Ufª��t([)]�t�})tB� n ]�t�`$e�yU])|���t g y8�)|$t(adf���[)tB|Ï})[8f�tB¢^ad|$f n f�e)t(]�`b[Uc)`$yU{ÎyJ| ¤ |��L[^`�yU})[Uf�e)t�`ì�qdtO��}�yU{�tUv �e)t�|$t g [^})�¾{"tBf�e)[)�Xad|�f$[wa�} g q��)��twyU}�adf$t�{ [J�ÔfOe)tª�Ð[^` {

ö l|l õ âNà h�ã)â�Ie)a g e g yU�)|$tB| g [^}UfO`b[Uqf$[X��twfO`$yU})|b�Lt�`$`btB�¾f$[�f�e)t"|$fOyJf$t�{"t�}8f(yJf$f�y g e)tB�¾f$[+f�e�yJf�q�yU�ÁtBq§a�}¾f�e)twtBr8t�}Uf�[J�yU} t�`$`b[^`Bvà�e)ad|Ï{"�)|$f n [J� g [)��`b|$t n ��tQy8}�tB¢)t g �)f�yU�)qdt"|$f�yJf$t�{�t�}Uf�yU})��a¨}�f�e)t�|OyU{"tQ]�`�[Uc^`$yU{Î��})adf�v���[^`tB¢�yU{w])qdtU×

l ö^ø S þí��û � ú õ�� û��+ï^é)ú õ�ÿ ��ö lil õ ó)ó^ó � � T �Uú � ��ø)é k[�� ø^ú)ú � õ � T �Uú � ÿ ø)é k��

ÿ áÁã^ßJÙkëUíðÚÁá)ëUè�á)àJì ò î Ø>ãUá�ãÆÞkÞkÞ Þ Þ�àJî�ñÑí>òBî�à�â)âJê� ú Tbk

ó)ó^ó �il � ú)ö�þ �:û � ú õ�ÿ �bï)é^ú õ�ÿ��6� ö�á^á)ë)áhá�ãUà^ñ�ò î:è"� T �8ú � ë)áÂø^é k[� �ö)û S

 �e)ad|Q{�tBf�e)[^��e�yJ|�adf$|(�)| tB|Q���)f�ad|�[^]�t�}Êf$[�f�e)t"|�yU{"t"[^�[Á�t g f$ad[^})|(yN|If�e)t1m|T ú T�|$f�yNf$t�{"t�}8f�×�adf�[J�Lf$t�}qdt�yJ��|ªf$[w��yJ��qd_U�Ä|$fO`$� g f���`btB��]�`b[Uc)`$yU{"|���adf�e+qd[Uf$|�[J� y8`$�)adf�`$yU`b_EÁ$��{w])|�v£§_X�)| a¨})c���[8f�e � T|� ú)ø^ú õ yU})� ö lil õ a�}�f�e)t�|�yU{"t=|$f�yJf t�{"t�}Uf�adfªas|�]�[8|$|$a��)qdtQf ["¬�})�¾[^�)f�f�e)t"y g f���yJq

t�`$`b[)`I})��{"��t�`�yU})�1Á$��{w]�f$[2fOe)tQt�` `b[^`���e�yU})��qda�})c g [)��tUv( �e)tw]�`btB| t�} g tQ[N��tBadf�e)t�` ¤ tB_)��[^`b�Xa�}�y8}X�Ä�8Å|$f�yNf$t�{"t�}8f���adqdq�yJqdqd[J�hf�e)t�]�`b[Uc^`$y8{kf$[ g [^}8f$a�}^�)tªyM�Ðf t�`�yU}"���UÅÂt�`$`b[^`B�J[)}Q{�[U|$f|$_^| f$t�{"|asf§yNqs| [(]�`btBrUt�}8f$|yU}+t�`$`�[^`�{"tB|$|OyJcUt���tBa�})c�ad|$|��)tB�5v �e)t ö lil õ y8})� � T|� ú^ø)ú õ asf t�{"| g yU}X�Át2�)|$tB�¾a�}¾yJqdq§�Ä�UÅ�|$f�yJf$t�{�t�}Uf$|MvIx§`�[J�ÐtB| |$ad[^}�yJqz]�`b[Uc^`$y8{w{"t�`b|

Page 94: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� l >

|�e)[^�)qd�h{wy ¤ t"tB¢)f$t�})|$adrUt2�)| tw[J��f�e)tB|$t"t�`$`b[)`���e�yU})��qda�})cÊ{�t g e�yU})ad|�{�|(f$[�t�}�e�yU} g t+f�e)t2`�[^���)|$f�})tB|$|"yU})��)|$t�`��L�Ä`badt�})��qda�})tB|$|([J�zf�e)tBa�`�|$[J�Lf���yU`�tUv �e)t�`btwad|([)})t"�ÉyNa¨`�qs_ g [^{�{"[^}�{"ad|$fOy ¤ t"�Ie)a g e~��[)tB|Q})[Uf g [^��}8fQyN|(yU}¾t�`$`b[)`b|��L[^`�f�e)ad|Q]���`$]Á[U|$tU×�a��

_U[^���I`badf$t(y"})��{"��t�`�f$[wy��L[^`${wyJf f$tB�2`bt g [^`��X�)|$a�})c2y�¬�tBqs����ad��f�e+f$[)[w}�yU`$`b[J�Ñf$[ g [^}8f�yJa�}wadf n f�e)t�¬�tBqd���adqdq�| a¨{�])qs_X�Át�¬�qdqdtB�¾��adf�eXyJ| f$t�`bad| ¤ |�v���ÏyU}~t�`$`b[)`�[ gBg ��`b|"a¨}hy���yJfOy�f�`$y8})|b�Ðt�`�|$f�yJf t�{"t�}Uf=f�e)t�}~f�e)t�]Á[U|$adf$ad[^}Ó[J��f�e)t�¬�qdtX��t g [^{�tB|Qa�})��tO�

f$t�`${�a¨}�yNf$tUv��Lf({wyM_X��t�Ô��)adf$t"��a�Ü g �)qsf=f$[+qs[ g yJf$t"f�e)t"[��5t�})��a�})cX`bt g [^`��Xa��IyU}�t�`$`�[^`�ad|���tBf$t g f tB���ªe)t�}f�`$y8})|b�Ðt�` `ba�})c2y"q�yU`bcUt(y8`$`$yM_w[^`��)| a¨})c�y=q�yU`bcUt"}^��{"��t�`\[J� `�t g [^`b��|�v

�ª:ce6Øí6F¢¯Ø�¥�uvN��1N|/3N�H�/�Gs67:¦"l ö)ø SQ| f�yJf$t�{"t�}8fz�Ie)a g ewf�`�astB|Ãf$[(`bt�yJ�+y(`bt g [^`��2��tB_U[)})�2f�e)t�t�})�2[J�5y�|$t3Ô��)t�}8f$a�yJq�[^` a�}Uf$t�` }�yJq�¬�qdtª��adqsqf�`badcUc8t�`§fOe)t�t�})�)�Ä[J�D�L¬�qdt g [^})��adf$ad[^}>v��Ð� y8}wadf$t�{Î[N��f�e)tª�L[^`${�× � T|� ú^ø)ú õ ò î:Ù�ãJè�ãUá<9)g�à^á�ò@à h>â^ã ad|�a�} g q��)��tB�a�}�adf$| g [)}Uf�`�[Uq��Äqsad|$fªf�e)t�}+f�e)t�| f�yJf��)|�r@yNq¨�)t=��adqdqÔ�Át(`btBf���`$})tB�¾yJ|�|$[^{"t(})tBc^yNf$adrUt(}^��{"�Át�`Bv§���zadf�a�} g q��)��tB|yU} asf t�{Æ[J�zf�e)t��Ð[^` {�× ö)û S õ âUà h�ã)â fOe)t�} g [^}8f�`b[Uq¡as|ªf�`$y8})|b�Ðt�` `btB��f$[wf�e)t=q�yU��tBqdqdtB��| f�yJf$t�{"t�}8f��Ie)t�}�f�e)tt�})�)�Ä[J���L¬�qdt g [)})��asf as[)}�ad|I��tBf t g f$tB�5v �e)t ö)û S õ ¤ tB_)��[^`b�w{wyM_([)})qs_w�ÁtÏ�)|$tB��a¨}�l ö^ø S(|$fOyJf$t�{"t�}8f$| n ���)fzadf§ad| g yU}w�ÁtI�)|$tB�wa�}�f�e)tI]�`btB| t�} g t

[J�§��[UfOe ö l|l õ yU})� � Ti� ú)ø^ú õ ¤ tB_^��[^`���|�v �Ã})�)�Ä[J���L¬�qst"��tBf$t g f as[)}Xad|ªrUt�`b_X�)|$tO�Ä�)q�Ie)t�}X`bt�yN��a¨})cXyQ¬�qst"[J���} ¤ })[@�ª}�qdt�})cUf�e n ���)f"|$[^{�t g yU�)f$ad[^}¾ad|w})t g tB|$|�y8`b_UvX���ª_U[^��`bt�yN��|$tBrUt�`$yNq�`bt g [^`���|QyJf"y�f$a�{"t"�Ä`b[^{�y�L[^`${wyJf f$tB�w¬�qdt=f�e)t�`bt�ad|I})[wt�yJ| _2��yM_w[J� ¤ })[J��a�})cwtB¢�y g f$qd_+�Ie)t�`bt�f�e)t�t�})�)�Ä[N�D�L¬�qdt g [^})��adf$ad[^}�[ gBg ��`$`btB�5v �e)t"��yJf�y�qsad|$f�adf$t�{�|(��tB_U[^})�¾f�e�yNfI]�[Ua�}8f���adqdq§e�y�r8t(f�e)tBa�`ªr@yNq¨�)tB|(��}�yNqsf t�`btB�5v���[Uf tQyJqd|$[+f�e�yJfªf�e)t�`bt=as|})[ g [^} g t�])fª[J�zt�})�)�Ä[J���L¬�qst=[^}+��a�`bt g fb��y gBg tB| |ª¬�qstB|Mקadf�ad|ª|$a�{w])qd_XyU}+t�`$`b[^`\f$[w`bt�yJ�Xyw`bt g [)`b���Ie)a g e ��[^tB|})[Uf�tB¢)ad|$f n �ªe)tBf�e)t�`�adfIad|���tB_U[)})��f�e)tX©$t�})��«�[J�ÔfOe)tª¬�qst=[^`�})[UfMv��[8|$f�|$_)|$f$t�{"|ª]�`b[Jr^ad��t"|$[^{"t({�tBf�e)[^� �Ð[)`�|$adc^}�yNqsqda�})cXt�})�)�Ä[N�D�L¬�qdt"[^}�f t�`${"a�}�yJqa¨}�]��)fM×�f�e)[U|$t(��yJ| tB�

[^}"fOe)t�¦���Z��b� g [)��tI[J�Lf$t�}"�)|$t�fOe)t g e�y8`$y g f$t�`g�à � �Ie)a g e"ad|��)|���yJqdqd_�]�`b[)��� g tB�2�8_w]�`btB|$|$a�})c g [^}8f�`b[Uq���F[^}+f�e)t ¤ tB_:�Á[^yU`b��Õ�[)` �ÃÅ� Ñ�Ie)a g e�ad| g [^}8f�`b[Uq��J�(Ö v^¦��Lf$t�`�yU}�t�})�)�Ä[J���L¬�qst g [^})��adf$ad[^}�e�yJ|I�ÁtBt�}X`$yJad|$tB��a�}f�e)ad|ª�\yM_wadfI{�y�_�]�t�`�|$ad|$f n ]�`btBr8t�}Uf$a�})c��É��`�f�e)t�`�f$t�`${�a¨}�yNq5a�}�]��)fIf$[�f�e�yJf�]�`b[Uc^` yU{�v��[^`${�yJqdqs_ n f�e)tª��[)`bf�`$yU}��)f�yU})��yU`b��[^})qd_�`bt3Ô��)a�`btB|���[^`�f�`$yU}"| _^|$f t�{"|§f$[=��tBf$t g f�f�e)tªt�})�)�Ä[J�D�L¬�qdt g [^})��a��

f$ad[^}+[^}+tB¢)f$t�`$}�yNq�¬�qdtB|�a��§f�e)t�`�tIad|�y(|O]�t g a�yJqª©$t�})�)�L¬�qdtB«�`bt g [)`b�2[)}+f�e)t�t�})�5v§ �e)t ö)û S ï � �Uö |$f�yJf$t�{�t�}Ufad|�]�`b[Jr)ad��tB�w|�]�t g a�¬ g yJqdqd_+f$[��I`badf$t�|�� g ewy�`bt g [^`��5vÔ��}w]�`$y g f a g t n e)[J��tBr8t�` n r^a�`bfO��yJqdqs_+yJqdq���[^`bfO`$yU}�| _^|$f t�{"|`btB|�]Á[^})��]Át�`��Lt g f$qd_���tBqdq5�ªe)t�}+_U[^�+f�`b_�f$[2`bt�yJ��fOe)tª¬�`b|$fI})[^}8�ÄtB¢)ad|$f$t�}8fI`bt g [^`�� n |$["f�e�yJf�fOe)t ö^û S ï � �Uö|$f�yNf$t�{"t�}8f�ad|ªtå�5t g f$adrUtBqd_�[^�)|$[UqdtBf$t(yU})��ad|Ï})[Uf�`bt g [){w{"t�})��tB���L[^`�c8t�})t�`$yJq��)|$tUv

Â$%gÃVU QgÍ�ÆpÏÊÅ]ÒJØ�Î�Ë]è�Ú=<�è�ÅFÒpÚ�Í7Ñ�à�zr8t�`b_RQ��z¦ª� ë^á �il � ú)ö |$f�yJf t�{"t�}Uf��Ie)a g e��)| tB|(y"�L[^`${wyNf$f$tB��tB¢)f$t�`$}�yJq¡¬�qdtw[^`ªyU}�a�}8f$t�`$}�yJq¬�qdtw{"�)|$fa�} g q��)��t2y��Ð[^` {wyJf�ad��t�}Uf$a�¬�t�`Bv� �e)as|�{wyM_2e�yMrUt(yU}8_+[J��f�e)t��Ð[Uqdqd[J��a�})cw�L[^`${�|�×

ï)é^ú õ�ÿ  �e)ad|�|�]Át g a ¬�tB|ªy(qdad|$fb�Ä��a�`bt g f tB�Xf�`$y8})|b�Ðt�`ªÕLyU})�+ad|�[)})qs_�]�t�` {"adf$f$tB�+�L[^`ztB¢)f$t�`$}�yJq�|$t3Ô��)t�}Uf$a�yJq�¬�qdtB|�ÖBv��tBf�yJadqdtB��`$�)qdtB|�yU`bt�cUadrUt�}+a�}�| t g f$ad[^} j�p v j�p ��tBqd[J�(v

ï)é^ú õ ¶dµ<µ ±�¶Ã �e)t�q�yU��tBq>{"�)|$f§��tIyNf$f�y g e)tB�"f$[(yª�ÔÅ$Q ��¦§ Ò|$f�yJf t�{"t�}Ufa�}"f�e)t�|OyU{"t�]�`b[Uc^` yU{!��})adf§�Ie)a g e]�`b[Jr^ad��tB|�f�e)t��Ð[)`${wyJfÃ|�]�t g a�¬ g yJf$ad[^}>v

ï)é^ú õ �i®^µU®]Û�± ³ ð �e)t(r@yNq¨�)t=[J�zf�e)t g e�y8`$y g f$t�`�tB¢�]�`btB|$| as[)}�ad|Iy g [^{�])qstBf t��L[^`${wyJf�|�]Át g a�¬ g yJf$ad[^}>vï)é^ú õ �i®^µU®]Û�µU®O®bµ�«� �e)t�tBqdt�{"t�}8f$|Ã[J��f�e)t g e�y8`$y g f$t�`zyU` `$yM_ g [^}8f�yJa�}"fOe)t§�L[^`${�yJf5|�]Át g a ¬ g yNf$ad[^} n �Ie)a g eQ{�y�_

[ gBg ��]8_�yN|I{wyU}8_2tBqdt�{"t�}8f$|ª[J�zf�e)t(yU`$`$yM_2yN|IyU`bt(})t g tB|$|OyU`b_Uv

Page 95: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� lUÈ

��[Uf$twf�e�yNf�f�e)t g e�yU`$y g f$t�`�| ï^é)ú õ {wyM_¾��t+[^{"adf$f$tB��a���adf(ad|"f�e)tw|$t g [)})��adf$t�{�a¨}~f�e)t2���UÅ g [^}8f�`b[8qzqsad|$fyU})��a��§f�e)t(��})adfªas��t�}8f$a�¬�t�`ª��adf�e �:û � ú õ [^{�asf f$tB� g [^{"tB|�¬�`�|$f�v¦ �L[^`${wyJf�|�]�t g a�¬ g yJf$ad[^} g [^})|$ad|$f |Xyh]�yJa�`+[J�Q]�yU`bt�}8f�e)tB|$tB|�t�} g qd[U|$a�})cky~qsad|$f�[J�(adf$t�{"| g yJqdqstB� tB��asf

��tB| g `ba�])f$[)`b|�vª¦Ï}8_X�)q�yU} ¤ |(��tO�L[^`bt"f�e)t"qdtO�Ðf�]�yU`bt�}8f�e)tB|$ad|���adqdq§��t"adc^})[^`btB��yU})��Õ�tB¢ g t�])fªa¨}~yw�zÅ$Q��¾¦§ |$f�yNf$t�{"t�}8f�Ö�yJqdq g e�y8`$y g f$t�`b|�yM�Lf$t�`�fOe)t({wyJf g e)a�})c2`badc^e8fI]�yU`bt�}8f�e)tB|$ad|�yU`bt�adc^})[^`btB�5v�Ä}+{"[U|$f g yJ|$tB|�f�e)t��Ð[^` {wyJf g yU}+��t g e)[U|$t�}��Ie)t�}�f�e)tÏ]�`�[Uc^`$yU{�ad|��ª`badf$f$t�}+yU})�2fOe)tI|$a�{w])qdtB|$f�[^])f$ad[^}

ad|If [��)| tQy g e�yU`$y g f t�` g [)})|$f�yU}8f�×�il � ú)ö�þ �:û � ú õ � k �2ï)é)ú õ�� þ ò ���bø��bï ò ôÃÞ ô �6�T�S� ï:áÁãUõJå>ã�î>äJê õ�� ��ý)ö l ú ¢

¦ªqsf t�`$}�yJf$adrUtBqd_�_U[^� g y8}X�)|$t(y ï Tbl é)ø^ú |$f�yJf$t�{�t�}Uf�×

�il � ú)ö�þ �:û � ú õ � k �2ï)é)ú õ ó ò9ô ��� ï�á�ãUõJå>ãMî�äJê õ�� ��ý^ö l ú ¢ó ò�ô ï Tpl é)ø^úgþ ò ����ø���ï ò ôÃÞ ô � �e)ad|IyJqdqd[J��|�f�e)tª|�yU{"t��Ð[)`${wyJfÃf$[w��t(�)|$tB���U_�{"[^`�t�f�e�yU}�[^})t���yJf�y@�Äf�`$yU})|b�Lt�`z| f�yJf$t�{"t�}8f�v �e)t ï Tbl é^ø)ú|$f�yNf$t�{"t�}8f�{wyM_ÏyNqs| [I��t�f�e)t�})t�yJf$t�`��L[^`${Ña���f�e)tÃ|�]�t g a�¬ g yJf as[)}"ad|�qd[^})c�yU})� g [){w])qda g yNf$tB� n [^`�a � g e�yU`$y g f$t�`��g [^})|$fOyU}Uf���tB| g `ba�])f$[^`b|�yU`bt=a�}UrU[8qsr8tB� n |$a�} g t"f�e)t=t�} g qs[8|$a�})cXyU]�[U| f�`b[^]�e)tB|�e�yMrUt�f$[2�ÁtQ��[)���)qstB����] a ��f�e)t�Ie)[Uqdt��Ð[^` {wyJf�ad|I]�yU`bf�[N� yU})[8f�e)t�` g e�yU`$y g f$t�` g [^})| f�yU}8f�v�Lf�ad|�yJqd|$[w]�[8|$|$a��)qdt�f$[ g [^{�]��)f$tIy��Ð[)`${wyJfz|�]Át g a�¬ g yJf$ad[^}�yJf�`$��}8�Äf$a�{"t��U_w�)|$a�})c2y�|��)adf�yU�)qdt g e�yU`$y g f$t�`

tB¢�]�`btB|$|$ad[^}>v"£Ã_�fOe)as|({�t�yU})|�_U[^� g [^�)qd� n �L[^`ªtB¢�yU{w])qdt n y8`$`$yU})cUt=f$[�`bt�yJ�¾f�e)t=�Ð[)`${wyJfª|�]�t g a�¬ g yJf as[)}�[J�y���yJf�y�¬�qst��É`b[){Îf�e)t=¬�`b|$f�`bt g [^`b��[J�§f�e)t=¬�qdtUv( �e)t"]�`b[Uc^`$y8{Î�Ä`$yJc^{�t�}UfI�ÁtBqd[@�!|Oe)[@��|Ïe)[J�&f$[2[)�)f�]��)fyX`�t�yJq§}^��{"�Át�`(a�}ʬ�¢^tB�)��]Á[Ua�}Uf��Ð[^` {wyJf2Õ�� j�p v o Ö��Ie)t�}¾adf"as|"|�{�yJqdq n g e�yU})cUa�})c¾f$[�tB¢�]�[^})t�}8f$a�yJqÃ�Ð[)`${wyJfÕ�� j�m v�BUÖ �Ie)t�}�adf�ad|ªq�yU`bcUt�`Bv ¦�f�e�`�tB|�e)[Uqd�X[J�§yw{"adqdqdad[^}¾e�yJ|I��tBt�} g e)[8|$t�}Xe)t�`btUv

ü8ý^ø l ø:ü8ú^ö l ï ò ÿ þ ÿ�� ��ï�= ÿ ò =g��ï�A ÿ þ ÿ��ÿi� Ù�ã�ì>ßhï ò ��ï�=��Xï�AÂØ�ë�âUñÂÙUØ>ãhÙUØ�á�ã)ãÓÚÁà)á8Ù�ß ë8íkàÑí�ë^áNìÁà8Ù&ß�Ú>ã)ä:òMí�ò8äUàUÙ>ò@ëNî�Þÿ ï ò àNîÁñÑï�AÑà^áÁãkäUëJî>ßJÙ:àNî:Ù�ß<�2ï�=!òUßÑàEg�à)á�òJà$h>â)ãÔÞ

k ø l ø)é^ö)ú^ö l þ$ï ò õä� þ ò ��� ��� k ãNà8ækß�òMÿ�ã õ���� � �T�k ø l ø)é^ö)ú^ö l þ$ï�A õä���K���

ÿ Þ^Þ)Þ�äNàÁâ^äMå>âNà8Ù�òJëNî ë8í k ö)ø)þ�à�ß)ßMå^ì>ãNñÒÙ:ë¤h�ã�ò îÑØ�ãUáÁã� ï�þ k ö^ø)þ Þ �8ú�Þ ò Þ�ô8ö M � ú)ý^ö)û

ï�= õä� ï ò ôÃÞ*= �ö�� � ö

ï�= õä� ö ò ?ÃÞ M �ö)û S � ï�il � ú)ö�þ �:û � ú õ�ÿ �+ï^é)ú õ ï ò Ü)ÜJï�=ÁÜ^ÜJï�A � k ö)ø^þ

��[Uf$t(fOe�yJfIfOe)tQyU]Á[U|$f�`b[)]�e)tB|I|���` `b[^��})��a�})c�f�e)t g e�y8`$y g f$t�` g [)})|$f�yU}8f � k ãNà8æ&ß:òMÿ�ã õ�� e�yMrUtQ�ÁtBt�}X��[)�8��)qdtB�¾a¨}�f�e)tEk ø l ø^é)ö^ú)ö lw|$f�yJf t�{"t�}Ufª��t g yU�)|$t"f�e)tB_Xy8`bt�a�})|$ad��t2yU})[Uf�e)t�` g e�yU` y g f$t�` g [^})| f�yU}8f�v ��t�`bt"yU`btfb��[QtB¢�yU{w])qdtB|ª[J�z[^�)f�]��)fI`bt g [)`b��| n ��adf�eX�)q�yU} ¤ |ª|�e)[J�I}+tB¢:])qda g adf$qd_�×

k ãNà8æ&ß:òMÿ�ã õ ò =<A >[ô Þ M @k ãNà8æ&ß:òMÿ�ã õ ôÃÞbó<?�@ Miô)> ö�;^ô�?ï Tpl é^ø)ú 2n/3.�/3NF^JN]:F/ �e)t ï Tbl é)ø^ú | f�yJf$t�{"t�}8f�ad| g q�yJ|$| tB��yJ|(})[^}8�ÄtB¢)t g �)f�yU�)qdt�yU})� g yU} n a�}Ó]�`ba�} g a¨])qdt n c8[XyJq�{"[U|$f(yU}8_)�Ie)t�`bta�}�f�e)tw]�`b[Uc^`$y8{Æ��})adf�vª¦ ï Tbl é)ø)ú |$f�yJf$t�{�t�}Uf g y8} n [J� g [^��`b|$t n ��t g [^}8f$a�})�)tB��| [2adf$|({wyN¢^a�{"��{Æqdt�})cUfOead| o8p qda¨})tB|Mv� �e)t=|�yU{"t ï Tbl é)ø^ú |$f�yJf$t�{�t�}Uf g y8}���tQ�)| tB���8_�{"[)`bt�f�e�yU}+[^})t=��yJf�y=f�`$y8})|b�Ðt�`\|$f�yJf$t�{�t�}Uf

Page 96: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� l B

yU})� n ��})qdtB|$|"adf g [^}8f�yJa�})| g e�yU`$y g f$t�` g [^})| f�yU}8f���tB| g `ba�])f$[^`b| n �)| tB���L[^`���[8f�e¾a�}�]��)f2yU})��[)�)f�]��)f�v2�)a�} g tadf"as|�rUt�`b_¾t�yJ|$_�f [Ê{�y ¤ t2y¾{"ad|$f�y ¤ twa�}h{wyJf g e)a�})c¾f�e)t2adf$t�{�|wa�}hy���yJf�y�f�` yU})|b�Lt�`�qdad|$fw��adf�e~f�e)t+tB��asf��tB| g `ba�])f$[)`b|�a�}XfOe)t��L[^`${wyJf�|�]�t g a�¬ g yJf$ad[^} n adf�{wy ¤ tB|ª|$t�})|$t"f$[2]��)f�fOe)t ï Tpl é^ø)ú |$f�yNf$t�{"t�}8fIyJ| g qs[8|$twyJ|]�[8|$|$a��)qdtQf [wf�e)t$l ö^ø S2yU})���|l � ú)ö |$fOyJf$t�{"t�}8f$|��Ie)a g e��)|$t(adf�v

Â$%gÃPd QgÍ�ÆpÏÊÅ]ÒRÄ�Ù�Ú�ÒRÉ�ËFà�è�ÆpÚ³Î�ÒpÍ7Æpà �e)t�`bt(y8`bt�fb��["fb_�]�tB|�[J�ztB��adfI��tB| g `ba�])f$[^`B×z��yNf�y"��tB| g `ba�])f$[)`b|IyU})� g [^}UfO`b[Uq>��tB| g `ba�])f$[^`�|�v¦���yJf�yÓ��tB| g `ba�])f$[^`X{"�)|$fX�Át�]�`b[Jr^ad��tB� �Ð[^`�t�y g eÑ��yJf�y~adf$t�{ fO`$yU})|b�Lt�`$`btB�k�8_ y�l ö^ø S�[^`��il � ú^ö

|$f�yNf$t�{"t�}8f��Uf�e)t���tB| g `ba�])f$[^`b|�]Át�`${"adf$f$tB�+��t�]�t�})��[^}�f�e)t���yNf�y�fb_�]�tª[J�5f�e)t�adf$t�{�v§ �e)tI��yJfOyª��tB| g `ba�])f$[^`b|yJqdq�| f�yU`bfz��adf�e+y�qdtBf$f t�`za�})��a g yJf$a�})cwf�e)t���yNf�y�fb_�]�t��L[Uqdqd[@��tB���U_wyU}���})|$adc^})tB��a�}Uf$tBc8t�`z��t�})[Uf$a�})c"f�e)t�¬�tBqd���ad��f�e n �Ð[^`tB¢�yU{w])qdtU× � ô ��t�})[Uf$tB|�yU}=a�}Uf$tBc8t�`¬�tBqd� È g e�yU`$y g f$t�`b|z��ad��t n ï:óÃÞ�= ��t�})[Uf$tB|�y���[^yJf$a�})cJ��]Á[Ua�}Uf¬�tBqd� l g e�yU`$y g f$t�`¡��ad��t���adf�e o ��adcUadf$|�yM�Ðf t�`5f�e)t���t g a�{wyJq�]Á[Ua�}UfMv��>�)qdq���tBf�yJadqd|§[N��yJqdq�f�e)t���yJf�y���tB| g `ba�])f$[^`b|yU`bt�c8asr8t�}�a�}�f�e)t(})tB¢)f�|$t g f as[)}>v �e)t g [^}UfO`b[Uq)��tB| g `ba�])f$[^`b|§y8`bt��)|$tB���Ð[^`y�r@yU`badtBfb_([N��]���`$]Á[U|$tB| n |�� g e"yJ|f�yU���)a�})c�f$[�|O]�t g a�¬ g�g [Uq���{w})| n

]�`b[)��� g a�})c2[^`Ã| ¤ a�]�])a�})c�`bt g [)`b��| n yU})� g [^}8f�`b[Uqdqda�})cwf�e)t�f�` yU})|b�Lt�`§[N��|����)|$t3Ô��)t�}Ufª}^��{"t�`�a g yNq5��yJf�y�v �e)tB_yU`bt���tB| g `ba���tB���É�)qdqd_Xa�} |$t g f$ad[^} j�p v l v��[Uf t(f�e�yJfª[^})qd_�qdadf$t�`$yJq g [^})| f�yU}8f$|IyU`bt"]�t�`${�asf f$tB�¾��adf�e)a�}��Ð[)`${wyJf�|O]�t g a�¬ g yJf$ad[^})| n })[Uf�}�yU{"tB� g [)}8�

|$f�y8}Uf$|�[^`\r@yU`ba�yU�)qdtB|�v

Â$%gÃVk QgÍ�ÆpÏÊÅ]ÒRÉ�Å]ÒpÅ É�ËFà�è�ÆpÚ�ÎgÒpÍ7Æpà ¾8>þÀ?>@�?>b½?>A�B>C,¦ ��yNf�yw��tB| g `ba�])f$[^`�{"�)|$f���t2]�`b[Jr)ad��tB�X�L[^`ªt�y g e���yNf�y+adf$t�{ ]�`btB|$t�}8f�ÕÐ[^`�a�{w])qdadtB��Ö=a�}�yw��yNf�ywfO`$yU})|b�Lt�`qdad|$f�vMQ�t�yNq n ��[^���)qdt2]�`bt g ad|$ad[^} n yU})� g [^{w])qdtB¢Xadf$t�{"|({�y�_X�)| t�y8}U_�[J�§fOe)t � n � n [^`ªuÎ��tB| g `ba�])f$[)`b|(���)fa�}�yJqdq5[Uf�e)t�` g yJ| tB|�fOe)t���yJf�y�fb_�]�t({"�)|$f�{wyJf g e>vz ���[$��[)yJf$a�})cJ��]�[8a¨}8f���tB| g `�a¨])f [^`b|IyU`�tÏ})tBtB��tB� �Ð[^`Ãt�y g eg [^{w])qdtB¢�rJyJq��)tUv

�(yJf�y=fb_:]Át �(yJf�y=��tB| g `ba�])f$[^`�|�Ä}8f$tBcUt�` � Ý�� � Ý�ÞLìQ�t�yJq n ��[^���)qdtQx§`�t g as| as[)} n [^`�Z�[^{w])qdtB¢ ö^Ý�Þ�ñ���ö^Ý�ÞbñUö�ã���ï)Ý�Þbñ�� m Ý�Þ�ñ�� m Ý�Þ�ñ8ö�ã�>[UcUa g yJq �UÝZ�e�yU`$y g f$t�` ø��Xø)Ý

 �e)t�qdtBf$f$t�`b| Ý��+ì���ñ n y8})� ã �)|$tB����adf�e+f�e)tB|$t=��yJf�y=��tB| g `ba�])f$[)`b|Ï`�t�]�`btB|$t�}8fI��})|$adc^})tB�Xa�}8f$tBcUt�` g [)}8�|$f�y8}Uf$|M� Ý yU})� ã {"�)|$fI��t=c^`bt�yJf t�`§fOe�yU}1?Bt�`b[�v

Ý ad|IfOe)t�f$[Uf�yJq�¬�tBqd�X��as��fOe>vì ad|IfOe)t({"a�})a¨{"��{ })��{"��t�`�[J�z��adcUadf$|�]�`b[^��� g tB��[^}+[^�)f�]��)fMvñ ad|IfOe)t(}^��{"��t�`�[J�z��adcUadf$|Ïy@�Ðf$t�`Ãf�e)t���t g a�{wyNqÔ]Á[Ua�}Uf�vã ad|IfOe)t(}^��{"��t�`�[J�z��adcUadf$|Ï�)| tB�+�Ð[^`\f�e)t�tB¢:]Á[^})t�}8f�v

¦�}U_+��yJf�y"��tB| g `ba�])f$[^` g yU}���t"]�`bt g tB��tB���8_�y�`bt�]�t�yJf�� g [^��}Uf"ÕLyJqd|$[2yU}���})| asc)})tB��a�}8f$tBcUt�`$Ö n f�e)�)|�×A8ï M Þbô ad|�t3Ô��)adr@yJqdt�}8f�f$[ ï M Þ�ô��bï M Þ�ô��bï M Þ�ô �e)ad|��Éy g adqdadfb_�as|�]�yU`bf a g �)q�yU`�qs_X�)| tO�É�)q�Ie)t�}�e�yU})��qda�})cXyU`$`$yM_)|�v

Page 97: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� l Ç

©«N]:'N[89.Fu ¹ a7usN[2�¢³6'8«§ a�^JN[8�GIHy09:cO�a'/��F�1a)/�O�a)/�ª��{Q�Át�`b|�y8`bt�yJqd�\yM_)| g [^}8rUt�`bf$tB�2�)| a¨})c=f�e)t���t g a�{wyJq>}^��{"�Át�`§��yJ|$tU×f�e)t�`�t�ad|�})[Q]�`b[Jr)as| as[)}"a�}2�)f�y8})��yU`b���[)`bf�`$yU}��Ð[^`�f�`$yU})|��Ðt�`b|=a�}�[UfOe)t�`Q})��{"��t�`"��yJ|$tB|"|�� g eÓyJ|"[ g f�yNq§[^`=e)tB¢:yJ��t g a�{wyNqÐvJ�¾[^`�t g [^{w])qda g yJf$tB�g [^}8rUt�`b|$ad[^})|�|�� g e�yJ|�f�e)tB| t g yU}���t"]�t�`��L[^`${"tB����adf�e+f�e)t(yJad��[J�Ôa�}8f$t�`$}�yJq�¬�qstB|MvÅ�}�[^�)f�]��)fª}^��{"��t�`ªyU`bt�c8t�})t�`$yJqdqd_�`badc^e8fb�vÁ$�)|$f$a�¬�tB�Xa�}�fOe)t(|�]Át g a ¬�tB�ʬ�tBqs�5��qdt�yJ��a�})cX�)q�yU} ¤ |�yU`bt�|O��]8�

])qdadtB�h�Ie)t�`bt2})t g tB|$|OyU`b_Uv���tBc)yJf$adrUtwrJyJq��)tB|2yU`btwyJqd��yM_^|"]�`bt g tB��tB� �8_�yX{"a�})�)|"|$adc^}�Õ �L[^`ª�Ie)a g e�|�]�y g t{"�)|$f��ÁtIyJqdqd[J��tB�+a�}wfOe)t�¬�tBqd��ÖB��?Bt�`b[=as|�yJqd��y�_)|���})| asc)})tB�5��f�e)t£�bkwyU})�«�i�(��tB| g `ba�])f$[^`b| g [^}8f�`b[Uq��ªe)tBf�e)t�`]�[8|$adf$adrUt2})��{Q�Át�`b|(yU`bt=f$[���tw]�`bt g tB��tB���8_�y+])q��)|(|$adc^}�[^`ª})[Uf�vª¦ })��{"��t�`��Ie)a g eÊas|�f [^[+q�yU`bcUt"f$[�¬�fa�}Uf [wadf$|�¬�tBqd����adqsqzyU]�]Át�yU`�a�})|$f$t�yJ�¾yJ|Iy"| tBf�[J�z�ðyN|$f$t�`bad| ¤ |�vÅ�}�a�}�]��)f(}^��{"�Át�`b|I|Oe)[^�)qd����t"`badc^e8fb�vÁ��)| f$a�¬�tB��a�} t�y g e�¬�tBqd�5v�¦Iqdq¡�Ð[^` {"|�[J� g [^})|$f�y8}UfI]Át�`${"adf$f$tB��a�}

y"��[^`bf�`$y8}2]�`b[8c^`$yU{ g yU} |�yM�LtBqs_���t"�)|$tB�Xa�}�yU}+a�}�]��)f�¬�tBqd�¾[J�zf�e)t g [^`$`btB|O]�[^})��a�})c+f�_�]�t n yJ|�qd[^})c+f�e)t�`btyU`bt�})["t�{"��tB����tB�X[)`§fO`$yJadqda¨})c+�)q¨y8} ¤ |�v��>t�yJ��a�})c2�)q�yU} ¤ |IyU`�tÏyJqd��yM_^|�adc^})[^`�tB�5��y�¬�tBqs���Ie)a g e+ad|�t�}8f$a�`btBqd_�)q�yU} ¤ ��adqdq��Át2`bt�yJ�ÓyJ|M?Bt�`b[�vw �e)twf�`bt�yNf�{"t�}8f�[J��t�{"��tB����tB�hyU})��fO`$yJadqda¨})c��)q�yU} ¤ | g yU}¾��t g [^}UfO`b[UqdqdtB���adf�e f�e)t$� û yU})�y��¢w��tB| g `ba�])f$[^`b|�và�e)tQ`$�)qdtB|�e)t�`bt(yU`bt(y8})[Uf�e)t�`�`btBqda g [N�ÔrUt�`�_2t�yU`�qs_���[^`bf�` yU}w| _^|$f t�{"|�v� e)t�}h`�t�yJ��a�})c y ¬�qdtX�Ie)a g e�e�yJ|+��tBt�} g [)}�})t g f$tB� �8_ {�t�yU})|w[J�Ïy8} Tpk ö^û |$f�yJf$t�{�t�}UfXÕL]�`b[Jr)ad��tB�

adfw��[)tB|�})[Uf g [^}UfOyJa�}�� �8ø^û)þ õ(� ¢ ö l�T � Ö(yJqdq�t�{"�ÁtB����tB�ðy8})�hf�`$yJadqda�})c �)q�yU} ¤ |2a�}Â}^��{"t�`�a g a�}�]��)f+¬�tBqs��|yU`bt"f�`�t�yJf$tB��yJ|(})�)qsqd| n aLvÍtUv¡f�e)tB_�yU`�twadc^})[^`btB�5vw��}�yJqdq§[UfOe)t�` g yJ|$tB| n |�� g e�yJ|�a�}�]��)f=�Ä`b[^{Ëf�e)t"|$f�y8})��yU`b�]�`btO� g [^}�})t g f tB��¬�qdt+[^`ª�Ä`b[^{ yU}Êa¨}8f$t�`$}�yNqz¬�qdt n t�{"��tB����tB�hyU})��f�` yJadqsa�})c��)q�yU} ¤ |Qy8`btwf�`bt�yNf$tB��yJ|$?Bt�`b[8|�v �e)tB|$t���tO�ÄyU�)qdf$| g yU}���t"yJqdf$t�`btB����adf�e f�e)t$� û yU})�R��¢ g [^}8f�`b[8q���tB| g `ba�])f$[^`b|�vÃ�Lf�ad|�e�yU`b��f$["a�{wyJcUa�})t"yU}U_g a�` g ��{"|$fOyU} g tB|�a¨}��Ie)a g e�adf§ad|§��tB|$a�`$y8�)qst�f [�a¨}8f$t�`$]�`�tBf§t�{"��tB����tB���)q�yU} ¤ |�yJ|g?Bt�`�[U|��UfOe)t���tO�Éy8�)qsf�|$tBf f$a�})cU|yU`bt"]�yU`bf$a g �)q�yU`bqd_�asqdq�� g e)[U|$t�}~|$a�} g t�})��{"��t�`b|ªt�}8f$t�`btB���8_�y��)|$t�`�yJfIy�f$t�`${"a�}�yJqzyU`bt�[N�Ðf$t�} qdtO�Ðfb�vÁ$�)|$f$a�¬�tB�yU})�¾{wyM_�yU]�]Át�yU`�f$[+��tQ]�yN����tB��[)�)f���adf�ey?Bt�`�[U|�v��§`$`b[)`b|Ã�É`b[){Îf�e)ad|I| [^��` g t g y8}���twyMrU[Uad��tB�X�U_X�)| a¨})c£���yNf�f�e)t(��tBc8a¨}�})a�})c�[J�ÔyJqdqa¨}�]��)f��L[^`${wyJf�|�]Át g a�¬ g yJf$ad[^})|�v

09:F/3Ni\FN�8«�1.�/3.ED � Ý�� � Ý�ÞÉìGF¦�}Xa�}8f$tBcUt�`�r@yJq��)tw�ª`badf$f$t�}���asfOe��É� yU]�]�t�y8`b|Ï`�asc)eUfb�vÁ$�)|$f$a�¬�tB��a�}¾y�¬�tBqs�~[J�§� g e�yU`$y g f$t�`b|ª��adf�e�qdt�yJ��a�})c�)q�yU} ¤ |�v(�L�=v {Æad|�|$a�{"adq�yU`=���)fIt�})|���`�tB|(f�e�yJfªyJfIqdt�yJ| f({Æ��adcUadf$|=��adqsq§y8]�]�t�yU`ªtBrUt�}�a���qdt�yJ��a�})c�?Bt�`b[U|�yU`bt})t g tB|$|�y8`b_Uv§ �e)ad|ªas|��)|$tO�Ä�)q n �L[^`Ãa�})|$f�yU} g t n f$["[^�)f�]��)f�fOe)t(f$a�{"tB|�a�}�e)[^��`b|IyU})�¾{"a�}^�)f tB|�×

û^ý T � l�� õ ?é � ûb�:ú)ö õ M�|l � ú^ögþí��û � ú õ�ÿ �2ï)é)ú õ�� þ � > Þ�=g� � =ÃÞ�= �6�T� û)ý T � l[� ��é � ûp��ú)ö

 �e)t�[^�)fO]��)fI`bt g [^`b�hÕ���adf�e��)q�yU} ¤ |I|Oe)[@�ª}+tB¢:])qda g adf$qd_:Öªad|�×

ô�?^ô MÅ�}"a�}�]��)f � Ý yU})� � Ý�ÞÉì y8`bt�ad��t�}Uf a g yNqÐv���[Uf$t�f�e�yJf§yU}�a¨}8f$tBcUt�`Ô¬�tBqd��{"�)|$f§})[Uf g [)}Uf�yNa¨}�yª��t g a¨{�yJq5]�[Ua�}8f ntB¢�]�[^})t�}8f n [^`�yU}U_�]���} g f���yJf as[)} g e�yU`$y g f$t�`�|�|O� g e�yJ| g [^{w{�yJ|�v

4�us6F.�/�GW:)\YX�6'G�:]/«�1.�/3.AD ö)Ý�Þbñg��ö^Ý�Þ�ñ8ö�ã���ï)Ý�Þbñg� m Ý�Þbñ�� m Ý�Þ�ñ8ö�ã�F�(yJf�yÃ[J��yU}8_I[N�:f�e)t<��[)yJf$a�})cJ��]�[8a¨}8ff�_�]�tB|�Õ�Q�t�yNq n ��[^���)qdt�xÃ`bt g ad|$ad[^} n y8})�(Z�[^{w])qdtB¢�Ö�{wyM_I�Át§f�` yU})|b�Lt�`$`btB��)|$a�})c�yU}8_h[J�(f�e)t¾��tB| g `ba�])f$[)`b| ö n ï�� [^`1m�v§��[^`wt�y g e g [^{w])qdtB¢k}^��{"��t�`�fb��[���tB| g `ba�])f$[^`�|X{Q�)| f��Át]�`b[Jr)as��tB� n [)})t��L[^`�t�y g e g [^{�]�[^})t�}8f��>f�e)tB|$t g [^{w]Á[^})t�}Uf |Ï{wyM_���t"|$t�]�yU` yJf$tB� n a ��`�t3Ô:�)a�`btB� n �8_ g [^}8f�`b[Uq

Page 98: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� lUm

��tB| g `ba�])f$[)`b|�v�Å�}~[^�)f�]��)fw}^��{"�Át�`b|2yU`bt+`b[^��})��tB�hf$[¾f�e)t+|�]�t g a�¬�tB�Ñ}^��{"��t�`=[J�ª��asc8asf |�v¾¦Iqdq���[)yJf$a�})cJ�]�[8a¨}8f���yJf�y�f�`$yU})|b�Lt�`b|Iy8`btQy9�5t g f$tB�¾�U_�fOe)t(|$tBf$f a¨})c+[J�§f�e)t=| g yJqdtO�L�Äy g f$[^`B��f�e)ad|�ad|Ia�})adf$a�yJqdqd_�?Bt�`b[����)f g yU}��t"yJqdf$t�`btB�¾�U_+f�e)t$k g [^}UfO`b[Uq>��tB| g `ba�])f$[^` n yJ|�tB¢�])q�yJa�})tB��a�} f�e)t(|$t g f as[)} j�p v l vÅ��)f�]��)f��)| a¨})c ï)Ý�Þbñ ]�`b[)��� g tB|�y�¬�¢^tB�)��]Á[Ua�}Uf�rJyJq��)tXa�}�y�¬�tBqd�Ñ[J�I� g e�yU` y g f$t�`b|w��asfOeÓtB¢:y g f qs_ ñ

��adcUadf$|Qy@�Ðf$t�`ªfOe)tQ��t g a�{wyNq�]�[8a¨}8f�v" �e)t"��t g a�{wyJq�]Á[Ua�}Uf=ad|Q]�`btB|$t�}8f�tBrUt�}�a�� Ý ad|M?Bt�`b[ n |$[�f�e�yJf�a��\y+| asc)}ad|(]�`b[)��� g tB��f�e)t�`bt=as|�[)})qs_�|�]�y g t=�L[^` n yJfI{"[U| f n Ý�9�= ��asc8asf |(��tO�L[^`bt"f�e)t(��t g a�{wyNq§]�[Ua�}8f�v�����adf�ad|(`bt�yJqdqd_a�{w]�[)`bf�yU}8f�f$["|���]�]�`btB|$|�fOe)t���t g a¨{�yJq�]�[8a¨}8f�a�}X})��{"��t�`b|���adf�e�})[��É`$y g f$ad[^}�yJq5]�yU`bf�[^})tª��y�_�as|�f$[w�)|$t(y�L[^`${wyJfz|O]�t g a�¬ g yJf$ad[^}+[J�5f�e)t��L[^`${ þ ï ò�ô Þ�ô��bú[� ò�Ö v�v�v�|$[(f�e�yNf§f�e)t�})tB¢^f ¬�tBqd��|$f�yU`bf |z[^})tÏ])q�y g tªf$[=f�e)t�qdtO�ÐfyU})�"[JrUt�`��Ä�I`�asf tB|zf�e)t���t g a¨{�yJq�]Á[Ua�}Uf�v¦�})[Uf�e)t�`��yM_(ad|zf$[ g [^]8_(fOe)t\})��{"��t�` f$[Ïy8}"a�}Uf$tBc8t�`r@yU`ba�yU�)qdt�yU})��I`badf$t=adfI��adf�e�yU}X�Ã��tB| g `�a¨])f [^` n ���)fÏ})[Uf t�f�e)t(qda�{"adf$tB��`$y8})cUt�[J�§a�}Uf tBcUt�`b|ª[^}�{"[U|$f�|$_^| f$t�{"|�v ï �Ð[)`${wyJfad|2tB|O]�t g a�yJqdqd_ g [^}8rUt�})adt�}Uf+a�}hf�y8���)q¨y8`"q�y�_8[^�)f$|"|$a�} g t¾f�e)t���t g a�{wyJqI]Á[Ua�}Uf$|+��adqdq�qda�})tÊ��]Òa�}h|�� gBg tB|$| asr8t`bt g [^`���| n ���)f�adf�ad|�})[Uf�|��)adf�yU�)qdt��Ð[^`\rUt�`b_+q¨y8`bcUt�[^`�|O{wyJqdq�})��{Q�Át�`b|�vÅ��)f�]��)fI��asfOe ö)Ý�Þ�ñ ]�`b[)��� g tB|(yw}^��{"�Át�`ªa¨} tB¢:]Á[^})t�}8f$a�yJqz[^`"©$| g ast�}8f$a�¬ g «X})[Uf�yNf$ad[^}>v� �e)tQ{�yU}Uf as| |�y

��adqdq���t���tBfb��tBt�} p v j yU})� j Õ�a���f�e)t§| g yNqstO�L�Äy g f$[)`5ad|g?Bt�`b[^Ö v� �e)t �Ð[^` { ö)Ý�Þbñ8ö�ã |�]�t g a�¬�tB|Ãf�e�yJf5f�e)t�`�t�|Oe)[^�)qd���t�tB¢�y g f$qd_ ã ��adcUadf$|wa�}Óf�e)t+tB¢�]�[^})t�}8f�v¾ �e)ad|(�L[^`${�{"�)|$fw��t��)|$tB�ha��If�e)t+tB¢:]Á[^})t�}Uf"��adqdqIe�yMrUt2{�[^`btf�e�yU}�f�e�`btBtª��asc8asf |QÕLyJqdf�e)[^�)c)e"f�e)ad|�]�`b[^�)qdt�{ ��[^tB|�})[Uf�yU`bad|$t�[^}2{�y g e)a�})tB|�[^}��Ie)a g e�f�e)t�}^��{"�Át�`�` yU})cUtad|If [^[+|�{wyJqdq�ÖBv ö �L[^`${wyNf g y8}��ÁtQ�)|$tB�¾f$[+e�yU})��qdt�})��{"��t�`b|ª[J��yU}8_�{wyJc^})adf��)��tUvª �e)t(��ad|�yJ��rJyU}8f�yJcUt=as|f�e�yJfªtB¢ g t�])f$ad[^}�yJqdqd_�q�yU`�cUt"[^`�|O{wyJqdq�rJyJq��)tB|(��[X})[Ufª|$f�y8})�X[^�)fªrUt�`b_���tBqdqa�}¾f�e)tQ`�tB|��)qdf$a�})c g [Uq���{w})|�[J�¬�c^��`btB|Mvm Ý�Þ�ñ ad|�f�e)t�cUt�})t�` yJq���]���`$]�[U| tI��tB| g `�a¨])f [^`B×za���f�e)t�r@yJq��)tªas|�c^`�t�yJf$t�`zfOe�yU} p v j ���)f�})[Uf§f [^[=q¨y8`bcUt�f$[�¬�f

adf�f�e)tª¬�tBqd�¾adf���adqdqÔ�Át��I`badf$f$t�}��)|$a�})c�y=¬�¢)tB�)��]�[Ua�}8f��L[^`${wyNf���asfOe ñ ��adcUadf$|ªa�}+f$[Uf�yJq5yU})����asfOe1>2�)q�yU} ¤ |yJfªf�e)t(t�})�¾[J�§fOe)t(¬�tBqd�5�>[UfOe)t�`b��ad|$t"adf�as|ªt3Ô��)asrJyJqdt�}Uf=f$[ ö^Ý�Þ�ñ �L[^`${�yJf�v� �e)t��Ð[^` {ãm Ý�Þbñ8ö�ã yJqdqd[J��|ª_U[^�f$[+|�]�t g a��L_Xf�e)t"qdt�})cUf�e�[J�zf�e)t"tB¢�]�[^})t�}8f��>a���y"¬�¢)tB�)��]�[8a¨}8f��L[^`${�yJf�ad| g e)[8|$t�}�f�e)t�`�t�y8`bt ã�;<= �)q�yU} ¤ |(yJff�e)t�t�})�5v �e)t(})tB¢^fªtB¢�yU{w])qdt(|�e)[J��|�f�e)t=��a��t�`�t�}UfI]�`�[^]�t�`bf astB|ª[J�zf�e)tB|$t�f�e�`�tBtª�Ð[^` {wyJf$|�[^}+[^�)fO]��)f�×

� õ ò =�A§Þ >�ô<M @<?)ó� õ ô§Þbô^ó�?�@ Miô�> A�il � ú)ö�þ �:û � ú õ�ÿ �+ï^é)ú õ(� þ$ö ò =§Þ ô �+ï ò =ÃÞ ô � m'ò =ÃÞ ô �6�T� ���í���í��� � � � � �

]�`b[)��� g tB|Ifb��[w`bt g [^`b��|"Õ���adf�eIH `�t�]�`btB|$t�}8f$a�})cwf�e)tQ�)q�yU} ¤ ÖB×ô§Þ ò =�A >�M ö�;)ô�A ò =<AÃÞ >[ô�M @)ó ò =<AÃÞ >�Mô§Þbó<?�@ M<M ö�9)ô ò ôÃÞbô^ó�?<@�@Ñô§Þbó�?<@ M<M ö�9^ô òÅ�}~a¨}�]��)fwyJqdq�f�e)t ö���ï�� yU})��m���tB| g `ba�])f$[^`�|�e�yMrUt�as��t�}8f$a g yJq�tå�5t g f$|M×(a��If�e)t�a¨}�]��)f�¬�tBqs� g [^}8f�yJa�})|wyU}tB¢�])qsa g adfw��t g a�{wyJq�]Á[Ua�}Uf=asfwyJqd��yM_^|�fOy ¤ tB|Q]�`�t g tB��t�} g t n [Uf�e)t�`b��as| twf�e)twq�yJ|$f=����adcUadf$|"yU`btwfOy ¤ t�}�yJ|=f�e)t��t g a�{wyJq¡�É` y g f$ad[^}>v�����yU} tB¢:]Á[^})t�}Ufªad|Ï�)| tB��adf�{wyM_��ÁtQ]�`bt g tB��tB���8_ ö [)`�S�ÕL���)fªf�e)t�tB¢:]Á[^})t�}8f�qstBf f$t�`ad|([^])f as[)}�yJq�a���f�e)t"tB¢�]�[^})t�}8f�ad|(|$adc^})tB��ÖBv"����f�e)t"a�}�]��)f�¬�tBqd� ]�`�[@r)ad��tB|({"[^`bt"��adcUadf$|=f�e�yU}�f�e)t"a�}Uf$t�` }�yJq|$f$[)`$yJcUt g yU}Ó�)f$adqdas| t n f�e)t+tB¢)f�`$yX]�`�t g as| as[)}Óas|"adc^})[^`�tB�5v��ÉfQad|w�)|���yJqdqd_h��tB|$f"f$[¾�)|$tÊÕ ï^Ý�Þ�ô Ö��ªe)a g e~��adqsqg [^]Át(��adf�e�yJqdq g [){w{"[^}���[^yNf$a�})cJ��]�[Ua�}8fI[)`�tBrUt�}+a�}Uf tBcUt�`��L[^`${�|�v

fg6]\)GIH�.Fu��1.�/3.AD �UÝJF� e)t�}hy¾qd[UcUa g yJq�rJyJq��)t�ad|2�I`�asf f$t�}���asfOe��>�ÆfOe)tw¬�tBqd����asqdq g [^}8f�yJa�}Óf�e)t+qstBf f$t�` ú [^` ï ]�`bt g tB��tB�Ñ�U_þ Ý�9 ò � �)q�yU} ¤ |�v�Å�} a�}�]��)fIf�e)t�¬�tBqd�Ê{"�)|$f g [^}8f�yJa�} f�e)t(qdtBf$f$t�` ú [^` ï ��fOe)t(qdtBf$f$t�`�{�y�_���t"]�`bt g tB��tB���U_y���t g a¨{�yJq�]Á[Ua�}Uf(yU})��yU}8_X})��{Q�Át�`ª[J���)q�yU} ¤ |�v(Z�e�yU` y g f$t�`b|�yM�Lf$t�`�fOe)t ú [)` ï yU`bt(adc^})[)`btB�5v( �e)�)|�f�e)t�L[^`${"| Þ�ú l �:ö�Þ yU})� ÞÄï)ø�� � ö�Þ yU`bt(y gBg t�])f�y8�)qstUv

Page 99: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� lUl

K5,'.F89.FH�/3N[8y�1.�/3.ED ø .':7e ø^ÝJF���>f�e)t�¦���tB| g `�a¨])f [^`ad|��)|$tB�"��adf�e)[^�)f§y8}(tB¢�])qda g asfì�tBqd�)�Ä��ad��f�e�f�e)t�}=f�e)t�qdt�})cUf�e"[J��fOe)t g e�yU`$y g f$t�`adf$t�{&a�}f�e)t���yNf�yM�Äf�`$y8})|b�Ðt�`qdad|$f���tBf$t�`${�a¨})tB|�adf�v§ �e)as|Ãad|�c8t�})t�`$yJqdqd_w�Ie�yJfÃas|�`bt3Ô��)a�`btB�����)f�})[Uf$t�f�e�yJfzf�e)t�]�[U| asf as[)}[J�zf�e)t(`bt�{wyNa¨})a�})c+adf$t�{"|ªa¨} f�e)t(`bt g [^`�����adqsq g e�yU})cUt�a��§f�e)t�qdt�})cUf�e [J�ÔfOe)t g e�yU` y g f$t�`�adf$t�{Îad|�yJqdf$t�`btB�5v����ad|za�{w]Á[^`bf�yU}8ff$[Ï�)| t§¬�¢)tB� g [Uq���{w}"q�yM_U[^�)f$|f�e)tÃ�L[^`${ ø^Ý {wyM_(�Át\]�`�tO�Ðt�`$`�tB�5×5adf§yJqd��y�_)|z�)|$tB|§y�¬�tBqd�

� g e�yU` y g f$t�`b|���as��tUvªÅ�}�[^�)f�]��)fªa �§fOe)tQy g f���yNq5qdt�})cUf�e�qdt�}Xad|�qdtB|$|ªf�e�yU} ��f�e)t=r@yJq��)t"ad|(`badc^e8fb�vÁ��)| f$a�¬�tB�a�}¾f�e)t=¬�tBqd��yU})��]�`�t g tB��tB���U_ þ$Ý�9Áâ^ãMî � �)q�yU} ¤ |��[Uf�e)t�`���ad|$t"[^})qd_Xf�e)t"¬�`�|$f Ý g e�y8`$y g f$t�`b|(y8`bt([^�)fO]��)f nf�e)t�`btB|$f�yU`btªasc)})[^`btB�5v§Å�}�a�}�]��)f�a��Ôf�e)tªqdt�})cUf�e�qdt�}+as|�qdtB|$|�fOe�yU}w�Âf�e)t�}+f�e)t�`badc^e8fb��{"[U|$fÃqdt�} g e�yU` y g f$t�`b|yU`btw�)|$tB� n [Uf�e)t�`b��as| tQ� g e�yU`$y g f$t�`b|���adqdq��Át�`�t�yJ��a�}Uf [�f�e)t g e�yU` y g f$t�`ªr@y8`ba�yU�)qdtw��adf�e þ â^ãMî�9UÝ � �)q�yU} ¤ |yU]�]Át�})��tB�5v

Â$%gÃ�� QgÍ�ÆpÏÊÅ]Ò~�«Í7Ñ�ÒdÆbÍ7Ç$É�ËFà�è�ÆpÚ�ÎgÒpÍ7ÆpàZ�[^}8f�`b[8q§��tB| g `ba�])f$[)`b|"��[Ê})[8f g [)`$`btB|�]Á[^})�hf$[�y8}U_�adf$t�{ a¨}ÓfOe)t2��yJfOyM�Äf�`$yU})|��Ðt�`�qsad|$fM×2fOe)tB_�yU`bt+[^��tB_8tB��Ie)t�}�f�e)t��L[^`${wyNfz| g yU}+`bt�y g e)tB|§f�e�yJf�]�[Ua�}8f�a¨}�f�e)t�qdad|$f�v ¦Ñ�Ð[)`${wyJfz|�]Át g a�¬ g yJf$ad[^} g [^})|$ad|$f a¨})c"[J��})[UfOe)a¨})c���)f g [^}8f�`b[8q���tB| g `ba�])f$[^`b|�ad|�rJyJqdad��[)})qs_+a��§f�e)t$l ö^ø Sw[^`��il � ú)ö |$f�yNf$t�{"t�}8f\e�yN|\y8}+t�{w])fb_2��yJfOyM�Äf�`$yU})|��Ðt�`qdad|$f�v

Z�[^}8f�`b[Uq�����} g f$ad[^} Z�[)}Uf�`�[Uq���tB| g `�a¨])f [^`� ¤ a�] f$[w})tB¢^f�`bt g [^`b� Ü�¾[@r8tIf$["|�]Át g a�¬�tB� g [Uq���{w}X]Á[U|$adf$ad[^} ú8î ��ú��Jî���ú l î���î[�Å��)f�]��)fIy g e�yU`$y g f$t�` g [^})|$fOyU}Uf � àJî�ê&ä�Ø�à)ákßJÙ�á�ò î:è ��)f$[^]��L[^`${wyNf§| g yU} a��Ô��yJfOy"qdas| fIt�{w])fb_ ÛZ�[^}8f�`b[Uq ; �ÁtO�Ð[)`btQ]Á[U|$adf$adrUtQ})��{"��t�`b| �bk � �i� � � �`�t�yJf��)q¨y8} ¤ |�yJ|I})�)qdqs|O��?Bt�`b[U| � û�� ��¢�)tBf�| g yJqdt��Éy g f [^` �Ð[^`�})��{"t�`ba g f�`$yU})|��Ðt�`b| æ k

��t�`bt î yU})� æ yU`btªa¨}8f$tBcUt�` g [^})|$f�yU}8f$| n æ {wyM_2e�yMrUt�y=|$adc^}����)f�}�{Q�)| f\�Át(})[^}8�³?Bt�`b[wyU})�X��})|$adc^})tB�5v �e)t g [^}8f�`b[8q§��tB| g `ba�])f$[)`b|w|�� g ehyJ|«�bk n � û��=æ k�yr��t g fwyJqdqI})��{"��t�`b|�f�`$yU})|b�Lt�`$`btB�Ó|����)|$t3Ô��)t�}8f$qd_Uv  �e)t|$tBf$f a¨})c8|(yU`btQ��}�yr��t g f tB�Ê�8_��L[^` g tB��`btBr8t�`b|$ad[^}¾���)f�f�e)t"|$_)|$f$t�{ ��tO�ÉyU�)qdf$|"yU`bt"`btB|$f$[^`�tB��yJf�f�e)t"|$fOyU`bf�[J�f�e)t(})tB¢)f£l ö)ø Sw[)`��|l � ú^ö [)]�t�`$yJf as[)}>v¦Ï}8_Iqdad|$f[J��tB��asf��tB| g `ba�])f$[)`b|�{wyM_���t§t�} g qd[U| tB�(a�}(]�yU`�t�}Uf�e)tB| tB|�yU})�Q]�`�t g tB��tB�Q�8_ÏyU}ªa�}8f$tBcUt�` g [^})|$f�y8}Uf

yJ|Iy�`bt�]�tBf$adf$ad[^} g [^��}8f n tUvÍc�v=<þ � =ÃÞ*=�� � 9 �T� � � =ÃÞ*=ad|It3Ô��)adr@yJqdt�}8f�f$[

� =§Þ�=�� � 9 � � � =ÃÞ*=�� � 9 � � � =§Þ�= �e)tB|$t�|����8�Äqdad|$f$| g yU}h��t¾})tB|$f$tB��f [�yU}8_ `bt�yN|$[^}�yU�)qdt���t�])f�e n ���)fwfOe)t�]�`btB|$t�} g t�[J��a¨}8f$t�`$}�yNqI]�yJa�`b|w[J�]�yU`bt�}8f�e)tB|$tB| g yU}Xe�yMrUtª|�]�t g a�yJqtå�5t g f$|��Ie)t�}��Ð[)` g tB�X`btBrUt�`b| as[)}�f�y ¤ tB|\])q�y g t n yJ|�tB¢�])q�yJa�})tB�¾q¨yNf$t�`BvZ�[^{w{wyN|I{wyM_��Át([^{�asf f$tB���ÁtBf���tBt�} asf t�{"|Ia�} f�e)t��L[Uqdqd[@��a¨})c+|�]Át g a¨yNq g yJ|$tB|�×ÃtBadf�e)t�`�| as��t"[J�§y"|$q�yJ|Oe

Õ Ü Ö�[)` g [Uqd[^}hÕ Û Ö+��tB| g `ba�])f$[)` n yU})��yM�Lf$t�`Iy�| g yJqdtO�L�Äy g f$[^`wÕ æ k�Ö�a���adf�a�{w{"tB��a�yJf$tBqd_�]�`�t g tB��tB|(y5S �Iö���ï��[^`�m���tB| g `ba�])f$[)`Bv

¹ N[H�6'8�eÊKE67:F/�896)uKD Ü0F �e)t�|$q�yJ|�e=��tB| g `�a¨])f [^`�Õ Ü Ö>|$f�yU`�f$|Ôyª})tB��`bt g [^`��([^}=[^�)f�]��)f[^`¡| ¤ a¨])|zf [Ïyª})tB��`bt g [^`b�"[^}�a�}�]��)f n adc^})[^`�a¨})cyU}8_^fOe)a¨})c�qdtO�Ðf=[^}¾f�e)t g ��` `bt�}Uf"`bt g [^`b�5vwÅ�}Óy+f$tB¢)fª¬�qdt�y�`bt g [^`b��})[^`${�yJqdqs_ g [^`$`btB|�]Á[^})��|(f [Xy�qda�})t2[J�f$tB¢)f�v���[Uf$t(fOe�yJfIy��Ð[^` {wyJf$f$tB�+f�`$y8})|b�Ðt�`ªyJqd��yM_^|I]�`�[ g tB|$|�yJfªqdt�yJ|$fª[^})tQ`bt g [)`b�5קa���f�e)t��L[^`${wyNf g [^}8f�yJa�})|

Page 100: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� j�pUp

�Ñ|$q�yJ|Oe)tB|�f�e)t�}�y=f$[Uf�yNq�[J�\ÕL� '"j Ö�`bt g [^`b��|�yU`�tÏ]�`b[ g tB|$|$tB�5v � adf�e+� g [^})|$t g �)f$adrUt�|$q�yJ|Oe)tB|�a�}�yU}w[)�)f�]��)f�L[^`${wyJfªf�e)t�`bt"��adqdq��Át�ÕL�\� j Öª�)q¨y8} ¤ qda�})tB|��[^}�a�}�]��)f"f�e)t�}hÕL��� j Ö�qda�})tB|"��adqsq���twadc^})[)`btB�5vQ��[Uf$t"f�e�yNfIa��y��L[^`${wyJf f$tB�¾|$t3Ô:�)t�}8f$a�yJq¬�qdt+as|=|$t�}8f�f$[Xy�]�`ba�}Uf t�`�f�e)t"¬�`�|$f g e�y8`$y g f$t�`ª[J��tBrUt�`b_�`bt g [^`��Ê{�y�_¾��t2�)| tB��L[^` g y8`$`ba�yJcUtO� g [^}8f�`b[8q�Õ�|$tBt=|$t g f$ad[^} j�p v j8j ÖBv��Lfªas|�c8[^[)��]�`$y g f$a g tQf [�]��)f«ò � yNfIf�e)tw�ÁtBcUa�}�})a¨})c�[J�§tBrUt�`b_�L[^`${wyJfÃ|�]�t g a�¬ g yJf as[)}XyU})��yM�Lf$t�`ztBrUt�`�_w|$q�yJ|�e�f$["t�})|���`btª|$a�})cUqdt(qda�})t�|�]�y g a�})c�v���t�`bt n �L[^` tB¢:yU{�])qst n f�e)t�`btad|Ïy��)q¨y8} ¤ qsa�})t"yM�Ðf t�`�f�e)t g [Uq���{w}�e)t�yJ��a�})cU|�v

�il � ú)ö�þ �:û � ú õ � k �2ï)é)ú õ ó ô � þ$û � ö^ø l þ ��� � k�Tpk þ ��� � �põ ò ��û � ö^ø l[� �ó ô ï Tpl é)ø^úgþ ò ��� � � ãUà)á k ëNÚ^å>âUàUÙ>ò@ëNî � ��Ü^Ü<� ò ô^ô<þ ò ��� � > �Xï ò =§Þbôg�¾Ü �<�KM6'u�a<^�: X�6)29Gv/�Gs67:"KM6�:F/�896)u8D úUî��Xú��Jî���ú l î��2î��JF �e)tB|$t���tB| g `ba�])f$[^`b| g y8�)|$t�|����)|$t3Ô��)t�}Uf�r@yJq��)tB|ªf$[w��t�f�`$y8})|b�Ðt�` `btB�2| f�yU`bf$a�})cwyJf�y=��a��t�`�t�}Uf g [8q¨��{�}X]�[8|$a��f$ad[^}�a�}¾f�e)tw`bt g [^`��5vÏ �e)tB_ g yU} n �Ð[^`�a�})|$f�yU} g t n �Át2�)|$tB�¾f$[�|$tBf���]¾y+f�yU�)qdt"��adf�e¾e)t�yJ��a�})cU|Q]Á[U|$adf$ad[^})tB�[JrUt�`"t�y g e g [Uq���{w}>vÑ�Ä}ÂyJqdqIf�e)tB| t���tB| g `ba�])f$[^`b|+f�e)t�rJyJq��)t�[N��}h{"�)|$f2�Át j [)`w{"[^`btUvÂZ�[Uq���{w})|�yU`bt})��{Q�Át�`btB���É`�[^{ j [^} f�e)t"qstO�LfwÕL���)fÏ`�t�{"t�{"��t�`ªf�e�yJf g [Uq���{w} j {wyM_X��tw�)|$tB���L[^` g yU`$`ba�yJc8tO� g [^}UfO`b[Uq5a��f�e)t�[^�)fO]��)f�ad|I|$t�}8f�f$[wyw]�`�a¨}8f$t�`$Ö v

ú8î g yU�)|$tB|�|����)|$t3Ô��)t�}Ufª[^�)f�]��)f�f [w|$f�yU`�f\yNf g [8q¨��{�}X}>vú l î g yU�)|$tB|ªy"|�e)a��Ðfªf$["f�e)t(`badc^e8fI�8_X} g [Uq���{w})|�vú��Jî g yU�)|$tB|ªyw|�e)a��Lf�f$[wfOe)t(qdtO�Ðfª�U_X} g [Uq���{w})|2ÕÉ���)f�adfI��adqdqz})[UfI{"[JrUtªf�e)tQ]Á[U|$adf$ad[^} f$[

f�e)t�qdtO�LfI[J� g [Uq���{w} j Ö vî�� ad|�tB¢�y g f$qd_�t3Ô:�)adrJyJqdt�}Uf�f$[+ �Q�}>v

Å�}Óa¨}�]��)f ú[�Nî g yU}Ó��tX�)|$tB�Óf$[�`btO��`bt�yN��f�e)t+|�yU{�tw¬�tBqd� yNc^yJa�} n ]�[8|$|$a��)qd_ �)|$a�})c�y���a�5t�`bt�}8fQ��yNf�y��tB| g `ba�])f$[)`Bv§Å�}�[)�)f�]��)f�f�e)tB|$t���tB| g `ba�])f$[^`b|ª��[2})[UfI})t g tB| |�yU`badqd_Xe�yMrUt(yU}8_2��a�`bt g fªtå�5t g f�[^}+f�e)t(`bt g [)`b�5×f�e)tB_h��[�})[8f g yU�)|$t¾yU}U_ÓtB¢)as| f$a�})c g e�yU` y g f$t�`b|"f$[��Át�`bt�])q�y g tB�k�8_ �)q�yU} ¤ | n ���)fw�Ie)t�}hfOe)t�`bt g [^`��has|g [^{w])qdtBf$t(y8}U_ g [8q¨��{�}�]�[U|$adf$ad[^})|�t�{Q�ÁtB����tB�Xa�}+f�e)t�`bt g [^`b�+�Ie)a g e�yU`btª|$f$adqdq���})|$tBf���adqdq5��t(`bt�])q�y g tB�¾�U_�)q�yU} ¤ |�v� �e^�)|�×

�il � ú)ö�þ �:û � ú õ � k �2ï)é)ú õ ó^ô)ô)ô �ó)ô^ô)ô ï Tpl é)ø^úgþ � ø � ��ú lcò ô^ô)ô��2ú��^ó ô ô�� � ¢ �����adqdq g y8�)|$t(yw`bt g [^`���[J� È8o g e�y8`$y g f$t�`b|�f$[+��t([)�)f�]��)f n {"ad����qdt È8p [J�zf�e)t�{Æ�)q�yU} ¤ |�v

K5,'.F89.FH�/3N[8�KE67:723/3.':F/1�1a)/�O�a)/LD � ß@Ù�á�ò î�è � F �e)t g e�y8`$y g f$t�` g [^})| f�yU}8f§��tB| g `ba�])f$[)` g y8}"[^})qd_2��t��)|$tB�+��adf�e��|l � ú)ö |$f�yJf t�{"t�}Uf |�×5f�e)t g e�yU` y g f$t�`z| f�`ba�})cad|�|$a�{w])qd_ g [^])adtB�kf$[�f�e)t¾[^�)fO]��)f�`bt g [)`b�5v&¦I|�a�}ÑyJqdq g e�yU`$y g f$t�` g [)})|$f�yU}8f$|�yU}�yU]Á[U|$f�`�[^]�e)t g yU}Ñ�Át`bt�]�`btB| t�}Uf$tB��a�}�f�e)t�|$fO`ba�})c2�U_+fb��[Q|O� gBg tB|$|$adrUtQy8]�[U|$fO`b[^]�e)tB| n y8})�X�)q¨y8} ¤ |�yU`bt�|$adc^})a�¬ g yU}8f�v

_7Gv\�:xKE67:F/�896)u8D �bk � �i� � � F¦��Ðf$t�`E�pkÓe�yJ|w��tBt�}h�)|$tB� n ]Á[U|$adf$adrUtX})��{"��t�`b|"��adqdq���t��I`badf$f t�}���adf�eÓy�qdt�yJ��a�})c ; |$adc^}>��y@�Ðf$t�`E�|�~e�yJ|��tBt�}��)| tB�2f�e)t ; |$adc^}�as|�|���]�]�`�tB|$|$tB�5v§ �e)t$�=��tB| g `ba�])f$[^`�`btB| f$[^`btB|Ãf�e)tIa�})adf$a�yJq>��tO�ÄyU�)qdf��Ie)a g e�ad|�|$_^| f$t�{=���t�]�t�})��t�}8f�vª �e)tB|$t(��tB| g `ba�])f$[^`b|�e�yMrUt(})[2tå�5t g fª[^}�})��{"t�`ba g yJqa¨}�]��)fMvI �e)t=a¨})adf$a�yJqz��tO�ÄyU�)qdfªas|�`btB|$f [^`btB�yJf�fOe)t�|$f�yU`bf�[J�ztBrUt�`b_�})tB�Ñ�L[^`${wyNf$f$tB�+f�`$yU})|b�Lt�`Bv

Page 101: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� j�p�j

D�uv.':7�"KE67:F/�896)u8D � û�� ��¢ F¦��Ðf$t�` � û ad|��)|$tB��yNqsq¡t�{Q�ÁtB����tB��yU})��fO`$yJadqda¨})c��)q�yU} ¤ |Ia�}X})��{"t�`ba g yJq¡a¨}�]��)f�¬�tBqd��|(yU`btªf�`bt�yJf tB�XyJ|I})�)qsqd| naLvÍtUv>adc^})[^`btB�5vª¦��Ðf t�`���¢�f�e)tB_Xy8`bt"f�`bt�yJf$tB�¾yJ|�?Bt�`b[U|�v� �e)tB|$t"��tB| g `�a¨])f [^`b|(e�yMrUtQ})[�tå�5t g fª[^}X})��{"t�`ba g yJq[^�)f�]��)fMvÔ �e)t�a�})adf$a�yJq���tO�ÉyU�)qdf n �ªe)a g e"��t�]Át�})��|§[^}=f�e)t�� �Uø)û^þ õ adf$t�{&a�}"f�e)t�Tbk ö)û |$f�yJf t�{"t�}Uf n ad|§`btB|$f [^`btB�yJf�fOe)t�|$f�yU`bf�[J�ztBrUt�`b_�})tB�Ñ�L[^`${wyNf$f$tB�+f�`$yU})|b�Lt�`Bv

_7H�.FuvN�47.FH�/36'8yKE67:F/�896)u8D æ k F �e)t+| g yJqdt"�Äy g f$[^` g yU}��Át��)|$tB�Óf$[�a¨}8f�`b[)��� g t�y�| g yJqda�})c��U_�yU}8_�]�[J��t�`�[J� j�p ��tBfb��tBt�}¾a�}Uf t�`$}�yJq�yU})�tB¢)f$t�`$}�yJqÃr@yJq��)tB|+�Ie)t�} ö��Xï n [^`�m¾��tB| g `ba�])f$[^`b|wyU`bt��)|$tB�5v¾�Ä}h]�`ba�} g a�])qdt¾f�e)ad| g [)�)qs���ÁtX�)|$tO�Ä�)q��ªe)t�}��t�yJqda�})c2��asfOew��yJfOy(�ªe)a g e�yU`btªf$[)[(q�yU`bc8t n [)`§f [^["|�{wyNqsq n �L[^`Ãf�e)tItB¢�]�[)})t�}UfI` yU})cUtª[J��f�e)t���[^yJf$a�})cJ��]Á[Ua�}Uf��yJf�y�fb_:]ÁtB|I[N��f�e)t"{wy g e)a¨})t n ���)fIa�}¾[8f�e)t�`���aÜ g �)qdf$adtB|w�)|���yJqdqd_�{wy ¤ t=f�e)ad|�a�{w]�`$y g f$a g yU�)qdtUv( �e)tQ| g yJqdt�Äy g f$[^` g yU}h`btB|��)qdfwa�}h]�yU`bf a g �)q�yU`�qs_ha�})|$ad��ad[^�)|+t�`$`b[^`�|Q�ªe)t�}h�)|$tB����asfOe ï ��tB| g `ba�])f$[^`�|2yU})�h|�e)[^�)qd���ÁtyMrU[Uad��tB�X�8_XyJqdq5|$t�})|$a��)qdtw]�`b[Uc^`$y8{w{"t�`b|�v �e)tQ` �)qstB|�yU`bt(yN|§�L[Uqdqd[J��|�v �e)t�a�})asf a¨yNq�| g yNqstª�Äy g f$[)`§a�}+t�y g e��L[^`${wyJf f$tB�wf�`$y8})|b�Ðt�`Ãad|�?Bt�`b[�v§�Lf�f�e)t���tB| g `�a¨])f [^` æ kwad|Ï�)|$tB� n �Ie)t�`�t

æ ad|\y�|�{wyJqdqzÕ�[^])f$ad[^}�yJqdqd_w|$adc^})tB��ÖÃa�}8f$tBcUt�` n f�e)t�}wadfÃas|�|$tBfÃf$[ æ vÔ�Éf�y9�5t g f$|§yJqdq�|����)| t3Ô:�)t�}8f���[^yJf$a�})cQ]Á[Ua�}Ufr@yNq¨�)tB|"f�` yU})|b�Lt�`$`btB���U_¾f�e)t"|$fOyJf$t�{"t�}8f�vwÅ�}¾a�}�]��)f(fOe)t�`btwad|Q})[�tå��t g f�a��IfOe)tQa�}�]��)f=¬�tBqd� g [)}Uf�yNa¨})|"yU}tB¢�])qsa g adf�tB¢�]�[^})t�}8f n [Uf�e)t�`b��ad|$t

³�´�½L±M®�´�µU¶ÝÛ*ñ�µ8¶s»)± � ± ³ ½L±�®O´�µU¶ÝÛ*ñMµU¶d»^±ª� j�p�MÅ�}¾[^�)fO]��)f�f�e)t"tå��t g f���t�]Át�})��|"[^}�f�e)t"��tB| g `ba�])f$[^`=�)|$tB�5v � adf�e ö ��tB| g `ba�])f$[^`�|(f�e)t"��t g a�{wyJq�]�[Ua�}8f�as|{"[JrUtB� æ ])q�y g tB|�f$[+f�e)tw`badc^e8fÏyU})�¾f�e)t"tB¢�]�[^})t�}8f(`btB��� g tB���8_ æ |$[�f�e)t=tå�5t g f$adrUt"r@yJq��)twad|(��}�yJqdf$t�`btB�5v� adf�e ï ��tB| g `ba�])f$[^`b|ªf�e)t�`bt�ad|�yJqd�\yM_)|�y"| g yJqda�})c�×

± ³ ½L±�®O´�µ8¶!Û�ñ�µU¶d»)± � t�{ a�}Uf$t�` }�yJq��Är@yJq��)t Ö j�p M� adf�eYm~��tB| g `ba�])f$[^`�|wf�e)tX| g yJqdtO�L�Éy g f [^`"ad|2adc^})[)`btB��a��(f�e)t�rJyJq��)t�ad|wa�}Âf�e)tX`$y8})cUt+�Ð[)` ï �Äfb_�]�t�[^�)fO]��)f n[Uf�e)t�`���ad|$t�adfÏe�yJ|�f�e)t�|�yU{"t�tå�5t g f$|ªyJ|���adf�e ö ��tB| g `ba�])f$[^`�|�v

_7H�.':"KM67:F/�896'uND ÛOF .':7e"476'8rHdN[e ¹ N�º'N[8�2�Gs67: �e)twqdad|$f=[J��tB��adf(��tB| g `ba�])f$[^`b|�ad|(| g yU}�})tB�¾�Ä`b[^{ËqdtO�Ðf�f [X`badc^eUf2ÕÉyU]�yU`bf��É`�[^{Ëf�e)t"tå�5t g f�[J�\]�yU`�t�}Uf�e)tB| tB|�Ö|$f�y8`bf$a�})c�yNfIf�e)tw�ÁtBcUa�}�})a¨})c¾[J��f�e)t"qdas| f��Ie)t�})tBrUt�`(y+})tB�!��yJf�y�f�`$y8})|b�Ðt�`ª| f�yJf$t�{"t�}8f�ad|(tB¢)t g �)f$tB�5v( �e)ty g f$ad[^}+[N��f�e)t��Ä�UÅ&|$_)|$f$t�{ ��t�]Át�})��|�Áb[Ua�}Uf qs_+[^}+f�e)t�})tB¢)f�tB��adf���tB| g `ba�])f$[^`�yU})��f�e)t�})tB¢^f�adf$t�{ a¨}+��yNf�yM�f�`$y8})|b�Ðt�` qdas| f�v§���zy���yJf�y���tB| g `ba�])f$[^` g [^{"tB|�})tB¢)f�f�e)t�}�f�e)tÏ})tB¢)f§��yNf�y�adf$t�{ ad|�f�`$y8})|b�Ðt�` `btB�wa���[^})tªtB¢^ad|$f | n[Uf�e)t�`���ad|$t(f�e)tª�L[^`${�yJf�| g yU} g [^{"tB|ªf$[wyU} t�})�5v��Ð� y g [8qs[)}���tB| g `ba�])f$[)`QÕ Û Ö g [^{�tB|I})tB¢^fªyU})�Xf�e)t���yNf�yM�f�`$y8})|b�Ðt�`\qsad|$fªad|It�{�])f�_�fOe)tª�Ð[^` {wyJf�| g yU} t�})��| n [8f�e)t�`b��ad|$t=f�e)t���tB| g `ba�])f$[^`ªe�yJ|�})[wtå�5t g f�v�����yU}8_2[8f�e)t�`g [^}8f�`b[Uq>��tB| g `�a¨])f [^` g [){"tB|I})tB¢)f�f�e)t�}+adfIad|ª[^��tB_8tB���Ie)tBf�e)t�`�[^`�})[Uf�f�e)t=��yJf�yM�Äf�` yU})|b�Lt�`zqdad|$fIad|ªt�{w])fb_Uv����fOe)t��L[^`${wyJfªqdad|$f�ad|�tB¢:e�yU�)| f$tB�¾�Ie)t�}�f�e)t�`btwyU`bt=|$f$adqdq§{"[^`bt=asf t�{"|�a�}XfOe)tQ��yNf�yM�Äf�`$y8})|b�Ðt�`\qsad|$f�fOe)t�}

�L[^` g tB��`btBrUt�`b| as[)}¾[ gBg ��`�|�×�f�e)t=¬�qdt2ad|"]�[U|$adf$ad[^})tB�hyJf�f�e)tw�ÁtBcUa�}�})a¨})c~[J��f�e)tw})tB¢)fQ`bt g [)`b��yU})��f�e)t=�L[^`��{wyJf�qsad|$f+ad|2| g yU}�})tB�kyJc^yJa�} n |$f�yU`bf a¨})cÓyJfwf�e)t�qstO�Lfb��]�yU`�t�}Uf�e)tB| as|X{�yJf g e)a¨})c~f�e)tXq�yJ|$f�]�`bt g tB��a�})c�`badc^e8fb�]�yU`bt�}8f�e)tB|$ad|�vÑ���(fOe)as|+ad|�]�`�t g tB��tB�ð�8_�y�`bt�]Át�yJfb� g [^��}8fwf�e)t�}Òf�e)ad| g [)��}Uf+ad|�`btO���)| tB�5v �Ð�(f�e)t�`btXad|�})[]�`bt g tB��a�})c�`badc^e8fb��]�yU`bt�}8f�e)tB|$ad|+f�e)t�}Óf�e)t��Ie)[8qst �Ð[)`${wyJf"ad|�`�tO���)|$tB�5v���[^` g tB��`btBr8t�`b|$ad[^}�e�yN|2})[�tå�5t g f��]�[)}¾f�e)t"|$tBf$f$a�})cU|ª�L[^`ª| g yNqstO�L�Äy g f$[)` n |$adc^} n [^`��)q�yU} ¤�g [^}8f�`b[UqLv���[^` g tB��`�tBrUt�`b|$ad[^} g yU}¾��t+�)|$tO�É�)qz�ªe)t�}`bt�yJ��a�})cw[)`§�ª`badf$a�})c2yU}+yU`$`$yM_ g [^}8f�yJa�})tB��[^}+y(| t3Ô:�)t�} g t=[J�Ô`bt g [^`���|�| a¨} g t=adf�ad|I})[8f\})t g tB| |�yU`b_+f$[ ¤ })[J�e)[J� {wy8}U_"`bt g [^`b��|Ãf�e)t�`btIyU`�t�a�}wf$[8f�yJq n ���)fÃ�Ie)t�}2]�`�[^��� g a�})cw]�`ba�}Uf tB�2[^�)fO]��)f§adf§ad|�t�yJ|$_"f$[ª�L[^`bcUtBfzfOe�yJfy g y8`$`ba�yJcUtO� g [^}8f�`b[8q g e�yU`$y g f t�`zad|�`bt3Ô��)a�`btB���Ð[^` t�y g ew`bt g [^`b� n tBrUt�}"f�e)[8|$tI]�`b[)��� g tB���8_=�Ð[)` g tB�2`btBrUt�`�|$ad[^}>v

Page 102: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� j�pUo

Â$%gÃ�Â$% I£Ú�à�Ò$e3É�Ú³ÆbËFèiÒpËFÙ:QgÍ7ÆpÏÐÅFÒ�ÒpÚ³Ñ�Þ�>ad|$fb�Ä��a�`bt g f tB�X[^�)f�]��)f��)|$tB|�yÏ�Ð[^` {wyJf g e)[U|$t�}+�8_wf�e)tª|$_^| f$t�{ y gBg [)`b��a�})cwf$[(fOe)tI��yJfOy�fb_:]ÁtI[N��f�e)tªasf t�{�v �e)t�tB¢�y g f�q�yM_U[^�)f�ad|ª|$_)|$f$t�{=�Ä��t�]Át�})��t�}Uf n ���)f�f�e)t�c8t�})t�`$yJq�`$�)qdtB|�yU`bt(yJ|\�Ð[Uqdqd[J��|�v

f�GI23/�Øðe<G�89N�H�/3N�eâ�«a'/�O�a)/

�§y g e��il � ú)ö |$f�yJf t�{"t�}Uf"|$fOyU`bf$|wy�})tB� `�t g [^`b�5��yJ����adf$ad[^}�yJq�`bt g [^`���|2yU`btX]�`b[)��� g tB���ªe)t�}�})t g tB|$|�y8`b_Uv�§y g e�`bt g [)`b��|$f�yU`�f$|���adf�eXy"| a¨})c8qstw�)q�yU} ¤ f$[+]�`b[Jr^ad��t g y8`$`ba�yJcUtO� g [^}8f�`b[8q�[)}�]�`ba�}Uf$a�})c�væ�`badf�e�{"tBf$a g ��yNf�yfb_:]ÁtB|2yU`bt g [^}8rUt�`bf$tB�Óf$[¾��t g a�{wyJq�rJyJq��)tB|2��asfOeÓf�e)t�})��{"��t�`"[N�I��adcUadf$|�y8]�]�`b[^]�`ba�yJf$t��L[^`=f�e)t�a�}Uf$t�` }�yJq]�`bt g ad|$ad[^}>��a�}8f$tBcUt�`=r@yJq��)tB|w��asqdq�})[Ufwe�yMrUt2y���t g a�{wyJq�]�[8a¨}8f n fOe)t2|$_)|$f$t�{�{wyM_ g e)[)[U|$t�¬�¢^tB�)��]Á[Ua�}Uf�[^`tB¢�]�[^})t�}8f$a�yJqIÕ�| g adt�}8f$a�¬ g Öª�L[^`${ �L[^` ��[^yJf$a�})cJ��]Á[Ua�}Uf=r@yJq��)tB|(��t�]Át�})��a�})c�[)}XfOe)tBa¨`�{�yJc^})adf��)��tUv"Z�[^{w])qdtB¢r@yNq¨�)tB|�yU`bt�t�} g qd[U| tB��a�}�]�yU`bt�}8f�e)tB|$tB|���adf�e�y g [^{w{�y(| t�]�yU`$yJf$a�})cwfOe)t�f���[w]�yU`bf |�v�>[UcUa g yJq�r@yJq��)tB|�y8`bt�[^�)f�]��)f�yN|§yª|$a�})cUqdtIqdtBf$f$t�` n tBadf�e)t�` ú [^` ï vUZ�e�yU`$y g f t�`r@yJq��)tB|�y8`bt�[^�)f�]��)f§��asfOe)[^�)f

t�} g qd[U|$a�})c2yU]Á[U|$f�`�[^]�e)tB|��Ua��Ôy g e�y8`$y g f$t�`|$fO`ba�})cQad|Ãf$[^[=qd[^})c=�Ð[^`[)})tÏ`bt g [)`b�wadf�{wyM_Q��t g [^}8f$a�}^�)tB�+[^}�f�e)t})tB¢)f�vM�z¢ g t�])fª�L[^` g e�yU`$y g f$t�`�rJyJq��)tB| n t�y g e�adf$t�{Ëad|��L[Uqdqd[@��tB���8_�yJfªqdt�yJ|$f�[^})tw�)q�yU} ¤ [)`�y g [^{�{wy�Õ�[^`��[8f�e�Ö�f$[w| t�]�yU`$yJf$tªadf��Ä`b[^{ f�e)t(})tB¢)fªr@yJq��)tUv

f�GI23/�Øðe<G�89N�H�/3N�eÊ09:cO�a'/ �e)t�`$�)qdtB|"�L[^`(�>ad|$f��Ä��a¨`�t g f$tB�ha�}�]��)fwtå�5t g f$adrUtBqd_ yJqdqd[J� �É`btBtO�L�L[^`${�yJf�t�}UfO`b_¾�L[^`(})��{"t�`ba g yJq���yJf�yÁvR�§y g el ö^ø S�|$f�yJf t�{"t�}Uf|$f�y8`bf$|��adf�e"y�})tB��`bt g [^`b�wyU})�w`bt�yJ��|§yN|Ô{wy8}U_"`bt g [^`b��|zyJ|§yU`bt�})t g tB|$|�yU`�_Qf [I|�yNf$ad|b�Ð_=adf$|��yJf�y@�Äf�`$yU})|b�Lt�`zqdad|$f�v� �e)t�a�}�]��)fI`bt g [)`b��|I{"�)|$f g [^}8f�yJa�}�y=|��)adf�yU�)qdt(|$t3Ô��)t�} g t([N��r@yJq��)tB|�yU})�+|$t�]�yU`$yJf [^`b|�v �e)t�r@yNq¨�)tB|¾{wyM_ �Át�cUadrUt�}Ña�}kyU}8_h�L[^`${ �Ie)a g eÑ��[^�)qd����t�y gBg t�])f�yU�)qdt�a�}kyÓ��[^`bf�` yU}�]�`b[8c^`$yU{

�L[^`�y g [^})| f�yU}8f�[J��f�e)t g [^`$`btB|�]Á[^})��a�})c¾f�_�]�t n tB¢ g t�])f(f�e�yNf�t�{Q�ÁtB����tB� �)q�yU} ¤ |wyU`btw[)})qs_�]Át�`${"adf$f$tB�Óa�}g e�yU`$y g f$t�`�r@yJq��)tB|�v � e)t�}h`bt�yJ��a�})chy�`bt�yJq�[^`"��[^���)qdtO��]�`bt g ad|$ad[^} r@yJq��)t¾yU}ha�}8f$tBcUt�` g [^})| f�yU}8fw��adqdqÏ�Áty gBg t�])f$tB�5��Ie)t�}~`bt�yJ��a�})c�y qs[8cUa g yJqzr@yJq��)t+[^})qd_¾f�e)twqdtBf$f$t�` ú [^` ï ad|Q`bt3Ô��)a�`btB� ÕLy�]�`�t g tB��a¨})c¾��[Uf"yU})�yU}8_��L[Uqdqd[@��a¨})c g e�y8`$y g f$t�`b|ª��adqdq��Átwadc^})[^`btB��ÖBv=��[Uf tQfOe�yJf(y g e�yU`$y g f$t�` g [^})|$f�y8}Uf�{"�)|$f(��t"t�} g qd[U|$tB�Óa�}yU]Á[U|$f�`b[)]�e)tB|QyU})�hy g [^{�])qstB¢ g [^})|$f�yU}8f({"�)|$fQ�Át2t�} g qd[U| tB��a�}h]�yU`bt�}8f�e)tB|$tB|=��adf�eÓy g [^{w{�y���tBfb��tBt�}f�e)tªfb��[ g [){w]�[^})t�}8f$|�vz�Ð�Ôy g e�yU`$y g f t�` g [^})|$fOyU}UfÃad|�f [^[=qs[)})cQf [�¬�f§[)}w[^})tª`bt g [^`b�+adf\{�y�_w�Át g [^}8f$a�})�)tB�[^}+f$[�f�e)t(})tB¢^fM��f�e)t�fb��[�]�y8`bf$|�[J�zy g [^{w])qdtB¢ g [^})|$fOyU}Ufª{wyM_2yJqd|$[2�Át(cUadrUt�} [^}+fb��[w`bt g [)`b��|�v �e)t(|$t�]�y8`$yJf$[^`���tBfb��tBt�}�|�� gBg tB|$| asr8tQrJyJq��)tB|({"�)|$fI��t"[^})t=[^`�{"[)`bt(�)q�yU} ¤ | n [^`�y g [^{w{wy n [^`���[8f�e>v

¦!})tB� `bt g [)`b�X{wyM_w|$f�y8`bf�yJfIyU}8_�]Á[Ua�}UfªyJf��Ie)a g eXyw�)q�yU} ¤ ��[^�)qd�X��t"]�t�`${�asf f$tB�5v����|$tBrUt�`$yNqz|�� gBg tB|$|$adrUt+adf$t�{"|(yU`bt�f$[Xe�yMrUt"f�e)tw|�yU{�tQrJyJq��)t�y�`�t�]�tBf$adf$ad[^}Ê�Éy g f$[^` g yU}��Át2�)|$tB�5×�fOe)as|

e�yJ|�f�e)t=�L[^`${�´ ÿ ��¯8´�²B½LµU´�½>�Ie)t�`�t�´+ad|Qy8}���})| asc)})tB��a�}Uf$tBc8t�`Bv(£Ãq�yU} ¤ |(y8`btw})[UfÏyNqsqd[J��tB��tBadf�e)t�`ª|$ad��tw[J�f�e)t(yJ| f$t�`bad| ¤ v ���[Q|O� gBg tB|$|$adrUt g [^{w{�yJ|�`bt�]�`btB|$t�}8f�yQ})�)qdq5r@yNq¨�)tU×Ãf�e)t g [^` `btB|�]�[)})��a¨})c�r@yU`ba�yU�)qdt=a¨}+fOe)t$l ö)ø S"|$fOyJf$tO�

{"t�}8fIe�yJ|�adf$|ªr@yNq¨�)t"��} g e�y8})cUtB�5v��Éf�ad|ÏyNqs| [2]�[U| |$a��)qst�f$[w�)|$t(f�e)tª�L[^`${ }�Ö(f$[2`bt�]�`�tB|$t�}Ufªy"|$tBf�[J�§}�})�)qsqr@yNq¨�)tB|Mv¦Æ|$q�yJ|�ekÕ Ü Ö"{wyM_���tX�)|$tB�ha�})|$f$t�yN�h[J�ÏyU}~adf$t�{ |$t�]�yU` yJf$[^`B�adf2e�yJ|"f�e)t+tå�5t g f"[J� g [^{w])qdtBf$a�})cÓf�e)t

g ��`$`bt�}8f�l ö)ø S���asfOe)[^�)f��Ä��`bf�e)t�`ªa�}�]��)f��5yNqsq§`�t�{wyJa�})a�})c�asf t�{"|�a�}Xadf$|ª��yJf�y�f�`$y8})|b�Ðt�`�qdad|$f(yU`bt"��} g e�yU})c8tB�a�}�rJyJq��)tUv�>ad|$fb�Ä��a�`bt g f$tB�w[)�)f�]��)f5¬�qdtB|zyU`btÃcUt�})t�`$yJqdqd_ g [^{�]�yJf$a��)qdt���asfOe�qdad|$fb�Ä��a�`bt g f$tB�wa�}�]��)f n ��})qdtB|$|zf�e)tB_ g [^}8f�yJa�}

g e�yU`$y g f$t�`Ãadf$t�{"| n �Ie)a g e���adqdq�})[Ufªe�y�r8t�f�e)t�t�} g qd[U|$a�})cXyU]�[8|$f�`b[^]�e)tB|��Ie)a g e�yU`bt(`bt3Ô��)a�`btB�X[^}+a�}�]��)f�v

Page 103: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� j�pp�

Â$%gÃ�Â7 �«Å)ÆbÆpÚ³Å]Þ�Ëse��«Í7Ñ�ÒpÆpÍ7Ç�Å'Ñ�Ù¼ç5ÆpÚ�Ñ7ÒpÚ�ÑgÞ

¦ªqsfOe)[^�)c^e¾y"�L[^`${�yJfI|O]�t g a�¬ g yJf$ad[^}�yNqsqd[J��| g [^{�])qstBf t g [)}Uf�`�[Uq�[JrUt�`\f�e)t"q¨yM_U[)�)fI[J�§t�y g e�qda�})tw[J�§f$tB¢)f n asf��[)tB|�})[UfÃa¨} g q��)��t(yU}8_"��y�_=[J� g [)}Uf�`�[Uqdqsa�})cw]�yJcUa�}�yJf as[)}>v§ �e)t�[^})qd_"��yM_(f$[���[=f�e)ad|�ad|��U_w�)|$a�})cwy���})a@Ô:�)tyU})�¾tB¢)f�`$yJ[^`���a¨}�y8`b_X{"t g e�yU})ad|�{Ë��yJf$a�})cX��y gB¤ f$[+f�e)t(t�yU`�qsadtB|$f=��yM_^|ª[J�§��[)`bf�`$yU}>v�� rUt�}�a���_U[^��yU`bt"})[Ufg [^} g t�`$})tB����adf�e�]�yJcUa�}�yJf as[)}+_U[^��|$f$adqdq�})tBtB�Xf$[ ¤ })[J��y8��[^�)f�f�e)t g yU` `ba�yJcUtO� g [^}8f�`b[Uq g [^}8rUt�}Uf as[)}+|$a�} g t�asfad|Iqda�yU�)qdt"f$[wy9�5t g f�tBrUt�`b_+f$tB¢)f�¬�qdt(_U[)��]�`b[^��� g tUv� e)t�})tBr8t�`+�L[^`${wyJf f$tB��[^�)fO]��)f�as|�|$t�}8f�f$[�y&©�]�`ba�}8f$t�`b« n f�e)t�¬�`b|$f g e�yU`$y g f$t�`+[J�QtBr8t�`b_ `bt g [)`b�Ñas|

`bt�{"[JrUtB�¾yU})���)|$tB�¾f$[ g [^}8f�`b[8q�f�e)t=rUt�`bf$a g yJq|�]�y g a�})c�v= �e)ad| g yU`$`ba�yJcUtO� g [)}Uf�`�[Uq g e�yU`$y g f$t�`ª{"�)|$fI�Átw[^})t[J�zf�e)tª�L[^��`�qdad|$f$tB�Xa�} f�e)t(f�e)t�fOyU�)qdtQ��tBqd[J�(v

Z�e�yU`$y g f$t�` � t�`bf a g yNq5|�]�y g a�})c���tO�L[^`btQ]�`�a¨}8f$a�})cµ ¶sµ8´�ü ¦ª��r@yU} g t=f$[2})tB¢)f�qda�})tô ¦ª��r@yU} g t=fb��["qda�})tB|ò ¦ª��r@yU} g t=f$[wf$[)]+[J�Ô})tB¢)fÏ]�yJc8t; ��[2yJ��rJyU} g t n aLvÍtUv>]�`ba�}Uf�[)}+|�yU{"t�qda�})t

¦Ï}"t�{�])f�_w`bt g [)`b�wad|§f�`�t�yJf$tB�2yJ|za��5adf�|$f�yU`bf tB�Q��asfOewy�|$a�})cUqdt��)q�yU} ¤ v ��[^`tB¢�yU{w])qdt n f�e)tB|$t�| f�yJf$t�{"t�}8f$||$f�y8`bf�yw})tB��]�yJcUt���asfOeXyw]�yJc8t(}^��{"��t�`�yJf�f�e)t�f$[)]�yU})�Xy"f$adf$qdt([)}+f�e)t(f�e)a�`b��qda�})tU×

�il � ú)ö�þå� k � ô|ô � ûp��é � ö l � � l ãMÚ�ë^á8ÙkàJî�ñÑø�ä^äUëJå)î�Ù�ß �ôiô ï Tpl é)ø^úgþ � ònk ø m ö � � � > �¾Ü<� � ô � ��ø � �e)ad| g yU`$`�a¨yNcUtO� g [^}8f�`b[Uq g [^}8rUt�}8f$ad[^}Âas|�yU}ÂyU�)|���`b�k`btBqda g �Ie)a g e g yU�)|$tB|�yÓ{Q�)qdf$adf��)��t¾[J�Q]�`�[^�)qdt�{"|�a�}]�`$y g f a g tUv �za¨`�|$f$qd_ n |$_^| f$t�{"|z��a�5t�`§[)}"�Ie�yJfÃf�e)tB_ g yJqdq�y�©O]�`ba�}Uf$t�`�«�×asf�{wyM_"[^`§{wyM_"})[Uf�yU]�])qd_wf [(r)as|O��yJq��ad|�])q�yM_Xf$t�`${�a¨}�yNqs|�[)`�f$[wf$tB¢)fªa¨})adf$a�yJqdqd_¾|�yMrUtB�X[)}Xy"��ad| g ¬�qdtwyU})�Xq�yJf$t�`ª]�`ba�}8f$tB�¾[^�)f�v��)[^{"t=[^]�t�` yJf$a�})c|$_)|$f$t�{"|we�yMrUtXy�|�]Át g a¨yNq�¬�qdt�fb_:]Át+�Ð[)`(��[^`bf�` yU}¾�L[^`${�yJf$f$tB��[)�)f�]��)fw�Ie)a g ehad|wf�`bt�yNf$tB����a�5t�`bt�}8f$qd_��U_]�`ba�}8f$t�`b|QÕLy8})�2f$t�` {"a�}�yJqd|�ÖBv§Åªf�e)t�`�|Ie�yMrUtÏ�ÁtBt�} ¤ })[J�I}wf [ g e)[^]+[��¾f�e)tª¬�`b|$f g e�yU`$y g f t�`§[N�ÔyJqdq�¬�qstB|ª|$t�}8ff$[wfOe)t�|$_^| f$t�{Æ]�`ba�}8f$t�`�|$[wfOe�yJf�|�]�t g a�yJqz�)f$adqdasf astB|"yU`bt(})tBtB��tB��f$[2]�`ba�}8f�[^`b��a�}�yU`b_�f tB¢^f�v 5["��t�[^}"fOe)tI|�y@�Ðt�| as��t�_8[^�"|�e)[^�)qd�XyJqd��yM_^|�]�`b[Jr^ad��t�yU}�tB¢:])qda g adf g yU`$`ba�yJc8tO� g [^}UfO`b[Uq g e�yU`$y g f$t�`§yJfÃf�e)t

|$f�y8`bf�[J�zt�y g e+�L[^`${wyJf�|�]Át g a�¬ g yJf$ad[^}�yU})�¾yM�Lf$t�`�t�y g e�|$q�yJ|Oe>v���]�t g a�yJq g yU`bt�ad|(})tBtB��tB�¾a�}+�L[^`${wyNf$|��Ie)a g e�)|$tª�L[^` g tB�X`btBr8t�`b|$ad[^}>v§��[^`${wyNq�| a¨})c8qst=|�]�y g a�})cwad|�[^�)fOyJa�})tB�X��adf�e�yw�)q�yU} ¤ n g [^}8rUt�})adt�}8f$qd_X]�`b[^��� g tB�¾�U_f�e)t«ò � tB��adf���tB| g `ba�])f$[)`Bv§���z_U[^���L[^`bc8tBf�yU})�Xy gBg ad��t�}8f�yJqdqd_�]�`ba�}8f�yw}^��{"�Át�`�yJf�f�e)tª|$f�yU`bf�[J�t�y g e�`�t g [^`b���adf�e�y(qdt�yJ��a�})c���adcUadf5ò�f�e)t�} t�y g e�`bt g [^`b����adqdq|$f�yU`bf�yw})tB�&]�yJcUtUv �e)t"tå��t g f�[N� ; yJ|(y g y8`$`ba�yJcUtO� g [^}8f�`b[8q g e�yU`$y g f t�`���[^�)qd����tw{"[^`�tQ�)|$tO�Ä�)qza���adf$|�tå�5t g f$|���t�`btQ{�[^`bt

]�`btB��a g f�yU�)qdtUv"�)[^{"t"��tBr)a g tB|=[JrUt�`���]�`ba�}8fIf�e)tw]�`btBr)ad[^�)|(`bt g [^`��ÒÕÉyJqdqs[J��a�})c�f�e)t=�L[^`${wyNf$ad[^}�[J� g [){w]�[U| asf tg e�yU`$y g f$t�`�|�qda ¤ t"Ö n [Uf�e)t�`b|�yU]�]Át�})�Xf$["adf n yU})��|$[^{�t�Õ�a�} g q��)��a�})cX{wyU}8_wr)as|O��yJq5��ad|�])q�yM_�f$t�`${"a�}�yJqd|�Ö�t�` yJ|$t�Ie�yJf"��yJ|=f�e)t�`btX��tO�L[^`btUvÓ�Ä}h]Á[^`bf�yU�)qdt�|$[N�Ðfb��yU`bt"f�e)t�`bt�ad|2})[�yJqdf$t�` }�yJf$adrUtX���)f"f$[¾adc^})[^`bt�f�e)t ; g yJ|$tyJqdf$[Uc8tBf�e)t�`Bv�)f�yU})��yU`b�h��[^`bf�` yU} g yU}Ó[^})qd_h�)|$t�f�e)t+�L[^��` g yU`$`ba�yJc8tO� g [^}UfO`b[Uq g e�yU`$y g f$t�`b|"qdas| f$tB��a�}hfOe)t2f�y8�)qst¾���)f

{wyU}8_�|$_)|$f$t�{"|z�)|$t�[Uf�e)t�`¡|$_�{"��[Uqd|�L[^`5|O]�t g a�yJq)�L[^`${wyJf f$a�})cI]���`$]�[8|$tB| n |O� g e"yJ||$tBf$f$a�})cªrUt�`bf$a g yJq)|�]�y g a�})c ng e�yU})cUa�})c��L[^}8f$| n yU})��| [�[^}>vwÅ�})t2tB¢)f$t�})|$ad[^}Ê�Ie)a g e~ad|(��ad��tBqd_�yMr@yJadq�yU�)qdt+as|=f�e)t2�)|$t�[J��f�e)t g ��`$`bt�} g _|$_�{"��[UqZ¥"f$["|���]�]�`btB|$| g yU`$`ba�yJc8tO��`btBf���`$}�yJf�f�e)t�t�})��[J��f�e)t�qda�})tUv� �e)ad| g yU}��ÁtQ�)|$tO�Ä�)q5�Ie)t�}�]�`�[^��� g a�})cf$t�`${�a¨}�yNq�]�`�[^{w])f$|IyN|�adfIyNqsqd[J��|�fOe)t(`bt�])qd_2f$[w�Át(t�}8f$t�`btB��[^}�f�e)t�|�yU{�tIqda�})tUv� �e)t�`bt�ad| n ��}8�L[^`bfO��}�yJf$tBqd_ n})[w��yM_w[J�z��[Ua�})c2fOe)as|�a¨}��)f�yU})��yU`��X��[)`bf�`$yU}>v �e)tÏ` �)qstB|\�Ð[^`Ãqdad|$fb�Ä��a�`bt g f$tB��[^�)f�]��)f�t�})|���`bt�fOe�yJf§f�e)tªqda�})tB|ÏyU`�tI|$a�})cUqdtO�Ä|�]�y g tB���8_2`bt3Ô��)a¨`�a¨})c+yJf�qst�yN|$f

[^})t(�)q�yU} ¤ yJf�f�e)t�|$f�yU`�f�[N�ÔtBrUt�`�_�`bt g [)`b�5v

Page 104: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� j�p >

Â$%gÃ�Â'× B�Ñ�Î�égÒ�:KRRégÒpÎ�égÒ�Ø<ÒpÅFÒpË]ÏÊËFÑ�Òpà5Å'Ñ�ÙQP�Ë�ÈSR1Í7ÆpÙ�à �e)t(���UÅ!|$fOyJf$t�{"t�}8f$|Ã�ÉyNqsq¡a¨}8f$[wfOe�`btBt(c^`�[^��])|�×

ë  �e)t���yJf�y"fO`$yU})|b�Lt�`Ã|$f�yJf$t�{�t�}Uf$|�l ö^ø S�yU})�y�|l � ú^ö v

ë  �e)tª¬�qdt g [^}�})t g f$ad[^}�|$fOyJf$t�{"t�}8f$|�Tpk ö)û��Xüi� Ti� ö�� yU})� � û�ùd� � l ö v

ë  �e)tª¬�qdtQ]�[8|$adf$ad[^})a�})c�|$f�yJf$t�{�t�}Uf$|�l ö � � û S�yU})�y� ø:ü8þ �bk ø:ü8ö v

¦Iqdq(fOe)tB|$t¾|$f�yJf$t�{�t�}Uf$|�e�yMrUt�yÓ|$a�{"adq�yU`�cUt�})t�`$yJq��Ð[)`${ Õ�tB¢ g t�])f�f�e�yJf�[^})qd_Ñf�e)tJl ö)ø S yU})�"�il � ú^ö|$f�yNf$t�{"t�}8f$| g yU}�e�yMrUt(y"��yJf�y@�Äf�`$yU})|b�Lt�`Ãqdas| f�ÖB×

l ö^ø S þ �O¯U´�½L®b¯U¶ÝÛb¶s³ ²B½ � ³�´$>»^½VÛb¶s³ ²B½�il � ú)ö�þ ��¯8´�½L®b¯U¶ÝÛ�¶d³ ²¥½ � ¯U»)½Ý�»)½VÛ�¶d³�²B½

 �e)t=asf t�{"|Ia�}�t�y g e�qdad|$f(yU`bt=|$t�]�yU`$yNf$tB�X�U_ g [){w{wyJ|�v� �e)[U|$t�a�}�f�e)t g [^}8f�`b[8q5qdas| f(yU`bt(�)|���yJqdqd_¾|�]�t g a�¬�tB��8_ ¤ tB_)��[^`b��| n a�}¾�Ie)a g e g yJ|$t(fOe)tQ[)`b��t�`ª��[^tB|(})[8f({wyJf$f$t�` n yJqdf�e)[)�)c^e�asf�ad| g [^}8rUt�}8f$ad[^}�yJqzf$[�e�yMrUt"f�e)t��})adfIad��t�}8f$a�¬�t�`�¬�`�|$f�vz��[^` g [^{w]�yJf$a��)adqdadf�_���adf�e+��[)`bf�`$yU}�BbB n a��§f�e)t(��})adfªas��t�}8f$a�¬�t�`���[^tB| g [^{"tª¬�`b| f�fOe)t�}f�e)t ¤ tB_)��[^`b� �:û � ú õ {wyM_2��t=[^{"adf$f$tB�5v ����`bf�e)t�` {"[^`bt n �Ie)t�}+f�e)ad| ¤ tB_)��[)`b�2ad|�[){"adf$f$tB��a�}RQ�� ¦I�ÎyU})��il � ú^ö |$f�yJf t�{"t�}Uf |(yU})��fOe)t"�Ð[)`${wyJf�ad��t�}8f$a�¬�t�`"ad|(|$t g [^})�Óadf$| ¤ tB_^��[^`b�Ó{wyM_�yJqd|$[¾��t+[^{"adf$f$tB�5v� �e)�)|f�e)tB|$t�fb��["|$f�yJf t�{"t�}Uf |\y8`bt�tB¢:y g f$qd_�t3Ô:�)adr@yNqst�}8f�×

l ö^ø S þí��û � ú õ ò �2ï)é^ú õ�ÿ ��ö l|l õ ó)ó)ó � ø)é k�� �y� T �8ú � ��ý)ö l ú ¢l ö^ø S þ ò � ÿ �Xö lil õ ó^ó)ó � ø)é k�� ��� T �Uú � ��ý)ö l ú ¢

��|$tI[N��f�e)ad|IyU����`btBr)a�yJf$tB�+�L[^`${�as|ªy({wyJf f$t�`Ã[J�5f�yJ|$f$tUס�L[^`zfOe)t�|�y ¤ t�[N� g q�yU`badfb_2f�e)t ¤ tB_)��[^`b��|§��asqdq�yNqsq5�Át|�e)[J�I}+a�}�[8f�e)t�`�tB¢�yU{w])qdtB|�v�Êy8}U_+[J��f�e)t ¤ tB_)��[)`b��|�a¨} f�e)t g [^}8f�`b[Uq��Äqdad|$f g yU}�f�y ¤ tÏy g e�yU` y g f$t�`�tB¢�]�`btB|$|$ad[^}�yJ|IyU}�y8`bc^��{"t�}8f�×a�}

|�� g e g yJ| tB|IyU}8_2f�` yJadqsa�})cX�)q�yU} ¤ |Ia�}�f�e)t�rJyJq��)tQ��asqdqz��t=asc)})[^`btB�5v� �e)ad|�{wy ¤ tB|�adf�t�yN|$_�f$[2�)|$t g e�yU`$y g f$t�`r@y8`ba�yU�)qdtB|�f$["|�]�t g a��L_�¬�qdtQ}�yU{�tB|IyU})� g e�yU`$y g f$t�`�as| f$a g |�v �e)t�`btªas|�[^})t�cUt�})t�`$yJq>`btB|$f�`ba g f$ad[^}�[^}�tB¢:]�`�tB|$|$ad[^})|��)|$tB�+a¨}�yNqsq>�Ä�UÅ |$f�yNf$t�{"t�}8f$|�×5fOe)tB_2{"�)|$f§})[Uf g yJqdq

tB¢)f$t�`$}�yJqÁ�É��} g f$ad[^})|��Ie)a g e�f�e)t�{"|$tBqdrUtB|�tB¢^t g �)f$t��Ä��`bf�e)t�`��Ä�UÅ |$f�yNf$t�{"t�}8f$|�v� �e)as|ª`btB|$f�`ba g f$ad[^}+yMrU[Uad��|�f�e)t]�[8|$|$a��)adqsadfb_X[N� `bt g ��`�|$adrUt g yJqdqd|ªf$[wf�e)t(���UÅ!|$_)|$f$t�{ v

Â$%gÃ�ÂFÝ H�»�ÀsÁ Ø�ÒpÅ]ÒpËFÏÊË]Ñ7Ò �e)t�Tpk ö^û |$f�yNf$t�{"t�}8f�ad|Ï�)|$tB��f$[ g [^}�})t g fÏyQ¬�qst"f$[+yU}X���UÅ ��})adf(yU})����tB| g `�a¨�Átwadf$| g e�yU` y g f$t�`bad|$f$a g |�v��Éfg yU}¾[)]�t�}�yU}ÊtB¢^ad|$f$a�})c�¬�qdt2[)` g `bt�yJf$twyX})tB� [^})tUv2�Ð��f�e)t2��})adf(ad|QyNq¨`�t�yJ��_ g [^}�})t g f$tB�Óf$[XyU})[Uf�e)t�`Ϭ�qdtf�e)t�}¾fOe)as|=ad| g qd[U|$tB�h��tO�L[^`btwfOe)t2})tB� g [^}�})t g f as[)}¾ad|�{�yJ��t n |$[XfOe�yJf�adf(ad|(a�{w]Á[U|$|$a��)qdt�f$[ g [^}�})t g f=f���[¬�qdtB|�|$a�{"�)qdf�yU})tB[^�)|$qd_�f$["f�e)t�|OyU{"t���})asfMv§�Lf�ad|Iy8}wt�`$`�[^`Ãf$["f�`b_wf$[ g [^}�})t g fI{"[)`btIfOe�yU}+[^})t���})asfª|$a�{"�)q��f�yU})tB[)�)|$qd_Qf [(f�e)t�|OyU{"tì�qdtUv§�Ä}�f�e)t�|�]Át g a�yJq g yJ|$t�a�}w�Ie)a g ewfOe)tI��})adf\y8})�"¬�qdtÏyU`�t\yNq¨`�t�yJ��_ g [^}�})t g f$tB��f$[t�y g e+[Uf�e)t�` n f�e)tMTbk ö^û | f�yJf$t�{"t�}8f�{wyM_2��t(�)| tB�Xf$[wyJqdf$t�`Ãf�e)t(]�`b[)]�t�`bf$adtB|ª[J��f�e)t g [)}�})t g f$ad[^} n yNqsfOe)[^�)c^ea�}X]�`$y g f$a g t([^})qd_�f�e)t$� �Uø)û)þ õ ÕÉyU})��|$[^{"tBf a¨{�tB|�l ö�üi� õ Ö�r@yNq¨�)tB| g yU}��Át g e�yU})cUtB�Xa�} f�e)ad|���y�_Uv �e)t���[)`bf�`$yU}Â�)f�yU})��yU`��k��[^tB|¾})[Uf�|�]Át g a �L_kf�e)t�¬�qdth]�[U|$adf$ad[^} �Ie)t�}ky8}�tB¢)ad|$f$a�})cÑ|$t3Ô��)t�}Uf$a�yJq�¬�qdt

ad|w[^]Át�})tB�5v�¦ªqdf�e)[^�)c^eh{�[U|$f"[^]�t�` yJf$a�})c�|$_)|$f$t�{"|w�Át�e�y�r8t�|$t�})|$a��)qd_ n a¨}h]Á[^`bf�y8�)qst�|$[J�Lfb�\y8`btwyJl ö � � û S|$f�yNf$t�{"t�}8f�|Oe)[^�)qd����t"�)|$tB�Xf [wt�})|���`bt�f�e�yNf�f�e)tª¬�qdt(ad|�`btB��[^��})�X��tO�L[^`bt=_U[^��`bt�yJ��adf�v �e)t�cUt�})t�`$yJq��Ð[^` {Î[J��f�e)t�Tpk ö)û |$f�yJf t�{"t�}Uf�ad|�Á��)|$fM×

Tbk ö)ûgþ �O¯U´�½L®b¯U¶ÝÛb¶s³ ²B½ � �e)t��O¯U´�½L®b¯U¶ÝÛb¶s³ ²B½ g yU} g [^}8f�yJa�}�yU}8_2[J�zf�e)tª�L[Uqdqd[@��a¨})c+adf$t�{"|�a�}�yU}U_+[^`b��t�` ×

Page 105: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� j�pUÈ

��û � ú õ ³�´�½L±�·^±M®4Ûb± ³ >®�± ²�²B³�¯U´(|O]�t g adtB|�f�e)tQ���UÅÎ��})adfÏ})��{"��t�`��Ie)a g e¾{"�)|$fI�ÁtÖ?Bt�`�[w[^`ªyU��[JrUtU��fOe)tQ��]�]�t�`qsa�{"adf=as|ª|$_)|$f$t�{=�Ä��t�]Át�})��t�}Uf n fb_:])a g yJqdqd_ lUl [^` o8ÈUÈ vI �e)tQ��})adf(ad��t�}8f$a�¬�t�`({"�)|$f�yJqd�\yM_)|I��t�cUadrUt�} nf�e)t�`bt�ad|Ï})[���tO�ÉyU�)qdfªr@yJq��)tUv

� ú^ø)úb� � õ �i®^µU®bµ��M½L±�®]Û�± ³ �®b±B²O²¥³�¯U´"��tB| g `�a¨�ÁtB|I[)`�|�]�t g a�¬�tB|�f�e)tª¬�qdt"|$f�yNf��)|�vz �e)t�r@yNq¨�)t"{"�)|$fI��t=[^})t�[J�$×� T � S �  �e)t�¬�qdtQ{"�)|$f�tB¢)ad|$f�v� û)ö � �  �e)t�¬�qdtQ{"�)|$fI})[Uf�yJq�`bt�yN��_�tB¢^ad|$f n yw})tB�Ѭ�qdt"as| g `bt�yJf$tB�5v� � ü l ø)ú:ü8ý � ¦�}���}�}�yU{�tB��f$t�{w]Á[^`$yU`�_¾¬�qdtXad| g `bt�yJf tB�5��adfwad|w��tBqdtBf$tB�kyU�)f$[^{�yJf$a g yJqdqd_�Ie)t�} f�e)t(]�`b[Uc)`$yU{ tB¢^adf$|Mv� ��û^þ)û Tp� û �  �e)t+tå�5t g f(ad|"|$_)|$f$t�{=�Ä��t�]Át�})��t�}Uf n ���)fQ�)|O��yJqdqs_h{"t�yU})|"f�e�yNfQyU}¾[8qs�~¬�qdt��adqdqz��tQ�)| tB�Xa��§[^})t�tB¢)as| f$| n [UfOe)t�`b��ad|$t(yw})tB� ¬�qdt(��adqdqÔ�Át g `bt�yNf$tB�5v

 �e)tI��tO�ÄyU�)qdf�r@yJq��)t=as| � �:û)þ)û Tb� û � � ���)f�adf�ad|\��}8��ad|$t�f$["[^{�asfÃf�e)t$� ú)ø^úb� � ¤ tB_^��[^`b����t g y8�)|$t�f�e)ttå��t g f�[J� � �:û)þ^û Tb� û � ad|I| [wadqsq��Ä��tO¬�})tB�5v

ï � �8ö õ �i®^µU®bµ���½L±M®4Ûb± ³ �®b±B²O²¥³�¯U´ª|�]�t g a�¬�tB|�f�e)tì�qdtO��}�yU{"twÕL���)f§yU}8_�f�`$yJadqda�})cw�)q¨y8} ¤ |Ã��adqsq>��t�adc^})[^`btB��Ö vÔ �e)t�Ð[^` {"|§[J�¬�qdtO��}�yU{"t(y gBg t�])fOyU�)qdtQyU`btª|$_)|$f$t�{=�Ä��t�]Át�})��t�}UfM×�y g [^{w])qdtBf$t�¬�qdtO�Ä|�]�t g a�¬ g yJf$ad[^}�[^}+| [^{"t[^]�t�`$yNf$a�})c�|$_)|$f$t�{"|w{wyM_�a�} g q��)��t¾f�e)t���tBr^a g t n �)|$t�`���}�yU{"t n ��a¨`�t g f$[^`b_h]�yJf�e n ¬�qdtO�Äf�_�]�t n rUt�`b| as[)}}^��{"��t�`�tBf g v2y8})��{wyM_�`bt3Ô��)a�`btwrJyU`bad[^�)|w]���} g f���yJf$ad[^}~{wyU` ¤ |�f$[X| t�]�yU`$yJf$t"f�e)tB| tUv2�Ä}~]�[^`bfOyU�)qdt|$[J�Lf���yU`�t n �Ie)t�`bt+f�e)t�}�y8{"t�e�yN|(f$[���t�y gBg t�])f�y8�)qst�f [�y�rJyU`badtBfb_�[J�I[)]�t�`$yJf a¨})c¾|$_)|$f$t�{�| n |�e)[)`bfyU})�X|$a�{w])qdt2}�y8{"tB|�|�e)[^�)qd����tw�)|$tB�5vª¦ªqsf t�`$}�yJf$adrUtBqd_¾f�e)t ï � �8ö õ ad��t�}Uf$a�¬�t�`={wyM_X��twy g e�yU`$y g f$t�`r@yU`ba�yU�)qdtQÕÐ[^`zyU`$`$yM_ªtBqdt�{"t�}UfOÖz|$[�f�e�yNf�f�e)t��)|$t�` g yU} g e)[)[U|$t�y�¬�qdtO��}�yU{"t�yJfz`$��}8�Äf$a�{"tUv§ �e)t�`bt�as|�})[��tO�ÉyU�)qdf��Ð[)`�f�e)t�¬�qdtO��}�yU{�tQ| [w[^})t(|Oe)[^�)qd����t"|�]Át g a�¬�tB��a�}¾yJqdq g yJ|$tB|I��})qdtB|$|M� ú^ø)úb� � õ(� � ü l ø^ú�ü8ý �a¨} �Ie)a g e g yJ|$t�f�e)tª¬�qdt"{Q�)| fI})[UfI�ÁtQ}�yU{"tB�5v

ø�ü^ü8ö �|� õ �i®^µU®bµ��M½L±�®]Û�± ³ �®b±B²O²¥³�¯U´"|�]Át g a�¬�tB|�f�e)tª¬�qdtQy gBg tB|$|ª{"tBf�e)[)�5v� �e)t�rJyJq��)tQ{wyM_���t=tBasfOe)t�`B×� � ö:ùd��ö^û)ú � ø�� � y"| t3Ô:�)t�}8f$a�yJq¡¬�qstU×Ãf�e)ad|�ad|ªf�e)t���tO�Éy8�)qsfMv� S � l ö�üUú � y=��a�`bt g fb��y gBg tB| |§¬�qdtU×za�}�f�e)ad| g yJ|$tªf�e)t�l ö:üi� õ ¤ tB_)��[^`b�wad|�yJqd|$["})tBtB��tB�5vï Tpl é õ �i®^µU®bµ���½L±M®4Ûb± ³ �®b±B²O²¥³�¯U´"|�]Át g a ¬�tB|�fOe)t(`bt g [^`b�+�L[^`${wyNf�vz �e)t�r@yJq��)tw{wyM_2�Át(tBadf�e)t�`B×� ï Tpl é)ø^ú)ú^ö S � f�e)t(��tO�ÄyU�)qdf��Ð[^`�y"| t3Ô:�)t�}8f$a�yJq>¬�qdtUv� ��û^ï Tbl é)ø^ú)ú)ö S � f�e)t(��tO�ÄyU�)qdf��Ð[^`�y"��a�`bt g f���y gBg tB|$|�¬�qstUvl ö:üi� õ ³�´�½L±�·^±M®4Ûb± ³ >®�± ²�²B³�¯U´(|O]�t g a�¬�tB|�f�e)tQ`�t g [^`b��qdt�})cUf�e>v� �e)ad|Ï{"�)|$fª��t(c8asr8t�}+�L[^`�y"��a�`bt g fb��y gBg tB|$|ª¬�qdt

���)f\})[8f§[Uf�e)t�`���ad|$tUv§ �e)t�`bt g [^`b�)�Äqdt�})cUfOe+as|ª{"t�yJ|���`btB�+a�} g e�y8`$y g f$t�`b| �Ð[)`�yÏ�Ð[)`${wyJf$f tB�"¬�qdt n ���)f�as|a¨} |$_)|$f$t�{=�Ä��t�]Át�})��t�}Uf���})adf$|�ÕÐ[J�Ðf t�}�}^��{"t�`�a g |$f$[^` yJcUt���})asf |�ÖÃ�L[^`�yU}���}8�L[^`${wyNf$f$tB��¬�qstUv

� �Uø)û)þ õ ��®^µ8®�µ)��½L±�®]Û�± ³ �®b± ²�²B³D¯8´�|O]�t g a�¬�tB|�e)[@�Ët�{"��tB����tB�!yU})�Ñf�`$yJadqda�})c �)q�yU} ¤ |Xa�}k})��{"t�`ba g yJq=a¨}�]��)f¬�tBqs��|ª[J��Ð[)`${wyJf$f tB�w¬�qdtB|�yU`bt�f$[2�Át(f�`�t�yJf$tB��Õ�a�}�fOe)t(yU�)|$t�} g t([N�ÔtB¢�])qda g adfª�L[^`${wyNf���tB| g `ba�])f$[^`b|�� û[^`���¢)ÖBv� �e)t(rJyJq��)tQ{wyM_���t=tBasfOe)t�`B×� ûb���i� � �)q�yU} ¤ |If�`�t�yJf$tB�XyJ|I})�)qdqd| n aLvÍtUvÁasc)})[^`btB�5×Ãf�e)t���tO�Éy8�)qsfMv� ¢ ö l�T � �)q�yU} ¤ |If�`�t�yJf$tB�XyJ|�?Bt�`�[U|�v �e)t���tO�Éy8�)qsfªr@yNq¨�)t=ad|Iqda ¤ tBqd_Xf$[w�Át(f�e)t=|$t�})|$a��)qdt g e)[Ua g t(a�}�yJqdq g yJ|$tB|�v

� T|� ú)ø^ú õ ³�´�½L±�·^±M®4Û�ñ�µU®O³�µ<µB¶d±(Õ�[^`ªyU`$` y�_+tBqdt�{"t�}8f�ÖI`�tBf���`$})|�f�e)t"�Ä�UÅ |$f�yNf��)| g [)��t�y@�Ðf$t�`\tB¢^t g �)f$ad[^}Ê[J�§f�e)tTpk ö^û |$f�yNf$t�{"t�}8f�v  �e)as|+��adqdq(��t�?Bt�`b[�a��Q})[Ót�`$`b[^`�e�yJ|2[ gBg ��`$`btB� n [Uf�e)t�`b��as| tXadf2��asqdq�`btBf���`$}Ây|$_^| f$t�{=�Ä��t�]�t�})��t�}8f�]�[U|$adf$adrUt=r@yJq��)tUv

ö l|l õ ¶sµ�µ$±M¶�f�`$yU})|��Ðt�`b| g [)}Uf�`�[Uq�f [�f�e)twq�yU��tBqdqdtB��tB¢)t g �)f�yU�)qdt+|$f�yJf t�{"t�}Uf�a�}¾fOe)tw|�yU{"t+]�`b[Uc^`$y8{ ��})adf"a�}f�e)t�tBrUt�}8f�[J�§yU}+t�`$`b[^` v

Page 106: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� j�p B

Â$%gÃ�ÂFæ &",KH"��À�Ø<ÒpÅFÒpË]ÏÊËFÑ�Ò �e)t ü|� Ti� ö |$f�yNf$t�{"t�}8f§ad|��)|$tB�2f [ g qd[U|$t(yϬ�qst(y8})����`bt�y ¤ adf$| g [^}�})t g f$ad[^}�f$[wy(��})adf�v§ �e)t���})adfIyU})�+f�e)t¬�qdt2Õ�a��Ôadf�| f$adqsq¡tB¢^ad|$f$|OÖ�y8`btIfOe)t�}��É`btBt��L[^`�`btO���)|$t�a�}�yU}8_w��y�_Uvz�Ð�Ôf�e)tª|�]Át g a ¬�tB����})adf�ad|I})[Uf g [^}�})t g f tB��f$[y=¬�qdt(fOe)t�|$f�yJf$t�{�t�}UfIe�yN|I})[wtå�5t g f�vz �e)t(c8t�})t�`$yJq��Ð[)`${Î[J�zf�e)t�|$f�yNf$t�{"t�}8f�ad|�×

üi� Ti� ö�þ ��¯8´�½L®b¯U¶ÝÛ�¶d³ ²¥½ ��Ie)t�`bt�fOe)t©�O¯U´�½L®b¯U¶ÝÛ�¶d³ ²¥½>{wyM_ g [^}8f�yJa�}+f�e)t��Ð[8qsqd[J��a�})c+asf t�{"|�×��û � ú õ ³�´�½L±�·^±M®4Ûb± ³ >®�± ²�²B³�¯U´�|�]Át g a�¬�tB|�fOe)tI��})adf�})��{Q�Át�`zf$[ g qd[U| tQÕ�f�e)t�|�yU{�t\yN|§a�}"f�e)t£Tbk ö^û |$f�yJf$t�{�t�}Uf�Ö v� ú^ø)úb� � õ �i®^µU®bµ��M½L±�®]Û�± ³ �®b±B²O²¥³�¯U´"|�]Át g a�¬�tB|�f�e)t(|$fOyJf��)|�[J�zf�e)t�¬�qdtQy@�Ðf$t�` g qs[8|���`btUv� �e)t(tB¢�]�`btB|$|$ad[^}�{"�)|$f

e�y�r8t�yÓr@yNq¨�)t~[J�(tBadf�e)t�`B× � þ)ö)ö k � �L[^`�f�e)t�¬�qdt�f$[h��t�]�`btB|$t�`br8tB� n [)` � S ö��8ö^ú)ö � �L[^`�f�e)t�¬�qdtf$[��Át���tBqstBf tB� yM�Lf$t�` g qd[U|O��`btUv� �e)t+��tO�ÄyU�)qdfwad|«� ú)ø)úp� � õ�� þ^ö)ö k � tB¢ g t�])f"�L[^`�¬�qdtB|w[^]�t�})tB�h��asfOe� ú)ø^úb� � õ�� � ü l ø)ú:ü8ý � Û |�� g e�¬�qdtB|ÏyU`�t(yJqd�\yM_)|���tBqstBf tB�Êy@�Ðf$t�` g qd[U|���`�tQyU})�R� ú^ø)úb� � õ(� þ)ö^ö k � ad|�})[Uf]�t�`${"adf$f tB�5v

� T|� ú)ø^ú 媳D´�½L±Ä·)±�®]Û*ñMµU®�³�µ<µ ¶s±�yU})� ö lilK媶sµ�µ$±M¶UyU`bt���[Uf�e�]Át�`${"adf$f$tB� n yJ|�a¨}+fOe)tMTpk ö^û |$fOyJf$t�{"t�}8f(ÕL���)f�})[Uf{Q� g e g yU}+cU[��I`b[^})c"��adf�e�y ü|� Ti� ö | f�yJf$t�{"t�}8f�ÖBv

Â$%gÃ�ÂoO ��Á/T�#(�)¼�À�Ø�ÒpÅ]ÒpËFÏÊË]Ñ7Ò �e)t � û:ùd� � l ö | f�yJf$t�{"t�}8f g yU}���t"�)|$tB�Xa�} f���["|$qdadc^e8f$qd_���a��5t�`bt�}8f��L[^`${"|M×

� û:ùd� � l ö�þ ��û � ú õ ³D´�½L±Ä·)±�®]Û�± ³ �®b±B²O²¥³�¯U´sæ�³D´JU�»)³D®b±iÛ�¶d³�²B½ �� û:ùd� � l ö�þ ï � �8ö õ t�{ g e�y8`$y g f$t�`��ÄtB¢�]�`btB|$| as[)} n a�}iÔ:�)a�`btO�Äqdad|$f �

 �e)tª¬�`b| f��Ð[)`${ n yU}�a�}iÔ��)a�`btw�U_���})adf n `btBf���` })|�a�}8�Ð[^` {wyJf$ad[^}�yU��[^�)f�f�e)t(��})adfÏyU})� n a �§adf�ad| g [^}�})t g f$tB��f$[y�¬�qst n y8��[^�)fªf�e)t�¬�qdt2yN|���tBqsqLv�����adfIad|(})[Uf g [^}�})t g f$tB�¾f$[�y"¬�qdt"f�e)t�}�{"[U|$fª[J�§f�e)t"yU`bc^��{"t�}8f$|���asqdq§�Át��})��tO¬�})tB�¾[^`�`btBfO��`$}�y"r@yNq¨�)t=[J� � ��û^þ)û Tp� û � yJ|IyU]�]�`b[)]�`ba�yJf$tUv �e)t�|$t g [^})�+�L[^`${ n a�}iÔ��)a¨`�tQ�8_w¬�qdt n g yU}�yNqs��yM_)|\�ÁtQ�)|$tB��f [(¬�})��[)�)f��Ie)tBf�e)t�`�y"}�yU{�tB�+¬�qst=tB¢^ad|$f | n

aLvÍtUv g y8}��Át2[)]�t�})tB���8_�y+��[^`bfO`$yU}¾]�`b[Uc^` yU{�v=¦Ï}8_Xf�` yJadqsa�})c��)q�yU} ¤ |(a�}�fOe)t g e�y8`$y g f$t�`ªtB¢�]�`btB|$|$ad[^}~yU`btadc^})[^`btB� n yU})��f�e)t��L[^`${�|z[J�>¬�qstO��}�y8{"t(y gBg t�])f�yU�)qdt�yU`bt n yJ|§a�}�f�e)t Tbk ö^û |$f�yNf$t�{"t�}8f n |$_)|$f$t�{=�Ä��t�]Át�})��t�}Uf�v���zf�e)t�¬�qst=tB¢^ad|$f |IyU})�Xad| g [^}�})t g f$tB��f$[wyw��})adfIf�e)t�}�{"� g e�{"[)`bt�a�}8�Ð[^` {wyJf$ad[^} g yU}��Át([^�)fOyJa�})tB�5v �e)t¾a¨}iÔ��)a�`btO�Äqdad|$f�{wyM_ g [^}8f�yJa�}�y8}U_Â[J�(f�e)t¾adf$t�{"|X��tBqd[J�(v ��[Uf$t¾f�e�yNf�yJqdqª[J�QfOe)t�{ Õ�tB¢ g t�])f+�L[^`

ö l|l õ âUà h�ã)â Ö=`btBf���`$}Óa�}8�L[^`${wyNf$ad[^}��8_hyJ|$|$adc^})a�})c�y¾rJyJq��)t�f$[�y�}�yU{"tB�hrJyU`ba�yU�)qdt ÕÐ[^`(yU` `$yM_�tBqdt�{"t�}UfOÖBv �e)t�})[^`${wyNq�`$�)qdtB|�[J��yJ| |$adc^}�{"t�}8f�| f�yJf$t�{"t�}8f$|�yU]�])qd_ n |$["f�e�yJfÃ|$[(f�e�yNf g e�yU`$y g f$t�`zadf$t�{"|�{wyM_we�yMrUt�yU}U_`bt�yJ| [^}�yU�)qdt"qst�})c8f�e���adqsq§`�tBf���`$}¾ywrJyJq��)tw�Ie)a g e¾ad|(]�yJ����tB�¾[^�)fI��asfOe��)q�yU} ¤ |�f$[+adf$|���t g q�yU`btB��qdt�})cUf�e�a��})t g tB|$|�y8`b_Uv

� T|� ú)ø^ú õ ³�´�½L±�·^±M®4Û�ñ�µU®O³�µ<µB¶d±�yU})� ö lil õ ¶dµ<µ ±�¶ g yU}��Á[Uf�e��ÁtQ�)|$tB��a�}�fOe)t�|�yU{"tª��y�_+yJ|�a�}yTpk ö)û [^` üi� Ti� ö �})[Uf$t�f�e�yJf�f�e)tB_���tBf t g f�t�`$`b[^`�|�����`�a¨})c+f�e)t=tB¢^t g �)f$ad[^} [J�zf�e)t � û�ùd� � l ö |$f�yJf$t�{�t�}Uf�adf$| tBq � n yU})����[})[Uf�`btå��t g fIfOe)t�|$f�yJf$t�[N��f�e)t�¬�qdt=[^`���})adfI�ªe)a g e�ad|�fOe)t(|����iÁbt g f�[J�f�e)t(a�}iÔ��)a¨`�_Uv

öi� � � ú õ ¶d¯$·^³V�OµU¶ÝÛ*ñ�µ8®�³�µ<µB¶d±|$tBf$|Ãf�e)t�rJyU`ba�yU�)qdt2Õ�[^`ÃyU`$`$yM_8�ÄtBqst�{�t�}Uf�Öf [ Þ�ú l �:ö�Þ a���fOe)t�|�]�t g a�¬�tB�¾��})asf�[^`Ô¬�qdttB¢^ad|$f$| n [^` Þ�ï^ø�� � ö�Þ a��§adf���[)tB|Ï})[8f�v§¦!��})adfItB¢)ad|$f$|ªa��§asf�e�yJ|Iy�}^��{"��t�`�a�}�f�e)t(]�t�`${�asf f$tB��`$y8})cUtUv¦Ñ¬�qdt(tB¢)as| f$|�a��Ôadf g y8}2�ÁtQ�)|$tB��a�}�yU}yTbk ö)û |$fOyJf$t�{"t�}8f�v5¦ ¬�qdt({wyM_2yU]�]Át�yU`�})[Uf�f$["tB¢)as| fI{"t�`btBqd_��t g yU�)|$t=f�e)t([)]�t�`$yJf a¨})c+|$_)|$f$t�{Ë]�`btBrUt�}8f$|�adf$|��)|$t n �Ð[^`\tB¢:yU{�])qstw�Át g yU�)|$twyw]�yJ|$| ��[)`b��ad|Ï})tBtB��tB�[^`���t g yU�)|$t"|$[){"tI[8f�e)t�`��)|$t�`ªe�yJ|IyJq�`bt�yN��_2[^]Át�})tB�Xadf�v

Tbk ö)û)ö S õ ¶d¯ ·^³V��µU¶ÝÛ�ñ�µU®O³Dµ�µB¶d±�|$tBf$|"f�e)t+r@y8`ba�yU�)qdtXf$[ Þ�ú l �:ö�Þ a��Ïf�e)t+|�]Át g a ¬�tB�k��})adf�Õ�[)`ª¬�qdt�Ö"ad| g ��`$`bt�}8f$qd_g [^}�})t g f$tB�Xf [�yQ¬�qst�Õ�[^`���})adf�Ö\a¨} f�e)tQ]�`�[Uc^`$yU{ v

Page 107: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� j�p Ç

ûb�:é � ö l õ ³�´�½L±�·^±M®4Û�ñ�µU®O³�µ<µB¶d±�`btBf���`$})|�fOe)t2��})adfQ})��{Q�Át�`�[J��y�¬�qdt2�Ie)a g e�ad| g [^}�})t g f$tB��f$[�fOe)twr@yU`�a¨y8�)qstU�[Uf�e)t�`b��ad|$t�adfI�Át g [^{"tB|���})��tO¬�})tB�5v

û)ø^é)ö õ �i®^µU®bµ���½L±M®4Û�ñ�µU®O³�µ<µB¶d±"`btBf���`$})|=f�e)t"¬�qdtO��}�yU{"t�f$[�fOe)twr@yU`�a¨y8�)qst�a���f�e)t�¬�qdt�e�yJ|"yX}�yU{�tU��a��Ï})[8f�asf��t g [^{"tB|���})��tO¬�})tB�5v���}wfOe)t g yJ|$t�[N�¡y8}"a�}iÔ:�)a�`bt(�8_=¬�qstªf�e)tI}�y8{"tI{wyM_Q})[8f���tªf�e)t�|OyU{"tIyJ|zfOe�yJf|�]�t g a�¬�tB�X�)|$a�})c ï � �Uö õ ÕL��t g yU�)| tIy���tBr)a g tO��}�yU{"t�[^`��a�`bt g f$[)`b_w]�yJf�ew{wyM_we�yMrUt���tBt�}+yJ����tB��Ö����)ff�e)t(}�yU{"t(`btBfO��`$})tB�X��adqdqzyJqd�\yM_)|���t(|O�)asfOyU�)qdt��L[^`��)|$t�a�}Xy8}RTbk ö)û |$f�yNf$t�{"t�}8f�v

ø�ü^ü8ö �|� õ �i®^µU®bµ��M½L±�®]Û*ñ�µ8®�³�µ<µB¶d±`btBf���`$})|f�e)t�`�t g [^`b�Qy gBg tB|$|b��{"tBf�e)[)� n tBadf�e)t�` � � ö�ù���ö)û^ú � ø�� � [^` � S � l ö�üUú �a �zf�e)t�¬�qst=ad| g [^}�})t g f tB�5��a��§asf�as|�})[Uf g [)}�})t g f$tB�Xf�e)t�rJyU`ba�yU�)qdtw��t g [^{�tB|Ï��})��tO¬�})tB�5v

� ö:ùd��ö^û)ú � ø�� õ ��®^µ8®�µ)��½L±�®]Û*ñMµU®O³Dµ<µ ¶d±(`btBf���`$})| � � ö � � a��IfOe)t"¬�qdt g yU}���t�[)]�t�})tB�~�Ð[^`�|$t3Ô��)t�}Uf$a�yJq�y gBg tB| | n� û T � a �§adf g y8}�})[Uf n yU})� � ��û^þ)û Tb� û � [8f�e)t�`b��ad|$tUvS � l ö�üUú õ �i®^µU®bµ��M½L±�®]Û*ñ�µ8®�³�µ<µB¶d±�`btBf���` })| � � ö � � a ��f�e)t�¬�qdt g y8}X��t�[^]�t�})tB���L[^`���a�`bt g f(y gBg tB|$| nX� û T � a��§asf

g yU}�})[Uf n yU})� � ��û^þ)û Tp� û � [Uf�e)t�`b��ad|$tUvï Tpl é õ �i®^µU®bµ���½L±M®4Û�ñ�µU®O³�µ<µB¶d±¾`btBf���`$})| � ï Tpl é)ø^ú)ú^ö S � a��2f�e)t¾¬�qdtÓad| g [)}�})t g f$tB�k�L[^`��Ð[^` {wyJf$f$tB�ky gBg tB| | n� ��û^ï Tbl é)ø^ú)ú)ö S � a �zadf�ad| g [^}�})t g f$tB� �Ð[)`���}8�Ð[)`${wyJf$f tB��y gBg tB| | n [^`���t g [){"tB|I��})��tO¬�})tB�¾a��Ôf�e)t�`�t�as|

})[ g [^}�})t g f$ad[^}>vï Tpl é)ø^ú)ú^ö S õ �i®^µU®bµ���½L±M®4Û�ñ�µU®O³�µ<µB¶d±�`btBf���`$})| � � ö � � a ��L[^`${wyJf f$tB�2y gBg tB|$|�as|ª]�t�`${"adf$f tB� n´� û T � a��zadf�ad|\})[8f n

[^` � ��û^þ)û Tp� û � [Uf�e)t�`b��ad|$tUv��û^ï Tbl é)ø^ú)ú)ö S õ g e�yU`$y g f$t�`��Är@y8`ba�yU�)qdtI`btBf���`$})| � � ö � � a��Ô��}8�L[^`${�yJf$f$tB�2y gBg tB|$|�as|�]Át�`${"adf$f$tB� n&� û T � a���adf�as|

})[Uf n [^` � �:û)þ)û Tb� û � [UfOe)t�`b��ad|$tUvl ö:üi� õ ³�´�½L±�·^±M®4Û�ñ�µU®O³Dµ�µB¶d±w`btBf���`$})|�f�e)t�`bt g [)`b�hqdt�})cUf�eha��(f�e)t ¬�qdtXad| g [)}�})t g f$tB�h�L[^`"��a�`bt g fb��y gBg tB|$|X���)f

��t g [^{"tB|(��})��tO¬�})tB�Ó[Uf�e)t�`���ad|$tUv(��[Uf$t(fOe�yJfIfOe)t���})adf$|"yU`bt g e�yU` y g f$t�`b|��Ð[)`��L[^`${wyNf$f$tB��¬�qdtB| n ���)fyU`bt�|$_)|$f$t�{=�Ä��t�]Át�})��t�}Uf��L[^`���}8�L[^`${wyJf f$tB�w¬�qdtB|�v

û)ö|�)ú l ö�ü õ ³�´�½L±�·^±�®]Û*ñMµU®O³Dµ<µ ¶d±(`btBf���`$})|"y¾}^��{"��t�`=�Ie)a g eÓad|Q[)})t�e)adc^e)t�`"fOe�yU}¾f�e)t+q�yJ|$fw`bt g [^`b�Ó`bt�yJ�Ó[^`�I`badf$f$t�}~a��If�e)t�¬�qst�ad| g [^}�})t g f$tB�Ó�L[^`���a¨`�t g f2y gBg tB|$|�v�����asf"ad| g [^}�})t g f$tB�Ó�L[^`���a�`bt g f+y gBg tB|$|w���)f})[2`bt g [^`b��|ªe�y�r8t(��tBt�}�f�`$yU})|��Ðt�`$`�tB� n fOe)t�r@yU`ba�yU�)qdtw`btBf���` })|�[^})tUv����zf�e)t�¬�qdt(ad|�})[Uf g [^}�})t g f tB���L[^`��a¨`�t g fÏy gBg tB| |�f�e)t�r@y8`ba�yU�)qdt��Át g [^{"tB|���})��tO¬�})tB�5v

� �Uø)û)þ õ ��®^µ8®�µ)��½L±�®]Û*ñMµU®O³Dµ<µ ¶d±Ô`�tBf���`$})| � ûb���i� � [^` � � �8ø^û)þ � a���f�e)t ¬�qst�as| g [^}�})t g f$tB�=�L[^`��Ð[^` {wyJf$f$tB�(y gBg tB|$|y gBg [^`b��a�})cXf [Xf�e)tw��yM_¾t�{"��tB����tB�hyU})��fO`$yJadqda¨})c��)q�yU} ¤ |wyU`btwf$[¾��t+f�`bt�yJf tB�5v2�Ä}~[Uf�e)t�` g yJ|$tB|=asf��t g [^{"tB|ª��})��tO¬�})tB�5v

Â$%gÃ�Â�U ¼�À�¾�G�Å'Ñ�ÙV�¼(���oÀ�Ø�ÒpÅ]ÒpËFÏÊË]Ñ7Òpà �e)t�l ö)ø SQ| f�yJf$t�{"t�}8f�`�t�yJ��|§a�}8�L[^`${wyJf as[)}"�Ä`b[^{�[^})tI[)`§{"[^`�tI`bt g [^`b��|Ã[^}+yª¬�qdt�a�}Uf$[wy�qsad|$f�[J�5r@yU`ba�yU�)qdtB| nyU`$` y�_�tBqdt�{"t�}Uf | n tBf g vX �e)t«�il � ú)ö |$f�yNf$t�{"t�}8f(�I`badf$tB|=a�}8�Ð[^` {wyJf$ad[^}Ê�É`�[^{�y qsad|$f"[J��adf$t�{"|"�Ie)a g e�{�y�_a�} g q��)��t�r@yU`ba�yU�)qdtB| n yU`$`$yM_)| n y8})�wtB¢:]�`�tB|$|$ad[^})|�yU})�2]�`b[)��� g tB|�[^})t�[^`z{�[^`bt�`bt g [^`b��|Ã[^}wyϬ�qstUv��§y g eEl ö)ø S[^`��il � ú)ö | f�yJf$t�{"t�}8f g yU} [^})qd_�f�`$yU})|��Ðt�`�[)})tQ`bt g [^`���[^}XyU}���}8�L[^`${�yJf$f$tB�+¬�qdtw���)fI[)}+�L[^`${wyJf f$tB�w¬�qdtB| na�} g q��)��a¨})c�a�}Uf$t�` }�yJq>¬�qdtB| n {"[)`bt�f�e�yU}+[^})t(`�t g [^`b�X{wyM_2�Át(f�`$y8})|b�Ðt�` `btB� n ��t�]�t�})��a�})cX[^}+fOe)t g [^}Uf t�}Uf$|�[J�f�e)tª�L[^`${wyNf�|O]�t g a�¬ g yJf$ad[^}>v �e)t�fb��["|$fOyJf$t�{"t�}8f$|�e�yMrUt�f�e)t�|�yU{�t�cUt�})t�`$yJq>�L[^`${ ×

l ö^ø S þ �O¯U´�½L®b¯U¶ÝÛb¶s³ ²B½ � ¼8µU½Lµ$Û�¶d³ ²¥½�il � ú)ö�þ ��¯8´�½L®b¯U¶ÝÛ�¶d³ ²¥½ � ¼UµU½Lµ Û�¶d³�²B½

Page 108: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� j�pUm

 �e)t8�O¯U´�½L®�¯8¶!Ûb¶d³�²B½z{Q�)| f g [^}UfOyJa�}�yX��})adf(ad��t�}8f$a�¬�t�`B�Ãf�e)tw[Uf�e)t�`ªadf$t�{�|Q{wyM_���tw[)])f$ad[^}�yJq§��t�]Át�})��a�})c�[^}f�e)t=f�_�]�t�[N��¬�qdtUv� �e)t+¼UµU½Lµ$Ûb¶s³ ²B½5ad|ÏyNqs| [2[^])f as[)}�yJqLקa��§adfIad|�yU�)|$t�}8f�f�e)t=|$f�yJf$t�{�t�}Uf�f�`$y8})|b�Ðt�`�|�[^})tQ`�t g [^`b�Õ�[^`�]Á[U|$|$a��)qd_�{"[)`bt(��})��t�`�fOe)t g [^}UfO`b[Uq>[J�§y=�Ð[)`${wyJfÃ|�]�t g a�¬ g yJf$ad[^}�Ö v

¬�:7Gv/y03e7N]:F/�G¦¥�N�8

 �e)ad|�{wyM_2e�yMrUt(yU}8_2[J�zf�e)tª�L[Uqdqd[@��a¨})c��L[^`${"|�×

��û � ú õ ³�´�½L±�·^±M®4Ûb± ³ �®b±B²O²¥³�¯U´( �e)tªr@yNq¨�)tª[J��fOe)t�tB¢:]�`�tB|$|$ad[^}�{"�)|$f��Át£?Bt�`�[Q[)`zc^`bt�yNf$t�`§yU})��{"�)|$f�`�tO�Ðt�` f$[y"r@yJqdad�����UÅ ��})adf�v

��û � ú õ�ÿ ��[^`�f�e)t�| f�yU})��yU`b�X]�`�tO� g [^}�})t g f$tB�Xa�}�]��)fª[^`�[^�)fO]��)f�¬�qdtUv��û � ú õ ³�´�½L±M®�´�µU¶ÝÛ!°�¶d±5 �e)t�a¨}8f$t�`$}�yNq �L¬�qdt�{wyM_(��tIy�r@y8`ba�yU�)qdt n y8`$`$yM_U�ÄtBqdt�{"t�}8f n |����)| f�`ba�})c n [)`�yU` `$yM_�[J��fb_�]�t

g e�yU` y g f$t�` n |$tBt�|$t g f as[)} j�p v � v

��[Uf t(f�e�yJf�f�e)t ¤ tB_)��[^`b� ��û � ú õ ad|ª[^])f$ad[^}�yJq5a���f�e)tQ��})adfªas��t�}8f$a�¬�t�`�ad|ªf�e)t�¬�`�|$f�adf$t�{ a¨}�f�e)t g [^}8f�`b[Uqqdad|$f�v

4�6)8b^�.�/503e�NF:]/�G@¥gN[8¦h�L[^`${�yJf�ad��t�}8f$a�¬�t�`�{Q�)| f§��tI]�`b[Jr)ad��tB�w�Ie)t�}w�)|$a�})c"y��Ð[^` {wyJf$f$tB�XÕ�[)`5a�}8f$t�`$}�yJq�Ö¬�qdtI���)f�})[Ufz[Uf�e)t�`���ad|$tUv�Lfª{wyM_�e�yMrUt(yU}8_w[J�zf�e)tª�L[Uqdqd[@��a¨})c��L[^`${"|�×

ï)é^ú õ ¶sµ�µ$±M¶U �e)t(q�yU�ÁtBq�[J�zy ï Tbl é^ø)ú | f�yJf$t�{"t�}8f�a�}�f�e)t�|�y8{"t(]�`b[Uc^` yU{Î��})asfMvï)é^ú õ °¥¯U®O¸"µU½� �e)tÃ�Ð[)`${wyJfz{wyM_(��tIy g e�yU`$y g f$t�`5tB¢�]�`btB|$| as[)}"[^` g e�yU` y g f$t�`zyU`$` y�_ g [^}8f�yJa�})a�})cQy g [^{�])qstBf t

�Ð[^` {wyJf§|O]�t g a�¬ g yJf$ad[^}�ÕÐ|$t g f$ad[^} j�p vBUÖBvï)é^ú õ�ÿ ��[^`\qsad|$f��Ä��a¨`�t g f$tB���Ð[^` {wyJf$f$a�})cXÕ�|$t g f as[)} j�p v j�p ÖBv

��[Uf$twf�e�yNf�f�e)t ¤ tB_^��[^`b� ï)é^ú õ ad|wyJqd|$[�[^])f$ad[^}�yJqÃa �ªf�e)t"�L[^`${wyJf�ad��t�}8f$a�¬�t�`"ad|(f�e)t�|$t g [^})�Óasf t�{�a�}~f�e)tg [^}8f�`b[Uq>qdad|$f�yU})��f�e)t�¬�`�|$f�asf t�{Æad|�yw��})adf�ad��t�}Uf$a�¬�t�`ª|�]Át g a�¬�tB����adf�e)[^�)f�adf$| ¤ tB_^��[^`��5v

¹ N[H�6'8�ex§ a�^Jt<N[8¦�`bt g [)`b��})��{"��t�`Ãad��t�}Uf a ¬�t�`ª{"�)|$f��Át(]�`b[Jr^ad��tB���Ð[)`§��a�`bt g f���y gBg tB|$|�¬�qdtB|I���)f�})[UfÃ[Uf�e)t�`b��ad|$tUvÃ�Lf�e�yJ|�f�e)t�L[^`${�×l ö�ü õ a�}Uf tBcUt�`��ÄtB¢�]�`btB|$|$ad[^} �e)tI`bt g [^`��2}^��{"�Át�`§{"�)|$f§��tªc^`bt�yNf$t�`f�e�yU}E?Bt�`b[��N�Ð[)`gl ö^ø S(adf�{"�)|$f§`�tO�Ðt�` f$[(y�`bt g [^`b���Ie)a g e�tB¢^ad|$f |�v

��8r896'8�.':ce"�ª:ce6Øí6F¢2س¥�usNV03e�NF:]/�G@¥gN[8�2 �e)tB|$t�{wyM_���t�]�`b[Jr)as��tB�"a�}"yU}8_ g [^{"�)a¨}�yNf$ad[^} n ���)f ö^û S õ q�yU�ÁtBq^ad|z[^})qd_�r@yNqsad�w�ªe)t�}Q`�t�yJ��a�})c(y�|$t3Ô��)t�}8f$a�yJq[^`�a�}8f$t�`$}�yJq�¬�qstUv��)tBt j�p v È �L[^`�{�[^`bt�a�}8�Ð[)`${wyJf$ad[^}>v

ö)û S õ âUà h�ã)âö l|l õ âUà h�ã)â� T|� ú^ø)ú õ ò î:Ù�ãJè�ãUá<9)g�à^á�ò@à h>â^ã

Page 109: Professional Programmer's Guide to Fortran77 Clive G. Page

®�1 ²��£ñ����32F�����<ñ�����´ ± ��²2�7²3��²���� j�pUl

 �e)t§��yJfOy�qdad|$fz[J��y�l ö)ø SI|$fOyJf$t�{"t�}8f�{wyM_ g [^}8f�yJa�}�rJyU`ba�yU�)qdtB| n yU`$`$yM_8�ÄtBqst�{�t�}Uf$| n g e�yU`$y g f t�`��Ä|����)|$f�`�a¨})c8| n[^` g [^{�])qstBf t�yU`$`$yM_)|2[N��yU}8_���yJfOy�fb_�]�tUvΦ�} y8`$`$yM_U��}�y8{"t¾��adf�e)[^�)f�|����)| g `�a¨])f |�`bt�]�`btB| t�}Uf$|XyNqsq=f�e)ttBqdt�{"t�}8f$|([J�§fOe)t2yU`$`$yM_>��fOe)as|=ad|(})[Uf(]�t�`${�asf f$tB�¾�L[^`IyN|$|���{"tB�)�Ä|$a@?Bt+����{w{=_�yU`�c^��{"t�}8f$|Ia�}�]�`�[ g tB����`btB|ÕL�Át g yU�)|$tªf�e)tÏy8`$`$yM_"|$a@?BtIad|�a�})��tBf$t�`${"a�}�yJf$t�Ö v� �e)tªqdad|$f�{wyM_�yNqs| [ g [)}Uf�yNa¨}�a�{w])qdadtB�RS�TJ�Äqd[)[^])|(Õ�tB¢:])q�yJa�})tB���tBqd[J�IÖBv �e)t§��yJfOy§qdad|$fz[J��y��il � ú)ö |$f�yJf t�{"t�}Uf5{wyM_ g [^}8f�yJa�}(yU}8_ª[J�:fOe)tzasf t�{"|Ô]Át�`${"adf$f$tB�=a�}(y�l ö^ø Sª|$f�yJf$t�{�t�}Uf

yU})��a�}�yN����asf as[)}�tB¢�]�`btB|$|$ad[^})|=[J�\y8}U_¾��yJf�y+fb_�]�tUv"¦ª|�a�}�yJqdq§���UÅÎ|$f�yNf$t�{"t�}8f$| n tB¢�]�`btB|$|$ad[^})|"{Q�)| f(})[Uff�e)t�{"| tBqsr8tB|Ia�}8rU[UqdrUt(fOe)t�tB¢^t g �)f$ad[^} [J�z[Uf�e)t�`����UÅ&|$f�yJf t�{"t�}Uf |�v

09^�O�uIGvN�e S[T Øðuv6'6'O�2 �e)t"|$a�{w])qdtB|$fwyU})��{"[U| fItåÜ g adt�}8f(��yM_�f$[X`bt�yJ�¾[^`��I`badf$twyJqdqÃf�e)t"tBqst�{�t�}Uf$|=[J��yU}¾yU`$` y�_�ad|=f$[�]��)f=adf$|}�yU{"t n ��})|����)| g `�a¨])f tB� n a�}Òf�e)tX��yJfOyM�Äf�`$yU})|��Ðt�`=qdad|$f�vÑ�Ä}Âf�e)t g yJ|$t�[J�(y�{"�)qsf a �Ä��a�{"t�})| as[)}�yJq(yU`$`$yM_Óf�e)ttBqdt�{"t�}8f$|2��asqdqI�ÁtXf�` yU})|b�Lt�`$`btB�ha�}Óf�e)tX})[^`${�yJq�|$f$[^`$yNcUt2| t3Ô:�)t�} g t n ��adf�eÒf�e)t+¬�`b|$f"|����)| g `ba�])f2rJyU`b_)a¨})c{"[U| f\` yU])ad��qs_Uv¦Ï}=a�{w])qdadtB�)�Ä�(Å&qs[)[^]wyNqsqd[J��|zf�e)t�tBqdt�{"t�}8f$|§f [Ï�Át�f�`$yU})|��Ðt�`$`�tB�Q| tBqst g f asr8tBqs_�[^`5a�}"| [^{"t�})[^}8�Ä|$f�y8})��yU`b�

[^`b��t�` vÔ �e)tI`$�)qdtB|z�L[^`zyU}"a�{w])qdadtB�)�Ä�(Å!yU`bt�|$a�{"adq¨y8`§f [�f�e�yJfz[J�5yU}"[^`b��a�}�yU`�_MS�TJ�Äqd[)[^]2���)fzfOe)t�qd[^[^]��L[^`${"|y=|$a�})cUqdt(adf$t�{ a�}�f�e)tª��yJf�y@�Äf�`$yU})|b�Lt�`zqdad|$fIy8})��as|�t�} g qs[8|$tB�X�U_�y"]�yJa�`Ã[J�Ô]�yU`bt�}8f�e)tB|$tB|ª`$yJf�e)t�`Ãf�e�yU}+�8_5S[TyU})� ü T û)ú � ûb�:ö |$f�yJf$t�{�t�}Uf$|Mv���[^`�tB¢�yU{w])qdtU×

l ö^ø S þí��û � ú õ�ÿ �2ï)é^ú õ�ÿ�� þ ø lil ø � þ ��� � �põâ� é � û�� � é^øi� ��il � ú)ö�þ �:û � ú õ�ÿ �+ï^é)ú õ ò9ô � þ é�����þ é � � � þ é � ��é õ ò � ò ô ò � ô �

ò9ô ï Tpl é)ø^úgþ ò ��� � M � =8ï ò =ÃÞ*A �¦�{Q�)qdf$a��Ä��a�{"t�})|$ad[^}�yNq�yU`$`$yM_ g yU}=��t�]�`ba�}Uf$tB�"[^�)f¡a¨}=y�f�`$y8})|�]�[U| tB���L[^`${�v5 �e)t�})tB¢^ftB¢�yU{w])qdt§[^�)fO]��)f$|

yU}�yU` `$yM_ � Õ j�pUp�n È Ö§���)fª��adf�e È tBqdt�{"t�}8f$|Ïy g `b[U|$|�yU})� j�pUp qda¨})tB|�r8t�`bf$a g yJqdqd_�×

�il � ú)ö�þ �:û � ú õ�ÿ �+ï^é)ú õ ô � þ � � �põ ò � ô � �¥ þ|þå�g�í�gþê��� ��� � �põ ò � ô � � � õ ò � ò ô)ô �ô ï Tpl é)ø^úgþ ò ��� � � � û)ö � � ô � ò ô�� ò ô)ô�þ Ü�� ò ��� � > � ô ï ò ôÃÞ*= ��� �e)t�¬�`b|$fÃqd[^[^]��I`badf$tB|�e)t�yN��a¨})c8|§�L[^`f�e)t\¬�rUt g [Uq���{w})| n f�e)t�}�f�e)t���[^���)qdtªqs[)[^]"�ª`badf$tB|�y�qsa�})tO��})��{"��t�`

�L[^`zt�y g e�qsa�})tª�L[Uqdqd[@��tB�X�8_=¬�rUtÏy8`$`$yM_"tBqst�{�t�}Uf$|Mv§��[8f$t�f�e�yJfÃf�e)t�]�yU`bt�}8f�e)tB|$tB|�e�yMrUt�f$["��t({wyJf g e)tB��yU})�f�e�yJfªy g [^{w{wy�as|�})tBtB��tB��yM�Lf$t�`Ãf�e)t(a�}�})t�`�`badc^e8fb��]�yU`bt�}8f�e)tB|$ad|ª|$a�} g t(f�e)t=a�}�})t�`�qd[)[^]�ad|�Á��)|$f�yU}+adf$t�{ a�}f�e)t�qdad|$f g [^}UfOyJa�})tB�Xa�}�f�e)t�[)�)f$t�`�qd[^[)]>v �e)t�a�{w])qdastB��S[TN�Äqd[^[^]�e�yJ|�f�e)t�c8t�})t�`$yJq>�L[^`${�×

þ ¼UµU½Lµ$Ûb¶d³�²B½V槶d¯�¯,�Û�ñ�µU®O³�µ<µB¶d± � ²B½LµU®O½V槶d³D¸"³�½Væ�²B½L±� ��Ie)t�`bt=f�e)t(`$�)qdtB|ª�L[^`�f�e)t"²B½LµU®O½V槶s³�¸"³D½Væ5yU})�~²¥½L±ß2r@yJq��)tB|(yU`�t�tB¢:y g f qs_XyN|�a�}�y8}+[^`b��a�}�yU`b_yS�Tw| f�yJf$t�{"t�}8f�v �e)t�¶d¯�¯,�Û*ñ�µ8®�³�µ<µB¶d±�ÕL})[^`${�yJqdqs_¾yU}�a�}Uf$tBc8t�`$Ö�{wyM_��Át2�)|$tB����adf�e)a�}¾fOe)tQ��yNf�yM�Äqdad|$fQyU})�¾f�e)ad|=qsad|$f"{wyM_ n a�}f���`$} n a¨} g q��)��t=�Ä��`bf�e)t�` g [^{�])qstBf t(a�{w])qdadtB�)�Ä�(ÅÎqdas| f$|�v���ÔyU}�t�`$`b[^` [^`t�})�)�Ä[J���L¬�qst g [)})��asf as[)}+[ gBg ��`b|�a�}+yU}"a�{w])qdadtB�RS�TJ�Äqd[)[^]"f�e)t�}�f�e)tªqs[)[^]8� g [^}8f�`b[8q�r@yU`ba�yU�)qdt

��adqdq��Át���})��tO¬�})tB�Ó[^}�tB¢)asfM�5f�e)ad|({"t�yU})|�fOe�yJfÏy8}XtB¢�])qda g asf�S�TJ�Äqd[)[^]¾ad|(`bt3Ô��)a�`btB��f$[X`bt�yN�Êy8}�a�})��tO¬�})adf$tqdad|$fI[N�Ô��yJfOyQ`�t g [^`b��|IyU})��tB¢^adf���asfOe ¤ })[@��qstB��c8t([J�Ôe)[J��{�yU}U_+adf$t�{"|���t�`bt(y g f���yJqdqd_�a¨}�]��)fMv

Â$%gÃ�Âod ¼�À"V.��Á�G Å'Ñ�ÙXW�¾G&�YG��»�¾G&�À�Ø�ÒpÅ]ÒdË]ÏÊËFÑ�Òpà �e)tB|$t�¬�qdtO��]�[U| asf as[)})a¨})cÓ|$f�yNf$t�{"t�}8f$|({wyM_X[^})qd_��Át��)| tB��[^}ÊtB¢^f$t�` }�yJq§|$t3Ô��)t�}8f$a�yJqz¬�qdtB|���{"[U|$f�| _^|$f t�{"|��adqdqÔ`�tB|$f�`ba g f�f�e)t�{ f$["¬�qdtB|I| f$[^`btB��[^}+|O�)asfOyU�)qdtQ]�t�`�a¨]�e)t�` yJq���tBr)a g tB|�|�� g e�yJ|���ad| g |ª[^`�f�yU]ÁtB|�v

Page 110: Professional Programmer's Guide to Fortran77 Clive G. Page

®p® S ø)ú^ø �<� ± �<� � ����� jUj�p

l ö � � û SQ`bt�]Á[U|$adf$ad[^})|�y�¬�qdtIf$[�fOe)tI��tBcUa�}�})a�})cw[J�5a�}8�L[^`${wyJf as[)}"|$[�f�e�yJfzfOe)tI})tB¢^f�l ö)ø S(|$f�yNf$t�{"t�}8fz��adqsq`bt�yJ�¾f�e)t�¬�`b|$f�`bt g [^`b�5�¡a �Iy1�il � ú)ö |$f�yNf$t�{"t�}8fIad|Q�)| tB��yM�Lf$t�`�l ö � � û SXyNqsqÃtB¢^ad|$f a¨})c¾`bt g [^`b��|�[)}XfOe)t"¬�qdtyU`btª��tB|$f�`�[@_8tB�5v�l ö � � û Swe�yJ|�})["tå�5t g f�a �f�e)tª¬�qdt�as|�yJq�`bt�yN��_�`btB��[^��})�5vz�Ð� yªl ö � � û Sw|$f�yJf t�{"t�}UfÃad|\�)| tB�[^}�yw��})adfª�Ie)a g e ad| g [^}�})t g f tB�����)fª��[^tB|I})[8f�tB¢^ad|$fwÕ�tUvÍc�v:y�]�`btO� g [^}�})t g f$tB��[^�)f�]��)f�¬�qdt�Ö�asf g `bt�yJf tB|�f�e)t¬�qdtUv� ø�üUþ �bk ø�üUö {�[@r8tB|�f�e)t"¬�qdt2]�[8|$adf$ad[^}���y g¥¤ �U_¾[^})tw`bt g [^`���|$[�f�e�yJf�fOe)t�`�t g [^`b� g yU}¾�Át�`btO��`�t�yJ�¾[^`

[JrUt�`��Ä�I`�asf f$t�}>v� �e)t�`bt"as|�})[+tå��t g f�a ��f�e)t�¬�qdt"ad|ÏyNq¨`�t�yJ��_X]�[U| asf as[)})tB��yJf�f�e)t"��tBcUa�}�})a�})cX[N�§a¨}8�L[^`${�yJf$ad[^}���)f�adfIad|(yU} t�`$`b[^`�f$[���y gB¤ �Ä|�]�y g t�y�¬�qdt"�Ie)a g e���[)tB|(})[UfItB¢)ad|$f�v��Lfªad|(yJqd|$[�adqdqstBc)yJqzf$[���y g¥¤ �Ä|�]�y g t"[JrUt�``bt g [^`���|I�I`�asf f$t�}��U_�qdad|$fb�Ä��a�`bt g f tB�¾�Ð[)`${wyJf$f a¨})c¾ÕL��t g yU�)| t(f�e)t"}^��{"��t�`�[J�§`bt g [^`b��|�]�`b[)��� g tB�¾t�y g e+f a¨{�tad|w|$_)|$f$t�{=�Ä��t�]Át�})��t�}UfOÖBvÓ¦Î�ÐtB�Î[^]Át�`$yJf$a�})c�| _^|$f t�{"|=¬�})�hasf���a�Ü g �)qsf+f$[¾a�{w])qdt�{"t�}8fwf�e)ty� ø:ü8þ �bk ø:ü8ö|$f�yNf$t�{"t�}8f§��a�`bt g f$qd_�yU})��y g f���yJqdqd_�{wy8}�yJcUt�adf�[^})qd_2�8_2`btB��a�})��a�})c2fOe)t�¬�qdt(yU})�2|O]�y g a�})c"�Ð[)`b��yU`b�"f$["f�e)tyU]�]�`b[)]�`ba�yJf$t�`bt g [^`b�5v¾�Lfwad|"|$[^{�tBf$a�{"tB|w]�[U|$| a¨�)qdt�f$[�yMrU[Uad�h��y gB¤ |�]�y g a¨})cÓy�¬�qdtX�8_�yJqdqd[ g yNf$a�})c����b�5t�`b|��adf�e)a�}�fOe)tQ]�`b[Uc)`$yU{ÎyU})� n �L[^`�y=�L[^`${wyJf f$tB�w¬�qdt n �)|$a�})c�y8}+a¨}8f$t�`$}�yNq>¬�qdtMl ö^ø S2yU})���|l � ú)ö |$fOyJf$t�{"t�}8f$|�v �e)tB|$t(| f�yJf$t�{"t�}8f$|�e�yMrUtª|$a�{"adq¨y8`ªcUt�})t�`$yJq>�L[^`${�|�×

l ö � � û S þ �O¯U´�½L®b¯U¶ÝÛ�¶d³ ²¥½ �� ø:ü8þ �pk ø:ü8ögþ ��¯8´�½L®b¯U¶ÝÛ�¶d³ ²¥½ �

�Ie)t�`bt�fOe)t©�O¯U´�½L®b¯U¶ÝÛ�¶d³ ²¥½>{wyM_ g [^}8f�yJa�}>×�:û � ú õ òBî�Ù�ãJè�ãNá�9�ãJ÷8ÚÁáÁã^ß)ß�ò@ëNî� Ti� ú)ø)ú õ òBî�Ù�ã@è�ãNá�9)g:à)á�òJà h�â)ãö lil õ âUà$h>ã^â

 �e)tI��})adf�ad��t�}Uf a ¬�t�`\as| g [^{�]��)qs| [^`b_ n fOe)tI[UfOe)t�`b|z[^])f$ad[^}�yJqLv§�Ð�5[^})qd_wf�e)tI��})adf�ad��t�}Uf$a�¬�t�`�ad|��)|$tB�2fOe)t�}�Õ �L[^`g [^{w]�yNf$a��)asqdadfb_X��adf�e+��[^`bf�` yU}�BpBUÖÃyU}XyU����`�tBr^a�yJf$tB�+�L[^`${ [J�ÔfOe)t�|$f�yJf$t�{�t�}Uf�ad|Ï]Át�`${"adf$f$tB�5×

l ö � � û S¾³D´�½L±Ä·)±�®]Û�± ³ �®b±B²O²B³D¯U´� ø:ü8þ �pk ø:ü8ö ³�´�½L±�·^±M®4Ûb± ³ >®�± ²�²B³�¯U´

�Ie)t�`bt�fOe)t(a�}Uf tBcUt�`�tB¢�]�`btB|$|$ad[^} as��t�}8f$a�¬�tB|�f�e)t(��})adf�}^��{"��t�` v

·�· Z*[S\][ � % º %'& � &�#�%

 �e)t$S ø^ú)ø |$fOyJf$t�{"t�}8f�as|ª�)|$tB�Xf$["|�]Át g a��Ð_�a�})adf$a�yJqr@yJq��)tB|��Ð[^`ÃrJyU`ba�yU�)qdtB|Ïy8})�XyU`$`$yM_wtBqdt�{"t�}8f$|�v§ �e)t$S ø)ú^ø|$f�yNf$t�{"t�}8fwad|X})[^}8�ÄtB¢^t g �)fOyU�)qdt n ���)f+a�}Ñy�{wyNa¨}Â]�`b[Uc^` yU{ ��})adf�adfXe�yJ|2fOe)tX|�yU{�tXtå�5t g f�yN|2y�| tBf2[J�yJ|$| asc)}�{"t�}Ufª|$f�yNf$t�{"t�}8f$|IyJfªf�e)t"rUt�`b_X�ÁtBcUa�}�})a¨})c�[J�§f�e)t"]�`b[Uc^`$y8{�vI �e)�)|ªa¨}¾y+{wyJa�}¾]�`b[Uc^` yU{Æy�S ø)ú^ø|$f�yNf$t�{"t�}8f�qda ¤ t=f�e)ad|�×

S ø)ú)øì� � û^ö � Ü M = ô Ü���ï l ö�ùÁÜ ô ô§ÞbôÁÜ��+û^ø)é^ö�Ü � k ø[� � Üg [^�)qd��`bt�])q�y g t=|$tBrUt�`$yJqyJ|$|$adc^}�{"t�}8f�|$fOyJf$t�{"t�}8f$|�×

� � û)ö � õ M = ôï l ö�ù õ ô ô§Þbôû^ø)é)ö õä� k ø�� �

 �e)ad|(ad|w{"[^`bt g [^}8rUt�})adt�}Uf n tB|�]Át g a¨yNqsqd_h�Ie)t�}Êa¨})adf$a�yJqdad|$a�})chyU`$`$yM_)| n y8})��tåÜ g adt�}Uf n | a¨} g t+f�e)t"��[^` ¤ as|��[^})t=�Ie)t�}+f�e)tQ]�`�[Uc^`$yU{ ad|�qd[^yJ��tB�5v�Ä}wy=]�`b[ g tB����`�t n e)[J��tBrUt�` n f�e)tB|$t�f���[({"tBfOe)[^��|�yU`bt�})[Ufzt3Ô��)asrJyJqdt�}Uf n tB|�]�t g a�yJqdqd_+a¨}�f�e)t g yJ|$t�[J��adf$t�{"|

�Ie)a g ewyU`btI{�[^��a�¬�tB��yJ|zf�e)t�]�`b[ g tB����`btItB¢)t g �)f$tB|�v¦"S ø^ú)ø |$fOyJf$t�{"t�}8f�[)})qs_"|$tBf |§f�e)t�r@yNq¨�)tB|�[^} g tªyJfzf�e)t|$f�y8`bf§[J�tB¢^t g �)f$ad[^} n �Ie)t�`bt�yJ|�yJ|$| asc)}�{"t�}Uf�|$f�yJf$t�{�t�}Uf$|Ã��adqdq5��["|$["tBrUt�`b_wf$a�{"t�fOe)tÏ]�`b[ g tB����`bt=as| g yJqdqstB�5v

Page 111: Professional Programmer's Guide to Fortran77 Clive G. Page

®p® S ø)ú^ø �<� ± �<� � ����� jUjUj

�Lf�ad|�a�{w]�[^`�f�yU}8f�f [Q��ad|$f a¨})c)�)as|Oe��ÁtBfb��tBt�}�f�e)t$S ø^ú)ø yU})�1k ø l ø^é)ö)ú^ö l"|$f�yJf$t�{�t�}Uf$|MvÔ �e)t$S ø)ú^ø |$fOyJf$tO�{"t�}8fI{"t�`btBqd_�|�]Át g a�¬�tB|(yU}+a�})asf a¨yNqzr@yJq��)t��L[^`�y�r@yU`ba�yU�)qdtXÕ�[^`�yU` `$yM_:ÖÃ�Ie)a g eX{wyM_���tQyNqsf t�`btB������`ba�})c�f�e)tg [^��`b| tw[J��tB¢)t g �)f$ad[^}>v� �e)t5k ø l ø)é^ö)ú)ö l�|$fOyJf$t�{"t�}8f�|�]�t g a�¬�tB|"r@yNq¨�)tB|=�L[^` g [^})|$fOyU}Uf |��Ie)a g e g yU}�})[Uf(�Átg e�yU})cUtB�"��adf�e)[^�)fz`bt g [^{w])adqda�})c"f�e)t�]�`b[8c^`$yU{�v��� n e)[J��tBr8t�` n _8[^�(})tBtB�wyU}"yU`$` y�_ª[J� g [^})| f�yU}8f$| n �Ð[^`¡�Ie)a g ef�e)t�`bt=ad|(})[2��a�`bt g f�|���]�]Á[^`bfªa�}X��[^`bf�` yU} n _U[^�+|Oe)[^�)qd�Ê�)| t�y8}�[^`b��a�}�yU`�_XyU`$`$yM_+��adf�e¾y�S ø)ú)ø |$f�yJf$t�{�t�}Uff$[wa�})adf$a�yJqdad|$twadf$|�tBqdt�{"t�}8f$|wÕLyU})��f�y ¤ t g y8`btQ})[Uf�f$[ g [^`$`$��])f�fOe)t g [^}Uf t�}Uf$|ªyM�Ðf t�`b��yU`b��|�ÖBv

Â7Â7Ã� É�Ë"< Ñ�ËFÙâÅ'Ñ�Ù�¨�Ñ�Ù�Ë"<�Ñ�Ë]ÙSç Å'Ç�é�ËFà �e)tªr@yJq��)t=[J��t�y g ewrJyU`ba�yU�)qdt(yU})�XyU` `$yM_QtBqdt�{"t�}8f�ad|���})��tO¬�})tB��yJf�f�e)tª|$f�y8`bf§[J�tB¢^t g �)f$ad[^}���})qdtB|$|�asfªe�yJ|��tBt�}~a�})adf$a�yJqdas| tB�h��adf�e�y��ª¦§ ¡¦ |$f�yNf$t�{"t�}8f�v(¦�}���})��tO¬�})tB�hrJyJq��)t2{wyM_X[^})qd_��Át2�)|$tB��a�}¾tB¢)t g �)f�yU�)qdt|$f�yNf$t�{"t�}8f$|§a�}+��yM_^|Ã�Ie)a g e g yU�)| t�asf�f$[w�Át g [^{"t���tO¬�})tB�5væÏ}�adf$t�{ g yU}+��t g [^{�t���tO¬�})tB���8_wadf$|��)|$t�a�}yU}8_2[N�Ôf�e)tª�L[Uqdqd[J��a�})c2��yM_^|M×

ë [^}+f�e)t�qdtO�Ðf���e�yU})�X|$ad��t=[J� y8}�yJ|$|$adc^}�{"t�}8f�|$fOyJf$t�{"t�}8f në yJ|�f�e)t g [^}8f�`b[8q�rJyU`ba�yU�)qdt([N� y�S�T�|$f�yJf$t�{�t�}Uf në a¨} f�e)t�a�}�]��)fIqdad|$fª[J�§y�l ö)ø Sw|$f�yJf t�{"t�}Uf në yJ|�f�e)t(a�}8f$t�`$}�yJq>¬�qdt=as��t�}8f$a�¬�t�`ª[J�§yE�|l � ú)ö |$f�yJf$t�{�t�}Uf në yJ|�f�e)tQ���UÅ&|$f�yJfO�)|�ad��t�}Uf$a�¬�t�`ªa�}Xy8}��Ä�UÅ&|$fOyJf$t�{"t�}8f në a¨}�yU} � û:ùd� � l ö |$f�yJf t�{"t�}Uf�tB¢ g t�])fÏyN|�¬�qdt([^`���})adfI})��{"��t�` në a¨}Óy¾]�`b[ g tB����`bt g yJqdq�]�`b[Jr^ad��tB�Óf�e�yJf(fOe)t g [^` `btB|�]�[)})��a¨})c~����{w{=_�yU`bc^��{�t�}Uf=as|"��tO¬�})tB���ÁtO�Ð[^`�tf�e)t(]�`b[ g tB����`btQ`btBfO��`$})| g [^}8f�`b[UqLv

¦Ï}���})��tO¬�})tB��rJyU`ba�yU�)qdtQ{"�)|$fª})[UfI��t"�)|$tB�Xa�}�yU}U_+[Uf�e)t�`\�\yM_Uvg�§` `b[^`b| g yU�)|$tB�¾�U_+f�e)t=a¨}�yN��rUt�`bf$t�}8f�)|$tÃ[J�Á��})��tO¬�})tB�"rJyJq��)tB|§yU`btzt�yJ|$_ªf$[I{�y ¤ tzyU})�(|$[){"tBf$a�{"tB|�e�yMrUtzrUt�`�_I[^�)| g ��`bt§tå�5t g f$|�v�Lfad|�a�{w]Á[^`bf�yU}8f nf�e)t�`btO�L[^`bt n f$["ad��t�}8f$a��Ð_+tBrUt�`b_+adf$t�{ �Ie)a g e�})tBtB��|ªf$[Q�Át�a�})asf a¨yNqsad|$tB�ÓyU})�X]�`b[Jr^ad��t�y"|��)adf�yU�)qdt�|$tBf�[J�<S ø)ú^ø|$f�yNf$t�{"t�}8f$|�v��[)��t�`$}¾[)]�t�`$yJf a¨})c�|$_)|$f$t�{"|�[J�Lf$t�} g qdt�yU`�fOe)t2yU`bt�y+[J��{"t�{"[^`�_Xa�}Uf [X�Ie)a g e¾f�e)tB_¾qd[^yJ��y�]�`b[8c^`$yU{

f$[2]�`�tBrUt�}Ufª��}�yU�)f�e)[^`ba@?BtB�¾y gBg tB|$|ªf$["f�e)t(��yJfOyQ�)| tB�Xa�}�f�e)t"]�`bt g tB��a�})cMÁb[^�>vz¦&�LtB�k[^]Át�`$yJf$a�})cw| _^|$f t�{"|]�`btB|$tBf"f�e)tBa�`"{"t�{"[)`b_¾f$[�y¾�)adfb��]�yJf$f t�`$}��ªe)a g e g [^`$`btB|�]Á[^})��|"f$[�y8}�adqdqdtBc^yJqI})��{"t�`ba g yJq�r@yNq¨�)tU×�f�e)ad|"as|y�rUt�`b_Xe)tBq�]8�É�)qz��a�yJc)})[U|$f$a g �Éy g asqdadfb_¾|$a�} g tQ�ªe)t�})tBrUt�`�yU}X��})��tO¬�})tB�~r@yU`ba�yU�)qdtwad|(�)|$tB�¾a�}¾yU}�tB¢�]�`btB|$| as[)}adf�cUt�})t�`$yJf tB|ÏyU}�t�`$`�[^`IyNfÏ`$��} f$a�{"tUv(Ūf�e)t�`ª| _^|$f t�{"|Ï{�t�`btBqd_X|$tBf�f�e)tBa�`�{"t�{�[^`b_�f$[1?Bt�`b[�×�f�e)ad|({wy ¤ tB|adf({"[^`bt"��aÜ g �)qdf(f [�f�`$y gB¤ ��[J�I}�f�e)tw�)|$t�[J�§a�})��tO¬�})tB�hr@yU`ba�yU�)qdtB|"yU})�¾f�e)tB_�{wyM_�[^})qd_ g [^{"t"f$[+qdadc^eUf�Ie)t�}�y�]�`b[Uc^` yU{Ëad|(f�`$y8})|�]�[^`�f$tB�¾f$[�yU})[8f�e)t�`ª|$_)|$f$t�{�vw ¡[�`btBqd_¾[^}���})��tO¬�})tB�hrJyU`ba�yU�)qdtB|wyU})��yU` `$yM_^|e�yMr^a�})cwyU}�a�})asf a¨yNq�rJyJq��)t�[J��?Bt�`b[=ad|�f$[(qdt�yMrUt�fOe)tÏ]�`b[8c^`$yU{ g [^{w])qdtBf$tBqd_�yNf§f�e)t�{"t�` g _w[N� g e�yU})cUtB|�f$[=f�e)t[^]Át�`$yJf$a�})cw|$_)|$f$t�{ v

Â7Â7ÃW× B9Ñ�ÚWÒdÚ�Å'dzڳà�Ú�ÑgÞbç Å'ÆpÚ�Åof�dzË]à �e)t"|$a�{w])qdtB|$f��Ð[^` {Æ[J�§fOe)tÖS ø)ú^ø |$fOyJf$t�{"t�}8f g [)})|$ad|$f$|�[J��y�qdas| f([J�§f�e)t"rJyU`ba�yU�)qdt2}�yU{"tB|�t�y g e��Ð[Uqdqd[J��tB��8_�y g [)})|$f�yU}8f�t�} g qs[8|$tB�¾a¨}�yw]�yJa�`�[J�z|$q�yJ|�e)tB|M×

S[T � � �8ö k|l ö:ü � � � T ûÑö k[T ü8ý� Tim � ü8ø[� Tbk ö)û)ö SüUý)ø l ø�üUú)ö l � û)ï � �Uö ÿ =^ôS ø)ú)ø ö k�T ü8ý�Ü ò ó ô ô§Þbô S ôÁÜ�� Tpk ö)û^ö S ÜzÞ�ú l �:ö�Þ Ü�� � û)ï � �8ö�Ü � � Û Tp��� Þ S ø^ú � Ü

Page 112: Professional Programmer's Guide to Fortran77 Clive G. Page

®p® S ø)ú^ø �<� ± �<� � ����� jUj�o

��[Uf tQfOe�yJf$S ø)ú)ø |$f�yJf$t�{�t�}Uf$|({"�)|$f��L[Uqdqs[J�ÎyJqdqz|�]�t g a�¬ g yJf$ad[^}~|$f�yNf$t�{"t�}8f$|�v�¦�}�yJqdf$t�`$}�yNf$adrUt"�L[^`${ as|f$[wc8asr8t(y g [^{w])qdtBf$t=qsad|$fª[J�§}�yU{"tB| g y8}���t(c8asr8t�}+¬�`b|$f�yU})� �Ð[8qsqd[J��tB�X�U_�y"|$t�]�y8`$yJf$t�qdad|$fª[J� g [)})|$f�yU}8f$|�×

S ø^ú)øÑö k�T üUý�� Tbk ö)û^ö S � � û^ï � �8ö&Ü ò ó ô ô§Þbô S ô��kÞÄú l ��ö�Þp� � � Û Tp��� Þ S ø^ú � Ü� e)t�}~f�e)t�`bt+yU`bt2{wy8}U_¾adf$t�{"|=f$[��Át2a�})adf$a�yJqdad|$tB��adf"ad|�y�{�yJf$f$t�`�[J��f�yN|$f$tw�Ie)tBfOe)t�`�f$[¾�)|$t2| tBrUt�`$yJq

S ø^ú)ø | f�yJf$t�{"t�}8f$|�[^`Ãf$[2�)| t�[^})t(��adf�e�{�yU}U_ g [^}8f$a�}^��yNf$ad[^}+qda¨})tB|Mv��Lf�ad| n [N� g [^��`�|$t n adqdqstBc)yJq�f [2e�yMrUt�f�e)t|�yU{�t(}�yU{"t(yU]�]Át�yU`ba�})c2fb��a g tUvZ�e�yU`$y g f t�`�r@yU`�a¨y8�)qstB| g yU}���t(a�})adf$a�yJqdad|$tB�Óa¨} |$t g f$ad[^})|��)|$a�})c2fOe)t(|����)|$fO`ba�})c2})[Uf�yJf as[)}+a �§fOe)as|ªad|Ï{�[^`bt

g [^}8rUt�})adt�}UfM×

ü8ý^ø l ø:ü8ú^ö l ÿ ô =Y�8ö^ú)ú)ö lS ø^ú)øÊ�Uö)ú)ú^ö l þ ò Û*= M � Ü � ø � ü S ö^ï m ý ��ã þ��Ué)û Tpk ù l�� úb�[� � � ��¢ � Ü��¥ �Uö)ú)ú^ö l þ,=�@§Û � Ü � à$h>äUñ�ãJí^è8Ø5òt�8æ�âMì)îÁëNÚÁõ)áÁß@Ù8å�g)ÝU÷)ê^ÿ � Ü

����f�e)t�qdt�})cUf�eÓ[J��f�e)t g e�yU` y g f$t�` g [^})|$f�y8}Uf"��a�5t�`b|"�Ä`b[^{�f�e�yJf"[J��f�e)t+r@yU`ba�yU�)qdt¾f�e)t�}Óf�e)t�| f�`ba�})c¾as|f�`$��} g yNf$tB�¾[^`I]�yN����tB����asfOe��)q�yU} ¤ |QyN|Ia�}�yU}�yJ|$|$adc^}�{�t�}Uf�|$fOyJf$t�{"t�}8f�vI �e)tQfb_�]�t g [^}8rUt�`b|$ad[^}¾`$�)qdtB|�[J�yJ|$| asc)}�{"t�}Uf�|$f�yJf$t�{�t�}Uf$|�yJqd|$[+yU]�])qd_�f$[2yU`badf�e�{�tBf$a g adf$t�{"|�a�}¨S ø)ú^ø |$f�yNf$t�{"t�}8f$|�v

Â7Â7ÃIÝ B9Ñ�ÚWÒdÚ�Å'dzڳà�Ú�ÑgÞÌ �ÆbÆpÅiÈ�à �e)t�`bt�yU`bt+|$tBrUt�` yJq��\yM_)|([J���)|$a�})c�S ø)ú)ø | f�yJf$t�{"t�}8f$|"f$[�a¨})adf$a�yJqdad|$t�yU`$` y�_)| n yJqdq�[J�If�e)t�{�|$a�{w])qdt�`+yU})�{"[^`�t�tåÜ g adt�}Ufªf�e�yU}+f�e)t=t3Ô:�)adrJyJqdt�}Uf�|$tBf�[J��S�TN�Äqs[)[^])|�vÃxt�`$e�yU])|ªf�e)t({"[U|$f g [^{w{"[^}�`�t3Ô:�)a�`bt�{"t�}8f�ad|ªf$[a�})adf$a�yJqdas| t(yJqdq�f�e)t�tBqdt�{"t�}8f$|Ã[J��yU}"yU` `$yM_�סa¨}�f�e)ad| g yJ|$t�f�e)t�yU`$`$yM_Q}�y8{"t g yU}wyU]�]Át�yU`z��adf�e)[)�)fz|����)| g `ba�])f$|�v���§| tBrUt�`$yJq[J�§f�e)t=tBqst�{�t�}Uf$|(y8`bt(f$[+e�y�r8t(f�e)t"|�yU{�t�a¨})adf$a�yJqÃr@yJq��)twy+`bt�]�t�yJf g [^��}8f g y8}��Átw]�`bt g tB��twyU}U_g [^})|$fOyU}UfM×

l ö)ø���ï��d�[�gþ ò ô)ô^ô �S ø)ú)ø ï��d�[�!Ü ô'ò = ÿ ô§Þbôg� > ?<? ÿ 9 ò Þ�ô Ü

 �e)tXf$[8f�yJq�}^��{"�Át�`w[J� g [^})|$fOyU}Uf |�{"�)|$f�t3Ô:��yJqªf�e)tX})��{"��t�`�[J��y8`$`$yM_�tBqdt�{"t�}8f$|�vk �e)t g [^})|$f�yU}8f$|g [^`$`�tB|�]�[^})�~f$[�f�e)twtBqdt�{"t�}8f$|(a�}~f�e)twyU`$`$yM_�a¨}Êf�e)t2})[^`${�yJqz|$f$[^` yJcUt(| t3Ô:�)t�} g t n f�e�yJf�ad|=��adf�e¾f�e)t"¬�`�|$f|����)| g `�a¨])fªr@y8`b_^a�})c�{"[U|$f�`$y8])as��qd_Uv�IyU{�tB� g [)})|$f�yU}8f$|(yU`btw]Át�`${"adf$f$tB� n ���)f(})[Uf g [^})|$f�y8}UfªtB¢:]�`�tB|$|$ad[^})|�vw �e)tw`bt�]Át�yJf g [)��}Uf({wyM_X�Át2y

qdadf$t�`$yJq�[^`=}�yU{"tB�Óa¨}8f$tBcUt�` g [^})| f�yU}8f�vX ¡[�a�})adf$a�yJqdad|$t�y¾{"�)qdf$a��Ä��a�{"t�})|$ad[^}�yJq�yU`$`$yM_���adf�e�]�y8`$yU{"tBf$t�`�as| tB�yU`$` y�_h��[)��})��|�asf+ad|�})t g tB| |�yU`b_Âf$[���tO¬�})t�yU})[Uf�e)t�`�a�}Uf tBcUt�` g [)})|$f�yU}8fwf$[�e)[8qs�Ñf�e)t�f$[Uf�yNqI}^��{"�Át�`w[J�tBqdt�{"t�}8f$|�×

k ø l ø^é)ö^ú)ö l þ ûi� õ ?^ô)ôg��û � õ A M ô��Xû^ú T ú^ø�� õ û|� ÿ û � �S[T � � �8ö k|l ö:ü � � � T û � ü l ö)ö^ûgþ$ûi����û � � � ¢ ö l[Tk ø l ø^é)ö^ú)ö l þ ¢ ö l�T õ ô§Þbô S ô �S ø)ú)ø � ü l ö)ö^û&Ü�û)ú T ú)ø[� ÿ ¢ ö l[T Ü

���§[^})qd_�y=�ÐtB�&yU`$`$yM_wtBqdt�{"t�}8f$|�yU`bt�f$[w��t=a�})asf a¨yNqsad|$tB�Óf�e)tB_ g yU}���t=qdas| f$tB�¾a¨})��adr)ad����yJqdqs_>×

l ö)ø�� �bk ø l�� ögþ ô ô�� ô ô �S ø)ú)ø �bk ø l�� ögþ ò � ò � � �pk ø l[� ö�þ ô ôg� ô ô � Ü ò Þ�ô���ó)ó§Þbó)ó^ó)ó^óðÜ

Page 113: Professional Programmer's Guide to Fortran77 Clive G. Page

®p® S ø)ú^ø �<� ± �<� � ����� jUj��

 �e)t�f�e)a�`b� n yU})��{"[U|$f g [^{�])qsa g yJf tB� n [^])f$ad[^}Óad|wf$[��)|$tXyU}Óa�{w])qdadtB�)�Ä�(Å�qd[^[^]>vh �e)ad|w[)]�t�`$yJf tB|wa�}{"� g e+fOe)t�|�yU{"t���yM_�yN|\y8}+a¨{�])qsadtB�)�Ä�(ÅÎa�}�yU}X���UÅ&|$f�yJf t�{"t�}UfM×

� û)ú)ö m ö lÊTbS|S þ ò ô �S ø)ú)ø þ TbS|S þ ��� � �põ ò � ò ô��ß= � Ü ô ÿ > A�ÜS ø)ú)ø þ TbS|S þ ��� � �põ =�� ò ô��ß= � Ü ô ÿ ô&Ü

 �e)ad|wtB¢:y8{w])qdtXe�yJ|"a¨})adf$a�yJqdad|$tB�kyJqdq�f�e)t+[^���h}^��{"�Át�`btB�htBqdt�{"t�}Uf |wf$[X[)})t�r@yJq��)tXyU})�hyJqdq�f�e)t2tBr8t�}})��{Q�Át�`btB�ÑtBqdt�{"t�}Uf |2f$[ÓyU})[Uf�e)t�`Bvk��[Uf$t�fOe�yJfwf�e)t�qs[)[^] g [^}8f�`b[Uq�rJyU`ba�yU�)qdt ÕL�=a�}hf�e)ad|+tB¢:y8{w])qdt�Ö�e�yJ|y�| g [^]�t+�Ie)a g e~��[)tB|�})[8f(tB¢)f$t�})��[)�)f$|$ad��t2fOe)tw|$t g f$ad[^}~[J��f�e)t1S ø)ú^ø |$f�yJf t�{"t�}Uf=a�}��Ie)a g e�adf"ad|w�)|$tB�5v¦�}U_�a¨}8f$tBcUt�`�r@yU`�a¨y8�)qst�{wyM_X��t+�)|$tB��yJ|(y+qd[)[^] g [^}8f�`b[Uqa�})��tB¢�a�}�y1S ø^ú)ø |$f�yJf t�{"t�}Uf���asfOe)[^�)f�tå�5t g f$|tBqd|$tB�Ie)t�`btU��f�e)t�rJyJq��)tQ[N� � asf |$tBq��§as|�})[Uf���tO¬�})tB�¾�U_+f�e)tB|$t=|$f�yJf t�{"t�}Uf |�v� e)t�}Òa�})asf a¨yNqsad|$a�})c ]�yU`bf+[J�(y�{"�)qdf$a��Ä��a¨{�t�})|$ad[^}�yJqQy8`$`$yM_�adf�{wyM_�[ gBg yJ|$ad[^}�yNqsqd_Ñ��t��)|$tO�Ä�)qIf$[Ó})tB|$f

S�TJ�Äqd[)[^])|Iqda ¤ t=f�e)ad|�×

S[T � � �8ö k|l ö:ü � � � T ûÑï � ö�� S þ ô � ô �S ø)ú)ø þiþ ï � ö[� S þ � � ã�� � �põ ò � ã�� � ãdõ ò � ô � Ü ò�ô ÿ 9 ò Þbô S ô Ü

 �e)ad|I|�]Át g a�¬�tB|�a¨})adf$a�yJqr@yNq¨�)tB|�[)})qs_��L[^`�f�e)t(��]�]Át�`�f�`�a¨y8})cUqdt([J�zf�e)t�|ðÔ���yU`bt(yU` `$yM_w�§�³�Ã�>�wv

Â7Â7ÃIæ G�¾$��¾ Ø�ÒpÅ]ÒpËFÏÊË]Ñ7Òpà1Ú³Ñâç5ÆpÍgè�ËFÙ�é�ÆpË]à

�Ä}=]�`b[ g tB����`btB| n S ø^ú)ø | f�yJf$t�{"t�}8f$|�]Át�`��L[^`${ky�`�[Uqdtz�L[^`>�Ie)a g eQyN|$|$adc^}�{"t�}8f5|$f�yNf$t�{"t�}8f$|�yU`bt§})[ª|����)|$f asfO�)f$tUv�Lfzad|�Ô:�)adf$t�[N�Ðf$t�}"})t g tB|$|OyU`b_(f [ÏyU` `$yU})cUtÃ�L[^`5| [^{"t�y g f$ad[^}=f$[(�Át g yU`$`badtB�"[^�)f§yJfzfOe)t�| f�yU`bf[J��fOe)t§¬�`�|$f g yJqdq���)f�})[Uf§|O���)|$t3Ô:�)t�}8f$qd_ n |�� g ewyJ|�[^]Át�})a�})c�yϬ�qdt�[^`za�})adf$a�yJqdad|$a�}�c�y�r@y8`ba�yU�)qdt�[^`§yU` `$yM_(�Ie)a g e2y gBg ��{"�)q�yJf$tB|a�}8�Ð[)`${wyJf$ad[^}+����`�a¨})c+|����)|$t3Ô��)t�}8f g yJqdqd|�v����a�}8�L[^`${wyJf as[)}wad|I]�`btB| t�`brUtB�+a¨}�y=qd[ g yJq>r@yU`ba�yU�)qdt�[^`�yU` `$yM_(�Ä`b[^{�[^})tªa¨}8rU[ g yJf$ad[^}+f$["yU})[Uf�e)t�`�yE� øi�^ö

|$f�yNf$t�{"t�}8f�ÕÐ��tB| g `ba���tB��a¨} |$t g f$ad[^} l v jUj Ö ad|ÏyJqd|$[w})tBtB��tB�5v���})��tBtB� n a�}+cUt�})t�`$yNq�yU}8_w[^�iÁbt g f�a�})adf$a�yJqdas| tB��a�}yES ø)ú)ø |$f�yJf t�{"t�}Uf�a�}Xy"]�`b[ g tB����`bt"yJqd|$[w})tBtB��|If$[w�Át(}�yU{"tB��a�}Xy�� ø|�)ö |$f�yNf$t�{"t�}8f\��})qdtB|$|�asf |�r@yJq��)t=as|})tBrUt�`�yNqsf t�`btB�5v�Ä}�f�e)tQ})tB¢)fªtB¢:yU{�])qst"f�e)t"]�`b[ g tB����`bt"[^]�t�})|�yw��yNf�y=¬�qdt"[^}�adf$|�¬�`b|$f g yJqdq n �)|$a�})c�y�qd[UcUa g yJqr@yU`ba�yU�)qdt

Å�x��Ã�£� �!f$[2`bt�{�t�{Q�Át�`�f�e)t�|$fOyJf$t�[J��fOe)t�¬�qdtUv

� � �il[T �:ú � û^öÊ� T|T þp� k þ � û S öi��� l ö�ü TbliS �� û)ú)ö m ö l � û S öi�l ö)ø�� l ö:ü TpliS� Tim � ü8ø[� Tbk ö)û)ö S� øi�)ö Tbk ö^û)ö SS ø)ú)ø Tbk ö^û)ö S Ü Þ�ï)ø[� � ö�Þ�Ü

ÿ T îkí>ò@áÁß@Ù�äNàÁâ^â Tbk ö)û)ö S ò8ß�í:àÁâ)ß^ãÑßUë ëNÚ>ã�î�Ù8Ø>ã í>ò8â^ãzÞ� ïgþ�ÞÄû T ú�Þ Tpk ö)û^ö S � ú)ý^ö)û

Tbk ö^ûgþí��û � ú õ ô @��2ï � �8ö õ�� ý � S|S ö)û�Þ S ø)ú � � � ú)ø^úb� � õ�� T � S � �¥ ø�ü^ü8ö �i� õ(� S � l ö:ü8ú � � l ö:üi� õ ò ô^ô �Tbk ö^û)ö S õ Þ�ú l ��ö�Þ

ö^û S � ïl ö)ø S þ �:û � ú õ ô @�� l ö�ü õ�� û S ö|� � l ö�ü TbliSö^û S

Page 114: Professional Programmer's Guide to Fortran77 Clive G. Page

®3î ��� �è� ��� ï �g�$��^$� jUj >

��t�`bt n �L[^`z| a¨{�])qsa g adfb_ n fOe)tÏ���UÅ!��})adf\})��{"��t�`�ad|�y=qdasf t�`$yJq g [^})|$f�y8}Uf�v �e)t(]�`b[ g tB����`btª��[)�)qs�X�ÁtÏ{�[^`bt{"[)���)q�yU`za���f�e)t���})adf�}^��{"�Át�`z��t�`btIyJqd|$[(y8}wyU`bc^��{�t�}Ufz[J�>f�e)tI]�`b[ g tB����`btª[^`a���adf g [^}8f�yJa�})tB�w| [^{"t g [^��t n�)|$a�})c+f�e)t � û�ùd� � l ö |$f�yJf$t�{�t�}Uf n f$[���tBf$t�`${"a�})t��L[^`�adf$| tBq ��y�|��)adf�yU�)qdtQ��})�)|$tB����})adf�}^��{"�Át�`Bv �e)t�`bt�ad| n [J� g [^��`b| t n })[ g [)`$`btB|�]Á[^})��a�})cw��y�_=f$[���tBf$t�`${�a¨})t��ªe)a g e�as|Ãf�e)tªq¨yN|$f g yJqdq�f$[(f�e)tª]�`b[ g tB����`�t

|$[wfOe�yJfIfOe)t�¬�qdt g yU}���t g qd[U|$tB� n ���)fIfOe)as|�ad|�})[Ufª|$f�`ba g f$qd_X})t g tB|$|�y8`b_XyJ|�f�e)t=��[^`�f�`$yU}+|$_)|$f$t�{ g qs[8|$tB|(yJqdq¬�qdtB|Ïy8�)f$[^{wyJf a g yNqsqd_��Ie)t�}+fOe)tQ]�`b[Uc)`$yU{ tB¢^adf$|Mv��[Uf t�f�e�yJf�S ø)ú)ø |$f�yJf t�{"t�}Uf | g yU}�})[Ufª��tQ�)| tB��f$["a¨})adf$a�yJqdad|$twrJyU`ba�yU�)qdtB|ª[^`�yU`$`$yM_)|��ªe)a g e�yU`bt�����{�{(_

yU`bc)��{"t�}Uf |�[N� yw]�`�[ g tB����`bt n })[^`�fOe)t�r@yU`ba�yU�)qdt"�Ie)a g eXe�yJ|�fOe)t�|�yU{"t(}�yU{�t(yJ|�f�e)tª�Ä��} g f$ad[^}>v

Â7Â7ÃPO _�ËFÑ�ËFÆpÅ'Ç�CJé�dzËFà �e)t�cUt�})t�` yJq>�L[^`${Î[J�f�e)tMS ø^ú)ø |$fOyJf$t�{"t�}8f�as|M×

S ø^ú)ø ´�¶d³�²B½ Ü �M¶s³ ²B½ Ü<� ´�¶d³�²B½ Ü ��¶d³ ²¥½ Ü<� v�v v� e)t�`bt"´�¶d³�²B½)ad|\y�qdas| f�[N��rJyU`ba�yU�)qdt(}�yU{"tB| n y8`$`$yM_Q}�yU{�tB| n |����)| f�`ba�})cw}�yU{"tB| n yU})�wa�{w])qdadtB�)�Ä�(Å!qdad|$f$| n yU})���¶d³ ²¥½ad|Qy qdas| f([J��asf t�{"|(�Ie)a g e�{�y�_¾��t+qdasf t�`$yJq§[)`�}�yU{"tB� g [^})| f�yU}8f$|�[^`ªtBadf�e)t�`�[N�\fOe)tB|$t2]�`bt g tB��tB�h�U_y�`bt�]Át�yJfb� g [^��}8f(yU})��yU}¾yJ|$f$t�`�as| ¤ v( �e)t�`�t�]�t�yJfb� g [)��}Uf g yU}¾yJqd|$[X��twyU}¾��})|$adc^})tB�Óa�}Uf$tBc8t�` g [^})|$f�yU}8fª[^`}�yU{"tB� g [)})|$f�yU}8f�v �e)t g [^{w{�y+�Ie)a g e�]�`�t g tB��tB|Qt�y g e�qdad|$f"[J�\}�yU{�tB|(tB¢ g t�])f(f�e)t=¬�`b|$f=ad|([^])f$ad[^}�yNqÐv"¦�}¾a�{w])qdadtB�)�Ä�(Å

qdad|$fÏe�yN|�f�e)t�cUt�})t�`$yNq>�Ð[)`${�×þ ¼�¶d³�²B½VæÔ³�´�½}ñMµU® õ ²B½LµU®O½VæÔ¶d³�¸Q³�½Væ²¥½L±ß �

� e)t�`bt+t�{���qdad|$f+ad|�y�qdad|$fw[J��a�{w])qdadtB�)�Ä�(Å�qsad|$f |2yU})�hyU`$`$yM_¾tBqdt�{"t�}Uf |��I³�´�½}ñMµU®�ad|2yU}~a�}Uf tBcUt�`=r@yU`ba�yU�)qdtg yJqdqdtB�hf�e)t+qs[)[^]8� g [^}8f�`b[8q�rJyU`ba�yU�)qdtU��²¥½LµU®O½ n ¶d³�¸Q³�½ n yU})�²¥½L±ßÊyU`bt+a�}Uf tBcUt�`=tB¢:]�`btB| |$ad[^})|wa�}��ªe)a g ehyJqdq�f�e)t[^]Át�`$yU})��|�{Q�)| f\�Át(a�}8f$tBcUt�` g [^})| f�yU}8f$|�[^`Ãqd[^[)]8� g [^}UfO`b[Uq5rJyU`ba�yU�)qdtB|�[J��[^�)f t�`�a�{w])qdastB�)�Ä�(Å qsad|$f |�vS ø)ú^ø | f�yJf$t�{"t�}8f$| g y8}�})[UfÔ�Át��)|$tB�"f$[ªa�})adf$a�yJqdas| tIadf$t�{"|a�}=f�e)t��)q�yU} ¤�g [^{w{"[^}=�)qd[ gB¤ �8adf$t�{"|a¨}"}�yU{�tB�

g [^{w{�[^}��)qd[ gB¤ | g yU}+[^})qd_X�Át(a�})adf$a�yJqdas| tB����adf�e)a�}Xy�� � T ü8þ S ø)ú^ø ]�`b[Uc)`$yU{Î��})adf�Õ�| tBt�|$t g f$ad[^} jMo v�>^ÖBv �e)t$S ø)ú)ø |$fOyJf$t�{"t�}8f$|�a�}�t�y g e�]�`b[Uc^` yU{Î��})asf�{"�)|$fÃ�Ð[8qsqd[J��yJqdq5|O]�t g a�¬ g yJf$ad[^}�|$f�yNf$t�{"t�}8f$|����)fIf�e)tB_

g yU}���t(a�}8f$t�`b|�]Át�`b|$tB�¾��adf�e tB¢^t g �)f�y8�)qst�|$f�yJf$t�{�t�}Uf$|�yU})��|$f�yJf t�{"t�}Uf\�É��} g f$ad[^}�|$fOyJf$t�{"t�}8f$|�v§�ÉfIad| n e)[J���tBrUt�` n ��tB|$f"f$[+�L[Uqdqd[J� fOe)t2�)|���yJq�]�`$y g f$a g t+[J�\]��)f$f a¨})c�yJqdqÃ�I¦§ ¡¦Î|$f�yJf$t�{�t�}Uf$|(�ÁtO�Ð[)`bt2yU}8_¾[J��f�e)twtB¢)tO�g �)f�yU�)qdt=|$f�yJf$t�{�t�}Uf$|Mv

· ø x! � � !$# ù¤É !Eû'`M(¦ g [^{�{"[^}+�)qs[ gB¤ as|ªy(qdad|$f�[N��r@yU`�a¨y8�)qstB|�yU})��yU`$`$yM_)|§|$f [^`btB�+a¨}�y�}�yU{"tB��yU`bt�y=�Ie)a g e�{�y�_+��t(y gBg tB|$| tB���a�`bt g f$qd_"a�}w{"[^`btÃf�e�yU}=[^})t�]�`b[Uc)`$yU{k��})adf�v§Z\[^{w{"[^}=�)qd[ gB¤ |�yU`bt�{wyJa�})qd_��)| tB�Qf [�f�`$yU})|b�Lt�`¡a¨}8�L[^`${�yJf$ad[^}�Ä`b[^{Ñ[^})t�]�`b[Uc^` yU{Ñ��})asfzf [IyU})[Uf�e)t�` ��f�e)tB_ g y8}(��t��)|$tB�(a�}"yJ|�y8}(yJqdf$t�`$}�yNf$adrUt§f$[ªyU`bc^��{"t�}8fb�Äqdad|$ff�`$yU})|b�Lt�`b|[^`�a�}�yJ����adf$ad[^}�f$[�f�e)t�{�vZ�[^{w{"[)}2�)qd[ g¥¤ |IyU`btª|$[^{�tBf$a�{"tB|��)|$tB��f$[=¬�f�q¨y8`bcUt(]�`b[Uc)`$yU{"|Ãa¨}8f$["|�{wyNqsq g [^{�]��)f$t�`b|I�8_2yU`$` yU})cUa�})c

�L[^`"|$tBrUt�` yJqI]�`b[Uc)`$yU{ ��})adf$|�f$[~|�e�yU`bt¾y g [^{w{"[)}�]�[)[Uqª[J�({"t�{"[^`b_Uvk �e)as|+ad|X})[Uf2yÓ`bt g [^{w{�t�})��tB�]�`b[Uc)`$yU{w{"a�})c�]�` y g f$a g tXyU})��ad|+qda ¤ tBqs_hf [���t g [^{�t�`btB����})��yU}8fw��adf�eÒf�e)t�|�]�`bt�yN��[J�Ir)a�`bf���yJq���{"t�{�[^`b_[^]Át�`$yJf$a�})cw|$_)|$f$t�{�|�v �e)t�}�y8{"t2[N�Ïy g [^{w{"[^}~�)qs[ gB¤ ad|wyU}~tB¢^f$t�` }�yJq�}�yU{"t+�Ie)a g eh{"�)|$f"��t���a�5t�`bt�}Uf=�Ä`b[^{�yJqdq�[8f�e)t�`

cUqd[^��yJq5}�yU{�tB| n |�� g e+yJ|�f�e)[U| tI[J�z]�`b[ g tB����`�tB| n a�}+f�e)tªtB¢^t g �)f�y8�)qst(]�`�[Uc^`$yU{ vÔ �e)tIrJyU`ba�yU�)qdtB|Ïy8})��yU` `$yM_^||$f$[)`btB�"��adf�e=f�e)t��)qs[ gB¤(g y8}�})[Uf§��t�a�})adf$a�yJqdad|$tB��a�}"f�e)tI})[)`${wyJq)��y�_ n ���)f§[)})qs_=a�}wy�� � T üUþ S ø^ú)ø ]�`b[8c^`$yU{��})adfI�ªe)a g e���yJ|�a�}8rUt�}Uf tB�XtB|�]Át g a¨yNqsqd_��L[^`�f�e)ad|I]���`$]Á[U|$tUv

Page 115: Professional Programmer's Guide to Fortran77 Clive G. Page

®3î ��� �è� ��� ï �g�$��^$� jUj�È

Â'×�Ã� ¨�àrÚ�ÑgÞ§�«Í7ÏÊÏÊÍ7Ña�ydzÍgèpägà�Ä}Â{"[U|$f g yJ| tB|wf�e)tX��tB| fw��y�_~f$[�]�yJ|$|�a¨}8�L[^`${�yJf$ad[^}~�Ä`b[^{�[^})t�]�`�[Uc^`$yU{���})adf2f$[ÓyU})[Uf�e)t�`=ad|2f [Ê�)| tf�e)t�]�`b[ g tB����`btXyU`bc^��{�t�}Uf"qdad|$f2{"t g e�yU})ad|�{�v� �e)ad|2]�`�tB|$t�`brUtB|"f�e)tX{"[)���)q�yU`badfb_�yU})�ha�})��t�]�t�})��t�} g t¾[J�]�`b[ g tB����`btB|2yJ|+{Q� g eÓyJ|w]�[U|$| a¨�)qdtUvh¦�`bc^��{�t�}Uf"qdad|$f$|2yU`�t n e)[J��tBr8t�` n qdtB|$|w|�yNf$ad|b�Éy g f$[^`b_¾a�}�y�c^`b[)��]�[J�]�`b[ g tB����`btB|��Ð[^` {"a�})c y�]�y g¥¤ yJcUt��Ie)a g e�e�yMrUt�f$[�|Oe�yU`btXy¾q�yU`bc8t�yU{"[)��}Uf"[J��a�}8�Ð[^` {wyJf$ad[^}Ò��adf�eht�y g e[Uf�e)t�` vIx§`�[ g tB����`btwyU`�c^��{"t�}8fIqdad|$f$|�f�e)t�}�f$t�})�¾f$[+��t g [^{"t"qd[^})c n g ��{"��t�`b|$[){"t n yU})�¾tBrUt�}�a�})tåÜ g adt�}8f�v���5f�e)ad|§]�y gB¤ yNcUt�[J��]�`b[ g tB����`btB|�ad|za�}Uf$t�})��tB���L[^`cUt�})t�`$yJq��)| t�adfÃas|�Ô:�)adf$t�a¨{�]�[^`bfOyU}Ufzf [ ¤ tBt�]�f�e)t�tB¢^f$t�` }�yJqa�}Uf t�`��Éy g tQyJ|���} g [^{w])qda g yJf$tB��yJ|�]�[U| |$a��)qstUv� �e)ad| g yU}X�Átwy g e)adtBrUtB�¾�U_X�)| a¨})c�fOe)tQ]�`b[ g tB����`btwyU`bc^��{�t�}Ufqdad|$f$|([)})qs_ �Ð[)`ªa¨{�]�[^`bf�[N��a�}8�Ð[)`${wyJf$ad[^} �Ä`b[^{ËyU})��tB¢�]�[^`�f�f$[2fOe)t�`�tB|$f�[J��fOe)t�]�`�[Uc^`$yU{ n yU})��e�yU})��qda�})cf�e)t g [){w{"��})a g yNf$ad[^})|Q�ÁtBf���tBt�}¾[)})t2]�`b[ g tB����`bt2a�}¾fOe)t2]�y gB¤ yJcUt+yU})��yU})[UfOe)t�`ª��adf�e g [^{w{�[^}¾�)qs[ gB¤ |�v �e)t(�)|$t�`�ad|�f�e)t�}��É`btBt�f [wadc^})[^`bt�f�e)t=a�}Uf$t�` }�yJq5��[^` ¤ a�})cU|�[J�ÔfOe)t(]�y g¥¤ yJcUtUv��[^`ªtB¢�yU{w])qdt n a�}�y |$a�{w])qdt�]�y gB¤ yNcUtwf$[Xe�yU})��qdt�yX]Át�}8��])qs[8f$f$t�`=_U[^��{�y�_���yU}Uf�f [X]�`b[Jr^ad��tw|$a�{w])qdt

]�`b[ g tB����`bt g yNqsqd|ª|�� g eXyJ|�×

üUø��i� k � Tpk ö^û ��})adf$a�yJqdas| twf�e)t(])qd[Uf$f$a�})c+��tBr^a g tüUø��i� � ü8ø[�8ö�þ ï � �)tBf�f�e)t�| g yJqda�})c+�Éy g f$[^`Ãf$["��vüUø��i��é T �^ögþð��� � � �¾[JrUtªf�e)t(]�t�} f$[2]Á[U|$adf$ad[^}�Õ � n ��ÖüUø��i� Sil ø � þð��� � � �(` y��ky"qda�})t��Ä`b[^{ f�e)t�q�yJ|$fI]Át�}X]�[8|$adf$ad[^}�f$[XÕ � n �ÏÖBv

 �e)tB|$tI]�`b[ g tB����`btB| g qdt�yU`bqd_2e�yMrUt�f [(]�yJ|$|za�}8�Ð[)`${wyJf$ad[^}Q�É`b[){![^})t�f [(yU})[Uf�e)t�`zyU�Á[^�)f§fOe)t g ��`$`bt�}8f�]Át�}]�[8|$adf$ad[^} n | g yJqda¨})c��Äy g f$[^` n tBf g v ¦�|��)adf�y8�)qst g [^{�{"[^}+�)qs[ gB¤ ��tO¬�})asf as[)}�{�asc)eUf�qd[)[ ¤ qda ¤ t(f�e)ad|�×

ü T é)é T û&Ü k � T ú�Ü Tbk ö^û)ö S � Tpl � m � û�þ,= � � k�� ü8ø[�8ö��2ûb�:é k ö)û� Tim � ü8ø[� Tbk ö)û)ö S� û)ú)ö m ö l ûb�:é k ö^ûl ö)ø�� k�� üUø��Uö�� Tpl � m � û� øi�)ö�Ü k � T ú�Ü

 �e)tB|$t(|O]�t g a�¬ g yJf$ad[^}�|$f�yNf$t�{"t�}8f$|���[)�)qs�X�ÁtQ})tBtB��tB�¾a�}�t�y g e�]�`b[ g tB����`bt(a�} f�e)t(]�y gB¤ yJcUtUv

KM6�^�^J67: DÖus67H��Y§y.'^JN�2

¦!]�`b[Uc^`$y8{ ��})adf g yU}Xy gBg tB|$|�f�e)t g [^}8f$t�}8f$|�[J�§yU}8_ g [){w{"[^}+�)qd[ gB¤ �U_yÔ��)[Uf$a�})cwadf$|ª}�yU{"t(a�}�y ü T é)é T û|$f�yNf$t�{"t�}8f�v�Z�[){w{"[^}=�)qs[ gB¤ }�yU{"tB|§y8`bt�yJqd�\yM_)|�t�} g qd[U| tB�wa�}wyI]�yNa¨` [J��|$q�yJ|�e)tB|§y8})� g y8}([)})qs_w�Át\�)| tB�wa�}ü T é)é T û yU})�R� ø|�)ö |$f�yJf$t�{�t�}Uf$|Mv� �e)t g [^{�{"[^}w�)qd[ g¥¤ adf$|$tBq�� e�yN|\})["��yJfOy(fb_�]�t�yU})��e�yJ|�y(c8qs[)��yJq5}�yU{"t�Ie)a g eX{"�)|$fI�ÁtQ��ad|$f a¨} g f��Ä`b[^{Îf�e)t"}�yU{"tB|�[N� yJqdqz]�`b[Uc^` yU{Î��})asf |�v� �e)tQ}�y8{"t�|�e)[^�)qd��yJqd|$[2�ÁtQ��ad|$f a¨} g f�Ä`b[^{ yJqdq�qd[ g yNqI}�yU{"tB|wa�}Òt�y g eh]�`�[Uc^`$yU{ ��})adf$|+�Ie)a g eÂy gBg tB|$|wfOe)tX�)qs[ gB¤ vY�Ãy g eh]�`b[Uc^`$y8{ ��})adf g yU}{wy ¤ tÏ�)|$t�[N�ÔyU}8_2}^��{"�Át�`�[J����a�5t�`bt�}8f g [^{w{"[)}2�)qd[ g¥¤ |�v§ �e)t�`�t�as|ªyJqd|$[wy(|O]�t g a�yJqz�)q¨y8} ¤ [^`���}8��}�yU{�tB�g [^{w{�[^}��)qd[ gB¤ ��adf�e���})a@Ô:�)tw]�`b[)]�t�`bf$adtB|ª�Ie)a g e�yU`bt g [JrUt�`btB��a�} |$t g f$ad[^} jMo v o ��tBqd[J�(v �e)t2rJyU`ba�yU�)qdtB|2yU})�hyU`$` y�_)|(��asfOe)a¨}hy g [^{�{"[^}��)qd[ g¥¤ ��[�})[UfQe�yMrUt�yU}8_�c8qs[)��yJq�|$f�yJf��)|M×(f�e)tB_ÓyU`bt

yJ|$| [ g a�yJf$tB�Ó��adf�eÓadf$t�{"|"a�}h�)qd[ gB¤ |��Át�yU`ba�})c�f�e)t+|�yU{�t�}�yU{�t2a�}Ó[Uf�e)t�`=]�`b[Uc^` yU{���})adf$|w[)})qs_Ó�U_�fOe)tBa¨`]�[8|$adf$ad[^}���adf�e)a�}�f�e)t(�)qd[ g¥¤ v� �e^�)| n a��§a�}�[^})t(]�`�[Uc^`$yU{Î��})adfª|�]�t g a�¬�tB|�×

ü T é)é T û&Ü Tb� úb� � ö�Ü ��þ,A �yU})��a�}XyU})[UfOe)t�`B×

ü T é)é T û&Ü Tb� úb� � ö�Ühø�� � ��ü

Page 116: Professional Programmer's Guide to Fortran77 Clive G. Page

®3î ��� �è� ��� ï �g�$��^$� jUj B

f�e)t�} n yJ|$|O��{"a�})c2f�e)t���yNf�y"fb_:]ÁtB|IyU`bt�fOe)t�|�yU{"t n � Õ j Ö g [^` `btB|�]�[)})��|If$[�¦ n � Õ o Ö�f$[w£ n yU})� � Õ � ÖÃf$[Z�v� �e)t ü T é)é T û |$f�yJf$t�{�t�}Uf$|�e)t�`bt(yU`btªtå�5t g f$adrUtBqd_2| tBf$f$a�})cw��]w��a�5t�`bt�}8fI}�yU{"tB|�[^`ÃyJqda¨yN|$tB|��L[^`Ãf�e)tI|OyU{"t|$tBfÃ[J��{"t�{�[^`b_"qd[ g yJf as[)})|�v§ �e)t���yNf�y�fb_�]�tB|§��["})[Uf§e�yMrUt�f$["{wyJf g e"]�`b[Jr^ad��tB�+f�e)t�[JrUt�`$yNqsq�qdt�})cUfOewad|�f�e)t|�yU{�t n ���)fzadfas|zc8t�})t�`$yJqdqd_([^})qd_Q]Á[U|$|$a��)qdt�f$[�f�`$yU})|b�Lt�`¡a¨}8�L[^`${�yJf$ad[^}ª�Ä`b[^{ [^})t�]�`b[Uc^`$y8{k��})adfzf$[IyU})[UfOe)t�`5a��f�e)t g [^`$`�tB|�]�[^})��a�})c�adf$t�{"|§e�yMrUtÃf�e)t�|�yU{"tÃ��yJf�y�fb_:]ÁtUvÔ�Ð��f�e)tB_���[(})[8f n �ªe)t�}"[^})t§adf$t�{!�Át g [^{"tB|z��tO¬�})tB�yJqdq�}�y8{"tB|��L[^`ªf�e)tw|OyU{"t"qd[ g yJf as[)}��Ie)a g e�e�yMrUtwy ��a��5t�`bt�}8f(��yNf�y+fb_:]Át2��t g [^{�t2��})��tO¬�})tB�5vX �e)t�`bt�as|[^})tw{"a�})[^`�tB¢ g t�])f$ad[^}Êf$[2fOe)as|"`$�)qdtUתa¨}8�L[^`${�yJf$ad[^}¾{wyM_��Átwf�`$yU})|��Ðt�`$`�tB���Ä`b[^{Ëy g [^{w])qdtB¢¾r@yU`ba�yU�)qdt�Õ�[^`yU`$` y�_�tBqdt�{"t�}UfOÖ(f [�f���[�rJyU`ba�yU�)qdtB|w[J��f�_�]�t�`bt�yJqIÕÐ[^`�r)a g tO�ÄrUt�`b|�yUÖ�|$a�} g t�f�e)tB|$t2y8`btw��a�`bt g f$qd_hyJ|$|$[ g a�yJf$tB���adf�e asf |I`bt�yJq5yU})��a¨{�yJcUa�}�yU`b_�]�yU`bf$|Mv��|���yNqsqd_wadf�ad|�})t g tB|$|OyU`b_wf$[(y8`$`$yU})cUtÃ�L[^` g [)`$`btB|�]Á[^})��a�})cQadf$t�{�|§f$["e�y�r8t�ad��t�}Uf$a g yJq>��yJfOyªf�_�]�tB|M�Uadf�yJqd|$[

{"a�})a�{"ad|$tB| g [)}8�É�)|$ad[^} a���f�e)t=|�yU{"t�|$_�{"��[Uqda g }�yU{"tB|�yU`bt(�)|$tB��yJ|���tBqdqLvI �e)t(|$a�{w])qdtB|$f���yM_2f [2y g e)astBr8tf�e)ad|§ad|Ãf$[(�)|$tIyU} � û:üi�d� S ö |$fOyJf$t�{"t�}8f n a��5_U[^��`|$_)|$f$t�{!]�`b[Jr)ad��tB|§[^})tUvz �e)t�a�} g q��)��tO�L¬�qdt(|�e)[)�)qs� g [^}8f�yJa�}})[Uf�[)})qs_�f�e)t ü T é)é T û |$f�yJf$t�{�t�}UfI���)f�yJqd|$[�yJqdq5f�e)t"yJ|$|$[ g a�yJf$tB�Xfb_�]�t"yU})��� ø|�)ö |$f�yJf$t�{�t�}Uf$|��Ie)a g e¾yU`bt})t g tB|$|�y8`b_Uv��Lf(ad| n [J� g [^��`�|$t n |$f$adqdq\})t g tB| |�yU`b_¾f$[X`bt g [){w])adqst�tBr8t�`b_�]�`b[Uc^`$y8{ ��})asf"�Ie)a g e�y gBg tB|$|$tB|"f�e)tg [^{w{�[^}��)qd[ gB¤ �Ie)t�})tBrUt�`�adf$|ª��tO¬�})adf$ad[^}�ad|ÏyJqdf$t�`�tB��|$adc^})a�¬ g yU}Uf qs_Uv

�1N�Hpuv.F8�GW:)\Ywy8�89.ih�2

 �e)t(�Á[^��})��|I[N� yU}+yU`$` y�_ g yU}���t=��t g q¨y8`btB�Xa�}�fOe)t ü T é^é T û |$f�yJf t�{"t�}Uf�adf$|$tBq�� n [^`�a�}�y"| t�]�yU`$yJf$t"½}«]:±�[^`S � é)ö^û � � T û |$f�yNf$t�{"t�}8f n ���)f�[^})qd_�a�}�[^})t�[J�zf�e)t�{�và�e^�)|M×

ü T é)é T û&Ü S ö^é T Ü ø lil ø � þ ô ô^ô)ô �S[T � � �8ö k|l ö:ü � � � T ûÑø l|l ø �

as|ªtB¢�y g f$qd_2t3Ô��)adr@yJqdt�}8f�f$[�×ü T é)é T û&Ü S ö^é T Ü ø lil ø �S[T � � �8ö k|l ö:ü � � � T ûÑø l|l ø � þ ô ô)ô)ô �

[^`�tBr8t�}>×ü T é)é T û&Ü S ö^é T Ü ø lil ø �S[T � � �8ö k|l ö:ü � � � T ûÑø l|l ø �S � é)ö^û � � T û ø lil ø � þ ô ô^ô)ô �

���)f�f�e)t=rUt�`$�Á[U|$adfb_2[J�f�e)t(f�e)a�`b� �Ð[)`${Îe�yJ|�qdadf$f$qdt"f$[w`bt g [^{w{"t�})��adf�v

�1.�/3.ÌË�h�O<N[2 �e)t�})[)`${wyJqª��yJf�yÓfb_�]�t�`$�)qdtB|�yU]�])qd_Ñf$[hrJyU`ba�yU�)qdtB|�yU})�kyU`$`$yM_)|2a�} t�y g e g [^{�{"[^}Ñ�)qd[ gB¤ vΦ fb_�]�t|$f�yNf$t�{"t�}8f�as|¾})[UfX`bt3Ô��)a�`btB��a��wf�e)t¾a�})adf$a�yJq"qstBf f$t�`X`$�)qdt���[^�)qd��e�yMrUt~f�e)t�`bt3Ô:�)a�`btB�&tå�5t g f n ���)fXfb_�]�t|$f�yNf$t�{"t�}8f$|§yU`btIyN��r^ad|�yU�)qdt n tB|�]Át g a¨yNqsqd_�a���f�e)t�a¨{�])qsadtB�)�Äfb_�]�tQ` �)qstB|�yU`�tIyU}8_^�Ie)t�`�tIy9�5t g f$tB�2�8_ � é k � � ü � ú|$f�yNf$t�{"t�}8f$|�v� Ã_�]�t�|$f�yNf$t�{"t�}8f$|Ô{�y�_"]�`bt g tB��t�[^`¡�L[Uqdqd[J�hf�e)t ü T é^é T û |$f�yNf$t�{"t�}8f�v5�)a�{"adq¨y8`bqd_2f�e)t�qdt�})cUf�e)|[J� g e�yU` y g f$t�`�asf t�{"|(|�e)[)�)qs�Ó��tw|�]Át g a�¬�tB�ha¨}~y+|$t�]�yU`$yJf tQfb_�]�t"|$f�yNf$t�{"t�}8f�×�f�e)tB| t g yU}�})[Uf(�Átw|�]�t g a�¬�tB�a�}�f�e)t ü T é^é T û |$f�yNf$t�{"t�}8f�v

_'/36)89.�\FN�¬�:7Gv/�2

 �e)t�qst�})c8f�eh[J�(t�y g e g [^{w{"[^}h�)qd[ g¥¤ ad|X{"t�yN|���`btB��a�}Ò|$f$[^`$yNcUtX��})adf$| n yJ|w��tB| g `ba���tB�ka�}Â|$t g f$ad[^} È v j v�Ä}Ò|���{w{wy8`b_ n a�}Uf tBcUt�` n `bt�yJq n yU})�hqd[UcUa g yJq�adf$t�{�|2[ gBg ��]U_h[)})tX}^��{"t�`�a g |$f$[^` yJcUt���})asf+t�y g e>� g [^{w])qdtB¢

Page 117: Professional Programmer's Guide to Fortran77 Clive G. Page

®3î ��� �è� ��� ï �g�$��^$� jUj Ç

yU})�¾��[^���)qdt�]�`bt g ad|$ad[^}�adf$t�{�|�[ gBg ��]8_¾f���[+t�y g e>v( 5[X{�yJ¢^a�{"ad|$t+]�[^`bfOyU�)adqsadfb_ n g e�y8`$y g f$t�`�|$f$[^` yJcUtQ��})adf$|yU`bt g [)})|$ad��t�`btB�Ña¨} g [){w{"t�})|���`$yNf$tX��adf�eÂ}^��{�t�`ba g yJqI| f$[^`$yJc8t���})adf$|�vÂ��[)`"f�e)ad|�`�t�yJ|$[^} g e�yU`$y g f t�`wyU})�})[^}8� g e�yU`$y g f t�`�adf$t�{"| g yU}�})[8fI��t"{"ad¢^tB��a¨} f�e)t(|OyU{"t g [^{w{"[^}��)qd[ g¥¤ v�Ä}�]�`$y g f$a g twf�e)ad|([J�Lf$t�}�{�t�yU})|�f�e�yJf�fb��[ g [){w{"[^}¾�)qd[ gB¤ |�y8`btw})tBtB��tB��f$[Xe)[8qs�Óy�]�yU`bf$a g �)q�yU`���yNf�y

|$f�` � g f���`btU×w[)})tw�L[^`=f�e)t g e�yU` y g f$t�`=adf$t�{"|2yU})�Ó[^})t+�L[^`(yNqsq�f�e)t2[8f�e)t�`b|�v��Ð� n a�}Óf�e)t+¬�`�|$f"tB¢:yU{�])qst n asfe�yJ�X�ÁtBt�}�})t g tB| |�yU`b_��Ð[)`�f�e)t(])qd[Uf$f$a�})c�]�y gB¤ yJcUt=f$["|$f$[^`�t(yw])qd[Uf�f$adf$qdt(fOe)as|ª��[^�)qd��e�yMrUt�f$[wyU]�]Át�yU`�a¨}�y|$t�]�yU` yJf$t g [^{w{�[^}2�)qd[ g¥¤ |O� g e�yJ|�×

ü T é)é T û&Ü k � T ú�ü�Ühú � ú��UöüUý)ø l ø�üUú)ö l ú � ú[�8ö ÿ > ô� øi�)ö�Ü k � T ú:üÁÜ

�Lf"ad|wcU[)[^��]�`$y g f$a g t�f$[��)|$tX`�tBq¨yNf$tB��}�yU{"tB|=�L[^`=f�e)t��)qd[ g¥¤ |wf$[¾a�})��a g yJf$t�f�e�yJf(fOe)t g e�yU` y g f$t�`"yU})�})[^}8� g e�yU`$y g f t�`�adf$t�{"|IyU`�t(�)|$tB�Xa�} g [)}9Á���} g f$ad[^}>v �e)twqdt�})cUf�e~[J�\y�}�yU{"tB� g [){w{"[^}��)qd[ g¥¤ {Q�)| f(��t+f�e)tw|�yU{�tQa�}~t�y g e�]�`b[Uc^` yU{ ��})adfQa�}~�Ie)a g eÊasf

yU]�]Át�yU`b|�vzÅ��8r^ad[^�)|$qd_=f�e)t§t�yJ| astB| fz�\yM_ªf$[�t�})|���`�t�fOe)as|zad|f$[�{wy ¤ tzf�e)t g [^{�{"[^}��)qd[ gB¤�g [)}Uf$t�}8f$|ad��t�}Uf$a g yJqa�}�t�y g e�]�`b[Uc^` yU{Î��})asfMvI��[Uf$t n e)[@��tBrUt�` n fOe�yJfIfOe)t�`bt(ad|�})[�`bt3Ô��)a�`bt�{"t�}8f��L[^`���yJf�y"fb_�]�tB|ªf$[2{wyNf g e n [^`�L[^`ªf�e)t�{Ëf$[X�Átwqdas| f$tB��a�}�y8}U_¾]�yU`bf$a g �)q�yU`=[^`b��t�` n ]�`�[@r)ad��tB��f�e)twadf$t�{�|(yU`bt2})[Uf(�)| tB�¾�Ð[)`ªa¨}8�L[^`${�yJf$ad[^}f�`$y8})|b�Ðt�` n yU})�w]�`b[Jr^ad��tB�wf�e)t�f$[8f�yJq)qst�})c8f�e"[J�>f�e)t��)qs[ gB¤ ad|Ãf�e)t�|�yU{"t�a�}"t�y g e g yJ|$tUv �e)�)|§f�e)tB|$t g [^{�{"[^}�)qd[ gB¤ |ÏyU`�t(��[Uf�e o8pUpUp }^��{�t�`ba g yJq�| f$[^`$yJc8tÏ��})adf$|�a�} qst�})c8f�e>×

ü T é)é T û&Ü � ø^é)ö�Ü m þ ò ô)ô^ô �S[T � � �8ö k|l ö:ü � � � T û m

ü T é)é T û&Ü � ø^é)ö�Ü ø�� � �Xüg� l þ ò ó)ó<@ �l ö)ø���ø�� l� Tim � ü8ø[� �� û)ú)ö m ö l ü

�Lf$t�{"|�a�}Xy g [^{�{"[^}+�)qs[ gB¤ yU`�tI|$f [^`btB�+a¨} g [)})|$t g �)f$adrUt({"t�{"[)`b_wqd[ g yNf$ad[^})|�v§�ª}8�Ð[)`bf���}�yJf$tBqd_+f�e)t�`bt�y�LtB� g [^{�]��)f$t�`ª|$_)|$f$t�{"|ª�Ie)a g e¾`bt3Ô��)a�`btw��[^���)qdt2]�`�t g as| as[)}�yU})� g [){w])qdtB¢�adf$t�{�|�f$[��Át"|$f$[^`btB��a�}XtBr8t�}8�})��{Q�Át�`btB�+|$f$[^`$yNcUt�qs[ g yJf$ad[^})|M×�fOe)tB|$tÏ{�y�_�¬�})�2adf�e�yU`b�+f$[ g [^]�tª��adf�ew�)qd[ g¥¤ |��Ie)a g e g [^}8f�yJa�}+y�{"ad¢^f���`�t[J�I��yNf�y�f�_�]�tB|Mv���y g e)a�})tB|w��adf�eÓf�e)ad|w��tO�Lt g f g yU}h})t�y8`bqd_ yJqd��yM_^|w�ÁtX])q¨y g yJf$tB� �8_�yU` `$yU})cUa�})c¾�L[^`"yJqdq��[^���)qdtQ]�`�t g as| as[)}�y8})� g [^{w])qdtB¢�adf$t�{"|�f$[ g [^{"t(yNf�fOe)tQ��tBc8a¨}�})a�})c�[J�zt�y g e��)qd[ gB¤ v

� ø|�)ö _'/3.�/3NF^JN]:F/�2�.':7eÊKE67^�^�6�:VD�uv67H��72�Lf t�{"|�a¨} g [){w{"[^}w�)qd[ g¥¤ |I{wyM_w��t g [){"t(��})��tO¬�})tB�X�Ie)t�}+y"]�`b[ g tB����`bt(`btBf���`$})| g [^}8f�`b[8q�f$[=f�e)t g yNqsqda�})c��})adf�Á��)| fIqda ¤ twqd[ g yJq�rJyU`ba�yU�)qdtB|Qy8})��yU`$` y�_)|�v� �e)ad|���adqdq§})[Uf n e)[J��tBrUt�` n [ gBg ��`ªa�}XfOe)t g yJ|$t"[J�§fOe)tQ�)q�yU} ¤g [^{w{�[^}"�)qs[ gB¤ })[)`a¨}�yU}U_ g [^{w{"[)}Q�)qd[ g¥¤ �Ie)a g ewad|§yJqd|$[=��t g q�yU`btB�wa�}wy=]�`b[Uc^`$y8{���})adf§�ªe)a g e"ad|�e)adc^e)t�`��]�f�e)t g ��` `bt�}Uf g e�yJa�}+[J��]�`b[ g tB����`bt g yJqdqd|�v§�)a�} g t(f�e)t�{wyJa�}+]�`b[Uc^` yU{ ��})adf�ad|IyJqd��y�_)|�yNf§f�e)tªf$[^]"[N��f�e)tg e�yJa�}2yU}8_ g [^{w{"[)}w�)qd[ gB¤ ��t g q�yU`�tB�2a�}�f�e)tÏ{�yJa�}2]�`b[8c^`$yU{ g yU}+})tBrUt�`Ã��t g [^{"t���})��tO¬�})tB�Xa�}�f�e)ad|��\yM_Uv�Ä}�yJqdq5[Uf�e)t�` g yJ|$tB|�adf�ad|�]�`$�)��t�}Ufªf$[w�)|$t�� øi�^ö |$f�yJf$t�{�t�}Uf$|Mv �e)t2a�})��adr)as����yNqIadf$t�{"|=a�} g [^{w{"[^}~�)qs[ gB¤ | g yU}�})[Uf"��t�|�]Át g a�¬�tB�ha¨}hy�� øi�)ö | f�yJf$t�{"t�}8f n [^})qd_�f�e)t

g [^{w{�[^}��)qd[ gB¤ }�yU{"t�adf$|$tBq��$v� �e^�)|�×

� øi�)ö�Ü � ø^é)ö�Ü<�¾Ü S ö)é T Ü

Page 118: Professional Programmer's Guide to Fortran77 Clive G. Page

®3î ��� �è� ��� ï �g�$��^$� jUj�m

���\y g [){w{"[^}��)qs[ gB¤ ad|�|�yMrUtB��a�}�yU}8_X]�`b[Uc^`$y8{ ��})adf(fOe)t�}Xadf({"�)|$f���tw|Oy�r8tB�Xa�}�yJqdq[J��f�e)t�{ vÏ �e)t� ø|�)ö |$f�yNf$t�{"t�}8f§[^�)c^e8f�f�e)t�`btO�L[^`btªf$[w��t�a�} g q��)��tB�¾��adf�ewfOe)t ü T é^é T û y8})�XyJ|$|$[ g a�yJf$tB�+f�_�]�t�| f�yJf$t�{"t�}8f$|a�� � û:üi�d� S ö |$f�yJf t�{"t�}Uf |ÏyU`�t��)| tB�5v(����f�e)tw]�`b[Uc)`$yU{Îad|(q�yJf t�`�{"[^��a�¬�tB��| [�f�e�yJfªf�e)t g [^{w{"[^}¾�)qd[ g¥¤ as|yJqd|$["��t g q�yU`btB��a�}+f�e)t�{wyJa�}+]�`b[Uc^`$y8{!f�e)ad|���adqdq���`ba�})cwyÖ� øi�^ö |$f�yNf$t�{"t�}8f§a�}Uf [QfOe)tÏ{wyNa¨}�]�`�[Uc^`$yU{!��})adf n���)fIyJqdf�e)[)�)c^e�adf�f�e)t�}�e�yJ|I})[wtå�5t g f n adfª��[^tB|I})[�e�yU`${ v

¹ N[2n/�8rGIH�/�Gs67:72 �e)t�����{�{(_"yU`bc^��{�t�}Uf$|[J�5y�]�`b[ g tB����`�t g yU}�})[8f§��tI{"t�{"�Át�`b|§[J��y g [^{w{"[)}Q�)qd[ g¥¤ })[^` n a¨}�y��É��} g f$ad[^} ng yU} f�e)t�r@yU`�a¨y8�)qst"�Ie)a g e¾e�yJ|�|�yU{�tQ}�yU{"t(yN|�f�e)t��Ä��} g f$ad[^}>v� �e)t�`�tQyU`bt(yNqs| [2|$[){"t(`btB|$f�`�a g f as[)})|I[^} f�e)t�)|$t=[J� g [){w{"[^}��)qs[ gB¤ asf t�{"|ÏyN|Iy g f���yJqyU`bc^��{"t�}8f$|�[N� ]�`b[ g tB����`bt g yJqdqd|(��t g yU�)| t([J�zf�e)tQ]Á[U|$|$a��)adqdadf�_¾[J�{"�)qdf$a�])qst"��tO¬�})adf$ad[^}>v���[^`ÃtB¢:yU{�])qst n a���y"]�`b[ g tB����`�tQad|���tO¬�})tB�¾qda ¤ t(fOe)as|M×

� � �il[T �:ú � û^ö � � �i� � þ ø l�m �ü T é)é T û&Ü � � T ü8þ�Ü�ü T é

¦Ï})�¾f�e)t"|�yU{�t g [^{w{�[^}¾�)qs[ gB¤ ad|(yJqd|$[X�)|$tB�¾a�}¾f�e)t g yJqdqsa�})c���})adf n ��adf�e¾y g [^{w{"[^}¾�)qd[ g¥¤ asf t�{ yJ|f�e)t(y g fO��yJq�yU`bc)��{"t�}Uf n |O� g e�yJ|M×

k|l�Timpl ø^é S �:é)é �ü T é)é T û&Ü � � T ü8þ�Ü �)ø[�d�:ö

ÿ Þ^Þ)ÞüUø��i� � � �|� � þ �)ø[�d�:ö �

 �e)t�}���[UfOe�¦$Q�u!y8})��Z�Å�����adf�e)a�}�f�e)t�|�����`�[^�)f$a�})tQ�����5�p�ÎyU`bt(yJ| |$[ g a�yJf tB����adf�e+f�e)t�|�yU{�t�asf t�{ n� ¦Ï�5��� n yU})�Xadf�ad|ªf�e)t�`btO�L[^`bt�adqdqstBc)yJq�f [2yJ|$|$adc^}�y�})tB�kr@yJq��)t"f$["tBadf�e)t�`�[J�ÔfOe)t�{�v

Â'×�ÃW× �yÇ�Å'Ñ�äS�«Í7ÏÐÏÊÍ7Ñb�ydzÍgèpägàZ�[^{�{"[^}��)qd[ g¥¤ |XyU`bt¾|$[){"tBf$a�{"tB|�yJqd|$[��)|$tB�Ñf$[h`btB��� g t�f�e)t¾f$[UfOyJqIyU{"[)��}Uf+[J�Q{"t�{"[)`b_��)|$tB�k�U_Ñy]�`b[Uc)`$yU{ �U_hyU`$` yU})cUa�})c¾�L[^`"|$tBrUt�` yJq�]�`b[Uc^`$y8{ ��})adf$|2f [�|Oe�yU`bt�f�e)t�|�yU{"t�|$tBf�[J��{�t�{"[^`b_�qd[ g yJf$ad[^})|�v �e)ad|ªas|ªy"��aÜ g �)qdf(yU})�X`bad| ¤ _X]�`b[ g tB����`�t(�Ie)a g e�|�e)[^�)qd�¾})[UfI��t"yJf$f$t�{�])f$tB�X��})qdtB|$|ÏyNqsq¡tBqs| t��ÄyJadqs|Mv��[8|$f���[^`�f�`$yU} |$_^| f$t�{"|�[^]Át�`$yJf$t2y+| f$[^`$yJc8tQyJqdqd[ g yNf$ad[^}�| _^|$f t�{Ë�Ie)a g e~ad| g [^{w])qdtBf$tBqd_�| f�yJf$a g ×�t�y g e

]�`b[Uc)`$yU{Ë��})asf(e�yN|(yw|$t�]�y8`$yJf$t"yJqdqs[ g yJf$ad[^}Ê[J��{"t�{"[^`�_��L[^`�adf$|�qd[ g yJqr@yU`ba�yU�)qdtB|wyU})�¾yU`$`$yM_)|�v�����| tBrUt�`$yJq]�`b[ g tB����`btB|wt�y g e�})tBtB�hf$[¾�)|$t+q¨y8`bcUt�yU`$`$yM_)|�a¨}8f$t�`$}�yNqsqd_hf�e)t�f$[Uf�yJq�yU{"[^��}8f([N��{�t�{"[^`b_¾[ gBg ��])astB�Ñ�U_f�e)t�]�`b[Uc^` yU{�{wyM_���tX` yJf�e)t�`�q�yU`�cUtUv����Ïy�|$tBf"[J�I]�`b[ g tB����`btB| g y8}��Át�as��t�}8f$a�¬�tB���ªe)a g ehyU`bt+a�}Ur8[ ¤ tB�a�}h|$t3Ô��)t�} g t n `$yJfOe)t�`(fOe�yU}Ó[^})t g yJqdqda�})c yU})[8f�e)t�` n asf+{wyM_���t �Ðt�yJ| a¨�)qdt�f$[�`btB��� g tXf�e)t�f [Uf�yJq�{"t�{"[^`b_yJqdqd[ g yNf$ad[^}��U_�yU`$` yU})cUa�})c��L[^`Ãf�e)t�{ f$["|�e�yU`bt�y=|$f$[^` yJcUtIyU`�t�y�vg�§y g ew��asqdq��)| t�f�e)tI|OyU{"t g [^{w{"[^}+�)qd[ gB¤�L[^`�f�e)tBa�`�a�}8f$t�`$}�yJq�y8`$`$yM_w|�]�y g tUv�IyU{�tB� g [){w{"[^}¾�)qd[ gB¤ |QyU`btw`bt3Ô��)a�`btB��f$[�e�yMrUt"f�e)t"|�yU{"t"qdt�})cUf�eÊa¨}Êt�y g e¾]�`b[8c^`$yU{Ë��})adf�תa ��f�e)tB_

yU`btª�)|$tB�2adf�ad|�})t g tB|$|�yU`b_"f$[=��[^` ¤ [)�)f§�Ie)a g ew[^})t�})tBtB��|�f�e)t�{"[U|$fz|$f [^`$yJcUt�yU})��]�yJ�w[)�)f�yJqdq>f�e)t�[UfOe)t�`b|f$[�|�yU{"t+qdt�})cUf�e>v�¦Ï}hyJqdf$t�` }�yJf$adrUt+as|"f$[�f�e)t��)|$t�f�e)t+|�]�t g a�yJq��)q�yU} ¤ Õ�[^`(��}8��}�y8{"tB��Ö g [^{w{"[^}Ó�)qd[ gB¤�Ie)a g eXe�yJ|�fOe)t(�)|$tO�É�)qz]�`b[^]Át�`bfb_2fOe�yJf�asfª{wyM_�e�yMrUt(y"��a�5t�`bt�}8f�qdt�})cUf�e a¨} ��a��t�`�t�}UfI]�`�[Uc^`$yU{Î��})adf$|�v�Ä}�[)})t(]�`b[Uc^`$y8{ ��})adf n �L[^`ÃtB¢:yU{�])qst n _U[^� g [)�)qs��|�]�t g a��L_�×

ü T é)é T û&Ü^Ü S ��é^é � þ ò ô^ô)ô^ô �yU})��a�}XyU})[UfOe)t�`

Page 119: Professional Programmer's Guide to Fortran77 Clive G. Page

®3î ��� �è� ��� ï �g�$��^$� jUj�l

ü T é k �8ö|� � ö l � ö � þ ô'ò =g� ô)ò = � � � � � ü8ögþ ô'ò = � �2öi� k ö:ü8úgþ ò ô<= > �ü T é)é T û&Ü^Ü � ö l � ö � � � � � üUö���ö|� k ö�ü8ú

 �e)tÏ�)q�yU} ¤�g [^{w{�[^}2�)qd[ g¥¤ e�yJ|�fb��[([Uf�e)t�`Ã|�]Át g a�yJq�]�`b[^]Át�`bf$adtB|�vz�za�`b| f$qd_wadf g yU}�})[Uf���t�a�})adf$a�yJqdad|$tB���U_y�S ø)ú^ø | f�yJf$t�{"t�}8f�tBrUt�}���adf�e)a�}¾y�� � T ü8þ S ø^ú)ø ]�`b[Uc^`$y8{ ��})adf2ÕL���)fªf�e)ad|�ad|(})[UfIy+|$t�`bad[^�)|ªqda�{"adf�yJf$ad[^}�L[^`�yQ�)qd[ g¥¤ �)|$tB�EÁ��)| f§�L[^`Ã| g `$yNf g e�|$f$[)`$yJcUt�ÖBv�)t g [^})��qd_2adf$t�{�|���adf�e)a�}+f�e)t(�)q�yU} ¤�g [^{w{"[^}+�)qd[ gB¤ })tBrUt�`��t g [){"t���})��tO¬�})tB�kyJ|�y�`btB|��)qdf+[J�(y�]�`b[ g tB����`btXtB¢)adf�v���[^`"f�e)ad|�`bt�yJ|$[)}Óf�e)t��)q�yU} ¤Óg [^{�{"[^}h�)qd[ gB¤g yU}�})[Ufª��t(|O]�t g a�¬�tB�¾a¨}�y5� ø|�)ö | f�yJf$t�{"t�}8f�v

Â'×�ÃIÝ & H<¿�¿KH<Á�Ø<ÒdÅ]ÒpËFÏÐËFÑ�Ò¦�]�`b[Uc)`$yU{k��})adf§{wyM_ g [^}UfOyJa�}(yU}8_(}^��{"�Át�`5[J� ü T é)é T û |$f�yNf$t�{"t�}8f$| n t�y g e�[N�:�Ie)a g e g yU}���tO¬�})t g [^}8f$t�}8f$|�L[^`zyU}8_�})��{"��t�`Ã[J�>��a��5t�`bt�}8f g [){w{"[^}w�)qd[ g¥¤ |�v ü T é^é T û |$f�yJf t�{"t�}Uf |§yU`bt�|�]Át g a�¬ g yJf$ad[^}+|$f�yNf$t�{"t�}8f$|§yU})�e�yMrUt(y"cUt�})t�` yJq��Ð[^` {�×ü T é^é T û�Ü }�yU{"t Ü qdad|$fb�Ä[J���Äadf$t�{"| n Ü }�y8{"t Ü qdad|$fb�Ä[N�D�Äadf$t�{"|wv v�v�§y g e(}�yU{�t§ad|���tO¬�})tB�wyJ|zy g [^{�{"[^}(�)qd[ g¥¤ }�yU{"t n �Ie)a g e"e�yJ|¡cUqd[^��yJq)| g [^]�tUvz �e)tÃ��[^`�f�`$yU}��)f�y8})��yU`b�

yJqdqd[J��|Iadf�f$[+�)|$t"f�e)t(|�y8{"t(}�yU{"twyJ|Iy8}�a�}UfO`ba�})|$a g �É��} g f as[)} n ywqd[ g yJq�rJyU`ba�yU�)qdt n [^`�qd[ g yJqzyU`$` y�_����)f�})[Uff�e�yJf�[J��yÓ}�yU{"tB� g [^})|$f�y8}Ufw[)`wyU}ha�}8f�`ba�})|$a g �É��} g f as[)}>vÊ�§y g ehqdad|$f+[J�(adf$t�{"| g yU} g [^}8f�yJa�}h}�yU{�tB|2[J�r@y8`ba�yU�)qdtB|�y8})��yU`$`$yM_)|�vw �e)t�yU`$`$yM_X}�yU{�t2{wyM_���t"�L[Uqdqd[@��tB�h�U_�y+��a�{"t�})|$ad[^}Ó|O]�t g a�¬ g yJf$ad[^}h]�`b[Jr)ad��tB�f�e�yJfªt�y g eXyU` `$yM_�as|�[)})qs_���a�{"t�})|$ad[^})tB��[^} g t"a�}¾t�y g eX]�`�[Uc^`$yU{ ��})asfMv( �e)t g [^{w{wy�|�e)[J�I}���tO�L[^`bt"f�e)t|$t g [^})�¾yU})��|����)|$t3Ô��)t�}8fÏ�)qd[ g¥¤ ��}�yU{"t=as|ª[^])f$ad[^}�yNqÐv �e)tÏ}�y8{"t�[J�5f�e)tI�)q�yU} ¤�g [^{w{"[^}��)qs[ gB¤ ad|\})[)`${wyJqdqd_w|�]Át g a ¬�tB�¾yJ|§fb��[ g [^})|$t g �)f asr8tI|$q�yJ|Oe)tB|�ÕÐasc)})[^`��

a�})cXyU}8_�a¨}8f$t�`br8t�})a¨})cX�)q�yU} ¤ |�Ö����)fªa���adfIad|�f�e)t�¬�`b|$f��)qd[ gB¤ a�}�f�e)t"|$f�yJf t�{"t�}Uf�f�e)t�}�f�e)tw]�yJa�`�[J�§|$q�yJ|�e)tB|{wyM_2�Át([^{"adf$f tB�5v �e)t g [^}8f$t�}8f$|�[J�\y g [){w{"[^}¾�)qd[ gB¤ yU`bt2y g [)} g yJf$t�}�yJf$ad[^}Ê[J��f�e)twyJqdqÃf�e)t"��tO¬�})asf as[)})|"�Ð[)`�adf(a�}~f�e)t

]�`b[Uc)`$yU{Î��})adf�v� �e^�)|�×

ü T é)é T û&Ü T û^ö�Ühø�� � �Xü���Ü@ú ��T Ühø�� k ý^ø�� � ö)ú)ø�� m ø^é)é^øü T é)é T û&Ü@ú �[T Ü S ö��8ú^ø

��tO¬�})tB|Ifb��[w�)qs[ gB¤ | n �UÅ����§� g [)}Uf�yNa¨})|�f�e�`btBt�adf$t�{"|ª�Ie)adqdtQ�U  � Å�� g [^}8f�yJa�})|��L[^��`�[J�f�e)t�{�v�Ä}X]�`�[ g tB����`btB| n rJyU`ba�yU�)qdtB|I�ªe)a g e¾yU`bt�����{w{=_�yU`bc^��{�t�}Uf$|�[^`\�Ie)a g e�yU`bt�f�e)t=|�yU{"t(yJ|�f�e)t��É��} g f as[)}

}�yU{"t g y8}�})[UfIyU]�]Át�yU`�a�} g [^{w{"[^}+�)qd[ gB¤ |�v

Â'×�ÃIæ W�,KH"&"YSG�¾$��¾Vç�ÆpÍ'Þ�ÆpÅ'Ï ¨�Ñ�Ú�Òpà �e)t¾�)qs[ gB¤ ��yJf�yÓ]�`b[Uc)`$yU{ ��})adf+as|Xy~|�]Át g a¨yNqª�Ð[^` { [J�Q]�`b[Uc)`$yU{ ��})adf��Ie)a g ehad|X`bt3Ô��)a¨`�tB� [)})qs_Âa��(asfad|2})t g tB|$|�y8`b_�f [�|O]�t g a��Ð_ha�})adf$a�yJqªr@yJq��)tB|��Ð[)`(rJyU`ba�yU�)qdtB|�yU})� y8`$`$yM_^|"a�}h}�yU{"tB� g [){w{"[^}h�)qd[ g¥¤ |�v� �e)t]�`b[Uc)`$yU{ ��})adf(|$fOyU`bf$|ª��adf�e�y¨� � T ü8þ S ø)ú)ø |$f�yNf$t�{"t�}8f n t�})��|(��adf�e~yU} ö)û S�|$f�yJf$t�{�t�}Uf n y8})� g [^}8f�yJa�})|[^})qd_Ó|�]�t g a�¬ g yJf$ad[^}ÑyU})� S ø)ú^ø |$f�yJf t�{"t�}Uf |�v�Z�[){w{"t�}8fQqda�})tB|�yU`btXyJqd|$[�]Át�`${"adf$f$tB�5v �e)tX�)qd[ gB¤ ��yNf�y]�`b[Uc)`$yU{Î��})adfIad|�})[Uf�tB¢)t g �)f�yU�)qdtQyU})��adfªad|Ï})[Uf�yw]�`�[ g tB����`btUv �e)t(})tB¢^f�tB¢:yU{�])qst=a�})asf a¨yNqsad|$tB|�fOe)t�asf t�{"|�a�}�f�e)t g [){w{"[^}+�)qd[ gB¤ �L[^`�fOe)tÏ])qd[Uf$f a¨})c�]�y gB¤ yJc8t(�)|$tB��a�}

|$t g f$ad[^} j�o v jUn |$[=f�e�yJfÃf�e)tIa�})adf$a�yJq�]Át�}2]Á[U|$adf$ad[^}+ad|IyJfÃf�e)t�[^`�asc8a¨} n f�e)tI| g yJqda¨})c=�Äy g f$[^` |$f�yU`�f$|�yJfÃ[^})t n yU})�|$[w[)}>v§ �e)�)|Iy"|��)adf�yU�)qdt"]�`b[Uc^`$y8{ ��})adfª��[^�)qd����tU×

� � T üUþ S ø^ú)ø � ö^ú k �8úÿ � ö)ú k �8ú ò î5ò�Ù>ò@àÁâ�òUß)ã^ßÓÙUØ>ãEg�à�âMå>ã^ßÓå>ß^ãUñ&òBî�Ù8Ø>ã�Ú>âUëUÙ)Ù�ò î�è�Ú�àÁä@æ�àUè�ãzÞ

Page 120: Professional Programmer's Guide to Fortran77 Clive G. Page

®N� � ï �'���7�ª��� ± �X���$��ñ�µ���� ± ���´�¼´g� ± ����µ���� j�oUp

ü T é)é T û&Ü k � T ú�Ü Tbk ö^û)ö S � Tpl � m � û�þ,= � � k�� ü8ø[�8ö��2ûb�:é k ö)û� Tim � ü8ø[� Tbk ö)û)ö S� û)ú)ö m ö l ûb�:é k ö^ûl ö)ø�� k�� üUø��Uö�� Tpl � m � û� øi�)ö�Ü k � T ú�ÜS ø)ú)ø Tbk ö^û)ö S ÜzÞÄï)ø[� � ö�Þ Ü�� Tpl � m � û�Ü�= ÿ ôÃÞ�ôÁÜ<� k�� ü8ø[�8ö�Ü ò Þ�ôÁÜS ø)ú)ø ûb��é k ö^û�Ü�9 ò Üö^û S

¦ �)qd[ g¥¤ ��yJfOyQ��})adf g y8}+|�]�t g a��L_Xa�})adf$a�yJq�rJyJq��)tB|��L[^`�yU}8_2})��{Q�Át�`�[N�Ô}�yU{"tB� g [^{�{"[^}��)qd[ gB¤ |QÕL�)q�yU} ¤g [^{w{�[^} g yU}�})[Uf(��t�a¨})adf$a�yJqdad|$tB��ÖBv1�§y g e g [^{w{"[)}��)qd[ g¥¤ {"�)|$f(�Át g [){w])qdtBf$t2���)f(adf�ad|Q})[8f(})t g tB|$|�yU`b_f$[�|�]Át g a��Ð_¾a�})adf$a�yJq§rJyJq��)tB|(�L[^`ªyJqdqz[J��fOe)twadf$t�{"|���adf�e)a�}¾adf�vw �e)t�`�t g y8}��Át2{"[^`�tQfOe�yU}�[^})tw�)qs[ gB¤ ��yNf�y]�`b[Uc)`$yU{Î��})adf n ���)fªy"cUadrUt�} g [){w{"[^}+�)qd[ gB¤+g yU}�})[UfIy8]�]�t�yU`�a�}X{"[^`�tIf�e�y8}�[^})t�[J�zf�e)t�{�v��[^` g [^{�]�yJf$a��)adqsadfb_"��adf�e"��[^`bf�`$y8}�BpB�adf§ad|�yNqs| [(]�[U|$| a¨�)qdtªf$[�e�y�r8t�[)})t\��}8��}�y8{"tB�2�)qd[ gB¤ ��yJf�y�]�`b[8c^`$yU{

��})adfIa�}�yw]�`b[Uc^` yU{�v

f�GW:7�7G�:'\YD�uv67H��Y�1.�/3.�XM896F\'8�.'^ ¬�:cGs/�2

��� n �Ie)t�}�qda�} ¤ a�})c�y+]�`b[Uc)`$yU{ n [^})t([N�§f�e)tw{"[^���)qdtB| g [^}UfOyJa�})a¨})cXy+]�`b[ g tB����`bt"ad|(y gBg ad��t�}Uf�yNqsqd_�[){"adf$f$tB�f�e)t�qda�} ¤ t�`�ad|IyJq�{"[8|$f g t�`bf�yJa�}+f$[w]�`b[)��� g t(yU}�t�`$`b[^`�{"tB|$|OyJcUtUvz£��)f n ��})qdtB|$|IyJ����adf$ad[^}�yNq�]�`bt g yU�)f$ad[^})|ªyU`btf�y ¤ t�} n f�e)ad|=��adqsq§})[8f�[ gBg ��`ªa��Iy2�)qd[ g¥¤ ��yJfOyw|�����]�`�[Uc^`$yU{Ë��})adf(ad|�[^{"adf$f tB�5v( �e)tw]�`b[Uc^` yU{ {�y�_�tBr8t�}yU]�]Át�yU`�f$[w��[^` ¤ ��adf�e)[^�)f�adf n ���)fIad|�qda ¤ tBqd_Xf$[+]�`b[^��� g t=f�e)t��I`b[)})c2yU})|$��t�`Bv �e)t�`bt�ad|�yÊ|$a�{w])qdt���yM_�f$[¾c^��y8`b��yJc^yJa�})|$f�f�e)ad|2]�[U| |$a��)asqdadfb_�×¾fOe)t�}�yU{"t�[N�If�e)t��)qd[ g¥¤ ��yJf�y~��})asf

|�e)[^�)qd����tª|�]�t g a�¬�tB��a�}+yU} öi�)ú^ö l û)ø�� |$f�yNf$t�{"t�}8fza¨}+yJfzqdt�yJ|$f�|$[){"t�[J�>f�e)tÏ]�`�[Uc^`$yU{!��})adf$|�a�}��Ie)a g e�f�e)tg [^{w{�[^}2�)qd[ g¥¤ as|ª�)|$tB�5v§ �e)t�`btªad|�})[�e�y8`${ a¨}���t g q�yU`ba�})c+asf�a�}�yJqdq�[N��f�e)t�{�vz �e)ad|�t�})|���`�tB|�fOe�yJf�y�qda�} ¤ �f$a�{"t"`btO�Ðt�`�t�} g t(��adqdq§��t=cUt�})t�`$yJf$tB��a���yU}U_�[N�Ôf�e)tB| t([Uf�e)t�`�]�`b[Uc^`$y8{Æ��})adf$|Ïy8`btQ�)|$tB�5v� �e)t�`bt(ad|�y"|$qdadc^eUf|�}�yJc�f$[XfOe)as|"f$t g e�})a@Ô:�)t+a��ÏyU} � û�üi��� S ö |$f�yJf t�{"t�}Uf�ad|w�)|$tB�Óf$[���`�a¨})c¾f�e)t g [^{w{�[^}��)qd[ gB¤ ��tO¬�})adf$ad[^}a�}Uf [�t�y g eÓ]�`b[Uc^` yU{ ��})asf�a¨} g q��)��a�})chf�e)t��)qd[ gB¤ ��yNf�yX��})adf�vÓ�Ä}Ó[^`b��t�`=f$[¾yMrU[Uad� y�|$tBq�����`btO�Lt�`bt�} g t n f�e)ta�} g q��)��tO�L¬�qst+|�e)[^�)qd�¾})[Uf g [^}8f�yJa�}+f�e)t öi�^ú)ö l û)ø[� |$f�yJf$t�{�t�}Uf�v��tB|�])adf$t2fOe)as|=|$qdadc^eUf g [^{w])qda g yJf$ad[^} n fOe)as|"ad|Qy |$a�{w])qdt�y8})��r@yJq���yU�)qdtX]�`bt g y8�)f$ad[^}>v��LfQyNqs| [�{wy ¤ tB|�as|

]�[8|$|$a��)qdt(f$[we)[Uqd�X�)qd[ gB¤ ��yJf�y"��})adf$|�[^}�[^�iÁbt g f�qsa���`$y8`badtB|ÏyU})��`btBf�`�astBr8t�f�e)t�{ÎyU�)f$[^{wyNf$a g yJqdqs_+�Ie)t�}+f�e)tB_yU`bt(`�t3Ô:�)a�`btB� n Á��)| f�qda ¤ tQyJqdq5[UfOe)t�`�fb_:]ÁtB|�[J�z|�����]�`b[Uc^` yU{Î��})asfMv

·�� 7 È ('! É &�%)& º #¡�dc¤&�ýM¿7&�û º %)&ú� ½E& º %6� ¿7&�(��[^})t�[J�5f�e)tª�Lt�yJf���`btB| g [JrUt�`btB��e)t�`bt�|�e)[^�)qd�X�Át(�)|$tB��a�}�})tB�k|$[J�Lfb�\y8`btU×>|$[^{"tª[J��fOe)t�{ y8`bt g [){w])qdtBf$tBqd_[^�)|$[8qstBf t n [8f�e)t�`b|Qe�yMrUt+]�`$y g f$a g yJq���tO�Lt g f$|(�Ie)a g eh{wy ¤ t�f�e)t�{���})|��)adf�y8�)qst �Ð[)`��)|$t2a�}Ó��tBqdq��Ä|$f�`$� g f���`�tB�|$[J�Lfb��yU`btUv( �e)tB| t���`�astO����tB| g `�a¨])f as[)})|�y8`btw]�`b[Jr^ad��tB��[^})qd_��L[^`ªf�e)t2�Át�})tO¬�f([J��]�`b[Uc^`$y8{w{"t�`b|ª�Ie)[Xe�yMrUtf$[2��})��t�`�|$f�yU})�XyU})�¾��]���yJf t(]�`b[Uc^`$y8{"|���tB|$adc^})tB�¾a¨} t�yU`bqdadt�`�_8t�yU`b|�v

ÂFÝgÃ� Ø<ÒpÍ7ÆpÅ]Þ�Ë�Í�à©�«ß�Å)ÆbÅ)èiÒpË]Æ�Ø<ÒpÆpÚ³Ñ�Þ�àyÚ³ÑS·�Í�Ñ(e3èpß�Å'ÆpÅ'èiÒpËFÆ~B3ÒpË]ÏÊà£ÃtO�Ð[)`btIfOe)tIyJ��rUt�}8f�[J�5f�e)t g e�yU`$y g f$t�`z��yJfOy�fb_:]Át�adf��\yN|�]�[8|$|$a��)qdt�f$[(|$f [^`bt�f$tB¢)f�a�}2yU`�asfOe�{"tBf$a g rJyU`ba�yU�)qdtB|yU})��y8`$`$yM_^| n yJqdf�e)[^�)c)e¾[^})qd_�rUt�`b_¾qda�{"adf$tB��{wyU})a�]��)q�yJf$ad[^}Ó��yJ|(]Á[U|$|$a��)qdtUv¾ �e)t2})��{Q�Át�`=[J� g e�yU` y g f$t�`b|�Ie)a g e g [^�)qd���Át�|$f$[^`btB��a¨}+t�y g e�adf$t�{ �\yN|§t�}8f$a�`btBqd_2|$_)|$f$t�{Q�Ä��t�]�t�})��t�}8f�v§Å�})t�|$ad��tO�Ätå�5t g f�ad|�f�e�yJf�{�yU}U_|$_)|$f$t�{"|=|$f$adqdq�yJqdqs[J�Îf�e)t+¦Î�L[^`${wyJf���tB| g `ba�])f$[^`=f$[�{�yJf g e¾a�}�]��)f��J[^�)f�]��)f�asf t�{"|"[J�IyU`badf�e�{"tBf$a g fb_:]ÁtB|��

Page 121: Professional Programmer's Guide to Fortran77 Clive G. Page

®N� � ï �'���7�ª��� ± �X���$��ñ�µ���� ± ���´�¼´g� ± ����µ���� j�o�j

f�e)ad|+|$[^{"tBf$a�{"tB|+yJqdqs[J��|+{"ad|�{wyJf g e)tB|2�ÁtBf���tBt�}Ó��yJfOyM�Äf�`$yU})|��Ðt�`=qdad|$f$|�yU})�Ó�Ð[)`${wyJf"��tB| g `ba�])f$[)`b|wf$[�]�yN|$|��})��tBf$t g f$tB�5v

ÂFÝgÃW× JÆpÚWÒpß�ÏÊË�ÒdÚ�èC��� Ø<ÒdÅ]ÒpËFÏÐËFÑ�Ò �e)ad|ªas|ªyU}�tB¢)t g �)f�yU�)qdt(| f�yJf$t�{"t�}8f���adf�e�fOe)tª�Ð[^` {�×� ïgþ y8`badf�e�{"tBf$a g �ÄtB¢�]�`btB|$|$ad[^} � q¨y8��tBq jUn q¨y8��tBq o�n q¨y8��tBq ��LfzcUt�})t�`$yNqsqd_2]�`�[@r)ad��tB|�y�f�e�`btBtO�Ä��yM_Q��`$y8} g e�ÕL���)fÃf���[ª[J��f�e)t�q�yU�ÁtBqd|\{�y�_(�Át�ad��t�}Uf a g yNq��L[^`zyªfb��[N�Ä�\yM_

��`$yU} g e�ÖBvz �e)t�tB¢�]�`btB|$|$ad[^}"{wyM_Q�Át�yU}=a¨}8f$tBcUt�` n `bt�yJq n [^`¡��[^���)qdtO��]�`bt g ad|$ad[^}+rJyJq��)tU× g [)}Uf�`�[Uq^ad|zf�` yU})|b�Lt�`$`btB�f$[wfOe)t�|$f�yJf$t�{�t�}Uf�yJf$fOy g e)tB��f [Qq�yU�ÁtBq j a �zadf$|ªr@yJq��)t(ad|�})tBc^yJf$adrUt n q¨y8��tBq o a���?Bt�`b[ n [^`Ãq�yU��tBq ��n a��§]�[U|$adf$adrUtUv

ÂFÝgÃIÝ ¾'�$�3�<½�Á�Å'Ñ�Ù¼Å'à�à�Ú�Þ�Ñ�ËFÙ�½ H��KH�Ø�ÒpÅ]ÒpËFÏÊË]Ñ7Òpà �e)tB|$t"fb��["tB¢^t g �)f�y8�)qst�|$f�yJf$t�{�t�}Uf$|ªyU`btQ})[)`${wyJqdqd_��)|$tB�¾f$[8cUtBf�e)t�`Bv� �e)t ø �i� � m û |$f�yJf t�{"t�}UfªyJ|$|$adc^})|�y|$f�yNf$t�{"t�}8fzq¨y8��tBq�rJyJq��)tIf [(yU}"a�}Uf tBcUt�`r@yU`�a¨y8�)qstUv � e)t�}"f�e)ad|�e�yN|���tBt�}���[^})t�f�e)t�rJyU`ba�yU�)qdt�})[(qd[^})cUt�`Ãe�yJ|yU}wy8`badf�e�{"tBf$a g r@yNq¨�)tUvÃ����f�e)tªq�yU��tBq>ad|�yJf$f�y g e)tB�wf [QyU}"tB¢)t g �)f�yU�)qdt�|$fOyJf$t�{"t�}8f§f�e)t�r@yU`ba�yU�)qdt g yU}�[^})qd_2�Át�)|$tB�¾a�}�yU}¾yJ|$| asc)})tB� miT ú T+|$f�yJf t�{"t�}UfM��a��IyJf$f�y g e)tB��f$[�y ï Tbl é)ø^ú |$f�yNf$t�{"t�}8fIf�e)t"rJyU`ba�yU�)qdt g yU}�[^})qd_��t"�)|$tB�Xa�}�y�l ö)ø Sw[^`��il � ú)ö |$f�yJf t�{"t�}UfMvÔ �e)t(cUt�})t�`$yNq��L[^`${�|�[J��f�e)tB| t(|$f�yNf$t�{"t�}8f$|�yU`btU×ø �i� � m û q�yU��tBq ú T�a�}Uf tBcUt�`��Är@y8`ba�yU�)qdtm|T ú T�a¨}8f$tBcUt�`��Är@yU`ba�yU�)qdt n Õ�q�yU��tBq n q�yU��tBq n v�v�vq�yU�ÁtBq¨Ö�Ä}hfOe)t�yJ|$| asc)})tB�xmiT ú T~|$f�yJf$t�{�t�}UfwfOe)t g [^{w{wy�y8})�hf�e)tXt�}8f$a�`bt�]�y8`bt�}UfOe)tB|$ad|$tB��qdad|$f+[J�Ïq�yU�ÁtBqd|�as|

[^])f$ad[^}�yNqÐv¦I|$| asc)})tB�VmiT ú T g y8}��Át��)|$tB�Óf$[X]�`b[Jr)ad��t�y�qda�} ¤ yJcUt�f [XyU})���Ä`b[^{�y�|$t g f as[)}�[J�Iy�]�`b[Uc^`$y8{ ��})asf

y g f$a�})c2yN|IyU}+a�}Uf t�`$}�yJq5|�����`�[^�)f$a�})t n ���)f�as|�})[UfIy�rUt�`b_ g [^}Ur8t�})ast�}8f�[^`\|�yJf$ad|b�Äy g f$[^`�_w��y�_�[J�Ô��[8a¨})c+f�e)ad|�v

ÂFÝgÃIæ »s¾$#'��À�Ø<ÒdÅ]ÒpËFÏÐËFÑ�Òk øp� � ö as|ªyU}+tB¢^t g �)fOyU�)qdt(|$f�yNf$t�{"t�}8f��ªe)a g e�e�yJqdf$|�fOe)t(]�`b[Uc^`$y8{ a�}+|�� g e�y"��yM_"f�e�yJf�tB¢^t g �)f as[)} g yU}��Át`btB|���{�tB��a¨} |$[^{"t���yM_2�8_2fOe)t(�)|$t�`(Õ�[^`Ã[^}+| [^{"t�|$_)|$f$t�{"|��8_2fOe)t g [^{w]��)f$t�`�[)]�t�`$yJf [^`$ÖBvz �e)t�cUt�})t�` yJq�L[^`${"|�[J�zf�e)t�|$f�yNf$t�{"t�}8fIyU`btªad��t�}Uf$a g yJqzf [QfOe)[U|$t�[J��� ú Tbk � �L[^`�tB¢�yU{w])qdtU×

k øb� � ö � û Tb� é T ��û^úÑú)ý^öÑû)ö|�)úÑú^ø k ö �[^`

k øb� � ö ô�> A<= òk øb� � ö g yU}���tw`bt�])q�y g tB���8_�[^})tM�il � ú)ö yU})�X[)})tÖl ö)ø S�|$fOyJf$t�{"t�}8f�×Ãf�e)ad|Iad|({"[^`�t$��tB¢)a¨�)qdt�yU})�XqdtB|$|

|$_)|$f$t�{=�Ä��t�]Át�})��t�}UfMv

ÂFÝgÃPO JÇWÒdË]ÆpÑ�Å]ÒpË~¼oÀ"�$#�¼�Á �e)tXyJqdf$t�` }�yJf$t1l ö)úp� l û {"t g e�yU})ad|�{ g yU}Ó��tX�)|$tB�Âa�}Ó|�����`b[^�)f$a�})tB|�ÕÉ���)f�})[8fwtB¢^f t�`$}�yJqz�Ä��} g f$ad[^})|�Ö�f$[yU`$` yU})cUt�y"f�`$yU})|��Ðt�`�[N� g [^}8f�`b[Uq>f$[w| [^{"t�q�yU��tBqdqdtB��|$fOyJf$t�{"t�}8f�[^} g [^{w])qdtBf$ad[^} [J� y üUø��|� |$f�yJf$t�{�t�}Uf�vz��}[^`b��t�`Ãf$[w�)|$t�adf�fOe)tÏyU`�c^��{"t�}8f$|�[J��f�e)t üUø��i� |$f�yJf t�{"t�}Uf�{"�)|$f�a�} g q��)��tQy"qdad|$f�[J�q¨y8��tBqd| n t�y g e+]�`bt g tB��tB��8_(yU}(yJ| f$t�`bad| ¤ vÔ �e)tB|$t§q�yU�ÁtBqs|�yU`bt�yJf$f�y g e)tB�(f [Ï]Á[Ua�}Uf$|a�}=f�e)t g yJqdqsa�})c"]�`b[Uc^`$y8{k��})adf§yJf��ªe)a g e=tB¢^t g �)f as[)}{wyM_2`btB|O��{"tQyM�Lf$t�`Ãf�e)t üUø��|� |$f�yJf$t�{�t�}Uf�ad|ItB¢)t g �)f$tB�5vÃ��[^`ÃtB¢�yU{w])qdtU×

Page 122: Professional Programmer's Guide to Fortran77 Clive G. Page

®N� � ï �'���7�ª��� ± �X���$��ñ�µ���� ± ���´�¼´g� ± ����µ���� j�oUo

üUø��i� � ø S þ ��� � � ¢ � ÿ ò9ô ôg� ÿ =<=)ôg� ÿ A^ó)ô � �e)t g [)`$`btB|�]Á[^})��a�})c�|O����`b[^�)f$a�})t�|$f�yNf$t�{"t�}8f���adqsq�e�yMrUt2yN|$f$t�`bad| ¤ |wyJ|(����{w{=_�yU`bc)��{"t�}Uf |��L[^`�t�y g e

q�yU��tBq|�]Át g a ¬ g yNf$ad[^}>×

� � �il[T �:ú � û^ö � ø S þ$ø�� � �Xü�� ÿ � ÿ � ÿ�� �e)t�`btBf���`$}=]�[Ua�}8fz��t�]�t�})��|§[)}�f�e)t�r@yNq¨�)t�[J��yU}�a�}8f$tBcUt�`tB¢�]�`btB|$|$ad[^}=cUadrUt�}=a�}=f�e)t�l ö)úb� l û | f�yJf$t�{"t�}8f�v

 �e)�)|�×

l ö)úb� l ûL=��adqsq g yU�)|$t=tB¢^t g �)f as[)}�f$[2�ÁtQ`btB|O��{"tB�XyJf�f�e)t�| f�yJf$t�{"t�}8f�yJf$f�y g e)tB��f$[�f�e)t�|$t g [^})��q¨y8��tBqzyU`bc^��{"t�}8f n

oUoUp a�}�f�e)ad| g yJ|$tUv����If�e)t�r@yJq��)t�[J��f�e)t+a�}Uf$tBc8t�`(tB¢�]�`btB|$| as[)}�a�}~f�e)t«l ö)úp� l û |$fOyJf$t�{"t�}8f�ad|�})[8f(a�}Óf�e)t`$yU})c8t j f [�}¾Õ��Ie)t�`�t�f�e)t�`bt(yU`bt�}+q�yU��tBqyU`bc^��{"t�}8f$|�Ö [^`�yw])q�yJa�}yl ö^úb� l û |$f�yNf$t�{"t�}8f�ad|�tB¢)t g �)f$tB� n fOe)t�}tB¢)t g �)f$ad[^}X`btB|O��{"tB|ÏyNf�fOe)t�|$f�yJf$t�{�t�}UfIy@�Ðf$t�`Ãf�e)t ü8ø��|� a�}�f�e)t(�)|���yNq5��y�_Uv �e)tÏ{�t g e�yU})ad|�{ g yU}���t��)|$tB�+�L[^`Ãt�`$`b[^`���e�y8})��qsa�})c2���)f�ad|I})[Uf�rUt�`�_���tB¢^a��)qdtQyN|�a�}8�L[^`${wyNf$ad[^} g y8}�})[Uf

��t�]�yJ|$| tB��f�e�`b[^�)c)e�{"[^`bt�f�e�yU}¾[^})t+]�`b[ g tB����`�t�qstBr8tBqÐv��Lf(ad|w��tBf f$t�`�f$[¾�)|$t2yU}~a�}Uf tBcUt�`(yU`�c^��{"t�}8f�f$[`btBf���` }�y |$f�yJf��)|=r@yJq��)tXyU})�h�)|$t�f�e�yNf(��adf�eÓyU} � ï Õ�[^`�tBrUt�}hy g [){w]��)f$tB� m|T ú T�|$f�yJf t�{"t�}UfOÖ�a�}Óf�e)tg yJqdqda�})cX]�`b[Uc^`$y8{�v

ÂFÝgÃVU ÀsÁ$��¼$e Ø<ÒdÅ]ÒpËFÏÐËFÑ�Òö)û^ú l|�ª|$f�yNf$t�{"t�}8f$| g yU}=��t��)| tB�Qf [�|�]�t g a��L_QyJ����adf$ad[^}�yNq^t�}8f�`b_(]Á[Ua�}Uf$|a�}=tB¢^f$t�` }�yJqJ�Ä��} g f$ad[^})|Ôy8})�(|�����`b[)�8�f$a�})tB|�v ö)û^ú l|�=ad|§yI})[^}8�ÄtB¢)t g �)f�yU�)qdtª|$f�yJf t�{"t�}Uf�Ie)a g eQe�yN|zf�e)t�|�yU{"tÃ�L[^`${&yJ|Ôy$� � �|l�T ��ú � û)ö | f�yJf$t�{"t�}8f�v¦�} ö^û)ú l|��|$fOyJf$t�{"t�}8f§{wyM_(��t��)|$tB�2yJfzyU}8_Q]Á[Ua�}UfÃa¨}+y�]�`b[ g tB����`btI���)f�yJqdq�|�]�t g a�¬ g yJf$ad[^}�|$f�yNf$t�{"t�}8f$|§`btO�q�yJf$a�})c(f [Iadf$|z����{w{=_"yU`bc^��{"t�}8f$|§{"�)|$fzyU]�]�t�y8`a¨}�f�e)t�yU]�]�`b[^]�`ba�yJf tI])q�y g t���adf�e=f�e)t�[Uf�e)t�`|O]�t g a�¬ g yJf$ad[^}|$f�yNf$t�{"t�}8f$|�v��Ð��f�e)t�{wyJa�}+t�}8f�`b_w]�[Ua�}8f�ad|�yÖ� � �|l�T ��ú � û)ö |$fOyJf$t�{"t�}8f§f�e�y8}2yJqdq5yJqdf$t�`$}�yNf$adrUtIt�}8f�`b_w]Á[Ua�}Uf$|g yU}��Át g yJqdqdtB�¾a¨}+fOe)t(|�yU{�tI��yM_2yJ|�|O����`b[^�)f$a�})tB|���a��Ôadf�ad|�y ïp��û�üUú � T û |$fOyJf$t�{"t�}8f�f�e�yU}�yJqdq�yJqdf$t�` }�yJf$adrUtt�}8f�`b_�]Á[Ua�}Uf2}�y8{"tB| g yU}h��tX�)|$tB��yN|(�Ä��} g f$ad[^})|�vÓ���IfOe)tX{wyJa�}Ót�}UfO`b_�]�[Ua�}8fwad|2y g e�yU` y g f$t�`��É��} g f as[)}f�e)t�}ÓyJqdq�f�e)t�yNqsf t�`$}�yJf$adrUt+t�}UfO`b_�]�[Ua�}8f$|w{Q�)| f�yNqs| [�e�yMrUt+f�e�yJf(fb_�]�tUv�¦ªqdf$t�`$}�yJf asr8t�t�}Uf�`�_Ê]Á[Ua�}Uf |�{�y�_e�yMrUt���a�5t�`bt�}Uf�qdad|$f$|ª[J�§����{w{=_XyU`�c^��{"t�}8f$|���adfªas|���]�f [2f�e)t"�)|$t�`�f$[wt�})|���`bt"f�e�yNfIyJqdq�fOe)[U|$t(`btBf���` })a¨})ca�}8�Ð[)`${wyJf$ad[^}+f [wf�e)t g yJqdqda�})cX]�`b[Uc^`$y8{ y8`bt(]�`b[^]Át�`bqd_���tO¬�})tB�Ê�ÁtO�Ð[)`bt�tB¢^adf�v �e)tÏ` �)qstB|Ã�L[^`zfOe)t ö)û^ú li�Q| f�yJf$t�{"t�}8f§yU`bt�})t g tB|$|�y8`badqs_ g [^{w])qda g yJf$tB��| [(adf�as|�t�yJ| _Qf [Q{wy ¤ tI{"ad|$f�y ¤ tB|�v

�Lf�ad|=cUt�})t�`$yJqdqd_���tBf$f$t�` n [^`�yJfªqst�yN|$f(qdtB|$|(��})|�yNf$ad|b�Éy g f$[^`b_ n f$[X�)| t�y+| tBf�[J�§|$t�]�yU`$yNf$tw]�`b[ g tB����`�tB|(�Ie)a g e|�e�yU`�t�a¨}8�L[^`${�yJf$ad[^}��)|$a�})c g [^{w{"[^}��)qd[ g¥¤ |�v

ÂFÝgÃPd ÀfT0#.��)�¾J,�ÀsÁ$&�ÀJØ<ÒpÅFÒpË]ÏÊËFÑ�Òö�ù�� � �)ø��Uö)û:ü8ö ad|(y�|�]�t g a�¬ g yJf$ad[^}Ê|$f�yJf$t�{�t�}Uf��ªe)a g e g y8�)|$tB|�fb��["[^`ª{"[^`�t(adf$t�{"|wÕ�r@y8`ba�yU�)qdtB|�[^`�yU`$` y�_)|�Öf$[���tIyN|$|$[ g a¨yNf$tB�"��adf�e"t�y g e=[Uf�e)t�` n aLvÍtUvJf$[ g [^`$`�tB|�]�[^})��f$[IfOe)t�|OyU{"t�yU`bt�y�[J��{�t�{"[^`b_UvZ�e�yU`$y g f t�`5adf$t�{"|g yU}�[^})qd_(��t�yN|$|$[ g a¨yNf$tB�(��adf�e�[Uf�e)t�` g e�y8`$y g f$t�`>adf$t�{�|��J[Uf�e)t�`b��as| t§f�e)tÃ��yJf�y�fb_�]�tB|5��[�})[Uf�e�yMrUtÃf$[I{wyJf g e>v¦ª|���asfOe g [^{w{"[)}2�)qd[ g¥¤ | n e)[J��tBr8t�` n f�` yU})|b�Lt�`[J��a�}8�Ð[)`${wyJf$ad[^}�as|�[^})qd_2]Át�`${"adf$f$tB��r)a�y"yJ|$|$[ g a�yJf$tB�wadf$t�{"|a���f�e)tBa�`ª��yJfOywfb_�]�tB|({wyJf g e>vª¦ |O]�t g a�yJqztB¢ g t�])f$ad[^}¾ad|({wyJ��t=�L[^`Iy g [^{w])qdtB¢¾adf$t�{Ë�Ie)a g eXad|"yJ|$|$[ g a�yJf$tB���adf�e f���["`bt�yJq5[^})tB|Mvö:ùd� � �)ø[�8ö^û�ü8ö |$f�yJf$t�{�t�}Uf$| g y8}���t��)|$tB�¾�ÄyJa�`bqd_�|�yM�LtBqd_¾f$[X]�`b[Jr^ad��t2y |$a�{w])qdt2rJyU`ba�yU�)qdt�}�yU{"t2yJ|"yU}

yJqda�yJ|z�L[^`zy=]�yU`bf$a g �)q�yU`§y8`$`$yM_(tBqdt�{"t�}8f§[^`f [(yJ|$|$[ g a�yJf$tIy g e�yU` y g f$t�`r@y8`ba�yU�)qdtI��adf�e�yU}"yU`$`$yM_([N��f�e)t�|OyU{"tqdt�})cUf�e>vÃ��[^`ÃtB¢�yU{w])qdtU×

Page 123: Professional Programmer's Guide to Fortran77 Clive G. Page

®N� � ï �'���7�ª��� ± �X���$��ñ�µ���� ± ���´�¼´g� ± ����µ���� j�op�

üUý)ø l ø�üUú)ö lì� ú l � û m ÿ ?^ô��2ø l|l ø � þ,?^ô �bÿ òö:ùd� � �)ø[�8ö)û:ü8ö þ � ú l � û m ��ø l|l ø � �

 �e)ad|I|$qdadc^e8f$qd_�|$a�{w])qda�¬�tB|(y gBg tB|$|�f$[wy"| a¨})c8qst g e�y8`$y g f$t�`Ãa�}�f�e)t�| f�`ba�})c2yJ|�f�e)tª�L[^`${Φ$Q�Q�¦g�wÕ���Ö g yU}��t"�)|$tB�Xa�})|$f t�yJ��[J�§�� �Q��Ä�ªu2ÕW�"×���ÖBv �e)t�cUt�})t�`$yJq��Ð[^` {Î[J��f�e)t=|$f�yJf t�{"t�}Uf�ad|�×ö:ùd� � �)ø[�8ö^û�ü8ö Õr n r n v�v v�r�Ö n ÕÔr n r n v�v�vr�Ö n v�v�v�Ie)t�`bt"t�y g eXr�ad|(y+rJyU`ba�yU�)qdt n yU`$`$yM_ n yU`$`$yM_+tBqdt�{"t�}Uf n [^`�|����)|$f�`�a¨})c�vI�(��{�{(_Xy8`bc^��{"t�}8f$|ª[J��]�`b[ g tO�

����`btB|�ÕLyU})�wrJyU`ba�yU�)qdtB|��Ie)a g e+yU`bt�tB¢)f$t�`$}�yNq)�É��} g f$ad[^}+}�yU{"tB|OÖ g yU}�})[Uf�y8]�]�t�yU`Bv¦�}wyU`$` y�_"}�yU{"t���asfOe)[^�)f|����)| g `�a¨])f |Ï`btO�Lt�`b|�f [QfOe)tª¬�`b|$f�tBqdt�{"t�}8f�[J�zf�e)t(yU`$` y�_Uvz�Éf�ad|�adqsqdtBc^yNq�f$[wyJ| |$[ g a�yJf t�f���["[^`�{�[^`btªtBqst�{�t�}Uf$|[J�>f�e)t�|�yU{"t�yU`$` y�_ n ��a�`bt g f qs_"[^`a�})��a�`bt g f$qd_ n [)`��[(yU}U_)f�e)a�})c��Ie)a g e g [^}b��a g f$|���adf�e=f�e)t�|$f [^`$yJcUtÃ|$t3Ô��)t�} g t`$�)qdtB|�v � yU`ba�yU�)qdtB|"yU})��yU` `$yM_^|�a�} g [^{w{�[^}X�)qd[ g¥¤ | g yU}¾yU]�]�t�y8`ªa¨} ö�ù�� � �^ø��Uö)û�üUö |$f�yJf t�{"t�}Uf |I���)fIfOe)as|e�yJ|Ãf�e)t�tå�5t g fz[J����`ba�})cUa�})cwyJqdq�f�e)tIyJ|$| [ g a�yJf$tB��asf t�{"|�a¨}8f$[�f�e)tª�)qs[ gB¤ v§ �e)tB_ g y8}w��t��)|$tB�wf$[�tB¢)f$t�})�+f�e)tg [^}8f$t�}8f$|�[N��f�e)t��)qs[ gB¤ ��]8�\y8`b��| n |����iÁbt g fzf$[ªf�e)t�` �)qstB| �Ð[)` g [^{�{"[^}(�)qd[ g¥¤ qdt�})cUf�e n ���)f§})[8f���[J�I}8��yU`b��|�v¦Iqdf�e)[^�)c)e�f�e)t ö:ùd� � �)ø[�8ö^û�ü8ö |$f�yJf t�{"t�}Uf¡��[^tB|ze�yMrUt§y��LtB��qdtBcUadf$a�{wyJf t\�)| tB|�adfas|z�)|���yJqdqd_(t�} g [)��}Uf$t�`�tB�

a�}w]�`b[Uc)`$yU{"|�Ie)t�`bt�fOe)t\` �)qstB|Ã[J����[^`bf�` yU}"yU`bt���`b[ ¤ t�}=f$[�[)�)f�yJa�}=|$[^{"t�|�]Át g a¨yNq�tå�5t g f�vzx§`b[8c^`$yU{"|�Ie)a g e��[wf�e)ad|�yU`bt(`$y8`btBqd_�]Á[^`bf�yU�)qdtUv

ÂFÝgÃVk ØgÎ�ËFè�Úg< è~·�Å)ÏÐËFà1Í�à B9Ñ7ÒpÆpÚ�Ñ�à�Ú³èaQgé�Ñ�èiÒpÚ³Í�Ñ�à��]�t g a�¬ g }�yU{�tB|(|�e)[^�)qd���Át��)| tB��a�})|$f$t�yJ��[N��f�e)twc8t�})t�`ba g }�yU{�tQ[N��y8}Xa�}8f�`ba�})|$a g �Ä��} g f$ad[^}¾[^})qd_¾a��If�e)t}�yU{"t+ad|"f$[X��t�f�e)t+y g f���yJq�yU`bc^��{"t�}8f�[J�Ïy�]�`b[ g tB����`bt g yNqsqL�Ãf�e)t�}�yU{"twf�e)t�}Ó{"�)|$fQyNqs| [���t+��t g q�yU`btB�a�}XyU}����I �Q��Ä�ª���ÄZ&|$fOyJf$t�{"t�}8f�vz �e)tª�L[Uqdqs[J��a�})c+a�}Uf�`�a¨})| a g �Ä��} g f$ad[^})| g yU}�})[UfI�ÁtQ�)|$tB��a¨} f�e)ad|I��yM_ n yU})�f�e)tBa�`�|�]�t g a�¬ g }�yU{"tB|Iy8`bt�f�e)t�`btO�L[^`bt g [^{�])qstBf tBqs_�[)�)|$[UqdtBf$tUv

Å��)| [UqdtBf$t(|�]Át g a�¬ g }�y8{"t xÃ`btO�Ðt�` `btB��cUt�})t�`ba g �L[^`${�É�§� � n �L�(���I  ���I �§�¡Å�¦§  n ���Iu=� Q�� ¦Ï��¾¦ � pÁn ¦��¾¦ � jUn �$�¾¦ � j �¾¦ �¦��¾¦ � p�n �¾¦ � j �¾¦ � Ö����� p�n ¦£���Ä� jUn �$����� j ���Ä�¦����Ä� p�n ���Ä� j ���Ä� Ö

ÿ f�e)t��É��} g f$ad[^})|�¦£�¾¦ � p�n �¾¦ � jUn ¦����Ä� p�n y8})�«���Ä� j �Ie)a g e+e�yMrUt�y���yJf�y�fb_:]ÁtI��a�5t�`bt�}8f§�Ä`b[^{&fOe�yJf[J��fOe)tBa¨`�yU`�c^��{"t�}8f$| g yU}�[^})qd_���t�`bt�])q�y g tB���8_2yU]�]�`b[)]�`ba�yJf$tªf�_�]�t g [^}8rUt�`b|$ad[^}��Ä��} g f$ad[^})|�a¨}�yN����asf as[)}+f$[�¾¦ � [^`������(v

ÂFÝgÃ�� »s¼(�)Á$� Ø<ÒdÅ]ÒpËFÏÐËFÑ�Ò«Å'Ñ�Ùóà�Ú�ÏÊÎ�Ç�Ú=< Ë]Ù�¼�À�¾�G �e)tgkil � û)ú |$fOyJf$t�{"t�}8f g yU}�]�`b[)��� g tz�L[^`${wyJf f$tB�I[)`>qdas| fb�Ä��a�`bt g f$tB�"[^�)f�]��)f5[)}ªf�e)tz|$f�yU})��y8`b�(]�`btO� g [^}�})t g f$tB�[^�)f�]��)f\¬�qstUv� �e)�)|�f�e)tB|$t�fb��["|$f�yJf t�{"t�}Uf |\e�yMrUt�tB¢�y g f$qd_�f�e)t�|OyU{"t�tå�5t g f�×

k|l � û^úÑí8ì:Ù���ñ)àUÙ�à<9Áâ�òUßJÙ�|l � ú^ögþ ÿ ��íUì�Ù � ñ)à8Ù:à�9�â�ò8ß@Ù

 �e)t�kil � û^ú |$fOyJf$t�{"t�}8fzad|�qda�{"adf$tB��a�}�asf |z�Ä��} g f$ad[^}�yJqdadf�_+yU})��{�as| qst�yN��a¨})c n |$a�} g tIfOe)t�`bt�ad|�})[Q})t g tB|$|$adfb_�L[^`�adf$|�[^�)fO]��)f�f$[2yU]�]Át�yU`�a�}X]�`�a¨}8f$tB� �Ð[^` {�v�Ä}+y�|$a�{"adq�yU`���yM_"f�e)t�`bt�ad|�y�|$a�{w])qda�¬�tB���Ð[)`${&[J��Q��z¦ª�&|$f�yJf$t�{�t�}Uf n |$[(fOe)tB|$tIe�yMrUtªf�e)t�|�yU{�t�tå�5t g f�×

Page 124: Professional Programmer's Guide to Fortran77 Clive G. Page

®�� ��� �è� ���â�Sh1��������²ð����� ��� � ° �Y´���µ��<µ ± �¼�<� ± ��� ± µ� j�o >

l ö)ø S í8ì�Ù���ñ)à8Ù:à�9�â�ò8ß@Ùl ö)ø S þ ÿ ��í8ì:Ù � ñ^à8Ù�à<9Áâ:ò8ßJÙ

ÂFÝgÃ�Â$% À�Á�GQ�3��,oÀ�Ø�ÒpÅ]ÒpËFÏÊË]Ñ7Ò �e)t ö)û S ï � �Uö |$f�yJf$t�{�t�}UfIe�yN|�f�e)t�|�yU{�t�cUt�})t�`$yJq>�L[^`${�|\yN|£Q�� � ����� yU})��� ø�ü8þ �bk ø�ü8ö ×

ö^û S ï � �8ö�þ �:û � ú õ å^î5òMÙ��+ö lil õ âUà$h>ã^â<� � Ti� ú^ø)ú õ ò î:Ù�9�g�à)á �ö^û S ï � �8öÑå^î5òMÙ

�Lf2yU]�]Át�})��|�y�|�]Át g a�yJq2© t�})�)�L¬�qstB«h`bt g [^`��hf$[�yX| t3Ô:�)t�}8f$a�yJq�¬�qdtX�ªe)a g ehad|w��tB| asc)})tB��f$[¾f�`badcUc8t�`"f�e)tt�})�)�Ä[J���L¬�qdtQ��tBf t g f$ad[^}¾{"t g e�y8})as|O{Æ[^} |����)|$t3Ô��)t�}Ufªa�}�]��)f�vI��["�Ä��`bf�e)t�`ª`bt g [^`b��| g yU}��ÁtQ�ª`badf$f$t�}�f [wf�e)t¬�qdtQyM�Lf$t�`�fOe)as|�t�})�)�L¬�qstw`bt g [)`b� n aLvÍtUv�f�e)t"})tB¢^f�[^]�t�`$yNf$ad[^}�{"�)|$fI��t ü|� Ti� ö n l ö � � û S � [)`�� ø�ü8þ �bk ø�ü8ö v �e)t"|$f�yJf$t�{�t�}Ufª|$tBt�{"|�f$[���t"|���]Át�`����)[^�)|=[^}¾yJq�{"[U|$f�yJqdq g ��`$`bt�}8f�|$_)|$f$t�{"|ª|$a�} g twf�e)tB_ g yU}���tBf$t g f

f�e)t�t�})�"[J��yU}=a�}�]��)fz¬�qdt���adf�e)[^�)fzadf$|§yJad�5vz �e)t���[)`bf�`$yU}��)fOyU})��yU`b�w`bt3Ô��)a�`btB|zf�e�yJff�e)t�t�})�)�L¬�qdtI`bt g [^`b�w�Átf�`bt�yNf$tB�XyJ|�yw]�e8_^|$a g yJqz`bt g [^`�� n | [wf�e�yJfIy@�Ðf$t�`�yU}+t�})�)�Ä[N�D�L¬�qdt g [^})��adf$ad[^}Xe�yN|I��tBt�}���tBf$t g f$tB�Xy8}�tB¢�])qsa g adf� ø:ü8þ �bk ø:ü8ö [^]Át�`$yJf$ad[^}Òas|�`bt3Ô��)a�`btB�k��tO�L[^`bt�y8}U_h})tB� ��yNf�y�`bt g [^`���|2yU`bt¾yU]�]�t�})��tB�5vk �e)ad|�})[Uf$ad[^}Òas||$[^{�tB�Ie�yJfwyU`bf$a�¬ g a�yJqIy8})� })[UfwyJqdq�|$_)|$f$t�{�|wa�{w])qdt�{"t�}Uf+adf g [^`$`�t g f$qd_Uv� �e)ad|2ad|w[)})t�[J�ÏfOe)t+�ÐtB� g yN|$tB|�Ie)t�`bt(y���tBqsa��Át�`$yJf$t"��t�]�yU`bfO��`bt��Ä`b[^{ f�e)t���[^`bf�`$y8}2�)f�y8})��yU`b� g yU} t�}�e�yU} g tQ]Á[^`bf�yU�)adqdadfb_Uv

ÂFÝgÃ�Â7 R f�à�Í7dzË�ÒdË QgÍ7ÆpÏÊÅ]ÒRÉ�Ë]àrè�ÆbÚ³ÎgÒpÍ7Æbà �e)t=��yJf�y=��tB| g `ba�])f$[^`�S Ý�Þbñ ad|�tB¢�y g f$qd_�t3Ô��)adr@yJqdt�}8f�f$[«�z�=vÍ��[^}+a�}�]��)f���[^}+[^�)f�]��)f�adfªad|I|$a�{"adq�yU`�tB¢ g t�])ff�e�yJfªf�e)twtB¢�]�[)})t�}Uf���adqdq��)| tQfOe)tQqdtBf$f t�`$SXa�})|$f t�yJ�¾[J� ö v)Q\t�yJq�yU})�¾��[^���)qdt2]�`�t g as| as[)}���yJfOywadf$t�{"| g yU}��t"`bt�yJ��t3Ô���yJqdqd_X��tBqdq��U_1S ��ö���ï�� [^`�mw��tB| g `�a¨])f [^`b|�v �e)t"�L[^`${wyJfª��tB| g `ba�])f$[)` î:ý�ß@Ù�á�òBî�è ad|"tB¢�y g f$qd_¾t3Ô:�)adr@yNqst�}8f"f$[ � ßJÙ:á�ò î:è � ÕÐ�Ie)t�`bt2}�ad|wyU}¾��}8�

|$adc^})tB�ha�}8f$tBcUt�` g [^})|$f�y8}Uf=cUadr^a�})c�f�e)t�qdt�})cUfOe�[J�ªf�e)t2| f�`ba�})c^ÖBv � e)t�}h�)|$tB����asfOehy��L[^`${�yJf$f$tB�J�il � ú^ö|$f�yNf$t�{"t�}8f�f�e)t�|$f�`�a¨})c+ad| g [)])astB�¾f$[�f�e)t([^�)fO]��)fI`bt g [^`b�5v� �e)t î:ý �Ð[)`${Î��[)tB|Ï})[Uf�`bt3Ô��)a�`btQyU]Á[U|$f�`�[^]�e)tB|f$[2�Át���[^���)qdtB�¾��adf�e)a�}XfOe)t�|$f�`ba�})c2���)f���[)tB|�`bt3Ô:�)a�`bt"yU}�y gBg ��`$yNf$t g e�y8`$y g f$t�` g [^��}8f�v

·ú� x! � � !$#jiCk$%'&�#M('úð!ª#ª(â%'!¡% ¹ & ½M!�¿'%F¿ º # � % º #�� º ¿K�¦ªq¨{�[U|$f���tO�L[^`bt"f�e)t"[�Ü g a�yJqz�)f�yU})��yU`��ÒÕЦÏ�ª��� � � v l � j�l Ç m Ö �Ð[)`���[^`bf�`$y8}�ÇUÇwe�yJ����tBt�}���tO¬�})tB� n r@yU`bad[^�)||$[J�Lfb��yU`btI]�`b[)��� g t�`b|ª|$f�yU`�f$tB�2f [�yN���Xf�e)tBa�`�[J�I}��ÄyMrU[^��`badf$t��Ðt�yNf���`btB|�vz �e)t(�ª����t�]�yU`�f�{"t�}8f�[N����tO�Ðt�})| tad|$|��)tB�wa�} jMlUmUm y�|���]�])qdt�{"t�}8f g yNqsqdtB�1���Ä������ ��ª� j Ç Èp� |$tBf$f$a�})c�[^�)f§y�qdas| f§[J�>tB¢^f$t�})| as[)})|zf�e�yJfasf�`bt3Ô��)a¨`�tB���[)`bf�`$yU}�|$_)|$f$t�{�|(f$[�|���]�]Á[^`bf"a���f�e)tB_���t�`bt"f$[Xf t�})��t�`��L[^`ª��[U� g [^}8f�`$y g f$|�v2 �e)as|w`bt3Ô��)a�`bt�{"t�}8f"q¨yNf$t�`|�]�`bt�yN�Xf$[+[Uf�e)t�`ªyU`bt�yJ|�[J�§��tB��t�`$yNqÔu�[@r8t�`$}�{"t�}8fI]�`b[ g ��`bt�{"t�}8f n | [2f�e)tB| tQtB¢)f$t�})|$ad[^})|(y8`bt(})[J� yJq�{"[8|$f��})adrUt�`b|�yNqsqd_¾]�`b[Jr^ad��tB��y8})� g yU}X�Át(�)|$tB�X��adf�e g [^}8¬���t�} g t"��adf�e)[^�)fI`�tB��� g a¨})c�]�[)`bf�yU�)adqdadf�_Uv

ÂFægÃ� lyB�Ie�Ø(D«É~e�ÂodKO'ÝYÄ��gÒpËFÑ�à�Ú�Í7Ñ�à� é k � � ü � úÑû T û)ö 2n/3.�/3NF^JNF:]/ �e)ad|�|$f�yJf t�{"t�}Ufz|Oy�_)|zf�e�yJfÃf�e)t�`btIy8`btI})[(��tO�ÄyU�)qdf���yJf�y�f�_�]�tB|Ãa�}wf�e)ad|�]�`b[Uc)`$yU{!��})adf n |$[(fOe�yJf§yJqdq�}�yU{�tB�adf$t�{"|IÕ�rJyU`ba�yU�)qdtB| n yU`$`$yM_)| n g [^})|$fOyU}Uf | n y8})�QtB¢)f$t�`$}�yNqU�Ä��} g f$ad[^})|�Öz{"�)|$fze�yMrUt§f�e)tBa�` ��yJf�y�fb_�]�t�|�]�t g a�¬�tB�+a�}yU}+tB¢�])qda g adf+½}«4�±ª|$f�yJf$t�{�t�}Uf�vz�ÉfÏ{"�)|$fIy8]�]�t�yU`��ÁtO�Ð[)`btQyJqdqf�e)tB|$t�|�]Át g a�¬ g yJf$ad[^}¾|$fOyJf$t�{"t�}8f$|�yU})� g y8}�})[Uf��t��)|$tB��f$[UcUtBf�e)t�`¡��adf�e"yU}8_�[Uf�e)t�` � é k � � ü � ú |$f�yNf$t�{"t�}8f�a�}=f�e)t�|�yU{"t�]�`b[8c^`$yU{k��})adf�v ¦Iqdf�e)[^�)c)eQ})[Jr)a g t

Page 125: Professional Programmer's Guide to Fortran77 Clive G. Page

®N ± ñ�ñ����X�$²=h ±Qm �7²³�<�"��´Y²��5��µ�²³����²ð�Ê´m�<�M�$�<²ð����� j�oUÈ

]�`b[Uc)`$yU{w{"t�`�|�¬�})��adf�f$tB��ad[^�)|�f$[�e�yMrUt(f$[+��t g q�yU`btwt�y g e�}�yU{"tw��tO�L[^`btw�)|$a�})c�adf n ���)f�f�e)t"��t�})tO¬�f$|"yU`btg [^})|$ad��t�`$y8�)qst+a�}�fOe�yJfÏ{�as|��Ä|�]�tBqdqdtB� }�yU{�tB| g [^{"t"f$[�qdadc^eUf"{"� g e�{�[^`bt"t�yJ|$adqd_ n yU})��{"[U|$f(]�`b[N�ÐtB|$| as[)}�yJq]�`b[Uc)`$yU{w{"t�`�|§¬�})��adfIy"��[^`bf�e8�Ä�ªe)asqdt=a¨}8rUtB|$fO{"t�}UfMv

� û:üi��� S ö 23/3.�/3N]^�N]:F/ �e)t � û:üi��� S ö |$fOyJf$t�{"t�}8f�|�]Át g a ¬�tB|=f�e)tw}�yU{"t=[J��yU})[Uf�e)t�`\¬�qdt"�Ie)a g e g [^}8f�yJa�})|�|$[^{�t(|$[^��` g t g [)��tUvÏ�Éfad|({"[U|$f�[J�Ðf t�}X�)|$tB�¾f$[ g [^}8f�yJa�}Xy�|$tBfª[J�§|�]�t g a�¬ g yJf as[)}¾|$f�yJf t�{"t�}Uf |I�Ie)a g e¾yU`bt g [){w{"[^} f$[2y+}^��{"��t�`[J�§��a�5t�`bt�}8f(]�`b[Uc^`$y8{Æ��})adf$| n �L[^`�tB¢�yU{w])qdt ü T é)é T û �)qs[ gB¤ |"yU})�Xf�e)tBa�`�yJ| |$[ g a�yJf tB� ½}«]�±I| f�yJf$t�{"t�}8f$| n [^`y=qdas| f�[J� g [^{w{"[)} g [^})| f�yU}8f$|§|�� g e�yJ|&âzvz �e)tª�Ð[)`${![J�¡¬�qstO��}�y8{"t�ad| n [J� g [^��`b| t n | _^|$f t�{ ��t�]Át�})��t�}UfMv���}]�[)`bf�yU�)qdt�|$[J�Lfb��yU`bt�adf�ad|I]�` �)��t�}Uf�f$[ g e)[^[U| tÏy=|$a�{w])qdt(}�yU{"tª�Ie)a g e+as|�qsa ¤ tBqd_�f$["��t(y gBg t�])fOyU�)qdt�f$[w{"[U|$f[^]Át�`$yJf$a�})cw|$_)|$f$t�{�|�vz��[)`§tB¢�yU{w])qdtU×

� û:üi�d� S ö � Ù�á�òMè�Þ�ò î�ä �n ã�î�ñ0o)g�ãNá hÁà8Ù>òBì>ã pÝ8Ø�ãUá�ãhÙ8Ø�ãÂí�ò8â^ãAo n Ù)ÙÑÙ:á�òMè�ÞOòBî>ä�p þOë)áhì�à8ê�h>ãqo n Ù)ÙÑú l � m Þ � û�ü0p � äUëNî:Ù�à�ò î>ßÔÛn h�ãJè�ò î$o�g�ãNá h�àUÙ>òBì$p

l ö^ø�� k � �Xú �[Tbk � � l ú TbSk ø l ø)é^ö)ú^ö l þ k �Yõ AÃÞ òi>cò9ô ó<= M|ô �2ú ��Tpk �dõ =ÃÞ�ô ÿ k � � l ú TbS õ k � Ü ò ?)ôÃÞ�ô �

����|O� g e g [^})|$f�yU}8f$|zyU`btz��tO¬�})tB�"[^})qd_([)} g t n asfad|Ô{"� g e�t�yJ| ast�`f [�t�})|���`bt�f�e�yJf¡f�e)tB_(yU`bt g [^`$`bt g f�v�)a�{"adq¨y8`bqd_f�e)t"��tO¬�})adf$ad[^}~[J�\y ü T é)é T û �)qd[ g¥¤ a¨}Ê[^})qd_�[)})t�])q�y g t�t�})|���`btB|(fOe�yJfIadf$| g [)})|$ad|$f$t�} g _¾f�e�`b[^�)c)e)[^�)f�f�e)t]�`b[Uc)`$yU{�v

���^Ø us6'6)O<2 ó«Gs/�, ö)û SÊS[T �e)tÃ��[^`bfO`$yU}�ÇUÇÃ�)f�yU})��yU`b�=|$tBt�{"tB�=��tO¬ g ast�}8fza�}(]�yJa�`ba�})c � ï ��asfOe ö)û S � ï ���)fz})[Uf7S�T���asfOe ö)û S"S�T�v� �e)as|tB¢)f$t�})|$ad[^}�ad|I��ad��tBqd_�yMrJyJadq¨y8�)qstwyU})�¾e)tBq�]8�É�)qza�}�f�e�yJf�adf�yMrU[Uad��|�f�e)t"})tBtB�Xf$[2�)| tQy���a��5t�`bt�}8fª|$f�yJf$t�{�t�}Ufq�yU��tBq[^}+t�y g e+qd[^[)]>v§��[^`ÃtB¢:yU{�])qstU×

S�T ãYõ ò ��û k ú �� �:é õ � ��éì;ì��þ ���� �:é � ù õ � ��é � ù:;"��þ ���pÿiÿ =

ö)û SÐS[T

�Lf�ad|�cU[)[)�ð]�` y g f$a g t¾f$[�a�})��t�}8fXf�e)t¾qda�})tB|��ÁtBf���tBt�}Âf�e)tJS�ThyU})� ö^û S"S[TÒ|$f�yJf$t�{�t�}Uf$|�f$[ {�y ¤ t¾f�e)t`bt�]Át�yJf$tB�¾|$t g f$ad[^} [^�Ur)ad[^�)|�vª �e)tQyU]�]Át�yU`$yU} g t=[J��y�|$f�yJf$t�{�t�}Uf�q�yU�ÁtBq�a�}�|�� g e g [)��tw�)|���yJqdqd_�{wyU` ¤ |ªf�e)t��tB|$f$a�}�yJf as[)}�[J�Ôy�m|T ú Tw|$fOyJf$t�{"t�}8f n y8})�XyJqdt�`bf$|�f�e)t(]�`�[Uc^`$yU{�{"t�`zf$["|$[){"t(��}^�)|O��yJq�yJqdf$t�`$yNf$ad[^}wf [wf�e)t|$f�y8})��yU`b��|$t3Ô��)t�} g t�[J�I[)]�t�`$yJf as[)})|�v � e)t�`bt+[^})qd_�q�yU��tBqdqdtB�"S[TN�Äqd[^[^])|wyU`�t2�)|$tB� n |�� g e~tB¢ g t�])f$ad[^})|+yU`bte�yU`b��t�`\f$[w|�]Á[Uf�v

·�Å Êóý�ý«& #��Öúrk Ê s �yúð(]%¼!Nt�»]#�%F¿7úå#M('úðû¡½^��#Mû<%)úð!ª#M( �e)ad|§fOyU�)qdtI|�e)[J��|zfOe)tI}^��{"�Át�`z[J��yU`bc)��{"t�}Uf |�Ð[^`t�y g e=�Ä��} g f$ad[^}wy8})�w�Ie�yJfÃ��yJf�yªfb_:]ÁtB|�yU`�t\]Át�`${"adf$f$tB�5v �e)t���yJfOyXfb_�]�t g [)��tB|2yU`btU× � � �Ä}8f$tBcUt�` n l � Q�t�yNq n S � ��[^���)qdt�]�`bt g ad|$ad[^} n � � Z�[^{w])qdtB¢ n ü �Z�e�yU` y g f$t�` n � � �>[UcUa g yJq n�ÿ {"t�yU})|=f�e)tw`btB|��)qdfQe�yN|�f�e)tw|�yU{�tQ��yNf�ywfb_�]�t2yN|�f�e)twyU`bc^��{"t�}8f@Õ�|OÖBv(��[Uf$tf�e�yJf�a��§f�e)t�`bt�ad|�{"[^`bt�fOe�yU}+[^})t(yU`bc)��{"t�}Uf�a¨} |�� g e g yJ|$tB|�f�e)tB_X{"�)|$f�yJqdq�e�yMrUt�fOe)t(|�yU{�tI��yJfOy"fb_:]ÁtUv

Page 126: Professional Programmer's Guide to Fortran77 Clive G. Page

®N ± ñ�ñ����X�$²=h ±Qm �7²³�<�"��´Y²��5��µ�²³����²ð�Ê´m�<�M�$�<²ð����� j�o B

l õ ø ��� þ � �  �y ¤ tB|§f�e)tI{�[^���)q��)|�[J��y g [^{�])qstB¢+}^��{"��t�`�Õ�aLvÍtUv8f�e)tª|ðÔ:��y8`btO��`b[)[Uf[J�ÔfOe)t�|���{Î[J�zf�e)t�|ðÔ���yU`btB|�[N�Ôf�e)t�fb��[ g [^{w]Á[^})t�}Uf |�ÖBv

ÿxõ ø:ü T|� þ l|S � ¦Ï` g � g [8|$a�})tU��f�e)t(`�tB|��)qdfIad|�a�}�fOe)tQ`$yU})c8t p f [ ' âl õ ø � é^ø m þð� � �z¢)f�`$y g f$|¡f�e)t§a�{wyJc8a¨}�y8`b_ g [^{w]Á[^})t�}Uf[J��y g [){w])qdtB¢Q})��{Q�Át�`Bvz��| t

Q��z¦���f [QtB¢)f�`$y g f�f�e)t(`bt�yJq g [^{w]�[)})t�}Uf�vÿxõ ø^û � û)úgþ liS � Q�[^��})��|ªf$["f�e)tQ})t�yU`�tB|$f��Ie)[Uqdt(})��{"��t�`Bvÿxõ ø^ú)ø^û�=<þ liS � liS � ¦Ï` g �ÄfOyU})cUt�}8f�[N� � �vu n � � �vu q `btB| [UqdrUtB��a�}Uf$["f�e)t g [)`$`bt g f�Ô:��yN��`$yU}8f nf�e)t2`btB|��)qdf"ad|"a¨}~f�e)t2` yU})cUt % âÂf$[ ' âzv��ÉfQad|wyU}¾t�` `b[^`ªf$[¾e�y�r8t

��[Uf�e�y8`bc^��{"t�}8f$|�?Bt�`b[�vü õ üUý)ø l þ ��� Q�tBf���`$})|���fOe g e�yU` y g f$t�`Ãa�}�qd[ g yNq g e�yU`$y g f t�` g [)��t(fOyU�)qdtUv� õüUé k �b�gþ � l|S ��� � l|S � Z�[^}8rUt�`bf$|�f$[ g [^{w])qdtB¢ n | t g [^})��yU`�cQ[)])f$ad[^}�yJqLv

� õ ü T û ã m þð� � Z�[^{w]��)f$tB|�f�e)t g [^{w])qdtB¢ g [^}9Á$�)c^yJf$t�[N� y g [^{w])qdtB¢X})��{"��t�`Bvÿxõ ü Ti� þ liS � � Z�[U|$a�})t�[J�zf�e)tQy8})cUqdt�a¨}�`$yJ��a�yU})|�vS õ S|� �Uögþ � liS � � Z�[^}8rUt�`bf$|�f$["��[^���)qdtw]�`bt g ad|$ad[^}>vÿxõ S � é�þ � l|S � � liS � Q�tBf���`$})|�f�e)tw]Á[U|$adf$adrUtw��a�5t�`bt�} g tw[J� � �vu n y8})� � �vu q n aLvÍtUv>a�� � �vu n� � �vu q adfÏ`�tBf���`$})|QÕ � �vu n � � �vu q Ö n [8f�e)t�`b��ad|$t$?Bt�`b[�vS õ S|kil[TbS þ l � l � Z�[^{w]��)f$tB|�f�e)t���[^���)qdtQ]�`bt g ad|$ad[^}¾]�`b[)��� g fª[J�Ôfb��[Q`�t�yJq5r@yNq¨�)tB|Mvÿxõ ö|� k þ liS � � Q�tBf���`$})|�f�e)tªtB¢:]Á[^})t�}8f$a�yJq n aLvÍtUv)tIf$[=f�e)t�]�[J��t�`§[N��fOe)tÏyU`�c^��{"t�}8f�v

 �e)ad|Iad|�f�e)t=a�}UrUt�`�|$t�[J�zf�e)t(}�yJf���`$yNq�qd[Uc)yU`badf�e�{�v�xõÐ� ü8ý^ø l þ�ü � Q�tBf���`$})|"]�[U|$adf$ad[^}~[J��¬�`b|$f g e�yU`$y g f$t�`ª[J��f�e)tw|$fO`ba�})cXa�}�fOe)twqd[ g yJq

g e�yU` y g f$t�` g [^��t=f�yU�)qdtUv�xõÐ� û S öi�gþ�ü���ü � �)t�yU` g e)tB|�¬�`b|$f�|$f�`ba�})cÑyU})��`btBf���` })|�]�[8|$adf$ad[^}k[N�Q|$t g [^})�&|$f�`�a¨})c

��adf�e)a�}�adf n [UfOe)t�`b��ad|$tM?Bt�`�[�v�xõÐ� û)ú�þ � l|S � � Z�[^}8rUt�`bf$|�f$["a�}Uf tBcUt�`I�8_+f�`$��} g yJf$ad[^}>v�xõ �Uö)û�þOü � Q�tBf���`$})|ªqdt�})cUf�e+[J�zf�e)t g e�yU`$y g f$t�`�yU`bc^��{"t�}8f�v� õ � m ö�þOü���ü � �>tB¢^a g yJq g [^{w]�yU`�as| [^}w�)|$a�})c"¦Ï��Z���� g e�yU`$y g f$t�` g [^��tU×z`btBfO��`$})|§f�` �)t

a � � ��u n ò��S� �vu q v� õ � m ú�þOü���ü � �>tB¢^a g yJq g [^{w]�yU`�as| [^}w�)|$a�})c"¦Ï��Z���� g e�yU`$y g f$t�` g [^��tU×z`btBfO��`$})|§f�` �)ta � � ��u n òE� �vu q v� õ �|�8ö�þOü���ü � �>tB¢^a g yJq g [^{w]�yU`�as| [^}w�)|$a�})c"¦Ï��Z���� g e�yU`$y g f$t�` g [^��tU×z`btBfO��`$})|§f�` �)ta � � ��u n?w �S� �vu q v� õ �|�8ú�þOü���ü � �>tB¢^a g yJq g [^{w]�yU`�as| [^}w�)|$a�})c"¦Ï��Z���� g e�yU`$y g f$t�` g [^��tU×z`btBfO��`$})|§f�` �)ta � � ��u n?w � �vu q vÿxõ � Tim þ liS � � �>[Uc^yU`�asfOe�{Îf$[w��yJ|$t=t2Õ��Ie)t�`bt�t � o v�Ç j�m v�v v ÖBv

ÿxõ � Tim)ò ô<þ liS � �>[Uc^yU`�asfOe�{Îf$[w��yJ|$t j�p vÿxõ é^øi��þ � l|S � � liS n v v�v � Q�tBf���`$})|ªf�e)t�q�yU`bcUtB| f�[J��adf$|�yU`bc^��{�t�}Uf$|Mvÿxõ é � û�þ � l|S � � liS n v v�v � Q�tBf���`$})|ªf�e)t�|�{wyNqsqdtB|$fª[J��adf$|�yU`bc)��{"t�}Uf |�vÿxõ é TbS þ � l|S � � liS � Q�tBf���`$})| � �vu n {"[)���)qs[ � �vu q n aLvÍtUv>f�e)tw`bt�{�yJa�})��t�`�yM�Ðf t�`���adr)as��a�})c� �vu n �8_ � �vu q vl õ l ö)ø[�<þ � liS � � Z�[^}8rUt�`bf$|�f$[w`bt�yJqLvÿxõ � � m ûgþ � liS � � l|S � xt�`��Ð[)`${"||$adc^}"f�`$y8})|b�Ðt�` ×>a � � �vu q ad|§})tBc^yJf asr8t�f�e)t�`btB|��)qdf§ad| % � �vu n na � � ��u qªad|�?Bt�`b[+[^`�]�[8|$adf$adrUt(f�e)t"`btB|��)qdf�ad| � �vu n¥vÿxõ � ù l úgþ l|S � � �iÔ:��yU`�t(`b[^[8f�vÿxõ ú^ø)û�þ liS �  �yU})c8t�}Uf�[N��f�e)tQy8})cUqdt�a¨}�`$yJ��a�yU})|�v

Page 127: Professional Programmer's Guide to Fortran77 Clive G. Page

®$é ± ñ�ñ����X�$²=h ïxm ��ñ�����²�´g²ð�Y� ±ÿ� ���J��´:�£������µ�²ð�"´m���E�$��² ���£� j�o Ç

·�ê Êóý�ý«& #��Öúrk ù s � ý«&�ûgúzy5û|{ ºX� &�(Ê!Nt@}ó& #M&g¿7úðû ½ �Ö#Mû<%'úð!$#M(��]�t g a�¬ g }�yU{"tB|§yU`�t§|$f$adqdq�})tBtB��tB���Ie)t�}=f�e)tÃ�É��} g f$ad[^}�}�yU{"t�ad|§�)|$tB�wyJ|zf�e)t�y g f���yJq�yU`bc)��{"t�}Uf[J��yU})[8f�e)t�`]�`b[ g tB����`btUv§ �e)t�|�]Át g a�¬ g }�yU{�tI{"�)|$f�fOe)t�}wyJqd|$[(��t���t g q¨y8`btB�wa�}2y8} � û)ú l � û � � ü |$fOyJf$t�{"t�}8f�v5 �e)ad|§fOyU�)qdtqdad|$f$|IyJqdq>f�e)tª|�]�t g a�¬ g }�yU{"tB|��Ie)a g e�yU`btª|$f$adqdq5�)|$tO�É�)q¡a¨}+��[^`bf�` yU}�ÇUÇ�v �e)tI[8f�e)t�` �É��} g f$ad[^})|�tBasfOe)t�`���[w})[Ufe�yMrUt�cUt�})t�`ba g }�yU{"tB|�[^` g yU}�})[UfI�ÁtQ]�yJ|$| tB�XyJ|Iy g f���yNq�y8`bc^��{"t�}8f$|�v

u�t�})t�`ba g ��]Át g a�¬ g }�y8{"tB|�Iy8{"t �Ä�ª ��§uE��Q Q�� ¦Ï� �(Å��I£��7�Ñx�Q��§Z������ÄÅ�� Z�Å���xÃ�7� �¦Ï£�� �L¦�£�� ¦�£�� �I¦�£�� Z�¦�£��¦IZ�Å�� ¦IZ�Å�� �I¦ªZ�Å��¦Ï���I  ¦��Ä�ª  �(�Ä�ª ¦Ï�ª�Ä�ª  ¦��I���I  �(�I���I ¦Ï����� ¦����Ä� �I¦����Ä�¦§ 5¦�� ¦§ ¡¦Ï� �I¦§ ¡¦��¦§ 5¦�� o ¦§ ¡¦Ï� o �I¦§ ¡¦�� oZ�Å�� Z�Å�� �(Z�Å�� Z�Z�Å��Z�Å���� Z�Å���� �(Z�Å�����(��� �L�(��� �(�W� ���(���� � x � � x �M� � x Z�� � x�5Å�u ¦��5Å�u �(�5Å�u Z��¡Å�u�5Å�u jMp ¦��5Å�u jMp �(�5Å�u jMp��Ū� �ÊŪ� ¦���Ū� �$��Ū��I���I  �ª�Ä�ª  �L�(�ª�Ä�ª ���Äu=� �Ä���Äu=� ����u(� �(���Äu=����Ä� ����� �(���Ä� Z���������Ä��� �����£� �(���Ä�����Õ$Q�  ��Õ$Q  �(��Õ$Q�  Z���Õ$Q  5¦��  ¡¦Ï� �( 5¦�� 5¦����  ¡¦Ï��� �( 5¦����

· ÷ }Q{-~ ½$¿7&�&�c¤!Mûú� � & #�% º %'úð!$#��yú ûg&�#Mûg&m ûp�kï�á�ã)ã S ë�äMå^ì>ãMî:Ù�àUÙ>òJëJîÊ��ò8ä^ãMî>ß^ã

��ãUáÁß:òJëJî ò Þ ò �Xé:à)áÁä�Ø£=)ô^ô)ôü^ëNÚ:ê�á�ò�è8Ø:Ù¤þ�ü � =)ô^ô)ô ï�áÁã^ã � ëUí)Ù^Ý�à)á�ãhï�ëJå)îÁñ)à8Ù�òJëJî�� � î>äzÞ

ô óÑú�ãMì^Ú>â^ã k âNàÁä)ã�� � å�òMÙ�ãEA�A^ô�� � ëÁßJÙ:ëNî ��é)ø ô<= ò|òiò 9 ò A^ô�@ � � øö<g�ãNá8ê�ëJî>ãkòUßÓÚ>ãNáNì�òMÙ)Ù�ãUñÂÙ:ë äUëJÚ�ê�àNîÁñÑñ�òUßJÙ:á�òih^å�Ù�ãÌg�ãNá h�àUÙ>òBì&äNëNÚ5òUã)ßëUíÑÙ8Ø�ò8ßkâ�òUä)ã�î>ß)ãÒñ)ëÁä�å)ì�ãMî�Ù�� h^å�Ù!äMØÁàNî:è>ò î:è!òMÙ ò8ßhî�ëUÙkàÁâ^âUë8Ý�ãUñ§Þ

ôÃÞ k|l ö)ø^é � �8ö

ú8Ø�ãÓÚ)åÁáNÚÁëÁß)ãÒë8íkÙ8Ø�ò8ßY��ò8ä)ã�î>ß^ãkò8ß�Ù�ëhì�à8æ�ã àÒì�àJî)å�à�â<��Ù�ãJ÷^Ù)h�ë^ë8æ��Xë)ákë8ÙUØ>ãNáÝ�á�òMÙ^Ù�ãMî ñ)ëÁä�å)ì�ãMî�Ù�� í�á�ã)ã��Âò îkÙUØ>ãkß)ã�î>ß^ã�ë8íkí�á�ã)ãNñ)ëNì\Û�Ù:ëkàÁß)ß�å�á�ãÑã$g�ãUá8ê:ëNî�ãÙ8Ø�ãÑãJí^í�ã^äJÙ>ò�g�ãhí:áÁã^ãUñ)ëJìkÙ�ë&äNëNÚ�êðàNî�ñ áÁãUñ�ò8ß@Ù�á�ò�h)å:Ù�ãkò�Ù���Ý�òMÙ8Ø ë)áÑÝ>ò�Ù8Ø�ëJå�Ùì�ë^ñ�ò�í)ê>òBî�è!ò�Ù��¾ã:òMÙUØ>ãUákäUëNì^ì>ãNáÁä�ò@àÁâ^âJê ë)áÂî�ëJî>äUëJì)ì�ãUáÁä:òJà�â)âJê�Þ � ã)äUëJî�ñ^à)á�òUâJê��

Page 128: Professional Programmer's Guide to Fortran77 Clive G. Page

®�ö ���©��´gµ����E���$��� � ����� ± ��² �����7²ð�����E��� j�oUm

Ù8Ø�ò8ßY��ò8ä^ãMî>ß^ãÓÚ�á�ã)ß^ãUá)g�ã)ßhí:ë)áÂÙUØ>ã àNå:Ù8ØÁë)áÑàJî�ñÒÚ^å�h>â:ò8ß�Ø>ãUá àðÝ:à8êÑÙ:ëÑè�ãJÙäUá�ãUñ�òMÙÑí:ë)áÂÙUØ>ã�ò@áÑÝ�ë)áUæ���ÝUØ5òUâ)ãÓîÁë8Ù�h�ã�ò î:è!äUëNî�ß�ò@ñÁãUá�ãUñ�áÁã^ßMÚ�ëJî>ß:òih>â^ãhí�ë^áì�ë^ñ�ò�í>ò8äNà8Ù�òJëNî�ß~ìÁà)ñ�ãbh�ê�ë8ÙUØ>ãNáÁßzÞ

ú8Ø�ò8ßY��ò8ä^ãMî>ß^ãkò8ß àÑæ>òBî�ñÑëUíQ�NäNëNÚ:ê�â)ã@í)Ùf�c��ÝUØ5ò8ä�ØÑì>ãNàNî�ßhÙ8ØÁà8Ùkñ�ãUá�ò�g�àUÙ>òNg�ãÝ�ë^á8æ�ß�ë8íkÙ8Ø�ã�ñ)ë�äMå^ì>ãMî:ÙÂì)å�ßJÙÑÙUØ>ã�ì>ß)ã^â$g�ã)ßbh�ãhí�á�ã)ã�ò îkÙUØ>ãkßUàJì>ãÑß^ãMî�ß)ãzÞ � ÙäUëJì)Ú�â)ãMì�ãMî:Ù�ß�Ù8Ø>ã m ûb� m ãMî>ãNá)à�â k å<h>â�òUäY��òUä)ã�î>ß)ã���Ý8Ø�ò8ä�Ø ò8ß à äNëNÚ�ê�â)ã@í)Ùâ�òUä)ã�î>ß)ãÒñÁã)ß:òMèUî>ãUñ�í�ë)á�í�áÁã^ãÑßUëUí)Ù^Ý�à)á�ãzÞ

� ãhØÁà)g�ãÒñÁã)ß:òMèUî>ãUñ�Ù8Ø5òUßY��òUä)ã�î>ß)ãðò î�ë^á)ñÁãNáÑÙ�ëÒå�ß)ã�òMÙÑí:ë)áÂì�àJî)åÁàÁâ)ß í�ë)á�í�áÁã^ãßUëUí)Ù^Ý�à)á�ã<� h�ã)äNàNå>ß^ãhí�á�ã)ãÑßNë8í^Ù)Ý�à^áÁãÓî�ã)ãNñÁßhí:áÁã)ãÒñ)ëÁä�å)ì�ãMî�Ù:à8Ù�òJëNî\Û+àÑí:áÁã)ãÚ�á^ë8è:á)àNì ßMØ�ëJå>âNñ äUëJì>ãhÝ�òMÙ8ØkìÁàNî)åÁàÁâ^ß~ÚÁá)ë)g�òJñ�ò î�è Ù8Ø>ãkßNàNì>ã í�áÁã^ãUñ^ëNì>ß Ù8Ø�àUÙÑÙ8Ø�ãßUëUí)Ù^Ý�à)á�ã�ñ)ë�ã)ßÔÞ � å�ÙÑÙUØ5ò8ßx��ò8ä)ã�î>ß^ãÑòUßÒîÁë8Ù!â�òBì5ò�Ù�ãUñhÙ�ë&ßNë8í)Ù^Ý�à^áÁãÓìÁàNî)åÁàÁâ^ß ;òMÙ!äNàNî:h�ãÒå�ß)ãNñÂí�ë^áÑàNî:ê Ù�ãJ÷^Ù8å�à�âhÝ�ë^á8æ��XáÁã@è�à)á^ñÁâ^ã)ß)ß ë8í!ß�å�h���ã)ä@ÙÂì�àUÙ)Ù�ãNáÑë)áÝ8Ø�ãJÙUØ>ãUá�òMÙ!òUßÒÚ^å�h�â�ò8ß�Ø>ãNñÑàÁß�àÂÚÁá�ò î:Ù�ãNñ�h�ë^ë8æ�Þ � ã á�ã)äUëJì)ì�ãMî�ñhÙ8Ø�ò8ßx��òUä)ã�î>ß)ãÚ�á�ò î�ä�ò ÚÁàÁâ^âJê�í�ë)áÑÝ:ë)á8æ�ßhÝ8ØÁëÁß^ãÓÚ)åÁáNÚ�ë�ß)ãkòUß�ò î>ß@Ù�áJå>äJÙ�òJëJîkë^á á�ãJí�ãUáÁã�î>ä^ãzÞ

ò Þ�ø kik � � üUø � � � � ú � ø)û SxS ö)ï � û � ú � T û �

ú8Ø�ò8ßY��ò8ä^ãMî>ß^ã�àNÚ^Ú>â:ò8ã)ß Ù�ëkàNî:êÂì�àJî)å�à�â�ë)ákëUÙ8Ø>ãNáÂÝ�ë^á8æÑÙUØ�àUÙ�äNëNî:Ù�à�òBî>ß àî�ëUÙ>òUä)ãÓÚ�âUàÁä^ãUñ�h:êkÙ8Ø>ã äUëNÚ:ê�á�òMè8Ø:ÙÂØ�ë�âUñ�ãUá ßNà8ê>òBî�è!ò�Ù&äUàJîLh>ã�ñ�ò8ßJÙ:á�ò�h)å�Ù�ãUñå)îÁñÁãNáÂÙ8Ø�ãÂÙ�ãUáJì>ß�ëUíÑÙ8Ø�ò8ßx��òUä)ãMî�ß)ãÔÞ ú8Ø>ã�� S ëÁä�å)ì�ãMî�Ùf�c��h>ã^âUë8Ý��XáÁã@í�ãNáÁßhÙ:ë àJî�êßMå�äMØÑìÁàNî^å�àÁâÒë)áÑÝ�ë^á8æ�Þ ø8î:êÂì>ã�ì�h�ãUáÑëUí ÙUØ>ãhÚ)å<h>â:ò8äkòUß�à&â�ò8ä^ãMî�ß)ã)ã��XàNîÁñ&ò8ßà)ñ^ñ)á�ã)ß)ß^ãUñÑà�ß�� ê:ëNå3�¡Þø�� é:ë)ñ�ò�í>òUãUñ ��ãUá�ß�ò@ëNî(��ë8íkÙ8Ø�ã S ë�äMå)ì�ãMî:ÙÂì>ãNàNî>ßÒàNî�êkÝ:ë)á8æ�äUëNî:Ù�à�ò î5òBî�è�Ù8Ø�ãS ë�äMå^ì>ãMî:Ùkë)á à ÚÁë)áUÙ>òJëJî�ë8í ò�Ù��¾ã:òMÙ8Ø�ãUá äNëNÚ�ò8ãUñEg�ãUá$h�àUÙ>ò ì �Xë)á�Ý>òMÙUØì�ë^ñ�ò�í>ò8äNà8Ù�òJëNî�ßhàJî�ñ�ÜUë)á�Ù�á)àJî>ß^âUà8Ù�ãUñ&òBî�Ù:ëÑàNîÁë8Ù8Ø�ãUá âNàNî:è8å�àUè�ãÔÞ

ø�� � ã)äUëJî�ñ^à)á8ê � ã^äJÙ�òJëNî3�Âò8ß àÒîÁàNì�ãUñÑàJÚ)Ú>ã�î�ñ�òM÷kë^á àÑí:á)ëNî:Ù�9Jì�à8Ù^Ù�ãNáðß^ã)äJÙ�òJëJî�ë8íÙ8Ø�ã S ë�äMå^ì>ãMî:ÙÑÙ8ØÁà8Ù�ñÁãNàÁâ^ßÑãJ÷�ä)âMå�ß�ò�g�ã)â@êÂÝ�òMÙUØkÙ8Ø�ãÑá�ã)âNà8Ù>ò@ëNî�ßMØ5òBÚkëUíkÙ8Ø>ãÚ)å<h>â:ò8ßMØ�ãUá�ßhë^á àJå�ÙUØ�ë)á�ß�ë8íkÙUØ>ã S ëÁäMå^ì>ã�î�ÙÑÙ:ëÂÙ8Ø�ã S ëÁä�å)ì>ã�î�Ù � ß ë)g�ãNá)à�â)âÑß�å�h���ã)ä@ÙþOë^áÂÙ�ëká�ã)âUàUÙ�ãNñÒì�àUÙ)Ù�ãNáÁß � àNîÁñ äUëJî�Ù�à�ò î�ßÓî�ëUÙ8Ø5òBî�èÑÙUØ�àUÙ&äUëJå>âUñ�í�àÁâ^â ñ�òJá�ã)ä@Ù�âJêÝ>ò�Ù8Ø�ò îkÙUØ�à8Ùðë)g�ãNá)à�â)âÑß�å�h���ã)ä@Ù�Þ þ ï�ë^á ãJ÷:àNì^Ú>â)ã���òMíkÙUØ>ã S ëÁäMå^ì>ã�î�Ù!òUßkò îkÚ�à^á8ÙkàÙ�ã@÷)Ù�h�ë)ëUækë8í�ì�à8ÙUØ>ã�ì�à8Ù�ò8ä^ß<�Xà � ã)äNëNî�ñ^à)áUê � ã^äJÙ>ò@ëNîÑìÁà8êÂîÁë8Ù!ãJ÷UÚ>âNà�ò î àNî�êì�àUÙ8Ø�ãMì�àUÙ>òUä)ßzÞ � ú8Ø�ã�áÁã^âUà8Ù�òJëJî>ßMØ�ò Ú!äNëNå�âUñ�h�ã�àÂì�à8Ù^Ù�ãNáÑë8íÑØ5òUßJÙ:ë)á�òUäUà�âäUëJî)î�ã)äJÙ�òJëJîÑÝ�òMÙ8Ø�ÙUØ>ãÑß�å�h���ã)ä@Ùkë)áÑÝ>ò�Ù8Ø�á�ã)âNà8Ù�ãNñÒì�àUÙ)Ù�ãUáÁß��Xë)á ë8í!â)ã@è�àÁâ��äUëJì)ì�ãUáÁä:òJà�â<�wÚ)Ø5òUâUë�ßUëNÚ^Ø5òUäUàÁâ���ã@Ù8Ø�ò8äUà�â�ë)áÂÚÁëÁâ�ò�Ù>òUäUàÁâ�Ú�ë�ß�ò�Ù>òJëJî�áÁã@è�à^á)ñ�òBî�èÙ8Ø�ãMì\Þ

ú8Ø�ã�� � î�g:à)á�ò@àNî:Ù � ã^äJÙ>ò@ëNî�ß$�Óà^áÁãÑä^ãUá8Ù:à�òBî � ã^äUëNîÁñ)à^á8ê � ã)äJÙ�òJëJî>ß�Ý8Ø�ë�ß)ã�Ù>ò�Ù�â^ã)ßà)á�ã�ñÁã^ß�ò�è8î�àUÙ�ãNñ��Xà�ßbh>ã:ò î�èkÙUØ�ëÁß^ã�ë8í � î�g:à)á�òJàNî:Ù � ã^äJÙ�òJëNî�ß<��òBîkÙ8Ø�ãhî�ë8Ù�ò8ä^ãÙ8ØÁà8Ù&ßNà8ê�ßÂÙUØ�àUÙÑÙ8Ø�ã S ë�äMå)ì�ãMî:Ù!ò8ß áÁã^â)ãNàÁß)ãNñÒå)îÁñÁãNáÂÙ8Ø�ò8ßY��ò8ä)ã�î>ß^ãzÞ

ú8Ø�ã��Mü^ë)g�ãUáÂú�ãJ÷)Ù�ß$�hà)á�ãÑä)ãNá8Ù:à�ò î ßMØ�ë^á8ÙÂÚÁàÁß^ßUà8è�ã)ß�ëUíÑÙ�ã@÷)ÙkÙ8ØÁà8Ùkà^áÁãkâ�òUßJÙ�ãUñ��àÁß�ï:á)ëNî:Ù�9^ü)ë)g�ãUáhú�ã@÷)Ù�ßÒë)á � à�äJæ�9^ü)ë�g�ãUáhú�ã@÷)Ù�ß<��òBî&ÙUØ>ãÓîÁë8Ù�ò8ä)ã Ù8Ø�àUÙ!ßUà8ê�ßhÙ8ØÁà8ÙÙ8Ø�ã S ë�äMå^ì>ãMî:Ù!ò8ß á�ã)â)ãNàÁß^ãUñÒå^î�ñÁãNáÂÙ8Ø�ò8ßY��ò8ä^ãMî>ß^ãzÞ

Page 129: Professional Programmer's Guide to Fortran77 Clive G. Page

®�ö ���©��´gµ����E���$��� � ����� ± ��² �����7²ð�����E��� j�oUl

ø�� ú:á)àNî�ßMÚÁà)áÁã�î�Ùf� äNëNÚ�êðë8íkÙ8Ø�ã S ë�äMå)ì�ãMî:ÙÂì>ãNàNî>ßÒà ìÁàÁä�Ø5ò î�ã�9^áÁãUà^ñ)à$h>â)ã�äUëJÚ�ê��áÁã�Ú�á�ã)ß)ã�î�Ù�ãUñkò î àÑí�ë)áJì�àUÙÑÝ8ØÁëÁß)ã ßMÚ>ã^ä�ò�í>ò8äNà8Ù�òJëNî ò8ß à�g�à�òUâUà$h>â)ã�Ù�ëÑÙUØ>ãè�ã�î>ãNá)àÁâ�Ú)å�h�â�òUä<��ÝUØ�ëÁß^ãÑäUëJî�Ù�ãMî�Ù�ßÑäUàJî:h>ãEg�ò8ãJÝ�ãUñÑàJî�ñ ãNñ�ò�Ù�ãUñ ñ�òJá�ã)ä@Ù�âJêðàNî�ñßJÙ:á)à�òMè8Ø:Ù)í:ë)á8Ý:à)á^ñÁâJê�Ý>ò�Ù8Økè�ãMî�ãUá�òUähÙ�ã@÷)Ù&ãNñ�ò�Ù�ë)á�ß�ë)á þ$í�ë)á�ò ì�àUè�ã^ßÑäUëJì)Ú�ë�ß)ãNñÑë8íÚ5ò�÷�ã^â)ß � è�ãMî�ãUá�ò8äÓÚÁà�ò î:ÙÂÚ�á^ë8è:á)àNì�ß�ë)á þ í�ë^ákñ)á)àUÝ>òBî�è�ß � ßNëNì�ãÂÝ�òJñ�ã)âJêðà)g�à�ò8âNà h>â^ãñ)á^à8Ý�ò î�è�ãUñ�ò�Ù�ë^á��XàJî�ñÂÙUØ�à8Ù òUßÑßMå�òMÙ�à$h>â^ãhí�ë^á&ò î^Ú)å�ÙkÙ:ëÂÙ�ã@÷)ÙÑí:ë)áNìÁà8Ù^Ù�ãUá�ß�ë)áí�ë^áÑàNå:Ù�ëJì�à8Ù�ò8ähÙ:á)àJî>ß)âNà8Ù�òJëNî Ù�ëkà:g�à^á�òUãJÙ)êðë8íÑí:ë)áNìÁà8Ù�ßÑßMå�òMÙ�à$h>â^ãhí�ë^á&ò î^Ú)å�ÙÙ�ëÑÙ�ãJ÷)Ù í�ë)áJì�àUÙ)Ù�ãNáÁßÔÞ ø�äNëNÚ:êÂì�à^ñÁãkòBî!àJî ë8Ù8Ø�ãUáUÝ>ò8ß^ãÓú:á)àJî>ßMÚÁà)á�ãMî�Ù í>ò8â^ãí�ë^áNìÁà8ÙÑÝUØ�ëÁß^ãÓì�à^á8æUå)ÚÑØÁàÁßÌh>ã^ãMî�ñ�ã)ß�ò�è8î�ãUñÂÙ:ëÂÙ8Ø:Ý�à)áUÙkë)ákñ�ò8ß)äNëNåÁá)à8è�ãßMå<h>ß^ãUõNå�ãMî:ÙÒìÁë)ñ�ò�í>òUäUà8Ù�òJëJî:h�êká�ãUà^ñÁãUá�ßkò8ßhîÁë8ÙÑú:á)àNî�ßMÚÁà)áÁã�î�Ù�Þ ø�äNëNÚ:êÑÙ8ØÁà8Ù ò8ßî�ëUÙQ� ú:á)àJî>ßMÚÁà)á�ãMî�Ùf�Âò8ß äUàÁâ^â)ãNñX� T Ú�à)õJå>ã��¡Þö)÷:àNì^Ú>â)ã^ß�ë8í�ßMå5ò�Ù�à$h>â)ã í�ë)áJì�àUÙ�ßhí:ë)áÂú:á)àNî�ßMÚÁà)áÁã�î�Ù&äNëNÚ�ò8ã)ßðò î>ä^âMåÁñÁãÓÚ�âUà�òBîø � ü �|� Ý>ò�Ù8Ø�ëJå�ÙÂìÁà)áUæ8å)Ú ��ú�ã@÷>òBî�í�ë�ò î)Ú^å�ÙÑí:ë)áJì�à8Ù��R�)àUú�ãr�!ò î^Ú)å�Ù í�ë)áJì�àUÙ�� �|m é��ë)á"�^é��Òå�ß�ò î:èkàÂÚ)å<h>â�òUä)â@êkà)g:à�ò8âNà h�â)ã S ú S ��àNî�ñkßJÙ�àJî�ñ^à)á)ñ<9ÁäNëNî�í:ë)áJì5ò î:èÑß�òBì)Ú>â^ãý)ú^é��Ññ�ã)ß:òMè8î�ãUñÂí:ë)áÂØ)å^ì�àJîÑì�ë^ñ�òMí�ò8äNà8Ù>ò@ëNî\Þ T Ú�à^õNå�ãhí�ë^áNì�àUÙ�ßkòBî>ä^âMå�ñ�ãk ë�ßJÙ � äUá�ò Ú:Ù�� kiS ï���Ú�á)ëJÚ�á�ò8ãJÙ:à)áUêÂí:ë)áNìÁà8Ù�ßhÙ8ØÁà8Ù&äNàNîLh>ã�á�ãUà^ñ àJî�ñ ãNñ�ò�Ù�ãUñ ëNî>â@êh�êÑÚÁá)ëNÚÁá�òUãJÙ�à^á8ê�Ý�ë^á)ñÒÚÁá)ëÁä^ã)ß^ßUë)á�ß<� �|m é[�Ñë)á"�)é[�Âí�ë^áÂÝ8Ø�ò8ä�Ø&ÙUØ>ã S ú S àNîÁñÁÜNë)áÚ�á^ëÁä^ã)ß)ß:ò î:èÂÙ:ë)ëÁâ^ß à)áÁã�î�ë8Ùkè�ãMî>ãNá)à�â)âJê à)g:à�òUâUà h�â)ã��XàNîÁñÂÙ8Ø�ãì�à�äMØ�ò î>ã 98è�ãMî>ãNá)àUÙ�ãUñhý)ú^é��ÒÚÁá)ë^ñNå>ä^ãUñ�h:ê&ßUëJì>ã�Ý�ë^á)ñÒÚÁá)ë�ä)ã)ß^ßUë^áÁß�í�ë)ákëJå�Ù8Ú^å�ÙÚ)åÁáNÚÁëÁß)ã^ß�ëNî�âJê�Þ

ú8Ø�ã�� ú�òMÙ�â)ã k à8è�ã��~ì>ãUàJî>ß���í�ë^áÑàÂÚ�á�òBî�Ù�ãUñ�hÁë)ë8æ���Ù8Ø�ãhÙ>ò�Ù�â^ãÒÚÁà8è�ãkòMÙ�ß)ã)â@í��Ú>â�å>ßÑß�å>ä�Ø&í:ëÁâ^âUë8Ý�ò î:èÒÚÁà8è�ã^ß�àÁß à^áÁãÓî�ã)ãUñ�ãUñÑÙ�ëhØ�ëÁâNñ��¾â^ãJè�òih>â@ê���ÙUØ>ãhì�àUÙ�ãNá�òJà�âÙ8Ø�ò8ßY��ò8ä^ãMî>ß^ã�áÁãNõNå�òJáÁã^ßhÙ�ëkàJÚ)Ú>ãNà)á&òBîkÙ8Ø�ã�Ù>òMÙ�â)ãÓÚÁà8è�ãzÞ ï�ë)á�Ý�ë)áUæ�ß�ò îí�ë^áNìÁà8Ù�ß Ý8Ø5òUäMØ�ñ^ëÂî�ë8Ù�Ø�à)g�ã�àNî:êkÙ>òMÙ�â)ãÓÚÁà8è�ã�àÁßkßMå�äMØ ��� ú�òMÙ�â^ã k àUè�ã��Êì>ãNàNî>ßÙ8Ø�ãhÙ�ã@÷)ÙÑî>ãNà)áÂÙUØ>ãhì�ë�ßJÙÂÚÁá)ëJì5ò î�ãMî:ÙÑàJÚ)Ú>ãNà)á^àNî>ä^ã�ë8íkÙUØ>ãhÝ:ë)á8æ � ßhÙ�òMÙ�â)ã<�Ú�á�ã)ä^ãUñ�òBî�èÑÙUØ>ãbh�ãJè�ò î)î�ò î:èkë8íÑÙUØ>ãÌh�ë^ñ8êkëUíkÙ8Ø>ã Ù�ãJ÷^Ù�Þ

=ÃÞy�^ö li� ø)ú � é ü Tbk|� � û m� ëJåÑì�àUê!äUëNÚ:êkàNîÁñkñ�ò8ß@Ù�á�òih)å:Ù�ã�Ù8Ø�ã S ëÁä�å)ì>ã�î�Ù�ò î àNî:êÂì>ãNñ�òBå)ì���ã�òMÙUØ>ãNáäUëJì)ì�ãUáÁä:òJà�â)âJê ë)áÂîÁëNî>äNëNì^ì>ãUá�ä�ò@àÁâ)â@ê��"ÚÁá)ë)g�òJñ�ãUñÂÙUØ�à8ÙkÙUØ5ò8ßö��ò8ä^ãMî�ß)ã<��Ù8Ø>ãäUëJÚ�ê:á�òMèUØ�ÙÂîÁë8Ù�ò8ä)ã^ß<��àNîÁñðÙUØ>ãÑâ:ò8ä^ãMî>ß^ãÓî�ëUÙ>òUä)ãÑßNà8ê>òBî�èÑÙUØ5òUß"��ò8ä^ãMî>ß^ã�àNÚ^Ú>â:ò8ã)ßÙ�ëÑÙUØ>ã S ëÁäMå^ì>ã�î�Ùkà^áÁã�á�ãMÚ�á^ë)ñJå>ä)ãNñ&ò î àÁâ)âkäNëNÚ5òUã)ß��XàNîÁñÂÙ8ØÁà8ÙÑê:ëNå à)ñ^ñÒî�ëkë8ÙUØ>ãNáäUëJî�ñ�òMÙ>ò@ëNî�ßÓÝUØ�à8Ù�ßUë�ã$g�ãNáÂÙ�ëÑÙUØ�ëÁß^ã�ë8í Ù8Ø5òUßx��ò8ä^ãMî�ß)ãzÞ � ëNåkì�àUêÂî�ëUÙÑå>ß)ãÙ�ã^äMØ^î5ò8äNàÁâÓì�ãUà�ßMå�á�ã)ß�Ù�ëkë h�ßJÙ:áNå>ä@Ùkë)ákäUëNî:Ù�á^ëÁâhÙUØ>ã áÁãNà)ñ�òBî�èkë^áÂí8åÁá8ÙUØ>ãUáäUëJÚ�ê�ò î�èðë8íÑÙUØ>ãkäUëJÚ5ò8ã^ßhê�ëJåÑì�àUæ�ã ë)á ñ�ò8ß@Ù�á�òih)å:Ù�ãÔÞ ý:ë8Ý�ãtg�ãNá��2ê�ëNåkìÁà8êkà�ä)ä)ã�Ú�ÙäUëJì)Ú�ãMî>ßNà8Ù�òJëNî ò î ã@÷�äMØÁàNî:è�ãhí:ë)á äNëNÚ5òUã)ßÔÞ � íÑê�ëJå!ñ�ò8ß@Ù�á�ò�h)å:Ù�ã à âNà)áUè�ãÑã�î�ëNå:è8Øî)å^ì�h�ãUáÑëUí�äNëNÚ�ò8ã)ß ê�ëNå ì)å>ß@ÙkàÁâ^ßUëÑí�ë�â)âNë8ÝÑÙUØ>ãÑäNëNî�ñ�òMÙ�òJëNî�ßkò î ß)ã)ä@Ù>ò@ëNî£A§Þ� ëJåÑì�àUê�àÁâ)ßNë â)ã�î�ñ&äUëJÚ5òUã)ß<�wå)îÁñÁãNáðÙUØ>ãÑßNàNì�ãÑäUëJî�ñ�ò�Ù>ò@ëNî>ß ßJÙ�àUÙ�ãNñÑà hÁë)g�ã��XàNîÁñê�ëJåÑì�àUêÑÚ)å�h�â�òUä)âJêðñ�ò8ß�Ú>âNà8ê&äNëNÚ5òUã)ßÔÞ

AÃÞXü Tbki� � û m � û&ù���ø^û)ú � ú �

Page 130: Professional Programmer's Guide to Fortran77 Clive G. Page

®�ö ���©��´gµ����E���$��� � ����� ± ��² �����7²ð�����E��� j��Up

� íkê:ëNåÑÚ^å�h>â:ò8ß�ØÑÚ�á�ò î�Ù�ãUñ äNëNÚ�ò8ã)ßÒë8íÑÙUØ>ã S ë�äMå)ì�ãMî:ÙÂî)å^ì�h>ãNá�òBî�èhì�ë)á�ã�Ù8Ø�àJî ò ô^ô��àNîÁñÂÙ8Ø�ã S ëÁä�å)ì�ãMî�Ù � ß�â�òUä)ãMî�ß)ãÓîÁë8Ù�ò8ä)ãÒáÁãUõJå5ò@áÁã)ßÒü)ë)g�ãUáÂú�ãJ÷^Ù�ß<��ê�ëNåkì^å>ßJÙ�ãMî>ä^âUë�ß)ãÙ8Ø�ãÑäUëJÚ5òUã)ßkòBî äNë)g�ãUáÁß Ù8Ø�àUÙ&äUà^á)áUê��¾ä^â)ãUà^áÁâ@êkàNîÁñ â^ãJè�òih>â@ê��Xà�â)âhÙUØ>ã^ß)ã�ü^ë)g�ãNáú�ã@÷)Ù�ßzÛ+ï:á)ëNî:Ù�9^ü)ë)g�ãUáhú�ã@÷)Ù�ß ëJîkÙ8Ø�ãÂí:á)ëJî�Ù&äNë)g�ãNá��XàJî�ñ � àÁä@æ�9)ü^ë)g�ãUáÂú�ãJ÷)Ù�ß�ëNîÙ8Ø�ãbh�à�äJæ!äUë�g�ãNáÃÞ � ë8ÙUØ!äUë�g�ãNáÁßÓì^å>ßJÙðàÁâ)ßNë&ä)â)ãNà)á�âJêkàJî�ñ â^ãJè>ò�h>â@ê!òJñ�ãMî�Ù�òMí^êê�ëJå�àÁß�ÙUØ>ãÓÚ^å�h>â:ò8ß�Ø>ãUá ë8íkÙ8Ø�ã)ß)ã äUëNÚ�ò8ã^ßzÞ ú8Ø>ã í�á)ëJî�Ù&äNë)g�ãUáÒì^å>ßJÙÑÚÁáÁã)ß^ãMî:ÙÙ8Ø�ãhí8å�â)â�Ù>ò�Ù�â^ãhÝ>ò�Ù8Ø�à�â)â�Ý�ë^á)ñÁßÒë8íÑÙUØ>ã�Ù>ò�Ù�â)ã ãUõNåÁàÁâ^âJêÂÚÁá)ëNì�ò î�ãMî�ÙðàNî�ñg>òUß�ò�h>â)ãÔÞ � ëNåÑìÁà8ê�à)ñ^ñÑë8ÙUØ>ãNáÒì�àUÙ�ãUá�òJà�â�ëNî�Ù8Ø�ãÑäUë�g�ãNáÁßkòBî!à^ñ)ñ�òMÙ>ò@ëNî\Þü)ëJÚ�ê�ò î�è Ý>òMÙUØ!äMØÁàNî:è�ã)ß â�ò ì�òMÙ�ãUñÂÙ:ëðÙUØ>ãÑäNë)g�ãUáÁß��XàÁßkâNëNî�èðàÁßhÙUØ>ãJêÑÚÁáÁã)ß^ãUá�g�ãÙ8Ø�ãhÙ>ò�Ù�â^ãÑëUíÑÙ8Ø�ã S ëÁä�å)ì�ãMî�Ù àNîÁñ&ßUà8Ù�ò8ß@í)êÑÙUØ>ã)ß^ãÑäUëJî�ñ�òMÙ>ò@ëNî�ß<�XäUàNîLh�ãhÙ�á�ãUà8Ù�ãUñàÁßEg�ãUá hÁà8Ù�ò ì�äUëNÚ:ê>òBî�è!òBî!ëUÙ8Ø�ãUáÑá�ã)ßMÚ�ã)ä@Ù�ßzÞ

� íkÙUØ>ã�á�ãUõNå�òJá�ãUñÂÙ�ãJ÷)Ù�ßhí�ë^á ã�ò�Ù8Ø�ãUá äNë)g�ãNákà)áÁã Ù�ë)ë:g:ëÁâMå^ì5òBî�ëNå�ßÓÙ:ëÑí>òMÙâ)ã@è>ò�h>âJê���ê�ëJå!ßMØÁëNå�âUñÒÚ^å�ÙkÙ8Ø�ãhí>ò@áÁßJÙðëNî>ã^ßkâ�ò8ß@Ù�ãNñ¤þOà�ßÓì�àJî�êkà�ßÂí�òMÙáÁãNàÁßNëNî�à$h>â@ê � ëNî�Ù8Ø�ã�àÁä@Ù8å�à�âÑäUë�g�ãNá��XàJî�ñ&äUëJî�Ù>òBî)å�ãhÙ8Ø�ã�áÁã^ßJÙkëJî�Ù�ëkà^ñ��)à�ä)ã�î�ÙÚ�àUè�ã^ßzÞ

� íkê:ëNåÑÚ^å�h>â:ò8ß�Ø�ë)ákñ�òUßJÙ:á�òih^å�Ù�ã T Ú�à)õJå>ãÑäNëNÚ�ò8ã)ßÒë8íkÙ8Ø�ã S ë�äMå)ì�ãMî:ÙÂî)å^ì�h>ãNá�òBî�èì�ë^áÁãhÙUØ�àJî ò ô)ôg��ê�ëJåÑì)å�ßJÙ!ã�ò�Ù8Ø>ãNá&ò î�ä)â�å�ñÁãÒàÒì�à�äMØ5òBî>ã 9)áÁãNà)ñ^à h>â^ãÓú:á)àJî>ßMÚÁà)á�ãMî�ÙäUëJÚ�êkà�âUëJî�èÑÝ�òMÙ8Ø ãNàÁäMØ T Ú�à^õNå�ãÑäUëJÚ�ê�� ë)á&ßJÙ:à8Ù�ãðò î ë)áÂÝ�òMÙUØ ãNàÁä�Ø T ÚÁà)õNå�ãÑäUëJÚ�êàÂÚ)å<h>â�òUä)â@ê�9)à�ä)ä^ã)ß)ß:òih�â)ãhäUëJì)Ú^å�Ù�ãNá�9Jî>ãJÙ^Ý�ë^á8ækâUëÁäNà8Ù�òJëNî�äUëJî�Ù:à�ò î�ò î:èkà&äUëNì^Ú>â^ãJÙ�ãú�á^àNî�ßMÚ�à^áÁã�î�ÙkäUëNÚ:ê�ë8íÑÙUØ>ã S ë�äMå)ì�ãMî:Ù��2í�áÁã^ã ë8íkà^ñ)ñÁãNñÒì�àUÙ�ãNá�òJà�â<��ÝUØ5òUäMØkÙUØ>ãè�ã�î>ãNá)àÁâ�î>ãJÙ^Ý�ë^á8æ�9Jå>ß:ò î�èhÚ)å<h>â:ò8äÓØÁàÁß�à�ä)ä)ã^ß)ß�Ù�ë ñ)ë8ÝUî>âNë)à)ñ àNî�ëJî�êUì�ëNå�ß)â@êÑàUÙðîÁëäMØÁà)áUè�ãÓå�ß�ò î:èÂÚ)å<h>â:ò8ä�9�ßJÙ:àNî�ñ^à)á^ñ î�ãJÙ)Ý:ë)áUæÂÚ�á^ë8Ù�ë�äUë�â)ßzÞ � íkê�ëNå å>ß)ã�ÙUØ>ãÑâNà8Ù)Ù�ãUáëNÚ:Ù>ò@ëNî���ê�ëNå ì)å>ß@ÙkÙ�à8æ�ã�áÁãNàÁßNëNî�à$h>â@êÒÚÁáNå�ñ�ãMî:Ù&ßJÙ�ãMÚ>ß���Ý8Ø�ãMî�ê�ëJå:h>ã@è>òBîñ�òUßJÙ:á�òih^å�Ù�òJëNîðë8í T Ú�à)õJå>ãÑäNëNÚ�ò8ã)ßðò î�õJå�àNî:Ù>ò�Ù)ê���Ù�ë&ãMî�ßMå�á�ãhÙ8ØÁà8ÙÑÙUØ5òUßú�á^àNî�ßMÚ�à^áÁã�î�ÙkäUëNÚ:êkÝ>ò8â^â�áÁã�ì�à�ò îkÙUØ)å>ßÒàÁä)ä^ã)ß^ß�òih�â)ã�àUÙÑÙ8Ø�ãkßJÙ�àUÙ�ãNñ âUë�äUà8Ù�òJëJîå)î:Ù>òUâ�à8Ù!â)ãNàÁß@ÙkëNî�ãhê�ãNà)ákà8í^Ù�ãUá�Ù8Ø>ã âUàÁß@ÙkÙ>ò ì�ãhê�ëJå�ñ�òUßJÙ:á�òih^å�Ù�ã�àNî T ÚÁà)õJå>ãäUëJÚ�ê þ�ñ�ò@áÁã)ä@Ù�â@êkë)áÑÙ8ØÁá)ëJå�è8Ø ê�ëJå�ákà8è�ãMî:Ù�ß�ë^áÑáÁã@Ù�à�òUâ)ãNáÁß � ë8íÑÙUØ�à8Ù!ãNñ�òMÙ�òJëJîkÙ�ëÙ8Ø�ãÓÚ)å<h>â:ò8äzÞ� Ù òUß�áÁãNõNå>ã^ßJÙ�ãUñ��©h)å�Ù�î�ë8Ù�á�ãUõNå�òJá�ãUñ��2Ù8ØÁà8Ùkê�ëJå!äUëJî�Ù:àÁäJÙ Ù8Ø>ãÒàNå�ÙUØ�ë^áÁß�ëUí ÙUØ>ãS ë�äMå^ì>ãMî:ÙÑÝ�ã^â)âbh�ãJí:ë)áÁãÒáÁãUñ�ò8ß@Ù�á�ò�h)å:Ù>ò î:èÑàJî�ê!âUà^á8è�ãÓî)å^ì�h>ãNáÑë8í�äUëNÚ�ò8ã^ß<��Ù:ëðè�òNg�ãÙ8Ø�ãMì�à&ä�Ø�àNî�ä)ãhÙ:ëÂÚ�á)ë�g>ò@ñÁãhê:ëNåkÝ�òMÙ8Ø àNîkå)ÚÁñ)à8Ù�ãUñ�g�ãUá�ß�òJëJî�ë8í Ù8Ø>ã S ëÁäMå^ì>ã�î�Ù�Þ

> Þ�é TbS � ï � ü8ø)ú � T û �� ëJåÑì�àUê!äUëNÚ:êkàNîÁñkñ�ò8ß@Ù�á�òih)å:Ù�ã àÑé�ë)ñ�òMí�ò8ãUñY��ãUá�ß�ò@ëNî�ëUíÑÙ8Ø�ã S ëÁä�å)ì>ã�î�Ùhå)îÁñÁãUáÙ8Ø�ãÑäUëJî�ñ�òMÙ>ò@ëNî�ß�ë8í!ß)ã^äJÙ�òJëNî�ßÌ=kàJî�ñ:Akà hÁë)g�ã<�+ÚÁá)ë)g�òJñ�ãUñÂÙUØ�à8Ù ê�ëNå á�ã)â)ãNàÁß^ãÙ8Ø�ãhé�ë^ñ�ò�í>ò8ãNñL��ãNáÁß:òJëNî å)î�ñ�ãUáÒÚÁáÁã^ä�ò8ß^ã)â@êÑÙ8Ø�ò8ßY��ò8ä)ã�î>ß^ã<��Ý�òMÙ8ØðÙ8Ø>ã�é:ë)ñ�ò�í>òUãUñ��ãNáÁß:òJëNîðí>ò8â^â�òBî�èÑÙUØ>ã�á^ëÁâ)ã ëUíÑÙ8Ø�ã S ëÁä�å)ì>ã�î�Ù��+ÙUØ)å>ßkâ:ò8ä)ã�î>ß:ò î�è ñ�òUßJÙ:á�òih^å�Ù�òJëNîàNîÁñÒì�ë^ñ�ò�í>ò8äNà8Ù�òJëNî ë8íÑÙUØ>ã�é�ë^ñ�òMí�ò8ãNñö��ãUáÁß:òJëJîkÙ�ëÑÝ8ØÁëÁãtg�ãUáhÚ�ëÁß^ß)ã^ß)ß)ã^ß�à äNëNÚ�êë8í ò�Ù�Þ � î�à^ñ)ñ�ò�Ù>ò@ëNî���ê�ëNåkì^å>ßJÙðñ)ëÂÙUØ>ã)ß^ã�Ù8Ø5òBî�è�ßkò îkÙUØ>ã�é�ë^ñ�ò�í>ò8ãNñL��ãNáÁß:òJëNî\Û

ø�Þ1��ß)ãkòBî&ÙUØ>ãhú�òMÙ�â)ã k à8è�ã þ�àNî�ñ ëNîkÙUØ>ãkäUë�g�ãUá�ß<��ò�íkàNî:ê � àÂÙ�òMÙ�â^ã ñ�ò8ß@Ù>òBî>äJÙí:á)ëNìðÙ8Ø�àUÙkë8íkÙUØ>ã S ëÁäMå^ì>ã�î�Ù�� àNî�ñ�í�á)ëJì�Ù8Ø�ë�ß)ã�ëUíÂÚ�á�ã$g�òJëNå�ßÌg�ãNáÁß:òJëNî�ß

Page 131: Professional Programmer's Guide to Fortran77 Clive G. Page

®�ö ���©��´gµ����E���$��� � ����� ± ��² �����7²ð�����E��� j���j

þ$Ý8Ø5òUäMØ!ß�Ø�ëJå>âUñg��òMí Ù8Ø>ãNáÁãhÝ�ãUá�ãÑàJî�ê�� h>ãkâ�òUßJÙ�ãUñ&òBîkÙ8Ø�ãÂý�ò8ß@Ù�ë)áUê&ß)ã^äJÙ�òJëNîëUíÑÙ8Ø�ã S ëÁä�å)ì>ã�î�Ù � Þ � ëJåÑì�àUêÑå>ß)ã Ù8Ø>ãkßNàNì>ã Ù>òMÙ�â)ã�à�ß à ÚÁáÁãtg>òJëJå>ßþg�ãNáÁß�ò@ëNîò�íÑÙ8Ø�ãÑë^á�ò�è>ò îÁàÁâ�Ú)å<h>â�òUßMØ�ãUáÑëUí ÙUØ�àUÙ:g�ãNáÁß�ò@ëNîkè�òNg�ã)ßÓÚ�ãUáNì�ò8ß^ß�òJëJî�Þ

� ÞR��ò8ßJÙðëNîkÙUØ>ã�ú>ò�Ù�â)ã k à8è�ã<�Xà�ß àNå�ÙUØ�ë^áÁß<� ëNî>ãÒë)áÂì�ë^áÁãÓÚ�ãUáÁßNëNî�ß�ë)á&ãMî:Ù>ò�Ù>ò8ã^ßá�ã)ßMÚÁëNî�ß�òih�â)ã�í�ë^áÑàNå:Ù8Ø�ë^áÁß�Ø5ò Ú ë8íÑÙUØ>ãhì�ë^ñ�òMí�ò8äNà8Ù>ò@ëNî�ßÑòBî&ÙUØ>ãhé:ë)ñ�òMí>òUãUñ��ãUáÁß:òJëJî��2Ù�ë8è�ãJÙUØ>ãUá�Ý>òMÙUØ�à8Ù!â^ãUàÁß@ÙÑí>ò�g�ã ë8í Ù8Ø>ãhÚÁá�ò î�ä�òBÚ�àÁâ àNå:Ù8ØÁë)áÁßÒë8íkÙ8Ø�ãS ëÁäMå^ì>ã�î�Ù þOàÁâ^â ë8í!ò�Ù�ßhÚ�á�ò î>ä:ò ÚÁàÁâ àNå�ÙUØ�ë^áÁß<�ÊòMí òMÙÂØÁàÁßkâ)ã^ß)ßhÙUØ�àJîkí>ò�g�ã � Þ

üÃÞ � Ù�à8Ù�ã�ëNîðÙ8Ø>ã�ú�òMÙ�â^ãÓÚ�àUè�ãhÙUØ>ãhî�àJì>ã�ëUíkÙ8Ø>ã�Ú)å�h�â�òUßMØ>ãNáÑë8í Ù8Ø>ãé:ë)ñ�ò�í>òUãUñ ��ãUá�ß�ò@ëNî�� àÁß�Ù8Ø�ãÓÚ)å<h>â�òUßMØ�ãUáÃÞ

S Þ k áÁã)ß^ãUá�g�ã àÁâ)â�ÙUØ>ãÑäNëNÚ�ê:á�ò�è8Ø�Ù�î�ë8Ù�ò8ä^ã)ß�ëUíÑÙ8Ø�ã S ëÁä�å)ì>ã�î�Ù�Þö�Þ�ø:ñ)ñÑàJî!àJÚ)ÚÁá)ëNÚÁá�ò@à8Ù�ã�äUëJÚ�ê:á�òMèUØ�ÙÂîÁë8Ù�ò8ä)ã í�ë)á�ê�ëNåÁáÒì�ë^ñ�ò�í>ò8äNà8Ù�òJëNî�ß

à^ñ��)à�ä)ã�î�Ù�Ù�ëÑÙ8Ø�ã�ë8ÙUØ>ãUá&äNëNÚ�ê:á�ò�è8Ø�Ùhî�ëUÙ>òUä)ã)ßÔÞï�Þ � î>ä)â�å�ñ�ã<��ò ì)ì�ãUñ�òJà8Ù�ã)â@êkà8í^Ù�ãUá�Ù8Ø>ã äUëNÚ:ê�á�òMè8Ø:ÙÂî�ëUÙ>òUä)ã)ß��Xà â:ò8ä)ã�î>ß^ãÓî�ëUÙ>ò8ä^ã

è�òNg>òBî�èÑÙUØ>ãÓÚ^å�h�â�ò8ä�Ú>ãUáJì5òUß)ß�ò@ëNîkÙ:ëÒå>ß^ã�Ù8Ø>ã é�ë)ñ�òMí�ò8ãUñY��ãUá�ß�ò@ëNîÑå^î�ñÁãNáÂÙ8Ø�ãÙ�ãUáNì�ß�ë8í Ù8Ø5òUßx��ò8ä^ãMî�ß)ã<��ò î�ÙUØ>ãhí:ë)áNì ß�Ø�ë8ÝUî ò î�ÙUØ>ãhø:ñ)ñÁã�î�ñJå)ì:h�ã)âUëUÝ�Þ

m Þ k áÁã)ß^ãUá�g�ã ò î�Ù8ØÁà8Ù&â:ò8ä)ã�î>ß^ãÓî�ëUÙ>ò8ä^ãhÙ8Ø�ã�í8å>â^âÑâ�òUßJÙ�ß�ë8í � î�g�à^á�òJàJî�Ù � ã^äJÙ>ò@ëNî�ßàJî�ñÑá�ãUõNå�òJá�ãUñÑü^ë)g�ãNáÂú�ã@÷)Ù�ßhè>ò�g�ãMî�ò î�Ù8Ø�ã S ë�äMå)ì�ãMî:Ù � ß â�ò8ä^ãMî�ß)ãÓîÁë8Ù>òUä)ãÔÞ

ý�Þ � î>ä)â�å�ñ�ãhàJî å^î�à�âJÙ�ãNáÁãNñ äUëJÚ�êkëUí ÙUØ5òUßY��òUä)ãMî�ß)ãÔÞ� Þ k áÁã)ß^ãUá�g�ã�Ù8Ø>ãkß^ã)äJÙ�òJëJî!ãMî:Ù>òMÙ�â)ãNñ�Bý>ò8ß@Ù�ë^á8ê/�'�XàNîÁñ&òMÙ�ß�Ù>òMÙ�â)ã��XàNîÁñÑà)ñ^ñðÙ:ë

ò�ÙkàNî òMÙ�ãMì!ß@Ù�àUÙ>ò î:èkà8Ù!â^ãUàÁß@ÙÑÙ8Ø�ãhÙ>ò�Ù�â^ã<��ê�ãUà)ág�+î>ã@Ý�àNå�ÙUØ�ë^áÁß<� àNî�ñÚ^å�h>â:ò8ß�Ø>ãUá�ë8íkÙUØ>ãhé:ë)ñ�ò�í>òUãUñL��ãUáÁß:òJëJî�àÁß�è>ò�g�ã�î�ëNîkÙUØ>ã�ú>ò�Ù�â^ã k àUè�ãzÞ � íÙUØ>ãUá�ãkò8ß�î�ë&ß)ã^äJÙ>ò@ëNî!ã�î�Ù�òMÙ�â^ãUñX�Bý>òUßJÙ�ë^á8êf�ÒòBî&ÙUØ>ã S ëÁä�å)ì>ã�î�Ù��¾äUá�ãUà8Ù�ã�ëNî�ãß@Ù�à8Ù�ò î:èÂÙUØ>ã�Ù>ò�Ù�â)ã���ê�ãNà)ág�XàNå:Ù8Ø�ë^áÁß��XàNîÁñÒÚ)å<h>â�òUßMØ�ãUáÑëUí ÙUØ>ã S ëÁä�å)ì>ã�î�Ùkà�ßè�òNg�ã�î�ëNî�òMÙ�ß�ú�òMÙ�â^ã k àUè�ã���Ù8Ø�ãMî�à^ñ)ñkàNî òMÙ�ãMì�ñ�ã)ß^äUá�ò�h5òBî�è�Ù8Ø>ã�é:ë)ñ�ò�í>òUãUñ��ãUáÁß:òJëJîkà�ß ß@Ù�àUÙ�ãUñ�ò î�Ù8Ø�ãÓÚ�á�ã$g>ò@ëNå�ßÑß)ã�î�Ù�ã�î>ä^ãzÞã Þ k áÁã)ß^ãUá�g�ã�Ù8Ø>ãhî�ãJÙ)Ý:ë)áUæ&âUë�äUà8Ù�òJëJî���òMí�àNî:ê���è�òNg�ã�î ò î�ÙUØ>ã S ëÁäMå^ì>ã�î�ÙÑí:ë)áÚ^å�h>â:ò8ä�à�ä)ä^ã)ß)ß Ù�ëÑàÑú�á^àNî�ßMÚ�à^áÁã�î�ÙkäUëNÚ:ê�ë8íÑÙUØ>ã S ë�äMå)ì�ãMî:Ù���àNî�ñ&â:òMæ�ã@Ý>òUß)ãÙUØ>ãÓî�ãJÙ)Ý:ë)áUæ&âUë�äUà8Ù�òJëJî>ßhè�òNg�ã�î ò îðÙ8Ø>ã S ëÁäMå^ì>ã�î�ÙÑí:ë)áÒÚÁáÁã$g�òJëJå>ßÌg�ãUáÁß:òJëJî>ßò�ÙÑÝ�à�ß�hÁàÁß^ãUñÑëJî�Þ ú8Ø>ã^ß)ãÓìÁà8ê:h>ã�Ú>âUà�ä)ãNñ&ò î�Ù8Ø�ã�� ý�ò8ß@Ù�ë)áUê/�Òß^ã)ä@Ù>òJëJî�Þ� ëNåÑìÁà8êkëJì5òMÙ�àÂî>ã@Ù)Ý:ë)á8ækâUë�äUàUÙ>òJëJîkí�ë^ákàÂÝ�ë^á8ækÙ8ØÁà8ÙÑÝ:àÁßÓÚ^å�h>â:ò8ß�Ø>ãUñ à8Ùâ^ãUàÁß@ÙÑí�ëJå�áÂê�ãUà^áÁßbh�ãJí�ë^áÁãhÙUØ>ã S ë�äMå^ì>ãMî:Ù!òMÙ�ß)ã^âJí���ë)á!ò�í ÙUØ>ã�ë^á�ò�è>ò îÁàÁâÚ^å�h>â:ò8ß�Ø>ãUá�ë8íkÙUØ>ãÌg�ãUáÁß:òJëJî òMÙ�áÁã@í�ãNáÁßhÙ:ëÂè>ò�g�ã)ßhÚ�ãUáNì�ò8ß^ß�òJëJî�Þ

þ�Þ � î�àNî:ê�ß^ã)ä@Ù>òJëJî!ãMî:Ù>ò�Ù�â)ãNñ�Bø�ä@æ8î�ëUÝ�â^ãUñ8è�ãMì�ãMî�Ù�ß$��ë)áX� S ãNñ�ò8äNà8Ù�òJëNî�ß$�'�ÚÁáÁã)ß^ãUá�g�ã�Ù8Ø>ãkß^ã)äJÙ�òJëJî � ß�Ù>ò�Ù�â^ã<�XàJî�ñÂÚ�á�ã)ß)ãNá)g�ãkò îkÙUØ>ãkß)ã^äJÙ�òJëNî àÁâ)â Ù8Ø>ãß�å�h>ß@Ù�àJî>ä)ã àNîÁñÑÙ�ëNî�ã�ë8í!ãNàÁäMØ ë8íÑÙUØ>ãkäUëJî�Ù�á�òih^å�Ù�ë^áÂà�äJæUî�ë8Ý�â)ãNñ8è�ã�ì>ã�î�Ù�ßàJî�ñÁÜNë)áÑñ�ãUñ�ò8äUàUÙ>ò@ëNî>ß�è>ò�g�ã�îkÙ8Ø�ãUáÁã:ò î\Þ

�ÃÞ k áÁã)ß^ãUá�g�ã àÁâ)â�ÙUØ>ã � î�g�à^á�ò@àNî�Ù � ã)ä@Ù>ò@ëNî>ßÒë8íÑÙUØ>ã S ë�äMå)ì�ãMî:Ù��å^î�àÁâ@Ù�ãNáÁãUñkò î�ÙUØ>ã�ò@áÂÙ�ã@÷)ÙkàJî�ñ!ò îðÙ8Ø>ã:òJáÑÙ>ò�Ù�â^ã)ßzÞ � ã)ä@Ù>òJëJîÑî)å^ì�h�ãUáÁßë^áÂÙ8Ø�ã ãNõNå�òNg�à�â)ã�î�Ù à)áÁãhîÁë8Ù&äNëNî>ß:òJñ�ãUáÁãNñÒÚ�à^á8ÙkëUíÑÙ8Ø�ãkß)ã)ä@Ù>ò@ëNîkÙ�òMÙ�â^ã)ßÔÞ

é�Þ S ã)â)ã@Ù�ã�àJî�ê&ß^ã)ä@Ù>òJëJî!ãMî:Ù>ò�Ù�â)ãNñX� öUî�ñ^ë)áÁß^ãMì�ãMî�Ù�ß$�5Þ � å�äMØ à ß^ã)äJÙ�òJëJîìÁà8êÂîÁë8Ù�h�ã&òBî>ä^âMå�ñ�ãUñ&òBîkÙ8Ø�ã�é�ë)ñ�òMí�ò8ãUñY��ãUá�ß�ò@ëNî�Þ

û�Þ S ëÒî�ëUÙ&á�ãJÙ�òMÙ�â^ã�àNî:ê&ãJ÷�ò8ß@Ù>ò î:è&ß)ã^äJÙ�òJëNî àÁß��Bö8î�ñ^ë)á�ß)ãMì�ãMî:Ù�ß$�ë^áÂÙ�ë&äUëJî�í�â�ò8ä@Ù!ò îðÙ>òMÙ�â)ãhÝ�òMÙUØ!àJî�ê � î�g:à)á�ò@àNî:Ù � ã^äJÙ>ò@ëNî\Þ

� íkÙUØ>ãhé:ë)ñ�ò�í>òUãUñL��ãUáÁß:òJëJî ò î�ä)âMåÁñÁã^ß~î�ãJÝkí�á^ëNî�Ù�9NìÁà8Ù)Ù�ãUáÑß)ã^äJÙ>ò@ëNî�ß�ë)áàNÚ^Ú>ã�î�ñ�òUä)ã^ßÓÙUØ�à8Ù�õJå�àÁâ:òMí^êkàÁß � ã)äNëNî�ñ^à)áUê � ã^äJÙ>ò@ëNî�ß�àNîÁñ äUëJî�Ù�à�ò îÑîÁëÂì�à8Ù�ãUá�òJàÁâäUëJÚ5òUãUñÂí:á)ëNìðÙ8Ø>ã S ëÁäMå^ì>ã�î�Ù��2ê�ëJåkì�à8êðà8Ùkê�ëJå�áÑëJÚ�Ù>ò@ëNî�ñ�ã)ß:òMè8îÁà8Ù�ãÑßUëJì>ã�ë^á à�â)âë8íkÙUØ>ã)ß^ãÑß)ã^äJÙ�òJëNî�ß�àÁßðò î�g:à)á�òJàNî:Ù�Þ ú:ë ñ^ëÑÙ8Ø5òUß<�Xà^ñ)ñÂÙUØ>ã:òJáÂÙ�òMÙ�â^ã)ß�Ù�ë�Ù8Ø>ã

Page 132: Professional Programmer's Guide to Fortran77 Clive G. Page

®�ö ���©��´gµ����E���$��� � ����� ± ��² �����7²ð�����E��� j��Uo

â�òUßJÙkëUí � î�g:à)á�òJàNî:Ù � ã^äJÙ�òJëNî�ßÑòBî�Ù8Ø>ã é�ë)ñ�òMí�ò8ãUñY��ãUá�ß�ò@ëNî � ßÑâ�òUä)ã�î>ß)ã�î�ë8Ù�ò8ä^ãzÞú8Ø�ã)ß^ãhÙ>ò�Ù�â)ã^ßÓì)å�ßJÙ:h>ãÒñ�ò8ß@Ù>òBî>äJÙ í�á)ëJì�àNî:ê�ë8Ù8Ø�ãUá ß^ã)ä@Ù>òJëJîkÙ>ò�Ù�â^ã)ßzÞ

� ëJåÑì�àUê�à)ñ)ñ à ß^ã)ä@Ù>òJëJî!ãMî:Ù>ò�Ù�â)ãNñX� öUî�ñ^ë)áÁß^ãMì�ãMî�Ù�ß$�'��ÚÁá)ë)g�òJñ�ãUñkòMÙ!äUëJî�Ù�à�ò î�ßî�ëUÙ8Ø�ò î�èEh)å�Ù�ãMî�ñ^ë)á�ß)ãMì�ãMî:Ù�ß�ëUíÑê�ëJå�áÂé:ë)ñ�ò�í>òUãUñL��ãUáÁß:òJëJî:h�êLg�à^á�ò@ëNå>ßÚ�à^á8Ù�ò8ã)ß 9�9Uí�ë)áÑãJ÷:àNì^Ú>â)ã��¾ßJÙ:à8Ù�ãMì>ã�î�Ù�ßhëUíðÚ�ã)ãNáÑáÁãtg>ò8ã@Ýkë)áÑÙUØ�à8Ù Ù8Ø>ã�Ù�ãJ÷)Ù�Ø�àÁßh>ã^ãMî�àJÚ)ÚÁá)ë)g�ãUñ�h:ê�àNî�ë^á8è�àJî5ò�ÿ�à8Ù�òJëJîkà�ßÂÙUØ>ã àNå:Ù8ØÁë)á�ò�Ù�àUÙ>òNg�ãhñ�ãJí�ò î5ò�Ù>ò@ëNîðë8í�àßJÙ:àNîÁñ)à)á^ñÃÞ

� ëJåÑì�àUê�à)ñ)ñ à ÚÁàÁß^ßUà8è�ã�ë8íÑå^ÚkÙ�ëÑí>ò�g�ãhÝ:ë)á^ñÁß�à�ßÑàÑï:á)ëNî:Ù�9^ü)ë)g�ãUáhú�ã@÷)Ù�� àNî�ñkàÚ�à�ß)ßNà8è�ãÒë8íÂå^Ú&Ù:ëL= ô Ý:ë)á)ñ�ß�àÁß à � à�äJæ�9)ü)ë�g�ãNáÒú�ãJ÷)Ù���Ù�ëÑÙUØ>ãÑã�î�ñkë8íkÙ8Ø�ãÑâ�òUßJÙë8í�ü^ë)g�ãNáÂú�ã@÷)Ù�ßkò î�Ù8Ø�ãhé�ë^ñ�ò�í>ò8ãNñL��ãNáÁß:òJëNî\Þ T î�âJê�ëNî�ãÓÚ�à�ß)ßUàUè�ã�ëUíï�á^ëNî:Ù�9)ü^ë)g�ãUáhú�ãJ÷^Ù�àNî�ñ ëNî>ã ëUí � à�äJæ�9^ü)ë�g�ãUá�ú�ãJ÷^ÙÂì�àUê�h>ã à^ñ)ñÁãNñ�h�êãþ�ë)áÙ8ØÁá)ëJå�è8Ø à)á)á^àNî:è�ãMì�ãMî:Ù�ß�ì�à)ñ�ãbh�ê � àNî�êðëNî>ãkã�î�Ù>ò�Ù)ê�Þ � íÑÙ8Ø�ã S ëÁä�å)ì>ã�î�Ù àÁâNáÁãUà^ñ8êò î�ä)â�å�ñÁã^ß�à äNë)g�ãNáÑÙ�ãJ÷^ÙÑí�ë^áÂÙ8Ø�ãkßUàNì�ãÑäUë�g�ãNá��+ÚÁáÁã$g�òJëJå>ß)â@êkà)ñ^ñÁãNñ�h�êkê�ëJå�ë)áh�ê�à^á)á)àJî�è�ãMì>ã�î�Ùhì�à^ñÁãbh:ê ÙUØ>ãÑßNàNì�ã ã�î�Ù�òMÙ)ê ê�ëNå à)áÁã à�äJÙ>òBî�èkëJî:h>ã�Ø�à�âJíkëUí��ê�ëJåÑì�àUêÑî�ë8Ùðà)ñ)ñkàJî�ë8ÙUØ>ãNá ; h^å�ÙÑê:ëNåÑìÁà8ê�áÁã�Ú>âUà�ä)ãhÙUØ>ã�ë�âUñkëNî�ã<�XëJî ãJ÷8Ú�â�òUä�òMÙÚ>ãNáNì�ò8ß)ß:òJëJîÑí:á)ëNì�ÙUØ>ãÓÚÁáÁã$g�òJëJå>ßÓÚ^å�h>â:ò8ß�Ø>ãUá�Ù8Ø�àUÙkà)ñ^ñÁãNñÂÙ8Ø�ãÑë�âUñÑëJî>ãÔÞ

ú8Ø�ã�àNå:Ù8ØÁë)á<þBß � àJî�ñÂÚ)å<h>â:ò8ßMØ�ãUá�þ ß � ë8í Ù8Ø>ã S ëÁäMå^ì>ã�î�Ùkñ^ëÒî�ëUÙìh:êÑÙ8Ø�ò8ßx��òUä)ã�î>ß)ãè>ò�g�ãÓÚ�ãUáJì5ò8ß^ß�ò@ëNîkÙ:ëÒå>ß^ãÂÙUØ>ã:òJáÒîÁàNì>ã^ßhí�ë^áÂÚ)å�h�â�òUä�òMÙ^êÂí:ë)ákë)á�Ù�ëkàÁß^ß)ãUáUÙkë)áò ì^Ú>â@ê&ãMîÁñ)ë)á�ß)ã�ì>ãMî:Ùkë8íðàNî�êké:ë)ñ�ò�í>òUãUñ ��ãUá�ß�ò@ëNî�Þ

ô ÞXü T é � � û � û m S�T üd�:é)ö)û^ú �

� ëJåÑì�àUê!äUëNì<h5òBî>ãhÙUØ>ã S ëÁäMå^ì>ã�î�ÙÑÝ�òMÙ8Ø ë8Ù8Ø�ãUákñ)ë�äMå^ì>ãMî:Ù�ß áÁã^â)ãUà�ß)ãNñÒå)îÁñÁãUá�Ù8Ø5òUß��òUä)ã�î>ß)ã��+å)îÁñÁãNáÂÙ8Ø�ãhÙ�ãNáNì>ß ñ�ãJí>òBî>ãNñ òBî ß^ã)ä@Ù>òJëJî > à hÁë)g�ã í�ë)áhì�ë)ñ�òMí�ò8ãUñg�ãNáÁß:òJëNî�ß<�+ÚÁá)ë�g>òJñ�ãUñhÙ8ØÁà8Ùkê�ëJå ò î�ä)âMåÁñÁãkòBî�Ù8Ø>ã äUëNì<h5òBî�à8Ù�òJëJîkà�â)â ë8íkÙ8Ø�ã� î�g�à^á�òJàJî�Ù � ã)ä@Ù>òJëJî>ß ë8í�àÁâ^â�ë8íkÙUØ>ã�ë^á�òMè�ò îÁàÁâ�ñ^ëÁäMå^ì>ã�î�Ù�ß��+å)î^ì�ë^ñ�òMí�ò8ãNñ���àNî�ñâ�òUßJÙÑÙUØ>ã�ì!à�â)â�à�ß � î�g:à)á�òJàNî:Ù � ã)ä@Ù>òJëJî>ß�ëUíkê�ëNåÁá äUëJì�h�ò î>ãNñÂÝ�ë^á8æ!òBî òMÙ�ßâ�òUä)ã�î>ß)ã�î�ë8Ù�ò8ä^ãzÞ

ú8Ø�ãÑäUëJì�h�ò î>ãNñÂÝ�ë^á8æÑî>ã^ãUñÑëJî>â@ê&äUëJî�Ù�à�ò î�ëJî>ãkäUëJÚ�êkëUíÑÙ8Ø�ò8ßx��òUä)ã�î>ß)ã��XàNîÁñì)å�âJÙ�ò Ú>â^ãkòJñ�ãMî:Ù>ò8äNàÁâ � î�g�à)á�òJàJî�Ù � ã)äJÙ�òJëJî>ßÓìÁà8ê�h�ãÑá�ãMÚ�âUàÁä^ãUñÂÝ�òMÙUØ�à&ß�ò î:è�â^ãäUëJÚ�ê�Þ � í ÙUØ>ãNáÁã�à^áÁãÓì^å>âJÙ�ò Ú�â)ã � î�g�à^á�ò@àNî�Ù � ã)ä@Ù>ò@ëNî>ß�Ý>ò�Ù8Ø�Ù8Ø�ãÑßUàJì>ãhî�àJì>ãbh^å�Ùñ�ò�í)í�ãUáÁã�î�Ù&äNëNî:Ù�ãMî:Ù�ß���ìÁà8æ�ã�ÙUØ>ãhÙ�òMÙ�â^ã�ë8í!ãNàÁäMØ ßMå>ä�Ø!ß)ã^äJÙ�òJëNî å)î5ò@õNå�ãbh�êà)ñ^ñ�òBî�èkàUÙ ÙUØ>ãÑã�î�ñkë8í òMÙ���òBîÑÚ�à^áÁãMî:Ù8Ø�ã)ß)ã^ß<�2Ù8Ø�ãÒîÁàNì�ã�ë8íkÙ8Ø�ã�ë)á�òMè�ò î�à�âàNå:Ù8ØÁë)áÑë^á Ú^å�h�â�ò8ß�Ø>ãNáÂëUí ÙUØ�àUÙ&ß)ã^äJÙ>ò@ëNî ò�íkæ8î�ëUÝ8î �Xë)á ã^â)ß^ãÑàhå)î5ò@õNå�ãÓî)å^ì�h>ãNáÃÞé�àUæ�ãhÙUØ>ãkßUàJì>ã�à^ñ��Jå>ßJÙUì>ã�î�ÙÑÙ:ëÂÙ8Ø�ã ß^ã)ä@Ù>òJëJîkÙ>ò�Ù�â^ã)ßkòBîkÙ8Ø�ã â:ò8ß@Ùkë8í� î�g�à^á�òJàJî�Ù � ã)ä@Ù>òJëJî>ß ò î�Ù8Ø�ãÑâ�òUä)ã�î>ß)ã�î�ë8Ù�ò8ä^ã�ë8íkÙ8Ø�ãÑäUëJì�h�ò î>ãNñÂÝ�ë^á8æ�Þ� î�ÙUØ>ãÑäNëNì�h�ò îÁà8Ù>ò@ëNî �+ê:ëNåkì)å�ßJÙ&äNëNì�h�ò î�ã�àNî:ê&ß)ã^äJÙ>ò@ëNî�ßÑãMî:Ù>òMÙ�â)ãNñX� ý�ò8ßJÙ:ë)áUê/�ò î�ÙUØ>ãÌg:à)á�ò@ëNå�ß�ë)á�òMè>òBî�à�â�ñ)ë�äMå)ì�ãMî:Ù�ß<�2í�ë^áNì�ò î�èðëNî>ãkß^ã)äJÙ�òJëJî&ã�î�Ù>ò�Ù�â^ãUñ� ý�ò8ß@Ù�ë)áUê/� ; â:òMæ�ã@Ý>òUß)ãÑäNëNì�h�ò î�ã�àNî:ê�ß^ã)ä@Ù>òJëJî>ß�ãMî:Ù>òMÙ�â)ãNñX� ø�äJæ8îÁë8Ý�â)ãUñUè�ã�ì>ãMî:Ù�ß��c�àNîÁñÑàNî:ê!ß)ã)ä@Ù>ò@ëNî>ß ãMî�Ù�òMÙ�â)ãUñ�� S ãUñ�ò8äUàUÙ>ò@ëNî>ß��¡Þ � ëNåkì)å�ßJÙkñ�ã)â)ã@Ù�ã�à�â)âkß)ã^äJÙ�òJëNî�ßãMî:Ù>ò�Ù�â)ãNñX� öUî�ñ^ë)áÁß^ãMì�ãMî�Ù�ßzÞ��

Page 133: Professional Programmer's Guide to Fortran77 Clive G. Page

®�ö ���©��´gµ����E���$��� � ����� ± ��² �����7²ð�����E��� j��p�

M ÞXü T �i�Uö�üUú � T û �YT ï S�T üd�:é)ö)û^ú �� ëJåÑì�àUêÑì�à8æ�ã�à&äUë�â)â)ã^äJÙ�òJëNî�äUëJî>ß:ò8ßJÙ�ò î:èkë8íkÙ8Ø�ã S ë�äMå^ì>ãMî:ÙkàNîÁñÑë8ÙUØ>ãNáÑñ)ë�äMå)ì�ãMî:Ù�ßáÁã^â)ãNàÁß)ãNñÒå)îÁñÁãNáÂÙ8Ø�ò8ßY��ò8ä)ã�î>ß^ã<�XàJî�ñÑá�ãMÚ>âNàÁä^ãhÙ8Ø�ã&òBî�ñ�òNg>ò@ñNåÁàÁâ�äUëNÚ�ò8ã^ß�ë8íkÙ8Ø�ò8ß��òUä)ã�î>ß)ãðò îkÙUØ>ãEg�à^á�òJëJå>ß�ñ^ëÁä�å)ì>ã�î�Ù�ßÓÝ�òMÙ8Ø à&ß�òBî�è�â)ãÑäNëNÚ�ê Ù8Ø�àUÙ!ò8ß�òBî>ä)â�å�ñ�ãUñ&òBîÙ8Ø�ãÑäUë�â)â^ã)äJÙ�òJëJî��+ÚÁá)ë)g�òJñ�ãUñÂÙUØ�à8Ù ê�ëNåðí�ëÁâ^âUëUÝÑÙ8Ø�ãÑáJå>â^ã)ß�ëUí ÙUØ5òUßY��òUä)ãMî�ß)ãhí:ë)ág�ãNá hÁà8Ù>òBì!äUëJÚ�ê�ò î�èðë8í&ãNàÁäMØ ëUíÑÙ8Ø�ãÑñ^ëÁä�å)ì>ã�î�Ù�ßÑòBî!à�â)â�ëUÙ8Ø�ãUáÑá�ã)ßMÚ�ã)ä@Ù�ßzÞ

� ëJåÑì�àUê!ãJ÷)Ù:á)à�äJÙkà&ß�òBî�è�â)ã�ñ^ëÁäMå^ì>ã�î�Ù�í�á)ëJì ßMå>ä�Ø�à&äUë�â)â)ã^äJÙ�òJëNî ��àJî�ñkñ�òUßJÙ:á�òih^å�Ù�ãòMÙ òBî�ñ�ò�g>ò@ñNå�à�â)â@êÒå^î�ñÁãNáÂÙ8Ø�ò8ßY��ò8ä^ãMî>ß^ã<�+ÚÁá)ë�g>òJñ�ãUñÂê:ëNå òBî>ß^ãUá8Ùðà äNëNÚ:êkë8íkÙ8Ø�ò8ß��òUä)ã�î>ß)ãðò î�Ù:ëÂÙ8Ø�ãkãJ÷)Ù:á)à�äJÙ�ãNñÂñ^ëÁä�å)ì>ã�î�Ù��XàNîÁñÂí�ë�â)âUëUÝÑÙ8Ø�ò8ßx��òUä)ã�î>ß)ãðò î�à�â)âë8ÙUØ>ãNáÑáÁã^ßMÚ>ã^äJÙ�ß�áÁã@è�à)á^ñ�òBî�è:g�ãUá hÁà8Ù�ò ì�äUëNÚ:ê>òBî�èkëUí ÙUØ�àUÙkñ)ë�äMå)ì�ãMî:Ù�Þ

@ÃÞ�ø mimbl ö m ø)ú � T û � � ú)ý � û S ö k ö^û S ö^û)ú �[Tbl þ �

ø!äUëJì)Ú5òUâUàUÙ>òJëJîkëUíkÙ8Ø>ã S ëÁä�å)ì�ãMî�Ùðë)á&ò�Ù�ß ñÁãNá�òNg:à8Ù�òNg�ã^ßÓÝ�òMÙUØ!ëUÙ8Ø�ãUá ß^ãMÚ�à^á)àUÙ�ãàNîÁñ&ò îÁñÁã�Ú>ãMîÁñÁã�î�Ùkñ^ëÁäMå^ì>ã�î�Ù�ß ë)áÑÝ:ë)á8æ�ß<��òBî ë)áÑëJî!à:g:ëÁâMå^ì>ã�ëUíkà&ßJÙ:ë)á)àUè�ã�ë^áñ�òUßJÙ:á�òih^å�Ù�òJëNî�ì>ãNñ�òBå)ì�� ñ)ëÁã^ßÓî�ëUÙ�àÁß�àÑÝ8ØÁëÁâ^ãÑäUëJå)î�Ù�à�ß�àÑé�ë)ñ�òMí�ò8ãUñY��ãUá�ß�ò@ëNîë8íkÙUØ>ã S ëÁäMå^ì>ã�î�Ù��2Ú�á)ë�g>ò@ñÁãUñÓî�ë&äNëNì)Ú�ò8âNà8Ù>ò@ëNî�äUëJÚ�ê�á�òMèUØ�Ù!òUß ä^âUà�ò ì>ãNñÂí�ë^áÂÙ8Ø�ãäUëJì)Ú�ò8âUàUÙ>ò@ëNî�Þ � å>ä�Ø�à&äUëNì^Ú5òUâUà8Ù�òJëJî!òUß äNàÁâ^â)ãUñ àNî��MàUè)è�á�ãJè:à8Ù�ã��c��àNîÁñÂÙ8Ø�ò8ß��òUä)ã�î>ß)ãÒñ)ëÁã^ßÓî�ëUÙ�àNÚ)Ú�âJêÑÙ:ëÂÙ8Ø�ã ë8Ù8Ø�ãUá ß^ã)â@í�9ÁäNëNî:Ù�à�òBî>ãNñÒÝ:ë)á8æ�ßhÙ8Ø^å>ßkäUëJì)Ú�ò8â)ãNñÝ>ò�Ù8ØkÙUØ>ã S ë�äMå^ì>ãMî:Ù���ëNî àÁä^äUëJå)î�Ùðë8íÑÙUØ>ã�ò@á�h>ã�òBî�èÑÙUØ)å�ßÑäUëJì)Ú5òUâ)ãNñ���ò�íÑÙ8Ø�ãJêà)á�ãÓî�ëUÙkÙ8Ø>ã�ì>ß^ã)â$g�ã)ß ñÁãNá�òNg:à8Ù�òNg�ã Ý�ë)áUæ�ß�ëUíkÙ8Ø>ã S ëÁä�å)ì�ãMî�Ù�Þ

� íkÙUØ>ã�ü^ë)g�ãNáÂú�ã@÷)Ù�áÁãNõNå�òJáÁã�ì>ã�î�Ù ë8í&ß^ã)äJÙ�òJëJî£A!ò8ß àNÚ^Ú>â�òUäUà$h>â)ã�Ù�ëÑÙUØ>ã)ß^ãäUëJÚ5òUã)ß�ëUí ÙUØ>ã S ëÁä�å)ì>ã�î�Ù���Ù8Ø�ãMî ò�í ÙUØ>ã S ëÁä�å)ì>ã�î�Ù!òUßÑâ)ã^ß)ß�Ù8ØÁàNî�ëJî>ã õNåÁà)áUÙ�ãUáë8íkÙUØ>ãÑã�î�Ù>ò@áÁã�àUè)è:áÁãJè:à8Ù�ã<��ÙUØ>ã S ëÁäMå^ì>ã�î�Ù � ß�ü)ë�g�ãNáÂú�ã@÷)Ù�ß�ì�à8êEh>ãhÚ>âNàÁä)ãNñÑëNîäUë�g�ãNáÁßhÙUØ�à8Ù�ßMå�á^á)ëJå)î�ñ ëNî>â@êÑÙ8Ø�ã S ëÁä�å)ì�ãMî�Ù Ý>òMÙUØ5òBîkÙ8Ø�ã�à8è^è�áÁã@è�àUÙ�ãzÞT ÙUØ>ãNá8Ý>òUß)ãhÙUØ>ã@êÂì)å�ßJÙkàJÚ)Ú>ãNà)áÑëJî äUë)g�ãUá�ß�à)á^ëNå)îÁñÂÙ8Ø�ãhÝ8ØÁëÁâ^ãÑàUè)è:áÁãJè:à8Ù�ãzÞ

?ÃÞ�ú l ø)û � �Uø)ú � T ûú�á^àNî�ß)âUàUÙ>ò@ëNî ò8ßkäUëJî>ß�ò@ñÁãNáÁãUñ�àÑæ>òBî�ñÑëUíðìÁë)ñ�òMí>òUäUàUÙ>òJëJî��XßUëÑê�ëJåÑì�àUêñ�òUßJÙ:á�òih^å�Ù�ãÓÙ:á)àNî�ß)âNà8Ù>ò@ëNî�ß�ë8íÑÙUØ>ã S ë�äMå^ì>ãMî:ÙÂå)îÁñÁãNáÂÙ8Ø�ãhÙ�ãNáNì>ßÒë8í!ß)ã^äJÙ>ò@ëNî > Þl ã�Ú>âNàÁä�òBî�è � î�g:à)á�ò@àNî:Ù � ã)äJÙ�òJëJî>ßhÝ�òMÙ8ØðÙ�á)àJî>ß^âUà8Ù�òJëJî>ß�á�ãUõNå�òJá�ã)ß�ßMÚ>ã^ä�ò@àÁâÚ>ãNáNì�ò8ß)ß:òJëJîÑí:á)ëNì�ÙUØ>ã�ò@á äUëJÚ�ê:á�òMèUØ�ÙÂØÁëÁâNñÁãUá�ß<��h)å:Ù ê:ëNåÑìÁà8ê ò î�ä)â�å�ñÁãÙ�á^àNî�ß)âUàUÙ>ò@ëNî>ß ë8í!ßNëNì>ãÒë)ákàÁâ^â � î�g�à)á�òJàJî�Ù � ã)äJÙ�òJëJî>ßkòBî�à)ñ^ñ�òMÙ�òJëJîkÙ�ëÑÙ8Ø�ãë)á�òMè�ò î�à�âÌg�ãNáÁß:òJëNî�ß�ë8í Ù8Ø>ã^ß)ã � î�g:à)á�ò@àNî:Ù � ã^äJÙ>ò@ëNî�ßzÞ � ëJåkì�à8ê ò î>ä^âMåÁñÁã�àÙ�á^àNî�ß)âUàUÙ>ò@ëNîðë8íkÙ8Ø�ò8ßY��ò8ä)ã�î>ß^ãÓÚ�á^ë)g>ò@ñÁãNñÂÙ8ØÁà8ÙÑê:ëNå àÁâ^ßUë&òBî>ä)â�å�ñ�ãhÙ8Ø�ãë)á�òMè�ò î�à�âhö8î:è�â:ò8ßMØìg�ãUá�ß�ò@ëNî�ëUíÑÙ8Ø�ò8ßY��ò8ä)ã�î>ß^ãzÞ � î äUà�ß)ã�ëUí&à ñ�ò8ßNà8è:áÁã)ã�ì>ã�î�Ùh>ã@Ù)Ý�ã)ãMîðÙ8Ø>ã Ù�á)àJî>ß^âUà8Ù�òJëJî�àNîÁñÂÙ8Ø�ãÑë^á�ò�è>ò îÁàÁâ�ö8î:è�â�òUßMØLg�ãUá�ß�òJëJî�ë8íkÙUØ5ò8ß��òUä)ã�î>ß)ã���Ù8Ø�ã�ë)á�òMè�ò î�à�âhö8î:è�â:ò8ßMØìg�ãUá�ß�ò@ëNîkÝ�ò8â)â�Ú�áÁãtg�à�ò8âzÞóÃÞ�ú^ö l é � û^ø)ú � T û

Page 134: Professional Programmer's Guide to Fortran77 Clive G. Page

®�ö ���©��´gµ����E���$��� � ����� ± ��² �����7²ð�����E��� j�� >

� ëJåÑì�àUêÑî�ë8Ù�äUëNÚ:ê���ì�ë^ñ�ò�í)ê��XßMå<h>â:ò8ä)ã�î>ß^ã<�Xë^áÑñ�òUßJÙ�á�òih^å�Ù�ã Ù8Ø>ã S ëÁä�å)ì�ãMî�Ù�ãJ÷�ä^ãMÚ:ÙàÁßkã@÷8Ú�á�ã)ß^ß)âJêhÚ�á^ë)g�òJñÁãNñÂí�ë^áÒå)îÁñÁãNáðÙUØ5òUßY��òUä)ãMî�ß)ãÔÞ øUî�êkëUÙ8Ø>ãNáÑà8Ù^Ù�ã�ì)Ú�Ù Ù�ëäUëJÚ�ê��+ì�ë^ñ�òMí^ê��¾ß�å�h�â�ò8ä^ãMî�ß)ã�ë^áÑñ�òUßJÙ�á�òih^å�Ù�ã Ù8Ø>ã S ëÁä�å)ì�ãMî�Ù ò8ßÌg:ë�òJñg��àNî�ñ�Ý>ò8â^âàNå:Ù�ëJì�à8Ù�ò8äNàÁâ)â@êÂÙ�ãUáJì5ò îÁà8Ù�ãhê�ëJå�áÑá�òMè8Ø:Ù�ßÓå^î�ñ�ãUáÂÙUØ5ò8ßx��ò8ä)ã�î>ß^ãzÞ ý�ëUÝ�ãtg�ãUág�Ú�à^á8Ù�ò8ã)ß Ý8Ø�ëhØ�à)g�ã áÁã)ä^ã�ò�g�ãUñÑäUëJÚ5òUã)ß<� ë)áká�ò�è8Ø�Ù�ß<��í:á)ëJìkê�ëJå å^î�ñ�ãUáÂÙUØ5ò8ß��òUä)ã�î>ß)ã Ý>ò8â^âÓî�ëUÙÑØ�à)g�ãhÙ8Ø�ã�ò@á â�òUä)ãMî�ß)ã^ßhÙ�ãNáNì5òBî�àUÙ�ãUñÑßUë&âNëNî�èðàÁßkßMå�äMØÚ�à^á8Ù�ò8ã)ßÒáÁãMìÁà�òBî ò î�í8å�â)âÑäNëNì^Ú>â�ò@àNî�ä)ãzÞ

ò ô§Þ+ïb�:úb� l ö l öi� � � � T û �xT ïkú)ý � � � � ü8ö^û � ö

ú8Ø�ãhï�á�ã)ã � ëUí)Ù^Ý�à)á�ãhï�ëJå)îÁñ)à8Ù�òJëJîÂìÁà8êÂÚ^å�h>â:ò8ß�ØÑî>ã@Ý���áÁãtg>ò8ß^ãUñ�g�ãUá�ß�òJëJî>ßë8íkÙUØ>ã m ûb�kï:áÁã)ã S ëÁäMå^ì>ã�î�Ù�àUÙ>ò@ëNîì��ò8ä^ãMî�ß)ãhí:á)ëNìðÙ>ò ì�ãhÙ�ëÑÙ�ò ì>ãÔÞ � å>ä�ØÑî>ã@Ýg�ãNáÁß:òJëNî�ßhÝ>òUâ)âbh�ãkß�ò ì�ò8âNà)á&òBî!ßMÚ�òJá�ò�ÙÑÙ�ëÑÙUØ>ãÓÚÁáÁã)ß^ãMî:Ù:g�ãNáÁß�ò@ëNî � h)å:ÙÂì�àUêñ�ò�í)í�ãUá&òBî!ñ�ãJÙ:à�ò8â Ù�ëÑà^ñ)ñ)á�ã)ß^ßÓî>ã@ÝðÚÁá)ë$h>â)ã�ì>ß ë)á&äUëJî>ä^ãUáNî�ßzÞ � ã)ãØ�Ù^Ù8Ú\Û Ü)Ü@Ý)Ý^Ý�Þ�èUî)å\Þbë)áUè�Ü^äUëNÚ:ê�â^ãJíUÙ�ÜÔÞ

ö�à�äMØLg�ãUá�ß�òJëJî�ë8íkÙUØ>ãY��ò8ä)ã�î>ß^ãkò8ß�è>ò�g�ã�î�àkñ�ò8ß@Ù>òBî�è8å�ò8ß�Ø5ò î:è�g�ãUá�ß�òJëJîÑî)å^ì�h�ãUáÃÞ� íkÙUØ>ã S ëÁäMå^ì>ã�î�Ù&ß�Ú>ã)ä:òMí�ò8ã)ß�Ù8ØÁà8Ù�àÒÚÁà)á8Ù�ò8ä�å>âUà^áÒî)å^ì�h�ãUáÁãNñ�g�ãNáÁß:òJëNî ë8íÑÙUØ5ò8ß��òUä)ã�î>ß)ãa�Më)á àNî�ê!âNà8Ù�ãNá�g�ãNáÁß:òJëNî3�ÓàNÚ^Ú>â:ò8ã)ß Ù�ë&ò�Ù��Xê�ëJåÑØ�à�g�ãhÙUØ>ã ëNÚ:Ù>òJëJî�ë8íí�ë�â)âNë8Ý>òBî�èÑÙUØ>ãhÙ�ãUáJì>ß�àJî�ñ&äUëJî�ñ�ò�Ù>ò@ëNî>ß�ã�ò�Ù8Ø�ãUáÑëUí ÙUØ�àUÙ&ßMÚ�ã)ä�ò�í>òUãUñ�g�ãUáÁß:òJëJî�ë)áë8í�àJî�ê&âNà8Ù�ãNá�g�ãNáÁß:òJëNîðÙ8Ø�àUÙÂØ�à�ßÌh>ã)ã�îÑÚ)å<h>â:ò8ßMØ�ãUñ¤þbî�ëUÙkàÁß àÑñ^á)à8í^Ù � h�ê Ù8Ø>ãï�á�ã)ã � ë8í^Ù)Ý�à^áÁãhï:ëNå^î�ñ)àUÙ>ò@ëNî�Þ � íkÙ8Ø>ã S ëÁä�å)ì�ãMî�Ùðñ)ëÁã^ßÓî�ëUÙ!ßMÚ>ã^ä�ò�í)êkà:g�ãNáÁß:òJëNîî)å^ì�h�ãUáÑëUí ÙUØ5òUßY��òUä)ãMî�ß)ã���ê�ëJåÑì�àUê�ä�Ø�ë^ëÁß)ãÒàNî�ê¤g�ãUá�ß�ò@ëNî!ãtg�ãUáhÚ)å�h�â�òUßMØ>ãNñ¤þ�îÁë8ÙàÁß àÑñ^á)àUí)Ù � h�êkÙ8Ø�ãhï�á�ã)ã � ëUí)Ù)Ý:à)á�ãÓï:ëNå)îÁñ)àUÙ>òJëJî�Þ