k6X>X>by nameby namevabldd kRXA X>X>X>'!-W./r/lib/A kfP8X>X>X>';./lpp_names/msg/4 R I xlfcmp.html.en_US { xlfcmp.html.en_US 8.1.1.0000 01 N U en_US XL Fortran Compiler Documentation (HTML) - U.S. English [ % /usr/share/man/info/en_US/xlf/html 12792 /usr/lib/objrepos 240 INSTWORK 432 416 % % % IY35608,IY37280,IY37809,IY37954,IY38175,IY38462,IY38483,IY38498,IY39359,IY39446,IY39739,IY39858,IY39897,IY39898,IY40212,IY40286,IY40711,IY40877,IY41052,IY41071,IY41099,IY41147,IY41310,IY41452,IY41467,IY41658,IY41837,IY41838,IY43238,IY43332,IY43718,IY45718,IY45719,IY45720,IY43616 12 % ] } k[A X> X> X>'8Y./usrna/A kvU\A X> X> X>'8Y./usr/lpps/msg/A k>]A X>X>X>'8Y./usr/lpp/xlfcmp.html.en_USme.c/A l_m^-X>X>X>';=Z./usr/lpp/xlfcmp.html.en_US/liblpp.a/m  / =ehilmnorst.4SU_acfpuxy",1235b06789:EFILdgkvwzGMTHARXBCDNP`-OK()<>jYq(` 0//8q G `CEy@!0:H'7-24`f6}0,'TRcA$[\*5dm]($h貔FE# +4+7[Zse0 8]:`e+7V`pkkL ."qtxcsDfse+7Vc%`9 Ek3N )B0 `7XĂ7ł O b'Uy@!0cA0 X! @,P _$p/,pAF' < C"ae臲55Z4Ѧ͗cnDʴ}x:Bdl fpSA _sͥ5栃臲5:2&RhwF6\ ' *y1"X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EAÃ5F ĩV'tieۢ|0'mo 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xрJÃ5@TF4ٲlm>VȘYV϶a 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x(5Qkā$q?`*Ѥ6ltO&UCku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^0XjÃ5G ĩV'tieۢ|0'mo$6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5 98:^$` 0JhwF6\ ' *y!:Bdl fIW4 WiMy :!e4$΂6y Y98:^$CTF4ٲlm>VȘYV϶ E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf haF# *UIlp66+dL,IkCku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^0 _sXpuHѤq*UIlp66+dL,Ik Cku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^0 _sXpuHJhwF6\ ' *y_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>1`Cm`Y=xE_9"{$UMkBX>1`Cm`Y=xE_9"{$UMkBVȘYV϶X) 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xaÃ5@ 1*UIlp66+dL,Ik,E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&RfXk0׉7Z4Ѧ͗cnDʴ}}bŐ_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>1bm`Y=xE_9"{$UMkBVȘYV϶XRX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8Ec5QkČ4wRNfˁD["aeZO>X>1bm`Y=xE_9"{$UMkBVȘYV϶XX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EA5Qkā4n%Ji;M.liX>1c_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶XHm`Y=xE_9"{$UMkBX>1cm`Y=xE_9"{$UMkBVȘYV϶XRX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8Ec5QkāĩV'tieۢ|0'mo6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5C5Qkč4w RNfˁD["aeZO>X>1cHm`Y=xE_9"{$UMkBVȘYV϶X6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5 +k0׉ 8g;Z4Ѧ͗cnDʴ}}bƁ_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶XBX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E`@`īk0׉ ,b*UIlp66+dL,Ik,h) 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x 0eaF D*UIlp66+dL,Ik,h1 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"y#5Qkā bTF4ٲlm>VȘYV϶Y$6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5EWDa0XTF4ٲlm>VȘYV϶Y D6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5F+k0׉0p7N%Ji;M.liX>1d!:Bdl fIW4 WiMy :!e4$΂6y Y8Z# xAATF4ٲlm>VȘYV϶Y#Hm`Y=xE_9"{$UMkBVȘYV϶Y#m`Y=xE_9"{$UMkBX>1cm`Y=xE_9"{$UMkBX>1c_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶X6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5k0׉,RNfˁD["aeZO>X>1c!:Bdl fIW4 WiMy :!e4$΂6y Y 98:^$p aJhwF6\ ' *y8E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf`AÃ5G 0n%Ji;M.liVȘYV϶XbX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EBG+k0׉/ĩV'tieۢ|0'mo2X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E@k0׉8 'Z4Ѧ͗cnDʴ}}bm`Y=xE_9"{$UMkBX>1`d_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶X 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x5Qkċ0JhwF6\ ' *y!:Bdl fIW4 WiMy :!e4$΂6y Y4paF#RNfˁD["aeZO>X>1``6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5A WDa8Y"q*UIlp66+dL,Ik, E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rfp jÃ5G  TF4ٲlm>VȘYV϶X! 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x0!jÃ5F RNfˁD["aeZO>X>1`D6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5cU5QkĎ4g RNfˁD["aeZO>X>1`m`Y=xE_9"{$UMkBX>1`_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶X ! 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x1Ã5@ł1*UIlp66+dL,Ik,E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf@5QkĒ ĩV'tieۢ|0'mo@bX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8Ec@+k0׉$ `TF4ٲlm>VȘYV϶X) 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x@aÃ5@TF4ٲlm>VȘYV϶X( 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xP0 EaF"ĩV'tieۢ|0'moQd6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5ŋWDa bTF4ٲlm>VȘYV϶X(X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E0QÃ5F 1*UIlp66+dL,Ik,i 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x 1jÃ5@$ RNfˁD["aeZO>X>1`_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>1`m`Y=xE_9"{$UMkBVȘYV϶X1 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x)"WDaI#A *UIlp66+dL,Ik,E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&RfhQÃ5G 8'Z4Ѧ͗cnDʴ}}b_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶X0X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EFk0׉$cITF4ٲlm>VȘYV϶X0X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EcG WDa4 `/*Ѥ6ltO&U I 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x002# x *UIlp66+dL,Ik,q 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xb5QkčRNfˁD["aeZO>X>1`d6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5U5QkĒ ,g7Z4Ѧ͗cnDʴ}}bm`Y=xE_9"{$UMkBX>1D6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5 98:^$A'RNfˁD["aeZO>X>1@D6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5 98:^$A?ؕ*Ѥ6ltO&U,E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rfa# WDa0  g7Z4Ѧ͗cnDʴ}}c_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶`X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E@5QkĒ 0XJhwF6\ ' *y!:Bdl fIW4 WiMy :!e4$΂6y Y 98:^$q*UIlp66+dL,Ik0E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf0BU5QkċĩV'tieۢ|0'mo RX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8Eb5Qkċ4'Z4Ѧ͗cnDʴ}}cm`Y=xE_9"{$UMkBX>1m`Y=xE_9"{$UMkBVȘYV϶`"X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EIWDa4h(v%Ji;M.liVȘYV϶`6WB,{ C^=WAגI*5!Aa m)5D=y@!0p54b# x@/RNfˁD["aeZO>X>1!:Bdl fIW4 WiMy :!e4$΂6y Y4`# x @AX>1m`Y=xE_9"{$UMkBVȘYV϶`X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EG 98:^$ 1ؕ*Ѥ6ltO&U0E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf!k0׉8X/N%Ji;M.liX>1Hm`Y=xE_9"{$UMkBVȘYV϶`X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EF WDa8 RNfˁD["aeZO>X>1@m`Y=xE_9"{$UMkBX>1F_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶`Hm`Y=xE_9"{$UMkBVȘYV϶`BX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EIWDa 4hJhwF6\ ' *y Cku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^I#+k0׉H;Z4Ѧ͗cnDʴ}}c_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶a$6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5%_sXpuH1`JhwF6\ ' *y$E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf p"# x 0a?LJhwF6\ ' *y$Y 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x2F+k0׉ Hn%Ji;M.liX>1!:Bdl fIW4 WiMy :!e4$΂6y Y8_sXpuHрC*Ѥ6ltO&UI$6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5 98:^$Xؕ*Ѥ6ltO&UHX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E WDa4h0_JhwF6\ ' *y$ E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rfh (# xF ĩV'tieۢ|0'moAm`Y=xE_9"{$UMkBVȘYV϶`6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5 WDa, pJhwF6\ ' *yI 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"y @`Ã5G ĩV'tieۢ|0'moÈm`Y=xE_9"{$UMkBX>1m`Y=xE_9"{$UMkBX>1d6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5WDa4`%Ji;M.liX>1cHm`Y=xE_9"{$UMkBVȘYV϶` 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xÕ5QkČ3'Z4Ѧ͗cnDʴ}}cm`Y=xE_9"{$UMkBX>16WB,{ C^=WAגI*5!Aa m)5D=y@!0p5 98:^$X01JhwF6\ ' *y!:Bdl fIW4 WiMy :!e4$΂6y Y  98:^$XdTF4ٲlm>VȘYV϶` X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EWDa4X0/N%Ji;M.liX>16WB,{ C^=WAגI*5!Aa m)5D=y@!0p5c5Qkċ bTF4ٲlm>VȘYV϶`) 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"y `C5QkĎĩV'tieۢ|0'moP"X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E5QkĎRNfˁD["aeZO>X>1m`Y=xE_9"{$UMkBX>1_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>1m`Y=xE_9"{$UMkBX>1d6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5k0׉*UIlp66+dL,Ik0E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&RfÃ5IHv%Ji;M.liVȘYV϶`1 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"y$WDa0Y#F*UIlp66+dL,Ik0E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rfh!Ã5ERNfˁD["aeZO>X>1m`Y=xE_9"{$UMkBX>16WB,{ C^=WAגI*5!Aa m)5D=y@!0p5G98:^$p0cq*UIlp66+dL,Ik0E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rfk0׉ 4RNfˁD["aeZO>X>16WB,{ C^=WAגI*5!Aa m)5D=y@!0p5F WDa4XA?q*UIlp66+dL,Ik4E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rfi#+k0׉ 4 i8*Ѥ6ltO&UCku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^4X0# x@FTF4ٲlm>VȘYV϶hX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E@5QkāĩV'tieۢ|0'mo!6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5GWDa4`_%Ji;M.liX>1D_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>1Cm`Y=xE_9"{$UMkBVȘYV϶h! 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x !Ã5F TF4ٲlm>VȘYV϶h) 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"y `Ã5@ bTF4ٲlm>VȘYV϶h1 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x`JÃ5@ĩV'tieۢ|0'mod6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5〇 98:^$RNfˁD["aeZO>X>1m`Y=xE_9"{$UMkBVȘYV϶hbX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EjÃ5@  ĩV'tieۢ|0'moф6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5ƎWDaHQq*UIlp66+dL,Ik4` 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x@`eaF @Cq*UIlp66+dL,Ik4`X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E0Ak0׉0ĩV'tieۢ|0'moуm`Y=xE_9"{$UMkBVȘYV϶hHm`Y=xE_9"{$UMkBVȘYV϶h2X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E@5QkČ$'Z4Ѧ͗cnDʴ}}cF_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>1m`Y=xE_9"{$UMkBX>1Hm`Y=xE_9"{$UMkBX>1F_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶h6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5%_sXpuI#G bTF4ٲlm>VȘYV϶h2X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EFk0׉,JhwF6\ ' *yCku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^H!Ã5E/RNfˁD["aeZO>X>1AHm`Y=xE_9"{$UMkBX>1Cku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^4`(aF#;'Z4Ѧ͗cnDʴ}}cICku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^0j# x`Á?*Ѥ6ltO&UH 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xA+k0׉ ,w7Z4Ѧ͗cnDʴ}}cI!:Bdl fIW4 WiMy :!e4$΂6y Y ,b# xRNfˁD["aeZO>X>1_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>1_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>1Hm`Y=xE_9"{$UMkBVȘYV϶h 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xP %aF @C*Ѥ6ltO&U,E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rfi#A5Qkā4'Z4Ѧ͗cnDʴ}}c@_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>1`6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5WDa0`1?JhwF6\ ' *y!:Bdl fIW4 WiMy :!e4$΂6y Y,j# x2GO7Z4Ѧ͗cnDʴ}}c@m`Y=xE_9"{$UMkBVȘYV϶h! 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xc5QkČHN%Ji;M.liVȘYV϶h X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E@5QkĎ  ĩV'tieۢ|0'mo@2X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E+k0׉ 0X7Z4Ѧ͗cnDʴ}}cAm`Y=xE_9"{$UMkBX>16WB,{ C^=WAגI*5!Aa m)5D=y@!0p5`B5QkČ H RNfˁD["aeZO>X>1D6WB,{ C^=WAגI*5!Aa m)5D=y@!0p598:^$p(JhwF6\ ' *yCku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^0 aF$ĩV'tieۢ|0'moQ6WB,{ C^=WAגI*5!Aa m)5D=y@!0p55Qkā4RNfˁD["aeZO>X>1Hm`Y=xE_9"{$UMkBVȘYV϶h)$6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5Ek0׉,p)?JhwF6\ ' *yCku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^0 _sXpuHETF4ٲlm>VȘYV϶h( 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x `UaF# RNfˁD["aeZO>X>16WB,{ C^=WAגI*5!Aa m)5D=y@!0p5@k0׉$TF4ٲlm>VȘYV϶h() 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xтūk0׉  RNfˁD["aeZO>X>16WB,{ C^=WAגI*5!Aa m)5D=y@!0p5@U5QkāON%Ji;M.liX>1m`Y=xE_9"{$UMkBVȘYV϶h0X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EČWDaH!"*Ѥ6ltO&U Cku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^45QkĒ818*Ѥ6ltO&U Cku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^0X2# xA*Ѥ6ltO&U Cku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^0p0aF#  ĩV'tieۢ|0'mo`bX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E`jÃ5EH0n%Ji;M.liVȘYV϶̐!6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5-_sXpuHAGq*UIlp66+dL,IkH 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xуG+k0׉,pџ8*Ѥ6ltO&U$E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&RfhaÃ5G RNfˁD["aeZO>X>2@Hm`Y=xE_9"{$UMkBX>2E_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶̑d_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶̑`6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5@ WDa 7RNfˁD["aeZO>X>2E_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶̑d6WB,{ C^=WAגI*5!Aa m)5D=y@!0p55Qkāq*UIlp66+dL,IkHBX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E WDa8Xn%Ji;M.liVȘYV϶̑m`Y=xE_9"{$UMkBX>2F!:Bdl fIW4 WiMy :!e4$΂6y Y0Ã5F ĩV'tieۢ|0'mo#I!:Bdl fIW4 WiMy :!e4$΂6y Y0_sXpuH"@TF4ٲlm>VȘYV϶̑m`Y=xE_9"{$UMkBX>2F_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>2F_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>2I!:Bdl fIW4 WiMy :!e4$΂6y Y0 _sXpuHETF4ٲlm>VȘYV϶̒AHm`Y=xE_9"{$UMkBX>2G_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶̑D6WB,{ C^=WAגI*5!Aa m)5D=y@!0p55Qkč4RNfˁD["aeZO>X>2G !:Bdl fIW4 WiMy :!e4$΂6y Y,_sXpuI"ƍĩV'tieۢ|0'mo#_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶̑Hm`Y=xE_9"{$UMkBX>2G!:Bdl fIW4 WiMy :!e4$΂6y Y0 _sXpuHacA*Ѥ6ltO&U$p 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x PUaF#AAA*Ѥ6ltO&U$p! 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x@bU5QkāĩV'tieۢ|0'mo#Hm`Y=xE_9"{$UMkBVȘYV϶̐2X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E0RF+k0׉4`7 RNfˁD["aeZO>X>2@m`Y=xE_9"{$UMkBX>2@Ő_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶̐16WB,{ C^=WAגI*5!Aa m)5D=y@!0p5WDa,hAJhwF6\ ' *y4E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf`5QkČH n%Ji;M.liX>2A !:Bdl fIW4 WiMy :!e4$΂6y YHaF$TF4ٲlm>VȘYV϶̐A6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5k0׉4X7Z4Ѧ͗cnDʴ}}d_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>2Am`Y=xE_9"{$UMkBVȘYV϶̐@RX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E+k0׉$XJhwF6\ ' *y Cku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^0h2# x`c*Ѥ6ltO&U$E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf`0%aF$TF4ٲlm>VȘYV϶̐P"X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E5QkčĩV'tieۢ|0'mo m`Y=xE_9"{$UMkBX>2A@m`Y=xE_9"{$UMkBVȘYV϶̐PbX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EWDa0X 1?JhwF6\ ' *y Cku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^8 _sXpuH00%Ji;M.liVȘYV϶̐a6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5 WDa0Xn%Ji;M.liX>2A_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶̐`2X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E@5QkČ8'Z4Ѧ͗cnDʴ}}d_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶pX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E񃀆+k0׉0RNfˁD["aeZO>X>1CHm`Y=xE_9"{$UMkBX>1@6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5Ek0׉8_N%Ji;M.liVȘYV϶pX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E@Ã5@*UIlp66+dL,Ik8X 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xQÃ5I$hn%Ji;M.liX>1Ɛ_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>1Hm`Y=xE_9"{$UMkBVȘYV϶p6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5Œ98:^$TF4ٲlm>VȘYV϶pHm`Y=xE_9"{$UMkBVȘYV϶pX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EDk0׉$AbTF4ٲlm>VȘYV϶p"X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E`A5Qkċ$`*UIlp66+dL,Ik8hX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EBEWDa4 pZ4Ѧ͗cnDʴ}}c!:Bdl fIW4 WiMy :!e4$΂6y Y4aF$ TF4ٲlm>VȘYV϶pѤ6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5G 98:^$`(*UIlp66+dL,Ik8i$6WB,{ C^=WAגI*5!Aa m)5D=y@!0p54b# x``*UIlp66+dL,Ik8X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E`jÃ5@ĩV'tieۢ|0'mo6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5@+k0׉ ,Z4Ѧ͗cnDʴ}}cm`Y=xE_9"{$UMkBX>00"X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E`Ã5Fq*UIlp66+dL,Ik,E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rfa `jÃ5@FTF4ٲlm>VȘYV϶ a 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x1`Ã5@x*Ѥ6ltO&UCku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^0paF#A1*UIlp66+dL,IkI 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x@5QkČ7XJhwF6\ ' *y!:Bdl fIW4 WiMy :!e4$΂6y Y4Z# xI/'Z4Ѧ͗cnDʴ}}``d6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5k0׉0p8*Ѥ6ltO&U!:Bdl fIW4 WiMy :!e4$΂6y Y 9_sXpuHq*UIlp66+dL,Ik Cku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^,Ã5@3XJhwF6\ ' *y_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶Y 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x(U5QkĎ0Z4Ѧ͗cnDʴ}}`m`Y=xE_9"{$UMkBX>0A6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5J# x@*UIlp66+dL,IkI 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x(k0׉4p RNfˁD["aeZO>X>0A6WB,{ C^=WAגI*5!Aa m)5D=y@!0p598:^$ h;Z4Ѧ͗cnDʴ}}`d6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5B5QkĒH0(Z4Ѧ͗cnDʴ}}`6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5 98:^$X( 0v%Ji;M.liX>0@bX!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EF WDa0XĩV'tieۢ|0'mo( 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x!5QkċĩV'tieۢ|0'mo(X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EP02U5QkĎ'ĩV'tieۢ|0'mo(X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EQ@Ã5E*UIlp66+dL,Ik 4E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf`(*# xq*UIlp66+dL,Ik I 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xR@5QkČ$p7RNfˁD["aeZO>X>0Q6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5 WDa0bōĩV'tieۢ|0'mo( 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x+k0׉ ,g*Ѥ6ltO&U!:Bdl fIW4 WiMy :!e4$΂6y Y$Ã5@H%Ji;M.liVȘYV϶E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&RfY#5QkčH0/ RNfˁD["aeZO>X>0ad6WB,{ C^=WAגI*5!Aa m)5D=y@!0p5Ń WDa4X 7ؕ*Ѥ6ltO&UCku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^0` Ã5@ ĩV'tieۢ|0'mo0X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E1cWDa,P_Z4Ѧ͗cnDʴ}}`Đ_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>0`2X!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8Ed WDa0p@*UIlp66+dL,Ik Cku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^0JÃ5@ŁTF4ٲlm>VȘYV϶E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf@AÃ5@*UIlp66+dL,Ik Cku"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^ ,j# xITF4ٲlm>VȘYV϶$ 0:Bdl fIW4 WiMy :!e4$΂6y Y0UaF";'Z4Ѧ͗cnDʴ}}@!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E@@+k0׉ 7,JhwF6\ ' *yXi Y=xE_9"{$UMkBVȘYV϶"@E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf`1Ã5F $RNfˁD["aeZO>X>@!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EF WDa0XaJhwF6\ ' *yXX_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶" 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xU5QkČ,RNfˁD["aeZO>X>I Y=xE_9"{$UMkBX> @!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EA`k0׉ 4p RNfˁD["aeZO>X> @!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8Ek0׉  ĩV'tieۢ|0'meE 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xуF+k0׉0OJhwF6\ ' *yXX"_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>,WB,{ C^=WAגI*5!Aa m)5D=y@!0p5G+k0׉*UIlp66+dL,Ik`cF@E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf`((# xAĩV'tieۢ|0'meE@!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E5Qkċ ,RNfˁD["aeZO>X>I Y=xE_9"{$UMkBX>$WB,{ C^=WAגI*5!Aa m)5D=y@!0p55Qkā  ĩV'tieۢ|0'meE,WB,{ C^=WAגI*5!Aa m)5D=y@!0p5I98:^$`"@*Ѥ6ltO&UF@E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&RfX@aÃ5F$X%Ji;M.liX> 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x QÃ5I,p7Z4Ѧ͗cnDʴ}}@!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EI98:^$h#@*Ѥ6ltO&UR_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>@!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8Ec5Qkċ ĩV'tieۢ|0'meF@!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E0`0eaF#3ĩV'tieۢ|0'meF 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x@`Ã5@ł,n%Ji;M.liVȘYV϶#E@E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rfp0# xF;p%Ji;M.liVȘYV϶#@@` u"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^4b# x !@RNfˁD["aeZO>X> 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xÃ5I$hRNfˁD["aeZO>X> 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xAjÃ5E TF4ٲlm>VȘYV϶#A@` u"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^0 j# xbTF4ٲlm>VȘYV϶$@E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&RfX1#k0׉0 p`ؕ*Ѥ6ltO&U "@` u"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^8h1*Ã5II?%Ji;M.liX>I Y=xE_9"{$UMkBVȘYV϶#@E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&RfX# x!`&%Ji;M.liX> 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x(aF#ต*Ѥ6ltO&Ub_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>@E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf _sXpuI$ 'ĩV'tieۢ|0'me@Ő@E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf X # x1ƓbTF4ٲlm>VȘYV϶ c@` u"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^ ,b# xF q*UIlp66+dL,Ik`1 0:Bdl fIW4 WiMy :!e4$΂6y YWDa0``.%Ji;M.liVȘYV϶ c@` u"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^ 1_sXpuH@&%Ji;M.liVȘYV϶ ` 0:Bdl fIW4 WiMy :!e4$΂6y Y$a*Ã5FĩV'tieۢ|0'me@@` u"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^4Y Ã5F ĩV'tieۢ|0'meA@` u"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^4p 2# xĩV'tieۢ|0'meA@E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rfh5aF#œĩV'tieۢ|0'meA@E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf`!jÃ5F $RNfˁD["aeZO>X> 'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xQk0׉0oJhwF6\ ' *yX_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶ 0:Bdl fIW4 WiMy :!e4$΂6y Y 4b# xAĩV'tieۢ|0'meAH@` u"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^8jÃ5F $ ĩV'tieۢ|0'meA@` u"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^8XUaF#AA 'ĩV'tieۢ|0'meA@@` u"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^HbU5QkČ ĩV'tieۢ|0'meAE@E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf r# x@VȘYV϶ D 0:Bdl fIW4 WiMy :!e4$΂6y Y$_sXpuI#*UIlp66+dL,Ik`ad 0:Bdl fIW4 WiMy :!e4$΂6y Y 5_sXpuH TF4ٲlm>VȘYV϶ @` u"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^0Z# xƁ*Ѥ6ltO&U0_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶ Đ@E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rfh*# xAq*UIlp66+dL,Ik`a 0:Bdl fIW4 WiMy :!e4$΂6y Y 98:^$P0!&%Ji;M.liX>@E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf`*# x;ĩV'tieۢ|0'meAH@` u"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^, aF#@ŃbTF4ٲlm>VȘYV϶ 0:Bdl fIW4 WiMy :!e4$΂6y Y 8b# xdĩV'tieۢ|0'm`@@($_!z6rE xE_ 3^I$ ׄ+yzbFbyAXX>  !A E׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&RfXƫk0׉$Xc1*UIlp66+dL,Ik@@)u"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^,`aF" TF4ٲlm>VȘYV϶RH!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E``JÃ5@ŋĩV'tieۢ|0'ma )u"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^,Ã5I/RNfˁD["aeZO>X>RH!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EcAA5QkĒ8A*Ѥ6ltO&U$p$BA'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xQÃ5E0RNfˁD["aeZO>X>A2!BA'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"xQjÃ5F$ RNfˁD["aeZO>X> H!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8EAÃ5I ĩV'tieۢ|0'm`  WB,{ C^=WAגI*5!Aa m)5D=y@!0p5ŌWDa4*Ѥ6ltO&U( $BA'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x@EaF @cTF4ٲlm>VȘYV϶Lau"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^0p2# xBTF4ٲlm>VȘYV϶@`!O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E`CAU5QkČ,w3Z4Ѧ͗cnDʴ}} (Iu"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^,h0aF#1*UIlp66+dL,IkP0 dBA'g$P׏tUc5JxHPXBJkA)dk))'t!dL,"x BU5QkČbTF4ٲlm>VȘYV϶@` Y=xE_9"{$UMkBX>a` !O^=WH k$SA𐠰6ךLSSLRO< CkȘYJ8E``jÃ5G ĩV'tieۢ|0'me PH:Bdl fIW4 WiMy :!e4$΂6y Y$b# xAต*Ѥ6ltO&U@($_!z6rE xE_ 3^I$ ׄ+yzbFbyAXVȘYV϶Q WB,{ C^=WAגI*5!Aa m)5D=y@!0p5AU5QkĎ;'Z4Ѧ͗cnDʴ}},$Iu"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^I"5Qkċ0X';Z4Ѧ͗cnDʴ}},$8PH:Bdl fIW4 WiMy :!e4$΂6y Y$i"5Qkċ8`v%Ji;M.liVȘYV϶u"Ǻ*5$y$h3^9ҚPAtCiIm` )_G^,b# xcI bTF4ٲlm>VȘYV϶CH qE׏tU᳒(kǺ*H1I%_Tf$(,!_sͥ5栃臲5:2&Rf h0*# x`C@LJ0 h0`O_!É8o , `΂6y A-NfˁD["aeZO>X=DZ4Ѧ͗cnDʴ}}!H "Ѥ6ltO&U!i;M.liX>0"Hm`-NfˁD["aeZO>X>0!6Q'tieۢ|0'mo EIlp66+dL,IkCkhwF6\ ' *yDZ4Ѧ͗cnDʴ}}`@6Q'tieۢ|0'mo"X(F4ٲlm>VȘYV϶X EIlp66+dL,Ik,Y EIlp66+dL,Ik,a EIlp66+dL,Ik,i EIlp66+dL,Ik,X(F4ٲlm>VȘYV϶XX(F4ٲlm>VȘYV϶X EIlp66+dL,Ik, "Ѥ6ltO&U CkhwF6\ ' *y!i;M.liX>1bm`-NfˁD["aeZO>X>1bm`-NfˁD["aeZO>X>1bHm`-NfˁD["aeZO>X>1bm`-NfˁD["aeZO>X>1cm`-NfˁD["aeZO>X>1cm`-NfˁD["aeZO>X>1cDZ4Ѧ͗cnDʴ}}b !i;M.liVȘYV϶X2X(F4ٲlm>VȘYV϶XBX(F4ٲlm>VȘYV϶XRX(F4ٲlm>VȘYV϶XbX(F4ٲlm>VȘYV϶XX(F4ٲlm>VȘYV϶X"X(F4ٲlm>VȘYV϶Xd6Q'tieۢ|0'mom`-NfˁD["aeZO>X>1cFDZ4Ѧ͗cnDʴ}}bƒCkhwF6\ ' *y8 "Ѥ6ltO&U4 "Ѥ6ltO&U4 "Ѥ6ltO&U4 "Ѥ6ltO&U4 "Ѥ6ltO&UI EIlp66+dL,Ik,"X(F4ٲlm>VȘYV϶Y"m`-NfˁD["aeZO>X>1d!i;M.liVȘYV϶X6Q'tieۢ|0'moHm`-NfˁD["aeZO>X>1c!i;M.liX>1``6Q'tieۢ|0'mo0bX(F4ٲlm>VȘYV϶X! EIlp66+dL,Ik, "Ѥ6ltO&U, "Ѥ6ltO&U0 "Ѥ6ltO&U4 "Ѥ6ltO&UI EIlp66+dL,Ik,q EIlp66+dL,Ik, "Ѥ6ltO&UCkhwF6\ ' *y!i;M.liX>1`D6Q'tieۢ|0'moQd6Q'tieۢ|0'moQ6Q'tieۢ|0'moQ6Q'tieۢ|0'moRHm`-NfˁD["aeZO>X>1`m`-NfˁD["aeZO>X>1`d6Q'tieۢ|0'moPBX(F4ٲlm>VȘYV϶X() EIlp66+dL,Ik, "Ѥ6ltO&U CkhwF6\ ' *y!i;M.liX>1`6Q'tieۢ|0'mo"X(F4ٲlm>VȘYV϶` EIlp66+dL,Ik0Y EIlp66+dL,Ik0a EIlp66+dL,Ik0i EIlp66+dL,Ik0X(F4ٲlm>VȘYV϶`X(F4ٲlm>VȘYV϶` EIlp66+dL,Ik0 "Ѥ6ltO&U CkhwF6\ ' *y!i;M.liX>1m`-NfˁD["aeZO>X>1m`-NfˁD["aeZO>X>1Hm`-NfˁD["aeZO>X>1m`-NfˁD["aeZO>X>1m`-NfˁD["aeZO>X>1m`-NfˁD["aeZO>X>1DZ4Ѧ͗cnDʴ}}c !i;M.liVȘYV϶`2X(F4ٲlm>VȘYV϶`BX(F4ٲlm>VȘYV϶`RX(F4ٲlm>VȘYV϶`bX(F4ٲlm>VȘYV϶`X(F4ٲlm>VȘYV϶`"X(F4ٲlm>VȘYV϶`d6Q'tieۢ|0'mom`-NfˁD["aeZO>X>1FDZ4Ѧ͗cnDʴ}}cCkhwF6\ ' *y8 "Ѥ6ltO&U4 "Ѥ6ltO&U4 "Ѥ6ltO&U4 "Ѥ6ltO&U4 "Ѥ6ltO&UI EIlp66+dL,Ik0"X(F4ٲlm>VȘYV϶a"m`-NfˁD["aeZO>X>1!i;M.liVȘYV϶`6Q'tieۢ|0'moHm`-NfˁD["aeZO>X>1!i;M.liX>1`6Q'tieۢ|0'mo0bX(F4ٲlm>VȘYV϶`! EIlp66+dL,Ik0 "Ѥ6ltO&U, "Ѥ6ltO&U0 "Ѥ6ltO&U4 "Ѥ6ltO&UI EIlp66+dL,Ik0q EIlp66+dL,Ik0 "Ѥ6ltO&UCkhwF6\ ' *y!i;M.liX>1D6Q'tieۢ|0'moQd6Q'tieۢ|0'moQ6Q'tieۢ|0'moQ6Q'tieۢ|0'moRHm`-NfˁD["aeZO>X>1m`-NfˁD["aeZO>X>1d6Q'tieۢ|0'moPBX(F4ٲlm>VȘYV϶`() EIlp66+dL,Ik0 "Ѥ6ltO&U CkhwF6\ ' *y!i;M.liX>16Q'tieۢ|0'mo"X(F4ٲlm>VȘYV϶h EIlp66+dL,Ik4Y EIlp66+dL,Ik4a EIlp66+dL,Ik4i EIlp66+dL,Ik4X(F4ٲlm>VȘYV϶hX(F4ٲlm>VȘYV϶h EIlp66+dL,Ik4 "Ѥ6ltO&U CkhwF6\ ' *y!i;M.liX>1m`-NfˁD["aeZO>X>1m`-NfˁD["aeZO>X>1Hm`-NfˁD["aeZO>X>1m`-NfˁD["aeZO>X>1m`-NfˁD["aeZO>X>1m`-NfˁD["aeZO>X>1DZ4Ѧ͗cnDʴ}}cF !i;M.liVȘYV϶h2X(F4ٲlm>VȘYV϶hBX(F4ٲlm>VȘYV϶hRX(F4ٲlm>VȘYV϶hbX(F4ٲlm>VȘYV϶hX(F4ٲlm>VȘYV϶h"X(F4ٲlm>VȘYV϶hd6Q'tieۢ|0'moѣm`-NfˁD["aeZO>X>1FDZ4Ѧ͗cnDʴ}}cFCkhwF6\ ' *y8 "Ѥ6ltO&U4 "Ѥ6ltO&U4 "Ѥ6ltO&U4 "Ѥ6ltO&U4 "Ѥ6ltO&UI EIlp66+dL,Ik4"X(F4ٲlm>VȘYV϶i"m`-NfˁD["aeZO>X>1!i;M.liVȘYV϶h6Q'tieۢ|0'moHm`-NfˁD["aeZO>X>1!i;M.liX>1`6Q'tieۢ|0'mo0bX(F4ٲlm>VȘYV϶h! EIlp66+dL,Ik4 "Ѥ6ltO&U, "Ѥ6ltO&U0 "Ѥ6ltO&U4 "Ѥ6ltO&UI EIlp66+dL,Ik4q EIlp66+dL,Ik4 "Ѥ6ltO&UCkhwF6\ ' *y!i;M.liX>1D6Q'tieۢ|0'moQd6Q'tieۢ|0'moQ6Q'tieۢ|0'moQ6Q'tieۢ|0'moRHm`-NfˁD["aeZO>X>1m`-NfˁD["aeZO>X>1d6Q'tieۢ|0'moPBX(F4ٲlm>VȘYV϶h() EIlp66+dL,Ik4 "Ѥ6ltO&U CkhwF6\ ' *y!i;M.liX>16Q'tieۢ|0'mo D6Q'tieۢ|0'mo @D6Q'tieۢ|0'mo Bm`-NfˁD["aeZO>X>2@DZ4Ѧ͗cnDʴ}}d !i;M.liVȘYV϶̑`D6Q'tieۢ|0'mo"ŐDZ4Ѧ͗cnDʴ}}dCkhwF6\ ' *y,i EIlp66+dL,IkHHm`-NfˁD["aeZO>X>2E!i;M.liVȘYV϶̑6Q'tieۢ|0'mo#m`-NfˁD["aeZO>X>2F !i;M.liVȘYV϶̑DZ4Ѧ͗cnDʴ}}dCkhwF6\ ' *y0 "Ѥ6ltO&U$`! EIlp66+dL,IkHRX(F4ٲlm>VȘYV϶̑6Q'tieۢ|0'mo#Hm`-NfˁD["aeZO>X>2FDZ4Ѧ͗cnDʴ}}dCkhwF6\ ' *y4a EIlp66+dL,IkHѤ6Q'tieۢ|0'mo#I!i;M.liVȘYV϶̑6Q'tieۢ|0'mo#Am`-NfˁD["aeZO>X>2I!i;M.liVȘYV϶̒Am`-NfˁD["aeZO>X>2I!i;M.liVȘYV϶̑m`-NfˁD["aeZO>X>2G !i;M.liVȘYV϶̐16Q'tieۢ|0'mo cHm`-NfˁD["aeZO>X>2@!i;M.liVȘYV϶̐BHm`-NfˁD["aeZO>X>2ADZ4Ѧ͗cnDʴ}}dDZ4Ѧ͗cnDʴ}}dDZ4Ѧ͗cnDʴ}}dDZ4Ѧ͗cnDʴ}}dDZ4Ѧ͗cnDʴ}}dDZ4Ѧ͗cnDʴ}}dDZ4Ѧ͗cnDʴ}}d!i;M.liVȘYV϶̐Q6Q'tieۢ|0'mo d6Q'tieۢ|0'mo 6Q'tieۢ|0'mo 6Q'tieۢ|0'mo 6Q'tieۢ|0'mo 6Q'tieۢ|0'mo D6Q'tieۢ|0'mo m`-NfˁD["aeZO>X>2ADZ4Ѧ͗cnDʴ}}d !i;M.liX>1m`-NfˁD["aeZO>X>1m`-NfˁD["aeZO>X>1ŐDZ4Ѧ͗cnDʴ}}c!i;M.liVȘYV϶p2X(F4ٲlm>VȘYV϶pBX(F4ٲlm>VȘYV϶pRX(F4ٲlm>VȘYV϶pbX(F4ٲlm>VȘYV϶pX(F4ٲlm>VȘYV϶p"X(F4ٲlm>VȘYV϶pd6Q'tieۢ|0'mom`-NfˁD["aeZO>X>1DZ4Ѧ͗cnDʴ}}cCkhwF6\ ' *y8 "Ѥ6ltO&U0 "Ѥ6ltO&U0 "Ѥ6ltO&U0 "Ѥ6ltO&U0 "Ѥ6ltO&U4 "Ѥ6ltO&U4 "Ѥ6ltO&U4Y EIlp66+dL,Ik8hX(F4ٲlm>VȘYV϶pѤ6Q'tieۢ|0'moᤐDZ4Ѧ͗cnDʴ}}c!i;M.liX>16Q'tieۢ|0'mobX(F4ٲlm>VȘYV϶  "Ѥ6ltO&UCkhwF6\ ' *y!i;M.liX>002X(F4ٲlm>VȘYV϶  "Ѥ6ltO&U!i;M.liX>0@"X(F4ٲlm>VȘYV϶Y EIlp66+dL,Ik0 "Ѥ6ltO&UCkhwF6\ ' *yCkhwF6\ ' *y!i;M.liX>0@BX(F4ٲlm>VȘYV϶ "Ѥ6ltO&U!i;M.liX>0Qd6Q'tieۢ|0'mo(X(F4ٲlm>VȘYV϶i EIlp66+dL,Ik I EIlp66+dL,Ik 8 "Ѥ6ltO&U!i;M.liX>0PRX(F4ٲlm>VȘYV϶ "Ѥ6ltO&U!i;M.liX>0a6Q'tieۢ|0'mo1$6Q'tieۢ|0'mo0X(F4ٲlm>VȘYV϶ "Ѥ6ltO&U!i;M.liX>0`bX(F4ٲlm>VȘYV϶$ 0i;M.liX> EIlp66+dL,Ik``@ 0i;M.liX>,Q'tieۢ|0'meE@(F4ٲlm>VȘYV϶"ō EIlp66+dL,Ik`b EIlp66+dL,Ik`bJ"Ѥ6ltO&U`d 0i;M.liX> @(F4ٲlm>VȘYV϶"ŃJ"Ѥ6ltO&U 0i;M.liX>,Q'tieۢ|0'meE@(F4ٲlm>VȘYV϶" EIlp66+dL,Ik`c EIlp66+dL,Ik`cJ"Ѥ6ltO&Ud 0i;M.liX> @(F4ٲlm>VȘYV϶"J"Ѥ6ltO&U 0i;M.liX>,Q'tieۢ|0'meE@(F4ٲlm>VȘYV϶"ƍ EIlp66+dL,Ik`cI EIlp66+dL,Ik`cGJ"Ѥ6ltO&Ud 0i;M.liX> @(F4ٲlm>VȘYV϶"ƃJ"Ѥ6ltO&UH@`%hwF6\ ' *yXY D 0i;M.liX> EIlp66+dL,Ik`` 0i;M.liX> EIlp66+dL,Ik` 0i;M.liX> EIlp66+dL,Ik` 0i;M.liX>4Q'tieۢ|0'meI$Q'tieۢ|0'meI@(F4ٲlm>VȘYV϶$J"Ѥ6ltO&U 0i;M.liX> @(F4ٲlm>VȘYV϶#@`%hwF6\ ' *yXp DZ4Ѧ͗cnDʴ}}0Q'tieۢ|0'meG EIlp66+dL,Ik`ĐJ"Ѥ6ltO&U 0i;M.liVȘYV϶ `D 0i;M.liX>J"Ѥ6ltO&U) -NfˁD["aeZO>X>J"Ѥ6ltO&U  -NfˁD["aeZO>X> EIlp66+dL,Ik`A 0i;M.liVȘYV϶ 0i;M.liVȘYV϶ 0i;M.liVȘYV϶ @`%hwF6\ ' *yXa -NfˁD["aeZO>X> EIlp66+dL,Ik`RH@`%hwF6\ ' *yXq -NfˁD["aeZO>X>J"Ѥ6ltO&U(! -NfˁD["aeZO>X>J"Ѥ6ltO&U(1 -NfˁD["aeZO>X>J"Ѥ6ltO&U0 DZ4Ѧ͗cnDʴ}}@(F4ٲlm>VȘYV϶ H@`%hwF6\ ' *yX DZ4Ѧ͗cnDʴ}}@(F4ٲlm>VȘYV϶ d 0i;M.liVȘYV϶ 0i;M.liVȘYV϶ -NfˁD["aeZO>X> " !A*"Ѥ6ltO&U`0 -NfˁD["aeZO>X>HF4ٲlm>VȘYV϶RHF4ٲlm>VȘYV϶PJi;M.liX>A`k@(%DZ4Ѧ͗cnDʴ}}dCF4ٲlm>VȘYV϶@R!A*"Ѥ6ltO&U` !A*"Ѥ6ltO&U( $BTEIlp66+dL,IkP@&D0PJi;M.liVȘYV϶@R!A*"Ѥ6ltO&U,` !A*"Ѥ6ltO&UB H@@F4ٲlm>VȘYV϶X$PJi;M.liX> AhwF6\ ' *yP`` -NfˁD["aeZO>X> @F -NfˁD["aeZO>X> @F@(%DZ4Ѧ͗cnDʴ}},$0PJi;M.liVȘYV϶QF4ٲlm>VȘYV϶0p!hwF6\ ' *yP -NfˁD["aeZO>X>8EIlp66+dL,Ik! `X! @,pAF'3yAXX>X>';:./usr/share/man/info/en_US/xlf/html/A kpVf$hf>X> X>';./usr/share/man/info/en_US/xlf/html/index.htmp/$ The IBM XL Fortran for AIX Version 8.1.1 Library

IBM XL Fortran for AIX Version 8.1.1 Library


IBM XL Fortran User's Guide IBM XL Fortran User's Guide

IBM XL Fortran Language Reference IBM XL Fortran Language Reference ϶ kNg$ hf>H> X>'; ./usr/share/man/info/en_US/xlf/html/lr.htmtmp/$ Language Reference XL Fortran for AIX V8.1.1

Language Reference

XL Fortran for AIX
Language Reference

Version 8.1.1

Document Number SC09-4947-01

5765-F70

Note!

Before using this information and the product it supports, be sure to read the general information under Notices.

Second Edition (June 2003)

This edition applies to Modification Level 1 of IBM XL Fortran Version 8.1 for AIX (Program 5765-F70) and to all subsequent releases and modifications until otherwise indicated in new editions. Make sure you are using the correct edition for the level of the product.

Order publications through your IBM representative or the IBM branch office serving your locality. Publications are not stocked at the address given below.

IBM welcomes your comments. You can send your comments by any of the following methods:

  • Electronically to the network ID listed below. Be sure to include your entire network address if you wish a reply.
    • Internet: compinfo@ca.ibm.com
  • By mail to the following address:

IBM Canada Ltd. Laboratory
Information Development
B3/KB7/8200/MKM
8200 Warden Avenue
Markham, Ontario, Canada. L6G 1C7

When you send information to IBM, you grant IBM a nonexclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you.

(C) Copyright International Business Machines Corporation 1990, 2003. All rights reserved.
U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.


[ Top of Page | Next Page | Table of Contents | Index ] D["ae lBh$ hf>H> X>';̺./usr/share/man/info/en_US/xlf/html/lr02.htmp/$ "AE <=>HNRT_rt #./0CDFILMOaehlmn123456789PSUcdiops()Bfgu,GKXYxy-VWbkvQZw|!:Jjqz;?\}$%@]{[$6*BQy}v!XYblezW̓xt H/ddsk<P$ ^P ?a@K 1#@ H[ϝ<E@:(L2_^ d ?a@S 1#@ H!`J3 H} xWQG@ pS $2ML{KB˕l/, ǽm ǽ xt c*\v$ ǽ *@BҸqcw dSY7W0B~F@%(.&F@"P *^Heq gdUpï +򀇀N phUJ>$ @ t"&]c1c1c1c1c1c$>lT @i*áAl2t0>ad'YBa}9o-r^|H-## >PRPӖ+K\>u5 U Edg@6+^W?$dUICN[㨯K}-qӎ\6iUqEmuaL3P B9=6X^/FAU%}9o-_N:sYp٥T Ipï)Bx2 (s|uo+_:qˆ* `/E dJ^\g ;FAU%}9o-_N:sYpٲ6qq{) iMdODK.WK=oD>Q^Z5o 9lҬA"lT?%^D/E P"xDB22 (s|uo7_:qˆ*ETP)5=,]/FAU%}9o-k_N: sYp٥Ye2*7OHXa?dUICN[㨯K}-pk_N: sYpٲ6qplQ0x2 (s|uo6u25 UA plKy[`0# zB22 (s|uo>u0cˆ*{x!m */Sm(B*T# >Q^Zk_N:9lҬA#EleoH w,dW`H*ϧ-Wa:ӎk.4BDGdC,:M. qr^}##!:%CN[㨯K}-pµo\6iU菏{4 2uP[LRPB22AU%}9o- ξusYp٥U)`Big sw8*L,Ju*x!WW$ JH-## >Q^Zk_N: 9lҨ!T@^\g :`BUICN[㨯K}-puo\6iUqEKU} yB\.<82 }*ϧ-Waӎk.6X&.v(8zE0,Y/FAU%}9o-á}8x 0el*PBQKUICN[㨯K}-po\6lM\8mW\eܼcdUICN[㨯K}-po\6iU1”iwWpH-## >Q^Zk_N: 9l`8q$ׯ*T9:'_:qiefÉ#_# >Q^Zk_N: 9l`8q[/W[# >Q^Z_N: 9lҪR%)6PBUICN[㨯K}-p5o\6iUJ)e9]̒(P(Uצ,*x2 (s|uonu0Ӛˆ*$I29de?d[FFAU%}9o-ÎξusYp٥T -U@3Le 2uB22 (s|uo! |[a5 ,g2uzxe*L2r􌂪JrEz[k }8x 8ellg,M1`YfKUICN[㨯K}-qo\6lM\@}L7Y?dRPӖ+K\@|[a5 ,g#e0&\eܗ# >Q^Z_N:9l`8;!J;p^􌂪JrEz[k}8x 8ellÅ PRPӖ+K\Hm|[p5 U}oHl9iáAl2mw%JH-## >Q^ZC_N:9lҬA#li0K,T9:#_:qAeff #eFdT9:'_:qIeff ;dC,ew%H-## >Q^ZEk_N:9lҬA#le.vA` # >Q^ZE_N:9lҬAH e]`e?d[FFAU%}9o-ČξusYp٥YCdGY.&BIW1?dUICN[㨯K}-q#uo\6iVh l( d &^\9FAU%}9o-ξusYp٥T I^@^ 22 (s|uo(Nu8ˆ* =<2 &^\9FAU%}9o- ξusYp٥TWWEu*2(Uz%\,Q2P?d[FFAU%}9o- ξusYp٥Y_ʄX.2KIL B ˤ# zB22AU%}9o-ξusYp٥[G -0[,zLeYaoIpdK[FFAU%}9o-š}8x4JA I2^B22 (s|uo,6u8Ӛˆ*Ԣ[+2a8.&$P$8/F@ddRPӖ+K\X}|[q5 U $p}Le+$^B22 (s|uo,Fu8ˆ͖ Dù/FAU%}9o-ʼnξusYp٥^#eM䫌d'+$^}*ϧ-WZӎ\6iUJZ(pQ >̗# ЌJrEz[k}8xeff dd)@UICN[㨯K}-qcuo9lҬAB UICN[㨯K}-qk_N: sYp٥YDdFAU%}9o-ξu@JA TQBL7FAU%}9o- ξu@JA E0,2 (s|uo0nuB5 Ul62## >Q^Zk_N:9lҬAAgI̗# ЌJrEz[kC_:q 1efơQy=p T9:_:q 1eff 'd9gtO,/ + ,}e/FAU%}9o-!}8xJWW!jFk*H pK!xdT9:'_:q 1efHEtW^ä޳HЌJrEz[k}8xJA ,-\)poDù/FAoT9:3_:q 9eff ;e6ALdGmtXw%H*ϧ-Wӎk.44@P%eމWKr^􌂪JrEz[k@6u@sˆ*(V `J_,;?dRPӖ+K\25o\6iVh CvS*lZz%]/x2 (s|uo:ӎk.44@P6DKt)eKz%]/x2## >Q^Z}8x JAP 2 &r($H*ϧ-Wdk_N: 9lҬA $IGJdW^C,d,ʄcdddRPӖ+K\2uo\6lM\2v^K˔t)2Qҙ(U2 (s|uoӎNk.4)% eܗz,(SȺMB=oT9:  |[G5 UU!n˛l&2P!2^􌂪JrEz[k _:q Yeff /dC%pS/E dJ+(%H-## >Q^ZξusYpٲ6qp t2Xm2W 2[`vKUICN[㨯K}-pk_N: 9l`8`6D$Ul`+z-\%H*ϧ-W`uo\6lM\0a;"+z-\rN˹# zB2}%T9: Vu@Úˆ*k$Z`YĜdK[FFAU%}9o-}8x4JZ%Mc [FFAU%}9o-}8x4el  tw {H\W`H*ϧ-W`uo\6iVh a^ .B^(.(U2 (s|uo0|[5 U p͕XtLd & {p?d[FFAU%}9o-C_:q qeff˱oIM2WH*ϧ-W`oP9lүBc^ ,BE2i̿eH-## >Q^ZჇξu @elჇx) 6w 6PL`/aYx2 (s|uo8|[k.4lV. WBOaYx2 (s|uo8|[k.4'V.&e/aYx2 (s|uo8|[k.6X&.8,eHЌJrEz[k/_:q$1efxL~ˋ q`!,`^B22 (s|uo8|[5 ,g fL8YKKp&i̿eHЌJrEz[k7_:q$9efRBcI200Le0 /FAoT9: vuHsˆ*򪮏WeͶT`m0,T9: ! |[5 U}a[Ǖ(Yx2## >Q^Zξu sYp٥^ Abe˅0@e0 /FAoT9: >uHˆ͖ e,%T%\[v_?d[FFAU%}9o-}8x$JAa[\eܗ# ЌJrEz[k'_:q$Ief\^􌂪JrEz[k+_:q$Ieff F˱oqrM@=oT9: ^uHˆ*@@c AY(U?dUICN[㨯K}-pk_N:9lҩ!DrP_l,9/FAU%}9o-}8x(J/bB6@+$W %^􌂪JrEz[kuHˆ*jBl` B{ypQЧՇB/FAU%}9o- }8x(JZH` B{y ,B*bKUICN[㨯K}-pC_N:9l`8a!Ua!:M`/*$PHЌJrEz[k#_:q$YefzBv0-tpK%p^B22 (s|uoH|[g5 ,g $NG 6Q`"KR{oDY+2## >Q^Zᄊξu sYp٥_ukatt *QЧ0,(J (s|uoH|[5 U@ -0[,attrN˹(# ЌJrEz[k3_:q$qef|>SdRadPW(.\WKI(댻2 }*ϧ-Wa#uoG\6lM\0!(=oT9: (6uR5 UEz@%]/[ .PH-## >Q^Zξu @elx) 6w z%]/[ .PHЌJrEz[k#_:q(1efT@F(dW_dr]/FAoT9: (NuPcˆ͖ 'e,%T%:S%l]atUICN[㨯K}-p…k_N:9lҩd@BEr ^B22 (s|uoP|[5 ,g (^L8YKKd@BEr ^}*ϧ-WaC5o\6iWԥKg d IEr ^B22 (s|uoP|[5 ,g (n ˬH*ϧ-WaCo\6iVh p]irPT9: ,>uPˆ*n H*ϧ-Wabuo\6iVh pUe2P7FAU%}9o- }8x JATQBL7FAU%}9o- }8x elG.}*ϧ-Wao\6iU/Mq/eIM;tBOaoIMg dWKUICN[㨯K}-pk_N: 9lҬAT?Er ]_K I[FFAU%}9o- }8x(JAI2MI2/\8c%p^􌂪JrEz[k3_:q(Qeff'dDGB &2Y/F@ddRPӖ+K\0ӎBk.4-^ CdGK$.\S2`H-## >Q^Zξu sYp٥Yċv eBODK8.P?d[FFAU%}9o- }8x0J4 _z%]/ddRPӖ+K\0:ӎCk.4-]9(S`70-\@\eܗ# zB22 (s|uoh|[5 UMzl^DY# ЌJrEz[k3_:q(ief Qܳg% ~Ze^UWUY,=oT9: 4nuPˆ*9@yR?(댻2 }*ϧ-Wao\6lM\0/0f./Tg:.􌂪JrEz[kuPˆ* ,nGrS8x8.P)w0?d[FP=oD>Q^Zξu @J]-0[,z%] Y,?$dUICN[㨯K}-pÄk_N:9lҩ , } \eܼ!?dRPӖ+K\0:ӎak.44@BJ&J_8 %2 }*ϧ-WaµoÜ\6iVh 6^ aͳF@ddRPӖ+K\0zӎbk.4W!DY# ЌJrEz[k3_:q,Aeff/0f/F@ddRPӖ+K\0ӎbNk.4MKfB22 (s|uop|['5 Uԅ+4( X.2`HЌJrEz[k@nuXˆ* 5W%ME}tpK0?dUICN[㨯K}-pξu sYpٲ6qpx) 6UICN[㨯K}-pξu sYp٥Y aI4QШ2## >PRPӖ+K\8`ӎck.4>b4R$Z`Y*yJdt&I?$dUICN[㨯K}-p_N:9lҬA#*Y2 }*ϧ-Wp5oƜ\6iV/ Hf^T%>8UICN[㨯K}-pk_N:9lү ;..\"dW`H-## >Q^Zá}8x8JAR.TF2P?dRPӖ+K\8pӎck.4D"%.TF2P?dRPӖ+K\8qӎck.4vCʔw,\REBUICN[㨯K}-pk_N:9lҬAlw,3*QܳrIc% F@ddRPӖ+K\8qzӎ\6iVh CT+ 8.p+&IW7 `VpddRPӖ+K\8qӎ\6iUJ[A%8u?I2L/ # >Q^ZÍξu @JAQܳ 2JI/F@ddRPӖ+K\8ӎk.44@@%8 `/l ddRPӖ+K\8ӎk.44@@/0fyPw,%L=oT9: Fu`sˆ*$^ ˬ'YKxCeIH-## >Q^Z ξu sYp٥YurAeB˼ ˬ'RL /!,I2^􌂪JrEz[k/_:q09eff;eଲ2=Gs(IT$wbif]g =GrX$*H/FAU%}9o-È}8xJzkd$z+?dRPӖ+K\85o\6iU/O$IGY&.\S2`HЌJrEz[k_:q0AefV)Y~ a H*ϧ-Wq"5o\6iUe",T[l# ЌJrEz[k'_:q0IefÉSm {X0ف# zB22 (s|uoH|[G5 UU:]mCeII*yJfB22 (s|uoH|[G5 ,g$^L8Y^T%˰.ddRPӖ+K\8ZӎNk.44@@.%`(-]d@B=oT9:(vu`ˆ*0f˰.\REB[FFAU%}9o-ËC_:q0qef@^W}= {x*p?dRPӖ+K\8ӎk.4J;]ʄ .T9:,Fu`ˆ*Eedl* .T9:,Nu`ˆ*Y.Y/%].r(UzAn8 `(-]wЮ^? eUICN[㨯K}-pk_N:9lҬAP*ˡYiB^LaYg˹/FAU%}9o-Ë}8x8JA XFv. .T9:,fu`ˆ*򪮊 *IY. .T9:,vu`ˆ*R*Qܳ` q[An2KUICN[㨯K}-pξu sYp٥YRL %w〷eܗ# >Q^Zξu sYp٥Yq|` q[An2KUICN[㨯K}-p_N:9lҬAErW^T%T$K8eL# >Q^Z ξu sYp٥YT-K$VKl (S&IՐpˤ.}q?dRPӖ+K\8zӎk.4_Nˁ*\`IGB?I2L/ ]$w̺ }q?d[FFAU%}9o-Ì}8xeff7eVIBUICN[㨯K}-p_N:9lҨ52*IaxdddRPӖ+K\8ӎk.6X&.`헂pl# zB22 (s|uojӎk.4K콶\eܰ&I?dUICN[㨯K}-pCk_N:9l`8q^ aͲ^}## >PRPӖ+K\8ӎk.46Hl9:X/'yz%]$l(# ЌJrEz[k#_:q4Ieff }Y$W[FFAU%}9o-Í}8x$JUIÌg,}Y$WUICN[㨯K}-pEk_N:9lҬ@2 t$c9d"&^􌂪JrEz[k/_:q4Ieff@V&Q_VI2?d[FFAU%}9o-Í}8x(JA /dF/FAoT9:4nuhˆ* ͗aQKUI@fyBq$2N@,ò>Q^ZƎξu sYp٥YdVYì66&KzI\ 0[. ^L2K/ao!2Ð?dRPӖ+K\85oE\6iVh lw,zedUICN[㨯K}-pk_N:9lҬ@2tK[FFAU%}9o-Î}8x,JA DK% /a])2 (s|uop|[g5 U a[/2H/% zLe :\%Q^Z }8x0JT\^0p+oDdWKUICN[㨯K}-qξu sYp٥_J.B/tHFz%]&S% ^􌂪JrEz[k@FuhÚˆ͖ @Fz%]&S% ^}## >PRPӖ+K\BoF\6iUE"8`^KÌg% (# ЌJrEz[k uhˆ*@@͒ep)IeoLc9(TddRPӖ+K\@`ӎk.6X&. 0mLe2zL%WH*ϧ-WoG\6lM\@`$JmL^%`lx2 (s|uo 0|[5 ,gFC8(SL&KB+?d[FFAU%}9o-}8xeff $nɔGBH-## >Q^Z ξu@JA;dW 6)LJ:F@ddRPӖ+K\@azӎk.4[R$e2.K d [FFAU%}9o-}8xJAeE0,w2(TT9:nupcˆ*@P}C :`e2QШ2 (s|uo 8m|[5 U [/ +t#]&7$(Uw2(TT9:Nupcˆ͖ 'e)@UICN[㨯K}-q_N:9l`8^ALJ:FAU%}9o-}8xJA;d EB*.LJ:FAU%}9o- }8xJAdx0Y ɔGBH*ϧ-Wuo\6iVh x2否p&S% # >Q^Z ξu sYp٥Y Uʕ (IdP?dRPӖ+K\@5o\6iVh .eedP?dRPӖ+K\@ӎk.44A6@ȴ%pJw2(TT9:$Vupcˆ*@`x40MEaw2(TUICN[㨯K}-qF_N:9lҬA "Uoe2.K d [FFAU%}9o- }8xJA;d{6vdP?dRPӖ+K\@ӎk.44A@dJUw2(TT9:(Fupsˆ*@h$U;Lt*􌂪JrEz[k+_:q89eff 4Vˋ/,'T,m@c% &S% x2-1 e3?ɔd,-# >Q^Z ξusYp٥Y a! mw7W6àC+8*&S% # >Q^Z ξusYp٥Y Lt*􌂪JrEz[kupsˆ*@r! Izl\ɔGBH*ϧ-Wb5o\6iVh l^@x:M<@^WsɔGBH*ϧ-Wbo\6iVh l}IaKB;Lt*}*ϧ-Wcuo\6iVh w,Y(U׀2˯Qy=p (_%äޙ\8^@$$JtT9:,vupˆ*@p풥 H%I2q䣡P?dUICN[㨯K}-qξusYp٥YCdB)IeoQy# >Q^ZξusYp٥Y T|$7y# zB22 (s|uo `}|[G5 U *0-/W1t*B22 (s|uo `|[G5 U *0-/`&2T9:0Vupˆ* ͕q `&2[FF@|(*ϧ-W5o\6iT -0[,92Yqr]:MK[FFAU%}9o- }8x0el vs8^Y/FAU%}9o- }8x4JB.UUpBFAU%}9o- C_:q8qefyUWGeʪ=o# >Q^ZξuAˆ* R􌂪JrEz[k#_:q5 U6]nˈu#FAU%}9o- }8x sˆ*r rdȁ~􌂪JrEz[k3_:q5 UT[A u􌂪JrEz[k;_:q'5 UA|T9:86u2k.4*UX2 (s|uo p|[d\6iU!$xUICN[㨯K}-qk_N: 0Jϫd?dRPӖ+K\@ӎ 9lҪ*CH# >Q^Zξu@qefQ]eYz@UICN[㨯K}-q( ξu efQ]a#dW?dRPӖ+K\J5o9lҪ+ܥ6HKr!FAU%}9o-Ġ7_:q0sˆ*,^R~􌂪JrEz[k@vu0a5 UDDFAU%}9o-Ć }8x IefRv.@UICN[㨯K}-q!k_N:sYp٥TUtvI*􌂪JrEz[k '_:q0ˆ*$gIUICN[㨯K}-q!k_N:sYp٥T[AMJ- # >Q^ZC ξu 4J/Ix2 (s|uo$:ӎ\6iU%i]4WH*ϧ-W5osYp٥TEaKWފW?dRPӖ+K\HqZӎ\6iU G$}AEFAU%}9o-ć}8x 9ef}RH|T9:nu0q5 UHzR# >Q^ZCξu$JHx ?UICN[㨯K}-q"ξu(JD_DH*ϧ-Wo9lү$W '"UY,UICN[㨯K}-q"k_N:sYp٥_J'쾉=J[#?dRPӖ+K\H:ӎƜ\6iW蕁#eI2 (s|uo$@|[`k.4I5$WH*ϧ-W5o sYp٥_ }-PLT9:% |[ak.4 x" 2 (s|uo$H|[ak.4-B# >Q^ZDξu J֊o9X2 (s|uo$H|[aNk.4!eI^UX2 (s|uo$Rӎ\6iU5ʣMzd?dRPӖ+K\Hӎ\6iU5[d[FAU%}9o-Ċ}8x aefS#Dl$( H*ϧ-Wao 9lҨ{/l˾˼($H*ϧ-Wbuo9lҨ{.l˾˼ $H*ϧ-Wc5osYp٥P2\}x1ItL* UICN[㨯K}-q"k_N: sYp٥UiM݂irP<T9:0>u05 UQ;OQ76TFAU%}9o-Č}8x $AefTMU#Q7*T(&# >Q^ZF ξu$J,=UE*Z􌂪JrEz[k7_:qHˆ*@EJJB*WH*ϧ-Wk_N: sYp٥U)o}vJRUICN[㨯K}-q#C_N: sYp٥U)oJRK@UICN[㨯K}-q#D_N: sYp٥U)oh씥?FAU%}9o-č}8x $qefTB씥(T9:4fu0k.4Up2%W(+FAU%}9o-č}8x (1efV]"*e"UICN[㨯K}-q#ξuJ.e"}WG#_# >Q^ZGξu JRST!h2 (s|uo$p|[aBNk.4B*``H*ϧ-Wµo 9lҪ% H*ϧ-W5o 9lҪWd(9X2 (s|uo$p|[aCk.4?}CFAU%}9o- u05 UH~!?dRPӖ+K\Ruo9lҨԥ!K}^ \g :UICN[㨯K}-qH ξuefT6CRd)UICN[㨯K}-qH ξuJ-U)h2 (s|uo)ӎÜ\6iT}Tz߲U^UICN[㨯K}-qAk_N: sYp٥Q\ ^[d>@UI@fyBq$2N@,ò>Q^Zξu$J꽽z[!^ލ(2 (s|uo(0|[abk.4Q^Z ξu,JKe_H*ϧ-Wuo9lҭWX2 (s|uo(:ӎƜ\6iVKe_EzFAU%}9o- }8x ,qefk#Zl#Z@UICN[㨯K}-qA_N: @JJ%Q(2 (s|uo(8|[ak.4C_!!/UICN[㨯K}-qAk_N: sYp٥RQ^Z!}8x 0QefH[;"(T9: 6u0g5 U!eYq?dRPӖ+K\Pӎ\6iTF"B*)O# >Q^Z ξu4Jꁾ+u@h2 (s|uo(@|[ak.4`HX?H*ϧ-WuosYp٥[G^̽&I6BUICN[㨯K}-qBPξuJH~ȉ# r:I d<.Ye}9o- }8x 49ef@^T^TUICN[㨯K}-qBC_N: sYp٥PJ؏+T?dRPӖ+K\P:ӎD\6iT]^U(UICN[㨯K}-qBE_N: sYp٥P-FAU%}9o- }8x 4Yef@idO?dRPӖ+K\PӎF\6iT U-?d[FF@|(*ϧ-WHk_N: sYp٥Tm-0[,3.zE0,Y/P<"FAoT9:(6u05 ,g(68˹{} H2^\8aY(^B22 (s|uo(P}|[ak.4Բu[dWeܽ2q$P dT9:(fu05 UEa)`Fʅ]$Uw/LzE0,Y/F@ddRPӖ+K\P5o sYp٥Te)Idw7[%(dW`H-## >Q^Zⅆξuef J,"dJ,# >Q^Zⅇξuef H%K%WTR" GBHЌJrEz[k#_:qpcˆ*Kd9`lzE0,YzL%PH-## >Q^ZⅉξuJ@. Cg􌂪JrEz[k+_:qpcˆ*DyUvHUWUICN[㨯K}-qB_N: sYp٥TWU^CH/ȁA^}`H*\8iB' ˖aCN[㨯K}-qCk_N: sYp٥R4ꪒWUX2 (,ï(N$aЦIvPӖ+K\PӎÃ\6iT*LWU[dH|[FF@|(*ϧ-Wo9lҪ-pz.P&I?$dUICN[㨯K}-qCPξu el↡E dʄGs(IT$x2 }*ϧ-Wo9lҪR(-;tBOL-Y(U?dRPӖ+K\PӎÄ\6iW)j콶\eܰw8(r?I2L/ # >Q^Zↈξu J$ /\z0YLޣGK$%]/FAU%}9o- }8x 8AefmZ)KWel0pq* Gs(I酺K% ^􌂪JrEz[k+_:qpˆ͖ +dGK$`> 䣬# zB22 (s|uo(h|[aNk.4Wǐ$X}Y-KXBblddRPӖ+K\PњӎÄ\6iUeR%!L2e2 (s|uo(h|[aNk.4)Klw,3XzIT9:4vu0'5 UYtʬc,=bn}*ϧ-Wk_N:sYpٲ6qqC$X($ޓ%`l*w z.P&I?dRPӖ+K\PӎÅ\6iW\l 2 (s|uo(p}|[ak.46\@FAU%}9o-}8x 8iefyv\􌂪JrEz[k'_:qpˆ*+r+􌂪JrEz[k+_:qk.4ȮA-"# >Q^Z ξu@1efy "B "BʃT?dRPӖ+K\Pӎ9lү$HZ.HAZP 2 (s|uo(p|[t\6iW[.QnPp+[?dRPӖ+K\Pӎ 9lү)KlJXDFAU%}9o-Šu:k.4ʫU[IEFAU%}9o-Š_:qg5 UU]˕Utzސ7V y\?Utzސ1y^<T9:}|[t\6iW-)Kpu(;H*ϧ-Wk_N:4J@N˨ [IEFAU%}9o-Š'_:q5 U Se0 ?dRPӖ+K\Zo sYp٥^ q(0 ?dRPӖ+K\Zo9lү *vˈ]:ސ0ԥW۪􌂪JrEz[k@fu8`5 Uu6]n0 ?dRPӖ+K\Zuo9lү[˭H2 (s|uo-ӎᄜ\6iWu@􌂪JrEz[k u8aG5 Uuu 2 (s|uo,0m|[pk.4(dA@ 􌂪JrEz[k _:q0Úˆ*[[do!`ewUICN[㨯K}-qak_N:sYp٥T}ETdpu(;H*ϧ-Wuo9lҪ3쑟T@+Q wUICN[㨯K}-qak_N:@J=PF^ |T9:^u8p5 UEz d@00|T9:fu8p5 UEr$W # >Q^Z ξu JA-+H2 (s|uo,0|[pNk.4'Er􌂪JrEz[ku8qG5 UEr4q8(;H*ϧ-WoË9lҪ#-$G[2 (s|uo,8}|[pk.4 H^^Bj'`+Q`wUICN[㨯K}-qak_N:sYp٥T@U *`P5.F\Q+pwUICN[㨯K}-qa_N:sYp٥TKd[JQoKWE < #H*ϧ-Wo sYp٥TA 7􌂪JrEz[k/_:q@cˆ*lEaWAFAU%}9o-Ň}8x 9efRP lP FAU%}9o-Ň}8x AefRQmJ, 2 (s|uo,8|[qNk.4U$>E Ѳ@;H*ϧ-Wk_N:sYp٥TtI􌂪JrEz[k_:q@ˆ*&vz&vׁ W .$ X􌂪JrEz[k_:q@Úˆ* *6^<@`@;H*ϧ-W5o 9lү=0`@;H*ϧ-Wuo9lү4v_T􌂪JrEz[k+_:qJ5 U@FAU%}9o-ň}8x$1ef|=z}6^>􌂪JrEz[k3_:qHsˆ*dPn|T9: nu85 UN_dy(# >Q^Zξu$JnYne2 (s|uo,JӎE\6iT 7S+^T􌂪JrEz[k_:qHˆ*5) FAU%}9o-ʼn}8x$aeffD )x0 ?dRPӖ+K\XӎF\6iUNF}]ȃ􌂪JrEz[k'_:qHˆ*KdQ e@wUICN[㨯K}-qbEk_N:@J"vJ"AzFAU%}9o-ʼn}8x(1efTR6J)b^=rW|T9:$fu85 UP dA2W\;H*ϧ-W#uo9lҪϫQA|T9:$vu8'5 US׮O^^# >Q^Z!}8x(QefTWQ_2# >Q^Zξu,J-mp􌂪JrEz[k_:qPÚˆ*DRx W"BR`+98;H*ϧ-WB5o 9lҪJXDFAU%}9o-Ŋ}8x(qefT씥p;H*ϧ-WBoŠsYp٥UE 2 (s|uo,P|[qak.4 m&N# >Q^Z ξuJvGd dANWP;H*ϧ-WCuoň9lҨJ$?dRH*ϧ-WCoʼn9lҪ [%B#DH(<T9:- |[qbk.4@d@@wUICN[㨯K}-qbk_N:sYp٥U~%~-U(|T9:,>u85 UWj_U!j@0;H*ϧ-Wb5oō9lҪnYn*`@;H*ϧ-WbuoŎ9lҪo*b_!j@5FAU%}9o-ŋ}8x1ˆ*P5ZP ~|T9:,^u85 UU_*Ty UJ2 (s|uo,X|[qk.4*ZP ~|T9:,nu85 UUtvJ0 ?dRPӖ+K\Xӎ\6iUU%WFAU%}9o-ŌC_:q`ˆ*2%W@FAU%}9o-Ō }8x0YefU\ u85 UTN%HMD &v|T9:0Fu85 U[vKu"2j^Z.zQ%# >Q^Z ξu8Jp#d0 y2 (s|uo,`|[q\6iUnx z%``@;H*ϧ-WoƆ9lҪUtvKp!Uׁ WW+WD^^UICN[㨯K}-qck_N:sYp٥U%Z$ X pZ$ 􌂪JrEz[k7_:qhˆ*~oAr5GLj^􌂪JrEz[k;_:qhˆ*6K)@n ^q􌂪JrEz[ku8G5 UYJx z%O# >Q^ZƆξu,J)EWGdUtAH(q8;)EWD^^UICN[㨯K}-qcC_N:sYp٥U R/* կ@IE[WYJ7V n # >Q^Zƈξu4J.e+ǃ􌂪JrEz[k'_:qhˆ*DU_dUpnx;H*ϧ-Wo sYp٥UP,Cd 'U:^ .}wUICN[㨯K}-qcE_N: sYp٥ZW[eO FAU%}9o-ō}8x89efh-7^R􌂪JrEz[k7_:qpˆ*{l|T9:4vu8'5 UvT".@# >Q^Z!}8x8QefhEa]q[M"|T9:86u8g5 UtvT"Gq] AzIEFAU%}9o-Ŏ}8x8aefhEb$+Dm4UICN[㨯K}-qck_N:sYp٥Qd?uk+p+_F?dRPӖ+K\X:ӎ\6iT}})_EB /@`@;H*ϧ-Wµo@J>XFAU%}9o-Ŏ}8xcˆ*萘 H\􌂪JrEz[k3_:q!5 UU"CDQ7V %n y\<}WH6ׁ W?dRPӖ+K\Xӎ9lҨEa6@^ |T9:8vuBNk.4<mE?dRPӖ+K\bk_N: (Jl(􌂪JrEz[k@6uBk.4^[*|T9:}|[\6iVDZ*]kЊPi@_!`wUICN[㨯K}-qξu@iefkIulIuC b _y^^}z?dRPӖ+K\buosYp٥Z߲P wUICN[㨯K}-q ξu efk+Q wUICN[㨯K}-q ξu JWXWǩFAU%}9o- 3_:q 0sˆ*OʾB|?.F' /;H*ϧ-W_N:sYp٥ZԀEMj@"wUICN[㨯K}-qξu $J!5ʤ&vP Q;􌂪JrEz[k u@aG5 U +" 2 (s|uo00m|[k.4AȂ=@b^CxG"|T9:>u@a5 URDD=_FޕԥRT?dRPӖ+K\`aӎ\6iVʁԦȇҽJ$ < 􌂪JrEz[k '_:q 0ˆ*x z"k zXP?dRPӖ+K\`aZӎ9lҩ b >2 (s|uo00|[k.4A@56DP|T9:fu@p5 U Ȃjr^>2 (s|uo00|[k.4AJl)@`@;H*ϧ-Wõo9lҩ(ȂHFAU%}9o-C_:q 8ˆ*RR􌂪JrEz[k_:q 8ˆ*PȂH(;H*ϧ-Wo9lҩ/ȂLFAU%}9o-}8xiefHTd@"wUICN[㨯K}-q_N:sYp٥RȀ$ Ar5GIE+S􌂪JrEz[k+_:q B5 U +m [FAU%}9o-}8x 1efHWȅzH?dRPӖ+K\`qӎ\6iTD կ@IE[W E`nxz@FAU%}9o-}8x AefHH[ __ E[􌂪JrEz[k;_:q @ˆ*Ȁ$k\,z+^^ikx2 (s|uo0Bӎ\6iVMwUICN[㨯K}-qk_N:sYp٥[u[0 ?dRPӖ+K\`ӎ\6iVIԘ0 ?dRPӖ+K\`ӎ\6iVPFAU%}9o-}8x qefm^ej' W^A@ # >Q^Z ξuefm^^eP2 (s|uo0@|[!k.4jQ`b􌂪JrEz[k3_:q Hsˆ*\\ׁ W# >Q^Z ξu Jh?"}/P+p+SH?dRPӖ+K\`ӎD\6iT'dTL BR`+}@# zB2}NAI@"PӖ+K\`5o9lҪUcxs[y)&*pO( 2vxDzEdd(J (s|uo0Hm|["k.4lAa$Z`Y9aY(^xDB22 (,ï(N$aЦIvPӖ+K\`ӎF\6iTRR_eνGsdW_ S @%?dUI@fyBq$2N@,ò>Q^Zξu0J!jF!aeՐ]z%]/T aה'M0S$yr;(s|uo0H|[#k.4EzHm W@]0QЧUY,# r:I d<.Ye}9o- }8x$aef D9GY&aepc z%]/x2 (,ï(N$aЦIvPӖ+K\`zӎF\6lM\`{"I5v2PDY/FAU%u ēL:9x\rEz[k3_:q HÚˆ͖ 3dZg\.=$P dT aה'M0S$yr;(s|uo0H|[#k.6X&.0Hݕ .YV zE0,Y/F@ddRPӖ+K\`ӎF\6iTR}EHlg,moIPJtʄޑL2K%K[FFAU%}9o- C_:q HӚˆ*YDRR.(H*ϧ-WAo9lҨGU%+OH*ϧ-WAo9lҪ5R=5R#ʼz5R#ʾ􌂪JrEz[k#_:q HӚˆ*_d=D?dRPӖ+K\`:ӎF\6iU%}vI.U9X2 (s|uo0P|[#Nk.4HOdHN􌂪JrEz[k/_:q HӚˆ*BIJzBWUICN[㨯K}-qk_N: sYp٥U/T'TT9:(nu@5 U_lyU}WOU_FAU%}9o- }8x$iefGWWzKx*# >Q^Z}8x$iefGmU^CѲЃ'!EA?dRPӖ+K\`ӎF\6iTWWU^/P9 }yU}WB}_# >Q^Zξu4J "*FAU%}9o- }8x$iefHz6Qzl I=(>􌂪JrEz[k'_:q HӚˆ*RedAJO T9:,Vu@5 U꒨UICN[㨯K}-q_N: sYp٥[N+N/[H*ϧ-Wc5o9lҨ @'@2WHЌJrEz[k7_:q Hˆ*XzJUx!\.=$P eYvK[FFAU%}9o- }8x$qef@ʮԊA$v@fʀ6w)Idm엁# >Q^Zξu8J<W+H2 (s|uo0`}|[#k.4# U$?d# 2 (s|uo0`|[#k.4U*K*􌂪JrEz[k'_:q Hˆ**Q82 (s|uo0`|[#k.4!aPz*MJ􌂪JrEz[k/_:q Hˆ*,>oE^"CJ /[H*ϧ-W5o9lҭi"H~ʄV_@UICN[㨯K}-q_N: sYp٥UE^"CK/FAU%}9o- }8x$qefG@H~}TzFAU%}9o- C_:q Hˆ*"^H~ʾl# >Q^Zξu8JE_E^"CDE_# >Q^Zξu8J'W }(2#(Ќ@"PUICN[㨯K}-qDk_N: @J>\"I\.= d^JuS]qr&JRy(%JH-## >Q^ZξuJ=/!j Ut@"6KAwl "􌂪JrEz[k+_:q Psˆ*&BʮdU&|._7l "􌂪JrEz[k/_:q Pˆ*7 M9ep™ɂa„H*ϧ-W5o 9lҪ}E_lZL0 Z,/FAU%}9o- }8x(QefWXxO!oKdU g7udT9:4vu@g5 U]ao>CdU g7t-˖REH*ϧ-Wk_N: sYp٥UP֝!*k3`x2 (s|uo0pm|[CNk.4kNP"S9Z,n@UICN[㨯K}-q_N: sYp٥UQ>ȫnPFAU%}9o-}8x-ˆ*7~ȫnQ`H*ϧ-Wuo9lҪRȫQۖc 6-UICN[㨯K}-qk_N: sYp٥Up:S7l "􌂪JrEz[k/_:q Xˆ*(,E\-rdnR@DT9:8fu@'5 U]a>i(ȫ]ܘ-(J􌂪JrEz[k7_:q Xˆ*eWD*kg7l "􌂪JrEz[k;_:q Xˆ*jy z["vswY/IUICN[㨯K}-q!}8x,aefWXy<]>ȫ]K$@UICN[㨯K}-qξu4J<ڄV W \9n_-a # >Q^ZP}8x,qefWX}]>ȫK$@UICN[㨯K}-qξuefWX},E\-|_7ueI?dRPӖ+K\juo9lҪ#BeWD*k]ݲ2 (s|uo5Zӎ\6iUu<]>ȫvswY/TF@ddJrEz[k@^u@5 U$Z`Y 9`wPbfxDB22 (s|uo5ӎ\6lM\j6C`wXy ,Bp+ tJt:M| GY/FAoT9:|[Nk.6X&.5!k Lc,ӯWZKZvA7-sdpTFAU%}9o-ƇC_:q `Úˆ*qZոۑ udrk Ng8S9&X$|`H*ϧ-Wo 9lҪwi+[b=T(drk Ng8S9 c˔v`H*ϧ-Wo9lҪwi+[RU,A[ Xewc9™GZg2\L# >Q^ZCξuefSN_j !^[drk Ng8S9.IIc 9FAU%}9o-Ƈ}8x41efSN_j !몢 Me2;L&&Xe H*ϧ-Wo9lҪwi+[\n[-a ݌ g%,T9:^u@5 UN:%~p7؅?$vA7-s3`2x# >Q^ZCξu$J}_ֵn" Me2;LX$(UICN[㨯K}-q_N: sYp٥T>ӯWZR[drk Ng8GJf􌂪JrEz[k;_:q hˆ*qZչ_nFd-Me2;6r&匳FAU%}9o-ƈC_:q hÚˆ*qZչU" _ܶZ,.]e;0?dRPӖ+K\hӎF\6iU;֭}X3A7-sg%irM2N􌂪JrEz[k_:q hˆ*qZչg Xewc9˳df0Ð?dRPӖ+K\hӎ9lҪwi+[F~QN&`qr&&Xe H*ϧ-Wuo9lҪwi+[Eq lX'v3\9.Hf`H*ϧ-Wo9lҪwi+["䒮&`qrX$0L H*ϧ-Wo9lҪwi+[" Me2;|H.Pف# >Q^ZD ξu$J}_ֵomMe2;# >Q^ZD ξu(J}_䮏QWdrk Nt-UI@fyBq$2N@,ò>Q^ZDξu,J}_䮊"> lX'rMáeXh2 (,ï(N$aЦIvPӖ+K\h5o 9lҪwi+$' lX'rMáeX,P?dRPӖ+K\hӎ\6iU;^\"H ln[-a ܑWIV ``H*ϧ-W!o9lҪwi+^B\ lX'rE]'rl H*ϧ-W"5oP@J}_䮊JQKln[-a ܑWIܣ3FAU%}9o-Ɖ}8xcˆ*q++P NWdrk N䊺N:p?dRPӖ+K\hZӎ(9lҪwi+A7-H2 (s|uo4H|[\6iU;^^-ܥA7-H2L0S0?dRPӖ+K\hӎ( 9lҪwi+ [drk N䊺N# >Q^ZDξu @QefSN]Zպ^B\ lX'rE]&sdpTFAU%}9o-Ɖ}8xˆ*q+.p7y }-Me2;*63\).dT aה'M0S$yr;(s|uo4Rӎ( 9lҪwi+ZR[drk N䊺M(LUICN[㨯K}-qk_N:4J}_䮊Kj܇y }-Me2;*63\9,]082 (s|uo4P}|[\6iU;^u[drk N䊺MT aה'M0S$yr;(s|uo4P|[\6iU;ѯdrk Nf􌂪JrEz[k'_:q$0cˆ*q_nF{ Xew&X$T9:(VuH`5 UN:%y]Me2;l7FAU%}9o-Ɗ}8xAefSN_ [drk N삊f􌂪JrEz[k3_:q$0ˆ*qDkD lX'prH]$ # >Q^ZE ξu (J}_F~- lX'pr\L,r􌂪J0&t)rQ^ZEξu efSN\drk NC 􌂪JrEz[k'_:q$8cˆ*qEUܶZ,QH*ϧ-WboC9lҪwi+F^B\ lX'w*/UICN[㨯K}-q_N:sYp٥T>ӯWXp7}T]QU(ܶZ,ydpr[ de # >Q^ZEξu $J}_䮱x"QKln[-a GJf􌂪JrEz[k7_:q$8ˆ*qm }Me2;AWl "􌂪JrEz[k;_:q$8ˆ*qm* Xewp/,]B(GBH*ϧ-Wшk_N:sYp٥T>ӯWX{ln[-a `H*ϧ-WсoC9lҪwi+F Ut@ Xewp/,*H# >Q^ZFξu 8J}_䮱x"hA7-^Y\-ʒ H*ϧ-Wт5oD sYp٥T>ӯWXֵnWn[-a c9ɲ_8* # >Q^ZF ξu J}_䮱x#j UGUJA7-^Y1L $F:FAU%}9o-ƌ}8x 9efSN]b6GZո>tWWdrk NS.K`J*T9:0^uH5 UN:%ukVo[ Xewp/,qprXLap?dRPӖ+K\hӎ"\6iU;#ou[Me2;ALg8S9,0?dRPӖ+K\hӎ"\6iU;#ou[E- lX'w)(LUICN[㨯K}-qk_N:sYp٥T>ӯWXֵnC>.ln[-a c9˳(T%(TT9:5 |[k.4uJ:֭}{.n[-a c9˳+FAU%}9o-ƍ }8x iefSN]b6GZչ[ Xewp/,qrv$H*ϧ-WѡoD9lҪwi+FZ!$n[-a c9˳3FAU%}9o-ƍ}8x%ˆ*qm{ln[-a c9FAU%}9o-ƍ}8x$1efSN]z# Xew*&`H*ϧ-WѢoD9lҪwi+D~ܶZ,WI3|UICN[㨯K}-qE_N:sYp٥T>ӯW Wn[-a dpTFAU%}9o-ƍ}8x$IefSN^2R Xewl ")2 (s|uo4h|["k.4uJ]=꒫ܶZ,3eI6ʒ H*ϧ-WѣoD9lҪwi+Ut@&`*H`H*ϧ-Wk_N:sYp٥T>ӯW jjܶZ,3eIx&R@DT9:86uH5 UN:%zʮ$ܶZ,3eI` $@UICN[㨯K}-q_N:sYp٥T>ӯW Fdrk N͕$\-ʒ H*ϧ-W5oE sYp٥T>ӯW UUn[-a l6TFAU%}9o-Ǝ}8x(1efSN^2ZKZvA7- R@C.MP\T9:8VuH5 UN:%zʮj B}_Kdrk N͕$1Lv$H*ϧ-WoE9lҪwi+Ut@kVQKln[-a 3\3FAU%}9o-Ǝ}8x(IefSN^2Z!B}_Kdrk N͕$1b1IUICN[㨯K}-q_N:sYp٥T>ӯW ֭ lX'|fʒq|UICN[㨯K}-qk_N:sYp٥T>ӯW!꧲ lX'rFAU%}9o- uH5 UN:%rdz-Me2;g$t-f􌂪JrEz[k@6uH5 UN:%rdzMe2;g$t-Y2 (s|uo9ӎ"\6iU;}^~vA7-]* aIH*ϧ-Wk_N:@J}_CAC&`˳df0Ð?dRP.Y^PI4áL0ϧ-W_N: sYp٥T>ӯW! ?Q5ܶZ,vr\$%FAU%}9o- +_:q$Xsˆ*qA7-2 (s|uo9zӎ"\6iU;,QWdrk NdI0&[# >Q^Z}8x,IefSg\Wܹ&'ra H*ϧ-W_N:sYp٥TAWꥲ rM2NಌN􌂪JrEz[k@vuHg5 UNQo ?%dfI@=o@dd'Y@|(s|uo82ӎ"\6iU^T{BL3z:S/#FKRPB22AU%}9o- }8x,iefS>CdL8xag=6ʱw/DVäޣ SRL %JH-## >Q^Zξu 8J}BmI`r]%?dRPӖ+K\paӎ#9lүA$$"V2QРyRw8*tt`*IaxdddRP.Y^PI4áL0ϧ-WuoF sYp٥_M5Sk萺MK\/%zmc% (^?I2L/ # zB22 (s|uo88|[k.4[%?&%ä@,bddRPӖ+K\pq:ӎ#\6lM\pq;$JXe {2[% 6:FAU%}9o-}8x01ef28a-K$e]GBUICN[㨯K}-qk_N: sYpٲ6qql ,zLeYaoDù/FAU%}9o-}8x01efS޹fpJT9: NuH5 ,g NOxFB􌂪JrEz[k;_:q$`cˆ͖ ;eP.zmc% (^C,d,T9:1 |[k.6X&.8b/0f/F@e(J (s|uo8`m|[k.4C#e"a {ylAo&K[FFAU%}9o- }8x0Aef 28agIBLIJ6S RL %H*ϧ-W5oF 9l`86J/ yp$te2 x$02^􌂪J0&t)ruH5 ,g8>)T*?dRPӖ+K\pӎ#\6lM\p rX;UICN[㨯K}-qÄ_N:sYpٲ6qqÄ삙YBw# >Q^Z ξu ,el 6Ta䣌UICN[㨯K}-qÅ_N:sYpٲ6qqÅ삜GT aה'M0S$yr;(s|uo8p|[Nk.6X&.8p͓EK/FAU%}9o-}8x8qef(@UICN[㨯K}-qÇk_N: ef(Mx2 (s|uoξu @1ef "T9: osYpٲ6qp dS :N􌂪JrEz[kAӎH9l`8d)# >Q^Z@FuRNk.6X&.ld􌂪JrEz[kA:ӎH 9l`8dRle2 (,ï(N$aЦIvPӖ+K\2 ξu @Yef lI^􌂪J0&t)rQ^Z +_:q(0ˆ͖ @0J8H*ϧ-Wd ξu 0el /e2FAU%}9o- fuPa5 Uz{,qeFAU%u ēL:9x\rEz[k@0|[Îk.6X&.vAn0\T aה'M0S$yr;(s|uoõosYpٲ6qp .,T9: t5o9l`8d7w82#(Ќ(%}9o- 6uPp5 UU !c/s f0t 2vxDzEdd(J (s|uoo9lҨovHls f0)Idw7pQ <~ d^/P<"FAoT9: qӎAĜ\6iTxRR|l`c 2HIBOH%K%H-## >Q^Z'_:q(8ˆ*~gUH*ϧ-Wdξu $J4F􌂪JrEz[k@8|[Nk.4i4Gdi4F􌂪JrEz[k@8|[Nk.4>JWd>=oT9: qӎA\6iTxT( 0 d@GK$*IaxdddRPӖ+K\2k_N:sYp٥TMMh2?dRPӖ+K\2ξu (Je&HFAU%}9o- 6uPqG5 UM(&HH*ϧ-Wdξu (Jemh@FAU%}9o- FuPqG5 UM(]h@H*ϧ-Wd ξu (J%MnI nx$􌂪JrEz[k@@|[k.4lXnx$􌂪JrEz[k@@|[k.48 :pA`@<T9: ӎA\6iU:-%NrIp+ ?dRPӖ+K\2_N:sYp٥T!$!x H<T9: ӎA\6iU::`@<T9: 5o9lҪu +o'R`@<T9: ӎA\6iU220 Px2 (s|uo!o9lҪ k&A0e UICN[㨯K}-p }8xQefV-d&0B`WFAU%}9o- $NuPqG5 UX" +FAU%}9o- $VuPqG5 UUMW[PP&vn # >Q^Z/_:q(8ˆ*{wʫۭ RW 􌂪JrEz[k@H|[k.4C6D>ɐ@"?dRPӖ+K\2F_N:sYp٥Rd&@ 00EH*ϧ-Wdξu (J" @eUICN[㨯K}-p C_:q(8ˆ*ڼ?ejn .F@e[FFBu J>Q^Z_:q(8ˆ͖ @Pm19X.( d@@%-## >PRPӖ+K\2_N:sYp٥T Eu츱f]&P9p(lAoX*\eIeJH-## >Q^Z#_:q(8Úˆ͖ @Peq0 E\,J)\T9: :ӎAƜ\6lM\2˕mw/M2KUICN[㨯K}-p }8xqefRU$loM2K=oD>Q^Z/_:q(B5 U\X.( xAt!E%p @D>Q^Z3_:q(@cˆ*{(PJd@ddRPӖ+K\2_N:sYpٲ6qp &ˌ`.& (I?d[FF@|(*ϧ-Wdξu  JeW AZ6Tv0 (# >PRPӖ+K\2ξu $JQ/\)DP<"F@e2 Pϝ}8*Z{LTʄ{L;ϝ}8x9@B˼{L;ϝ}8x@Ae͕e f|MEz[meB^Wr˹/O>uP'5 URx"-նGI 'yӖA\p`)H(;,&t) kT i$Ihf>H> X>';I./usr/share/man/info/en_US/xlf/html/lr03.htmp/$ XL Fortran for AIX XL Fortran for AIX V8.1.1

Language Reference


XL Fortran for AIX

This section describes some of the highlights of the IBM XL Fortran for AIX compiler. If you are familiar with other versions of the XLF compiler, or other Fortran 95, Fortran 90 or FORTRAN 77 compilers, you will find this section useful.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] E\,J k2]j$ hf>H> X>'; ./usr/share/man/info/en_US/xlf/html/lr04.htmp/$ OpenMP Fortran API, Version 2.0 Features XL Fortran for AIX V8.1.1

Language Reference


OpenMP Fortran API, Version 2.0 Features

The OpenMP Fortran API provides additional features which you can use to supplement the existing FORTRAN 77, Fortran 90 and Fortran 95 language standards. See What is OpenMP? for more information.

The OpenMP Architecture Review Board (ARB) is responding to questions of interpretation about aspects of the API. Some of these questions may relate to interface features that have been implemented in this version of the XL Fortran compiler. Any answers given by this committee that are related to the interface may result in changes in future releases of the XL Fortran compiler, even if these changes result in incompatibilities with previous releases of the product.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k$k$d hf>H> X>';d ./usr/share/man/info/en_US/xlf/html/lr05.htmp/$ Fortran 95 Features XL Fortran for AIX V8.1.1

Language Reference


Fortran 95 Features

FORTRAN 95 BeginsThe Fortran 95 language standard is upward-compatible to both the FORTRAN 77 and Fortran 90 language standards, excluding deleted features. See What is Fortran 95? for more information.

Fortran 95 also provides an extensive set of additional language features. For more information on these features, see What is Fortran 95?. The Fortran standard committees are responding to questions of interpretation about aspects of Fortran. Some of these questions may be related to language features that have been implemented in the XL Fortran compiler. Any answers given by these committees that are related to these language features may result in changes in future releases of the XL Fortran compiler, even if these changes result in incompatibilities with previous releases of the product. FORTRAN 95 Ends


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k^Ll$hf>H> X>';./usr/share/man/info/en_US/xlf/html/lr06.htmp/$ Summary of Changes for XL Fortran XL Fortran for AIX V8.1.1

Language Reference


Summary of Changes for XL Fortran

This section describes the differences between XL Fortran (XLF) Version 8.1.1 and Version 8.1. If you are familiar with previous versions of the XLF compiler, or other Fortran 95, Fortran 90 or FORTRAN 77 compilers, you will find this section useful.

XL Fortran Version 8.1.1 provides the following new and changed features:

New compiler options and suboptions:

  • |The -qport=sce compiler option |allows you to perform short circuit evaluation in selected logical |expressions.
  • |The -qprefetch compiler option |allows you to control the automatic insertion of |prefetch instructions .
  • The -qpic compiler option allows you to select the Table-of-Contents size for Position |Independent Code generation.
  • You can use the -qextname=name suboption to specifically identify the global entities that will have underscores added to their names.
  • |You can now use the -qsuppress=cmpmsg suboption to filter out the |compiler messages that report compilation progress and successful |completion.
  • |The intrinthds run-time option |specifies the number of threads for parallel execution of the MATMUL and RANDOM_NUMBER intrinsic procedures.

|The following XL Fortran enhancements adapted from the draft Fortran |2000 standard: |

  • |The OPEN, READ, WRITE, and INQUIRE |statements now support the stream I/O method for accessing the storage units |of external stream files.
  • |The PROTECTED attribute and statement |ensure that a module entity can be modified only by module procedures that are |defined in the same module as the entity.
  • |The VALUE attribute and statement specify an |argument association between a dummy and an actual argument that allows the |dummy argument to pass the value of the actual argument. |

The following new performance-related directives have been added:

  • The STREAM_UNROLL directive instructs the compiler to apply the combined functionality of software prefetch and loop unrolling to DO loops with a large iteration count.
  • The |UNROLL_AND_FUSE directive replicates inner loop bodies and combines the replicas together into an unrolled loop. This reduces the iteration count and improves data locality through self temporal data reuse.
  • The UNROLL directive now extends unrolling to outer loops.

For the HTML and PDF versions of the User's Guide and Language Reference, important cross references between these publications are now linked. You no longer need to close a topic being viewed in one book in order to view a cross-referenced topic appearing in the other book.

Changes from the previous edition of this book are identified by a vertical bar (|) in the left hand margin.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ption km$hf>H> X>';./usr/share/man/info/en_US/xlf/html/lr07.htmp/$ Highlighting Conventions XL Fortran for AIX V8.1.1

Language Reference


Highlighting Conventions

The highlighting conventions have changed for the XLF Version 8.1 version of this document. The highlighting colors used previously for Fortran 95 and XL Fortran extensions have been changed to the F95 and IBM icons illustrated in the preceeding sections. For more information, see Highlighting Conventions.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] on kVln$ hf>H> X>'; ./usr/share/man/info/en_US/xlf/html/lr08.htmp/$ How to Use This Book XL Fortran for AIX V8.1.1

Language Reference


How to Use This Book

This document is intended primarily as a reference tool, not as a Fortran or programming tutorial. Programmers using this document should have some knowledge of Fortran concepts and have previous experience in writing Fortran application programs.

The document is divided into three main parts:

Appendix A, Compatibility Across Standards discusses upwards and backwards compatibility across the FORTRAN 77, Fortran 90 and Fortran 95 standards. Appendix B, ASCII and EBCDIC Character Sets displays the ASCII and EBCDIC character sets. The Glossary provides an alphabetical reference to terms commonly used in this document.

See Highlighting Conventions for details on how IBM Extensions and Fortran 95 information are identified in this document.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] a lBYo$hf>H> X>';./usr/share/man/info/en_US/xlf/html/lr09.htmp/$    -et<=>ainors "/AEIRTdghl.9BCFHLMNOPSbcfmpx,015:DGUuvwy!()248VW_k#+367;QXY\{|}][h4@q! }i*9U "CA"GTzH檚x1]g!rPU5H$1xˏ-ayj9s9s9s9s9s{5  L4a- A@ T9yG),'`K@PW( 5΀"pfR"J52Br&!! '0,0('4 wAl +1x …ݼ恮,er8B%UŹnR0f&k)~f:cvxtr3\z]K-Ԋm}vb^ΝhԻ33+}Źa?o9kUiNT9[H%c0:sHtM%Ņ$(|)-2yseFK( 0yS0eYǦ30{L&!%nXOjdCU-BD=1zF%X\f/T:cJ^2#KsUA=1rK Lq ܕc9tO0H˥%/9TW:|7&ÚA4o9TD/ Lq ܕc9qeSGorU_M%ńӎ6Le0W9TG$ LaV3JKT&A4B,˃cK{F=1~ܕc9U Ӧ|NHHa~21:ruS[¼fbU iG=cJ61@=y(L5 Az@尌%1cGV3Z0Ӧ|NHK IhQjiG=ݥ%tܕc9]݀m@cځE{Jc)/?a*=IETƵLsvr[oY }b]o3G4ʉ`o/H!尌3r[_Cylfr_=Max]8J,g-Rfn2'/g7XeW֌ y^J{2u>;\d:tnM3XQ9l <9UP @@(P*?ag%x٠P$)2 Q"R=*4zJ$x#g%X:tB\XOKB %9@: |尌M%Ņ]TxL/@5b*Wa2姬}c>7,J[_Xê'-` dQ@45@4iGzhǀ=D8 Y0)3^f9H/AڏC{4 cLBƠGQ!=cLXoyH/AڏC{4 cLCIU"J`Y1[ڵ_jH> X>';(./usr/share/man/info/en_US/xlf/html/lr10.htmp/$    -et <>ainors/=AERTcdhlmpu",.DHILNPVbfgy+01:;BCMO_kvwx!&'()2349FSUq#5678GQWXY\|[]}{zpx@YD9Ir DD84($4%ƚ1k$"I $E"H<žϣSL`/)R"$~ N':)_8888888888;ݽ0$< "L K` bTӜrr|T, Whp3ljJr$2iXD<˃SPp<40/p|BlL+x!x<ݽ[&erJ)䫊qnR0Z&SLC{\ +-*+"Wk{ 2NΝH5Vi]SS3ppj⌭BrA=y!:0;ݽA#)h"%N!9nKm#,` $M$ p}5]]`sNg`0 0c?I""Tጰ74xX?80,,Pp =A#)h"%NL D@G R#xX?80,,Pp =A#)h"%NFQ@HHHhN ` A ǵH}23p_MN xf.&$cbur -Ysl/1pTCx0-psZt 喂bt:/-lt7t^ 4ƄR ={[Ӛӡ , xK'M%Μ W* KZ\INC SΊW88888888888vL.&R0cik<$aΎd@1q^ǸL@z$Lg -@`up@HHHL1&-}"f[~>01H/W{icIZM ͝kNb~e/n/IOb-[fHn)F)7Xǔ̾pYlS"'b9(%8)[<ٮR'<|qSxѮҧ;JU]LV*gZ52Uܢ!Hn)uQqGfI0]xPR{KUFR:O͌6t )=Xܥzyl-bB_f[qqG5?lV d'M%_% 1lS/`y"ٮ/9KcL&) WŦ,W:C{\Qئ U/ †_%6/&͍C %4(=4/ RbޙQu}W:іpT=1R2R)r_ޜ%g1Poz6t A=xzS갗,$(∠cns5}aiKE2`(aZb x!mook(qGd7”i燮1O)_yӄμUMY<51O;A:_{S N]݅[`M 2K\l_aVwwwwwwwwwwwwvBn6cLPN0-q}[J"I{ {\Q {@@$@ pŨ  Ii  z]̿_ R H^{\QErGC"={ܒ/rC^E67{(t^sv݅[8ؾ®®*~8ؾ® Ѯؾ9M/,bnq}7M/Q ook(kH{jHƤxy$ynQfW:A YiT7"OkzܧsaiNHހxBH8ЊH94-xqX,rqSzj‚iUK\iSxD^D^)`9ΝOEqOEt*z/,J9i꣚I{x ,donSÊfs;qOEt*z/Qƕ=k$E$EKrW|V 3T_4w"_?%NUflٮ^hdA5G5ƒ""%O d+r⧢A|qOE= Ѯҧ܉~fl:}VqX, f]ajs]xr٢ْI+OEkFJL`/_6b+[UƱLٯlyӸiSx[\i"/q"Ok={{@ p )&$\L `ǥ6<147A Z`R+^R1ƞ"@P00rǓ} cioq(!"i M!J2Brܖƞ"@P+DD0GǑ.ON4=?H> X>'; ./usr/share/man/info/en_US/xlf/html/lr100.htmp/$   -et<=>Tans "/AEGINORShilmor.0BDFHLMPbcdfgpu#,149:CUvy!()23568;VWXY_wx&+7Q\|{}[]kKxjG sFCDHE@lM|b릒>IȂ15K3 N?&WaG+_B!B!B!B!B!w^2cAɨK02T%@ ӢQQ cy1>R`v:x 1& w:dvN&rj@pxXG<48<0_MxDAn]#tÎYr|088;]kv6ܮ:%Er W 3u^I c'-G%_;Fk׭Y)Wv6]_*dL;ԣNT˹묔+ɉ]C4\TY2L1xkȣ$:F9UwUI"uv{72x餠/gSjZ^4/2xםjz7AuI@7q]47Ӣkȣ$8H Srr1qT*Jn5vfX, âkȣ$8H LSI%T/wŋp<4 :&2CZ (` 3#I%:_0@Xxh((>R%h)`v2T EI@|Xw@ü,X'ᠰQ5 Af2n4bB77K@3B1:¼:˔'W3 7 I0iC6Pg)]ku 79M2]q0k^Aמ=r8ӎmâ!8:r;LAyg)y"nǚ%Fx\wt!B!B!B!B!B!w^Q(8`"`)âЉs3/l- c^J&x/C`p 餡zȎ:,)l(AU$aEM%zy5u"Lh<4XQyDס@091bCЉC`rcAł΋B&^UDH˦<䲪%^J2c;גʨP]tQ%Q(ojzWgS{S'}sΝnM̛X(גגʨW&גʨMy(QxŢk5_% -^Idc J][(8 jdnوfd(8 Ǟn Z 7yF& ϒy@abkƐ%^2/kEƞx5k6Qxѱ(frX]yML5-O<(gfM7fy,DrBO=y,GgS{4zp4/ѝ͚3BX䲪%]4yeTJ&gSMyFEfd&mG 3B:c;גʨP]tQ%Q(h^"B&qL3gSyG)fп3gS{S'vkO<(gfM6=3NsڙH> X>';./usr/share/man/info/en_US/xlf/html/lr101.htmp/$    et-<=>ATaior "/DEILNORchlns.0BCGHMPSUbdfmpu,134:FVgvwy!#2689;W_x%'()+57QXYkq|\jz[]{}&JKx!F "2 $&s=$fyM>dᇞD׏4ьRC^|Қhׂ3*+bV!B!B!B!B!B;^ssJhP,0,qM~J1 PXttMx!\ ).˷[5PzJ)7PpoPa~€hhP:&ph ms6h'AΉ9LQ5|o.#Et4)zі_DtΉ9ܙ.:9v[ɷo^Dskw&L3U鵳^jٳ7|ooU Cy%¦Y6m*!8\DאFrH08HV@jM'Njz3Njz35̋٭Ƶ1q4TivAv)vaV`0(\|EȁDLST*NO 1~ ,/!Y5̋5#T*N^4UF^Jk*khy䦲#^F/M|14xVA_5Z&1tRC\sw9 jA>s9s9s9s3ϬCC^}bo5Y^|֋Ϝ&Mz בМ^^%C;bڮMyE8#V8/Zg;T/k+Km~%]cѯ zb0b-U鵳]p^UͱC1ԵWvjޚB/=k䦲Yy)k"Z43/M<>KGF X og,ekգDz|./B}w2{&c:R_r-#M3(בqٯ|l:)bkr_a<. d54٦} j@ a>-V1\{ڶ(#XSYUFD M!䦲RC^y)z3ףM[yLع{53ek\Q#q^(r[շAwʨ:2'5HJi y䦲Pl/R¼k٥կgn󶽌Ue^F2hOFs٥}䦲RC^y)īUgm{bކVĪ6kվٌ^B}goطomzg-k^(6hugy)"sTמJk*nޥ z_=Z֌_ZW4Fk[ѓ9l/R¡?m.^y[>KFv]hZn\'Jk*Ȝ!)5璚ʨ:>C;k3Zܿ [~ѡ?o)'b/1m/ZnU>Ū1Nў#KօNW P;^f[ؽ6;Ǭt&8,(|G)t^Jk*n8MeTy_XMo.7\yR1~W6efwhA%]`.Wzml^Ѣ5'8dTk(1}U>䦲RC^y)z3bY+ڶ׳ExuhסzmW(1}fwˏY@LipH9~@ o>QkA!*!18(X kECɢ3-ԡ1MFsWXy%4nޥ <_4"k-_9 MI BŀgDhCɢ3|Hr:j;Bcp(:&byB/I9H!;4)=$&>gDדOT MziED:3ph0S\=jbgFINCE&ҋJ/!9",DPGE"$Q&ҋ&MxŢ_4hEC4)D:gp& t"wర iצ_.=dCs7  cKGzi&tCNSI4^|kM(i׌Z/>hEhbhן4"^|14b1| ŋ ʨ:(h\8%5Pt^|kȬF4"c J7D,9<1JMȬNjCx|7䷇ *!撈[_Z+55Y1y)3M½&Z鵳O 3DמQziED: >d#Y%輔UApV3y䦲TQ|(X(S\詁h!>Q|X(S\5U&:3Fsطf|q"). ( X@ΊMϔx]IF ,#A :/>Q5U2/<|'@hange ks$hf>H> X>';./usr/share/man/info/en_US/xlf/html/lr102.htmp/$ BACKSPACE XL Fortran for AIX V8.1.1

Language Reference

BACKSPACE

Purpose

|The BACKSPACE statement positions an external file |connected for sequential or formatted stream access.

Syntax



>>-BACKSPACE--+-u-------------------+--------------------------><
              '-(--position_list--)-'
 
 

u
is an external unit identifier. The value of u must not be an asterisk or a Hollerith constant.

position_list
is a list that must contain one unit specifier ([UNIT=]u) and can also contain one of each of the other valid specifiers:

[UNIT=] u
is a unit specifier in which u must be an external unit identifier whose value is not an asterisk. An external unit identifier refers to an external file that is represented by a scalar integer expression, whose value is in the range 1 through 2147483647. If the optional characters UNIT= are omitted, u must be the first item in position_list.

IOSTAT= ios
is an input/output status specifier that specifies the status of the input/output operation. ios is a scalar variable of type INTEGER(4) or default integer. When the BACKSPACE statement finishes executing, ios is defined with:
  • A zero value if no error condition occurs
  • A positive value if an error occurs.

ERR= stmt_label
is an error specifier that specifies the statement label of an executable statement in the same scoping unit to which control is to transfer in the case of an error. Coding the ERR= specifier suppresses error messages.

Rules

|After the execution of a BACKSPACE statement, the file |position is before the current record if a current record exists. If |there is no current record, the file position is before the preceding |record. If the file is at its initial point, file position remains |unchanged.

|You cannot backspace over records that were written using |list-directed or namelist formatting.

|For sequential access, if the preceding record is the endfile |record, the file is positioned before the endfile record.

If the ERR= and IOSTAT= specifiers are set and an error is encountered, transfer is made to the statement specified by the ERR= specifier and a positive integer value is assigned to ios.

+-------------------------------IBM Extension--------------------------------+

If IOSTAT= and ERR= are not specified,

  • The program stops if a severe error is encountered.
  • The program continues to the next statement if a recoverable error is encountered and the ERR_RECOVERY run-time option is set to YES. If the option is set to NO, the program stops.

+----------------------------End of IBM Extension----------------------------+

Examples

   BACKSPACE 15
   BACKSPACE (UNIT=15,ERR=99)
      
  ·
  ·
  ·
99 PRINT *, "Unable to backspace file." END

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] /A> < kRt$ hf>H> X>'; ./usr/share/man/info/en_US/xlf/html/lr103.htmp/$ BLOCK DATA XL Fortran for AIX V8.1.1

Language Reference

BLOCK DATA

Purpose

A BLOCK DATA statement is the first statement in a block data program unit, which provides initial values for variables in named common blocks.

Syntax



>>-BLOCK DATA--+-----------------+-----------------------------><
               '-block_data_name-'
 
 

block_data_name
is the name of a block data program unit

Rules

You can have more than one block data program unit in an executable program, but only one can be unnamed.

The name of the block data program unit, if given, must not be the same as an external subprogram, entry, main program, module, or common block in the executable program. It also must not be the same as a local entity in this program unit.

Examples

BLOCK DATA ABC
  PARAMETER (I=10)
  DIMENSION Y(5)
  COMMON /L4/ Y
  DATA Y /5*I/
END BLOCK DATA ABC

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] /DT l0u$&hf>H> X>';q./usr/share/man/info/en_US/xlf/html/lr104.htmp/$   >et-#I>exk@F3 qHKxBJevSq^舖YuL.TrV5Qi3+k@F3$@iIBةN[H) qZ D MI ቤRy^+WZrnhWz!_L\QhR+[:Zrz6tf=Þ,DZIM!E1=4Ori Df+M\eNCףN&u+:xq(R0(}-eX!)OM-,[;I=ɤ:Ȧ='IM!H1,֑e|e!v[_ gRr+[= -+#&v(cr+W>ϒr^+b2[:2JB&v(csa_%kHg+WZrnoRW+x]he|0WFRB\s- Cc9z7 hoRr+lK[HʱS1%63 BJg_#EO:zDT62FU)_ϭ:[HʱSI"iB^eX!)OyLv0Z!0_%^Yi E̠KЯTĔ^S hWM($u&\/n:(l%OrP/^2T| 󧄼 lb@)SR(7Gc|J- -hzӉ=ɤ:7i7fP%o/0_%t2[i4p1/ eXh:Ś67i7:zb |eb%e|B^ - Rlt)Z*GV3b%[=`_<7i79y>xک5!bQf;-63 FM_.bgJ+z7 '-e_ܚC@=IM!H1/*kI댣 c9`iuZ<ڇr!Z8X\HUӈmC9-@h(Ym. p,(`Bp]5镬g*,֜@}j9Ȇ)j8\రh,a{̯}xܡxiXW+:usa/ĺEH+B>ʚӈmC9-@X8Ym. r lbLKڴ,֜@}j9Ȇ)j Ym. ppXXX4Y- #1hV^VtHVӈmC9-@P(,Cj@UA4,+:󗌣J ʚӈ!m#m"m,1c1c1c1FJ᳦k1c1c1c12q#m#f9і>8s

H> X>'; ./usr/share/man/info/en_US/xlf/html/lr105.htmp/$    -e<=>ainorst "/AELNRTcdlu.01BCDFGHIOPSbfghmpy,2349:MUVx!#()+5678;WY_vw%'QX\k|&q{}*[]KpyA˄ . *"5Bc$\(\$5SUK)M!=˓]D9%r+]D{n-;^Jo{{{{{rcAgy2Xh`EY)0.wɒfx0 rcdp3P ̓\KkiR|&52ٽ("89BpI޴kޱmmOs[sXk>͗r*'oeF) Y{P8Z5n1Z5͗r*(qX%sb3EmhǮm t+*h|̫]^Flh=ow9HĶ淸TLpʼn&K.EHÁt'J+亩& E"qX8` cD:bwTfffffffffffffff`%ȍ*ppՠ{)qkٲ+C5gթ6򽵣WXG}*|̫]F=oqe(`\e(v(l?+{$bZȧ6ϡLhLN;Jr%VN+Vx]bQȖ]b}7ivޓJt}}۷YcČKkot+Ʀ[7Fޱmk{c֟kog~KV2b7B:sf̦g~ŋʓ9Hĵ\﹭>͗S5ŗX`k,#kogqN+Y88l9LhLN;Jr%VNqX.k|je{;kɫ76/*NŗX`$,#Yu*Fɐr%X`|k͜8Եzxɟ)jfeZjܹNS3S-O El}tfƅzkKZ:+kN#?IwcČKY+z|hƲwLmvlm8Udfffffffffffff'6} rcD:bwTfffffffffffff`%ȍ*pqXuF~LQfK % hXW6$=a$M8TPE7"Yu*FE(xv-Z-5@7Cc/`fgYlr352ٽ˝(ފ=`亩& XbaAŗX`MklK.EHȥUdMUXC?#V("5SFnj ?M%8C5G#V("5S=5Gj,DcX[IE9aqoIb!aC=%ٲw9\׍Log~iН*͏MQXO 0(X M%9Dˆ ?H@f ?U~!\`W zjFPErj{*p=`ˬQR0[ZNf)Sq7"Yu*FEN8T/ܡ89.Id= (́Xb m*Mȥ܊ rK&A5P`pW6$=a$IQ&AbI)6xdP=ȨNP$dUE1!,X`01$ۋ]*lbF$o*Mȥ܊ rK&A5P`pW6$=bBŋ VV-n=fe{;ȥ܊DT+ZKY2@ JB 硎V&uȥ%,F jЁZJTnܬLJ KY2A jЂ'~V&uȥ%,E5s`a]5WB Ļ[cﳽPOr\ɐz T(́X%IeЁ9nE(pr#ar]TzipC3Aȥ܈҃r$R | krSw$rhf>H> X>';r./usr/share/man/info/en_US/xlf/html/lr106.htmp/$ CASE XL Fortran for AIX V8.1.1

Language Reference

CASE

Purpose

The CASE statement initiates a CASE statement block in a CASE construct, which has a concise syntax for selecting, at most, one of a number of statement blocks for execution.

Syntax



>>-CASE--case_selector--+---------------------+----------------><
                        '-case_construct_name-'
 
 

case_selector



>>-+-DEFAULT------------------------------------------+--------><
   |    .-,--------------------------------------.    |
   |    V                                        |    |
   '-(----+-case_value-------------------------+-+--)-'
          +-low_case_value--:--high_case_value-+
          +-low_case_value--:------------------+
          '-:--high_case_value-----------------'
 
 

case_construct_name
Is a name that identifies the CASE construct.

case_value
is a scalar initialization expression of type integer, character, or logical

low_case_value, high_case_value
are each scalar initialization expressions of type integer, character, or logical

Rules

The case index, determined by the SELECT CASE statement, is compared to each case_selector in a CASE statement. When a match occurs, the stmt_block associated with that CASE statement is executed. If no match occurs, no stmt_block is executed. No two case value ranges can overlap.

A match is determined as follows:

case_value

DATA TYPE: integer, character or logical
MATCH for integer and character: case index = case_value
MATCH for logical: case index .EQV. case_value is
true

low_case_value : high_case_value

DATA TYPE: integer or character
MATCH: low_case_value <= case index <=
high_case_value

low_case_value :

DATA TYPE: integer or character
MATCH: low_case_value <= case index

: high_case_value

DATA TYPE: integer or character
MATCH: case index <= high_case_value

DEFAULT

DATA TYPE: not applicable
MATCH: if no other match occurs.

There must be only one match. If there is a match, the statement block associated with the matched case_selector is executed, completing execution of the case construct. If there is no match, execution of the case construct is complete.

If the case_construct_name is specified, it must match the name specified on the SELECT CASE and END SELECT statements.

DEFAULT is the default case_selector. Only one of the CASE statements may have DEFAULT as the case_selector.

Each case value must be of the same data type as the case_expr, as defined in the SELECT CASE statement. If any typeless constants or BYTE named constants are encountered in the case_selectors, they are converted to the data type of the case_expr.

When the case_expr and the case values are of type character, they can have different lengths. If you specify the -qctyplss compiler option, a character constant expression used as the case_expr remains as type character. The character constant expression will not be treated as a typeless constant.

Examples

ZERO: SELECT CASE(N)
 
  CASE DEFAULT ZERO          ! Default CASE statement for
                             ! CASE construct ZERO
       OTHER: SELECT CASE(N)
          CASE(:-1)          ! CASE statement for CASE
                             ! construct OTHER
             SIGNUM = -1
          CASE(1:) OTHER
              SIGNUM = 1
       END SELECT OTHER
  CASE (0)
    SIGNUM = 0
 
END SELECT ZERO

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] /TABLE l꺨x$|>hf>H> X>';)./usr/share/man/info/en_US/xlf/html/lr107.htmp/$   -et<>Rainor /AETchlps"=BDGILNOPSVbdfmuy+,.CFHM_gvx'()0159:U|#&2346;jkwz!*78WXY%KQ\{}[]qJ`H1 My L 0+xR < IDSN`rAPӘ"bH="?pub Ҵl<ioNk`uTp/>% xUꚥΡ4"8X <ƌ.'ZԬ^<ҷښ `^IJ8 K6e7h˭I(V2i{ūS.'YǜӺ-:^oJ!l&r-`Ƅ1/c%k&Zm94Na6cs @( F%x$G $ᨻ59HkXPqDIE1(^}045ӘMȵ<O 6ͭB >o2 $MS Ǒ6!(Mi7O+`Y`AmjYy'j|W?'AB0 Zl> ;l;l`mmlKޡ'iZ假0Zm`ԚaT|ڌ<iuRaF ӘxѭaH4 ӘMX1*.&ʠ5I5/V+E"bS23Jjϝ3JyscWAZtbGZޑjV]kEh,4kXMX1F6 ԛӘxư5F ꅩS(XyDHfIĈi LtrRp1 .U7 Ќ.V{ 6U7G D,pY I98 (F\Se<¨9ʠIĈiS(Ә<p,j&WGZA}ZV *s = =)Y9Z U$M>0l# Հ!BkMAt-HGZNKB"'/HƵ+Y.Y<mc0h9-Oħ8<J,Rw^jQ(dI08ϻ  a6k4'1/cw7KMȵs y¨9.V{ 6U7=e_VZENM(*֥fIĈi2CȤyDH]mF7 /f֬^U}Qm|NQ^FZfgϻ _.'ħJ— _|֥d9J%w85ug0RRZzMW G/o3Q!*^֥hYX' mj4/N /YͭX&޵y9D&e}jVkQ10j)%)֑#Q=)֤b 0j)%6b^tfx}^M旭jQy, _B78Ex'ٰMGHIM`}6b^tfz4/A|2d|MV|sVIYZ,Rv#u0`SJ:tl+>:EN#*93(gFF#u0^V|t#sWz/3AZSώy:ENO&HI-Z4/(G0N$DsP$H=08ϻ  )ZENūB0=X_@<4^zS澄s^fḍ+$07}-9N5X[ ܋X1?0?"'u(a܋X19м}əGVId\Ҵma7" hOF0; GXxưnE&Әya a6k4'w7%k&Zi&hV~ZPo-Zx|NU7Vapz,oZ/ZF3 $DG4[qS(жk cBF0ls|p8a܋XM0RRRp1pu :]xJ:F3 ٵAgDaPstU5͈.&ʠZeBkN^jV]jN &u(笵>kG>:XҞuYu8oJ9ggNB3yM);Ū5_:/G4/H/((oBkN^|K/+2o>b&oJyiB7UMEU5F_pL);aPsBa6^-Zt>辄s:ͭX&r5 єo|uFfj&N#*+.5w85uuGE:Ў~]9-QmaTF= DB֛*^j˭I(jV^tfg'(Yq"#M HIĈn}X^`Ä́apzpD(Mi980Xp4!cHXNInB0)IĈiS(Ә<:EN#4\ḍ+$м\%#,RwK1I޵(]j6r)FjugHIY&#=lAu6=u8Ў|spb5Xxoi|:/QNzԬ|b IЎ+0N$DsFDA䈰89scWAy ¨9+QyTܺԜ BG>9Psj7 6 ^UA:it^i To+Q2Rp1 /U551ZN6U4,jϜo5.i[֣/+p,j4%Y&NQV|yu8oJ!g0G֥j_?5V&^QUӥׁehYX' Ѝ=:Ƣ./ E;ma7" hOnjȉExJ?,b DmFU7B9q"# I08mj8&ނj]}(o@ƌy,d䬣7ܦp$g>kGZY&5Yq"# I08mj5_7%FЎ+.#sJV,qwӐg,+Jx#7 ω|nFRp0oZڇHƵ+Tno=|EJ.j"6V+Tno4խJy14\|ޝr^IJɨ;4f֥ej"6 \9J%BkN^/F!/֥fIĈi4z)"Q'"9scWAx!Cƀ$5Ә"z"XkA0G֥fIĈh`r@1$\$DG7Y|pr5_B:ԬrZg5:ω}jVV#ji֥j/*p.JyM/xjV֑\ѓ&"hF4_&Wԣނ֥eӒդc>:w D+BozjV0j)%=QyЎ~aDH憄$<Q'"9S(H$DG7/o3QR3G-9qԭQYZ/3ZF3sFLϘ5 ֥\ѓ&"hF\њ_ZښF5Y$٧1Fj7JzNT)ֹkRӒt\/1Jy_Z5c<|ޝrV+&W\њ_ZښF4-sK(Du :]xJ8h,oZQ'"9r褋yDH]<Ƶ+TnoEkA|`SJ:SjV,z3KRP֤b_B:ԬV˧%j0M)YZc?&w GA}P*yu8oJ:֝.% rMLdV~NQ^&u(֥cQmj_FWjt_B'>:XL iOBώzShVK7"#JDmM#&M5:y )YZ|c+ū>9N 5XptωЍtȹk5V _N55%AZS1zuf7ҙJzpMC@=b8 pMaDH&++K8a4r-, I@ yD", d Lx!d"Py9đp$H8r)`x?rG"S N@J @ %LJHH"P8A!Q$J$ *  ;mr" HC@T08a SښF0v E<=myW#/'X е2SHl@cE"4Mȴk $DG5ԫ1)}Qaq"#s0a h$Ә@{Xr!+0 C8 @h(;s = =C9b4Cy" h`(D֝.%z 9!hJԳ (p`h ht쑵_ hAħվ jVpfքDt+KkkD4XfԳ (p``8)No7joMvNa`",RjY8k$Hċi< CEV`@C8 @p(SJ\u|bS_8<A00s )YHZd$A$z %<^U}(F\@{X@{Xr!PXrA(p IĈo 55j,H>X>';1./usr/share/man/info/en_US/xlf/html/lr108.htmp/$ CLOSE XL Fortran for AIX V8.1.1

Language Reference

CLOSE

Purpose

The CLOSE statement disconnects an external file from a unit.

Syntax



>>-CLOSE--(--close_list--)-------------------------------------><
 
 

close_list
is a list that must contain one unit specifier (UNIT=u) and can also contain one of each of the other valid specifiers. The valid specifiers are:

[UNIT=] u
is a unit specifier in which u must be an external unit identifier whose value is not an asterisk. An external unit identifier refers to an external file that is represented by a scalar integer expression, whose value is in the range 1 through 2147483647. If the optional characters UNIT= are omitted, u must be the first item in close_list.

IOSTAT= ios
is an input/output status specifier that specifies the status of the input/output operation. ios is a scalar variable of type INTEGER(4) or default integer. When the input/output statement containing this specifier finishes executing, ios is defined with:
  • A zero value if no error condition occurs
  • A positive value if an error occurs.

ERR= stmt_label
is an error specifier that specifies the statement label of an executable statement in the same scoping unit to which control is to transfer in the case of an error. Coding the ERR= specifier suppresses error messages.

STATUS= char_expr
specifies the status of the file after it is closed. char_expr is a scalar character expression whose value, when any trailing blanks are removed, is either KEEP or DELETE.
  • If KEEP is specified for a file that exists, the file will continue to exist after the CLOSE statement. If KEEP is specified for a file that does not exist, the file will not exist after the CLOSE statement. KEEP must not be specified for a file whose status prior to executing the CLOSE statement is SCRATCH.
  • If DELETE is specified, the file will not exist after the CLOSE statement.

The default is DELETE if the file status is SCRATCH; otherwise, the default is KEEP.

Rules

A CLOSE statement that refers to a unit can occur in any program unit of an executable program and need not occur in the same scoping unit as the OPEN statement referring to that unit. You can specify a unit that does not exist or has no file connected; the CLOSE statement has no effect in this case.

IBM Extension BeginsUnit 0 cannot be closed. IBM Extension Ends

When an executable program stops for reasons other than an error condition, all units that are connected are closed. Each unit is closed with the status KEEP unless the file status prior to completion was SCRATCH, in which case the unit is closed with the status DELETE. The effect is as though a CLOSE statement without a STATUS= specifier were executed on each connected unit.

If a preconnected unit is disconnected by a CLOSE statement, the rules of implicit opening apply if the unit is later specified in a WRITE statement (without having been explicitly opened).

Examples

CLOSE(15)
CLOSE(UNIT=16,STATUS='DELETE')

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] tain on lz$`0hf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr109.htmp/$  -eo<>acinrst /=AERTbdhlm",.CDGHILMNOPSfgkpuy04BV#+139:;FUX_vwxz|!&'()25678QWYjqK\]{}[h0҉q!YI@yPg4$!4rH9Dcj "D&$/q}}Z4CS;!<#";.ᬲjQW*̗3=/7J5 eU>Og.EWf';.z>Fқ ,%$XO tLπ AP44E%P"xqd(%DgD @H44 sHE;.4xU_Pgg1sJ5{cBU]ah;䷞䡞γ-Qw=+y|Q(Q2dUVUDɒQ4jKLbI5D9ɸM'9,$]nvػUiV]ێv}&7gwm qu&7wv ?\w`ݟv MmP;!P Fiul;m q4zM=DC$㚏$<`D404!=фsJ9sCSvd*M4498q(&㚢!}Q75Ahrn9Iu. qz`JOg|]v ۀ&*;K2aJr&#J w9M'枢ni"A' sOA4UDɒ1iTL!9Svd*Mx['cLoe3U_XvBN{ lW}TW@~dŽMU^.>U8/xk&vY*v2`XԡXƥ e4DVfw5<sCMڨOE7x>RU󴪉$5TEAyU&Hkϴ$5Ȅ&EiTL!9⩪Ҏ[] b0BT]p%C9Zxz)Ɯ*E78V0%'<=s&_-]<_;J2C\PJ$O*d w}k8j+/֋9*GeR[j9\R} "Z0}c3<#^4lDr4=|X4Sw]_;J2C\0yLO*d w}k8j(pݡTUi['-l d+LdlBx6gq 05-YMO8Q|wǪ1X熲ge;Kdgc*'Kw;co7¹?SfscoSfsiʸ_&$尳1_<{zY是e agb/=iXfy;/<{}WéYMO2]Q2dY32L;!\"E$ 9㚏$<`D404!=y$H!q(M'49xqV*Gewwwwwwwwwwwwwv iiI(QszkB% *JOgxz)O{ pSB%x|9TT$iVn]嵆4)N[ zW]h-W$5ɑ"LO*d w_\g%Z > 2Oy8PϥWG;.Og<6Ue=W eUC9,rW}| v]V66g)‘sYgdrl ^r2YuXd>~2& Ҫ&L &D2M<$5ޕ}q|e 3ޚ|2`Hx|{9UDɒdȑ&IQ2dү3sJ&Mݏ# %H-<9sTҪ&L &D2M<$52^x-Y1<ޚ욥~F2q{ g|!Ud_1A?gyﯪᬳ거1Nc`=w^xuҪ&LǭFUDɒUoc9N+e;&\ƅ7w'wJz}_R2/W394b`$)z12ʏpf> R97#cz.}xȶ͗;!]E=JOgxz)ֳevQ2dZc- <$5h!Xo3= lެXMD-R}^+GM z,4 YǨU!b-1H-1mgg2-eWQ|*d rI DO*d w|9TL!Pri"0cQ&UDɒgByO﯆˪;睍ߏUyv&= L ^ MAɌ ,(94@H4]%QH& /VA&Lx(94Q1訓OEܶϳٲd)҉8wwwwwwwwwwwwwv[# %H-<9]\,:;.{{ zCLEF]?]{t[Y<-U-ҾټsREҎE8['Ho eUpjs|Wfo6}qnW,| pOn bV#;.9SaHmWnW_9hΕk|-['Hn eU g})6}c:S=Wg})}TVC)Hx|{9 38ԣQG45L6}cTߥvo/ԣQ<&걔˪ǃr Z%dU{9N-lS]h-Wf2/J5Q9HI&8000 pec`c*؟-W l|:W3b?g*L}WaԫOC97ڢp7҉Y2$IO eU'pi"C` , <= NiI4_<6UVKxk,캬l v-=E<-1Jy(N _/ / )+C ^G2 걜8/ÿ)+C o7Ń@P ŀ0 p\Q4sJ87UDɒdȑ&IQ2dKvQ2d , <= O*d w_\g%Zz3Τ4d_kᲬ⩪;.ټz`k% -gƥ Z2/o^Oxk,/[; "7S;M_X6}cj<$R@@(Cz.9J2C\ IQ2dү3-S=WJ_=05SoPKᬳ거1O]56}qa\ ^,g˪ǃr02_=!c"ԣ_:0O{&_-W:<[G>[U~1~jQ|!S)OY_;:3yTßJl"d(pBiU&Hk"D&UDɒ˱[{1؉ybg27S>9Dn˽`NŲ_9m/3oU󙞗sJ95I) paV!l[Yp6z.i〇ҎQ|[>YuX2rTʇO(iEi?Q 3EQ(y$H 2%dPpS2\Ża1,si蹧sB8dJ"-GF]c9y>gg_eOgYzL,YuXsO = =1~jQ>@^K{8˪>_'T]<_=zD-za1ᬳ거1OˮuXO%SPWסKYuX FXO%_H29h-Wf2/J5U/U_;"JX5KUcYgec`c^@^KNi ^X eU-ᬳ거17R2/ڏ@10P`,Rd8bab*"!*d pqb EDZyU&Hkz.gyF*2&= L YTDCUDɒረO*d sOEޕ}q~Ͽٜd|X쎥_\g%Q\ ^2b7іw1i˪їUdž˪sJ8yn'xk,캬l >_:-Q>4k-.=W|4d_j'|ko`xӚZ2Ņu7'[xә2$TΫg5(֜"7LZW BQÈR;.*vϳc(sGʦ-È4xH>X>'; ./usr/share/man/info/en_US/xlf/html/lr11.htmp/$ Notes on the Examples in This Book XL Fortran for AIX V8.1.1

Language Reference


Notes on the Examples in This Book

  • The examples in this book are coded in a simple style that does not try to conserve storage, check for errors, achieve fast performance, or demonstrate all possible ways to do something.
  • The examples in this book are compiled using one of these invocation commands: f77, fort77, xlf, xlf_r, xlf_r7, xlf90, xlf90_r, xlf90_r7, xlf95, xlf95_r, xlf95_r7. See Compiling XL Fortran Programs in the User's Guide for details.
  • You can paste the sample code from an HTML session into an edit session.
  • Some sample programs from this book, and some other programs that illustrate ideas presented in this book, are in the directory /usr/lpp/xlf/samples/modules.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] Yu l|$4hf>H>X>';#./usr/share/man/info/en_US/xlf/html/lr110.htmp/$   -<>eainot /AEPRTclprs"=BDGILNOSVbdfhmu+,.0CFHM_gvxy()1459:;Uz|!#&'23Xjkw678WY*Q\%K{}J[]qq0:HH E@ v[ 혰cen3wmmm:@O= ͮl]1V&ؼųl,+mm:@Od%*f˛Zlp`0^mmmTC@AP^ &IDI(0Xi1hxXl]b٫|Bi1hxXl]A(D /$$.6)쩖c tt"=E 5',c">^ڰ`; 0` 0` 0` 0` 0` 0f1$-H."LMu'GHx&F%y;1l[չ<<GJTt(bH"0XxI$E(^M`0 3@(i2J"IAP`,]H TIE(bH"0YP(0 Rzt d@X`У*&LH (2CJQDɒA"'Q2dֈګ5~f-2tLZ%9.scXmV,漾0m{:4EW .t\հV7lZ^k,I_FV,)TQ2dAWŢyE&H})QҕHQQI9JԨ:jtt5UI$E+ m,֬`Ğ>? ]MXe{TEg3=4stEDKګc'e;M:OPuI'Rz ")Pfذn:FGJ "I9Q::T jttQ2d <$>jttQ2d(@)<$>J5*"U#S$>E2H(2CFGIE&H}$$(2C ӟ|DY^Փʠ$jttQ2dJ&@ByE&H}H(di(@$L!#S$>A4Q&LQDɒI IDS(2CFGIE&H}$(QDɒR5::J(2C$ɨj(2CFGIE&H}$DlQDɒR5::J(2CQ(2CFGIE&H}QL!#S$>A1'Q2dԍN&L*z2yE&H}H(dȠ(L!#STu'(ҕ#ҕH*FԕA:,֬`ĞUmmm``mmm mmNyfW ̮]N|DVtm"ZcFFGJU#h#lt6IҕI@hDR6]<ҕH=A'I 44t8uJU#@328".{b"+:6VVf-|d'YVe{Usp^]4 :O"ByRM輾@hDR6]L6F*:O:hFG)R6 cY^Փʠ'Q2d0zyE&H}h1$>&RO(dêRHNԞ9Jé虼^-yX-mvB9,1ef,89Y̯jìV'C3蹫8 غEؓʠcQ0тÁ$煏 / EAÉh^bN{" i(d@$@<$>DF ǐ"aQ4 ``/"심qlYx)TRmITEDY^Փʠ'.j6.´Lޒ&LHJ"QDɒG61aōl5ug?D*tŁWDVs1ʠ'!RD1 < jXg9X^9 7$>&@'Q2d͌Xqcq^G5ug?D`ix>%PN"f2yT$*H Vr\ڱA:s5gA6(yT&\7V G{cD芯xsAgIHT#GJT@ƒ'C*O*u nkie+DXFَ2;3gIE&H}$L%NO(dŇ7 RM1Xk0jOI4jR* cIT=sVpAt#b'A:]{k c7 4f vNU|#NLޒ&LHJ"QDɒY,n6tH.芯xXl]b٫|Yb{1a}ŅtL`΁׊Ň7g23zEVk8ŮZ?D`yw,9\`Ջ芯xXl]b٫|qx[9Uٽ6sja7s\]/lDT,J~`.ՎU|#^s5g,stEW^Y6.1llվ93i͚4+Vf5eb^`.ՈVn^|m`ՋŲmhf@j9xPxVksbV^|mVŇ=+VkM*t vB(1k_X c^s5g,q-gD͝%L!=Bb(@6O(dŇ7 ]i=sVpB 4t!NjXg95e4jŖfsqe-˱&hotB*Fm m ԞhԍNȐ"Bc:9ma՗Ѩ?Z Ơ\)T5#h'y} mV$"D(2C.RI4jFO^_@a_'=$ѩJC7^q*غ(. fITEDY^ՓʠeZZN|Z]eA4Le{Ub?X[,]{k ?5ύaŠ\WA虼9V~]G@nde؀ 4x`.Վ-nxUŗ2l:&\|Z]eA/|#4hW5#f`9VZIT 6.W@jO*ttH?61aō{Z6_9IvUVk cf σV5DWb]p&o2Wx-yzʰ]腝)TA:s5gA6(yTh1ů24Lf-`gD(dMTE9<$>cXl/0tA:s5gA6(yTt&0Xp0ZĜ0Xq4MX lId]A%L!HD'Q2d@@~(ha]XT,8j&, ^]ue{Ue³^_D|]\+y^/j i#GIspXsK-aZ&o 4לs5eq{0pJ$ѩA?: E&ORzIR5::O"B s9;/*`ix>7"2q{0kD=sVpAt)T5#h'//cA`/ ԞhԥGIHT#RUyTZՁg}kgD6n{iϲUt\՜l]آIPN`^53fֶq1Nk,I ho+kXaYg2e4mי^qYs3lg?D芯xXl]b٫|t~n]t ^q*غ96j虼M^eX.cotBΔ &^M9ɲ,ڱʵqk{Ơk΃հ@ƒ'Mʠg3ÚYk 3yv-z`*t.j6.lQv$'X ?L4``,9c P`i0ؓȺJ(2C<8"O(dQ0тÁyp0Xq4MX ȼ"8:2*t< s9}]b k vsV\`h-@{b?@k vr6|-X虳yvūfc%yU:3_X btH?I k 4TEYDBIL!scXl,J~k 4W6b?1lZ:&[^|#NLޒ&LHJ"QDɒG61aōlhX9WGek 4W2UttD ho+ګ5/n0mxVtql>Z'yU[eZαErsljke3Ň=*qoV.*Fm m ԞhԍN*)JI)Z iQJR{0|&ea\tL{M^ӕً_׶stEW^Y6.1llվ!Yg>h6'X# !, H>X>'; ./usr/share/man/info/en_US/xlf/html/lr111.htmp/$ CONTAINS XL Fortran for AIX V8.1.1

Language Reference

CONTAINS

Purpose

The CONTAINS statement separates the body of a main program, external subprogram, or module subprogram from any internal subprograms that it may contain. Similarly, it separates the specification part of a module from any module subprograms.

Syntax



>>-CONTAINS----------------------------------------------------><
 
 

Rules

When a CONTAINS statement exists, at least one subprogram must follow it.

The CONTAINS statement cannot appear in a block data program unit or in an internal subprogram.

Any label of a CONTAINS statement is considered part of the main program, subprogram, or module that contains the CONTAINS statement.

Examples

MODULE A
     
  ·
  ·
  ·
CONTAINS ! Module subprogram must follow SUBROUTINE B(X)  
  ·
  ·
  ·
CONTAINS ! Internal subprogram must follow FUNCTION C(Y)  
  ·
  ·
  ·
END FUNCTION END SUBROUTINE END MODULE

Related Information

Program Units, Procedures, and Subprograms


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] q*غ kv4~$s hf>H>X>';s ./usr/share/man/info/en_US/xlf/html/lr112.htmp/$ CONTINUE XL Fortran for AIX V8.1.1

Language Reference

CONTINUE

Purpose

The CONTINUE statement is an executable control statement that takes no action; it has no effect. This statement is often used as the terminal statement of a loop.

Syntax



>>-CONTINUE----------------------------------------------------><
 
 

Examples

     DO 100 I = 1,N
        X = X + N
100  CONTINUE

Related Information

Chapter 6, Control Structures


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] nbsp; l_$#hf>H>X>';l ./usr/share/man/info/en_US/xlf/html/lr113.htmp/$   -<=>NORTenort"/ACDEGHLPSacils.01IMdfghmpu!#,249:BFWY_bxy()+3578;KUVXvw&6Q\|'k{}J[]J>jӱ:yF&؂4Qt%9 :eg (\8r7׭Έc1c1c1c1c1c:/<<ֹR3$B;f15GH p|g@ V`_Mp 0@;[\0h?_|p$<48P;TDbcZ80ʅ&PB4:>PP|wNƴ8pp›*BIQ$8cF'@Te(H|l!EW's%l%\i?:# lWW3W'xtwNƴ8ph›*dqmW'xtwNƴ40aM >3_?8i?:# 0ʅ&GAX@ӥ KyA!PI4B b ID>H>X>';/./usr/share/man/info/en_US/xlf/html/lr114.htmp/$ DATA XL Fortran for AIX V8.1.1

Language Reference

DATA

Purpose

The DATA statement provides initial values for variables.

Syntax



         .-+---+--------------------------------------.
         | '-,-'                                      |
         V                                            |
>>-DATA----data_object_list--/--initial_value_list--/-+--------><
 
 

data_object
is a variable or an implied-DO list. Any subscript or substring expression must be an initialization expression.

implied-DO list



>>-(--do_object_list--,--do_variable-- = ----------------------->
 
>--integer_expr1--,--integer_expr2--+------------------+--)----><
                                    '-,--integer_expr3-'
 
 

do_object
is an array element, scalar structure component, substring, or implied-DO list

do_variable
is a named scalar integer variable called the implied-DO variable. This variable is a statement entity.

integer_expr1, integer_expr2,  and  integer_expr3
are each scalar integer expressions. The primaries of an expression can only contain constants or implied-DO variables of other implied-DO lists that have this implied-DO list within their ranges. Each operation must be intrinsic.

initial_value



>>-+--------+--data_value--------------------------------------><
   '-r-- * -'
 
 

r

is a nonnegative scalar integer constant. If r is a named constant, it must have been declared previously in the scoping unit or made accessible by use or host association.

+---------------------------------Fortran 95---------------------------------+

r is also a nonnegative scalar integer subobject of a constant. Similar to the above paragraph, if it is a subobject of a named constant, it must have been declared previously in the scoping unit or made accessible by use or host association.

+-----------------------------End of Fortran 95------------------------------+

If r is a subobject of a constant, any subscript in it is an initialization expression. If r is omitted, the default value is 1. The form r*data_value is equivalent to r successive appearances of the data value.

data_value
is a scalar constant, signed integer literal constant, signed real literal constant, structure constructor, FORTRAN 95 Begins scalar subobject of a constant, or NULL(). FORTRAN 95 Ends

Rules

Specifying a non-pointer array object as a data_object is the same as specifying a list of all the elements in the array object in the order they are stored.

+---------------------------------Fortran 95---------------------------------+

An array with pointer attribute has only one corresponding initial value which is NULL().

+-----------------------------End of Fortran 95------------------------------+

Each data_object_list must specify the same number of items as its corresponding initial_value_list. There is a one-to-one correspondence between the items in these two lists. This correspondence establishes the initial value of each data_object.

+---------------------------------Fortran 95---------------------------------+

For pointer initialization, if the data_value is NULL() then the corresponding data_object must have pointer attribute. If the data_object has pointer attribute then the corresponding data_value must be NULL().

+-----------------------------End of Fortran 95------------------------------+

The definition of each data_object by its corresponding initial_value must follow the rules for intrinsic assignment, except as noted under Using Typeless Constants.

If initial_value is a structure constructor, each component must be an initialization expression. If data_object is a variable, any substring, subscript, or stride expressions must be initialization expressions.

If data_value is a named constant or structure constructor, the named constant or derived type must have been declared previously in the scoping unit or made accessible by use or host association.

Zero-sized arrays, implied-DO lists with iteration counts of zero, and values with a repeat factor of zero contribute no variables to the expanded initial_value_list, although a zero-length scalar character variable contributes one variable to the list.

You can use an implied-DO list in a DATA statement to initialize array elements, scalar structure components and substrings. The implied-DO list is expanded into a sequence of scalar structure components, array elements, or substrings, under the control of the implied-DO variable. Array elements and scalar structure components must not have constant parents. Each scalar structure component must contain at least one component reference that specifies a subscript list.

The range of an implied-DO list is the do_object_list. The iteration count and the values of the implied-DO variable are established from integer_expr1, integer_expr2, and integer_expr3, the same as for a DO statement. When the implied-DO list is executed, it specifies the items in the do_object_list once for each iteration of the implied-DO list, with the appropriate substitution of values for any occurrence of the implied-DO variables. If the implied-DO variable has an iteration count of 0, no variables are added to the expanded sequence.

Each subscript expression in a do_object can only contain constants or implied-DO variables of implied-DO lists that have the subscript expression within their ranges. Each operation must be intrinsic.

+-------------------------------IBM Extension--------------------------------+

To initialize list items of type logical with logical constants, you can also use the abbreviated forms (T for .TRUE. and F for .FALSE.). If T or F is a constant name that was defined previously with the PARAMETER attribute, XL Fortran recognizes the string as the named constant and assigns its value to the corresponding list item in the DATA statement.

+----------------------------End of IBM Extension----------------------------+

In a block data program unit, you can use a DATA statement or type declaration statement to provide an initial value for a variable in a named common block.

In an internal or module subprogram, if the data_object is the same name as an entity in the host, and the data_object is not declared in any other specification statement in the internal subprogram, the data_object must not be referenced or defined before the DATA statement.

A DATA statement cannot provide an initial value for:

  • An automatic object.
  • A dummy argument.
  • IBM Extension BeginsA pointee. IBM Extension Ends
  • A variable in a blank common block.
  • The result variable of a function.
  • IBM Extension BeginsA data object whose storage class is automatic. IBM Extension Ends
  • A variable that has the ALLOCATABLE attribute.

You must not initialize a variable more than once in an executable program. If you associate two or more variables, you can only initialize one of the data objects.

Examples

Example 1:

      INTEGER Z(100),EVEN_ODD(0:9)
      LOGICAL FIRST_TIME
      CHARACTER*10 CHARARR(1)
      DATA    FIRST_TIME / .TRUE. /
      DATA    Z  / 100* 0 /
! Implied-DO list
      DATA  (EVEN_ODD(J),J=0,8,2) / 5 * 0 /  &
    &      ,(EVEN_ODD(J),J=1,9,2) / 5 * 1 /
! Nested example
      DIMENSION TDARR(3,4)  ! Initializes a two-dimensional array
      DATA ((TDARR(I,J),J=1,4),I=1,3) /12 * 0/
! Character substring example
      DATA (CHARARR(J)(1:3),J=1,1) /'aaa'/
      DATA (CHARARR(J)(4:7),J=1,1) /'bbbb'/
      DATA (CHARARR(J)(8:10),J=1,1) /'ccc'/
! CHARARR(1) contains 'aaabbbbccc'

Example 2:

TYPE DT
      INTEGER :: COUNT(2)
END TYPE DT
 
TYPE(DT), PARAMETER, DIMENSION(3) :: SPARM = DT ( (/3,5/) )
 
INTEGER :: A(5)
 
DATA A /SPARM(2)%COUNT(2) * 10/

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k$hf>H>X>';./usr/share/man/info/en_US/xlf/html/lr115.htmp/$ DEALLOCATE XL Fortran for AIX V8.1.1

Language Reference

DEALLOCATE

Purpose

The DEALLOCATE statement dynamically deallocates allocatable objects and pointer targets. A specified pointer becomes disassociated, while any other pointers associated with the target become undefined.

Syntax



>>-DEALLOCATE--(--allocate_object_list--+-----------------------------+--)-><
                                        '-,--STAT-- = --stat_variable-'
 
 

object
is a pointer or an allocatable object

stat_variable
is a scalar integer variable

Rules

An allocatable object that appears in a DEALLOCATE statement must be currently allocated. An allocatable object with the TARGET attribute cannot be deallocated through an associated pointer. Deallocation of such an object causes the association status of any associated pointer to become undefined. An allocatable object that has an undefined allocation status cannot be subsequently referenced, defined, allocated, or deallocated. Successful execution of a DEALLOCATE statement causes the allocation status of an allocatable object to become not allocated.

When a variable of derived type is deallocated, any allocated subobject is also deallocated.

When an intrinsic assignment statement is executed, any allocated subobject of the variable is deallocated before the assignment takes place.

A pointer that appears in a DEALLOCATE statement must be associated with a whole target that was created with an ALLOCATE statement. Deallocation of a pointer target causes the association status of any other pointer associated with all or part of the target to become undefined.
Tips

Use the DEALLOCATE statement instead of the NULLIFY statement if no other pointer is associated with the allocated memory.

Deallocate memory that a pointer function has allocated.

If the STAT= specifier is not present and an error condition occurs during execution of the statement, the program terminates. If the STAT= specifier is present, stat_variable is assigned one of the following values:

+-------------------------------IBM Extension--------------------------------+


Stat value Error condition
0 No error
1 Error in system routine attempting to do deallocation
2 An invalid data object has been specified for deallocation
3 Both error conditions 1 and 2 have occurred

+----------------------------End of IBM Extension----------------------------+

An allocate_object does not depend on the value, bounds, allocation status, or association status of another allocate_object in the same DEALLOCATE statement; nor does it depend on the value of the stat_variable in the same DEALLOCATE statement.

stat_variable cannot be deallocated within the same DEALLOCATE statement; nor does it depend on the value, bounds, allocation status, or association status of any allocate_object in the same DEALLOCATE statement.

Examples

INTEGER, ALLOCATABLE :: A(:,:)
INTEGER X,Y
      
  ·
  ·
  ·
ALLOCATE (A(X,Y))  
  ·
  ·
  ·
DEALLOCATE (A,STAT=I) END

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] l kb4$ hf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr116.htmp/$ Derived Type XL Fortran for AIX V8.1.1

Language Reference

Derived Type

Purpose

The Derived Type statement is the first statement of a derived-type definition.

Syntax



>>-TYPE--+------------------------+--type_name-----------------><
         '-+----------------+--::-'
           '-,--access_spec-'
 
 

access_spec
is either PRIVATE or PUBLIC

type_name
is the name of the derived type

Rules

access_spec can only be specified if the derived-type definition is within the specification part of a module.

type_name cannot be the same as the name of any intrinsic type, except BYTE, or the name of any other accessible derived type.

If a label is specified on the Derived Type statement, the label belongs to the scoping unit of the derived-type definition.

If the corresponding END TYPE statement specifies a name, it must be the same as type_name.

Examples

MODULE ABC
  TYPE, PRIVATE :: SYSTEM      ! Derived type SYSTEM can only be accessed
    SEQUENCE                   !   within module ABC
    REAL :: PRIMARY
    REAL :: SECONDARY
    CHARACTER(20), DIMENSION(5) :: STAFF
  END TYPE
END MODULE

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] atem lF$yhf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr117.htmp/$    <>"-=AEIRTrt /DHLNOPaeinos.1BCFMSUbcdhlmp#&,0234569:;GVWfguy!()78Y_wx%+QX\v|'k{}K[]* )YtjI.ALs>rBtjI.yMv#RIn#(egTL'5:-; WX\V.!B!B!B!B!B{4G06\qᡀ9 lf/ʌ 1474;ߧ`X]8maY^+4xpε@hN+Fl%5cmYk!(+ɖ0q+ 3{,Zy%5ccߧa)V=8 D Q::L'5 ^`l'2RLO{ق]vcѭU|R4fɵ(d` .hȗ,ak6m< xiJUFUJLR6]k]܂I\O 7nCA"!Ӱje;Q::lO 7nCA"!Ӱj4]r 'Y'X8 B&‚@h$D4=v)){^۞YݧQW ˚0"6l]m#\H2x`#{aFGfaTŀ,7{w2eXȑ,7x1v\GՍ,dH vNa(nQVfFZT.E^3Śn( 8h:vGR bEF,m֊&'bS 'Z(2RLO'Z({0TbͮYfo/d.mo-deFLOIuy:DWNwNzRԢܭ7*iح%Bd9=x@8puZ] ak{{A'aZvT77G-;'Z(`Eӱ]bX ȵkfxpOhcYٵ0,3gk,3\7mp!vN.mln+%?@G{{{{1企]i{{{{ziخsKjײ̄9e\<`߻\,+`L7V#{{{ɒo1企]i{{{0In+b&F{L˰iv[a{f, 3ŚYecK36mug,Ѷ8a.7+KRJVhU8pPPr14F`ohѵS+c1a~I2sQ?}Qܭ7*eb=)};+M;*SNJDj)&UwF ݧ`nT7*SNJDj)&UwF ݧaD +ӱ)GI@4"JDzNؤ#XJX|t=)%=i"0q 4"R])U F!NҞS܏F#@4uuv::Ӱ#Ѥl88?^\0ֲ' lؖ2UbA lؐA jXVV͉2UbA.]a[hC%[6$V͉`v%mI492J9$;Vӱ]u2/ȳV4iH>X>';./usr/share/man/info/en_US/xlf/html/lr118.htmp/$    >t-<=NRTaen "/ADEIOSchilmors,.1CGHLMPbdfpu#02459:;BFUV_gxy!&'()+36XYvw78QW|*J\[]k{}KQ.FrBy禕O=#Й.yH6hL@H#‰ВX>ВXlmRs6gc1c1c1c1c1{߆4@a9ZY V\u:mrB X6G͸emuvqTx Cށ8PHH+x 8,48pO߆8Gفw_zb0ە8447{,_]Y8a Zط']UyG1g4__ O J ڵ;g my*߆'l32anr:-ew,bܨ CNرmǷ}ro `o{Jy M(2ES%DHlկ:* vZγwdgeTC = I18=ǩ*%*DYz,:@05`M*!҅ $N2`vŎԕ"p b8Ho@Ü($$a` pX,6Ң(QI,b%DH"8Ho@Ü($$/Â@Yl D9PD0Öt=IQ)R'+]CzA!!p`.b;l-a " \buSB^ncXnޥ]m;`8y`‚L 6nr`7˷}{.̓qon}_Cqhՠ4Xl"DC ]Y[r'd͎a."ۚo˶A0g:ngm횵]VRD1 z!feml dԑ T^Qh&a)@Bxl($E)'9 )41{{{/z*={{{ 17wu+h 40>j={ÞσPjV1cy^{{{{{{^~Yg^_0WV`]0-ʺ`> e@0 ܫT ac@1{x%c1o -ʺ`<`]02P pǁ`yI#>D %<&NM`XH,0aDi H>X>'; ./usr/share/man/info/en_US/xlf/html/lr119.htmp/$     t-<=>ORTaen "/ADEGHILNSchilmors.01BCMPWdfpu#,2459:FUVY_bgwxy!()+368;Xv&'7Q\|k}[]{K $zv"$=Us`q#`BtE^qȬl̊v"'3#e,3Bj*NU$!Qr{ :G)JR)JR)JR)JR)JR!3"9D &5`8xc=w =)EY H! $!ɺXgaw< ME `X, 4p8o!3"8t 3Ay^,֝G2 HC}pPgU1SΖ/+GBfD pNp\wLn z(ο!3"8{ m/;ܣOۯ{?4Lȁ!%a.9s]k=Ay^,32$Qcȣ#@:U(Z5gB:QTB;}Øξw:vt2$Q;XC; +ZFu}n4 8ٙ(JH_pPBY#IG, 4@РI2$Q;XC`M(Z498ygHѡ\p 3"EӵA=A b=(Z5{G, 4/BA@fdW-Ә}f` # ˼(Cx8aS8}i܆e?8,hF:ۯ6]o.]W 3.̉ETfdNMМGWs[u&|0b9׵uz 8`UpM":9)a\0R)JR)JR)JR)JR)JR!3"X(:XJD\S'3"|=pWc,b'&:fD̊a3cȣ#SBPj*:#[xhHurZȭa ri18fdOEdOEQȒWhS$]οE%;3Z,Ч&hSc;8Zyc;q⽫E0j*N^բO_׋Ug1}YwK[~UtUw10MXAok,6\Y k>c:' bl0_pSuwnSL]baw=a`k?Yosw:K<}xSJkn-hS2$dIN#3#cǪJ|j6BqYUFs!B!B!)B!@B!  p[xw1 8`X-Ḝ-L"'58fs'MEQZn4x,Njp!B!B!B!B&g3Uu8cǪ̉)%8i| }fw/,D3"p-8c7LgZ*q9 N(!6;}Ø'}- osrűwȧ]Y^բM ri19{V%>p3gk"ZѝM1wgc%;~Z,Ч&hS;h"rN$-8DtQ.ؖ=̉i~nvi,Y>NȜ+3"Jq?ydjhT@h ,l⽫EKrJq8Scȣ#W%aP ^.~l0Qs" }fw/,D>~Z,Ч&hSc:/.yƳ}qw/*ֳZ,Y"rJ~)w aܿcDw1rb].|h>BL;hn"pw?YNJJhSMEQڴY)1N.s78o+ڴY) DZ,}Ø΄.~w4($ù^.Ɖfb'Ysxjdt)hS1gFs"X( 8|̉)Q@X((^.~l0Q~p3~"EQTbrJ}gB8߸yƳ}q⽫EڴY)jdM5F'/jdcxZ}}Øfq<7Ug7p3᱆_|5=wx)⽫EQTbrJ}gxZϾ|OÂA#B ,JhB9{V%8|}Øfq<7Ug7wq<6tb˻8ookY/'S{V%4VCHEc:3W_w O xjd94UEc:/.5>Z,Ч&hS;okYϊJhR'/jdta%8<254*ѣBC8jd,ڴY)dOE+  N>fDQDE ) QTxN1TFp7NDE v;xw0g\<\< gS˩q+!Ч"" Y9@(=aI*IDx0 8hhW*zC@ʞpT=8HM5GTDg4 gP 3SFp(ũa9SڄYx>,DyJdN%TfdIN+ڴY) pSshS2!"HUIQ θBQTHQcf94UAܿcbq2'*⪓:#[xpH$c::hU!E6hw/4N>ar۴g+ڴY) DZ,}ØΙRqUIQ81p4*1K4AZ'3"rN*8Ӫ!5 g\M  &̀QȜȒS>`NH{:XJD\SΖ)|NH81pْ{֝.%qLDuD:F J☉π'tm#Qk"&;ysοO`UA`>6jdqϙǑFFwDTH0lq2'3؊0  kTC$] hf>H>X>';] ./usr/share/man/info/en_US/xlf/html/lr12.htmp/$ Related Documentation XL Fortran for AIX V8.1.1

Language Reference


Related Documentation

You might want to refer to the following publications for additional information:

  • XL Fortran for AIX User's Guide, describes how to compile, link, and run your Fortran programs using XL Fortran.
  • Engineering and Scientific Subroutine Library Guide and Reference, describes the Engineering and Scientific Subroutine Library (ESSL) routines.
  • AIX Technical Reference: Base Operating System and Extensions Volume 1 and AIX Technical Reference: Base Operating System and Extensions Volume 2, describe AIX subroutines, system calls, and Basic Linear Algebra Subroutines (BLAS).


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l겊$%hf>H>X>';./usr/share/man/info/en_US/xlf/html/lr120.htmp/$   eit-<>RTanors /=ADENOcdlp"BGILPSVbfhmuy,.0CHMU_gvx1249:FXjz!#'()+357;WYkw68Q\|%&}JK[]{qhaǣ`;8hgMƚfBcC`9 Dc`6r  L8xA6`9G%n*;IZqqqqqqqqqqq݌q PRвlTH@jUJu'!+ڼ00Pchp:t \)+%R`G38(,, `48ƀg5Jo,;NΑܜx$ chs[Jm}.A+T+.UxtvZ}&KE8ƀg!LJ"-W6^e#9yӫQiԵ/6cc@F3 =-R_ Sx#S'E¿€& ብRL/I%B/H!jo%y!ij)0nJe|%'*eץֹ9x_K*_Ƃ%ܷΞ=yLR+-j˴tKlqO2A SZi=vHR2K^㶯x}.mEHN^- R2ni~J)~#W//%ovH+:_ґ2M|-,У="{ݒȭNB&iTwUL'J_lz%S4HcÑ/i a"a\i?/ܷ4/24i_L%'J=fVw'! ^4w;HA1 4CژO-P4("Ik_Ȭ~Z\i?/ܷ4/24i_`ԙU+^',܊!bkѦ=i=49 Àp!HcTʯjaAi8alJIJe)~Q+~dLRrZW~^Ѥw'/][ߕZrxȒ%K֘)v2H)~Q+~d(zv2У=?xr' Aaa`PNi=498]kM!4cG5$yf~a#9xO!40'49 M ph71Ž0 Ih=!>֎ڼl΅c94zi qxdcG sODpҠ(j ab2bm4G sG sODpBiP5HlȭN]5uNUiƚ8k8k z -@( )@PN #]{kнZ4sV8|*ئo} -u1^8KP Ҡ(j 8R%ѤvtM=4\\k)jE4 i[fV;t-MM=4\\k)j@ (CPxhXXX bCgH Z5ד9"IkM=4\\k)jA T A9{M=<ս-_9|nEn%]LisGދ-K1c1c1c#%|ú"{rNLc1c1c1cniދ=4{4[ z M2||DmODp iQNKɖi~k)jA@TS=#m4p z -@PQM*&JZn[V{?q–ŠiP5IA {)dEG"psɈsM=4i8sZJƚ lI$+hf>H>X>';./usr/share/man/info/en_US/xlf/html/lr121.htmp/$   -<>eRainort /=AEINOPTclps"BDGLSVbdfhmuy,.0CFHMU_gvx+12459:jz!#()3;Ww&'678XYk|Q\}%JK]{[qbaj᪇_F hFpCpQ2U0UG!9P Dz)f,E[.Z2$qqqqqqqqqqX4 HҬ#PP%֌S\~DA%;AA @=  #X!eRIZH |a%!A@Wt A@h + `O q#gUX U]'>ZKI[`ΒΞ]eIEUX U@|==^"Rl fzΛrOeeio9=i.D2j4yqENNZ| |tEpɀUXr <9 &уpU8PŎCiycy-YwI|aٛv9P Dz)]e'M2ÐTRN.Ɗi *p)2}b;3hpX2ASjHz$YNITT@f@{+04 + ?@R'+$ƒ$ . p@84EaUR0H+D|\-4A%N=@{_`h(A@Vc#.Ɯ*z'3VeX`R *tt)Y|{O@?}'0o0&kL7Bd Wr( 3f]}FE\g'@nDW.Y#,-1' yd dp+Xprt98˞8H $f'h2e][.Z2$qqqqqqqqqqqޫ G pbdp42A9,{-f0S NY#Ð8Phƌ9F+Å/ HIIITT@ Q=ҳO44Y#Ð8R#@((Ee~g@H  42SHn(ZLEGZ4ŎCiYji 2o%.:o;3t}5g~SLt'-=gğv6{K-~eJ%jeOFܹN\t9eIyĈ;V!&Zcji 7 ٣ji -L22oro4MYnx˙h p`,#Q ƒj=. z"2+,ò {sZCq À&SHnh p`/`H$j!8PbmU 2+;A&Ye1\ydn:RqqXլ E1\1uIO+e#$ɖhjeW,^Yۛ e j٤nf4bcaXᖩ!Ŧш7ܵFenj5 ̫~:~UꪪUUUUUUUUUUUUUUUUUUXg('eZ~U4 ePUUUUUUUUUUU yf_OY @z6ߏ. $hfvk򪪪=C?߀Y` 8,vkߏ.{CDؕ@$ Y%[,g`XRAMUUUUUUUUP3̳Tje-e/oE;T@FXᖦXqa9|`bۆZcrt80bۆY22TfY,O9 23,уS S,bb,fYXeZc@ E1\1CĈ;V2Zo<WB}=IcVH:15g~.LЛS-F/UUUUUUUUUUUUUUT 0٢QenfXr=>orN\٤nf4bcck=/Ĝm/2|X՞MK/S{ʕOtr1-[I>>+ZC,^ꪪ/}a9|aUUUUUUUUUUUUUTE嚣PS F S,bb|7w7&Ĭ E1\1DI䵞w{N\r%]t'>oro>-eoM/cVy7.DM*WI=%i'GvQe=UUUUUUUUUUUUUUUUFS٢QenfXr=vYn{SHn$8p٣ji ,yfW,`bQy-g̦{N\qMEĈ;VPzBIrt80UUUUUUUUUUUUUUTE嚣PS F 4`23,уS,zM!6hZCpS-F/UUUUUUUUUUUUUUUTNNꪪf5F-j`|ܻ bViۜ |>e7X|L-ğM.ZM|fG,e@f=3]I{e7Ĉ;V*Y2eU7MAhZCssȖڙj5 x Kğ 'CuUUUUUUUUUUUUUU@{4^Y5 0S'{x=|`!lJ {s5g_BAi0q]wv7՗t7zWa>J:τgqfw̦8͞NO/[(p-L>$Aڴ΄#>G{˼]e'MfnO|0bKHD];ܺYqĈ;VGwb/Aܙh-7Ze Z}WtWZ%J1|'9WB; ex8x˺ŧ2$AڴzQYv>G{˼ϔs>e4SHnaǪ]=V%=RDOq~G{˼0ƺLûtZ%JXwû^+IwbQ|p=g DXq|F+9S",;'=/8|2'>Iwx8DXÑ^+wr$Y} Z!x)aA#Q ‘dVZj5 xrt80UUUUUUUUUUUUUUUU@{4^Y5 m-LF22 wv"Oet9.~ Eɞd`~G{˼e7g|ISHn À&SHnڙj5 x Kğ 'CuUUUUUUUUUUUUUU@{4^Y5 0S)5gzΛlKYe>{ {qғ2ƭf=t92у3t'Mk,0'S{,j&7DؖIwCra/.yɽgMaҟ>b,J"2qP| ju0:|:ϙG-37BDؖg3*_B%'#؋=z]}%dn8Uz$AڴL0wNry޳ϑ-c]=%"-v7՗t737OJ&u}2aw_KaS{.+ӜḌd`ûX|yh>a6ZC,^ꪪ22 UUUUUUUUUUUUUUUPjC,[pS,{x=|`!lJ {s,챫or䴛ᤂz$oM/ķtZ#w%x.Ua0@˼06%f=#,zM!x@fU7;챫G{˼X|:0[Bz$=4{_Boro4MYnxۇe@4AM=V1X]ϙGOێHg-%DL#8˺$Aڴ|;WIJ9 >oroxj 2jbUUUUUUUUUUUUUUH@>NNꪪhTjjah'eZG;,j&%2M. KV^G Vؖ o̦G)8,jj92zM!1iYji 9KOBL0wJN/ɖ|a嬖^~e>J:τg8K|o4≢6SHnO"Z{ʖf|D]>tG1ғX՞M:oL1~e7&e-%w&Z MG|R3%Yme_L6zϟ|'&巖=g^Ai0 2jbUUUUUUUUUUUUUUUH ` =/,Xᖦ"Oڪj猽Y|4bZ$er}-37Ba1=.Zó7OJ&>|#׌v]1HD.D^F П"Z~e7wğMq]%֌0S-F/UUUUUUUUUUUUUH@> 0٢QeZg@A+,zM!fU7,Qg10c5GADITޢ3xuZ#M ASeP-L4uwOIt`N2*0GXxrXr@0K )28hƆPn{42Xr@0K )28hƢ*{x=|abZ/O,G,($ʀ B6 oTg슾J?98˒ٹ2U޳]GȲɖhr# j ^@P0$ʀ '5e'N2f? G#9kP 8RJL1b+-8t޷L;V6ie9Za—BJL1AA@H8GxZegI"fYY5)y*h0/Ĝmd4r9f-L}Za€ubdpblj>v?8  j ^@HPIIKD#i_kP 8RA!%&TV%s8Glg֠p )28Zi*J\E}' &͚~p`P($ʀC=`KD?xr &LAG謳O,i9f; n{SH k$M hf>H>X>';M ./usr/share/man/info/en_US/xlf/html/lr122.htmp/$ ELSE XL Fortran for AIX V8.1.1

Language Reference

ELSE

Purpose

The ELSE statement is the first statement of the optional ELSE block within an IF construct.

Syntax



>>-ELSE--+-------------------+---------------------------------><
         '-IF_construct_name-'
 
 

IF_construct_name
is a name that identifies the IF construct

Syntax

Control branches to the ELSE block if every previous logical expression in the IF construct evaluates as false. The statement block of the ELSE block is executed and the IF construct is complete.

If you specify an IF_construct_name, it must be the same name that you specified in the block IF statement.

Examples

    IF (A.GT.0) THEN
      B = B-A
    ELSE            ! the next statement is executed if a<=0
      B = B+A
    END IF

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ;V k 2$ hf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr123.htmp/$ ELSE IF XL Fortran for AIX V8.1.1

Language Reference

ELSE IF

Purpose

The ELSE IF statement is the first statement of an optional ELSE IF block within an IF construct.

Syntax



>>-ELSE IF--(--scalar_logical_expr--)--THEN--+-------------------+-><
                                             '-IF_construct_name-'
 
 

IF_construct_name
is a name that identifies the IF construct

Rules

scalar_logical_expr is evaluated if no previous logical expressions in the IF construct are evaluated as true. If scalar_logical_expr is true, the statement block that follows is executed and the IF construct is complete.

If you specify an IF_construct_name, it must be the same name that you specified in the block IF statement.

Examples

IF (I.EQ.1) THEN
    J=J-1
ELSE IF (I.EQ.2) THEN
    J=J-2
ELSE IF (I.EQ.3) THEN
    J=J-3
ELSE
    J=J-4
END IF

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l$$chf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr124.htmp/$   - <=>ERaert"/AHNPSTinos19BDFGILOWcdhlmp|!()+,.023457:;CMV_bfgkuxy#&68UYwQX\v'}[]{Kx)"kMqBP9DJrhIrY5 `QEMqBzrH\ʮZQea9NOEr\_N5[iV4Є!B!B!B!B!B.x/LD*HT#7 X)6ZdSX\w0h\0ޘpPv ⤷sнY2o Ͱ8U_*|8H`XXn#m m&mXVi<mmmms9ɻV`f Ֆk R8V;Hmm\_lQdY[7Vf ަ7vmmm;u Ɔ`.L歍0ٓ67jUك7.;mm%$Xɺ9\&7 XTjǂmmms$YD% A$LE-# rޗڳpvT֑ea9NY;Vn&jia7fj\I.MuE`Lެ߮:za2/%7stumЋ)%ɮ@%kQڬL|\bHRPA2Sea42s8 raFt&]E-# rz)E=,BIabT"RQ!IA0"RQ!IA02z)EV/YyPU曫YyP\b笼˨R2,')謼˨R9;Voo\pn;Vo7W4z4g˨R2,')謼˨R9clj^e)ZFV^e).q#XͰΣ.HNSYyPqn3p=Xe]BXuq謼˨R.zy]"%)OE/\^Fqs՜ZFGG#rNmmmmml mm ~"v Tp?[." 7[TXL{ 4;W碬=X^F/.[.VP\bbM^g yV/,V$ڵFq𧑜\K.zyErQz+/Et\E9Ebɵkڌ!葋Vr.zy%xS64-Qz"N.z%bI/%`jZ=j 2bg(B?ɓYM^gg(XXY/#M^gD^^Fqs$J/V/$^V/Jq,e[YJqs+Ix(ަfkn7`a.HNSYyPqn3w9EbL bmZ8H9ED(E˨R39Vފ̺"9Ebɵkڌ!葋Vr/V)clj^e)ZFV^e)z7ZfaTlhZERBծzY9Ȝ9`w:LʨЉVo[n#8RTJ֠IdYoE(ᆭdai9o[n#8uGZLC&RNѱjJq3.HNSYyPqn3|tmZ뛮nk7C sՉQ:lL0;* 7[TXL{ 4;W*:6u7Cs4;]stho6zXbL뛮z̺"a9NOEe]BZelwv)Qy&CV =1z*QzsՋ^e)ZFV^e)FMclj^e)ZFV^e)z7onz{Q&a7z^j sՋ^e)Pm謼˨R.z\pG4 aQH>X>';D./usr/share/man/info/en_US/xlf/html/lr125.htmp/$    e-<>NORTainort /=ADEGScdlmps"BCHIMPUbfghu&+,.0149:;FLy!#'2567_wx|)38KQVWXY\kv(}[]{qpE:d9Ciј48暌Gr'1E1E8V㶊ZqU3TlZky&t/]3[Zd7Y*u^LWZkzI@MBکu)Kqqy <' Qф i_mBquFgә,m흶[1V4_MLyІM-ܝVn48[qf9j 1!9˰3c ,Bh=pPhhÁ! x0[qf9j 1!9mt/&&pٺFS"<9,#A.#ɭE#?햳UG^ /l*[">XHcN`P/1ƎD@ yԺɬ_E wqKrWՓ.k{Q`E-\(ޥ-ﭔXKors`т Sc9u}}찯Ok{Qn('Rjs`9u}}Y},Oe5R|1r_{,j)]W%90Iey$3ceZZf_z'Qb꾶-QOFq590I3gWg ϫ=\ Kors` Dh >g('sLlY_RdQ}g]jmֺgVJWUmNrxHL@S3cyOOj/X*R-ܜ$`! "Sܜ$`d6c$|w'9F =!$2Q%1EƧ9F ?gWd/=rUv٪[dQ}챪Tu_[|ޥeZدrs`EB(''9F ½K=j}ciدL=-ܜ$`Nrg4ίɄkث?7-c+/ڹ 1^ !!p90I( k.590I42Eey4SJn6o%[oޙ!X`#(#yqdq90IթWKzfNry@S'r=DLk` -$J-KQ84/8\Q~J>WKYqq/p==DL`݀tJЮ|ǹNFuƞ?"g [\[@ܻ< =#$D@\[ 4+4qt8Z фžt&olˍ=#$D`xal@rs>SWB4qqDc/tJЮ{=8ё@ {20 UUUU k$%hf>H>X>';%./usr/share/man/info/en_US/xlf/html/lr126.htmp/$ END (Construct) XL Fortran for AIX V8.1.1

Language Reference

END (Construct)

Purpose

The END DO, END IF, END SELECT, and END WHERE statements terminate DO (or DO WHILE), IF, CASE, and WHERE constructs, respectively.

+---------------------------------Fortran 95---------------------------------+

The END FORALL statement terminates FORALL constructs.

+-----------------------------End of Fortran 95------------------------------+

Syntax



>>-+-END DO--+-------------------+--------------+--------------><
   |         '-DO_construct_name-'              |
   |                                       (1)  |
   +-END FORALL--+-----------------------+------+
   |             '-FORALL_construct_name-'      |
   +-END IF--+-------------------+--------------+
   |         '-IF_construct_name-'              |
   +-END SELECT--+---------------------+--------+
   |             '-CASE_construct_name-'        |
   |                                     (2)    |
   '-END WHERE--+----------------------+--------'
                '-where_construct_name-'
 
 


Notes:


  1. Fortran 95.

  2. Fortran 95.


DO_construct_name
is a name that identifies a DO or DO WHILE construct

+---------------------------------Fortran 95---------------------------------+

FORALL_construct_name
is a name that identifies a FORALL construct

+-----------------------------End of Fortran 95------------------------------+

IF_construct_name
is a name that identifies an IF construct

CASE_construct_name
is a name that identifies a CASE construct

+---------------------------------Fortran 95---------------------------------+

where_construct_name
is a name that identifies a WHERE construct

+-----------------------------End of Fortran 95------------------------------+

Rules

If you label the END DO statement, you can use it as the terminal statement of a labeled or unlabeled DO or DO WHILE construct. An END DO statement terminates the innermost DO or DO WHILE construct only. If a DO or DO WHILE statement does not specify a statement label, the terminal statement of the DO or DO WHILE construct must be an END DO statement.

You can branch to an END DO, END IF, or END SELECT statement from within the DO (or DO WHILE), IF, or CASE construct, respectively. An END IF statement can also be branched to from outside of the IF construct.

+---------------------------------Fortran 95---------------------------------+

In Fortran 95, an END IF statement cannot be branched to from outside of the IF construct.

+-----------------------------End of Fortran 95------------------------------+

If you specify a construct name on the statement that begins the construct, the END statement that terminates the construct must have the same construct name. Conversely, if you do not specify a construct name on the statement that begins the construct, you must not specify a construct name on the END statement.

An END WHERE statement must not be a branch target statement.

Examples

INTEGER X(100,100)
DECR: DO WHILE (I.GT.0)
     
  ·
  ·
  ·
IF (J.LT.K) THEN  
  ·
  ·
  ·
END IF ! Cannot reference a construct name I=I-1 END DO DECR ! Reference to construct name DECR mandatory END

The following example shows an invalid use of the where_construct_name:

BW: WHERE (A /= 0)
  B = B + 1
END WHERE EW      ! The where_construct_name on the END WHERE statement
                  ! does not match the where_construct_name on the WHERE
                  ! statement.
 

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] >+- lꪙ$hf>H>X>';./usr/share/man/info/en_US/xlf/html/lr127.htmp/$    -<>ENRTert /=AIOPainos"BCDFGSVcdfghmp()+,.0159:HLM_blu!2348;UXYwxy#&'67QW\v|k}[]{K1pE2‰y<!*)' NBmDPJIkȢ=|lD8Z2ωV$YAAAAAAAAAACgP>mҗJ=C/bSG=GsR΢u)tBC"1%2n%hΣ]BDYԥG 7Mu@ԣw|/b+K]SQֿLv/^?Z%^%7+6%Gp'D48U?kl&v;G|]G 6Σ<җJ=C/W-/)UG=GK: Yԥҏm XDC㮏Q:! E}uaf J͉Q}G<..-WVAY Z%^%˫ `dؐfbZ! r,rK.s%fĩKۡXDC ]tG!tyK:'V񑈳Gq+:T΢pzn%i: yG'W &'A"G)tt:%9*tx{n>Υ,Q#ۓQF $5'kɴ4(툃> &쓊5 ;mt ;mE08$@80@8(3$y6\C8|M52N^Eɨף5utҏm f ,JrU|"!㮏QRΥ.鸕# %KbF/Gq+:zb">u %t{H4bAPi='A"H>X>'! +` ./usr/share/man/info/en_US/xlf/html/lr128.htmp/$ END TYPE XL Fortran for AIX V8.1.1

Language Reference

END TYPE

Purpose

The END TYPE statement indicates the completion of a derived-type definition.

Syntax



>>-END TYPE--+-----------+-------------------------------------><
             '-type_name-'
 
 

Rules

If type_name is specified, it must match the type_name in the corresponding Derived Type statement.

If a label is specified on the END TYPE statement, the label belongs to the scoping unit of the derived-type definition.

Examples

TYPE A
  INTEGER :: B
  REAL :: C
END TYPE A

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k?$hf>H>X>'!.W./usr/share/man/info/en_US/xlf/html/lr129.htmp/$ ENDFILE XL Fortran for AIX V8.1.1

Language Reference

ENDFILE

Purpose

|The ENDFILE statement writes an endfile record as the next |record of an external file connected for sequential access. This record |becomes the last record in the file.

|An ENDFILE statement in a file connected for stream access |causes the terminal point to become the current file position. File |storage units before the current position are considered written, and can be |read. You can write additional data to the file by using subsequent |stream output statements.

Syntax



>>-ENDFILE--+-u-------------------+----------------------------><
            '-(--position_list--)-'
 
 

u
is an external unit identifier. The value of u must not be an asterisk or a Hollerith constant.

position_list
is a list that must contain one unit specifier ([UNIT=]u) and can also contain one of each of the other valid specifiers:

[UNIT=] u
is a unit specifier in which u must be an external unit identifier whose value is not an asterisk. An external unit identifier refers to an external file that is represented by a scalar integer expression, whose value is in the range 1 through 2147483647. If the optional characters UNIT= are omitted, u must be the first item in position_list.

IOSTAT= ios
is an input/output status specifier that specifies the status of the input/output operation. ios is a scalar variable of type INTEGER(4) or default integer. When the ENDFILE statement finishes executing, ios is defined with:
  • A zero value if no error condition occurs
  • A positive value if an error occurs.

ERR= stmt_label
is an error specifier that specifies the statement label of an executable statement in the same scoping unit to which control is to transfer in the case of an error. Coding the ERR= specifier suppresses error messages.

Rules

+-------------------------------IBM Extension--------------------------------+

If the unit is not connected, an implicit OPEN specifying sequential access is performed to a default file named fort.n, where n is the value of u with leading zeros removed.

|After execution of an ENDFILE statement for a file |connected for sequential access, a BACKSPACE or REWIND |statement must be used to reposition the file prior to execution of any data |transfer input/output statement or ENDFILE statement.

If two ENDFILE statements are executed for the same file without an intervening REWIND or BACKSPACE statement, the second ENDFILE statement is ignored.

+----------------------------End of IBM Extension----------------------------+

If the ERR= and IOSTAT= specifiers are set and an error is encountered, transfer is made to the statement specified by the ERR= specifier and a positive integer value is assigned to ios.

+-------------------------------IBM Extension--------------------------------+

If IOSTAT= and ERR= are not specified,

  • The program stops if a severe error is encountered.
  • The program continues to the next statement if a recoverable error is encountered and the ERR_RECOVERY run-time option is set to YES. If the option is set to NO, the program stops.

+----------------------------End of IBM Extension----------------------------+

Examples

      ENDFILE 12
      ENDFILE (IOSTAT=IOSS,UNIT=11)

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] VAR> H>X>'8Y% ./usr/share/man/info/en_US/xlf/html/lr13.htmp/$ Standards Documents XL Fortran for AIX V8.1.1

Language Reference


Standards Documents

XL Fortran is designed according to the following standards documents. You may want to refer to these standards for precise definitions of some of the features referred to in this book.

  1. American National Standard Programming Language FORTRAN, ANSI X3.9-1978.
  2. American National Standard Programming Language Fortran 90, ANSI X3.198-1992. (This book uses its informal name, Fortran 90. This standard is equivalent to the ISO standard listed in point 4 below.)
  3. ANSI/IEEE Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Std 754-1985.
  4. Information technology - Programming languages - Fortran, ISO/IEC 1539-1:1991 (E).
  5. Information technology - Programming languages - Fortran - Part 1: Base language, ISO/IEC 1539-1:1997. (This book uses its informal name, Fortran 95.)
  6. Information technology - Programming languages - Fortran - Floating-Point Exception Handling, ISO/IEC JTC1/SC22/WG5 N1379.
  7. Information technology - Programming languages - Fortran - Enhance Data Type Facilities, ISO/IEC JTC1/SC22/WG5 N1378.
  8. Military Standard Fortran DOD Supplement to ANSI X3.9-1978, MIL-STD-1753 (United States of America, Department of Defense standard). Note that XL Fortran supports only those extensions documented in this standard that have also been subsequently incorporated into the Fortran 90 standard.
  9. OpenMP Fortran Language Application Program Interface, Version 2.0 (Nov 2000) specification.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] a  lJ$'hf>H>X>';1./usr/share/man/info/en_US/xlf/html/lr130.htmp/$   -e<>RTainorst /=AEGNOScdhlmpu",IPUbfgy.0;BCDFHLMVYx&+13479:_vw!#'()258WXk6Qq\j|K[]{}zhl $# e:!! ,!!4@CS`6'8 F94JS6*0 0 0 0 0 0 0 0 0 0 0Ϙpp5vJn `PP'^&T (@W 0(~4;8y @4{[J05!XH> ^o p,8y m'YVh` XcyRc8$ )g5edI[mjP9ifҥ4 A XJ\xxRԠP= PiiA{Yo9%;OǑfiT$ V+Wْ72AЕbM,89,8E4s쭶iiA{hA]JErxKJExWߧΗa|׌ح V+7<PHP(%[<0D!n z{*~vkyNYofH1ZWڔh{KJERtVSԠP=ȴP=:N׫)gjPz(R9vYN:Y5L644+ʓ_)jF) BZ93333333333333330h`8V;J449 {hA]JErxKJExWߧΗa|ڔ5`44gjPz(#RiiA{vk8ESR@5戈#86QA&gjPz( PI^ԠP= @ZPz('kՔh8t#Ɔ soq_ZXpOG];ek;zW{R@(҃@k-v̭~e ow]ouim#ԠP= PiiA{;2B5H-=]+_#YDb"O]Am!VW]'ӌoRDHvw`P=~5kұ%Z7q_ZXwN37]bZ!$8jr#-S}ԠP= PiiA{;TΗWkڔ F񾯳IM+fVFΗ7ٍNDeyOǵ(=pj"BH҃@ )A{-(=p)Im{R@Dj9-(=pJ8&h҃@{^7wT^g~Bk:=ڔj94P=;R@":Q@aMJEܑg4P==+ڔM`4D斔3}Oڔ(-(=wJEh"$lP=7dAq!YNDezMb|"]2B5H-VgN7Ѐjw?$ʥ|{5"Ӽ?fH1ZWTfhuv̭p|⾴3^g:_uw+hv&W֖&kSG8]+_#YDӌK9^QZ@jS&55XTVoSG: ޤOEoVd*+xKPV;gw2~=z(+BUVy%B+}ralT!;pʶZ+x[};4Yje2^jPz(㐃ZPz(k%4sZ!$޻6!M#)ꝊʕY^S%֋3NWg,;ʓuOukFI+ow09}򟺻&kܣ+Le}Jibfvm:_ņ65򟺻eOl4x DHqqM]MĂxW߱]OT{A{BiiA{;fJ+Z,1ڔP9o3Ҿ,12 F񾯳bW};,;ʓ*׍}Jib#\LjtJ6=ɱ5G]JE= EҽA{Gj4P=Z񾯳J]]jPz(㐃ZPz(k )4Q'RL6<Ƨ"2N7'U*Oޞjr"OeF>BOJՍbm+G~SN?IOٍNDISR}_guc+}پf/hwHviuw*5$;[]3Sņ65ޣ+OƤ_g~B>bOTfT=P$sD4ށG,Cb BMTK5,@ qM7h !@nifqJErxKJExWߧ=b=IWS&?"%]]d*kjr#-jPz(= 9jPz(㐃ZPz(xWٍNDeJE#'];ԟbOTfϫx̭ai'+NR1OxFWVSW} hJ\']JE#YXYuNFޤv4ՈMIWSZ933333333333333330>c> s3333333333333330<41)rھ[ْ VӌohcBiaoa7WJhcBiaoӌKbuw1$r4E;]#!P+DFkM#)꜁?uw(=qA-(=w}_g+}[W+yWJjPz(N9"҃@v+d+of59?uw(=rC @斔ҥ5(=px`5ZPz(k-yhct#[3'333333333333330<4sh #&kݳIy[Џ67k{udN3/oʍ">"Ӽ?+zlhO) 8cCX$(-,h8C·Tfffffffffffffff`!9yhcSG8R?NV[݊=Qu6ki5b|"ϓ>jr"LA{Sf-(=wN%^T$x}+z}IZJ5RQʓ#ح1ȌeuvjPz(= 9MJE#L#Jh8t#Ɔ soH>X>';8./usr/share/man/info/en_US/xlf/html/lr131.htmp/$ EQUIVALENCE XL Fortran for AIX V8.1.1

Language Reference

EQUIVALENCE

Purpose

The EQUIVALENCE statement specifies that two or more objects in a scoping unit are to share the same storage.

Syntax



                .-,----------------------------------------.
                V                                          |
>>-EQUIVALENCE----(--equiv_object--,--equiv_object_list--)-+---><
 
 

equiv_object
is a variable name, array element, or substring. Any subscript or substring expression must be an integer initialization expression.

Rules

equiv_object must not be a target, pointer, dummy argument, function name, pointee, entry name, result name, structure component, named constant, automatic data object, allocatable object, an object of a derived type containing an allocatable object as an ultimate component, object of nonsequence derived type, object of sequence derived type that contains a pointer in the structure, or a subobject of any of these.

Because all items named within a pair of parentheses have the same first storage unit, they become associated. This is called equivalence association. It may cause the association of other items as well.

You can specify default initialization for a storage unit that is storage associated. However, the objects or subobjects supplying the default initialization must be of the same type. They must also be of the same type parameters and supply the same value for the storage unit.

If you specify an array element in an EQUIVALENCE statement, the number of subscript quantities cannot exceed the number of dimensions in the array. If you specify a multidimensional array using an array element with a single subscript n, the n element in the array's storage sequence is specified. In all other cases, XL Fortran replaces any missing subscript with the lower bound of the corresponding dimension of the array. A nonzero-sized array without a subscript refers to the first element of the array.

If equiv_object is of derived type, it must be of a sequence derived type.

+-------------------------------IBM Extension--------------------------------+

You can equivalence an object of sequence derived type with any other object of sequence derived type or intrinsic data type provided that the object is allowed in an EQUIVALENCE statement.

In XL Fortran, associated items can be of any intrinsic type or of sequence derived type. If they are, the EQUIVALENCE statement does not cause type conversion.

+----------------------------End of IBM Extension----------------------------+

The lengths of associated items do not have to be equal.

Any zero-sized items are storage-associated with one another and with the first storage unit of any nonzero-sized sequences.

An EQUIVALENCE statement cannot associate the storage sequences of two different common blocks. It must not specify that the same storage unit is to occur more than once in a storage sequence. An EQUIVALENCE statement must not contradict itself or any previously established associations caused by an EQUIVALENCE statement.

You can cause names not in common blocks to share storage with a name in a common block using the EQUIVALENCE statement.

|If you specify that an object declared by an EQUIVALENCE statement has the PROTECTED |attribute, all objects specified in that EQUIVALENCE statement must |have the PROTECTED attribute.

You can extend a common block by using an EQUIVALENCE statement, but only by adding beyond the last entry, not before the first entry. For example, if the variable that you associate to a variable in a common block, using the EQUIVALENCE statement, is an element of an array, the implicit association of the rest of the elements of the array can extend the size of the common block.

Examples

      DOUBLE PRECISION A(3)
      REAL B(5)
      EQUIVALENCE (A,B(3))

Association of storage units:

          |      |      |      |      |      |      |      |      |
Array A:                |    A(1)     |    A(2)     |    A(3)     |
Array B:  | B(1) | B(2) | B(3) | B(4) | B(5) |
 

This example shows how association of two items can result in further association.

      AUTOMATIC A
      CHARACTER A*4,B*4,C(2)*3
      EQUIVALENCE (A,C(1)),(B,C(2))

Association of storage units:

             |      |      |      |      |      |      |      |
Variable A:  |             A             |
Variable B:                       |             B             |
Array C:     |        C(1)        |        C(2)        |

Because XL Fortran associates both A and B with C, A and B become associated with each other, and they all have the automatic storage class.

      INTEGER(4)   G(2,-1:2,-3:2)
      REAL(4)      H(3,1:3,2:3)
      EQUIVALENCE  (G(2),H(1,1))   ! G(2) is G(2,-1,-3)
                                   ! H(1,1) is H(1,1,2)

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  lr,$Thf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr132.htmp/$    -<=>NORTenort"/ADEGIPSachilms.01HLMXbdfpu!,2349:;BCFVW_gy#()568UYvwx&+7KQ\|'k{}J[]A148!HGMI i?0Pt؉ @z'BX@VJ 1>ꔾntQ1c1c1c1c1c{pL,0P! mmum /03 ({=S:dwlg (g%0@7[\(hо8048pNC ~#`Y}txge۾(3akỔU¬K_[+#'@!:9Xj}7vz,[w eιFY_W{ n91|,fG8ޕ[|9aE q"` 0R=C8'd'h$ڻW̓E ɽL7|m-s8'd'hji,7@׎2N,wk&pZBq0b 4`CF(p`(80d(X>Mഄf b8'd'h%xqmpC880 2N,wk&pZBq2ji;!;DO-4h#CA$)`a>^&nm'Pg+f0] *˫k[-36}=;,w)øPg:U`+m]|gM*{qΚUW@, GqI e&d̑"K:ޕ+s%C J  ]{)R׭Ί7c1c1c1c1c1cNgB&[%hTU5Editp,]Qkܭ|-x Dt8p(bh PzDZ2Ig E'r׿[8oz.h7^nWlg ti4d6>jhNNrdXq T+ VPd'T%)=IY{{{{{{ď 7[`4Z bON :@VP6BNrt!'A9@JՑ[8oz.pWgVNP<0U^ Z2>5KVF_:Rդё Rդї[8oz.O>P4ti4eRݸI'A9Y{)jhIZjh˷wvUk6)jh@-ZM|KVFGƒ Rդї[8oz.)ݜY-ZMHI/x)jhqABjhg El`)ɋ YAUlW x&ue_Z0U ׻I#Ti4e-ZMN(="@-ZMuouwia]ݑ~}k%Q1Q{&ud}Vދ\*h՗akV.P'{)jhIZjh]ݫ}ck\ _ﭜ7[c(i4d$Ti4eڻW }ܠORդёZ2ׂ&AI.p]m׿&$j&{Wwj'vsflv[ln3W{)jhIZjh˷wv{N:ӠI#Ti4e-ZMN(="@-ZMum/ew[-_VیqRդёZ2t¤ٿ-|oU7}[)rb85VKgHti4d} j&{uUooYd'a{*q|3voj0`qKVFHJ5KVF]|o9;ܧ\Ҡk߭7[}*cǂ&$j&{WwjY\u߫ڻW*!3N.u[^Iݛ]ݫk0WKVFGjh^ Z2> j&{u1NP;(DxѣBAJ Z2@Ep5KVFP4: )DsxPpHKD@~$Rt %nWYkBL(;N(="p0 b'1w B\ ypĀI[Jܮ!J&Ӑ pmt NINK px?>q HKD@~$RG@Vu Q1$RJܮ!J&Ӑ wwӐPI*ݕwr,ΚWlg5KVFN, Jq@J&3H`y>4>G8oz.it A)@> Dt  _mGS(="fHqAC E :N >> D-XVESTZJ-WiO}PpX$ c%-xtwTc:1}dp~j^.(Ά _mDi;!;+*M9N|ꀔLg@(@:2I`4pgB&gb**2P4:Pdh!'  lO$&hf>H>X>';3 ./usr/share/man/info/en_US/xlf/html/lr133.htmp/$    <=>AERTaenrt"-/DILNOPcdilmopsu01BCGHMSUbfgh,.2349:FVWXxy!#()5678;Y_kvw%+Q\|&'K{}][X9 GLj(qR},EqH>,E@&| !di* ڕJh!di'in /C[­ig?c1c1c1c1c1yo x$[X#8d!o ru `H(?l!&)_N.xIH$ü ,3|`(<48<`M4lWK/CMa۟Xsa`.anFƗu4x{EzHi|ɒcYg&4ޗWx[r7M4Mmվk=uqVqcoK- 4>CMO9%KgXw_eHii|L"`4I:H94D('jU)r ڕJhz\Oq*QU[7g{ݻ,82OZ|I#5;6­94D7M_l ꗾ⻍ d4 YCh@F&:3M+Q+D,,Ňy,Xg  LF!k(mRh` &qɥj%h!x6ŋ AᠰI|-e MF3M+Q+DWO޸X`0  'UDSg*IS<#7ea *[Gm8k!iwcؠ1]mb?i1uAV\ثkL݀cY١.XZ7` Ji'(k;ZwHM ַk^h XP8Yܠp@!enC[­ig?c1c1c1c1c1ci|'ҙD492.[JNOF,cqe\@$)'\>&>*&rLcB‹(ҵ844d'jU)(@.OS#Ha 2P:r|'ҙD 0aӓठJM!Q6ӘĭT'IX< Z>T*сĭT/}Kwx7W*/}ݜ}aagn{5Jgu~+JguֽFT־Ev{_a^ooM+>n8E}/ViJ4`q+U4{:)[|nγ)RP%j)Z>O|O5qWci)H ڕJhhihi^Y8 P@1^Fiiiiiiii,l/. 9JO>P:ՔƣI> I=> JP(βd6P8J%/_| opOYYpOk^T!8p8CEv{_oǟ(z2| Z>Uu9Z>OS#Ha(9> I5Jguֺβȯ:30Wn݇EgO_}\)b"ǁ+U4ʂvR08Crrz4VaA|qV_%_a Hӽ[\\/ViJ4`q+U4{=ok, }- |n:ρ+U4ʂvR08Cq]s-o݇1o U|,o Uu{zi\,vqϾz4VaA|qV_%WT-1ӍNҼIB& ,2Pe EDh!c%=Kwxsi1_eNԪSG{ uJc Lj4|-Y>?3ED&IB&fIY@(X4PLF3,q$'dI$A4BP82|P:?3ED&IB&fI&P'V1  RJ#;P)Tgj@9%'me|c@zQ1X#4PLjĐ>"```dhE B|h!H (>Ƣ9>"q4d ue1O>P:ՔƣI> JL"a@XcJT* ]Ð8C'J_L}fG ?vR>sMy"c@Ӝ Jgu9Ϯn9䉍DHڦN%NH4<E: ]w>mξ}a7HHڦN%G+I> JT* t2U3}`q+U4&&:|BP!ZD4  /@bņ i\,络YdWEgې:r|E A$ lk|h! ,_lHQP(rdT2Smee<-k]+殚qKw@9%'I> J+( <'V0 f&T`YEz-9p|h!d)i:-9p|h!Тd%M.[:r? B&1aaEriZXZhw9p|h! 04(>$}ĭ:!).08l>& k`ʃl(9> Llq FO  l$G&hf>H>X>';{./usr/share/man/info/en_US/xlf/html/lr134.htmp/$   ->eeY}Һl|2sO$枠i;zKicIcG)(+YR3iS8vXaQ p.5GcTvNK3-Em6V/gZ|2jD n Vp3V ZA4KP6-Eg5i˰%dD n Vp3V ;`]TwX 2 ZAmRsy'%4cOQD«J"})gcRj"(̡ʾZUv5ivƒƎS?Qe{V_@436Qa<~4cGSW$b iHJ'4ñƏƔECEf=+8-<.ÚxiƎz*?Ll3=!(8v40ƓQSchɨ)%b2j{JƧ<}][>e~3=!(9vW׭ivwoE^S{ })gcVQg U`Љ(=,+gfQ})gcP44.Em6V/gZyD]T-5>(Ѽ}|)%u*;aQPo﯅xW-\^OW}V,*tk iUYLsQFX>=vk8cjVuRBiv U}iD]4Zj"iD]ප:VQ=/ثiD]l^δ<#꾜҈ oa +C:V!J~6f{JBQ(*mO(j{˗kQ}a(W6f{JBQ(*mO(i%0vk8cjVuVQg9iD]l1E(<.E@֞Q`sJ"%EsO$ʯ&4m5[kfչaPsI9,҈yQgCM@@HQ<ÚK_}+8-%)(QcOQL-!M 𧌫gUxj;5E }(iXo_.^mEf* C|E|"sJ"/) O(ž2zx2ƌ4l3CÁ?E+i( m;4`,`4/7P$$0.A!] w;" p84:?V|Qwx00004ioC"`i<ÚK_{/ٙ) GžLµՆwGk|8 ֞NP:ӚK}d,j<Ґ1[]O}W||Ґ1v5yє_Y3|{H=eH֞S$]ckNWahh4ƉIbZeA@$^vfgLz@ Cjƞ$ ÚDP $sHą}W҈(h էEJ"gEٙ) FsJ"/) p2ԭ <.WklXc)o2N1O"4.Em6V/gZyD]Qr>ȿVL_XJ4%?ɖ4a )_yy0Ă0JơrX EȐ!G @ 脏 tBA9,/_"Y2Z}a(ȿj`TS=E3rY$0`((`H`XPр!aCA#ACA#a@$Ia%/qry5E1ݤqr29RZy5E1ɓ0cgfi֗\S)]24@~4HQ}w}(̫/WMO(WM~-h3=:S[f34"ck_ZSzd"Q W9vQWeJ3iv}{][G5E0j$5 od3}ӂZ<C@vN&X/U7j3}9Փ%<(i'%C  y'%4QcH;_]gcVQ`Ϣ`<#_)QxD꯾p0mwoH-vi3RO(+wǡVp3Z g|V:RLr5Uk+zAm(Q1<.^SakM9Y2Z}a(ȿiD]l^δ85i,J"3(F2 b,j"لtg{+5c8Ewׄ`U1U#]})gc^Q}w= gg;4Z"cO̡yO;լ7&KB/%y9vB+i{:"`oگ򟌫f6ef3}9m͘E_}|mzxʾUKoGi_´`֍9 ?%>҈J@Yԭ*;wҐ1ٌ_zdɪ4.6f{JBQivqGki/U)hfQZ1Q`cZyD]cXVN^S91ޭ`)Y2Z}a(ȿiD]l^δ85i,J"3(F2 b,j"JIX>3=11ӄaUΪՔ3(eg5a>Vެ-i\EO(=[A4!44HGH bd &!)7Ʊ QiO%/qp@ AQSJƽ["r$4j8b9ՔiYV޶#zĂ<̾oab__]gcZ RSULwҐ1v5kj8b8 EȐ ɨ)U~5Z`ʾ̾xF_} b,k_2?"fQ|}W7S2ƌ_{H;_Xv5~UTuoWklF^Fr&!w9~ EȐ!G @08 0! Ži䜖44Ƈ"LJcHJ7wwwwwwwwwwwwwww`<Ƈi,Q}&#$j4j8b9քZS{Mi] Gȿy&#j8b9ؔO_j8b8 EȐ ɨ)_]gc_)j8b8 EȐ ɨ)VQfiZ_[~MWV|E|τaUj굄LzSY|ki_}g#{#z F&#\ <"zUv5:S&#\ <"ueVf|[pq2HÚ@~({XJ>EJ"eZyD]4Gi_}k+zAm}/[][ oV{CyE4Q/J@Yև4a%.j=W^L1 "c)i'%zj$"qL)p HII534!#ºI㈜9,9_W5GW^L1 "csx})gcPsI9,Q!3&dǑL$4,,,+tF  ]HhphXXXphQ<ƨyyI 9A$^5GcT"$ RZzXPvX<|)ʔf7+r/`=exuXqp@ AQSÌoa`gV}Wj8b8=1I1&O&#hOU74"r$4j8b9WYo^j!!)oe2{Ӗo[kf_j¾i.e{ kMGLGy5E1꾜j8b8=1I1&O&#hOU7 Ӿ=ΰ}W}|+C`kOPv4=DC%%$䱡J+yF뱤%COƞIcIa%&#{&X4j8b8sI9,H`XXX<$4,,(r$p0x 脏 AxGp3?Q}`#œܶTU;G}\wү3N"H)S @<%0@`Q&8Ia%&#][yMO CD'$ & ƯV@Q!D1x>5#H+ѥ b,jÚy'$ &  ^C $2b4 EZz8sO ?@~5$`H $9\"1x EȐ!ҍ+3Jէ4QNHAlL05zq11H$Q4QNHAlLFV@Q!&"I$;niYV(ѧ4cIcI9,h~.ҊE>i FrXXsIcDvĜU$dI<Ƌ$gȿ$;QNHAlL0 YrO1=#$ Ցx$;QNHAlL,4jdMDP^(o~kz9Gj+ip5"i ,>U*DRO1񧣇4#iJ À%0 lH$hf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr135.htmp/$    -<> =Raenrst/AEPTcdilo"1:BCDHILNOSV_fhmpux()+,.024;FGMbgvy!#&'35689UX7QWY\kw|J}[]{K)SKPLL<2e4A*)A"5IA2D&DD(SfT+P(MBkp wUyrQџ|UfkS9s9s9s9s9s;p wʀDu@f&EgfBѝb(o<0?A`O&Gp wFfFJ#:.̸@LU,&T ˃z'gÃCA>@!CyNqSulj 3WfA|h4 ǚO83TN׃͓E&1p w"ќFUFt+5լV\Tinn: :«.V4V[ GE>]SqXgko'33[i(*NPȗ*ETpDNARvqfTn DJkq=vqf]MM380qў a^Jye+ٔ|j3P_íK+vNp˳6”\VG#*^)tOT7~%|̠r8_WGX1 X|Z^D3n>v-dW>fP9@/޽=Mǁb? DD(S.ޫ2fyZ7rag3YuS,/J~Ez>EC”Vk a3nEJuEՄʰ^^q5J՟ 0y-e "[~fpa5XLU2 agHZ Wf]^>vqf]y7 "4M Fx_Wɚ5k-B.ɯ jn3>vqf]y7 "4M Fx_IqhyXa!y 03 :jfb aMo0y-q{EA_/b~h "n z><&Z'=u֍c3+qAqݸa "ʨ@ЪBP$%oK[3^YxF(_~ )D'O&kv*ixŠM4o^X35/Ӑ?ETA7f~h nEi ”\VG#*~|OSՊEìDwn&Z'pCG ג?Šq``ciY@@@ @4'Cy-88u/^KDO ǂAa`^KDwwOh0z4 n zLש|J.̺^~Z dqE41G Sz D#8u.oKS,\$;z% p{@<'CB[0xKB@<% xK@<&Ʉ†"xgPLrj0qޖ.ňV+rr4B,@,TK[✁a4 GzB.Ƈ TKԊ+3'G['P<p& 1"/,%B2fyZq GzB.`u8$EM" br2+3ץ*ULAn P⛉&Uݥ%&3. ]݅bMn' ?p~y'"e:d)V#5FNMt+AOy'"Lh$<0N e=Nc# $\1 +V8;OHEhpa,UD3Tc*GxIcC *E y"i9-; *N=,hpw$Mh@ tBA lg$LVhf>H>X>';<./usr/share/man/info/en_US/xlf/html/lr136.htmp/$   <>"-ADRTeirt /=EGHILNOSacdnos012BFPVfhlmp%,.CMWbguw#()345679:vxy!&+8;QUX_k'*YZ|JK\z$}[]{q*;0(jH<:c23BapYBan t#њGh$ Fi= ,-Eڳ iiiiiiiiiii{h@xSIСPw ^vף@'^@_OF={{VD( Ysxz)<V`@p@ x=  ڢ$ZV!|X</G?j~nрΕW-юjM>{=,J3~7K7Fjz1QWoKSt 'UֽZgn[\MZn@'{#DZfY{:ܗDhw jC?ߥqӇN8(s99R߂) Lȵb\/څhehHuV bQRjͅ}Zh'@H_]offh26Z-u ۽ȏbjV Z/zX/Ik,nVDBehHuV ZE+EFz_"Պ-@[Q-`/VV'@Vx$ R/$Vmn8á9yH\77|ehs99%s \0#Ik7KVx/:H5EXZa5Drs5`/(P+`8@ vN {@HP#Z Nfu ی(Ń K= R$ uEkj6s99V_+n0Pgp,/HpZ%smicTZ5d!РIfDh *uZd!mbW_8 $ j Me "7{w CՊ,L/ȴ'JCՊ,L,ev t#5H]/i&Սp1*;@{,"ռ0X`0Lp^9:Y[ʋfM4M4M4M4M4M4M4M4M4M4M7^Ct*(D d4@^""Kʄij20x?KnCr$ #v00TNg'00 <2 3KtqF X,Xc L%b7L1YD~̕>+9(9IBxbz7lFQEZ^j׫LȵbQ+Еʉ_uBfLT& aJ&~6Z^NR;RQ:_rrܜwK;w^9IBox!{{{{{_ߕ-X+z ջ׀2|0|ppjGix?KtqF X,Xk KKj[ЦBF{KjGqJ'KN[ix>Gng{g+-uP8<QCm|2{{{{~++fh 1[px0bW^{13=]"Պ-p px0'VW^Kb7veur ]\ȈF+p16]{x// w vZ^܌aKKF;V&[4`/iޡzܝoK,O-foIke+ED', ,{ӕZ`սo[ַ7-+j6Zgѕɴ>"$X\ ,}to]bd[څhehHuV ܶz%NȑA [Gޥ(߻^+EJBZEZeoBa:|0%{xBe(aKC,u(T]"|N$ЕEZfݲrqI5:n 'ktN5DNhbk,0Ќ(P`=*,O8$Uh<+z"2^89nNZ^N> "zf#M܄DtЉTpc4 pNYDg%?p%aa!-YDg%?p%aa!-g%?NL ! n J&~+9(!- c ! n+9(1YD! m0VrQ3aJ&~ixgbB00ⳒNgaK~+9(0g%?pl2qܜ|DrG$= Q!hh8)s}#Za!?VojW _{hJDȵb_oVDK^+NrT-ṵGܕ; ]oVD}eiE(5%BZN;HHw!=3]5t"t5$ wF3@ t$p\NaPdBF;\FieyVdEd42q2rܜ|DrG$= Q!nhⳒJ&~KDixg8bB0˜aKpl2qܜ|DrG$= Q!hh8)s~ނ4dH,xd8$7rI5P{B'IS\@pc4 paN܇BG5JFH (P4r<7, 1[ՑaprrqI5:n 'ktN5Dk vⳒaJ&~KDN;HHw!=3]5t"t5$1=\ ;NbohFOV&%F'$OL$p黐H::J;k v:8q'`xW(B2@PBkȋixdd9iy8$7rI5P{B'IS\Bь5;Kg%?TL!-YD0g%?p%a0ixd8$7rI5P{B'IS\Cь5pS+vKb|"1*6^8N> "zf#M܄DtЉT)=\,XS!БÍq;ņ@: rX'oVD]CK''-K$OL$p黐H::Jf0)ۊJ&~8bLbᓎ'k8tA$OLMA%Mpj wF3@ANRVerT$Dz䖲ޖoڅ5dG՞>j|VrQ3aJ&~N;HHw!=3]5t"t5$ wF3@ t$p\NaPdBN<Ik,nГ7ȋixdd9iy8$7rI5P{B'IS\Bь5;Kg%?@6gO ! n J&~l1YD! haL0%6Z^8N> "zf#M܄DtЉTpc4 p49ݾJ%(>X/ w'=3\æB "zfjw@D*kTHf,)ېHƸ \B K1EQb`sYv / w vKr3z0F{Ⳓ VrQ34;n2xdcdR~R~g7p%xaKKF:Z/R5~vЛ~LI#&OY5΍A&(YVIz+9(; VrQ3ъ߱F׵Jݫ7g%rW /? \8 ,x%3\9INPOXm^܌BF{Vԍh߹*vDRݢ=)ڬތF;#=!-c ! ix`#=[+EFoܕ;"E)nDkv%Ojh*v(J,Ojܼ21 ! m0 23܌u^kFS$PBTFo՟rT i3~F&xdcdR~KD! iL0%BZBо,|! m0gP!).pKđ3ęn,яVoA[ee~7@g{{{{ވpJe{{{x 0|-/ IđvXfEmF۫L26@'dD8\ ,J&~aJ&~cⳒ(1YDHgVkFH (P, :qXڍVo -[KRm`;pn{{{{s,vFsW-զ^{{{>Gnđ0 KKZ-_VԈOeUk,RZ!- BҘaKB/o!-B>Gn {{{{4;n2{{{{aw #Kȥ ڽ`#=K2T:֧^2oGⳒNgakoأkڥnՋbNgL10%fXg+9( r)ix?r3 ^F9[QzVg+9(^7pr1ڷJLpg%?}m{Tڷ$tٺ/Vg%?@1YD! hBVrQ33 VrQ3BZBp~g7W$^]&oYD' VrQ30nᑞcoܕ>+9(J&~1[([n&I u^VrQ3 L/ w Z^ۃt{{{{cG4;n2{{{67p;p~nCrYX N֙'bkڥn՛!b/!Ӏqƹ`b2^Cr1b vlwTNC$OL$p黐Hs15$-=\0`SsV(xdܚ "zf#M܄Dp'5щ Q!hh8)7Bɡ4<DrG$Nj;\@pc4 paNм2hn9nNZ^N> "zf#M܄DtЉTpc4 pN%B[rqI5:n 'ktN5D;kjhH֍,vYݦ}S%kQQvxd8$7rI5P{B'IS\@pc4 paN܇BG5JFH (P8q5$ 1[ՑaprrqI5:n 'ktN5Dk v '$OL$p黐H::Jf#Z7J#ȵb_7DHֵ;-rZFY%BQ+Еʉ_w/ w'=3\æB "zfjw@D*kTHf,)ېHƸ \B Ż\։'oVD]CK''-K$OL$p黐H::Jf0)ۊJ&~ VrQ3L VrQ32qܜ|DrG$= Q!hh8)ڨRmѿFX{D_j.՘g%rWg%?xL/ w'=3\æB "zfjw@D*kTHf,)ېHƸ \B N "2kXb".!gbᓎᓖ'k8tA$OLMA%Mpj wF3@ g%?F+9(^8N> "zf#M܄DtЉTpc4 p4DEF-2N1VDx5[g$R#ZarqI5:n 'ktN5DNhbk00Ќ(Pp i5zbDɂẕƀnMf@f<+z"2^89nNZ^N> "zf#M܄DtЉTpc4 pNVrQ3hL/ w'=3\æB "zfjw@D*kTHcz1 vb:,Yd o՞ȑJZTJhMl2qܜ|DrG$= Q Sz1XnC#v %rt#$ (;\5>Mf@ޘ2`,qY7jYO9ެ N;N[HHw!=3]5t"t5$-=\0`SBZ!-g%?GJ&~N;HHw!=3]5t"t5$1=\ ;U+EFo]btV^[jXY:*N/[Уeᓎ'k8tA$OLMA%Mpjь5Ņ;r 8<`a+ (P@NWX8嗻Vȋixdd9iy8$7rI5P{B'IS\Bь5;Kg%?U꫆+9(eᓎ'k8tA$OLMA%Mpj wF3@ANJz$RbM"}kSvFK'$OL$p黐H::J;k v:8q'`xW(B2@PBk 2U^V,֙& 1[ՑaprrqI5:n 'ktN5Dk vⳒL/ w'=3\æB "zfjw@D*kTHcz1 vVԍh߹%ʓoQ[Zq q;V%ᓎ'k8tA$OLMA%Mpjь5Ņ;r 8<`a+ (P@SʅGc+QxkLȋixdd9iy8$7rI5P{B'IS\Bь5;qYDJ&~KWBZ^8N> "zf#M܄DtЉTpc4 p4TѿrT61+ӕiޭ3[ڋf94SVkPh\Y{ޭf[#KZN;HHw!=3]5t"t5$ wF3@ t$p\N񁄮PdBL/ 9c|=z<+z"2^89nNZ^N> "zf#M܄DtЉTpc4 pNVrQ3iaJ&~KWBZ^8N> "zf#M܄DtЉTpc4 p4TѿrT5P9V< hcE=S%kQ7[զ}Yj.՘6h%U%Uf+-e-߽e4xd8$7rI5P{B'IS\@pc4 paN܇BG5JFH (P<t _Y8nLLb".!ᓎᓖ'k8tA$OLMA%Mpj wF3@ g%?g,1YD! jaKK'$OL$p黐H::Jf#Z7J&*uZga5#f{\J֣7ZnL.]0 lN&J [ݮ&J %NWZ/z[տ{,dikQrqI5:n 'ktN5DNhbk00Ќ(Px1 ,p/oVX'oVD]CK''-K$OL$p黐H::Jf0)ۄ!-k ! n+9(J&~N;HHw!=3]5t"t5$1=\ ;U+EFoܕ=Mk#NUzjkYF%NFoʴoVg]V`٢LW$ڷ\LW$J$^~Y֣ᓎ'k8tA$OLMA%Mpjь5Ņ;r 8<`a+ (P@c H/A}fX_iޭ20O9ެ N;N[NR;Kȥ ڽ`#=qYD +9( ^V/ w Z^2TZ^܌aKKF;V+E+EFgFLQh_*uB4 f:ޖXkwYF;#=!-p 23܌u^kFSȬڷ\BI0ѿ}f{EoVX0n,р#Kru,>Luaxdc?r3B 23܌u^kFSIk,nUzϫ=oj.՘ վV`3V&[4`,ZdifYinN'i7 / w [={{{{FsW-զ^{{{{l0nvix?p%BZ%nBп!-_ ! h_Y>0%um!B+j67gjܑJ^ڍVerm7F8Oȉ:q ,KX#LIL2g%?@QbrK_"1%FY]f}Yib+f# {{{2hDhw8%z2Ze{{{{l0nv/Ֆ=eiʭeR}ue vzZ ! h_aKB/o!-k ! hax?qf:p8!EX0 $^V"<+6VY2 8k 0[ 8\@Xd4-/'%I5:n 'k9Mpj wF3@ Պ6^47&HHw!=3\5I@tbkTHcz1 vMм2hnM=3\æB "zfj)=\,XSz4/ N[HHw!=3]5t"t5$-=\0`SBZBVrQ3 1YD! kwBrqI5:n 'ktN5D;kjW*%vrKYeKvj# rqI5:n 'ktN5DNhbk00Ќ(PvsYv / w '-/'=3\æB "zfjw@D*kTH[z1`i`BZin{a!-v N;HHw!=3]5t"t5$1=\ ;TQ+Z/z[{U{a!-N;HHw!=3]5t"t5$ wF3@ t$p\N񁄮PdBkUfhH@8$ֽZg-`7oVDx 4Y{V"<+6VX2^89n8 H/"#=!-g ! ix`#=j߹*vDRݢ=rKYeK7[e56:7oeF*uB4 f:ޖX][3& k}kSՕɉ1F=YZ/zXf ,{ӕZn̲;ehH֌F;E-/+9(!"to VrQ3[jf#Z[՞"Պ-{яJ&~G VrQ3/ⳒFgaJ&~^+9(>H<1YDֽ QkХ& U ܒoufun^(5(L/ܕ;wZ)Foɬ!B~Qԍh[Ⳓt'+9([wZ)Fn^ْg%?G) O VrQ3uBfwӭۺסJ3~Ma  /L<1YDֽ QYZXZ-oV~C#v(JFCR8pvip7!B6Xfl/՛V^@KmvӴG4:إL bjoVl0(}Z^V6VYZhoJv[Rt=bYDbV6V[f~+9(; VrQ3/ⳒaJ&~VrQ3g%?Bg%?NW VrQ3/ⳒL gb}|VrQ3 LK%z2mEZdcIk,nBLoأkڥnսJZ&Z&M:#p!B-Zn5$]m{Tڷ%F}SViPl>Z+j7Fn#z[[dlbjV 2NպoKuiF+~^+v^VrQ3rg%?{ehHuVo=bm)j=f䖲ޖ n2ugՒW1+n^( /կe|HZYuY96enrKYeK7"Պ-r+EFz~XKЭYZ/z[{UF+~^+vax?qf:p8! (P@c4Y{sV(hHuV!b/!Ӏqƹ`cN2^Cr1bݸd4[jf#Z[>C#v @:]:!Vz܋V(F>+9(#1YDпJ&~+9(ڱxg"g%?{wZ)Fo[Ik,nOJv$^HuiJ"1*vZX'ڷHuiVrKYeKr-X-^j׫L>ȵb_Պ3z-[Ik,nOН QV)@rTZE[ehHuV]I&֫4cϹ*ue~R3D"Պ-V(F}n%ֲ>(JV(ehHuVkȕ8m2ǹ*r5w'BfݮEd"=vn^zJ3v 4́g%NEZ^j׫LpKYeKvu,Dɴ'J%~UkQuoܒeSjlGo$fp 0P'Ŗ0WRAИ!`BLPOE9 0Q`_9IB`@Rw= D'p `Ix`*zzށ"mզz3)d'+sVg$Vm_+bDIVL}fXZF (XDHa|N%JDɴ'VDK-9x%Tx:pHui2WMю'[%LVrQ3+9(oأkڥnՋGq$t[Q-eiVx*JOڄֽZeb}j͆$RZ^ْLJ>+j6ZgտjP"1%F=\JSϫ%DcBW*%[СuoKѶ`JdGܕ=T\JirTg쎄pg%?BYD$fvg_jⳒsLkХf# {{{2hDhw8%z2Ze{{{{l0nv/Cr  g%?N ,P:7+9(CK;!(@P$B/ B! @7, -` aƀ~pKYeKr-X/`7;ehHuV/.oTǁS|0 8,Fgp@4, `_ i| B! xpXwOVoAX!8YZ0(Xb /3;`8(,;~,N  RAИ!P_8XpWr /A%';KJ&~ʄֽEZi1YD K>$w!БÍq;8a+"hi%ޖdPJD5b^dG $HC#v JFCsv) $HC#v @:]:!#;HƸW(B239$fv / I?!БÍpm"XFٴWGXFd7HƸQ>ա&iCxkX(J%~=aaC#v00TNg'7l'N77o  80 %rt#$SX)Qeo N\ P=a;pix`"w Bai`@ l/$)hf>H>X>';./usr/share/man/info/en_US/xlf/html/lr137.htmp/$  -e<>Rainorst /=AEINOTcdfhlpu",.BCDGHLMPSbmy01FUVgv#()+234589:XY_kwx!'67;W|Q\q&*K[]z{}jp91I(H&0#x4PP4G(;P 4ABD^99DT"C)TEB(<yfJ|mJo8888888888;<yh<"8"SK4$R(,+^&#ʗX%X_Pc<R25X[J`!SR{UW` 1g hd # qTo*LW cpeY1{z:FJrQQfܝh%cpÊq̶:[xmY+}[B ^?y8uWY?JeYY+}[/18OUYwX~%ҭ 1ĐP8HxQ8HhrCTE4muۚ&+VYő^͕jKXWﵜY@*p R 6k(gE}\WEeʓC)xKl5zҤx 4:CRXW ]UгRgkIKq$?QBxD<#i;kD񩤢 (pVr̀V#[mΕh0^c r! m}XOJ 5a\,j 0< Q/1ĐPAE 9DeAv%fW|c{) 4:AƔR =8pI 4!a]ŏD4O< N @8ha/(H{ɇAQH&!$4 ٬,z!yT8HjpR΄ְÞc$?ӄtBS=<*$58)gM!@ICȸҊA4I 4!fac "CS=.t&8q==kBVkUq8яq{}dovk{k{QKm_ݍ5o*Ol7nAӄPhX.X @t@rDBoiҽmdͼJѻܻZZ>c9&Q%ƇF=ƎQ9迻njTeZ+&pǂ3333333333333331[*O3333333333333330F=Ɠp<8sM1>gfCσqG(Ycb3՞5V+nvo)D6_k}+ڍvwcm ŘYcb3՞5Sm|+,q?V1}ۈŖ٭VKmvbcsf?%UCVxlfvI6k(gEoՌ]򚬶6K?v4Ycb3՞5+{5yjSc{)䆨i8ҊA4_Q.c9R =EN D)J)]ixÆ@&E(H{wR =* J)^md#{kEN=Bkz/KҤ33333333333334ci8 y4p^ci|glJ)Mߖ=_Uc5>j4*_boٶocYD;?v4ŵVcXTj5o]yR~͕jK [/ʗivWcK/֫%xŖE{EfJڔ=[gm]n/c;1 ֫%s]kUչR.py}˵+5cσٸ|< Dp@ {q# pGaHc) P84M!Z+<>fٸJq-4Vc޻sVvͳ+x)j+ݍb-ooٶn`k(gz}iOm1v7Ŗngr޻sVW2oٶocYD;o%;E{vIev66o>ǻڤ}zڼoEeʓnݽc{TJѵ}XY&Wc}vͳ~#%Y+y=Jwڊcz[ʓ囵ڼW1ec8Eg+}]yR~V_]Ռvnw@+{5w]_ݍ.[Ηr6ozT)kmj+(VcF7ռ?]l߈ƲVwnZkc^ؔxk(gL^- ]Iz]kUռQH&L$qixQH&=CiE C+w qE CM4RQ8ҊA4W{)r!A!8ҊA4Qzv7M!&|$AƔR =⻊)RQqixA42j"GqixJA48ҊA4}c{)#\iE C5)ÔL"5ƔR =7dU+YVKV%QmQ*[Η,X%YBj?%̥|{T5K/b5W]q# pGaPcI8 ĽƞM1vIfF5JV񵨬}[%v)ܩR =$.4M!owc}[}*h!X1ƑE"ϟޥUu)-͕jKyLF=c"E?KEufSc}[}*h!X{om~/ڭ՛)-͕jKHER]YhfʵZV%#@ݍlUb[zKixhrCTE4iE CxKl,E/1]yR~FiWU%#@W ܫb7iv=QH&(z4M!i|(EGQH& R[fY/-X_Q1j. p*hojWVn;W*2VWI]Oݍ2͕jK 1ފmqV_ܻ[b5ڊ;1 ՌK3#ke`o]yR~V[#M'fffffffffffffffb# tTfffffffffffffff`!ƌ{'y&W(H{D=QH&[٭VKVfF5JŵxJCz_Żдo%EHH%X`({q7hV3fŖ~oYVm몷[HGY/Œlz7֫%˙v7M! ]UҊA4BIW&+śF<6c>]Vjc{)䆨i8ҊA4٭VKmWckQH&(z4M!2(H{@*8ҊA4[1&[*O33333333333330F=Ɠq7N=V814{A8@< ![jb^:[gx֊lO{ y&W:[gxڭ՛Wz\)J1@ (y1v+YVKV_ݍI<JUo+{5yj½1@ht "JUng:_fY/-X[1Bkz/i[3fffffffffffffff`!ƌ{'o1G@$@XXX( {),;gQH&c(z49!"\4'O#(EN~J =x P dŅH 3@HOpD d0g$;b  Q᧍Q8"yi8 N<rf~J!ơ&Q8p0h@ri @ (yM.H"MPM 1`H@z$& (z)( +$&  Q$Ё Q3ID x ~J =rh@z@ab`qI (03bř4 H=MPM!|LXf i8 M(H{FkҥyRn4M!1xH>X>'; ./usr/share/man/info/en_US/xlf/html/lr138.htmp/$    -e<=>Tanrst "/AEGNORSbdilmop&0;BDHILPcfghu#,.1249:CFMUV_vy!()+3568WYwx'7QX\|{}[]kKxG>PLy2B/^ ѣ͍WJV-!B!B!B!B!B!|Ț:h #㢪)2t^z5BNt.feBȅה"@ID)%YcQTh`Q rE9 Jy)Z̗yE C084, :/=:h #CBE^M$`q"(hXhӢЉ)%TM(3W\^R21v%w%TM(=i*iG󾷴gKۻW mRqw/AXNvVo^x מ>/<"ͼͩ׋Nvmp޴Q4I9"*C@=i*iGS^Q4I9"*A`gQ4bw&-v%y^wM}k |Fw q+zΜ8y*^R&^M$`q 4h`pqzUDҊ [gQ4Љ(1'$RE^2U1RhD(^ΎE፲\s׬FQ{:8e6 9q^E^Ύ,0=z'2ٖ}f^y+6pfoI>4oTd&b38hѦQ9LMQ{:9#(2eXtp/gG mr㞽b2(1XaˎzFADI14M~9 ͣpfo/gG=zeQ{:8cl×^ΎE፲\s׬FQ{:8e6 9q^7II)FBj*M5UzUDҊrT,[r=i*iD׉ @BQ5Er*#U%$ ,tRSNBd53B&dd9QT04("AR#FΊם9Y^y2Qy2Qz aH*Dhѡ>S лB&dd9QTb I:$5vw3]B&dהȫȪXTѓ r/=ETD`sU aF.)]e6&_^z?z 1vΊz)2ЏUDF5QF.@te5n /z?z aH*I2IdtIQ# 珏5tFr)2t^z5P6/<n lM$if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr139.htmp/$    et-<=>Tanors "/AENORbdhilmp&01;BCDGHIPScfu,.249:LMV_gx!#'()3568FUWXvy+7QY\w|*k{}K[]qxd$G* P9ǞQ!V3%L2&(B!CFMz$QCFMz$QCFB&^ZJ&(3f|y夢i+/Zl夢i$y夢iqskQKM^Uz5*OYiW ٪{myXM"Q,U疒J&MyXz5@x=Ʋ Wik)w 5b:HPCID%Eflyi(DЉC08Y Ɛ:/=#RD*ttVz+v lpYjhlp+v iz+v lpYjhO>0`P`!4gPR(BU.c-~[;:He֮_һfn7]c.ݱ-Z9".ݱae.ݱ-Z9&3UBK 9 mV~tl"7]c.ݱ-Z9".ݱae.ݱ-Z9& *DPi?m:\Z|v tÆyTF&^ZJ&(qnR+fV އ& [LYaѕ[1SzOzs6 3~VbЏ{DсkGE,VbЏ{D1Ғ)Hj9 rwxއ& ́`е12*H!2AI[^zǚ:HD0&Vbt^z5L NB"4 #F ky$[ if>H>X>';[ ./usr/share/man/info/en_US/xlf/html/lr14.htmp/$ Part 1. The XL Fortran Language XL Fortran for AIX V8.1.1

Language Reference


Part 1. The XL Fortran Language

This section details the primary concepts and elements of XL Fortran. Beginning with an introduction to the language that describes the Version 8.1.1 compiler and the standards it supports, this section then explains the following language concepts:

In addition to explaining the integral elements of the XL Fortran language, this part includes chapters on the following:

The following parts explain more specific aspects of the XL Fortran language:


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] j9 k꺿$ if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr140.htmp/$ GO TO (Unconditional) XL Fortran for AIX V8.1.1

Language Reference

GO TO (Unconditional)

Purpose

The unconditional GO TO statement transfers program control to a specified executable statement.

Syntax



>>-GO TO--stmt_label-------------------------------------------><
 
 

stmt_label
is the statement label of an executable statement in the same scoping unit as the unconditional GO TO

Rules

The unconditional GO TO statement transfers control to the statement identified by stmt_label.

The unconditional GO TO statement cannot be the terminal statement of a DO or DO WHILE construct.

Examples

   REAL(8) :: X,Y
   GO TO 10
      
  ·
  ·
  ·
10 PRINT *, X,Y END

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k"`$$if>H>X>';$./usr/share/man/info/en_US/xlf/html/lr141.htmp/$ IF (Arithmetic) XL Fortran for AIX V8.1.1

Language Reference

IF (Arithmetic)

Purpose

The arithmetic IF statement transfers program control to one of three executable statements, depending on the evaluation of an arithmetic expression.

Syntax



>>-IF--(--arith_expr--)--stmt_label1--,--stmt_label2--,--------->
 
>--stmt_label3-------------------------------------------------><
 
 

arith_expr
is a scalar arithmetic expression of type integer or real

stmt_label1, stmt_label2,  and  stmt_label3
are statement labels of executable statements within the same scoping unit as the IF statement. The same statement label can appear more than once among the three statement labels.

Rules

The arithmetic IF statement evaluates arith_expr and transfers control to the statement identified by stmt_label1, stmt_label2, or stmt_label3, depending on whether the value of arith_expr is less than zero, zero, or greater than zero, respectively.

Examples

      IF (K-100) 10,20,30
10    PRINT *,'K is less than 100.'
      GO TO 40
20    PRINT *,'K equals 100.'
      GO TO 40
30    PRINT *,'K is greater than 100.'
40    CONTINUE

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] I k$ if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr142.htmp/$ IF (Block) XL Fortran for AIX V8.1.1

Language Reference

IF (Block)

Purpose

The block IF statement is the first statement in an IF construct.

Syntax



>>-+----------------------+------------------------------------->
   '-IF_construct_name--:-'
 
>--IF--(--scalar_logical_expr--)--THEN-------------------------><
 
 

IF_construct_name
Is a name that identifies the IF construct.

Rules

The block IF statement evaluates a logical expression and executes at most one of the blocks contained within the IF construct.

If the IF_construct_name is specified, it must appear on the END IF statement, and optionally on any ELSE IF or ELSE statements in the IF construct.

Examples

WHICHC: IF (CMD .EQ. 'RETRY') THEN
     IF (LIMIT .GT. FIVE) THEN          ! Nested IF constructs
         
  ·
  ·
  ·
CALL STOP ELSE CALL RETRY END IF ELSE IF (CMD .EQ. 'STOP') THEN WHICHC CALL STOP ELSE IF (CMD .EQ. 'ABORT') THEN CALL ABORT ELSE WHICHC GO TO 100 END IF WHICHC

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] NAM kA$if>H>X>';./usr/share/man/info/en_US/xlf/html/lr143.htmp/$ IF (Logical) XL Fortran for AIX V8.1.1

Language Reference

IF (Logical)

Purpose

The logical IF statement evaluates a logical expression and, if true, executes a specified statement.

Syntax



>>-IF--(--logical_expr--)--stmt--------------------------------><
 
 

logical_expr
is a scalar logical expression

stmt
is an unlabeled executable statement

Rules

When a logical IF statement is executed, the logical_expr is evaluated. If the value of logical_expr is true, stmt is executed. If the value of logical_expr is false, stmt does not execute and the IF statement has no effect (like a CONTINUE statement).

Execution of a function reference in logical_expr can change the values of variables that appear in stmt.

stmt cannot be a SELECT CASE, CASE, END SELECT, DO, DO WHILE, END DO, block IF, ELSE IF, ELSE, END IF, END FORALL, another logical IF, ELSEWHERE, END WHERE, END, END FUNCTION, END SUBROUTINE statement, FORALL construct statement or WHERE construct statement.

Examples

      IF (ERR.NE.0) CALL ERROR(ERR)

Related Information

Chapter 6, Control Structures


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ] lF$B"if>H>X>';l./usr/share/man/info/en_US/xlf/html/lr144.htmp/$   -e<>Tainorst "/=AEINOPRcdhlpBCDGHLMSfgmuy,.01:FUVbvwx!()+23459;WY_|#'678Xq$%&KQZ\k{}J[]jpj U>HuDHg79$`q`7qȦkp E1JzDU Ġ㠔"XzU~yyyyyyyyyyy18 LCJ$@p`,5P/^&'ċ0$ g p8,!18  ٮTM8`A$G;x(00~1l(zȣ7 #Rұ0ǘ6gAdQm /YEukF/O,1l Kevwۭd3{|18 -]͵%yR~J˵KY/}c!$:fX~)+G[ 1Q4yAE7Q8"5w&"%Yiº*ܚ7yRv "z -=580C@0B'2by[ʴn|L@h;My"q mX7Q8"4!pwAP``/$8E! A!ͮE N`;x(00@` y"q r1Dp)+Θ1WЃt q,v-z]~ cIijWS#?)k8^Vk{ujh{E[jKZ/Θ-eܦScx}+2?gy\J1Ғϻ;f57Ȝ$\ГRp <+lrtfKзbtVڒELv+ݝ2fyċEJĦSErJ8EcưӥݘȫmIy_ܻrNgķޞ=r1kHI;ڢkz7DBzǹv+z{ZYz7nUUd^offffffffffffffbBEo1W {7șPYD<Cq(,c^PYD=(E$1&9xūSŶ5AeA!A&9Zߓ|f_ܻzmp >M 5+]s*]}˷+7%LszI5&9'-c|?vt/F2pz%LsA$1&93cQ1@B B qĠy[ޯ"r9:Wݝ]m 9Q<Ԇ@hkr1ʽʬ-fǡ>=[*O33333333333330ㅽ*/r1ʽ"| {7șvwJ&9TCMDqĠ}rNZrQ[-krcWj5I^7һ;ޞ&_ܻ{nN]jţ/OvceܦS4-׌K=<|W}ٍyVڒENS;}˷venܽ u;֍xלJٍkJq`Ok}/5ggJ (ER J5E&9VoW9k\ g:_ٽ^D̿&9TC%Ls]D/F2p4U}n{;S%LsA$1&9%LsPCq(,c4-׌^[[е{uJįg{AeM&Ae &T$93͂  פER JC?8K q, LH"xEMy@q(,c\h%Ls*ܚ7yRf8 {7A!ɞiCo@C<( oA 5{ݘ߉iIOJBAB֚4vc~%%>)+>.:x[{Y[9͏B}!dz"Tfffffffffffff`% {Ud^^c{E5a၁׸Q1DV%[klAer""*HbP'G"qT W ȠC 7fVTC}+^"MJN5AILoU]LqczZ0 ,;wқSv-סVS}LJzZ0 )JmL~BD;B7Ozph7ش`$hȼ*&9kQҙ:To*M&98@P =q"yT f@QV x xozVvR'J%eZҤ E[jK$ICYj-GXx```4WbSxƣkm:WƲ[gq{$!ǬycD5aƢkJ (Zli7J (7 JBPqi18bPE8 ={D8<֪ f@Q'SDB|e'} !ǬyPh,ʀƬcQD5Mq? 1t"拥J +kr1 PhE8|y{PY lH}$Lgif>H>X>';D./usr/share/man/info/en_US/xlf/html/lr145.htmp/$  et-<>RTacinors /=ADEGNOSdfhlpu,IPVbgmv".BLMUy14CFXwx|()+0678:;HQWY_q&2359Kk!#zZ\]'*[{}jh2x(8,0H3Di$8 $O q Ɩcl0 <ZL0c8^ 8K-ߒQEQEQEQEQEQEQEQEQEQEc80 @IXH$@+yVۉqi w|Hq&v14V$fRJqykδ( $@I޴ 14n 7 j;:Gp14ZLjlX~$',.N*ߊVh|HXoch9uG;):kӖ]߳14|]eg(O[ty+[l-ĸchK+%1% 6і|N$,7+el iA DA"OA"OÄ}즈O<};#&d8p[%4{M9ph}M9rQGlӞXG:kӠ_Dpj [%4h03lӞXG|Ixpx{sHh8J0[%4iJi,#kM9s 4uSNyaM[%444 ,3lӞXG0KClӞXG)<|IxpPxip:uB8q\ id9惠Ad8(Ji,# [%4if[%4O<};#DwYuSNyaCs M9x<uSNyaQf{sOÄ}!7iUĒKhi/Ѐ PH2ܦ`O | >44roJ, `_L4,J;bPH!@n P0 axpe<4 p ַ@ ( ``, q 6:@" Ӷ\'>Q@n pP0D0ߡaA; &WK @G:6: $h7VրgU?\O@ X  ?UV8c ֚zzVâGZk1h[iQ"ki q慠`"ZoU pghӧ[ră,( i)֚挳 63DK-ߒQEQEQEQEQEQEQEQEQEQEQ]q /Xi«H& sI-4824F~'KH q G4ya'^hOh4l@4p>Ha.x%洒@_kPX QӠ޽'kNJyVjhLOlJtLj0zkSIF@Ji-[/|Z v^ !c)2h[C +Yot,-f,d q ǧ5slӞX+uSNygGgTΜ_x=IB5L&taީS=;:kӠТ,JFI[yEXH2ܷu[WSƁm5gAb T~$#<|U\ Uo}tzDv3#.ΕrޤGN#ҶW/Hϵ3ĸ>zzNh慸c1c1c1c1By ^u1c1c1c1`BE<4-!CL sL44 cz΃};5s#^Ԉ鮪hꞑث 8W@Ҹ(H2ܵp|O9i\` mnZ+Z .UƩL鮪hꞑzWx[%4D4 sI01yh[v1c1c1c16ząBF1c1c1c1H[Hq ѧEIHn$Iѣi&sLuO4IuG4-Ń]{l HH[IsL1ͺѧEIHn$IѣD(_S-L\iL]:ۥ;dRGk6qTh"h7pEhєo}DwWh)Cf,>򊱷ebuO4IuG#w63j0zMÍ>K i(sty܆h"h7pEhҭ)K[{&Sg|e,¼>*7j0zdJ0zuO4IuGM?gNjJd)%2^^ gWciy܆h"h7pEhF@ia%=wTΜ;Vn%ӭ2^\JTgm֍<*JFq'ZM֍JVlA{l H;LKUh"h7pEhF@yDi%=pQ $NisB Av-$>6i"{i!ni&A0NNQܿ[Ӛ*ҙ-ĺuNKz'[$DMW՗ЮeR6$Yow}cn'%#hr|m8W#w63j0zj .4ƒ;?gNjJd'[%Ejx)|U_JFіq}R;횽ar,.j0zDZJ0z4zO|ZS%N+{JZDF*e,H`40K8J0z4zO|ZS%NiU)eEC[C\`9ǘh4IQ$,7ܥZ1c1c1c1`BE<4S)\зc1c1c1c0HXo4!Kδc1c1c1c1H[H慽4 sE9A tYMy]{l I[CI sI2i:w%-ZU{$Ji-H~S5L}$J$MlDnI)jҫߥFO-leNsKTWTh4Yot!1\i"{(y)F[ibĦCEIHN#ƒ,7qU|F@撌8G2euB.I)jҫƉx>RեWJ;.[$ĦCEIHN#ƒ,7qU|F@"x0i(s}S)ECȸ}$J~v?m]*sQ<Sֵem~"1\^nXtj1FO-fTӭ;4S)湡n1c1c1c0%nR1c1c1c0i!ni"k)6Fi%#A-&F!c)2m֍<*JFq'ZM֍з A,t$Yoq $-$9h"h7pEh[:n Cf,>򊱷K7q}R;D(\h"h7pEhڦqU|OӚ֭糭:uNjiL]:m)eCniRR48"nh-7!I[ci}S=3-35skhν'6Fi%#A-&Fؔ㸨NP|7佭޵o=i꟏NjiL]:mCniRR48"nhY{q)S:sW<֭糭1/"ZδCniRR48"nh-7!I[cixU|q[ꑧ31e\p̶$CniRR48"nhmפΟTΜeӦܰ$>6i"{̕GeK1/46Fi%#A-&FNj+U2[to}DwuyOT9Qth"h7pEh3:b\fJ+=S[Ϋ[yVOgZ\(ah49ny»EZJe44 chNNQܿ3TllW(7TOǧ5sʴKq.mҝZDe,zU?g.;%[% =S\)K[|l⯌SE9kc1c1c1c 7)y֌c1c1c1c1;I sI\зsEZJewUqz=lF@$qA`3IF@#zCQ< >kP,i(s[ODzz⺻MoG|{m1/a3%[% )\зc1c1c1cmO 7)y֌c1c1c1c4O5)StyʴKq.mӭGw5_V_D}S:AQq2ީ)F[NU_ll63env!\JdjӚ*ҙ-ĺu^ãye/>\STE TҎ+Ol|Jdue֒$Yow ,NtĂh6Fi%#A-&F35sU2[to}Dwe֒$Yow ѧEIHn$IѣXL14-a [%#`H|lEBLagKdtvS}SMuNjiL]:؄aļMW՗ЮeR6$Yow}co%#hr#w63j0zÃJ0z4UWV47ӑNxWym3j0zJ0z4UWҴW"7V47"6:nYkf^7 ¸;WʴKgZT%ZS%<]:twq/:,UeGh)Cf,7#T>*s0h1y !c)2h[ Fv-I[CI sI2i:tJr\^߁ n, $Yow}cbӈs?gj0z ,0%=wXWWz9E_G|{m1/a;l4A޶U4A\[}S< ;c9:qOT>*IciyL\[%40?ڌ8$0ҚJ0zuSNyo nqU|U4Aw"7OӚҮ_һ!;WT:k^ޝl;25LhgWAe1ļu=[%4q5=pq`SIF@!;¼>*Ɠ;7O|DiAViu= !c)2h[iWhEBLa4zsW=mפU2[v-M$Yow}cbӈs?gj0z ,0%=wXWWz9E_G|{m1/a;l4A޶U4A\[}S< ;c9:qOT>*IciyL\[%40?=p4Ha4`9ݢ{l H;Vn%=zOB>*6rqVayb^iS:sW<])K|z tםؽ':wT}즈qU|_L ;ciyL{JiQ<&4`9w)K|HNjWUrqVayb^iS:ҺDJd_ Vn%ӚGz32J5L~Ae+qm4K=}S:s΋/}Y}"ei&sLÃBy]{,d tS>7-Hפ,9弗YN;p|Oa \ [E4ewUqz=lF@$qA`3IF@b⺻MoG|{m1/gWTU{Sfީg^ߪG|佭CJd_gNjW2J="U2[}35pGh.9-1ľ|U_l L I9 慸M0eI[CI sI2i:tJrtu#HeI[yEXۏOzڌ81 A`3IF@n'ޭFQW;LKU/&wTΜΤoqU|6l OӚҮ_һԈ !c)2h[,4һE'F,d tS=";=Stv-N$Yow}co%#hr#w63#?gNjzTν'w"U2[L14-Ț|Wh&EBLa49w)K[{&Sg|e,ˆh&EyQV6R6-ӈs;LKUyMEyOӚq)e{&SgULڌ8J0z&35s4wK/|K58x[}S8vy< {IF@)]3:bAD6Fi%#A-&F!c)2m֍<*JFq'ZM֍з#XiM[},d sniRR48"nhQV6bq]]R6-ӈs:%9GrjogNjm֍<*JFq'ZM֍*ҙ-ĺu";R+YouÚH;LKUh"h7pEhF@IF@35s43RtȎLCniRR48"nhy=;?gNjiJ2^^}Dw[}S8ۭyTN9sQ1ľ|U_;Q<&Q|U_;Q<IF@35s4w#)etl#T>*sQ*sQ򊱷N#T5=piƼ%=p`9O J0zbq]]ܷ#w6qU|@AX ]`4a2:&w*/E zFX}U^mS֟TΜ*ҙ-ĺuJvi StyʴKq.1}JJl^Ow(EIg3ʴKgZ[K4ew63q)S:sW+U2[tnK/[yLV֞S:sWu^-jGhY-2U,NtĂh4SsBc1c1c1c!aІ/:ьc1c1c1c0i!ni"kN E{JKq28mܷ#B @PSB8}Wk|^: '>򊱷N#.JiT`9ǚQ<{sz=l!sN5(4`9^ NU]T9egu1/:qѠ>>F"9ertg!hq B +9OUdA{f,sN5(4`94.h`΃~,N+ΉzMk|Oghs` m$Yoq妮[mhCI sE<4-;1c1c1cDSBy ^u1c1c1c$-$SsE8ah49n"`%[ܵnEBLagZδOӚ,jݤ-󿏼lD-q1\w7qU|F@A'QzW%#A=Zδn`9ǘh4IQ*sDJ-%=pQ $NisBX2P1ľ|U_j0zY%=wTΜ;Vn%ӭECvy&`9iSNjJdޫڌ9` 05yOӚ*ҙ-ĈN+yeƉz/1ľ|U_;Q<&Q(ah49ny*w佭}}C$AMyh[v1c1c1c1c$,7ܥZ1c1c1c1c$-$SsB)ͺѧEIHn$IѣL{n;Vn$#U٫ژNۭyTN9s EJ0zs44 ,08Gj0z`K )yڌ8/4J0z6Fi%#A-&Fj0z4`9;Q<<)yڌ8xSIF@#=s,A`iM%=puO4IuG5=p5Q<F@ ASIF@#=pq\ i4`9;Q<x)yCniRR48"nhy0!4`9;Q< ,šJ0zsh008Gj0zH"&P<8A ѧEIHn$Iѣ8AyšJ0zs 54`9;Q<Xi4`94K=q冚aM%=q ѧEIHn$IѣJi-gZ[-L)ւ*6Fi%#A-&Fj0z4$Li(s}S;Q<% SIF@#=r&Ɵ%Q<!Z4H) Ĝi7Z4sQ<#XiM%=p`9\ i4`9;Q< ASIF@#=s,šJ0z6Fi%#A-&Fj0zA`iM%=wF@K0xSIF@Ji-lOgWuO4IuG5=pq J0zT`94SIF@DQ<h:4SIF@Ji-ӈr6Fi%#A-&FһLHG3=p)y[%4^Կ3j0zDZJ0z6Fi%#A-&Fvy@QcIF@Ji-횽gWA[ICniRR48"nh)|U_=W1.0?ڌ9 4;lӞ[)S{nΕr߁ D}S;Q< i(sh F@yaSIF@Ji-lOgWA[I#CQ<ki(sM9彳W/L Ds,4ҚJ0z.Ji-ӈsޖ':bAD4Sפ9ߌ_|])HG3=q(8s{fj_Uv|i06y^v bl;?gpvSD}S;Q<XiQ<{s{fj_UN*L T`9LJJ0zuSNyolKS:.8fXG#T`9ǖiM%=w)<N#;':bA\[}S5l`'5s[OT`9ǖi4`9d٫ڗ#T>*I#ڌ8г^SIF@Ji-횽~P%L!s,4ҚJ0zuSNyolKS:sW=";)\зc1c1c1cmO 7)y֌c1c1c1c4O5)S=;8qzDvq}+f{sĺu[g#OZg)<3#=p/5yh%/}{S\=SƁX1\3;~d !冚PHc  sDrJ0z[hCހtoD8,<#`[@׀ܰ~$<8K( < @0倠h ;g꾬g}#@4Pb?: kFY.2 tJe2.M$kFY.2 tJeA zy4O54S9whl:;:Ѥy!hq  (%[`PR8@P ehuh0.\U_.Kq $0K%/4PJ(R8%B\ R+n[b?EP_V_x2-i%%$814S= p}9J HU`I!Q.VOi%{Ks@XR8%­UDn4=9J VX q*#q/4PJ R8OK|ZnSnKw (%[` SG cĞaIMI-$-܆,4҂B렒 B7\Kq $-4: F lL$3if>H>X>'; ="./usr/share/man/info/en_US/xlf/html/lr146.htmp/$  -<>Raeinot /=ABEINTclprs"DGLOPSbdfhmu+,.FHMV_gvxy()01459:;CUz|#&'23WYjkw!678X*Q\%K{}J[]q0xA@(89@؀E0i"iPfP̣gppX( tie"G6ay242YEFLmEi=1*7t(f鼳Dp8#f2 l!tl!t)vP;(DU ($"|YH6̢CȊMfe 2]J@?")7ŘJ!l!t9+Ia(R ($"|YH6̢C16 R (㮐mD.mF2tj922у!fPeē+̣P4bCY0uD.)tЁQ̣P4bC\Ύ -Eş(^*<3P0ÅDY]Ѣe"S+fxI&VQfnʺy|fΔ_SL`f~YS]t(D.5,+щ="$"|YTjFj7D.]j7HXW@?")7ŘJ?TjFj7H6̣F !t1K.m0.4@ٔjFR`] Ύa89l&勿e_bެ A!]2,YaSa꼜"%ϢDĞLI,Q5 H5e0e ]!t {nt(Qv(fQ]1K-v$'og::尛.HW{ΑLFIӄ(eJ!x2e_bެ A!]2,Ya\U-} n&&ãFtitl4`ˢCB@FEFLm8H鍳(.7U尛.RLi~^PƑ -Έ]j7HXWbOH agFtitḄF 4`22у!tEFLmf"G6̢Ddtp4¨. nm a2WeRzE377]B0%qfP"mth{gB9Y^Q|gNZ'N^W"G6I5mEFLm͈/7ٞrhGLt+QaQSPyˮ0΄s,B0N%2EFLmj"41ӛ$^oʺ1]cB:e_ezms`Eިfth(]J*/`nXBNZ'Nb=L#Ud"$axzE4ʿLUwo)pC G%thDuD-"mth{gMAĖx^Wެbpʼ"G6I5mEFLmNl@y2]j7HXWbOH agFtitB̢MBNZ'Nb=s c; 8 *"@[ՙ1W LQd"G66 Hec8NgB:bz9Nfn>3g9efáątʿ0]gS:":sbWz)$ƙWp^s8,z*a(Dt 3tY!Q PW~&Vs%7|g&7UZ zb0]gP՘f_*;LUwoUg0Qygze]0Y3 ѓWG:9&+?$/9Cj=< dbMwYutʺzm=veo'H z U$YG;EŞLdX-%@̡WFIӄS::D̢ FnjG$lj"5Dž3dQ(@13I5 H52]QmzΛRLt(ѤThٔR̡]i``8cC H0 7=42䮏D4k0 `8cRM%Qt(Ea E42䮏D4k0fXH$ v 7(*LᏛ-}c|ҎW]h+ 銯f LG%t9+sQ 8Z³, hp$ A"pVsf>̣G%t9+sQ 8Z³, i@vyyȳp@[՛4ie9+]i`fXH$  #90'eI K=42䮏D4k0  ̰1Pv0ORLbo:QЌ'-ܱwe9+B#!tۤ,-GpI."< <]%b}}sQ 8Z`³,.08H8Fx'CNX +27Opi`` =5MAv,"!(4izD4k0 afXԓ"P]oO(- LDyAxO(PH>X>';)./usr/share/man/info/en_US/xlf/html/lr147.htmp/$ INTENT XL Fortran for AIX V8.1.1

Language Reference

INTENT

Purpose

The INTENT attribute specifies the intended use of dummy arguments.

Syntax



>>-INTENT--(--+-IN----+--)--+----+--dummy_arg_name_list--------><
              +-OUT---+     '-::-'
              '-INOUT-'
 
 

dummy_arg_name
is the name of a dummy argument, which cannot be a dummy procedure

Rules

If you specify a nonpointer, nonallocatable dummy argument, the INTENT attribute will have the following characteristics:

  • INTENT(IN) specifies that the dummy argument must not be redefined or become undefined during the execution of the subprogram.
  • INTENT(OUT) specifies that the dummy argument must be defined before it is referenced within the subprogram. Such a dummy argument might not become undefined on invocation of the subprogram.
  • INTENT(INOUT) specifies that the dummy argument can both receive and return data to the invoking subprogram.

If you specify a pointer dummy argument, the INTENT attribute will have the following characteristics:

  • INTENT(IN) specifies that during the execution of the procedure, the association status of the pointer dummy argument cannot be changed, except if the target of the pointer is deallocated. If the target of the pointer is deallocated, the association status of the pointer dummy argument becomes undefined.

    You cannot use an INTENT(IN) pointer dummy argument as a pointer object in a pointer assignment statement. You cannot allocate, deallocate, or nullify an INTENT(IN) pointer dummy argument

    You cannot specify an INTENT(IN) pointer dummy argument as an actual argument to a procedure if the associated dummy argument is a pointer with INTENT(OUT) or INTENT(INOUT) attribute.

  • INTENT(OUT) specifies that at the execution of the procedure, the association status of the pointer dummy argument is undefined
  • INTENT(INOUT) specifies that the dummy argument can both receive and return data to the invoking subprogram.

If you specify an allocatable dummy argument, the INTENT attribute will have the following characteristics:

  • INTENT(IN) specifies that during the execution of the procedure, the allocation status of the dummy argument cannot be changed, and it must not be redefined or become undefined.
  • INTENT(OUT) specifies that at the execution of the procedure, if the associated actual argument is currently allocated it will be deallocated.
  • INTENT(INOUT) specifies that the dummy argument can both receive and return data to the invoking subprogram.

If you do not specify the INTENT attribute for a pointer or allocatable dummy argument, its use is subject to the limitations and restrictions of the associated actual argument.

An actual argument that becomes associated with a dummy argument with an intent of OUT or INOUT must be definable. Hence, a dummy argument with an intent of IN, or an actual argument that is a constant, a subobject of a constant, or an expression, cannot be passed as an actual argument to a subprogram expecting an argument with an intent of OUT or INOUT.

An actual argument that is an array section with a vector subscript cannot be associated with a dummy array that is defined or redefined (that is, with an intent of OUT or INOUT).
Attributes Compatible with the INTENT Attribute




The VALUE attribute can only be used for a dummy argument with an intent of IN.

+-------------------------------IBM Extension--------------------------------+

|The %VAL built-in function, used for interlanguage calls, |can only be used for an actual argument that corresponds to a dummy argument |with an intent of IN, or has no intent specified. This |constraint does not apply to the %REF built-in function.

+----------------------------End of IBM Extension----------------------------+

Examples

      PROGRAM MAIN
        DATA R,S /12.34,56.78/
        CALL SUB(R+S,R,S)
      END PROGRAM
 
      SUBROUTINE SUB (A,B,C)
        INTENT(IN) A
        INTENT(OUT) B
        INTENT(INOUT) C
        C=C+A+ABS(A)            ! Valid references to A and C
                                ! Valid redefinition of C
        B=C**2                  ! Valid redefinition of B
      END SUBROUTINE

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] a to th lxp$if>H>X>';./usr/share/man/info/en_US/xlf/html/lr148.htmp/$    -e <>AERTinrt/=DINOacdfops".BCFGHLPSVghlmu(),014:MU_b!#+23579;kwxy&68WXYv'Q\|{}K[]p%Bby!Pa4!1<8b& E!hL^3@l\lЙqV55vZU8888888888;=qa2I%4Bʖ/P'm}W}A ,+{\2 T-m 2<D ׃<zwᠰ`xhgc.g ƮF*Zja{'z/P ?ǵ\TvN/Vu^ L=p'mS[vk7Bs8:2z(zѕ ɛo{QKL#1p3'rjL5zɩ~tqف1pg"pDq#833t6(#8t(/ҷ,)pgBs%b(8P}a4W338U!sK\poPvgnu_P Ok#8r,@ŒwEq#83ڨ_ x1n Xxp  {\!Ðd@mi\jH(C@ bAa(xp)pgBs%b(8V\jH(DӸ_ x1n pXxp  {\N`AXӅ_B5FYH#V`Pu+o4LM˙[k>ܰ0\eP oo"_CW˃[/[?hTW˃ZmqHF<{\1Yzߨup2tSrffffff`33333333333333335Qvj($7ƒ^3g'a$/k=WkL8ҐF=Ɵ7{It0xĤ|ep=%(>:+QA*c\m|ǀe o4=]ZDcl׳&D"s:4l Mq6pF/k<|qHIԮ$diHIqOy=>JSG;`JNNd]UJE:mk<Ƚ$D{dII"=q'qHIvj($) ?ўŵooY57]@w*Tc}նU7\b˩VܶVeSxu 07 {,jZv,o>WjSPoC]MTͷVmTt]ڊ6n$^fffffffffffffff`{'^ ffffffffffffffff`ƌ{%($[Ry]ڊ 2ƨJBOƧf}+ӯq9$GgظsH{Yw[_2orRy]ڊ 2ƨJBOm/kk,/UiRq9$G(Fq '9$nOAorRy]ڊ 2ƨJBON$d:bII"=}1=6$]f5Ɣ[{BO+QA&XiHIuoQ{[YazJ'9$ڂ3@l\i9$Gt6 ~'已) ␓vPI5GRQ:wPNsH|Q?!NrI;鍭>-׷3~\Ry]ڊ 2ƨJBO|;,jZv,o0e~Y0'y哯^ z)KVeS}+iZ;^ʋJkKk<\Q:˃moOeL}Ys%Kz]dпEk,L-vj)[MM7g}.f[ZŗSU3m'^vW{mj嬹o+QOJljh[$]eQƔq9$G"Q&i9$G%!'Rmq!'ҷ,ˮ;z+>Jv6{u!}:VY]w^OAn␓vPI5GR=$&D"i9$G%!'JBO -d։]@wQ:_jojU)eŵĞsH|B `II"=q)E#8tWkd&]up#fH SQQ"!~G ͿF"6h$#Ʌ7`y6OQ4GQbgطgFPR"ό!3jWU뱶Nҷ,6h$>3F$ oPD+Fx 8A`Q?DlI2oj2&MEy+fjckJljk&"2Ic!1)$dX# 33 HFa\GrD>! UzVhNjWU1N^=4qr,,#9"QRIw^̸=4qr,,#:Ɋy+2 6k"E8E -sbp#fB8EA$\lEt9 Dq‹4 Z1HFbLDdqP{CG(A@e` @$y)$4S < ly$if>H>X>';n ./usr/share/man/info/en_US/xlf/html/lr149.htmp/$   <=>AINRTaeinrst"-/CDELOPScouBGHMdfhlmp!,.01249:FUVbg#()5678;WXY_wxy%3Q\kv|'+{}&[]KhQ@zhqLPb1;a i?x"Ǝ^@A')m#DP{ae:!lUC_s9s9s9s9s9ƅg8Hр@#HfUlC  ` 1hQpjŭIq[gW[ C +zD1hQp1~rBy-[%VwuÄDD {a\m[ Etnf'V+l'#04(8jEy[݈y\ƅgՂʓ[<5mmo7Wv!ł1hQqCۜ7x[%C?=!8 3/*N2R'ywY}ہ*N2R')o|zTdNwb\/hФ8Q3E"*[6eel_9)Q Q-Ke :[n0 [Ru(qk!]؁|D%G #W<<44!X$Ф8Q3E"*`"JTBTqby_ +!ÁBB!IocGHqԢf DU$V%*!*8+#W<<44ÁBB!IocT=>el`WZ- W"@ *{Um_w[^X1Nv%Êl *3X g[3[ )R`6-|-& `cMRP{h {1#cF=V[.,X-xkElDAa4hǴ[/hQt0CH[>vUls9s9s9s9s9s1l<=E"N-6cG=]zma[4cS{8=퇔8ʓM7O!ᄶP rR@@-')lGx8@8D[lqq< " -6cS{TҐצJ4)45jo+vI!8HTҐy cw#{k-\{y5uXW++b ޸!Lpվ[)muy5uy\/kL^r.Kcz cS{TҐרiRiHkƦ@b(qL'MhɽNh=22%"q3 06JX@ a;m60 0 0 0 0 0 0 0$ gmĄm`ggcMNh=6oiP{{}яh&Th&4яi<_dRǾ7WW؂i罦)45\TҐױ\O{M<&}[譕r mR׮=U'u[ǫ4o~/}|@}jRʓ5JM) /qųuY%P"dڥ&2%"sMRJC_|Y}k-V++u[_}O6'[)m1^ضn[?El^W++b dJ%n)45')jR]7_v`k׾fV܍r[gw/l[7WelA|wW_dڥ&2%"sMRJC_Z'[-#fvn,Me@pBVųu}dUXm{ljc_k}-r l@b(qL'>Xphh[IFŢ |7Y}\,N#}%oRq;{ŗݚm=Cƌ@b(wFŢ F#delO4dh{C8P|Vl]L @2Ɗ#Hzp:cQ:h y@(+ [ӜEaDlƚ^E{2oi=lZ( о+b6N.&_qb ocE{^q@Mœp$KebŽ1AD^ƌm{Mi4IAjol<=8 I!@%RIM5JM) {MӚCg|#&Rq; QTBbp93HlN|jY[_6gJwx P &uI+q S%g'elA|ٝ]:^o]^W++b )o?:J4Ԍuk앺[+r7W$Ni AAHR@4 BasAADhg') ETdNQwI4&db?(2i R2A5957JM) |N[%+&Guƣ-El_|o7Ʈ+mzܝl8&8D<0G8ʉ#yĪWv 8o]^VVʹ`ΥJ[u߹_Vn7WUKuk-nC^WkԟE)ll154Y< lqKxbٺ8ݲFی&>lƚ^E{:ohǀl8&XA"!/bE/f'tqd %<Q{4?=㦀'@ha--K}:٦ 4Y<@)JJ'nrݱ4?=㦀'@ Kedz[ 4?MqcA"!/b`4щ{MA轀E k`$/ if>H>X>';/ ./usr/share/man/info/en_US/xlf/html/lr15.htmp/$ Chapter 1. Introduction to IBM XL Fortran for AIX XL Fortran for AIX V8.1.1

Language Reference


Chapter 1. Introduction to IBM XL Fortran for AIX

This chapter describes:

This book describes Version 8.1 of the XL Fortran compiler. Fortran (FORmula TRANslation) is a high-level programming language primarily designed for applications involving numeric computations. It is suitable for most scientific, engineering, and mathematical applications.

XL Fortran is an implementation of the International Organization for Standardization (ISO) standard for Fortran 95, equivalent to the American National Standards Institute (ANSI) standard for Fortran 95. XL Fortran also implements other selected industry standards. See Standards Documents.

The User's Guide discusses how to compile, link, and run programs written for XL Fortran. See Related Documentation for other information.
Tool Tip

You can use the /usr/bin/idebug command for debugging. This command launches the IBM(R) Distributed Debugger.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l8$2if>H>X>';!./usr/share/man/info/en_US/xlf/html/lr150.htmp/$   -<>Raeinot /ABEPTclprs"=DGILNOSVbdfhmuy+,.09CFHM_gvx()145:;Ujz|!#&'23WYkw678X*Q\{}%KZ[]Jqi Ƀ <; =%,:Q>/"DT.o&e`nTØee0H:RQ -/"DT,r ^P`(@]D%mw7Yd]!^c.`N`K̀9*7 v/&a8J cSx4Y Am0 @bӶY-&T fmg4d, ;m3k&b`0eNsjdt!]Hg``x0|/&2>(!`<;Ѻ*%A,3^, 0` 0` 0` 0` 0`  E RK.$.,DLӄߚaUx&Τ.PH` xA@YCQ"* 0d  = :PH`@8(Hb(0X tzu'tMF":4ey5H:5Q@MF":ͮY8J9o22Ձx=3>"s1:sbMM*zg:%sQVpY/mw'\^N[ 9cOg*U̳8ެ :&IdnɨDGYԝI":A dI4jMJ6AHΤڕ@? 'gmmB%zVrb`PNl 2Z Ώ puPp"Ua%_ czmJΣtz=D Ia<[gR"A-$ѩ6ΥgR,A  mmm``mmm mmNVW  pĖÖVQfn_czmJΤmI#de7 z7De Eu't@}DG$+7ŘJ!tl< [gRwHΣtz=D wI+l' fM+[gQF't5KlVWGtx.Wz/agNf4'\|g 0$+XgQDpĖÖVQfn6e4|/mml;mmm6l6mB6$V`4J4hepm B|h_?iNvmmm mDy.儅-gG? 9m}Bheph%Y\G\# @ QxQ$mmmD?X  `4J6D@v;GԬNԝ6FS{ GtHP M![gRwDDrB|YHΤf D.mIc f]": >Ǣ#%Eu't@}DG$+7ŘJ!tlNaEuH-;[gQ =FJΣƍ4yDgQ5KnBa{:f|Dc9VQe=YɊ< ʺ1ew6a_707|Dc4WGB3x9hM9lt]͝(H2 '32Ձx*Qd.M]#a?Ki fRN;ڕ6f G&Fڕ-n7Em04< nѶgprQ~/&4?>3Wz/M~/-M9vB"z.2N6tQ-_DG$+7ŘJ?GtzmJ;:6;]#tQ# @ QxQmGtx.ؐ =FŽX±SxtGB0%U{,Q 07][7aL7o.yhDOE_I&Ԯ&&ãA&Fڕ-n7Em< Di"#88"&IgQ5Kmv$)gL# aG,i0":N6tJ%16 hnM]'gQF4Gtxu'tMF":igGQ;ڕ6tph/REI t?+(/= <ߋ<# Q@uc(lem.:=pr:pB?Q5HL*$<$Du͈57&rhGLÁ&WzKAmGt@}/ yDyˮ0΄s2B0%3MF":$<6&Ig:sbMMWF2rhGL2QDnew$QYyDچl[3r5,Vs9QAVxVtKj(nt(#aDGX)&<<$Du͈57IaEYQ=KOLçIxÅaDGZdQ&i"#Nl@4 ?:9⫭a>ɇ.qV૧ D,NǗ07=Uh3nGL ͯ ,N > ԃ Y$4,̀Z  h0ÍUg0Ɇh,< H<`BL 5$IE#.Ċެ٣гC5 ` f&dX9ɇ ,Y{8UgGgQtjA$ 13 (֍ADBB±y1>nGB0rƞyGYԝI6&0R,RK.$.ԒEn}0R-f г2.a␑rn}0R-f HYd^+H>X>';d./usr/share/man/info/en_US/xlf/html/lr151.htmp/$ MODULE XL Fortran for AIX V8.1.1

Language Reference

MODULE

Purpose

The MODULE statement is the first statement of a module program unit, which contains specifications and definitions that can be made accessible to other program units.

Syntax



>>-MODULE--module_name-----------------------------------------><
 
 

Rules

The module name is a global entity that is referenced by the USE statement in other program units to access the public entities of the module. The module name must not have the same name as any other program unit, external procedure or common block in the program, nor can it be the same as any local name in the module.

If the END statement that completes the module specifies a module name, the name must be the same as that specified in the MODULE statement.

Examples

MODULE MM
   CONTAINS
     REAL FUNCTION SUM(CARG)
       COMPLEX CARG
       SUM_FNC(CARG) = IMAG(CARG) + REAL(CARG)
       SUM = SUM_FNC(CARG)
       RETURN
     ENTRY AVERAGE(CARG)
       AVERAGE = SUM_FNC(CARG) / 2.0
     END FUNCTION SUM
     SUBROUTINE SHOW_SUM(SARG)
       COMPLEX SARG
       REAL SUM_TMP
  10   FORMAT('SUM:',E10.3,' REAL:',E10.3,' IMAG',E10.3)
       SUM_TMP = SUM(CARG=SARG)
       WRITE(10,10) SUM_TMP, SARG
     END SUBROUTINE SHOW_SUM
END MODULE MM

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] e kO$Mif>H>X>';M./usr/share/man/info/en_US/xlf/html/lr152.htmp/$ MODULE PROCEDURE XL Fortran for AIX V8.1.1

Language Reference

MODULE PROCEDURE

Purpose

The MODULE PROCEDURE statement lists those module procedures that have a generic interface.

Syntax



>>-MODULE PROCEDURE--procedure_name_list-----------------------><
 
 

Rules

+---------------------------------Fortran 95---------------------------------+

The MODULE PROCEDURE statement can appear anywhere among the interface bodies in an interface block that has a generic specification.

+-----------------------------End of Fortran 95------------------------------+

MODULE PROCEDURE statements must be contained in a scoping unit where procedure_name can be accessed as a module procedure, and must be the name that is accesible in this scope.

procedure_name must not have been previously associated with the generic specification of the interface block in which it appears, either by a previous appearance in an interface block or by use or by host association.

The characteristics of module procedures are determined by module procedure definitions, not by interface bodies.

Examples

MODULE M
  CONTAINS
  SUBROUTINE S1(IARG)
    IARG=1
  END SUBROUTINE
  SUBROUTINE S2(RARG)
    RARG=1.1
  END SUBROUTINE
END MODULE
 
USE M
INTERFACE SS
  SUBROUTINE SS1(IARG,JARG)
  END SUBROUTINE
  MODULE PROCEDURE S1, S2
END INTERFACE
CALL SS(N)                   ! Calls subroutine S1 from M
CALL SS(I,J)                 ! Calls subroutine SS1
END

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] e"> lB$if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr153.htmp/$    et-<=>Tainors "/AENRchlmp.01DGHILMOPSbdfgu,249:BCFUV_vy!#5678;WYwx|&()3QX\j'+Kk{}J[]qpq@D.TD8{P@QAD. &|q%I9#IA4IHh$soS!1b{{{{{8 (hp4`Tq@HX/awVZS-c0\)nXP Ȏlp*^uASN-L0zӆtY 044g[kx p+i[y|>fδ C?8 W_fe˜`_%5r-9/~Vg-y9f)M7_M]I[o[kx'6V[:g_m5w r3[ǖG8,`Mȇ"[M(DO<$PqcyDqyn1О$$DO&Q#H"$Mkb*'j k :J|V`ƍ>8QGJ D6ɉn?N)' <`gEp~4 M(F%Z"DI'yDqyOf(`4 M(F%Z"DIA.(RN/<' n0`#B'8_EYǟρbV5:8ҡ11o=h^\0_ o@wcV Cjl˯%@(03ZkoolėkMh?&im À9@AĒ@H@AkMz\$ҧ3[tH M"DKE# @*9$yG!aCF8Z*L| 59Pcs+gqhQ1Mi"Z.@T({o8/Lbμ3&2lq;HAaH9(#EB"9 {HAaP9T#EB5B1I N w#(^A#EPSqhQ1* EBF-2qg8Z*L| drD+)C%Ê(9%< 莃*P- hkZֵkZֵkZֵkZ,KN$$DZִk&1N h N]|5}r@ZֵkZֵsUB#"Q$qXĠsãAH&1 "rr LbV}$ãAHIZr. LcEHF: Wy|򧕭!^` XѶ2ռ+EkK쩼MO"ޕTުҴܷ_(kV 򧑽٫\ t'˳Yr>\RVTϗVs޴Nm}ՆkLZ[.gMSuꬶEê\ t']Λ, 8tP9`Pcࡵ@T(ⰊםϤhjt5^cM&3 _}[,*+|][-&1yyT>c=mlC~ŢD4IHhPcu[e4Y+ "%iȺ'I1@I!7}=[-璪8=m֭δ :HSzl.J2V>]Z:=֛)t5ltdޡSzɽn1ZpzUo=֛)t5&1yyT>c<+33qX8I )+NE:IrHz۱[g}q|lժmI1i_Z*L| " EB\O|ճ;ʝi gճT(P1I-L[vm1Inuj5Sn,R LcEHueN_=ffxcΝ>*z;EBhHrDo>ՙ7IO v+lEsΟ$ŢD4IHhPcc)V$T9_&0My\*C:%V6{S,*+~c;R LcEHyZ:=d y_rΆ峭=L[:5եH&1 "GLbIʞL7T޲o}[e6Vìm|3[yѓzM&Z e:Ϥ}%}[=y_m|knb[.h)Ag8Mi< 0`PcBL2] qU$L$<$$Dz M!r! Mi"Z=&RhHC! な\0'4PqM U+1ynhfb[:"K&U##(^kkr 0`rcVKvt4@89ADxh& 9B#σRvt57FQiw $rΟV1J7+cy"0r$s] $ "e >>yY 8GADz | 'Swdk0yyh ,ZO9a= $ װkkp$|#"穞ZnSn#(^,Z9 $LQR' `A#n@:#DO<:&PșY@8t%REF="l kB$ if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr154.htmp/$ NULLIFY XL Fortran for AIX V8.1.1

Language Reference

NULLIFY

Purpose

The NULLIFY statement causes pointers to become disassociated.

Syntax



>>-NULLIFY--(--pointer_object_list--)--------------------------><
 
 

pointer_object
is a pointer variable name or structure component

Rules

A pointer_object must have the POINTER attribute.
Tip

Always initialize a pointer with the NULLIFY statement, pointer assignment, FORTRAN 95 Begins default initialization FORTRAN 95 Ends or explicit initialization.

Examples

TYPE T
  INTEGER CELL
  TYPE(T), POINTER :: NEXT
ENDTYPE T
TYPE(T) HEAD, TAIL
TARGET :: TAIL
HEAD%NEXT => TAIL
NULLIFY (TAIL%NEXT)
END

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l:$Xif>H>X>';!;./usr/share/man/info/en_US/xlf/html/lr155.htmp/$    et-<>RTacinors /=AEGNOSdfhlpu,.DILPgm"BCHMUVbvwxy0124FW_|+3678:XYq!#'()*59;KQk&\{}[]zZhTBG (QC 30wQ80siK`6r=@lZ'NK-ߒYeYeYeYeYeYeYeYeYeYep0ƌFp+H  [ Ze~i  PFv1Ĵ1δ4hH޴'([-~!% !ߗN[ŵ~pஒ+9GgZzۥ;Z{g_m9n%% "g0`ėW8UiTBC8Ul89X@ 4ppSEzi9MOuSNya\j{s d¸0h}M9pc#lKJi,+j(s Ji,+Сd½S4} 8XJi,+\z[%4[gZ [miq\ @uSNya\@‚M9qJi,+0g) nZT}^^VxzsW>Z*ҙ-ąy[#BpKrԊ94KʴK||z lgOuSNykLJdu̧> nZW5sƉx=KGsI#y%KG/q-#(-lSq.'(yp[uDTEUt{F3>jAN  B`X( BlHL-_=pi`[JF@l#=HWhqr(8ǻ^ӝ{|KC{P(8Ǹ[Gkc1c1c1c nR1c1c1c1cv=湡/q-3`a @HCQ% sFA qDžc%#`v -fcKJ sJ4`N4$J~4=M9復Sw/TS-OK+9OU&U2[u=7iUƔKG=R6`iA=wU-|Z{δ*V"2ĵ=pj-)=wQ<JF@/=pj-)=w)<#7iUJQit9M#=K[}Rw)ւQ<JF@MM9$J~v?m]*ҙ-ĺZS%N`9"[JF@"-F@z )=pZ=S;Q<xPYm)=w~4"Q?*ҙ-ĺߥ#:b\tY}*pSIi'BTM9s_I}h+8ǺuJ1K1"DgH0*%ZB*iW[yVOgZzK䴡\\gZC8U_cJ sJ4`" }VGgBw#Ӛ9ȯ}DCLґ< F@0k JF@b[uO4 IuG5=r0y4`9Q<"h 4 0sJF@gK52[uO4 IuG5=qAFm)=wQ< Bґ< F@Bґ2^Q< ABiHsLbq]]KJ1挃8pXKY҂\҆A1Ĵ{Ji/LjVyǧ5sCʴKq.mҝZLe,mLb%2+jddӚt!ZS%N&_K/q}=Ӧ ;J1󿏼mMoK[/yք["ZC);sr+x~uoS)JsWz+⺺MU]\ S8 `$_V4:،wq.ϪG|N2^3Lt8ddB(p ,_V=9TF2^hH'N=Lbq]]jw%sP( R0zd{ڌ9-#y\ELNj~N2)\eip3)AĴp Oڌ9KiHsM9庑3EU=r4`9޶%sOg =#y_TΜmHO9-  `TKG tΜ;ĸN`94׍)=q-(p4p OQ w[a௪gNjVb\Fzj0z`Ɣ88k8k2ީS򊱷eoK[/y֜EJ8U_9"RZ8#<,֔8Wj0z iHsz۵=qkJF@/O"rZ8#<,֔8Wվګ)b#=R6-Z_cMURboeIH2ܷi}66ΕWWƧLU|-F@P)=pWW8v;:ӑmX|-yVoDUTz֜logNJFі弫Kitz5?a"U|j0z<֔8Weo*mmޖ+23KƉzT)F[Uą),N+B*wF@zґ< S j0zᆎ[JF@Ji-~Xq/Z*'ӭsW/t!ZS%N%:،wq/:,UeWW ̅+lKBtY}Oǧ[$MUBiC9ѐsB\<IHKY҂\҆A1[%4O΋/*+:I,KTƀ6hqt$Pqw}co%#hr^>WsIj0z8ZR0z[vy=8_3EUsQiHsxb1ļ풭Z)%#=SO:,g})4$3%Kδc1c1c1cyh҆ sJ9Ĵy4` AiF8sQ<=ur)=q-=iL_kӚH)n+Ɲsi)=wpSINwIiN# Svy im)=w)<+ΒUt/:}S;Q< zO|ZS%Z=St}*ҙ-ľפߪgH9jHTν'w)HW3i7OǴA+`H ac9MsQ<AZR0zc;rgU}F@ j%`9dĩ~e> dK[}S:#N;:~KOT=r=#yhZ=St}*ҙ-ľפTxS:sW>׈9(NzO|ZS%Z*'LF@8Ym)=p`9 408Q-F@<`9»Q<ґ< ]s m)=w)ZշJrؗvy5<Фxґ<{/Fl:jKQ<Ƣґ< Sz<sA#yLZ-$jŒ҇ sJ sG4%;1c1c1cDSBC9[F1c1c1c1PKPq-00<,@5=qQ"v9Z=[)=9FzHhqrtiA=ByP5 4ai`,a<(i`X(4q00HXC`ko/4 %h0Ӏ$X\XǏAC9zռuJF@[gZ4OghP%,iAC`kiCp , 4 1h`9s*4`9uJ1tv X_Ɣ68k8kg y$SH0 &8(rҌq-(p4p4A+`HSH0y s0cJ1Ĵ\\8[ X-M"<4!׍(҇ sJ Z= {{Lo4X@V 8|H`CUSCQ8[ -M" {!(pi- VSH8>$13aa  aHOCs>ZnSnҌwh0lX4 4 # X$Ҍw 9X@Mt`!iF89(.H[ lH$if>H>X>';'./usr/share/man/info/en_US/xlf/html/lr156.htmp/$    e <=>ATainort"-/EILNORcdhlmpsu.BDHPSUbfg#,012349:CFGMwy!()578;VWXY_vx%*6&+Q\jk|'[]{}KxrBS;!%0O:bf:c4K>bEΐ>hL6g 3ҵWq/Z!B!B!B!B!B<aHD84z z d0cJc{7y1UI8 2.x82-{{p(0Q<  d\!p(]|TW73[+<aKRekpFt*٭W;v ]EsƊasn,<[zqU3Ul" 3kBTk{{V^7ֳWasqEEV%{gSs akh$394W g4,,!f@vvB95F..wF) *-Kx;ٻUoaBm]vS"<1)-Ur d" wuMz(NLk"菵;^0[jUl_ QpS4V`_[cmm}O]Fu^-\oE2VgޟSqS~oqu5Vy""/l"H4B.yjqs!Ƥ|Ӌ:/\ ĈL 0!>Ua"pU0TVD^mbaaaaaaDS "& i΋lE8jE!i")_ZyfHE!|iMMgSUo3֣^g5UVgΩR\mg@[Esl QMtd*t u/fUZgޝɳ)VjV\-\oE2Vd+-UZN-WӪ `lm3әƵ޶k4SBo`0.l0/邭ϫ^ˮk{Q~mg5A_+S>zYѦiWW+z[LELmF9#+{_ `lm3׵Ƶb}n*l/kL~oovs[ڋ[aLmBQoVVz.ܥUj=iZgUޖS-LmFy[ݜUVgjgկk糍kmVM~o]{V]k8Џs!Ē!!)@S>zu[a~3Or`TϾ;M0d+=JZ'])[jv4l15=sקUjBsԥ|{7e5Qy|OR;Lz5oE2Vg|cZfV+Ok˳]ʶ*l{mԷ_+o >>V3M$E"A3i"q[5UQ)P>/@S>z[W{ klu_F-[*lhgSUo۲^(/SmQG]ez꾍z[LELmBQniVo{]*lZs8xюyI#5IHBgyfHG9IR־y=3Tu^R*lgR޶NL*RץY^W>RJUgqL:R}jl#9 @5$:cX`XX \_4@D`Z ̸9Ik]i_xr!3FHyg866ct\Ϝw4w#8Ne\/p-|F-GNH \d Jr6Qs@q'`` b`$x*r$O.#9'͔\P>/@\zg 1l$\Ǧp _e=ˉfe<>/p-|-GLG3.$=͔\P>/@\zg [,䘡.3bM.yIS͘c5u+LNH>X>';)l ./usr/share/man/info/en_US/xlf/html/lr157.htmp/$    -<=>AERTaeinst"/DILNPclopr.1;BCGHMOSbdfhmu#&,02349:FUVWgxy!()568XY_vw%7Q\z|'+k{}*K[]qjx* R|I$9WdՖמVħSx"׏/WYv`qe+mav|0P qyǵW;%+ؽ__!B!B!B!B!Bs˧"s]iC,+sإl.b*H"tNp8RT9J20(fA࣢"sH2-|r'8Qy_.",800/#`ۋ0"מ>/= !k?e[x_>3}k ="J-zyZТdcCk_O8,owb~m7WɌ2k 0._]dEfƯX1R m^1ʑU|v9R=|/ʷlϷyZТdb"sօ#{gUv1^o8ƽHƮ_ugfm}1upc/77-"aX_<ѽml-{\ޖc~a}kٛXօ#%IgGV(b/uV6vc}g۰\޾m?]j쪷ְYkfY\ةoW̯kKo c^jfe[x_>3}k ^srk͍\U|vc"fnM}s 񝳌 kXɫc:&>Ʈ_ugbT͙>/fɛܿZِ]|Zٞ7n3`}ŘfCҟRNQ*J HDp9){g4ŷ_?foԕ$NuyB/I"E8jwHNTqDP(I.@5$BkF/%I gf !E(3fJ-xEy$rSNI"E8RBphhtZ$ԑ ůI\&#dh$0B IEA!"A-y#$ZϪy^}d=)ů>E֑yH]9$ օ#X _Ob3}k O>QkI$brTYvh $tPޞ|מ1yIER/%H|@\&#*҆XVF1԰|rTYH;4tTf.o]K < %I 3GE;oa[G=1!a AiŖ\ w|O>QO|*LF, 48a$M k*T裒yG>=NDiC,+sE璩4S͘ k7$ if>H>X>';+ ./usr/share/man/info/en_US/xlf/html/lr158.htmp/$ PAUSE XL Fortran for AIX V8.1.1

Language Reference

PAUSE

Purpose

The PAUSE statement temporarily suspends the execution of a program and prints the keyword PAUSE and, if specified, a character constant or digit string to unit 0.

Syntax



>>-PAUSE--+---------------+------------------------------------><
          +-char_constant-+
          '-digit_string--'
 
 

char_constant
is a scalar character constant that is not a Hollerith constant

digit_string
is a string of one to five digits

Rules

+-------------------------------IBM Extension--------------------------------+

After execution of a PAUSE statement, processing continues when you press the Enter key. If unit 5 is not connected to the terminal, the PAUSE statement does not suspend execution.

+----------------------------End of IBM Extension----------------------------+

+---------------------------------Fortran 95---------------------------------+

The PAUSE statement has been deleted in Fortran 95.

+-----------------------------End of Fortran 95------------------------------+

Examples

      PAUSE 'Ensure backup tape is in tape drive'
      PAUSE 10             ! Output:  PAUSE 10

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] L k4<$#if>H>X>';,#./usr/share/man/info/en_US/xlf/html/lr159.htmp/$ POINTER (Fortran 90) XL Fortran for AIX V8.1.1

Language Reference

POINTER (Fortran 90)

Purpose

The POINTER attribute designates objects as pointer variables.

The term pointer refers to objects with the Fortran 90 POINTER attribute. The integer POINTER statement provides details on what was documented in previous versions of XL Fortran as the POINTER statement; these pointers are now referred to as integer pointers.

Syntax



>>-POINTER--+----+---------------------------------------------->
            '-::-'
 
   .-,-----------------------------------------------.
   V                                                 |
>----object_name--+--------------------------------+-+---------><
                  '-(--deferred_shape_spec_list--)-'
 
 

deferred_shape_spec
is a colon (:), where each colon represents a dimension

Rules

object_name refers to a data object or function result. If object_name is declared elsewhere in the scoping unit with the DIMENSION attribute, the array specification must be a deferred_shape_spec_list.

object_name must not appear in an integer POINTER, NAMELIST, or EQUIVALENCE statement. If object_name is a component of a derived-type definition, any variables declared with that type cannot be specified in an EQUIVALENCE, DATA, or NAMELIST statement.

Pointer variables can appear in common blocks and block data program units.

+-------------------------------IBM Extension--------------------------------+

To ensure that Fortran 90 pointers are thread-specific, do not specify either the SAVE or STATIC attribute for the pointer. These attributes are either specified explicitly by the user, or implicitly through the use of the -qsave compiler option. Note, however, that if a non-static pointer is used in a pointer assignment statement where the target is static, all references to the pointer are, in fact, references to the static, shared target.

+----------------------------End of IBM Extension----------------------------+

An object having a component with the POINTER attribute can itself have the TARGET, INTENT, or ALLOCATABLE attibutes, although it cannot appear in a data transfer statement.
Attributes Compatible with the POINTER Attribute





These attributes apply only to the pointer itself, not to any associated targets, except for the DIMENSION attribute, which applies to associated targets.

Examples

Example1:

INTEGER, POINTER :: PTR(:)
INTEGER, TARGET :: TARG(5)
PTR => TARG                  ! PTR is associated with TARG and is
                             !   assigned an array specification of (5)
 
PTR(1) = 5                   ! TARG(1) has value of 5
PRINT *, FUNC()
CONTAINS
  REAL FUNCTION FUNC()
    POINTER :: FUNC          ! Function result is a pointer
 
       
  ·
  ·
  ·
END FUNCTION END

+-------------------------------IBM Extension--------------------------------+

Example 2: Fortran 90 pointers and threadsafing

FUNCTION MYFUNC(ARG)                ! MYPTR is thread-specific.
INTEGER, POINTER :: MYPTR           !  every thread that invokes
                                    !  'MYFUNC' will allocate a
ALLOCATE(MYPTR)                     !  new piece of storage that
MYPTR = ARG                         !  is only accessible within

  ·
  ·
  ·
! that thread. ANYVAR = MYPTR END FUNCTION

+----------------------------End of IBM Extension----------------------------+

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ram u kh9$if>H>X>';../usr/share/man/info/en_US/xlf/html/lr16.htmp/$ XL Fortran (XLF) XL Fortran for AIX V8.1.1

Language Reference


XL Fortran (XLF)

The XLF language contains:

  • Fortran 90

    The Fortran 90 language standard supports the FORTRAN 77 language standard. See Appendix A, Compatibility Across Standards for more details.

    +---------------------------------Fortran 95---------------------------------+

  • Fortran 95

    Fortran 95 has removed a few features that were part of both the Fortran 90 and FORTRAN 77 language standards. The features that have been removed from the Fortran 95 standard were deemed to conform least with modern day programming practice by the Fortran standards committees. However, functionality has not been removed from Fortran 95 as efficient alternatives to the features deleted do exist. See Deleted Features for more information. XL Fortran continues to support the features that have been removed from the Fortran 95 standard, since it is intended to be compatible with the FORTRAN 77, Fortran 90 and Fortran 95 standards.

    Fortran 95 also provides an extensive set of additional language features. Some of these features are briefly discussed in the following section. The Fortran standard committees are responding to questions of interpretation about aspects of Fortran. Some of these questions may be related to language features that have been implemented in the XL Fortran compiler. Any answers given by these committees that are related to these language features may result in changes in future releases of the XL Fortran compiler, even if these changes result in incompatibilities with previous releases of the product.

    +-----------------------------End of Fortran 95------------------------------+

    +-------------------------------IBM Extension--------------------------------+

  • IBM and industry extensions to the Fortran language

    XL Fortran supports a number of extensions to the FORTRAN 77, Fortran 90, and Fortran 95 language standards. These extensions include, among other things, support for the OpenMP specification, support for a series of service and utility procedures and support for the Pthreads Library Module. Some of these functions are discussed briefly in the next section.

    +----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] - ky$}if>H>X>';/}./usr/share/man/info/en_US/xlf/html/lr160.htmp/$ POINTER (integer) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

POINTER (integer)

Purpose

The integer POINTER statement specifies that the value of the variable int_pointer is to be used as the address for any reference to pointee.

The name of this statement has been changed from POINTER to integer POINTER to distinguish it from the Fortran 90 POINTER statement. The functionality and syntax for this statement remain the same as in previous releases of XL Fortran; only the name has changed.

Syntax



            .-,-----------------------------.
            V                               |
>>-POINTER----(--int_pointer--,--pointee--)-+------------------><
 
 

int_pointer
is the name of an integer pointer variable

pointee
is a variable name or array declarator

Rules

The compiler does not allocate storage for the pointee. Storage is associated with the pointee at execution time by the assignment of the address of a block of storage to the pointer. The pointee can become associated with either static or dynamic storage. A reference to a pointee requires that the associated pointer be defined.

An integer pointer is a scalar variable of type INTEGER(4) in 32-bit mode and type INTEGER(8) in 64-bit mode that cannot have a type explicitly assigned to it. You can use integer pointers in any expression or statement in which a variable of the same type as the integer pointer can be used. You can assign any data type to a pointee, but you cannot assign a storage class or initial value to a pointee.

An actual array that appears as a pointee in an integer POINTER statement is called a pointee array. You can dimension a pointee array in a type declaration statement, a DIMENSION statement, or in the integer POINTER statement itself.

If you specify the -qddim compiler option, a pointee array that appears in a main program can also have an adjustable array specification. In main programs and subprograms, the dimension size is evaluated when the pointee is referenced (dynamic dimensioning).

If you do not specify the -qddim compiler option, a pointee array that appears in a subprogram can have an adjustable array specification, and the dimension size is evaluated on entrance to the subprogram, not when the pointee is evaluated.

The following constraints apply to the definition and use of pointees and integer pointers:

  • A pointee cannot be zero-sized.
  • A pointee can be scalar, an assumed-sized array or an explicit-shape array.
  • A pointee cannot appear in a COMMON, DATA, NAMELIST, or EQUIVALENCE statement.
  • A pointee cannot have the following attributes: EXTERNAL, ALLOCATABLE, POINTER, TARGET, INTRINSIC, INTENT, OPTIONAL, SAVE, STATIC, AUTOMATIC, or PARAMETER.
  • A pointee cannot be a dummy argument and therefore cannot appear in a FUNCTION, SUBROUTINE, or ENTRY statement.
  • A pointee cannot be an automatic object, though a pointee can have nonconstant bounds or lengths.
  • A pointee cannot be a generic interface block name.
  • A pointee that is of derived type must be of sequence derived type.
  • A function value cannot be a pointee.
  • An integer pointer cannot be pointed to by another pointer. (A pointer cannot be a pointee.)
  • |An integer pointer cannot have the following attributes: |
  • An integer pointer cannot appear as a NAMELIST group name.
  • An integer pointer cannot be a procedure.

Examples

     INTEGER A,B
     POINTER (P,I)
     IF (A<>0) THEN
       P=LOC(A)
     ELSE
       P=LOC(B)
     ENDIF
     I=0         ! Assigns 0 to either A or B, depending on A's value
     END

Related Information

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] t a kTJ$2if>H>X>';12./usr/share/man/info/en_US/xlf/html/lr161.htmp/$ PRINT XL Fortran for AIX V8.1.1

Language Reference

PRINT

Purpose

The PRINT statement is a data transfer output statement.

Syntax



>>-PRINT--+-name----------------------------+------------------><
          '-format--+---------------------+-'
                    '-,--output_item_list-'
 
 

name
is a namelist group name

output_item
is an output list item. An output list specifies the data to be transferred. An output list item can be:
  • A variable. An array is treated as if all of its elements were specified in the order they are arranged in storage.

    A pointer must be associated with a target, and an allocatable object must be allocated. A derived-type object cannot have any ultimate component that is outside the scoping unit of this statement. The evaluation of output_item cannot result in a derived-type object that contains a pointer. The structure components of a structure in a formatted statement are treated as if they appear in the order of the derived-type definition; in an unformatted statement, the structure components are treated as a single value in their internal representation (including padding).

  • An expression.
  • An implied-DO list, as described under Implied-DO List.

format
is a format specifier that specifies the format to be used in the output operation. format is a format identifier that can be:
  • The statement label of a FORMAT statement. The FORMAT statement must be in the same scoping unit.
  • The name of a scalar INTEGER(4) or INTEGER(8) variable that was assigned the statement label of a FORMAT statement. The FORMAT statement must be in the same scoping unit.

    +---------------------------------Fortran 95---------------------------------+

    Fortran 95 does not permit assigning of a statement label.

    +-----------------------------End of Fortran 95------------------------------+

  • A character constant. It cannot be a Hollerith constant. It must begin with a left parenthesis and end with a right parenthesis. Only the format codes described in the FORMAT statement can be used between the parentheses. Blank characters can precede the left parenthesis, or follow the right parenthesis.
  • A character variable that contains character data whose leftmost character positions constitute a valid format. A valid format begins with a left parenthesis and ends with a right parenthesis. Only the format codes listed under FORMAT can be used between the parentheses. Blank characters can precede the left parenthesis, or follow the right parenthesis.
  • An array of noncharacter intrinsic type.
  • Any character expression, except one involving concatenation of an operand that specifies inherited length, unless the operand is the name of a constant.
  • An asterisk, specifying list-directed formatting.
  • A namelist specifier that specifies the name of a namelist list that you have previously defined.

Specifying the -qport=typestmt compiler option enables the TYPE statement which has identical functionality to the PRINT statement.

Implied-DO List



>>-(--do_object_list-- , --------------------------------------->
 
>--do_variable = arith_expr1arith_expr2----------------------->
 
>--+---+--+-------------+--)-----------------------------------><
   '-,-'  '-arith_expr3-'
 
 

do_object
is an output list item

do_variable
is a named scalar variable of type integer or real

arith_expr1, arith_expr2,  and  arith_expr3
are scalar numeric expressions

The range of an implied-DO list is the list do_object_list. The iteration count and the values of the DO variable are established from arith_expr1, arith_expr2, and arith_expr3, the same as for a DO statement. When the implied-DO list is executed, the items in the do_object_list are specified once for each iteration of the implied-DO list, with the appropriate substitution of values for any occurrence of the DO variable.

Examples

   PRINT 10, A,B,C
10 FORMAT (E4.2,G3.2E1,B3)

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ATH>X>';35./usr/share/man/info/en_US/xlf/html/lr162.htmp/$ PRIVATE XL Fortran for AIX V8.1.1

Language Reference

PRIVATE

Purpose

The PRIVATE attribute specifies that a module entity is not accessible outside the module through use association.

Syntax



>>-PRIVATE--+------------------------+-------------------------><
            '-+----+--access_id_list-'
              '-::-'
 
 

access_id
is a generic specification or the name of a variable, procedure, derived type, constant, or namelist group

Rules

The PRIVATE attribute can appear only in the scope of a module.

Although multiple PRIVATE statements may appear in a module, only one statement that omits an access_id_list is permitted. A PRIVATE statement without an access_id_list sets the default accessibility to private for all potentially accessible entities in the module. If the module contains such a statement, it cannot also include a PUBLIC statement without an access_id_list. If the module does not contain such a statement, the default accessibility is public. Entities whose accessibility is not explicitly specified have default accessibility.

A procedure that has a generic identifier that is public is accessible through that identifier, even if its specific identifier is private. If a module procedure contains a private dummy argument or function result whose type has private accessibility, the module procedure must be declared to have private accessibility and must not have a generic identifier that has public accessibility.

If a PRIVATE statement is specified within a derived-type definition, all the components of the derived type become private.

A structure must be private if its derived type is private. A namelist group must be private if it contains any object that is private or contains private components. A derived type that has a component of derived type that is private must itself be private or have private components. A subprogram must be private if any of its arguments are of a derived type that is private. A function must be private if its result variable is of a derived type that is private.
Attributes Compatible with the PRIVATE Attribute





Examples

MODULE MC
   PUBLIC                     ! Default accessibility declared as public
   INTERFACE GEN
      MODULE PROCEDURE SUB1, SUB2
   END INTERFACE
   PRIVATE SUB1               ! SUB1 declared as private
   CONTAINS
      SUBROUTINE SUB1(I)
         INTEGER I
         I = I + 1
      END SUBROUTINE SUB1
      SUBROUTINE SUB2(I,J)
         I = I + J
      END SUBROUTINE
END MODULE MC
 
PROGRAM ABC
   USE MC
   K = 5
   CALL GEN(K)                ! SUB1 referenced because GEN has public
                              ! accessibility and appropriate argument
                              ! is passed
   CALL SUB2(K,4)
   PRINT *, K                 ! Value printed is 10
END PROGRAM

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ria k$6 if>H>X>';56 ./usr/share/man/info/en_US/xlf/html/lr163.htmp/$ PROGRAM XL Fortran for AIX V8.1.1

Language Reference

PROGRAM

Purpose

The PROGRAM statement specifies that a program unit is a main program, the program unit that receives control from the system when the executable program is invoked at run time.

Syntax



>>-PROGRAM--name-----------------------------------------------><
 
 

name
is the name of the main program in which this statement appears

Rules

The PROGRAM statement is optional.

If specified, the PROGRAM statement must be the first statement of the main program.

If a program name is specified in the corresponding END statement, it must match name.

The program name is global to the executable program. This name must not be the same as the name of any common block, external procedure, or any other program unit in that executable program, or as any name that is local to the main program.

The name has no type, and it must not appear in any type declaration or specification statements. You cannot refer to a main program from a subprogram or from itself.

Examples

      PROGRAM DISPLAY_NUMBER_2
         INTEGER A
         A = 2
         PRINT *, A
      END PROGRAM DISPLAY_NUMBER_2

Related Information

Main Program


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] d- kC$if>H>X>';6./usr/share/man/info/en_US/xlf/html/lr164.htmp/$ PROTECTED XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

|PROTECTED

| |

|Purpose

|The PROTECTED attribute allows greater control over the |modification of module entities. A module procedure can only modify a |protected module entity or its subobjects if the same module defines both the |procedure and the entity.

|Syntax

|The PROTECTED attribute must only appear in the specification part |of the module.


|

>>-PROTECTED--+----+--entity_declaration_list------------------><
              '-::-'
 
 
|

|entity
|A named variable not in a common block. |

|Rules

|If you specify that an object declared by an EQUIVALENCE statement has the PROTECTED |attribute, all objects specified in that EQUIVALENCE statement must |have the PROTECTEDattribute.

|A non-pointer object with the PROTECTED attribute accessed through |use association, is not definable.

|You must not specify the PROTECTED attribute for integer pointers.

|A pointer object with the PROTECTED attribute accessed through use |association, must not appear as any of the following: |

Attributes Compatible with the PROTECTED Attribute





Examples

|In the following example, the values of both age and val |can only be modified by the subroutines in which they are declared:

|      module mod1
|          integer, protected :: val
|          integer :: age
|          protected :: age
|          contains
|              subroutine set_val(arg)
|                  integer arg
|                   val = arg
|              end subroutine
|               subroutine set_age(arg)
|                  integer arg
|                   age  = arg
|              end subroutine
|      end module
|      program dt_init01
|          use mod1
|          implicit none
|          integer :: value, his_age
|          call set_val(88)
|          call set_age(38)
|          value = val
|          his_age = age
|          print *, value, his_age
|      end program

|Related Information

|Modules

|PRIVATE

|PUBLIC

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] n lz$Gif>H>X>';8./usr/share/man/info/en_US/xlf/html/lr165.htmp/$   -<=>AERTaeist"/DILNOPcdhlnoru.1BCGHMSUbfmp!#,024:FV_gvy+356789;WXYwx%()KQ\|'k{}*[]&I=:r"LyKi;8q$%t,}&5@d)'@%p'9 ]\5i]1c1c1c1c1cNK  =",\ʡ 2~U(pw{@ Qn#X 4Q 8/̻\400 0  {8.*D&RČFF0eʁ~)k%2v*&5md{ƂdƠx}ox2NZ|Ii+U$G{k%>L52kbKaQLkXWl5˴țW-c;2ؚݽcZeLyenr+U$GȐFRD|'( LjRԯ-YBJk'A:R&5=W{{{+{{{ /c W̮քnd N֒t ҁm5 INNINP:Ҁ@FuSЖU3Fi@㥝{<1|)R,vZ[dYE˴ʘUY®ة|c[ عl/oeN:P4$'(RD| %j: c#1:RD|Qv=˗참kcFKWřU-NS_k2ؚܳk%ǁ+U$G2cP_[[ o3o~xβcZʢK[3eVUk另[w a ݵֲS+b:qv/18,αֲS+b:3uv|)½ka_~)k%2v*-NSeL*XZ_^O aJ }}lS^)k%öL&ʸcy+4)>J_EJOpW8k\Y/UU˴ʘUe,kߗk":,+Лe-ri 3;b־v)}E1dWB,ʭ]T­YoW /v=kaȥuƵ_;a^Yoǿk*|7_k_}klQQLkY)QpNPN {{{{G#1{{{x NNrYcb!˶Q|ֲS+bK;\Ska%jxJIF]O7cߖeVǻXrp(*RD|">ܕc@VHkceV'('ZJd{{{{0dP!ZDDA)@M;Ljj(O"b  :F<y"Hj(O"b D֥Q@PjUg'@ & ҅@(!c8B08-m uOFD$z6P@B|h!h`-m uSfF2Iγ#KR6rt @A L]pXX(M#ѵ*dHmJ5'V1vDuJjdVP9:|i4$ m,wF&!A fщI384B&t 'A L]`ThH l+AC klQi},d:l+ACA`TE$'c2B)!; lГ6:P6Ք ơI:@VP6% fF0ՠ:c&L@#@_T(9: ֒"Ч"9xO `_~)k%2v+‹ݬ+]_xw2cP^1;&6Ӓ&4c܊GB'Td|Ǝw*r#xA>0 3k )yL)v>]G?5د .%v-6'rְm/'v˵7~u't̋juVHpyeYbRD|hI@B|h!h` 4Z,@Sgj$xH9:| B&.$8Z,@HhP"ʭ@5I'A9@e/ L %Ē*$d~^g.O"b  [em`S,g.O"b IwӸ l L]klP䑵/^9779p'|h!h:uD:¸ˀ .O24YؒED Fp>P4'OCAT l4f$ ]if>H>X>';;>./usr/share/man/info/en_US/xlf/html/lr166.htmp/$   -eit<>Ranors /ANOSTcdfhlpu.=DEGIVbgm",BLMPvy#&+01245;CFHU_wx|'()6789:XY!3WkZ[\]jq*Qz{}K`pA4Do Ba2,x%1$XCSH! iL@zZ ah@8IB"8$ ``c`vOXYy;)k9Цmad sJaaack nO ͲbޮO|ִq`L=0<{LOR| Z_!籓XSZgZ9 rky?m.SiE[ ])_"kGy5缍Q~B+ ZUk_wB;xL&I\7ߓ_g_/%׆oT4QH)~Ğ܌O~מc ~C׆o֎'.q4zY8G4]8c ~C⟷TRĞ%浣}+26#j*(0@hP =ưS 1k 4f@X1]1)5A1>3|ִq<}Q浣׆o7םTY}*+\ c c}۔^n'/|ܠzx\7ːEZjxpۄ0氱 kҘ"!-(=^3~%pO.^VcamA[S+TUV!\ /{J`x%rZW9aªFwĞ!K| _}RQ\A` 4P )kǴwnY0ªb*|JḞ\׆ow/Jь!h%O_$AeQL,<{XXL=k\5h&lOBpFUUUUUUUUUUUUU@"`J`LmWĮӹO{r+ߓ*>OGn\IǑV7I~va¹w+Gc",[EO`z*>OGnS=hz8H7j,o&K䧿6a܈QeB1ǧK[r0z')qƎhL ag_֎'o._T#Qz;ra8G4" z8Z=^۔A9agMyz#}i\(0@hPpDcXY)ka/a"o@41`q7֎'/?|ִqOGn]zh?y5缍pj[OzϕT$PW5N,$+sɊAQ?_N2&+J挰Tz8ag=~;_FЭ>}g\br)')_J}[OzϕT|eӊ+KJiK>W RS i'.$cȫT~c ~B}'.*g}[OI{Qz;r)h7# c j}I]8țW3=\K~6K!>SiK>W R^W5N,$+sɊAQ?_N2&+J+a$a@qJi08Hc'8@9 oEo;K |+*~۔EJѴմ\5KO]8BT,$+sɊ) sSXYߓ|?j;Rq7Į˓^{F/YJ j)R'V4QL,<{X=CRx~*>OGn_!O&)}'5缍'dM+yrJ挰ׂW.ۗ|1E0`x>ۗҹ#admmUn܌OGnS=hDA9yi1N2&ad sy5_%lv1ȅ6QT(OXY%K䧿6ky3|ִq$-VB.k> `sDN<[6\ZL,iL,9,b `d|>$-VB.k> a܆+RI1>4^d^J<9)[GMgBQ%i4.PqƎhNjag5O.T+}h7#}$-VB.k> )k&!hasYk} srdAK -&@41`Ʋk>+Iv5/5O._T~hys.L?_%<[)YT| ZM 7!oBKtVb _a8G5BY8G7kG˗ɔɬ|HZ*>&\|*'ֹKtV9 W c} W"5 EGл σl,sÅT=Uўn Xg%浣#I_)YT| ZM 5\Y+Gm/x<ޜdM_'ם'K7kGˑLχąJh]gZ۔O]/q4тY8G7kG˗EYk|1+W TLWAKc$ִq&\|5O.B"kXMUUUUUUUUUUUUUUUBpFUUUUUUUUUUUUUUU@"`sS 4X``4af40cX" Ah6\O<Ú ܂XG/>NcJ0%Ey&+9 W "9'|S&4sG\@fz8JzY W!\z~)F_'xm 1m,ym12 Ğޞܽ K18">dM;S퓸h>$WMy#}y_!Kߨ%z8A4sJlEr"MgBQ%i4.&'Ta~ rמRK%h^ D߻iɬ|HZ*>&\|;uW"oݴe粷8țm!\ɉ%Ey%2k>+Iv56n'֔T9d"'z*>OGn]+ne2k>+Iv5^&?^^O bKzJ*N|ZQSB YLχąJh]g c%r >X* cɯ=79~\+|sDC~MgBQ%i4.ݓ4\ygurz.SjQ >X* c|;BMer %@4MgBQ%i4.܇/>NǖwW'} srdAA'E[ad s~O2k>+Iv5Rxl|; \і-IsמGyM;Gm.DO~MgBQ%i4.ݓ4AT9Y\E1J($/_Jfa"5 EGл σlI> /5O._!K c #lRkZ,,h.4UUUUUUUUUUUUUT6 xLJqmO# K k pְE0b `sGz /nFl,iL,9,b `_K浣5O.T=~?ed_K99'ğ,yo?kYL=h5,q.ߐ%rK Kz8qz8*kZ8\Yi\s)F\o%s2_lzy 2-h1ͅ1>W5@/ "`A3rz#R1YUgޞܾ~xZ1@K=h8 @[ =hhyr ZW;|無iwY' _zw > Bm$W\z})F^(~zw }ǀl,qTִq<Rִq<"6IVB\;dE =UWE,/_a8G4iqƎo֎'/5ZW9~(˓䬤/pJ'خ?5O.]Ñ5O-.e׆oF0I^Typz2dE0Epְ9!ƅ<*,,9,EZ40cX" Ai1} srdAA'E[ad sJaaack nOrdn^kZ8\ZK\|S?^V<ݴЭ>|ygur{}k: c$)-`UUUUUUUUUUUUU ^)h[nªÚ\5iL,`ưEX4@~o' Td(MgBQ%i4.ҘX`X1k>+Iv59 a@7ad sJaaack k&!hasYnO >ߚ֎'/?zW"y z0zBO9_ +e2k>+Iv5}S''p] sQQ XYi09'|*>OGn^J< d|>$-VB.k> bOUwa8G4 { =h˰qi,q+Oqi,qe2k>+Iv5kGH70zBO9_ +bA9hY8G7ִq$-VB.k> zBO9A8țm/;uW^{+y?Y}E1]/iutMgBQ%i4.'a8G4 { =h=h0agދߚ֎'5 EGл σSv^|eӌv[4s\4,q'pS2k>+Iv5YeqޜdM浣/܌>FZr׆iLχąJh]gZ(0cX" Aih1xk cS k X0cr}'.Whyr{r'">۔el rȉoJ挱m^Y^֊T~Ae4Wab51>4^ğ,yo?k_Jzm  Fd ,0xpۄ0K!0ZA9@hA3 =hz8jG p ,q#(p@X` Bs<8C myqJaʾT~Bw-zId w# i|,b4QL,`ưEXѧ8[= *6 cS k X0cr})ԭ/5O.B~kZ8\O+C{U*u+F2K%()/.`nF(^Y^֊QO'p\z} agal7ӊ+%ެ+ )&#ESǴzTqƎhqƎo֎'.KOU{=h恣Oagߪ_%e,W5NEW|߹4 Ͳ}KьsZ0K KyVoJ挱m_%s+=Oꏇ/ьǵ4-hxK=hiY8G7_NnDۘXx<{PRxhyi|/q ag=~;Z3On_T^Ro$(=RA9=A9kZ8\O+C~~kZ8Z\IǑV#hĝϥi-.S?pJ^Xw+})x$WE0`xOz8X* Ƃ Fkp@f@}-Aph4f5P - c UUUUUUUUUUSJ6U@MUUUUUUjjh!](A~S1j8YiVW)kJah k Aah50E0`{J`X19 cB"֎90氱57'eߛdac5-`氁jQ >X* cS k X0cr}'iy_.$cȫ~)ZCl^VJac5-`氁k嚠RH1|T XYiY|@9jK - Ú zXҹ# k Ҙ"'W-*a8G4a,qR=) sRR$@Т=ad sEtr~aъ%KOU{Tz8s =h'E[5-.Ok嚠RH憔9jK - c cY,,+ cKy;N2=h94sJlEp L=h94sz=?akE}~6 /jQ DZ:W',o|kGKN2T'F)Rk+0q0z87sT~k毹xĞ>e2+Wo?_a8G4a,qğ,ylQLj _a8G4a,qğ,yo]?m.6k|#-o|VAeߛdC@5("D +@47_z/#~VCvSA9`z8퓸oMyrFO*}|^7ҞO>~o'~hl.3{K=hiY8G7_Nᢊ`G5K/q4 ag5O.^24sOCEqƎiSZ}i\K=h0ag5O.\gFҹ7 MyQWKOU{=hs =h`X"`sA5UUUUUUUUUUUUUUT<8C myUUUUUUUUUUUUUUUUXXsXXiLhA9qƎo֎'/Jp Rӌ|ִq<˿\hyrsh.4UUUUUUUUUUUUUT6 xLJqmO# K k pְE0E,yn~kZ8Z]8z8qz8 =h<ag$SA9qƎo֎')k|#qG ?Y}0ҠvOz=L7_TqƎhØY8G7>X*ߊ}MerҦ4sFA9+\z~k֎'.$cȫ'I~ղw \і- =U|#}hȉRO4AMerҦ4sFA9-(s@o}+O!=U߹x?R浣QLi 0c =h7sT@7"F0EP=ad s|ִq<֎'?_^=hiY8G7_N+L c #lQ\9kZ8Z_!ªb*}R׆oĮS,SZ=?_a8G4k-4s{a8G4yǠbY8G7kG˔~wK(Ȭ#+K"O4AdM;oJTd浣ȉRA9\l,q浣˾ w<%r(I'9(Z_c@7#6@4W)sL,0x0 ưS 4X``4Aaf4.4UUUUUUUUUUUUUUUCÄ8ж'UUUUUUUUUUUUUUUP%5kXE4sFY8G7] ag5O.S.re~Wܭ.|"O4A֊TQS Kq =h7#V!E0E4sF0[ =h˰q<1l,q浣};% TS[ fa~Wܭ.|"O4AXZ_r0OɿQS Kq =h7#V!E0EW)aROە}Ё,qTn#qƎi0qƎhoa8G4k-4s~O;EKKCJzW$a8G4yǠbY8G7x#~w`Gz8qz8]Ѯpz8G|ִq;_J2?pF+nVXx<{PR҉)+F"W'VQɕpF+nV|4sFG @kz8^NV܌>OJa8G4 { =h|4sM94sC~}iDLVXx<{PR҉)9|JX@zZS k '  V@H)M& pH (81,܌'@9ͅҘXx<{Xg 8hDXb @4$1 af4=N`H8RL ` 10`xpЈdQJi08HcxcB =mp$7Y},e#mm 10`xpЈ @@L @HcX@4^NnFad sXY_`@zZ%l, =)kǵpE+ p0 8`ƌom.򹰳S iLkNk}pEЊC 5y+af7 '  V@)M&XEycx_pЈd Ji0ƛam/%l,a$a 5E[O# lY~8IB"8E)!h`P r,oVS 4X`tt(raAưS 8`@@=h l$2if>H>X>';A!./usr/share/man/info/en_US/xlf/html/lr167.htmp/$   -<>Raeinot /ABENPTclprs"=DGILOSVbdfhmuy+,.FHM_gvx()0159:;CUjz|#&'23468kw!7WXY*Q\%K{}J[]q0=@89@0qÑP4(3(?'BP<}r'iAFډ(=689(3^(ŋ,Xbŋ,Xbŋ,Xbŋ,Xbŋ,Xbx4G Q*.0P VQ{yLL΁B`9l$0 p 8f͠` &[{ Qp 9$r@X#J8]A Ft(@`4 m͠%̱Ð0t(P0 mmmmhYlKM{O(Wŗ؃g&ė{3W@?mo6BOb%/a׳6 S6%mmmfx^(au GIR 0flAY&gmmmm?''Y ,fÕa2r& mmmٴDX)"+$)(,SQ<~ߊ=Uç G37Mx3+z9N6P@ 8@FoWx Sx-2/3.`g h=(D ar (J ^P/A8$`P X4 YOąaPx+$)(,Pk f=v0 8H @Vm9E @q!b&{"ͣG,P  *N芍 L ɗTiٴ j' 3+z9Nfn˾3̮`VgLψgD؁3{:Et^ΉLTU%t]`:0rUkf1yM9iYm'tEFHm3N"H$6ͤNٴG AnQJ Am&n¸4_7mޡ`d"PAg&(__ t+Q_o |g (VZ ΎLn7G&l9AG(ۣ=ٴAm(z lQm(8jBD5AX HX(Xpb` 8b  hus`Aޭ:ٴrG(ۥf҃1 HX膨+"H$6ٴEFHm{OED[GQtl"H$6 9%mEFHm h M4qA!H6͢*4Cm6Qz AmQi8GQtl"H$6ȞI8 ۤfA!EC AmQjѨGQtl"H$6< EFHm h $@yEFHm h]nPfm't1K.! g91G=m2ͤmJr1tˤfmFW p!NZ'Nb_`* 9!&`,I;mmmmf{mmm`8(ml7lp$\`,I;3Z{XAYE3ɵ6Am't)n ?(DX*ٴ9a(R hmI 6Pe6@z7I&n@?"'7ŘJ?TrG&nmG t.$\m2]Ιg+{ό8=nBA#pÖVQfnGeͤ)t&h.m fwCBQďmG!tp. 3"a=~8J:..DmdAޭHUьWz+dv*b*2M!a_~DNo0¨.M 62;]!tHύHٴrG R`ːbΙgg2ՁX33${l9 )t0eĄQGB0rɍ2ό39ެ 13:e\AzM]򐈎2M!a_JiÐȉfQ]QNͣ NbH]=pr :pD&q#f]1K-v$%g::尓0L.E"Ќ'- G3Wz+~r)M˰^RqwwI,+ɉ`/Q]QAm0ewCBwG= H ͣ 8`6"H$6agGQfwI,+ɉ`/Q]QAIB:ef9SLV(M6u=.G]aed]yEa89h8J!ze LEqA!k6 Lߋfyˮ12Hۧ6]-gG=m9ӛ&boʺ177ЎvewUg0Q5o./FLe]pMka5 >:eqwNl@,(fU1L0NFIӄ 5أ3ͣ:CEY -2 pƇA X 3~Y{8ĜMgGf]t~j!,(p8cFaGax7AftN[ 9cd8x룂N9HXZD4XI. @nxRKɸEqzD4X@Paii(H97>OQ9( -2'& ?5b`pA%IAV"(4qzD4XHai4rCT= (:8^6HJb &86@tpr B kU$Rif>H>X>';ER./usr/share/man/info/en_US/xlf/html/lr168.htmp/$ RECORD XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

RECORD

Purpose

The RECORD statement is a special form of type declaration statement. Unlike other type declaration statements, attributes for entities declared on the RECORD statement cannot be specified on the statement itself.

Syntax

Record entity declarations follow this syntax:

record_stmt:

           .-,------------------------------------------.
           V                                            |
>>-RECORD----/ type_name /--+----+--record_obj_dcl_list-+------><
                            '-::-'
 
 

record_obj_dcl:

>>-record_object_name--+----------------+----------------------><
                       '-(-array_spec-)-'
 
 

where type_name must be the name of a derived type that is accessible in the scoping unit.

Rules

Entities cannot be initialized in a RECORD statement.

A record_stmt declares an entity to be of the derived type, specified by the type_name that most immediately precedes it.

The RECORD keyword cannnot appear as the type_spec of an IMPLICIT or FUNCTION statement.

Examples

In the following example, a RECORD statement is used to declare a derived type variable.

        STRUCTURE /S/
          INTEGER I
        END STRUCTURE
        STRUCTURE /DT/
          INTEGER I
        END STRUCTURE
        RECORD/DT/REC1,REC2,/S/REC3,REC4
                        

Related Information

  • For further information on record structures and derived types, see Derived Types

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 47 lꒋ$Oif>H>X>';Fx./usr/share/man/info/en_US/xlf/html/lr169.htmp/$    -et<>Rainors /=AENTchlmpu".BDGHILOPSUbdfg,01:;CFMVx!#&(+23479Y_vwy)568Wk|QX\'K{}[]qhi #ɕDgA8jcxHa"鈑sG&E=ʽ&ȢZ0e ;Iн<<<<<<<<<<rܖa60W$huu•>50N5(dT`7 Mb3H/"U5Ii52%##> Z/pg<}W9dr+@UL1)RjaviiH9H8=Y-IzYL WsՒRfi$_!*W9m&ٛ1W~ - [crU&f2%3Οg#`% Li.- 1,LG i74sF8wwwwwwwwwwwwwwwdD%XWwwwwwwwwwwwwwww`18sF=ƴ$$B_Uμ#.&f\+(r1\'3,&f\[Iދ1d_ 0G'*riދMƴ$ӊq&M9lqDI!5kIZx_5oEuʽ+M݂nu8$[bR:CأNo5z.5яq&rSܨoiDz`h{i74#ܕc9 hǸ֜H15яq91iɽ94Eƴh.5oEMݐ#ܕc9]݂Zp4oEnhюht)T!lQ ӆ9 M5ѯZᜠWA`:u& `6)g!|fs|bZrnxzG)_J&IqDr/6Q7Hsl1:a BB&pwR>k-Ԝi74sF8wwwwwwwwwwwwwvD%XWwwwwwwwwwwwww`18sI֜4kp.5҉CVʴ≼CkIH=ФuP F$ԄlcxzZgc,dA9, scb1ܤ%؜e݌ .ӄ{lpg $R:CأNA 18m?Iv$hqU&W-1]FE|dnqD@KP0 5 y"sJ&IqBHdEM會ڇDabƽx y;J&IsLiy$;aKBfwM/<ir} vMRӊ&Iwq|ØfJlg/:VKRleb3H/Յ~_>1o|;J&IsLiy$87hZM($9ȉvʴ≼CkID(T`!M 7FH>X>';H./usr/share/man/info/en_US/xlf/html/lr17.htmp/$ What is OpenMP? XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+


What is OpenMP?

OpenMP is a specification for a portable implementation of shared memory parallelism in Fortran and C/C++. The OpenMP specification provides a number of compiler directives, library routines and environment variables that you can use to control the parallel environment. This section gives a brief overview of the features of OpenMP.

Compiler Directives

XL Fortran includes a number of General Directives. For Directives exclusive to your hardware platform see, Hardware-Specific Directives.

The OpenMP Application Program Interface provides a number of directives that define parallel regions, work-sharing constructs and synchronization constructs, providing support for the sharing and privatization of data.

See SMP DirectivesChapter 13, SMP Directives for more information.

Library Routines

The OpenMP API supports a suite of library routines that allow you to control and query the run-time execution environment, a set of general-purpose locking routines, and portable timer routines .

See Chapter 14, OpenMP Execution Environment and Lock Routines for more information.

Environment Variables

The OpenMP environment variables also provide the functionality to control the run-time execution environment.

See the User's Guide for more information.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] WmZr k&$lif>H>X>';Il./usr/share/man/info/en_US/xlf/html/lr170.htmp/$ REWIND XL Fortran for AIX V8.1.1

Language Reference

REWIND

Purpose

|The REWIND statement positions an external file connected |for sequential access at the beginning of the first record of the file. |For stream access, the REWIND statement positions a file at its |initial point.

Syntax



>>-REWIND--+-u-------------------+-----------------------------><
           '-(--position_list--)-'
 
 

u
is an external unit identifier. The value of u must not be an asterisk or a Hollerith constant.

position_list
is a list that must contain one unit specifier ([UNIT=]u) and can also contain one of each of the other valid specifiers. The valid specifiers are:

[UNIT=] u
is a unit specifier in which u must be an external unit identifier whose value is not an asterisk. An external unit identifier refers to an external file that is represented by a scalar integer expression, whose value is in the range 1 through 2,147,483,647. If the optional characters UNIT= are omitted, u must be the first item in position_list.

IOSTAT= ios
is an input/output status specifier that specifies the status of the input/output operation. ios is a scalar variable of type INTEGER(4) or default integer. When the REWIND statement finishes executing, ios is defined with:
  • A zero value if no error condition occurs
  • A positive value if an error occurs.

ERR= stmt_label
is an error specifier that specifies the statement label of an executable statement in the same scoping unit to which control is to transfer in the case of an error. Coding the ERR= specifier suppresses error messages.

Rules

If the unit is not connected, an implicit OPEN specifying sequential access is performed to a default file named fort.n, where n is the value of u with leading zeros removed. If the external file connected to the specified unit does not exist, the REWIND statement has no effect. If it exists, an end-of-file marker is created, if necessary, and the file is positioned at the beginning of the first record. If the file is already positioned at its initial point, the REWIND statement has no effect. The REWIND statement causes a subsequent READ or WRITE statement referring to u to read data from or write data to the first record of the external file associated with u.

If the ERR= and IOSTAT= specifiers are set and an error is encountered, transfer is made to the statement specified by the ERR= specifier and a positive integer value is assigned to ios.

+-------------------------------IBM Extension--------------------------------+

If IOSTAT= and ERR= are not specified,

  • the program stops if a severe error is encountered.
  • the program continues to the next statement if a recoverable error is encountered and the ERR_RECOVERY run-time option is set to YES. If the option is set to NO, the program stops.

+----------------------------End of IBM Extension----------------------------+

Examples

      REWIND (9, IOSTAT=IOSS)

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] AR>  k a$if>H>X>';K./usr/share/man/info/en_US/xlf/html/lr171.htmp/$ SAVE XL Fortran for AIX V8.1.1

Language Reference

SAVE

Purpose

The SAVE attribute specifies the names of objects and named common blocks whose definition status you want to retain after control returns from the subprogram where you define the variables and named common blocks.

Syntax



>>-SAVE--+-----------------------------------------+-----------><
         |         .-,---------------------------. |
         |         V                             | |
         '-+----+----+-object_name-------------+-+-'
           '-::-'    '-/--common_block_name--/-'
 
 

Rules

A SAVE statement without a list is treated as though it contains the names of all common items and local variables in the scoping unit. A common block name having the SAVE attribute has the effect of specifying all the entities in that named common block.

Within a function or subroutine subprogram, a variable whose name you specify with the SAVE attribute does not become undefined as a result of a RETURN or END statement in the subprogram.

object_name cannot be the name of a dummy argument, pointee, procedure, automatic object, or common block entity.

If a local entity specified with the SAVE attribute (and not in a common block) is in a defined state at the time that a RETURN or END statement is encountered in a subprogram, that entity is defined with the same value at the next reference of that subprogram. Saved objects are shared by all instances of the subprogram.

+-------------------------------IBM Extension--------------------------------+

XL Fortran permits function results to have the SAVE attribute. To indicate that a function result is to have the SAVE attribute, the function result name must be explicitly specified with the SAVE attribute. That is, a SAVE statement without a list does not provide the SAVE attribute for the function result.

Variables declared as SAVE are shared amongst threads. To thread-safe an application that contains shared variables, you must either serialize access to the static data using locks, or make the data thread-specific. One method of making the data thread-specific is to move the static data into a named COMMON block that has been declared THREADLOCAL. The Pthreads library module provides mutexes to allow you to serialize access to the data using locks. See Chapter 15, Pthreads Library Module for more information. The lock_name attribute on the CRITICAL directive also provides the ability to serialize access to data. See CRITICAL / END CRITICAL for more information. The THREADLOCAL directive ensures that common blocks are local to each thread. See THREADLOCAL for more information.

+----------------------------End of IBM Extension----------------------------+

Attributes Compatible with the SAVE Attribute





Examples

LOGICAL :: CALLED=.FALSE.
CALL SUB(CALLED)
CALLED=.TRUE.
CALL SUB(CALLED)
CONTAINS
  SUBROUTINE SUB(CALLED)
    INTEGER, SAVE :: J
    LOGICAL :: CALLED
    IF (CALLED.EQV..FALSE.) THEN
      J=2
    ELSE
      J=J+1
    ENDIF
    PRINT *, J                  ! Output on first call is 2
                                ! Output on second call is 3
  END SUBROUTINE
END

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] s k0$oif>H>X>';Mo./usr/share/man/info/en_US/xlf/html/lr172.htmp/$ SELECT CASE XL Fortran for AIX V8.1.1

Language Reference

SELECT CASE

Purpose

The SELECT CASE statement is the first statement of a CASE construct. It provides a concise syntax for selecting, at most, one of a number of statement blocks for execution.

Syntax



>>-+------------------------+--SELECT CASE--(--case_expr--)----><
   '-case_construct_name--:-'
 
 

case_construct_name
is a name that identifies the CASE construct

case_expr
is a scalar expression of type integer, character or logical

Rules

When a SELECT CASE statement is executed, the case_expr is evaluated. The resulting value is called the case index, which is used for evaluating control flow within the case construct.

If the case_construct_name is specified, it must appear on the END CASE statement and optionally on any CASE statements within the construct.

+-------------------------------IBM Extension--------------------------------+

The case_expr must not be a typeless constant or a BYTE data object.

+----------------------------End of IBM Extension----------------------------+

Examples

      ZERO: SELECT CASE(N)         ! start of CASE construct ZERO
 
        CASE DEFAULT ZERO
             OTHER: SELECT CASE(N) ! start of CASE construct OTHER
                CASE(:-1)
                   SIGNUM = -1
                CASE(1:) OTHER
                    SIGNUM = 1
             END SELECT OTHER
        CASE (0)
          SIGNUM = 0
 
      END SELECT ZERO

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] u kx$ if>H>X>';N ./usr/share/man/info/en_US/xlf/html/lr173.htmp/$ SEQUENCE XL Fortran for AIX V8.1.1

Language Reference

SEQUENCE

Purpose

The SEQUENCE statement specifies that the order of the components in a derived-type definition establishes the storage sequence for objects of that type. Such a type becomes a sequence derived type.

Syntax



>>-SEQUENCE----------------------------------------------------><
 
 

Rules

The SEQUENCE statement can be specified only once in a derived-type definition.

If a component of a sequence derived type is of derived type, that derived type must also be a sequence derived type.

+-------------------------------IBM Extension--------------------------------+

The size of a sequence derived type is equal to the number of bytes of storage needed to hold all of the components of that derived type.

+----------------------------End of IBM Extension----------------------------+

Use of sequence derived types can lead to misaligned data, which can adversely affect the performance of a program.

Examples

TYPE PERSON
  SEQUENCE
  CHARACTER*1 GENDER     ! Offset 0
  INTEGER(4) AGE         ! Offset 1
  CHARACTER(30) NAME     ! Offset 5
END TYPE PERSON

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] EN kF$if>H>X>';O./usr/share/man/info/en_US/xlf/html/lr174.htmp/$ Statement Function XL Fortran for AIX V8.1.1

Language Reference

Statement Function

Purpose

A statement function defines a function in a single statement.

Syntax



>>-name--(--+---------------------+--)-- = --scalar_expression-><
            '-dummy_argument_list-'
 
 

name
is the name of the statement function. It must not be supplied as a procedure argument.

dummy_argument
can only appear once in the dummy argument list of any statement function. The dummy arguments have the scope of the statement function statement, and the same types and type parameters as the entities of the same names in the scoping unit containing the statement function.

Rules

A statement function is local to the scoping unit in which it is defined. It must not be defined in the scope of a module.

name determines the data type of the value returned from the statement function. If the data type of name does not match that of the scalar expression, the value of the scalar expression is converted to the type of name in accordance with the rules for assignment statements.

The names of the function and all the dummy arguments must be specified, explicitly or implicitly, to be scalar data objects.

The scalar expression can be composed of constants, references to variables, references to functions and function dummy procedures, and intrinsic operations. If the expression contains a reference to a function or function dummy procedure, the reference must not require an explicit interface, the function must not require an explicit interface or be a transformational intrinsic, and the result must be scalar. If an argument to a function or function dummy procedure is array-valued, it must be an array name.

+-------------------------------IBM Extension--------------------------------+

With XL Fortran, the scalar expression can also reference a structure constructor.

+----------------------------End of IBM Extension----------------------------+

The scalar expression can reference another statement function that is either:

  • Declared previously in the same scoping unit, or
  • Declared in the host scoping unit.

Named constants and arrays whose elements are referenced in the expression must be declared earlier in the scoping unit or be made accessible by use or host association.

Variables that are referenced in the expression must be either:

  • Dummy arguments of the statement function, or
  • Accessible in the scoping unit

If an entity in the expression is typed by the implicit typing rules, its type must agree with the type and type parameters given in any subsequent type declaration statement.

An external function reference in the scalar expression must not cause any dummy arguments of the statement function to become undefined or redefined.

If the statement function is defined in an internal subprogram and if it has the same name as an accessible entity from the host, precede the statement function definition with an explicit declaration of the statement function name. For example, use a type declaration statement.

The length specification for a statement function of type character or a statement function dummy argument of type character must be a constant specification expression.

Examples

PARAMETER (PI = 3.14159)
REAL AREA,CIRCUM,R,RADIUS
AREA(R) = PI * (R**2)            ! Define statement functions
CIRCUM(R) = 2 * PI * R           !   AREA and CIRCUM
 
! Reference the statement functions
PRINT *,'The area is: ',AREA(RADIUS)
PRINT *,'The circumference is: ',CIRCUM(RADIUS)

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k n$uif>H>X>';Qu./usr/share/man/info/en_US/xlf/html/lr175.htmp/$ STATIC XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

STATIC

Purpose

The STATIC attribute specifies that a variable has a storage class of static; that is, the variable remains in memory for the duration of the program and its value is retained between calls to the procedure.

Syntax



                   .-,-------------------------------------------.
                   V                                             |
>>-STATIC--+----+----stat_variable--+--------------------------+-+-><
           '-::-'                   '-/--initial_value_list--/-'
 
 

stat_variable
is a variable name or an array declarator that can specify an explicit_shape_spec_list or a deferred_shape_spec_list.

initial_value
provides an initial value for the variable specified by the immediately preceding name. Initialization occurs as described in DATA.

Rules

If stat_variable is a result variable, it must not be of type character or of derived type. Dummy arguments, automatic objects and pointees must not have the STATIC attribute. A variable that is explicitly declared with the STATIC attribute cannot be a common block item.

A variable must not have the STATIC attribute specified more than once in the same scoping unit.

Local variables have a default storage class of automatic. See the -qsave Option in the User's Guide for details on the default settings with regard to the invocation commands.

Variables declared as STATIC are shared amongst threads. To thread-safe an application that contains shared variables, you must either serialize access to the static data using locks, or make the data thread-specific. One method of making the data thread-specific is to move the static data into a COMMON block that has been declared THREADLOCAL. The Pthreads library module provides mutexes to allow you to serialize access to the data using locks. See Chapter 15, Pthreads Library Module for more information. The lock_name attribute on the CRITICAL directive also provides the ability to serialize access to data. See CRITICAL / END CRITICAL for more information. The THREADLOCAL directive ensures that common blocks are local to each thread. See THREADLOCAL for more information.
Attributes Compatible with the STATIC Attribute





Examples

LOGICAL :: CALLED=.FALSE.
CALL SUB(CALLED)
CALLED=.TRUE.
CALL SUB(CALLED)
CONTAINS
  SUBROUTINE SUB(CALLED)
    INTEGER, STATIC :: J
    LOGICAL :: CALLED
    IF (CALLED.EQV..FALSE.) THEN
      J=2
    ELSE
      J=J+1
    ENDIF
    PRINT *, J                  ! Output on first call is 2
                                ! Output on second call is 3
  END SUBROUTINE
END

Related Information

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kp$if>H>X>';S./usr/share/man/info/en_US/xlf/html/lr176.htmp/$ STOP XL Fortran for AIX V8.1.1

Language Reference

STOP

Purpose

When the STOP statement is executed, the program stops executing and, if a character constant or digit string is specified, prints the keyword STOP followed by the constant or digit string to unit 0.

Syntax



>>-STOP--+---------------+-------------------------------------><
         +-char_constant-+
         '-digit_string--'
 
 

char_constant
is a scalar character constant that is not a Hollerith constant

digit_string
is a string of one through five digits

Rules

+-------------------------------IBM Extension--------------------------------+

If neither char_constant nor digit_string are specified, nothing is printed to standard error (unit 0).

+----------------------------End of IBM Extension----------------------------+

A STOP statement cannot terminate the range of a DO or DO WHILE construct.

+-------------------------------IBM Extension--------------------------------+

If you specify digit_string, XL Fortran sets the system return code to MOD (digit_string,256). The system return code is available in the Korn shell command variable $?.

+----------------------------End of IBM Extension----------------------------+

Examples

STOP 'Abnormal Termination'    ! Output:  STOP Abnormal Termination
END
 
STOP                           ! No output
END


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] H>X>';Tw./usr/share/man/info/en_US/xlf/html/lr177.htmp/$ SUBROUTINE XL Fortran for AIX V8.1.1

Language Reference

SUBROUTINE

Purpose

The SUBROUTINE statement is the first statement of a subroutine subprogram.

Syntax



   .------------.
   V            |
>>---+--------+-+--SUBROUTINE--name----------------------------->
     '-prefix-'
 
>--+-------------------------------+---------------------------><
   '-(--+---------------------+--)-'
        '-dummy_argument_list-'
 
 

prefix
is one of the following:
FORTRAN 95 Begins ELEMENTAL FORTRAN 95 Ends
FORTRAN 95 Begins PURE FORTRAN 95 Ends
RECURSIVE
Note:
type_spec is not permitted as a prefix in a subroutine.

name
is the name of the subroutine subprogram

Rules

At most one of each kind of prefix can be specified.

The subroutine name cannot appear in any other statement in the scope of the subroutine, unless recursion has been specified.

The RECURSIVE keyword must be specified if, directly or indirectly,

  • The subroutine invokes itself.
  • The subroutine invokes a procedure defined by an ENTRY statement in the same subprogram.
  • An entry procedure in the same subprogram invokes itself.
  • An entry procedure in the same subprogram invokes another entry procedure in the same subprogram.
  • An entry procedure in the same subprogram invokes the subprogram defined by the SUBROUTINE statement.

If the RECURSIVE keyword is specified, the procedure interface is explicit within the subprogram.

+---------------------------------Fortran 95---------------------------------+

Using the PURE or ELEMENTAL prefix indicates that the subroutine may be invoked by the compiler in any order as it is free of side effects. For elemental procedures, the keyword ELEMENTAL must be specified. If the ELEMENTAL keyword is specified, the RECURSIVE keyword cannot be specified.

+-----------------------------End of Fortran 95------------------------------+

+-------------------------------IBM Extension--------------------------------+

XL Fortran allows three exceptions to PURE subroutine:

  • Dummy arguments with an intent of OUT or INOUT can be modified.
  • You can modify the association status of dummy arguments with the POINTER attribute, unless you have specified the pointer dummy argument as INTENT(IN).
  • The value of dummy arguments with the POINTER attribute can be modified.

You can also call external procedures recursively when you specify the -qrecur compiler option, although XL Fortran disregards this option if the SUBROUTINE statement specifies the RECURSIVE keyword.

+----------------------------End of IBM Extension----------------------------+

Examples

RECURSIVE SUBROUTINE SUB(X,Y)
  INTEGER X,Y
  IF (X.LT.Y) THEN
    RETURN
  ELSE
    CALL SUB(X,Y+1)
  END IF
END SUBROUTINE SUB

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] f l$uif>H>X>';Va ./usr/share/man/info/en_US/xlf/html/lr178.htmp/$   -<>"=AERTet /DHILNOPainors.1BCFGSbcdhlmp#02349:MUVfgu!()+,5678;WY_vwxy%&'QX\j|{}[]kK)AX&$TLrHF3 qĒݦKq7&Ҏ#FiGM-AeQbkʅh{{{{{M-"xv$ 4%(IAO > 7Iđ܇BQ hhP0>0I%OIApirH$:@`-@@1X$UحmŘ1F+CMÒGq$w!ДH= -Sh"jh׃mQu,ap8M-7B[~C({ɐVlV Ot%qv TõV]v S':CA Tõ:+XZt7?!ДH= ZǨݳXzvExXxt7?!ДH=-Sh$S> 0D)Q`t7;yfB*-Gn 7 ÐZh@stateme lD$2if>H>X>';Xa"./usr/share/man/info/en_US/xlf/html/lr179.htmp/$   -et<>Rainors /=AENOPTcdhlp".BDGILSVbfmuy,09CFHM_gvx()+125:UYjz!#'3468;Ww&7Xk|Q\q%J{}*[]Kh5 Ô! <3M5A9@4y49Ƹƨ=B9@zh4AˇdwⳢ8888888888یh wEUbg Wx_'FE?xz < IH"p9X!8Ƈ9E <ƒ'-m]EDP[zjU/)\ӣY)4=(`Y* 1`fPP4E8Ƈ9E <©Q4W IEC!<(/8,(( hqACr'h8y#`1TW IEC{4ఠg@h@$Si]8Vj) Hh?(#x+ U![fur-aMS"`Ym\aLfbtlAP '-v0:YRrr"+7t+ cM"<1 x4bCA1ғfplN8l鴄IӞ<@PPSM)9kh4h wВ; Sqqqqqqqqqqq4)I A#Oq8$"Z9߅2%qcSqO@A^=4pp( CEDP@"=4ii'p@(9EG&ZθH"DsM"Dsg:ث63pK}YbR9_焖22ە)L!|$(ZJg*e"%}. P`W O<+X?2a Wj,ƦQ"9K`&HjnhǸƨxq+P+iFTsF9nKD**Gƚ14jhѮ~GWvQ"9iTzHpOi#9FEGӴI@i#cM5M1i4chѣ]_:,M͉!?|k Z4żJxn$nW˜eYbR8Oi#eFC٣M${^ZO1r/ 8PhX0B  ƒRz= 0F2yӴqi{EG" @iTzHw1r/ 8PhX3$Es(pԞG:Z9 W½S|xHi#K-I 1Q=)gi{iFñNJ˓i-ShѮjnhюi#K-IF9Q5574ccTP+Gc"rURԯzUixO@4LP @Pzp=mMM9 BKy%XWwwwwwwwwwwwww`157hѮjnhюi#;163 FHƚ14jhѮf_ x;1Ġl W̧eF43O):lt8JG_Kl)Gc9 1 ${si#YRġH|&w-]K>4IM!訃i#H--4c7wwwwwwwwwwwwwv)gM%wwwwwwwwwwwwww`157${Gc"r6hIx2B'O% F0+XJS}_;H=Q"92ۂjnB[W_KlURaW%ug*!bܙf2e<$\n$nW՜V%#r;OzٰYҙVg%!!H-+ڋ1)+lDoμ+K#,X'n%Wg<}^DK]cSrZS𗌽YbR*c9z7 䶡[_ x1Y2B+_2[Mmd#]Z_<Ʉ1]¾Yfroc_ i#CQ*=$G;v&[pZFEr[+ڄ +YʻBP!%_}byno(ZJg.<=vVg,{હZěDK.ybՄ=-/ 2[Mmd#]|=vά]evtcSrḐ\R%s-9Մ=-^6;k#EG ` !4*=$G;KvQ"9M"Dsvr[Q}"a WkPNU-W:}.W J{猷r[Qf579WI\e"%^g:Ŋ/Ar[ʖġR"XF IWW<םwµr?jgWXDK.ue‘W|WKA -,T +ڋ1Evs Cc9z7 K)Hxe],WFaB1ybՄ=Qqox}.uV!Hlg/]\bKPD\0ՆL!OfqyBWc9zeK1>d˓bY+9pG)ٜe@0OrP+>2FUP+>t-+ dΝXK^dO^2۝XJSO=121}.uV!Hlg/]\N+ xK:_ςlc1}_=`W<7ie9Y> y\񗁕VlB%xS:ثd#_H%IFQa0M4GƏȼ0A`x# <4W< Ig:ث63pK|/0J3-_VqXFWaW%2zz6c!ZQ|% F:q(R0&z'2a WLVGc"ŹY> y\ǔ${HƾJ ?WW$y${Gc"r6hIs<%lUS(ZJg KW|x gW+Xc 6XnPZLek5𗌶b(ZJg!}E󭔈-8b')[_W*=$G84bEQ"9޻ ¹- bQ[užg zR2Ÿ^2rsXO(ZJg/:xUr63Fy|W k5c -4c7wwwwwwwwwwwwwwv<`@OrUwwwwwwwwwwwwwwwv iSzhǸƦ;TQ4w;TQ5E‘-٦ Fe _g:ث63pKB|wƾSNB9O dQ݉X1՜eSVrZ-4c7wwwwwwwwwwwwwhIo2xF9cSsOƒ8((( PSEG 'iTzHsM=57A$!n!R"XM ED x 08<=DoP4L(M:h$ CǨ頒d 0漹`A"4ƚqM"DsCqn>E'BM4I11 Q44NpP 5AA@P)rźʴcM = =?=Ӆ1@P( CjP7),[]iƚ@{@{z bP 51N(`B0]6ig*cM = =?=Ӆ1@C8((( 8:`oP9׍f{yIӭ_9}_H>X>';\./usr/share/man/info/en_US/xlf/html/lr18.htmp/$   ert-<>ainos "=AEHRTcdfhlmpu./9DFLNOPgvy#012345:BCIMSU_bw!,78GVWx6;QXY\|()+?k{}'[]qzjxy1tS# h 4hS#@1$FEǦ" ^;^BSL1g;YOqVjSqqqqqqqqqq3` );e*JH 1*u)2כjbJ/ X DscwS8E.$$OI  scwbQ"ƩR`~8p΁9"~]o Z9)sģ2^iExt x|BדfR]w$ڽ)_kslm$vTueU[uܒjb3Bgǔj/j Or*oCĸ1΁A3)Q LVo&I4 &q` ^9[ӥZ8 `cĐLir8,[iXo&I4 &qTsA$?e(" 8ܲұsx2II3!p@p`$806ssWqVjSqqqqqqqqqqq΁?Q$ cJD*?87-%n3RW=co'kO߶-bضnzbwSeI-?ȗw>B:kxi$ iDƉ2@]7=a חiRZVI,_2%lȗ6T@(r*mbܔ靪J{y8V5756TWl[7=2UL[Q<褁cB/="LH&HiS;4cz!pyHj7oB 褁c/$ 6AOƢR)njl:b_%oZQNJߵ6WK(y5m[/)a[~8Un{霫rQbx2@IM"dP1y~UE-^4&H$$"iL* yH IBF/=" l 7e[˫Ɵ3L)Lf;*La)$ƣqVT(4ފH80 (b82II1P`$^4E^v|:211<\$xI"yz) @X &$BMRKIH>AQ )ώ e I[k(ZٹkBSw|Xb1umiN756T|թ%vTkYu:~ZZJGeIsSeIׯes߫~e^Ue~lKJe}dYkSkxR7W)ڌG-_)^b͘YBZZJGeI׍?5  P jIi)'ZʓƟ3L)Lf;*La)$Ƣ=!A475  LhLT(l!qQ )ώ ƿ-|z/ָyuw_j9qjjWS7#>8#jM#p@#n%oc5cgM{\u^;׉k0Z-zF~|3r3}v3V86u)5.5/-\h/Ȳ̦WSdbWBfqZ(2ݻ*N,KK_:of^QB5RW=2,m-uOZ׫l^ڽZ{ʺ0ǔGnF}JOe6iMS7ָyuwŮ١kWd^ fgfqQ<褁cB _YDzC"D/m^BOZ٦_֦3&1 !s9s9s9srώ s9s9s9s8h|4HA cA褁N XTJٰNz-Di_y q`H bɰ)ZTnJƟIl X7yH> ?5  LhL'f/n!IjÁ}R@ƱaA!ifFj5O71G qRk [6| xcH>X>';^0./usr/share/man/info/en_US/xlf/html/lr180.htmp/$   ->etZp8ʘax*>V 14GJl5(HF 4@ EÈ)(0^c9\Uw D/Ղ"NyC=//z:_(gVQg_ 8nDavkDQP L`Gr;Jc)(J +-uV|e@P Ph5(QD&0Y pE%IA. w= hx Z"N@c!xE%IA s؟A  @5(QD&0^ "qE% $ w= $@fa~c ӕevh(E18Dp*'x$6?2\@_ h?*7Ձ0*7Ւ?]Ι_2w7J;@~@Mme޸@Ӊ(Fii5myL`v>x/CZqiGm ZtbWcYL?0` 0` 0` 0` 0` 0gZHF RL ,$]ֈL d*N ZHF A!-yPŴ 8J"@ jc:N>p f(=,0i٭NIGHublIiĔqYNeqU7%οpG{,b- gȉ}+߻81ϑcdP uE]glz1g{,N8W썑@7C jvJ8CZq%E!kSuA4Eڣ!m5$NP<UUUUUUUUUTT^GaD⫉/uBꪪ_B l-eTIx3:T$o5&l֜ӔuA5O֍uAƑrjZ$0YCɞ@x PbA.L^cciuӔBڢ$0YCɞ@x PbA.L[f$N&{֜ӔuGYQy,! bLm85!m$:ÈA-QR|ZLXgvSiu9A i%E!ց")D iĔq_hp5!m$:"AHyq%E!kPBIGHuIDG"IGHui3`t"TI_M=-qY#AQR|ZLXgvSiu9A i%E!O Ӊ()&{J3)g֠"P MIGHuSI,`^_q3`ZkN@Ѯ9!"L$0ZS(, !vkP!ÈxrkPBr!0p "xqY=CƐEQRm85!m?9טh041m.ADŽT""zqYIGHu֠ C ^aHb\ "DQRhE"CȤӉ()}SI|"Lgf-"0Z `Ŵ A" .IGHuˆӐBڝ-mu$DOViuӆNAKj\ ['U~7ՔYx(Z |c-챊B%M,gay|ܘ/}u0Iąiuɜ+ձd֜Ӑ!f 5Z-muvbLgim ,>Ss_KJe߰|a|goa*awϿvp(cp/ d[;:-l켾xӐBڝ-m܎2*Ӈ٭8mղ}qXq%E!IGHuӉ())QRc"QQRfmAKhim ,֧pgE%0e0?| BxW~P=YchaPg`~QV&ӉxI0N <<_<r=.'.>g[N&{"H"@(Ӊ()ZbKDfLY8mS'8~|eV|#LXgvSiuĩ&{U1&q|We6LX_|J32eễ|#<['VξDOV5Wǔ C >ճ0=~a>S*]L_Ycc=u$DOViuhG seV|ޮGaMU{,b,g>7ՔY~'u(oad`Q|Dn AW%yiOYe+e jv܍mUUUUUUUUUUUUUU#E=]ȳ F) mNڛ4G+a(UUUUUUUUUUUUUUU4ӓr6ѮZr[SmF$(cN&{֜6r [PB؜ WazQZS|LX`ZW3l._ 5Vy| jv܍mUUUUUUUUUUUUUU#E=]ȳ F) fmAKhi3p6^'%,bm8Zpi)mA br\g>GcC<>>ElOJ?X2%ZS7Vϑi C ~X?qs=Vy| jv܍mUUUUUUUUUUUUUUUUP||x8UUUUUUUUUUUUUUUUAM8m܍k֜)mm&{egI()$m8"5 '!H~Gc9iOؔ#?"n+NڛF%|pOfp6) f 5 YNIGHuN$:jv܍mUUUUUUUUUUUUUUUUP||x8UUUUUUUUUUUUUUUUAM8m܍k[:rp¿LaA"Bi@}-LXƜL_{ cτ{.ģ`~Q vQRiQRfvp(cs[GՑv%=ى2*$֜LXa8iՑv O]\;Iaz ?a(`iu>#l&!3LF[hF D0֜@} 5ݤuL_{ c-)G([<޳3kI()ȏID\Ӊ()ƧmMFUUUUUUUUUUUUUUU#E||x8UUUUUUUUUUUUUUTӆNMSZ-L\# ׀I DKXN&{1g_EWMU񌷬LvQRiQR}C;F; 3XW]~Q uVQgfG ~f|wɯݜ g+¼l g|¾ue9,J%a3_81!;QleqU7%οpG|2s\g]73τMű] du_aeqU7%οpG~%2[>c nGgycWa(uW,^OLq]1lXW=L*o gҦ 313:޺U@7оġɅ"QL/~EW|#.Y/(GpO'ؔ#0pWrqz//~,_)~_"n+)OȠ30=xo =gi%E!xEB"'<9QR}CEȠg`¾71g=//z.^Qw{Eʿ^k_7#' g9ȓ,b8gξ;U,Q-l챊~Q7X2%͟;,sS>Sճ+U GnY0QNo.ω"n+B"|*~~|eeupU,Q_|eL|O(Gs<u|{Iyw6EWZq3a;>=CW2S<~_8 d~c9\Uw Du:)_LU5sJ8C [N$:";ppanD`, Ǿsy g\;geVMj?[>c9\Uw G/)G<3ch*k:ճVLB"|a()G(vL@7U|c-30=x/)՟(yngӉg>pyE/kr*nglOJ"X*q3|֏88`p4 !P`.Qǥ7EߔI()$m8"xIP`.QǥތJ. 1?{I{N&{0@7пJ}(¦"Qy*u`~Q-"n+Y\ybخ[ ,b%^_#_gȷ||o2$N}1X|{GGaD⫴n{pE\[;G7eU[;I()!RiĔqYݜ  5g1v2a}3-qY=CƐEQR~S$:"=%sN$:g79s Y/ac;751XJ!;[; 3⫾xWXUJ!~˘g|egg|{WfpU7;,s>||#Y1vcSml*EJ5UUUUUUUUUUUUUUUAM8m܍k֧cvӔRڢӔR\-^R0{xy5YE|t/1g=L*_3.'(Rx)N ~ξ;߫gog^ξ:h F%|qDz"fUUUUUUUUUUUUUPSNm97#mNjvQzY.ۓ&{U1%"zN&{=qXp<9D\Ӊ()XJ⫾oJ=~|3ɗ| x˕VK=a~f_{ cτ~~|yogi%E! {Q4J8C3W|߰{:g?Vʲcjv<ճ"=LJ(q%E!⫾oJ=~|3geY1EbrW wįճռ}[>Ga|8n |LrS ճȷ*`s=0_#Sy|+Yz,㡜yoa w[;*Ɍ-E]Wǽvegճ1vxG")4J8C}qZ)(1QR}~|Gy|5No/Fǖ|Lx3ly|-ʘ.\|_հҦ 313;& ?VξDOV-le+WL=~/ZSV6x['W>؜¦'yog4ϋ?V"檳w'ՔYBU7>ξ;& ?VξDOV-ᬚSg4{,/[:=XX`ZW?VΫ^&!>b0Zu"znϛܟ,b*%~CVX`Z a(bx0MAUs )YE|wY[ G3o+_GrerP8? g=N ~+_ճռw 2kT3u"zU񌷔82xr"Qg&;/"XUJ!~7%2J-8"58g)fiAȇP$1m.AH],7'`~eg%z%WYi٭8i-yCC=!".DU,QefOD<`ip@bX=nL#ZqJ|k>Qxax+ eDOɭ8i-yŴ Ap0]9C]~l֜@}iAȇPpb\ Dl`"P u}ӈm?9ט -8@ @P ]My×{,<ɾpyE}ӈm?9טhh PvӏZSs_azQMiNZAѶ"0X!I0$Dov-x4OD<`9$a|'r!0(41m..]Oq}"0Zip@qE%ڏ(yҎu}iAȇ0 $ICܠ*ӏ8mZHF -"XI7i٭8ii @2% k*$if>H>X>';c./usr/share/man/info/en_US/xlf/html/lr181.htmp/$ USE XL Fortran for AIX V8.1.1

Language Reference

USE

Purpose

The USE statement is a module reference that provides local access to the public entities of a module.

Syntax



>>-USE--module_name--+---------------------------+-------------><
                     +-,--rename_list------------+
                     '-,--ONLY--:--+-----------+-'
                                   '-only_list-'
 
 

rename
is the assignment of a local name to an accessible data entity: local_name => use_name

only
is a rename, a generic specification, or the name of a variable, procedure, derived type, named constant, or namelist group

Rules

The USE statement can only appear prior to all other statements in specification_part. Multiple USE statements may appear within a scoping unit.

+-------------------------------IBM Extension--------------------------------+

At the time the file containing the USE statement is being compiled, the specified module must precede the USE statement in the file or the module must have been already compiled in another file. Each referenced entity must be the name of a public entity in the module.

+----------------------------End of IBM Extension----------------------------+

Entities in the scoping unit become use-associated with the module entities, and the local entities have the attributes of the corresponding module entities.

In addition to the PRIVATE attribute, the ONLY clause of the USE statement provides further constraint on which module entities can be accessed. If the ONLY clause is specified, only entities named in the only_list are accessible. If no list follows the keyword, no module entities are accessible. If the ONLY clause is absent, all public entities are accessible.

If a scoping unit contains multiple USE statements, all specifying the same module, and one of the statements does not include the ONLY clause, all public entities are accessible. If each USE statement includes the ONLY clause, only those entities named in one or more of the only_lists are accessible.

You can rename an accessible entity for local use. A module entity can be accessed by more than one local name. If no renaming is specified, the name of the use-associated entity becomes the local name. The local name of a use-associated entity cannot be redeclared. However, if the USE statement appears in the scoping unit of a module, the local name can appear in a PUBLIC or PRIVATE statement.

If multiple generic interfaces that are accessible to a scoping unit have the same local name, operator, or assignment, they are treated as a single generic interface. In such a case, one of the generic interfaces can contain an interface body to an accessible procedure with the same name. Otherwise, any two different use-associated entities can only have the same name if the name is not used to refer to an entity in the scoping unit. If a use-associated entity and host entity share the same name, the host entity becomes inaccessible through host association by that name.

A module must not reference itself, either directly or indirectly. For example, module X cannot reference module Y if module Y references module X.

Consider the situation where a module (for example, module B) has access through use association to the public entities of another module (for example, module A). The accessibility of module B's local entities (which includes those entities that are use-associated with entities from module A) to other program units is determined by the PRIVATE and PUBLIC attributes, or, if absent, through the default accessibility of module B. Of course, other program units can access the public entities of module A directly.

Examples

   MODULE A
     REAL :: X=5.0
   END MODULE A
   MODULE B
     USE A
     PRIVATE :: X               !  X cannot be accessed through module B
     REAL :: C=80, D=50
   END MODULE B
   PROGRAM TEST
     INTEGER :: TX=7
     CALL SUB
     CONTAINS
 
     SUBROUTINE SUB
     USE B, ONLY : C
     USE B, T1 => C
     USE B, TX => C             !  C is given another local name
     USE A
     PRINT *, TX                !  Value written is 80 because use-associated
                                !  entity overrides host entity
     END SUBROUTINE
   END

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] a kꈗ$if>H>X>';e./usr/share/man/info/en_US/xlf/html/lr182.htmp/$ VALUE XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

|VALUE

| |

|Purpose

|The VALUE attribute specifies an argument association between a |dummy and an actual argument. This association allows you to pass the |dummy argument with the value of the actual argument. This pass by |value implementation from the Fortran 2000 Draft Standard provides a standard |conforming option to the %VAL built-in |function.

|An actual argument and the associated dummy argument can change |independently. Changes to the value or definition status of the dummy |argument do not affect the actual argument. A dummy argument with the |VALUE attribute becomes associated with a temporary variable with an |initial value identical to the value of the actual argument.

|Syntax


|

>>-VALUE--+----+--dummy_argument_name_list---------------------><
          '-::-'
 
 

|Rules

|You must specify the VALUE attribute for dummy arguments |only.

|You must not use the %VAL or %REF built-in functions to reference a |dummy argument with the VALUE attribute, or the associated actual |argument.

|A referenced procedure that has a dummy argument with the VALUE |attribute must have an explicit interface.

|A dummy argument with the VALUE attribute can be of character type |if you omit the length parameter or specify it using an intitalization |expression with a value of 1.

|You must not specify the VALUE attribute with the following: |

  • |Arrays
  • |Derived types with ALLOCATABLE components
  • |Dummy procedures
Attributes Compatible with the VALUE Attribute





If a dummy argument has both the VALUE and TARGET attributes, any pointers associated with |that dummy argument become undefined after the execution of the |procedure.

|Examples

|Program validexm1
|  integer :: x = 10, y = 20
|  print *, 'before calling: ', x, y
|  call intersub(x, y)
|  print *, 'after calling: ', x, y
| 
|  contains
|  subroutine intersub(x,y)
|    integer, value ::  x
|    integer y
|    x = x + y
|    y = x*y
|    print *, 'in subroutine after changing: ', x, y
|  end subroutine
|end program validexm1
| 

|Expected output:

|before calling: 10 20
|in subroutine after changing: 30 600
|after calling: 10 600
| 

|Related Information

|For more information on the %VAL built-in function see, |page ***.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] th k$ if>H>X>';g ./usr/share/man/info/en_US/xlf/html/lr183.htmp/$ VIRTUAL XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

VIRTUAL

Purpose

The VIRTUAL statement specifies the name and dimensions of an array. It is an alternative form of the DIMENSION statement, although there is no VIRTUAL attribute.

Syntax



>>-VIRTUAL--array_declarator_list------------------------------><
 
 

Rules

You can specify arrays with a maximum of 20 dimensions.

Only one array specification for an array name can appear in a scoping unit.

Examples

VIRTUAL A(10), ARRAY(5,5,5), LIST(10,100)
VIRTUAL ARRAY2(1:5,1:5,1:5), LIST2(I,M)       ! adjustable array
VIRTUAL B(0:24), C(-4:2), DATA(0:9,-5:4,10)
VIRTUAL ARRAY (M*N*J,*)                       ! assumed-size array

Related Information

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] sH>X>';h./usr/share/man/info/en_US/xlf/html/lr184.htmp/$ VOLATILE XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

VOLATILE

Purpose

The VOLATILE attribute is used to designate a data object as being mapped to memory that can be accessed by independent input/output processes and independent, asynchronously interrupting processes. Code that manipulates volatile data objects is not optimized.

Syntax



                     .-,---------------------------.
                     V                             |
>>-VOLATILE--+----+----+-variable_name-----------+-+-----------><
             '-::-'    +-/--common_block_name--/-+
                       '-derived_type_name-------'
 
 

Rules

If an array name is declared volatile, each element of the array is considered volatile. If a common block is declared volatile, each variable in the common block is considered volatile. An element of a common block can be declared volatile without affecting the status of the other elements in the common block.

If a common block is declared in multiple scopes, and if it (or one or more of its elements) is declared volatile in one of those scopes, you must specify the VOLATILE attribute in each scope where you require the common block (or one or more of its elements) to be considered volatile.

If a derived type name is declared volatile, all variables declared with that type are considered volatile. If an object of derived type is declared volatile, all of its components are considered volatile. If a component of a derived type is itself derived, the component does not inherit the volatile attribute from its type. A derived type name that is declared volatile must have had the VOLATILE attribute prior to any use of the type name in a type declaration statement.

If a pointer is declared volatile, the storage of the pointer itself is considered volatile. The VOLATILE attribute has no effect on any associated pointer targets.

If you declare an object to be volatile and then use it in an EQUIVALENCE statement, all of the objects that are associated with the volatile object through equivalence association are considered volatile.

Any data object that is shared across threads and is stored and read by multiple threads must be declared as VOLATILE. If, however, your program only uses the automatic or directive-based parallelization facilities of the compiler, variables that have the SHARED attribute need not be declared VOLATILE.

If the actual argument associated with a dummy argument is a variable that is declared volatile, you must declare the dummy argument volatile if you require the dummy argument to be considered volatile. If a dummy argument is declared volatile, and you require the associated actual argument to be considered volatile, you must declare the actual argument as volatile.

Declaring a statement function as volatile has no effect on the statement function.

Within a function subprogram, the function result variable can be declared volatile. Any entry result variables will be considered volatile. An ENTRY name must not be specified with the VOLATILE attribute.
Attributes Compatible with the VOLATILE Attribute





Examples

      FUNCTION TEST ()
        REAL ONE, TWO, THREE
        COMMON /BLOCK1/A, B, C
        ...
        VOLATILE /BLOCK1/, ONE, TEST
! Common block elements A, B and C are considered volatile
! since common block BLOCK1 is declared volatile.
        ...
        EQUIVALENCE (ONE, TWO), (TWO, THREE)
! Variables TWO and THREE are volatile as they are equivalenced
! with variable ONE which is declared volatile.
      END FUNCTION

Related Information

Chapter 11, General Directives

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] of kg$)if>H>X>';j)./usr/share/man/info/en_US/xlf/html/lr185.htmp/$ WAIT XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

WAIT

Purpose

The WAIT statement may be used to wait for an asynchronous data transfer to complete or it may be used to detect the completion status of an asynchronous data transfer statement.

Syntax



>>-WAIT--(--wait_list--)---------------------------------------><
 
 

wait_list
is a list that must contain one ID= specifier and at most one of each of the other valid specifiers. The valid specifiers are:

ID= integer_expr
indicates the data transfer with which this WAIT statement is identified. The integer_expr is a scalar of type INTEGER(4) or default integer. To initiate an asynchronous data transfer, the ID= specifier is used on a READ or WRITE statement.

IOSTAT= ios
is an input/output status specifier that specifies the status of the input/output operation. ios is a scalar variable of type INTEGER(4) or default integer. When the input/output statement containing this specifier finishes execution, ios is defined with:
  • A zero value if no error condition occurs;
  • A positive value if an error occurs;
  • A negative value if an end-of-file condition is encountered and no error occurs.

The ios defined for the IOSTAT= specifier of the asynchronous data transfer statement need not be identical to the ios defined for the IOSTAT= specifier of the matching WAIT statement.

ERR= stmt_label
is an error specifier that specifies the statement label of an executable statement in the same scoping unit to which control is to transfer in case of an error. Coding the ERR= specifier suppresses error messages.

The stmt_label defined for the ERR= specifier of the asynchronous data transfer statement need not be identical to the stmt_label defined for the ERR= specifier of the matching WAIT statement.

END= stmt_label
is an end-of-file specifier that specifies a statement label at which the program is to continue if an endfile record is encountered and no error occurs. If an external file is positioned after the endfile record, the IOSTAT= specifier, if present, is assigned a negative value, and the NUM= specifier, if present, is assigned an integer value. Coding the END= specifier suppresses the error message for end-of-file. This specifier can be specified for a unit connected for either sequential or direct access.

The stmt_label defined for the END= specifier of the asynchronous data transfer statement need not be identical to the stmt_label defined for the END= specifier of the matching WAIT statement.

DONE= logical_variable
specifies whether or not the asynchronous I/O statement is complete. If the DONE= specifier is present, the logical_variable is set to true if the asynchronous I/O is complete and is set to false if it is not complete. If the returned value is false, then one or more WAIT statements must be executed until either the DONE= specifier is not present, or its returned value is true. A WAIT statement without the DONE= specifier, or a WAIT statement that sets the logical_variable value to true, is the matching WAIT statement to the data transfer statement identified by the same ID= value.

Rules

The matching WAIT statement must be in the same scoping unit as the corresponding asynchronous data transfer statement. Within the instance of that scoping unit, the program must not execute a RETURN, END, or STOP statement before the matching WAIT statement is executed.

Related Information

Executing Data Transfer Statements Asynchronously
Implementation Details of XL Fortran Input/Output in the User's Guide

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] =  kꨶ$if>H>X>';l./usr/share/man/info/en_US/xlf/html/lr186.htmp/$ WHERE XL Fortran for AIX V8.1.1

Language Reference

WHERE

Purpose

The WHERE statement masks the evaluation of expressions and assignments of values in array assignment statements. It does this according to the value of a logical array expression. The WHERE statement can be the initial statement of the WHERE construct.

Syntax



                               (1)
>>-+-------------------------+-------WHERE--(--mask_expr--)--+----------------------------+-><
   '-where_construct_name--:-'                               '-where_assignment_statement-'
 
 


Notes:


  1. Fortran 95 (where_construct_name).


mask_expr
is a logical array expression

+---------------------------------Fortran 95---------------------------------+

where_construct_name
is a name that identifies the WHERE construct

+-----------------------------End of Fortran 95------------------------------+

Rules

If a where_assignment_statement is present, the WHERE statement is not the first statement of a WHERE construct. If a where_assignment_statement is absent, the WHERE statement is the first statement of the WHERE construct, and is referred to as a WHERE construct statement. An END WHERE statement must follow. See WHERE Construct for more information.

If the WHERE statement is not the first statement of a WHERE construct, you can use it as the terminal statement of a DO or DO WHILE construct.

+---------------------------------Fortran 95---------------------------------+

You can nest WHERE statements within a WHERE construct. A where_assignment_statement that is a defined assignment must be an elemental defined assignment.

+-----------------------------End of Fortran 95------------------------------+

In each where_assignment_statement, the mask_expr and the variable being defined must be arrays of the same shape. Each mask_expr in a WHERE construct must have the same shape.

+---------------------------------Fortran 95---------------------------------+

A WHERE statement that is part of a where_body_construct must not be a branch target statement.

+-----------------------------End of Fortran 95------------------------------+

The execution of a function reference in the mask_expr of a WHERE statement can affect entities in the where_assignment_statement.

See Interpreting Masked Array Assignments for information on interpreting mask expressions.

+---------------------------------Fortran 95---------------------------------+

If a where_construct_name appears on a WHERE construct statement, it must also appear on the corresponding END WHERE statement. A construct name is optional on any masked ELSEWHERE and ELSEWHERE statements in the WHERE construct.

A where_construct_name can only appear on a WHERE construct statement.

+-----------------------------End of Fortran 95------------------------------+

Examples

REAL, DIMENSION(10) :: A,B,C
 
!   In the following WHERE statement, the LOG of an element of A
!   is assigned to the corresponding element of B only if that
!   element of A is a positive value.
 
WHERE (A>0.0) B = LOG(A)
       
  ·
  ·
  ·
END

+---------------------------------Fortran 95---------------------------------+

The following example shows an elemental defined assignment in a WHERE statement:

INTERFACE ASSIGNMENT(=)
  ELEMENTAL SUBROUTINE MY_ASSIGNMENT(X, Y)
    LOGICAL, INTENT(OUT) :: X
    REAL, INTENT(IN) :: Y
  END SUBROUTINE MY_ASSIGNMENT
END INTERFACE
 
INTEGER A(10)
REAL C(10)
LOGICAL L_ARR(10)
 
C = (/ -10., 15.2, 25.5, -37.8, 274.8, 1.1, -37.8, -36.2, 140.1, 127.4 /)
A = (/ 1, 2, 7, 8, 3, 4, 9, 10, 5, 6 /)
L_ARR = .FALSE.
 
WHERE (A < 5) L_ARR = C
 
! DATA IN ARRAY L_ARR AT THIS POINT:
!
! L_ARR = F, T, F, F, T, T, F, F, F, F
 
END
 
ELEMENTAL SUBROUTINE MY_ASSIGNMENT(X, Y)
  LOGICAL, INTENT(OUT) :: X
  REAL, INTENT(IN) :: Y
 
  IF (Y < 0.0) THEN
    X = .FALSE.
  ELSE
    X = .TRUE.
  ENDIF
END SUBROUTINE MY_ASSIGNMENT

+-----------------------------End of Fortran 95------------------------------+

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 7.htm lX$Kif>H>X>';n2./usr/share/man/info/en_US/xlf/html/lr187.htmp/$   -et<>Rainors /=ANOSTcdfhlmpu".DEGIPVbg,BCHLM_vxy#+013459;FUw|&()268:WXY!'7jQ[\]kqK{}*zhxb i5@"<35eDg D<; ,iœSCQsCF15 pihD8khxN20 0 0 0 0 0 0 0 0 0 0v.`a`X]a-X-AuJ)G)$' ^`gA`@4].tbY$rP,y#`X\bA~@ P'4]0`N&a2tbtr p8ݸKjzD_LPGâJ#Rle4ON<,? w(qI|r"}&n)k]6XZ)Cc9yӧ3+[BS@%ф: +pia2t`_qMCƘ(#@,@W O)߉N 0 0 0 0 0 0 0 0 0 0 0vo8 FlNif fdƖ qM `я=kƄ  8up8a"4D$SDkK5,4qM7hx`84SY)``,9AApfNE94W;PE9[Ǣ58svƾ8l>O6uwaKEj99lZ8qM 慽5BÆ0kF9oqM s xF݀m0ҜX]iqu v]ݸ[A mΰ΀pp4@88Z5֗X+id54F94M A4qL<` SY)``,E9o8 0 pp4\SM4CX,),yƇ0P`0  sK54qL<` qNif4̓v^4 ` =)j-,t.K;5,ЖdS%rZАt *RPb'Uζ)S%c_:u& }W="M]B-W+)sCޒܧ#Kga)aW))ӆÄsj burJrY0Z)'EF E>7qxJ:[Ҙ2ZV5$xJ:IS%cQ|,'\NzSO*RyTX"5/ cW<5<<-Z5ߪxG;͚'#,LYM,8{XD94\cc9Anܥ{PE9Lih" g»H):/ idM{J%U\JrOqv5XAhZY^ '\Fy,̣bQR9Nڂ/<=Z;xbPE9E9L8sE9(JSJz%bQR8_<]-Sj%♉+ iubqM,`416B^) 1Lc9rtnS갑Mf$$OpMՈI}"cKApzEH~H;OR+gΐ'GJmXS1%a"xm.BNYTK^H)X}Ii_$ٳf= mXS1%a"xm.BNj8E9Iéޔ%)%;Sj%♉+ iubqM,`416B^)xu" 諞6"9؝c\SOR4ڱ xbJD7]XLJtOƼ/gw{%PE9cKApx˧ BUS(Sj%♉+ iubuv䶿UEA?̣)X}Ii_$ f\)bLĕn 9"cKApzEH sH9sB<5;HFuidM{ianicsF tk/0Η6uwaՌJ*G)XoTWkpɆt3le!5Țx(- qR0$yM)""4p׀8s -yA|2iD"砉E9UJ*G) S+\RtkyQ| W%\n/ޤe+&v3Wi^έ,wzxeuP+Јshpe'`9⧔RJrN;$Jia7:b#F 3*xK):y4Xp4sA h[wwwwwwwwwwwwwwv<,?ܕc9]݂X[YsBV!/IXH&Kic9шbLĕn 9n0&і<)[Y^V!/IXH&Ko8 0 `@4\SK sK0cV!/IXH&K$7+Xos BUS)_䳧9gD䒴VW mXS1%a"xm.BNi^pP@F -,w|=RЧDyp8kP` E9tem)bLĕn :2'ǩ?_JlrWsteO( # FƖD׻ƽ̣gJ%zSkxO}W:P5<%ɧv8s4ywTSՖV_RZT[H95 p"Dž[g+CK sK h[SK1 E q;HF[0`IlidM{ianicsF tk䲞bQR9O}XĢrU&W%Sܯ8l BU^;%̗s,kOԊ,5 aHȚxȑ% 皟Dyp8kP` E9_Dš/<r#G x -^yÝ.,t+ΟDΞ)Vn 諅5^yÜpD<Ɩ/O]-Uμ5%c"e5^yÜ=/yp@=Z; J{gT&Te\ΰ7hXi4b.h[DӃ&%aA b,qM,-,b.hmXS1%a"xm.BN|%$zEH> $jO) IFDқV!/IXH&KLҽI걯q|"kܒ 1FD׻ƾ%aH%OLS+XE6B^)% FȚ 諞;rMo0YUš/<{KApqR0$xS>W`Ih\OID׺!LPȚ&ФuQ b;K"k$HBD0IY^௪ 'OypZ87hx"ᇴywZ5ęL+㸽|dVM{|KDu5zEH~rK:$!Z8^yÜ0/@ "ᇴywbK+XȘW>'FQ^t#rSB~zSՌJ*G(,p>"y-^yÝ$PE9AQ18sXĢrzI? |'B_JlrMFD=D䒴zp}%U2_i ULzO>UvՌJ*G"y-^yÝ%#~;/ IXȟj8 4z--^yÝ_%5`bbiSå9+):x䒛2ܦ'$"È{Z83+دllg/j8Z8+^yÜ518sk= $'aEAmVlW^yÜ<5Z;>K=sEj8y"j&4ywAp {ih" gՌJ*G 4qL<` œqM7hx`H4\SB!0"=ȫL ͊9LJN5$̷))sCsIN[3? oq|LG)KgRtY$̷)I?j8k 񡇑58sW663}s~̦8sѨ4yp=Oƾgڂ/<8/< v)2tWfEÇ܊ؤ -saKxI\JrV3RtY$̷)\Ap {40#^yw2roٔyp5/<ǩ\ApDkE9ތ+ƾfSPE9hZ8+9+):W™ +LG)KgRt?ypaF{KAp}W)iO½)G)X_)IҢia!i4ƹn]ݍ~jqahk4ʴ\SKqM 憽 p^4 `:3`@@ r3cNB7h@KP80F3f K5'o xЁ( Eq% K5'o xЁ$ H>X>';s ./usr/share/man/info/en_US/xlf/html/lr188.htmp/$ Chapter 11. General Directives XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+


Chapter 11. General Directives

This chapter provides an alphabetical reference to non SMP directives that apply to all platforms. For a complete listing and description of SMP and thread-safing directives, see Chapter 13, SMP Directives. For a detailed description of directives exclusive to the PowerPC platform, see Hardware-Specific Directives. This chapter contains the following sections:


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] # lG${+if>H>X>';tL./usr/share/man/info/en_US/xlf/html/lr189.htmp/$   et<>RTainors "-/=AEGNOScdhlmu.DFHIMPVfgpv,015BCL_bwy!#49:;UWx$%&()*23678XYqQ\kz|'J{}[]j@p$Z#x  4#."؏೎E3[x{5DtCxuZk)T_Z-Vo[5ض̮]DtCyno s_-V<<<<<<<<<< 4 BƊI%``, UַZ+_"1  8G/kp$xB9ErםipӉɃZpg@o A`4,+^[&p#TMGإm-hgi-M2ϴɱ|_iɛLGi-MzU+YMMm&M7MynozfkKgZzۯ;nݳ/ۋ? 4ޒt.9ëM%=c ëbF(qQ`O0:ܦ2gQ8O3p#121+_4ަp`0г[8ā0x'E帹9Dq<.PPPh,[8ā0x'l+<3(QN'2 @΁Kp(((h,[8ā0x'\qE8bО 8X Xcr&S3p#-{TpjV':x^4bT'/Vր!Ֆ8KA,D_M}`qYE,A*MJ٩2/VhL A^[-q*zf<[Tn? qīM{ {l[&ѢnI|-[/<<<<<<<<<<,g_ Iw-%[}c;LXAj*k"rܬ`iμlL++{E [e~^BA;LXAj*k"ܬ`i<Py`i<['Vثl]-'~(Ai'Zʚ㈡)T2yٕEL޾tYc;LXAj*k"~cIGq &nV0Q484|\r^,gZ9olZ0 V0Q484y`i?̗}jRlmt'V0Q4h#v8cIjRlJlA\~UW?r8cIJz3XDzQE+(Oض̮Q~84yxܥZ_z2ul[fW.+ŌUg-T& &V0Q4KվZ)6syП3XDylV0Q4֫E&XւM' `i?Xξl%[}c;M'Y$!g`i<$+(OHBkV0Q4ܬ`i<" `PrcII,cI= &,Y+(OnV0Q4d00BkV0Q4BZ[:ӭV;g-V/8anV0Q4Ea 㕌M'l[fWul[fW/Em|ض̮_+gZ5Z}rX\NX^vŶertunjdեT"'ۼOܬ`i`I88tQ%[ue6n]iS!9П;es~d/(A[>,gq ɓ1]B53ٶrigLo:2J[3ޭlfmL#ջ-lЮ80BL<%q ;+(OcI>{׮_һؑ\^#tUڡabXgiJe@ ~#%Ogq ɓ1]BXE?m2d VS\q E ֕=b$'"ldq L_XE?m2d dqPhFtgq ɓ-Z_eMqPKrHKV0Q4V2h8yQ* l[fW81*{ӶPYi_KfYe| ja_+A[J1i3uYM:-+.+EG8ŢAŢBzhy iAC;b2֕)]5uqʕ2yٕZ}c 邋q=jSy*ٮlҧεixUJƄq.l:yuM4'ҶJտ^-ƲħN]jgF~lA[7})L3z-+i'qPi=jgF峭 ftˊj%r?X(Aض̮mLYBZѹlN1J55c;;b2!2ygE?;Zզ΍q(yn!^ TyLZ$LZ)i4PX$ph$E߄",'p<@p &<Izh88-/-3FsVL7A/< &--xtG( 'C。q"A-R_5;M' cIT_XDz9XDm\-P&O, i}5BA+nmt%[5-h܇Fc61Р:eVl+fq- &`i<'{MxyӭV[j,Qn fmvrR_X(Ai'Zʚ㈡ӒGv[9*ٯ; nl-uMiLj8\fyuM3_֌W~IftEe| vM=I}c;LXAj*k"~({biX{93ٝ3LZ.Ԃ3i9Bzǩ. Ԃ3ifRg;9Bzǩ.~S,q~Jrإo%dkUو͙蘢A}c;LXAj*k"ؕ9Bzǩ. g/pg%;_{3R^]jSz-+iϓ2I{o.Z u5?Xγܷ:e;(Ai'Zʚ㈡-3z-+i'qPIyuMδΙK˭Vikض̮v):e~h`V[j %֭6tn[:ӳ:am7}Hyu徱-OXq&'RKgm6ZqUyЕlԶuOgrly ƴ .BxɄq~[V8({=t /  xfujݖ2kr9ᡏ-3 mPKE?m2d VS\q ;EЧE2ו8 &-|3yy-b[ض̮q)ZѼ e8[V:7]yٕ>Ez-+i'qPM|[~G Δ eirօ:eqĸ[q':Rt'֭6tn[:ӳ:gO&e*.-Pםm\L<"n[LEqxEo- #G q= |XεZ)6rLHNصI`/Z-Vo%[5םm\A֋UVul[fW/֕)]9֭6to[=מδ>-Ʋ~J:,k{ɬΙ"םm\[=Ze6_Z-O1=r[<dOz-+:ep=rlyԠHԧ.BD `f`p)hǐ[!"xqDa3``P5wH>X>';wM./usr/share/man/info/en_US/xlf/html/lr19.htmp/$   ert<>acinos "=AEHNRTdfhlmpu-./03CDFOPSbgy#,129GILM_vwx47:BUWk!()568;VXYKQ\j|?z{}*[]qp@htT`C(CxwF"xs܊yP5@ ^^F p(WYiOpVq+_8888888888; ǂ@(i`(RhQ- +.LFm^TBŁ 84)8+)ҷ8ʓ(05$ H,'g 4w@$ (Sp(WG}/,PLj &BBcAB1Eڢts᷒^iEh(?BcAB, ٹ;䣶NE_ um1(eIgVUy.ڼ<p‡"{)j4 yACGq 4I2 $ (q(G']6SšckeIvhlXG U!yAC*(LRhOnz)BYy$A%7lOF/x ҭ H($ט? aYƶҰTj7lOFF5x3 -)xMxLjʓol 3صZ)+xPք?4b XAQ'ذO10Rz(JY}Q cP A8b(A =Í*vkF 3`Ha.'pSWp(WBjn t4kqqqqqqqqqqw)8jh@Z{Ká2k˜m yE7j$"45%$oE4k4(Z8I(Jb*4O' =Sq7nB|,oÉ\.[˯r$Q3@7!>7-y?&Zڽ详u_Z"I5=.u5x1L-!T/}R}%;7l\5^7!>7L~ȒMDKLp-bq7q#8n oE4k4(Z8I(Jk7!>7˾Ro2ᇽMUYl?'jѼx )ھSI&g 4Oҝí~o#}jc=jc0|]7=[-)LLmxM^UL_ Ya=q縂p)Slဧa f'iյ;h(?~o#}jc!W]Ѽ)ڼ~F U Z3rczwF7֦3?ʦpcq"q`P-}d E45ryiaS;4aŘor#GqoE4k4(Z8I(J 5f@ju upሎy&e}m_իa6K|ZN ńpԔ@1|mTUWWיjj3 ^W0Df@yi/F41br+&%>^~/Q|[&I ǃA40H14wff@6YR~`pR~W2̅k"fq7?N5M3҆zko8# _mm\0eMjc0Rbq7q#8n M' VZח8ڿik2\dFo.+kJv)^V)hGVڹ)_Wp`afٹEo N v[˨G'^%-^SSe d WlYBB b}feI ׉/&/(%)xF7Zeuҝ35{һFo,Y&-d#}mV|7!>4 78:MS*\{)|a?07^),Řo)wE4kA2i P׏^ m~O([ [_ #jW =jgf~SZ6TMDsH5z)DXBAǒIDP@pkl]\0b#cƆ 5{q#8`#{MU.f:Xl=0j '5~~^CeI LOV|m򯇝'bwXPAWfFJ}Xl= kn,C!ռ+K}[ZSʓGk)UxMSFo/{x#u4U.ZbWћ=da>Vu}&~%-^ShlXG=e|F7Zڽl&BeYB{s1Rh80 PׇVغaS;4aŘor#GqoE4k4(Z8I(J 5X YGFo.{11F 𱼮Jeՠ距yOrSFo.i7!1|0-1a}NSʓSܔ([˯k(#%n ^,C20ml?5b[+ /)ܰYeIUٛObpfSk(跹WQf8]M' _YDa(M2Cxpg)Q[˫3{ 1Qf8܊op)?N4J4 Iap-fJ5'ᇿ~)DX$Zɯ'#*7^NS@ƱCEOy8 =M' H>X>';z ./usr/share/man/info/en_US/xlf/html/lr190.htmp/$ Directives and Optimization XL Fortran for AIX V8.1.1

Language Reference


Directives and Optimization

The following are comment form directives useful for optimizing source code. See the User's Guide for information on optimizing XL Fortran programs and the compiler options that affect performance.

Assertive Directives

Assertive directives gather information about source code that is otherwise unavailable to the compiler. Providing this information can increase performance.
ASSERT CNCALL
INDEPENDENT PERMUTATION

Directives for Loop Unrolling

The following directives provide different methods of loop unrolling to optimize the effectives of the DO CONSTRUCT in source code:
STREAM_UNROLL UNROLL
UNROLL_AND_FUSE


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] j l$I if>H>X>';{./usr/share/man/info/en_US/xlf/html/lr191.htmp/$    >eMA[C CmCKWTwRb`>0>WkߪRÇ8pÇ8pÇ8pÇ8pÇ8pùamg <,0 J\,^lz+䨠)n`g +?f9p.5[[J X:cpI b o 4` 0hZȚ8m*+ʓ0amg9udMkmFSgmWFYE{r5[%dža[@SWk2;mm߶d^Za[@m:IW+(,wmzKP 0Ίgs#QmUwT8m*a[D 8 HZO=08 AP_kՕuKWFsMgVU/!]ΤkYj]cfB:<}-M\qJbKzy ӈR @)3@SCBI}VU/!] ΀l:(ėe]Rќ{H=OCBI}VU/!]TΥ 1%^Tu)5eyRq\g0 ) ~3"b$8 6@Rtt_A5k\ -n:V-@1 G IA8$sA  [D>"b$8"+-::!W g `-@1%]G IAn3@79P$ Ph0ڜ{cG_A5KX# H3)/J,љ=W/إyR`KQvoI7Ki+u `QzT /Rw2*|R\ /Rw0[dMk|R\ ,)m58hz H3 hf4'~G .΄`8oXϒyH IRwƚr0΄v*8pÇ8pÇ8pÇ8pÇ8pÇ8pa[N8Ai#z4-xB3&I~֚=V4{B xGzÂ$5k @,#KWTwRbNƚ wqx8 Nwqx8 Nwqx8 @iam#<;M#  Rttp &4i-p-994|jpzNG:y bo)JF(Q/7.oQh*_k+^J[ЗjpzNGIsJ1a J6{{JbK|]He2~oԢ4G e]RIW m-RDZ3Ʃ"E~m}ڜasҽ90 Zi9P_kI-q9L{MNIm# ~AA`~41[H 0A0 l6וeaaaaaaaa {%m4lƛMy -q?$s6hhiy+vp|xkSr8#3 iG?=+ڜ$zSi9[Sr8><5i9h4#3W8='#HSr9]FnW\zi 5yZ3Ԍ$H_u%78='#Sr9ץ3Ԍ6RЗبISg~J[}S{Sr8zM58='#zQC iiƏƧp|xkSr8#3 iG? i i]96$sٍRD[|()%}o*Nܕ+Wf[Sr8zM58='#zQG?&D~rS|{!]WFyNOj\++cyRAWmiRcKi#>9#"MNIm4~4<KmoN(F6jԖ>V֔y9 jpzNGIsJ04yO!ƚy -q9{+jpzNG iJ& ߯) /5eYLe]RrT]z JdڜÓMs*ꗐS|{Sr8zM58='#zQ JyOzr7~S%)ڜi9jpzNGKa Sr9ץඖh> 58='#YWTwņkڜi9Ҍy)7ʖJAiLՕuKWFx_:_ޞ3+綾ڜi9ҌXim;< (F4Ӱp#i[HSr8><5i9VWm?FOuBI}&z,fWXTMNI^cIuʱ%"}Yo:]YtFof=94qi.+HrڒJFjh=)ZꗞKii 8!20 i`ϵ8='#HSr9of5I3mj\RW\WT^5mP_koN(F6jԖؽҺҟڜi9ҌzWe{5yLVUBZWZS[KjpzNGIsJ07ץ1Hֲz]|+Ev7'bťu?MNI^cwڒdtQ|%٩ET]z JdvcyRv"C ijz1Ih߫=ٚJSўtoJoRJz &rUo֍ȥT}-- ?R*Lgfj)NW&3ҾyR~gz _wڒ^ͷЗb;KmMRKiHæWэo*Ohߩm[|mj)(TvmKDZIN_zqMR4tW5tNR[]_]%٩[{]mtckʓZ7EmZJ7'xݛ{ӊj)]%)꾕-=Tim4i v%%ԤZ/%wmNI4uF=+3yR~f[Sr88|jpzNGvq8$Epg{Sr8Di9o6wn-+m|Iim4i1*9E2z 1^3+-O)ͣ7a7'oZJ7x[lg.lgW>Y~)jKkZW[T[mF-Ak'oz{+1*9E2z 1Y_|k[lg.lg!mљ=Wmy/uZyz1Iƻ-NpGkSg{>- ?f#?%G(fOUvf#<Kmj^mcyRvҙ>yMKcoB^>׮ħm[lg.lg>- ?f#?%G(fOUvf#<Kmj^mcyRvҙ>yMKꔪ%ՕuK1*9E2z 1TSmnJKf#?%G(fOUvf##]HPSMNIVU/!]V.STim#[{Sr8ri4ue]RA]dmNIlmmjpzNG:(ėڗF/*O}MNI^c|Yi(ڜÓMs*ꗐX1HQ58='#Q58='#58='#QZjpzNG9m"0Ο|J0[yɦՕuKWxrGE1/I! A!EL@ɦ\L(qw  <+ /phXH8zE"ypY|"I9a#‹84/ Ǘq8EsBi^8 F rE`?a}%Më*ꗐi]n@~3TAᮀb!HF܇LD0\_{(?A.H0|xk =.?c;pH;<+9Eq8c! . Ü #‹84q8"I9i58='#}W*To*Mp@~4 @{ricSr8`vΓ&N)j[֚̕>am4iӸ{",@y<{ F58='#ʺ+58='#4>`%,]iHƐ;(NIjԻMNIIʓigCm-fJM 0@~4i=D  < E"0Ƨp6i91yRm4>`%,]iHƐ; ,,Z0i[M ?@~4/PX0j(="zpk6vHƚ"C i 8 y`,cM; i 8 y`, ƚv8[Cxӻ@p@y pip8!zACV@@jNӈ4i-p-mڜ@MNIVU/!]axM%JjpzNGIsJ03%ƻRW\WT^5mP_koN(F6jԖؽҺҟ+E5VkHV=MNI^`oұjʺ+\@>"ZrgٍRD90 FjpzNG=*[Sr8`.Sr9ԡF$ыʓ[HSr8Y G-801'6hcz`kN @ 0 0 0 0 0 0 0 0 0 0 0 0 00p$_-z[M`i80[HSr8W49m:MJ)^S:_j.ʲ?Kʺ+ Z7d9 pi4ue]RQ_ojpzNGIsJ04-+u=Fsd9_{Sr8zM58='#NIp,#bW%5-ƚ|1ZįJhiHO4~4HخҤhhiy+x);^3^5=*Lo()\-ZWNOkb;aƚy -q9{+jpzNG iڜԈ8h4ue]RQ_I2_z\kX[H@SAs*ꗐzMr[}>),[VcT)j|ޮkʓ/%mԤOUmNIjDE4jpzNG:y (ͯOmMRJd3m^B7?%}֍⢛kHQ}򟏲bS'ٜ mR.6o*Of$JZ{Sr8Mά^B?urg+-r o^kXg1H_){ZTh+zOF-i[m~+Q_Ηc}џAM.l*N~oRيMYLkKi;S&)F%2}HϩI2( jpzNGR @)Sr9cyRv]֣$hR3}$HkXR=Q_e(ĦLg+-p =HΗcT"3bW|R[ǵ8='# qi9ʺ+3We8='# Dxpj 58='#׍Ki(R36u8='# qi9ʺ+ZW[Ƶ[{KRw.BV6KiK>,0^)Kp5"" 58='#3W8='#&`A58='#*ꗐޞ3bTg+FyFmf5I+q1^<y=s*ꗐJUƖ98='# qi9ʺ+,0[HífJjYh5J|Yi(-fj۔fԤx=*NKiH/%%s,X%m>,[uJ35m3kMRvgrv֕'a񦈐G(fG(58='#|JAiL|J0[{Sr8MՕuKW| URW2EbVݢG?iG?# A#@аH$)񚥴H`IAhX$0 Bh)SׯJ1aSTM-G? (0,`XSM95{D~0,)[H  xjDE4N     FA!C8`H0,    `HQ|c z\ 0, /ీ9DCq1  _0$@`0xWRL$4$@`0xPQ8zE0/pూhH(`;  78%€P  /_qqqi58='#}W*To*MpWwdR?I9LD10׏#zi9ʺ+=ZwzÂ1^<y<# L5'i[N8A`80#i[N8A`84-pw ހl8{A \ 5'A@L F  iCx[Hm#NIRi9ʺ(Q/[$"O} {ڌMהɍ{޴m7gOj3U7+^S'k;k=ԡF$׋IuΕun^B4Ƨq2A58='#8m<~6C aaaaaaaaaaaaa {%m4lƛMGDz٦p-9@ @6 58='#JbKzy R3DW|g5=PMfkSW-QDZ3Ʃ"E|}M{JbKzJќ]%٩ez'>  ά^B7?a}%ٴOmʺ+ZRS'~)]-9=&ν(Ǻѿ+FzgfT-nIyL<+F}jfo^VOޞ=wڌ[KjpzNG MNIVU/!]VWm؉=؀q̊Qʓ[Sr8`jpzNG8J85e] P_kIrgO:\1H^#iG?{JbK|W[yMEWmR_FO?i0pp 4-pKcvkHԤՕI~pii9VWmlgnJ.ھy |TcyLjpzNG44u(Q/ʺ+Һҟé[3.foUd(ėIecT"o]u^JK^Sc;z.ojpzNG TMNIR_F/*Lim#HQ*Pgڜ "z 58='#JbKzy (ͮ]ĕJ.I gF}h^"G3ԌUW~S^Sޥ ޞojpzNG44KijpzNGfG]u^JKR3Rw2Ja}VTkSg{xRԡF$׫*ꗐg]e2~[kڜ "z 58='#JbKKVU/!]QBڜ "z 58='#JbKzy ktq]z jyNI=sߩMF%MEWU,h|JUf^6]u^~)JN12הxJlo)SQvUJKwZ)ťuj3U4TOB^o]e2|ѥ%q4^rOi9ʺ+,1?)*%%g]TJ)뢻[ޞF)*d)/S{kJd {j.ʻI}R_oyį[|T/FXu^>Jޱb'X*.W_Зé[3e}%J^7қ;Ji 8 y`,cM; i|gڜ "z 58='#JbKzy [zJ3WDֹlF;{8u+z~o[y)/q)[jmw[{Sr8`R@UsBI}'oI-r o8x;Vҝz)JKKU{D~8֚$sےZ[N8A`@XF4Ӱ86[HJU1E0Z59JKSZh+vkM0am9JKSZhf5I~"y)/q)KiHJU1E0Z5[Η0֛`u<7ɗbEYWT+-*ЗWTҙ>eJA86[HZ3Ʃ"E|fW8='#i9P_kI9JKSZh+mT[U_)YWT+-KU[M ?@~%󇃽?bFs)M^#%5[grm75!' iukVU/J^JKhR_gD~ - ?.YWT*WЗԡF$OڌM䤾T%%%%q)4HiYWT*WA4 6SQvU֛g%JR_KhR_gD~ -4DHƚ"C iM!58='#Q58='# "z5YJ`euE-EپR_|S}$JZc@D8k&m5U ' "z8޴m?*L "zfY*jA`'W+o8f5I[M"0z=OC SQvUrR_|EWIH -^pi Ѧ( 쫶䤾Bg~^*_%ՕuKҥxd5QmTEam#NIxUJ)ʓi9-y8Ӹ{",@y NIji91yRm4>`%,]iO!yMKꔪ%ՕuK1*9E2z 1TSmnJKf#?%G(fOUvf#Zm֕D~hȓM9+"$JZ9-sYyJ+"Rx_Qo+cyReЗץģYDQ}KUڜ u6)DW|l\{|kV7z{R%pjpzNG:|3m-НbSݙđ-R/ucYDQ} ^+"mj)(UҺm(ŶN)Pf^)K4+3WĕbW {J04æWƲџf5I+?u8='#@ i9/mNI"W[kpCSr9^@碄jpzNGqAǠsi9ҌrSx몲IkSgqڜǠxl暜+"(ͯ7ЗYNSܫ33~Q_ΗHczFRQ=C`='4qXQ_yFm:_oˊH"kKi;8='#@I58='#V5EQ_ΗQFk0o-$8jBN 9-sYOmMNIzMNIVU/!]- ?NIjpzNG=+ڜǠxl暜΢f?p{@=Ape]R)R%T]z JdSr8zM58='#zQizp"GA9"GAJpljjpzNG:śirjpzNG@=&ά^B?uQRJAiLjpzNGIpF iHûSr8EĎ 58='#Eͷ~=9"s A4`='&Sr9ՕuKW|)EJ[y*.2}9=&ν(m4i$0ûSr8 Sr9xJlԌI/uZS'R, 崎41[`pa8bO=lm"30+IƢuM6Xa1V,0+Iц,0+IƢuM6Xf5/C i6Y]U/*LLV5i aWUeKʓD뤚l,ʗ&'Fl,{i0p$_-z[H 1ꬩyRbbtG4a6Y]U/*LL3Rl, {eeuVT11XNH) |Eam"30+IƢu@b` eeuVT12LKʓi l&*^Tj']$1 1P,3Ki6ƛ! -im<89]U/*LLV5iG? i icYDQ}"MRxk(/F,1[Sr8 Sr9^,Ki#>#YRM9[M4cO?%oI ojpzNGf91pgjpzNGV8='#NqZjpzNGvpjOSr80pjSr838='#\Ć mNIrOSr8[M-]7ֱ+})|kX/*O=9zzNi9ⱬ()9zzNi9/myj2MofT[ّJ &~R%}Q)q";MNI+[m;ʻZįѿ뱾oڜǠxl暜+"i =HtfT]z Jd*T/u8='#@I58='#ihcpĞz?EfaWUeKʓD뤚l,sH1K0a6Y*e`LsKMceYRcQ:&,0 0 |Eam6Mam4iG(fG(58='#zpHX$(``HX$`X((`q`q/zPq:[{śoR3/4$#@04 80XWƩ"RxwLJ$,<0@{@=@grXH_K  /CD y[mW>V7Qb"C ⱬ(OmҌ zKpXWJUFoEܿ`H~JAiLǸt9Fmr?S~m|yzW$/8zE[M"0Ƨq|J0P5s/C? ,<0@{@=@gzzN Wq;p(AEHEam#NIa}kMNI-^{(?  !`H L@~=ǠE3C`='3,$ a}Zҙ?ֱ+ٶ_K0, R>*^TeEz\ 3A% 8@0`H3 /="i58='#}W*To*Mp@~4/PX0j(="zpk6vHƐ;  ZRpF zi[M ?@~4/PX0j(==8`rO8vHƐ;(ǽ cSr8`^BSr8N)j[֚̕>am4iӸ{",@yJKt6vyOm 0FPdC iHƝހpA`@zbR#jpzNG lQΓ&N)j[֚̕>am4i$0p #i[N8A`@ƚvӻ@p@XB1J@WҼw}TJ)as*ꗐ#?kƷQe?u))RFjTA񦈐G p58='#YWTwjHmVD?B^+ԢQu-)[KVU/!]fߒ7:]mjpzNG zSr9ՕuKWx\ k%wDZ]im#rgٖ\hR_gD~ [}Ԣ?uk%%i.ydNS^J)o$sĦ#x\)+H)/MiG?x_:v+6NI!yOZjpzNG:y cT)jH)/MiG?>k~oQg~JKuEw~oQg~JKv7|mK9N7y*Чfߒu)%6ٍRDx+6NI!yOZjpzNG:y cT)jH)/MiG?:}fߒ3m9JKSZhJ(]tVTfYWTwݛjKih=%64HՒmRҼ1S[|Xbb3Бw[zQ]䨺YWTtoMKhyOm?u~JKq̔}ֈO}=R1ISx"5~iv5Sy)/KΗ[kڜBue]R+{1H_Jjim#Z>!é[3>ۨ+I}+VmJi.ҒmNI!yOZjpzNG:y 3_mnVj{1H_u8='#*Sr8]158='#Q58='#Am䤾4;I2z:KCr5`ȼ{\hw!)4hȼ{\hw!) Jj.ʻ/Ղ " 3_mq܄-z[HJKVRw`o-^ﶸպ 0/Vw?Zҥx@ -z[Hį[xobhԯ jpzNG ^B 58='#]Mo%%4;J{]%W'`o-^48 ?ﶸᜄ,B}ƬXI}\j܄,{ ?LBK" 0X!yOx/_mqx@/BS ,hѥx@/BS^S/Ղ %mqr 0/2A ֕,Ǻ(Q`=_mqx@/BSB AǖH -r oR^+ouZS'm{oW_Z)m䤾u+u+ 7]bSmjTi=FL֕/ƍ4h؍4hѣF4hѣFgՂu=ࡠ@7`9 S 镝ԥk\i|g\]Y *_4hѱ4hѣF4hѣF.<q {C@o s!`+;o)JTi58='#}W*To*Mp86[HƝހpA`@yMNIIʓigCm-fJM 0@~4i=D@{HƏ12|:c>%V[mᥑZ)*GM;<#m n2WZhh!񦈐wqx8 iam;< @iam#<;(<@F=^PծP&@"`tiCx[Hm#[{Sr8EI58='#YWTwٍRDZ7[~6w/QbZįѿ_)G?%;=kXJhhδEwΞb]n^Bnʹ+e||kX6dRVL^ܕ+u5J-MG iڜ(<@F@zNi9ʺ+\@>"ZrgٍRD90 FjpzNG=+ڜթvΥ 1%^TG8m<~6C8L1NOj'%D&v,0 0 0 0 0 |Eam6Mam<89)IDZĨSZhhiy+xw{_%x=u^+ -~4am#NI_lSr8[HJU5(PyOxL)*d.׫*ꗐ+hŒZS'pjpzNG:y (ͯ7ǵ8='#Sr8Z|#9S|g2R9=&Jp< 58='#J07mNI #='4ue]R^[oIWޞimNI4uF=֍P(W+Qu-)[zy KeKjpzNGIsJ1a58='#Q58='#zH8_ A!C8`HX$_ D"`tpQ;`IGqyGq0$A\ /"yp,Eam#NIxUJ)ʓi9-$8jBN p8 EX4>190 Zi91yRm4>`%,]iHƐ;(Fأ 58='#&/*MS[{CG E+44|ip8!zQ\ 1%ыʓwqx8 @F4Ӱp ƚv8[Cxӻ@p@yML=(p8!zACV@@jNa"zPicMm#gmojpzNGqSJ 58='#YWTwޞj$W$E#yRe-)]bm$:Ġحdm +"֍Fm])O_}tQ}НbPo[Sr8"zPi9ʺ+VJaV+p6i9P_j]1QkrgmW򟏝&aFWث+BuAAm+7yZ*TfJwmwm-9ML=(4ue]R+{mqMR,}+"Fm~)e4*W}ޮ2OZJ{E6ģYDQ})w_x_uq7E0Sr9ՕuKW|kL*7]%)SV^-%.(|{+"k)jV[m$Fo-YYJI-q9L{MNIm#41[`pa8bO=lm"30qҁceMTLV5E5kaaaaaaa {%m4lƛMy -q98DcYDQ}iG? iO4VMWƲo3kMQM(Om3Zѥƚy -q9{+jpzNG i;6u8='#)ά^B3<6[{Sr8`6ԡF$ыʓR158='#Q58='#58='#QZjpzNG8^ҙ?a}q7E0Sr8Zy 6}Rr+XVBXQ_l4z{(?AytEh7 DM &8LgH@(@N@" _ :CA$XѣK !<8 ^!aC8  !tEh7 DM 'qn/{(<$ph7zoK@H@h@M"pzK_;$"Aǝ]`pH@8 ^!aE=.[}DNOkƩ"Ee2~oRR}ZW'Km5YHԜ7m( (oD" O?i0yO!58='#e}MNIm#[{Sr8B/ @9'4ue]Rޤg̨]Һҟ%%igOj.ʻI}R[}TJ)Km򚋲O4&PI 58='#YWTwņ65g5e]䤾[}TR=tWk{{hЗ5eYL%%jobSmiL/uj.ʻI}.VP im#[{Sr8B/ @9'4ue]Rޤg:_ٍRD)l I> l8\8 Il[H)QY+њהR_mNJޱJfo%Jmwj.ʺY)/ "am ?i1]Z3_)*%%ԭ 䫻FjT@o&PI 58='#YWTwޞo%*-5e]䤾ԩzFo-^Rp HE$ i=h}$s2{Q5);^3M9RJJLWkiReZ)i)+MEWy)/)1]QJLWku$Y)/U_u%78='#"xMNIVU/!]F= }JKJi.JK(ėxmNIi*$-58='#KiHĦ%%hݟRUўgՕ(M2~ՕuKWmťuΊʺ+58='#JbK}1 ٚѹmNIi*$-58='#VUR"7g_N-TZ5+ڜxj/M!C![LD8wam4f#?%G(fOUvf##δ]q2QRM9Keh/-b3TrFd\ib3F;3^S&7%ў<f5I+>#δ]q2QRM93ؔ-b3TrFd\ib3gZ.OJbKz]Ɩ1*9E2z 1Mޘ#aqF~JQh̞6Fx 1%^Tq_}]NEהɍOыȤ7']_БmZ3'M58='#$ i9ZDjx(Q/cjJ)zJ1*9E2z 13^S&4وQ-p]و_kbS:u2~QFj3ǵ8='# &"@MNIVU/!]mљ=WmꚮpjpzNG:Kimљ=Wm <6/Ʃ"E}'p 58='#YWTwwhjhf#?%G(fOUvf#dR6f#?%G(fOUvf#ͥ2}zQEהɌ[{N@8p@ < xcSr8"@MNIM;ٍRQ]ri&Wl2}J+Ҳ')uN5u^JR*-UE]Jٮ-p|zQmW-TZW.tg*-ouԈh]-H=%ՍoBWu_)ޞobSmjW~WkO[TXcx_Jl7ץbO|kX̞ߩMUٚwZ7Rvur*)})kץu_@*lQ JܤJ]+~=*Tfbқ;]_Jl⢛km*Tu"הImvjjyʫ+ʓEM+zVS'ZĩzYi(wITfگ)m]zqMA/I_m-MP݊-Jd(%rKijpzNG+;Sr8[HCC$ ~/C? 0 0 0 0 0 _%bb!y$ya6YfE,dUvqbU 0( 0 0 00p$_-z[M`i80[H]9fE,dUvqbU4Ɔ? l I?-^4aaaaa //cebTNq)6Xa&aYK)Y1zU]()ic 0 0 0 0 3Ki6ƛ![HO4~4HkXMiG? i iĦkKi#>#dRVL^Wj'6J mZhhiy+xw{^'kw[M{e]k=gfa9LD10׏#zi9ʺ+/bބ^JDQ}RJd3ťuJEfE,dˍkқ;o@/%m֢%ZįѬOmŷgɖ{yMEW{Sr8Ni9o6wMNI})xRȥh=6JlaAm[mfE,d()h2)e+&/J%64H^V(ͮX oZD_͒^Q_o5Ou͒_B]YT]ޥ+]?%Fv|}'d׊mŷg}ũבI^ ]e2~o^E%{ 9Ȕ>̊YJɋPSkج_zzkX̞jQ_o]u_uMMו42t .Wǵ8='#&`A58='#YWTwe{ɅE6-Q_%|g+-p <6)NkXZ,oR%J)#kJdkXT1\ԛ%6w>6wMUy[|kX lko)&"kǑO=ue]RѼ <6ͯvbq6JloB^ojpzNG8 58='#;Sr8H4 NIĄ\{MNI[Sr8"i9̪Wwi)حYj)k3*To*N+)޲bSUfagf#6byJ+"Ez|6V7%%3WA/%%r9^Q^@ ʓ%Jֱ+ou~ojpzNG L5'jpzNG VU/!][HSbVIE@SAs*ꗐ[{Sņ3m-9 HMNIVU/!]\Z%m뤶خfE,dUvYTsdKi((ͯKkX̞xYT/̔L|kX[HSr8>%_lSr8[HSr8>%_xX5sQu-)FўimNIb!y${MNIVU/!] /-Wޞ3ay)+eֱ+5KXȥWjWImvjo=%Fqi]j3DKdح %= im"0<0@鈆&`A'=ARt 4g8$0_,p_p_"RR[;(L9JR򷊊m)5RȦҤّK)Y1zU]VU/!]P;Fn(T E%2~o"RbZĨ nkʓE6o6w_ WRt /83g8$  pԄ]pA-H[M"0.WZmʺ+"ўokE x_uƵR})]^)ץu_)^ҙ?J/C   sB pH,`((Eam#\ՕuKWF{5J-7$05}%~6wt^|T]z Jd*[H 8$,`XW8$0,+0  sB¹ m4G̕*R7&Sr8[Hu+R2THT@SAs*ꗐ;M HM; mљ=Wmw 烁 cM; mљ=Wmw 烁 cM; ihx/f#?%G(fOUvf#W4z1*9E2z 1x` \ 1*9E2z 1z\pH$[lg.lg\w[lg.lg?M"0Gf#?%G(fOUvf#<KmP_kZޝ֋+6Ҍ [z(ėږ1*9E2z 1xmF=o+}wW\5 }1*9E2z 1*.2`Eclg.lgKX FpQmZ3'M<+mљ=Wm0XW1*9E2z 1=&Eae6F~JQh̞6Fx F q[y)VNI4uFvpEHXSMNImZ3'MJݛjx]֋)cjJ)[z(ėi.fuzQf#?%G(fOUvf#<=֍-JB^WwXTդ~>ҙ5XT>eF~JQh̞6FyuTNI4uF{JbKz}IOm֠;3_mҌ1*9E2z 1*W>E)ڒJFjh[H mљ=Wm"yRSI.*lҌy_kʓ,]U%2~imZ3'M+KRVo9+)NIg80i9^`وQ-p]وu]qi.bU7=_U24وQ-p]و8lg.lgC$ ~/C3 s @L&"aaaaaaaaa`^ICL1gZ.(zU 0( rB.zD ÄS@ 0 0 0 0 0 0/i^`~4?l 1*9E2z 1O!4clg.lg Ɖfu뉒Zhhf4 &sMά^B3k1*9E2z 15]NI4uF81*9E2z 1FyFm:_ٍRD9s @L&" 58='#YWTw}f#?%G(fOUvf#<)K_8='#Sr9ץ[Hlg.lgef5I+pEH3xph4ue]RRu?I mљ=WmPoVU/!]Һݩ9rB.zD ÄSApgi=="jpzNG 58='#4wzÂEHǼ#="jpzNGi3ҽp8 {Ӄ8@LEHjpzNG8@LEHƚvue]RrT[lg.lgNI4u);^q6F~JQh̞6FxQQ_ΗcT"ojpzNG\9ljMNIVU/!]_Ӹ{@j(= jNƧp< 58='#zQvzW~S%)ڜi9-b3TrFd\ib3F81*9E2z 1Sr8>%_lSr8[Hlg.lgNIa}`֚>~oQu-)FўimZ3'M58='#.zD ÄSAs*ꗐ Hm5y&m[x+Km-b3TrFd\ib3F-+zꬩ[|()%Ԋo)+[mR%Kmљ=WmG?hوQ-p]و?918$, `H$+A0g -b3TrFd\ib38 &sMPQmZ3'M,g A%F~JQh̞6FyK\w  ImZ3'M P\w 0 /  -b3TrFd\ib3[lg.lg?mZ3'M8f#?%G(fOUvf#<4imљ=Wm ojpzNGIsJ15z {-Akx)kHQ}2 xe2~imZ3'M58='#.zD ÄSAs*ꗐ-^6F~JQh̞6Fx=.?c8X$ EF~JQh̞6FyK\w  ImZ3'M P\w 0 /  -b3TrFd\ib38$ < `H,g B@x [lg.lgHوQ-p]و?="f#?%G(fOUvf#<4imљ=Wm9@/ i9[y*.2A(ٶ۔e{ɅوQ-p]و="qa)Sr9ՕuKWl -^6F~JQh̞6FytEAɏI!`H$g A!\ 8hx[lg.lgq/s @L&" f#?%G(fOUvf#(fud{np8 {Ӄ8@LEHjpzNG8C Sr8Nހp@ys @ƧpEHƚvue]R -b3TrFd\ib3ƚ@~4[HH hfaaaaaaaM_B\x`@}Iaaaaaaa43i#4=wzÂi#z֚vq~Ӹ{B0$j(k6bOZiN@8pB \F;AbOZiN@8pBrԝEB\6ig; r=ǠN>>j= g-w \M"BdbOB1ď1@o k.r$ if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr192.htmp/$ Chapter 12. Intrinsic Procedures XL Fortran for AIX V8.1.1

Language Reference


Chapter 12. Intrinsic Procedures

Fortran defines a number of procedures, called intrinsic procedures, that are available to any program. This chapter provides an alphabetical reference to these procedures.

Related Information:

  1. Intrinsic Procedures provides background information that you may need to be familiar with before proceeding with this chapter.

  2. INTRINSIC is a related statement.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l$42if>H>X>';W#./usr/share/man/info/en_US/xlf/html/lr193.htmp/$   <>D "=AEHRTrt#-./2BFILNaehilmns13CMOPScou04589GUXdfp(),67:VWY_bgy%KQvx!+;JZkqw\|{}[]zT>Y:K#1j2FF$j]FK0mZi";*ޛTj/T Y5TVEHy!B!B!B!B!B_;@eP#UU0\DP (X1c#l"I![]Qqqye (@$ _;@e08=Vl(1ө`S a&7"'l8$$^)| fff_;@e`pO XLh, e-vʶDLė"M#T]F$&BXs3333 /<L=lQVeQY|Ebl.EKI%l],l*#ffffffffff_;@eq|~"$WjPuV3333333333333 /eXq(<4:A0ruuh^> ؑDIVW6>.&8W6&I WQ>*¬cj]#v$EQvU>$Б+2=qKY@`|l"gh^]v\ h$`|i"VeKIM*]rM(.MGFi>6LbDJvcG =\0WUPu@`aj H?eXQDRꈿNNx1Q>D@PP`((vcG =\e@/HnDNpHHV A@lj<@5oAK$7"'l8$$/AAACBԥP&m*X @ qDVQ8'ff m{IV(lvfc \a"`HvfaL+(DGff jp VeF#35rJ+%fT`8nHTl^4ؑ+2$Ҍ8HDn&d$N봫f;G_lq8?)Z?'I!`Z0ruu "&8W6@Dn&cl8FGilq8 9ǝ6Pz> ,4[M;GVW,dؾGh^&I5DhE$]e\'bBj v&UWMeW&ˬ)`6Uj:+BW eW@*|$x+ `=\TIv1?ӝK9ZsI_rp}G~,;},8h;cر %O25E$ ely$Ŏ(ŮSD$k/c$ ,pA]=DIz5DKM;cر1kTr5 C 6g 4|FWHAXXHY]}#iolrt{bd)äSv'I!ag*B?N#ǝHAXY%OA '@49:I= 8bd"9@4!Ǵi9:I= bd*`QLǝHAXXQ-vJ<<vsv_66=)si++4G%sjH'7U$юG%N#e$ut{ 8ŮC'Y'PpXa0*uZi";*ޛf/6Pz> ,4)ǝ6Pz> ,4-ǝ&Uڽi6rM74#Wj]#ؑ;Ү ra4z5!&lRʰ*uQ2)|]>]eB8EFTK#DQ-X MZ`|(dB$U)`6UjRrvDF,&ʭ]RdTaK+Ul_oȨ–1?eV5Z@ fּuuM{hEZ)I ck^,&ʭ]dwzE$%Y\mFUPMP>(Ў]e]eYQvh!X MZx6p&Y+%{YVLlq8 ?UeqW eW,dؾ.]eqW eW@*|+lʸ!eT,@̪*ʭ]$%Y\bˬ6*Yup6rM` QPLM\\D0˒ˬ%k*ؙ&Wh!*v*U9_ȤrpzRB\RD98>g 4|FWHAXPh$ŮSDCM;cذ%O8M;cذ%O?0q 6CU-6g 4|FWHAXF-vJB'$99']6#L;M;cذa&-vJЀJv'I!abZ?bOM;cذ`%OX?c٧PM?HAXXI]SNzly$Ņ*@\.TEnvsv_66=)si++4G%sjH'7U$юG%?}%2,,,,,,,-䀛kh,,,,,,,,>>G],,,,,,,, ,45ǝ6Pz> cWY[b^˴pHDn&,aF\IuDqFQF%fTQ h$zjkNJHU H'p1W9:I=q]\R .)iolrt{80bdC?Ciolrt{80bd.)?.)iolrt{84(ŮS&0cE$Ŏ 1kT0M;cذZ?]6j"aoHAX$% dAaoZi`'uU6=_;cl|@(($SM;cl|@(($vWj]#v$EQvURd$N봫feVT#jH)eոG elc;O;kҖsm"!I qI#,X vX0p^v'I!aA%OR:c٧PM?HAX-vJ`uQ'6Zl{4Oolrt{8%O񬢟5:):v'I!cZ?t$oVIiOi;OiE$CҒ~!= G8Tc$ ,,$0ŮSR)Ԋ~8h8ly$Ņq] rqIA▛?i7i6_ȤrpzRB\RD98>g 4|FWHAXXF-vJЅ"R)?iNBbŋ1kT+!6=E$Ņ 1kT+!+!ii;OikNkҗ;GɒM?rYPh@W;G"xܐuZmrMڒ<+^5f;M;GΝHAT8p8z_$'ztlrt{q]*.Hx=@l{69:I= 1kMP&=@l{69:I=bdW `M]Vޛ͎NBbbŒZ?)+UB*:l{OvA璸8p8z_lyil5.p` l7$#if>H>X>';h./usr/share/man/info/en_US/xlf/html/lr194.htmp/$  "<>T -/=ADEILRBCGHNOPVeinrt%0123MSWalos5FUcdfghmp.489:;X_buwx!#&()+,67YkvyQ\|Kjq{}][(b2}-3/N^GgxX%ΑӼ};N#ߟ]K&eSUrKQ[P92eu?Zb +g&H95X8{{{{{mo3@6IĉdfxĄ"%@XiE@]0p@h 8 {mh X?Fg€{(kXbY%` ݵ‚`zs,}Qa2]B60 ݵہ2v+*raU0ItP2Yp>wwwwv4kl0PMeDU{ *n]eWL:ꠀmwwwwwwwwwwwwmo3@6 pDLPQkPi2B+'k&Uu ]0wwwwwwwwwv4klE "pDvaEWXjQqc‹ .h|,[ 4Ut]bpD"Ib h( hh|,[ 40KbÀ cEc`$ YY@ 2i?LQ0Y?߁k(ذ]Mk,X&`H( ld~&Qd嘁#@MֱŅX,  Vs4]0 *W92H * +@J&`˻2T]B,@Baa,`L˻ˈ,h05wa Xad@k.*JLjXH0k.*BI "2("`+5< @fQU42?)ae]bJyEZ@@@pyEWq}٠T:Lrk]S (q[{{{{{ﶷ>O(&@<!i:Nzk&jzs47|tj=H: ~XX@@!?@+:$%uLMdʦPs(X|{~7 L߆Hr҅&iAʤ!Adg9,Vp)k^fn * Lߞ9gJH? B2>s(X|{~7 L߆Hr҅&iAʤ!Adg9,Vp)k^fn * Lߞ9gJH? B2>s(XK5ߍ“4?\I{G,B2PnY~ 8k5}{~)3O~#UJ=rΔ#*~e|PYk=&i$ʹiB4砎Y҄eRܲ3 +8 ]w׵.fڍe_ kZֵkZֵkZֵk[%C}̱ UBkZֵkZֵkZֵh/]5<2eJ*!j**U@+a*"ɓ[47]%|7p=IZP=#Fq@Y@z03"͌zp>,ǦY61? tioI{ I{G,? fƖbсǦY {61 cf=25ѧ3Kk=&iH/҅&iA3 +9YF3clc.~A{5ѧ3Kk=]%{N >:5fY ,h Eq P+:jk\I.JǔL8w3Q..mɟlO~(ė%י3Qڔ+ky]yBv &Mǵi}BW\+lcS+`0 &L"TIPhǵi}Bz^fGcP"&\e rv ;5яj=Rx%J _jP^ //ǔ+dR%^RkoRymrP3]/(W% 5?mqbAٮ{]vڍe_ kZֵkZֵkZֵkZֶeMRUkZֵkZֵkZֵkZִk.xK (V&jVPL\FN&P$B(Wԡ^=rPX% &k3K3~WeXʼ7θRf2G)3O~PfY~+:jkXuIbBIyݾu“4?\I{?8 Br>spYڔ+kz$!$Mfk:I{ZP=Z˜_!Adg98pJ% IbBIyݮyRf2G)3O~z(FU 1 #8Åg fRf2G)3O~z(FU 1 #8Åg fRf2G)3O~z(FU 1 #8Ågl|{]7p=dW-(Rf:PAbFq󟃇 wǷp=dW-(Rf:PAbFq󟃇 wǷp=dW-(Rf:PAbFq󟃇 wǵ^߯3~7 L߆Hr҅&iAʤ!Adg98pK5ߍ“4?\I{G,B2PnY~+8k5ߍ“4?\I{G,B2PvY~+8pk=yRf2G)3O~z(FU 1 #8Ågn * Lߞ9gJH? Br>spYYn * Lߞ9gJH? B>spYPk=]%{QK!kZֵkZֵkZֵkdu>]5JQVkZֵkZֵkZֵ5˵f"&LIED-EWYEJaCWPl"U;\EB$P92`f^f ^fn) J=r>sh+9YF3c͟fOãQF2ά߄4"bxP(T\(=t;\pf]y]{fԡ^% 5t1 %mEWLA5\c{Qϵ(WB J7\+5t1 +T IuEWLA5&6(W^?H5 I Dذǵѧ3cNi|yEkt1M\E5m7JY"dRx?\+@0ԡ^uB _shYڔ+뒅{HJ+ _Z$$$w\)3O~#UJ Cs(FqEԡ^O\+@0$ /KMtfw׷ߍ“4?\I{G,B2PfY~ +8wǷp=dW-(Rf:PAbFqEwǷp=dW-(Rf:PAbFqE fRf2G)3O~z(FU 1 r>shY4)oI{ZP=#tT(FqE4wǵ^߯3~7 L߆Hr҅&iAʤ!Adg94XS5ߍ“4?\I{G,B2PnY~ +8k5ߍ“4?\I{G,B2PvY~ +8(s5ߍ“4?\I{G,B2PFqEhcF3])3O~#UJ=rΔ#*~>shY]w׷ߍ“4?\I{G,B2PfY~ +8`wǷp=dW-(Rf:PAbFqEwǷp=dW-(Rf:PAbFqE, fRf2G)3O~z(FU 1 r>shY,hk=&i$ʹiB4砎Y҄eRVY~ +8`k=]%{QK!kZֵkZֵkZֵkdu>]5JQVkZֵkZֵkZֵ5˵f"&LIED-EWYEJaCWPl"U;\EB$P92`f^f ^fn) J=r>spY@z03fl61"Bt@lc"?ٱ|=ɛE]s4Rf-(Rf#8Åg3cK1lc|Ƞ|lcfH>X>'; ./usr/share/man/info/en_US/xlf/html/lr195.htmp/$ Detailed Descriptions of Intrinsic Procedures XL Fortran for AIX V8.1.1

Language Reference


Detailed Descriptions of Intrinsic Procedures

The following is an alphabetical list of all generic names for intrinsic procedures.

For each procedure, several items of information are listed.

Notes:

  1. The argument names listed in the title can be used as the names for keyword arguments when calling the procedure.

  2. For those procedures with specific names, a table lists each specific name along with information about the specific function:
    • When a function return type or argument type is shown in lowercase, that indicates that the type is specified as shown, but the compiler may actually substitute a call to a different specific name depending on the settings of the -qintsize, -qrealsize, and -qautodbl options.

      For example, references to SINH are replaced by references to DSINH when -qrealsize=8 is in effect, and references to DSINH are replaced by references to QSINH.

    • The column labeled "Pass as Arg?" indicates whether or not you can pass that specific name as an actual argument to a procedure. Only the specific name of an intrinsic procedure may be passed as an actual argument, and only for some specific names. A specific name passed this way may only be referenced with scalar arguments.

  3. The index contains entries for each specific name, if you know the specific name but not the generic one.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ,B2 kʙ$v if>H>X>';v ./usr/share/man/info/en_US/xlf/html/lr196.htmp/$ ABORT() XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

ABORT()

Terminates the program. It truncates all open output files to the current position of the file pointer, closes all open files, and sends the SIGIOT signal to the current process.

If the SIGIOT is neither caught nor ignored, and if the current directory is writable, the system produces a core file in the current directory.

Class

Subroutine

Examples

The following is an example of a statement using the ABORT subroutine.

IF (ERROR_CONDITION) CALL ABORT

The following is the output generated by the above program:

 /home/mark
IOT/Abort trap(coredump)

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] TR k=$if>H>X>';./usr/share/man/info/en_US/xlf/html/lr197.htmp/$ ABS(A) XL Fortran for AIX V8.1.1

Language Reference

ABS(A)

Absolute value.

A
must be of type integer, real, or complex.

Class

Elemental function

Result Type and Attributes

The same as A, except that if A is complex, the result is real.

Result Value

  • If A is of type integer or real, the result is |A|.
  • If A is of type complex with value (x,y), the result approximates



    absa

Examples

ABS ((3.0, 4.0)) has the value 5.0.


Specific Name Argument Type Result Type Pass As Arg?
IABS any integer (2) same as argument yes
ABS default real default real yes
DABS double precision real double precision real yes
QABS (1) REAL(16) REAL(16) yes
CABS default complex default real yes
CDABS (1) double complex double precision real yes
ZABS (1) double complex double precision real yes
CQABS (1) COMPLEX(16) REAL(16) yes

Notes:

  1. IBM Extension.

  2. IBM Extension: the ability to specify a nondefault integer argument.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 2 kB$ if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr198.htmp/$ ACHAR(I) XL Fortran for AIX V8.1.1

Language Reference

ACHAR(I)

Returns the character in a specified position of the ASCII collating sequence. It is the inverse of the IACHAR function.

Argument Type and Attributes

I
must be of type integer.

Class

Elemental function

Result Type and Attributes

Character of length one with the same kind type parameter as KIND ('A').

Result Value

  • If I has a value in the range 0 <= I <= 127, the result is the character in position I of the ASCII collating sequence, provided that the character corresponding to I is representable.
  • If I is outside the allowed value range, the result is undefined.

Examples

ACHAR (88) has the value 'X'.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] H>X>'; ./usr/share/man/info/en_US/xlf/html/lr199.htmp/$    "=<>AELNSTe -/DHIOPRainorst%0124:BCFGYcdflp).58;MVWXbghmuyz!&(,369QU_vx#7\w|?k{}K[]qx زX6}Pa)O Q=+ϐA S sҰl`s읧(Dwd9@? ֹv0sɑSDl.\ ]۶ѻhLo< *:)v].۝klv: ?ρ9p?0*lu70sM8*wq.qoYJ3KЭR`sՄ\R캹dU'=X>YJpTӾdNjqV)B9«_ 9P˚ЭR`sϚpMÞm.cms .ˀ~&:Ͷ=Eݻv˗i0@IBiN stNdEaSNh DYp`ӡdEasКpz)B=qCfЭR`sՄI^4#tN[#BNz9䖁ϴIN^>@/VKg+MJZMjLvpѲ[†dUcO[ ˧ȅ`BƐzJ^3L7'"V Κ;Ԙd >ƞ-9niOq{ 3!ąE.˾sЪ엌+MȥFi%-es5&6KpxP̃ibӖᖙt2 ]SN BƐzJ^3L7'"V Κ;ԙ d >ƞ-9niOq{ 3 9b@UcH= %e-d|fZnNE-:3L7,ҔQ&gM%<(fAV4ipL{ ܈XљR= AY>2ܜ[8tfZnYEs(%MI6KpxP̃ibӖᖙt2.eqSNU ,d|fZnNE-:3L7,ҔQ&Fn }U=lZr2."4f@̮*i4sЪ쏌+MȥFiW:R2Zԙ d >ƞ-9niOq{ 3 -wzV4в0zZ9GiRã4r+)E-]jLvpѲ[†dUcO[ ˧ȅF$ԩBƐzF>3L7'"VQ\J(jRc󇦍3 zشe]=D,h́DM_nqsG= AY>2ܜ[8tfZnYEs(%MI33 zشe]=D,h́DM_nqsG= AY>2ܜ[8tfZnYEs(%MI6KpxP̃ibӖᖙt2pUcH= #e-d|fZnNE-:3L7,ҔQ&gM%<(fAV4ipL{ ܈Xљ\I^PzsЪ쏌+MȥFiW:R2ZԘd >ƞ-9niOq{ 3 00HABƐzF>3L7'"VQ\J(jR`d >ƞ-9niOq{ 3 00HABƐzF>3L7'"VQ\J(jRd33 zشe]=D,h̀9UXBYh>@VKg+M(tdw 1Fn }U=lZr2."4f@^PzsЪ쏌+MȥFiW:R2ZԘd >ƞ-9niOq{ 3 00HABƐzF>3L7'"VQ\J(jR`d >ƞ-9niOq{ 3 00HABƐzF>3L7'"VQ\J(jRd33 zشe]=D,h̀9UXBYh= DJi۸GPz,tz|ӂd|ݗiϏCe"zϏCe"zϏCe"zϏCe"d`sՁVIh< =%SpFhhUq+À-" tS w0ЫUĮ#Ǥnlxѡ"nd)p{UĮ#Ǥnlh7E2jRҥ\DFy6vЌ8)iA7E4Y:#!mmMÀ%snijA%|ЌzDV "TOP" kf$if>H>X>';./usr/share/man/info/en_US/xlf/html/lr20.htmp/$ Valid and Invalid XL Fortran Programs XL Fortran for AIX V8.1.1

Language Reference


Valid and Invalid XL Fortran Programs

This book defines the syntax, semantics, and restrictions you must follow to write valid XL Fortran programs. The compiler discovers most nonconformances of the XL Fortran language rules, but it may not find some syntactic and semantic combinations. This occurs because of either performance reasons, or because the nonconformance is only detectable at run time. XL Fortran programs that contain these undiagnosed combinations are not valid, whether or not they run as expected.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] { lJ$if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr200.htmp/$    "-<=>AELNTet /DHIOPRSainors%01245:BCFGMcdflmpu.89;VWXYbghxyz!&(),367QU_v#+\w|?k{}K[]q =ZtZPi*OA:\#tzW-^=)mJ(%I#tZJd]0p zGXe1:.ۆ1c1c1c1c1c1|ȀH5;+&ltmpc vLP,G>GEĸfu`k5;^g 3Ƃȏ "4g#{l࣌gH&ۇq@4((+{|]DDs~ z_ ;ÌiޫÙ-#{5~U~haܸ|Y,#{59 2]]9].iNˌ qO|W*ˉ`Xk.0_<g"]2E68ԼZxj"jZ㬵iK'Z/[hMEwN`&Y/`Qt{0],0o 5Gs2~>yu_@`506(sɩk׎y@K&L83]m!$7d| R^꾀jaӧ 1MK^t7`W8 \ûɩk׎A`W8q#Hl>Eb; <mYh` g,;g$xӂag Ɍ ?˶iLagȡ6 [k/ȈHpZH &IDC| J[k v > e,VKaӦ4wA{k#T{. s;h`dý m0p !T $wȖ;4#L`D, Ѓ+B 5D  ) ЃƄXABk#ଠReA6 5`YKVS&0~$ÿ"X  |$J>ZGy2օ/2uL-4cԨᩣt AugnHdWBF .s2f Ҕ.S+hhR'T:IKBF:MJ7J:8Vv>mEpD$`:o gP ;J])By2օ/2uL-4cԨ'xjh(P]Yۯp:eYKaӦ(s՝.t[GkB:VJ^ޚ1jT~ѺQ젺^tme+!#a|pDVvRZP>GΩv)}ᓪemJF/&F M@^ ;uZGL^""0^d]҂FP>uLK S+hWzT4Yx5*;xjh(P]Yۯp:eYF0e ;J]B2օ/2uLQ]RheԨ'xjh(P]Yۯp:eYF0e ;J]B2օ/2uLQ]RheԨᩣt AugnHdWBF a҂FPBJZG2օ/2uLQ]RheԨᩣt AugnHdWBF #2j.AugiA (]:VХNv+*M,t54ntq{(.׸}i2Y{H{# 5qe[k Vv2em _xd[GnҤѢIPNѺQ젺^tme+!#6t@90]Ym4|]YPBGΩv)}ᓪemJF/&G M@^ ;uZGL^""0^SVv2ZP>GΩv)}ᓪemJF/&F M@^ ;uZGL^""0^2j.AugiA (]:VХNv+*M,t54ntq{(.׸}i2Y{H{%:՝.t|[GkB:Vۨ4hjT54ntq{(.׸}i2Y{H{%:՝.t|[GkB:Vۨ4hjT~ѺQ젺^tme+!#0AugiA (!u/2UZ)4Boel  Hɰ -}5ٞM>)4H,Edk_dF0''.p@R:I2Ul|$! \dx@d`sՁ k$x if>H>X>';x ./usr/share/man/info/en_US/xlf/html/lr201.htmp/$ ADJUSTL(STRING) XL Fortran for AIX V8.1.1

Language Reference

ADJUSTL(STRING)

Adjust to the left, removing leading blanks and inserting trailing blanks.

Argument Type and Attributes

STRING
must be of type character.

Class

Elemental function

Result Type and Attributes

Character of the same length and kind type parameter as STRING.

Result Value

The value of the result is the same as STRING except that any leading blanks have been deleted and the same number of trailing blanks have been inserted.

Examples

ADJUSTL (' WORD') has the value 'WORD '.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kXk$y if>H>X>';y ./usr/share/man/info/en_US/xlf/html/lr202.htmp/$ ADJUSTR(STRING) XL Fortran for AIX V8.1.1

Language Reference

ADJUSTR(STRING)

Adjust to the right, removing trailing blanks and inserting leading blanks.

Argument Type and Attributes

STRING
must be of type character.

Class

Elemental function

Result Type and Attributes

Character of the same length and kind type parameter as STRING.

Result Value

The value of the result is the same as STRING except that any trailing blanks have been deleted and the same number of leading blanks have been inserted.

Examples

ADJUSTR ('WORD ') has the value ' WORD'.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 54n l$if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr203.htmp/$   "=<>AELNTe -/DGHIOPRSainorst%024:BCMcdfhlmpu(),.1358FVWYbgxyz!69;QUXZ_v#7\kw|{}?[]KIXIiN`I(K ӏA "t:F HYKRq8, 'NI<tQwdܣ{y:C""DEJ@#E@gC`Jm5|䕭[n?qW.~P.w<884 x^Dӵ>`JeIZuʄo#NFp NvNX*n;pkWVmA'B^'=8h`b̊_#%\hb^)x \NdN{" <0nFJ'AhF9&PΚ0E2Vl dd9$  @ఏ% tYi]un(F.+6dN,J2tPٛ[+&m(i`1#hbd; wō_pɣ :"`4Z0b˫TH/=(33vd,mgAh.Rxه__'u3o ŗVD-Ɏ4~{3~^Lɛw{/pXQZ0b˫T6a Ƀw YujNP/~ dqP`{n/~ d``ŗVFb4bA,J'AhBrK r/~ dGAh+ZDi?et,J}J%]*ʓ΢;^q{Fd`үbTg|2,F4SՓ7:0!d 'E&lWp%h;8=20aiWa*Op{ ܀pљ:(lX΂ -*Y8QDI8U"<#IZgQ'84fF -*,%Iqy{3"6aacW:0!d 'E&lWp%h?8=20aiWa*Op{ ܀pљy' JN0B^'BQDI8UܲgNrFkIZQ'84fF -*,%Iqy{3#% # JF0>TQ*Ra!*(w,ӜnV3#{ 8н +r̛0(F.*taiV0BGʊ%]L>%E[:s3]J38=20aiWa*Op{ ܀pљ,ɳnɃ JF0>TQ*Ra!*(w,ӜnV󈨍3#{ 8н Ac,`,NWrq QDeVΜcp "6OppȟZUXJ,oB 4fE /1 btaiV0BGʊ%]L>%E[:s3]Jvq{Fd`үbTg|2%\6&bMAX #Y*(w)0gJUlHv7 +@*#d^ń=64/rFdJlLnQq0taiV0BGʊ%]L>%E[:s3]J~q{Fd`үbTg|2"x Ҭ`񅗉в>TQ*Ra!*(w,ӜnVyTF  J R{mh^Ȃ'$,"AX #Y*(w)0gJUlHv7 +ATF  J R{mh^ȒTԘ(, taiV0BGʊ%]L>%E[:s3]J38=20aiWa*Op{ ܀pљ*B -*YQDI8UܲgNrFkIZ"6OppȟZUXJ,oB 4fDZZU1^0B#I-\~@`=-QHDml( "t%"sQPy!( zȜDH>X>';4 ./usr/share/man/info/en_US/xlf/html/lr204.htmp/$    "<=>AEILNTet -/DHOPRSailnors%025:BCGMcdfghmpu,.1348;FVWYbyz!()69UX_wx|#&7KQ\kv{}?[]qxIIN@Q ЏBz#tzW'^ruҜϽ/YT-, Nx a+:(ۅ]!B!B!B!B!B'FF €Aၣī?CXQv'M.v°d0EW#nh\M7G@\ƌ4;6nlP;6Ow"i qYx7 12!3sJrF/ "Q9"͵Q[r&ɼlAukm*hHPHS,Y!s^+:(ۅ]!B!B!B!B!B9D f(|l^s Wh㫂s H*'>^'8ml^sԉHl_/i5$U-}+0k. c&@") kZY?zHlNz9Fhÿ-4llȞ 9E]TJ2p8k>↱hrf^U;F9E/!E#xbd۹x5d$砊1zz7Dfe]9@^7F&M'ta4X]W 4u 9"^5R/ZbQ"ؔNz83!YtBVa!*Е'HP4FCFzJkVp͵`WF جk,Oe砲^ҋhJ>%Z4wdi7xPѣ^ZU4mdXт2p8k>↰sYIZ/BEKʴ%hmf} ZA;2{4u #Dn4h{ָg ,Y=p<4`t95JzJ/^U+Ck0hJ DaSf#tG ؽe%nī8if+T]|pRVкQzV/9Gʴ%hmf} ZtޔZE:o7J4pRV\Jm0^Tz )+E]V BU+CnҜCHQh҆/bᥛk'+˛g=.Ae%h *Е}J%hmSzS3UhiF(h/YI[q*Y{ xh{,sRVк1} ZYxBV579#5VNh҆/bᥛk'ç=.^ՋN} ZYxBV579#5VN[h҆/bᥛk'FAe%h *Е}J%hmSzS3Uhi7xPѣ^ZU4mdXт%[6&90QXmd砲^ыhJ>%Z6驽)4u #Dn4h{ָg ,Y=p<4`V͉iak9,tbZ6 V joJrFj "C7 8^)+u%YK6Ou\ /b)Nz )+E] XZ6 V joJrFj "B 8^)+u%YK6Ou\ /bR!0PAe%h *Е}J%hmSzS3Uhi7xPѣ^ZU4mdXт*U=._t|BVa!*ЕMMNHUS^#tG ؽe%nī8if+U z )+E]V BU+CnҜCHP4FCFzJkVp͵`WF ؊aӞJzF/B^D+8"yã!_q%'"4 O4 sN99h,00,vJ'>^'8m6/BQ99h,00,ؽ D^y|J>]@\67llQrzˤᬸ4`XIب6Qrzˤᬸ4`3._BQt|5 1 y&;e˯BQt|5ɐ $U,4hBQG{H12/ДNzDJ/A+NDF kֲ$ if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr205.htmp/$ ALL(MASK, DIM) XL Fortran for AIX V8.1.1

Language Reference

ALL(MASK, DIM)

Determines if all values in an entire array, or in each vector along a single dimension, are true.

Argument Type and Attributes

MASK
is a logical array.

DIM (optional)
is an integer scalar in the range 1 <= DIM <= rank(MASK). The corresponding actual argument must not be an optional dummy argument.

Class

Transformational function

Result Value

The result is a logical array with the same type and type parameters as MASK, and rank rank(MASK)-1. If the DIM is missing, or MASK has a rank of one, the result is a scalar of type logical.

The shape of the result is (s1, s2, ..., s(DIM-1), s(DIM+1), ..., sn), where n is the rank of MASK.

Each element in the result array is .TRUE. only if all the elements given by MASK(m1, m2, ..., m(DIM-1), :, m(DIM+1), ..., mn), are true. When the result is a scalar, either because DIM is not specified or because MASK is of rank one, it is .TRUE. only if all elements of MASK are true, or MASK has size zero.

Examples

! A is the array | 4 3 6 |, and B is the array | 3 5 2 |
!                | 2 4 1 |                     | 7 8 4 |
 
! Is every element in A less than the
! corresponding one in B?
      RES = ALL(A .LT. B)          ! result RES is false
 
! Are all elements in each column of A less than the
! corresponding column of B?
      RES = ALL(A .LT. B, DIM = 1) ! result RES is (f,t,f)
 
! Same question, but for each row of A and B.
      RES = ALL(A .LT. B, DIM = 2) ! result RES is (f,t)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] OP"  k6$ if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr206.htmp/$ ALLOCATED(ARRAY) or ALLOCATED(SCALAR) XL Fortran for AIX V8.1.1

Language Reference

ALLOCATED(ARRAY) or ALLOCATED(SCALAR)

Indicate whether or not an allocatable object is currently allocated.

Argument Type and Attributes

ARRAY
is an allocatable array whose allocation status you want to know.

SCALAR
is an allocatable scalar whose allocation status you want to know.

Class

Inquiry function

Result Type and Attributes

Default logical scalar.

Result Value

The result corresponds to the allocation status of ARRAY or SCALAR: .TRUE. if it is currently allocated, .FALSE. if it is not currently allocated, or undefined if its allocation status is undefined. If you are compiling with the -qxlf90=autodealloc compiler option there is no undefined allocation status.

Examples

INTEGER, ALLOCATABLE, DIMENSION(:) :: A
PRINT *, ALLOCATED(A)      ! A is not allocated yet.
ALLOCATE (A(1000))
PRINT *, ALLOCATED(A)      ! A is now allocated.
END

Related Information

Allocatable Arrays, ALLOCATE, Allocation Status.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] es l.$Bif>H>X>';4 ./usr/share/man/info/en_US/xlf/html/lr207.htmp/$    "<=>ADEILNTet -/HOPRSainors%0245:BCGbcdflpu(),.18;FMVWYghmyz!&369U_x#7KQX\kvw|{}?[]+pIs>0Y*ПBrJ>zN#8:gږ8 yG&ɡfϡ M2]xX( >8 y&L}7 \ozKeLY$?pc<o峂E2?ρ\٣+[+e]vemc峂ρ(|dT 3M2ų)H?eA_sxD>obB))%wJםkK幃ljZX,vOk`-XW<-~٬\ `sxotϘ ,g diZ߹7( dTo,(M/]O `(.M.M+^vUƂM5 CdG n%Y8ͷ8RUf` 8,(x/iGULN81<,44/B:>$`x9" 5 a"hIǏrN9t}72R6&2BkFFԵJZAFA9' afx(ɜv AG989[B- 5s*o8m+uHV98:WB'9Pr)@Tyq1,k,d(!)AҼJ%-.ɬ 9J+lVkp'/2]>mG9 JBUNV%b&efr DR98LpV3`WeJ 6g>Ʊ`rM nV) ui c͙ȱuac!G9 !Cok ጄc _X9XW]vEl .a|E)ir)OȦ8EcYq5oQlLx+H9]`sXf,dQ+: x*٠8C@lhПR@ x -pxqDrZB<@lhC^`fFږ9'q(tz*L9]@ČXO kcaTsCB2+M+mxrRa-)] Ma<9Á}0閆 ȨM+^v3ɎM32ې8~h xPE@$d-)o/ r7 JG!~g ČXO! %!(9nXrevi kP$#if>H>X>';#./usr/share/man/info/en_US/xlf/html/lr208.htmp/$ ANY(MASK, DIM) XL Fortran for AIX V8.1.1

Language Reference

ANY(MASK, DIM)

Determines if any of the values in an entire array, or in each vector along a single dimension, are true.

Argument Type and Attributes

MASK
is a logical array.

DIM (optional)
is an integer scalar in the range 1 <= DIM <= rank(MASK). The corresponding actual argument must not be an optional dummy argument.

Class

Transformational function

Result Value

The result is a logical array of the same type and type parameters as MASK, and rank of rank(MASK)-1. If the DIM is missing, or MASK has a rank of one, the result is a scalar of type logical.

The shape of the result is (s1, s2, ..., s(DIM -1), s(DIM+1), ..., sn), where n is the rank of MASK.

Each element in the result array is .TRUE. if any of the elements given by MASK(m1, m2, ..., m(DIM-1), :, m(DIM+1), ..., mn) are true. When the result is a scalar, either because DIM is not specified or because MASK is of rank one, it is .TRUE. if any of the elements of MASK are true.

Examples

! A is the array | 9 -6 7 |, and B is the array | 2 7 8 |
!                | 3 -1 5 |                     | 5 6 9 |
 
! Is any element in A greater than or equal to the
! corresponding element in B?
      RES = ANY(A .GE. B)          ! result RES is true
 
! For each column in A, is there any element in the column
! greater than or equal to the corresponding element in B?
      RES = ANY(A .GE. B, DIM = 1) ! result RES is (t,f,f)
 
! Same question, but for each row of A and B.
      RES = ANY(A .GE. B, DIM = 2) ! result RES is (t,f)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] YLE=" lp$if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr209.htmp/$   "<=>AEILNSTe -/DHOPRainorst%01248:BCFGMVWYcdflp().5;Xbghmuyz!&,369QU_x#7\vw|{}?kK[]qx% `³z5/"'hxQ'<^O~)2,ގ)'CgeL٧?!B!B!B!B!B:DC Q"K&2 t` @8q ̴ ɮ%44?8$w0DDCi &Cl 3`HPGi :,X 0_DC:$+4֛]d A "{!pm\̶Or˙5ʮ[asu[h[tKoЉ_B'~Q-!]2۝llw&C 74"tWu70ᓍ8"{yq2Mp/!ARI_s!4"s]5L*$c!afDɮ8ì4kw!g̛ttt<,4,2ƛ!N.dm2:$s$;-6 L !iz7'$*$b'^m]Z8pӂ9؆Wi[]m 1ibHǞ"ykeL٧?!B!B!B!B!B!=YpbєOzc#U\;=lyd^c"{" Çl^{ՉLl_/i54m2pӍIKbv0,vW;є^cb{ՉV2lˌ3 .[s=G6"ɗXiެ_|,FMe~ɯ']mrѾR"{ҬOzzX0F/E,E%o+ upG<@E{ÆĻ3W8âG8N:+! {I(ެ_|,Dq )b=g2!]\6"ɗXiެ_|,El"q߁#k[`4EܸoHcu3sbe,R+e˜ѾR"{u#G{|Nɮ=0.:@w.u2 kH9ggd5á`S kBzX0 kB DFkH]b{ՋHәq )b=W8as[hέ{Չ"O~$F=Z' V- yiV- "0]JIJ^a8hС[Y[+8iulnw&X6e2{Ѻ^hR̞7hR*c D }ՕbiPq<,VMe~ueh'?*ХK F ؾ1YM˨8H+b\8ܞn'Z6'Z4…w(i%*;yz%Bl_ueo|e`O$Uwsɰ=YZ/G h D/*ХH>X>';G./usr/share/man/info/en_US/xlf/html/lr21.htmp/$ Chapter 2. The Language Elements XL Fortran for AIX V8.1.1

Language Reference


Chapter 2. The Language Elements

This chapter describes the elements of an XL Fortran program:


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] x lB$if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr210.htmp/$    "-<=>AELNTet /DHIOPRSainors%01245:BCFGMcdflmpu.89;VWXYbghxyz!&(),36QU_v|#+7\w?k{}K[]q =ZtZPa*OA:\#tzW-^=)mJ(%I#tZJkd@.I#`EX``nw1c1c1c1c1cǽ>G"&i _̘4<p!rÙ )0 8K< A@({| m!p8-xjv ¼9  gH "4g#{l࣌gH&ۇq@4((+{|]DDsv z_ ;ÌiޫÙ-#{1~Uvh;aܸ|Y,#{19 2]]9].iNˌ qO|W*ˉ`Xk.0_<g"]2E68ԼZxj"jZ㬵iK'Z/[hvD9dixtfvGs2~๮vL_lj^}+W L2:MjZPɳA|;ŗ[xHIԼW,dt g7Rץ Gq8`ODx+d| R^꾀ba0g>jZdys0Dx+d| R^꾀ba e;-xdys0Dx+d|}i(sO(uݑD?Cl8"DxeĘhG8?69el,59#Ɯ ?vLdH0Y]MG` ?̶^E `i h,2YxDDGۆ4x>/pG4eJ"#JP2Y4ۑGq(ۙqL;  e JK#ю1:.ۆ1c1c1c1c1c1{#?ivd8A $6Ua㭃8s HlRP% {{{{HpӬ{{{x  J*%KHOeM A +#B~-HH5Ӳ;Z#8 K&2jZ6S];"!9AH+#ଦwYk @8;?2ue:tZ0"0AVP^)b'Mayˌ e,VG+(#y@26u vs `sg]uO,vZiZtXBhAӁcB( d|Xa`YKVT5xk,N_,VP^)b[5qC4c9qðA{+%7ü8 +(/uY-N `A+# Sy&q: vZ0"0#юÎ6&ɶ3{upS*e_"X0ЎxP)ZtXBhAӁs];"ZtXBhAӁaC0"|r+(/uYPMg a Rd|N0~$ÿ"X |$J>ZGy2օ/2uL-4cԨᩣt AugnHdWBF .s2f Ҕ.S+hhR'T:IKBF:MJ7J:8Vv>mEpD$`:o gP ;J])By2օ/2uL-4cԨ'xjh(P]Yۯp:eYKaӦ(s՝.t[GkB:VJ^ޚ1jT~ѺQ젺^tme+!#a|pDVvRZP>GΩv)}ᓪemJF/&F M@^ ;uZGL^""0^kdO ;J]B2օ/2uLQ]RheԨᩣt AugnHdWBF s >.(!te T;Z2EwIERᩣt AugnHdWBF s >.(!te T;Z2EwIERҎ /e՝#[k/u\ /d)O ;J]A (]i T;Z2EwIERwҎ /e՝#[k/u\ /dNȟVv2em _xd[GnҤѢIQSFGG{֑-Ȯ0Xv]e`AugiA (]:VХNv+*M,t M@^ ;uZGL^""0^gD csuaG՝.t|[GkB:Vۨ4hjT~ѺQ젺^tme+!#0AugiA (!u #t|[GkB:Vۨ4hjTnѺQ젺^tme+!#s];"|]YPBGΩv)}ᓪemJF/&Go M@^ ;uZGL^""0^jNa9AugiA (]:VХNv+*M,t M@^ ;uZGL^""0^jNa9AugiA (]:VХNv+*M,t54ntq{(.׸}i2Y{H{!L:|]YPB]iA ̕i#?iu4C 7e'#?iu4C ;e'#?iu4C A +(*%R{{{-'4-{{{$%( ԔVPIi@ }%R:ݳ U`G+sg -BN%{%\9λ`GBr H %{+`O=Vq'.Ijp`,ɩk]Xk8k. ˃'Z# %`Hp5{kh>jGI7jA#D>PA+ ؽ k$ if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr211.htmp/$ ASSOCIATED(POINTER, TARGET) XL Fortran for AIX V8.1.1

Language Reference

ASSOCIATED(POINTER, TARGET)

Returns the association status of its pointer argument, or indicates whether the pointer is associated with the target.

Argument Type and Attributes

POINTER
A pointer whose association status you want to test. It can be of any type. Its association status must not be undefined.

TARGET (optional)
A pointer or target that might or might not be associated with POINTER. Its association status must not be undefined.

Class

Inquiry function

Result Type and Attributes

Default logical scalar.

Result Value

If only the POINTER argument is specified, the result is .TRUE. if it is associated with any target and .FALSE. otherwise. If TARGET is also specified, the procedure tests whether POINTER is associated with TARGET, or with the same object that TARGET is associated with (if TARGET is also pointer).

The result is undefined if either POINTER or TARGET is associated with a zero-sized array, or if TARGET is a zero-sized array.

Objects with different types or shapes cannot be associated with each other.

Arrays with the same type and shape but different bounds can be associated with each other.

Examples

REAL, POINTER, DIMENSION(:,:) :: A
REAL, TARGET, DIMENSION(5,10) :: B, C
 
NULLIFY (A)
PRINT *, ASSOCIATED (A)   ! False, not associated yet
 
A => B
PRINT *, ASSOCIATED (A)   ! True, because A is
                          ! associated with B
 
PRINT *, ASSOCIATED (A,C) ! False, A is not
                          ! associated with C
END


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ">Tab lꀅ$if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr212.htmp/$    "=<>AELNTet -/DHIOPRSainors%01245:BCFGMcdflp.8;VWXYbghmuyz!(),3679QU_x#&\vwk{|}?[]Kx 9YtZ}Pi)O Q=*@RӃҔQϪuƀP7zNx+2Jkm><y4C '@6`H@ iK˶ g/c<y L ɶlQDo$[mmm? ρ]DnrHW."Î˭@x܁-*ǥZ|͘b1]nq8Q$Gr<jS r36R+Q@`/ۜpQ$Gr<jS ܰ<.YԥeJ.`/ۜp8Q$Gr=zN^{w]IDCaZ#Ha  6۬ݖ#uBwQjnG6 ;vL\D0<(.٦#0\[jqCV#m& [jd@F{M$)AzNP9%(QPyڿ.٦4'llFܻ5̶a,$ h@נeJr?ɣ+0bu] ;<D*ٰrAʰ!lЌzCa6`BkhC`sM=>>--đZ53np`dԥeJ#Y4ЌCsՁVphB_Yh݆,țEm`겔+ &%f(n݆x2'{:Pz3VFy( A#X=`$&}f} ۹f FAUX4î겔+$jVjD/v[hUX-gD_Pݻ dx2ܜW8\fZnRPt&g M8V4:r2W=ElD$`\W7cƐzJ^3L7'"VT-4w 0FpѪ[ =ucNC--sdVBF -gD_Pݎz AU(>x2ܜW8\fZnRPt& M8V4:r2W=ElD$`:. AucH= UT|fZnNE+.3L7*ҔQRcs&R@^Au9nm""0^B5z AU>2ܜW8\fZnUEs(%&g M8V4:r2W=ElD$``L`AucH= VJ +MʨtdԘ#8bh-^Ӗڹ+b!# Xfܳz AU>2ܜW8\fZnUEs(%& M8V4:r2W=ElD$`9.iT`*Usꏌ+MȥsiTW:R2Y}jLnpѪ[ =ucNC--sdVBF #Ƈ=Ս *T|fZnNE+.3L7*ҔQRc&R@^Au9nm""0^@ba͹bmw,ƐzF>3L7'"VQ\J(e 0FpѪ[ =ucNC--sdVBF lL<չ,]Ym4s]XBGiR4r+)E,5&?8bh-^Ӗڹ+b!#,AucH= UT|fZnNE+.3L7*ҔQRcs&R@^Au9nm""0^@Ɲzs]XBGiR4r+)E,5&;8bh-^Ӗڹ+b!#f V4Ъ0}Qei9p2ܪJQFK/MI3&R@^Au9nm""0^AiF`Q1AucH= VJ +MʨtdԘባTzƝzN[[jȭ=Ս *VЬINP9FgHJR~F8&H>i[h 砤sMrB09in&hYDD4x9`sՃZ%IiٰrAʰ!l[73`BB0=%SpӃAW,2؛V,#;ZE7 88h FY X~z-"8 F@5)YR jݳH>X>'; ./usr/share/man/info/en_US/xlf/html/lr213.htmp/$    "-<=>ADELNTet /HIOPRSainors%024:BCFGMcdflpu.1589;VWXYbghmyz!&(),36QU_vx#+7\wk{|}?[]Kxit\z`5Dz43ϝйZKlNz+X Jq9FeyZ`a?yFNxp& ,_ u0Y!B!B!B!B!B!#yl_eˀ Zl\,p_ uˉP Ϲ9G;8vmvX`mk=,p#MqFz )F9G;&M 4z$JLi!s.&)Xo \#raV]c-dȷdD_#򌃰c<o峂E2wtNx͚2e,vZl[6;Xo-.[8/ą9G;V^SOXS͙$ib:+2ѠD略"!)5wJץ ] [6l+v`-XW9^Vl .ar݅p^Vl .ar݅q9iyt/t@X1i&Xˮ,k%k׆)S!7vpXXPcv'- d4 sV5NyRSȥ11yX,ɖZ7y6ZK12ג"8, $ %e瑋Ě9G;т ,_ u0Y!B!B!B!B!B!w:'>^+Hm4 H55y@&5Y3k 㩃k @&'=85)9s9s9s9s"W09s9s9s9s<1yH9ZCQA(sEi BjJ L4p@E@2IZ{^V@|NzqExc< 4>V`O d`We6g=v9| 6sӋպXdЙ\1qcX0_9iq#yo=[Dα9^F"<1y_9TyX52sϜXnV)FVmJ"sӍ W ec< evX9DR*afs,kf g-.$o8muH¸7zqzQ+lٜ匛V%b9Ma_/64 V4[+0_TbzifsKL4 f@r+M iV43Xlh`)| ^x29DR4*hyDR'=8$ h,Ȧ89c&Dž 9Ei Fbǂ^|s"1A;({H!@xPϔNy"s"5Ϻ9Cʨ6'}Ҫ%- "]I*FwB8(f+un#ZCL2\ 4fSX,{,+zyB/UD;Q)hitFpITvgt!l^rV54,eͮ/cFldЙ\1qcX9窜t"TJZZUJHg $A;ѝІ z[֐ 6S 3qcX9窜t"TJZZUJHg $GFwB8(f+un#ZCL2\ 4f5oɿ&瞪r^}ЋϺ}ԉϼKCkBw*Rۤ))EaNgt!l^rV54,eͮ/cFleyZg?*RНJ6' JtQXi$?xz3C6/U9[qa26"l瞪r^}u"yUք:UDI=RSI%PCG ؽTnkHiX˛\_ƌ؂yZg?*RНJ6' JtQXi$ 4pP͋NVFe@,h͊@ 9=Th/KCkBw*Rۤ))EaCG ؽTnkHiX˛\_ƌ؋azy^}ԋϼ֑9H@G9s9s9s9Σ&:$J]9s9s9s8ybRzq9)wˠ @;hjk cvMvLtϔxAJhpHLSk6Ma<Qǜ{H!Y5#'<)LF/= Nth C E lؿ$if>H>X>';./usr/share/man/info/en_US/xlf/html/lr214.htmp/$   "<=>ALNTenst -/DEHIOPRSailopr%&.0124:;CGYbcdfhmu(),58BFMVWXgvxyz|!3679U_#Qw\k}?K[]{q %\.^ *AUNh\2(hLp*'D|nzX)`~ սS ya8g_R)JR)JR)JR)JR)J]&|@h!jqِc@ ù\Od}#HP  Kψ 8sBɃ|7sCrws?o"$ 4`:kmz0:;lg> 4YKLcw;}+{7 }&|C=IY((7tَhLmrzX?0٦|s*^! 6i-?)zX0٦|s N^렘T6P(w rZ%Mm?nMBBψbwR]@B׌((`?y@p'$D$,&|C:& xa-kko8$D$,&|C:& 0$oPӵZ?y@p< HI" XLrOMJ1Bg,n|Ap6D0g)om]uû3.="g ٝ%xHa|.F!3ӹ؛%pi /_8ӄnZtJq Y">!Ssa~P.Ban4БƏ&Bϟtg :)JR)JR)JR)JR)JR)J]&|i@ %c@'i3լhCɌEځ D L3 ƞ NPQ&)zX:&(8MQk];\zX)`~ 'T!3ϊ6D1V#!;m܍74uoɆiZp;܊ayN<N/(x?, :㿆> t3rݬ<(N(y$pk>97ɞɟ7icxXoT-͵x;j(vYG1|WY XƎӇqY Xψ"Х|jo_O?k{yeLmkZp>u>7o4iø?f|@g}_f:q0%t|?C`a8Y޻y7YAuFd&1͓x/K,d&1͓̗TiF5Vj2_OɌ1/74uyD86AK" 4Ug5Mr2_O!c2_Oohb8|QUa/sdd&8;7b8|QUa/fKcY3d&0Cdd&8;7>(YƪS\̗3%1ݬ2_OɌ}+,݅Vi4q1Zf|W/KƄ񣁹oE8i^e[~͵\s+ݛrs4ئ  yq__.+/?@d&*|QezZqEv^{7"Ӈq5zX)`pn޻O+f媜i 6)A!:^!Ko.+uQ#]TH}7US>7bgzUR*]iUJP ZX2TT|8r]I@@N,KvnZb$8\&0٦{4sWnu=*[JL.ᴪm(-{REB9T@ \'W7-TNhiL .Nc;{Wnu=*[JL.ᴪm(-{REU+( ŕnU9@ӹlSG Ǝq7|QezZqFN7SҪTJVҀR׺(ZaÕJJqez[rNP4v 5ֽ5Y^Q7bq>7KҪTJV҅^Dl3(ZÕJJqez[rNP4v :^ |QezZqFN7KҪTJV҅^Dl3(Z!ÕJJqez[rNP4v 3847NY^QSm(U0ÆҪuQ:$ 9T@ \'W7-TNhiL .3Ms}4Ei8/JV҅S 8m*[JYxuI̠QjU+( ŕnU9@ӹlSG +ӊ7JqFN7bgzUR*]iUJPèMeT|8r]I@@N,KvnZb$8\&/K>(-8tUJPaw U+iB/tI6 -Rʥu%8-ٹj(w;CM`HpNsa6{i+ӊ7Jq^T xpUR.'Da@C*Ԕ f媜i 6)A#f]:]w۹,KN()zUR*]iUJPèMeT8r]I@@N,KvnZb$8\&'Y^QS7bq>7KҪTJV҅^Dl3(ZÕJJqez[rNP4v 0xLx4Q Ei8/JV҅S 8m*[JYxuI̠QjU+( ŕnU9@ӹlSG N>(-8tUJPaw U+iB/tI6 -P$8r]I@@N,KvnZb$8\&t((1Ei8/JV҅S 8m*[JYxuI̠QjU+( ŕnU9@ӹlSG +ӊ7JqFN(ށUNgy*vwx/BYt>gyƪPΘ6FVύ=AHHqF>4br"&|i@R"D &|W^qQ*`N xJbwMuQ:&(8Ar]uQ:&(8M'l oІ"'|ia0Aog2Z.;Gsgz4Qog5a[$x%ыj'(O{P19@)݂V4 ] BqF>(,i.Yfon l-$Eif>H>X>';b./usr/share/man/info/en_US/xlf/html/lr215.htmp/$   "-<=>AELNTet /0DHIOPRSailnors%.1258:BCGYcdfghmpu&(),4;FMVWXbvyz|!3679U_x#+Q\w?k{}K[]q%I6`I+O(  e.CoB؅y $TJ9P TCy-iΞ/,s9s9s9s9s9s1Ȁ$H=Lѳ3E}@fgg\~"'."8\(`WDcCx{18Xϴ=Lc1S8#r({;@BF#L#t5 M׎:;ix@ 4>@Hն5O hvi_<-yӚ{b}BA4>@HǂXӛ}?-d1F<ysh;i;r>Y_:o4[z/D4>@Hǔb-,kEηM6%vkH7u?cCl⡶C]&!ɫso4[m:OkhF-dނzUp9.hEOkr],цw7P5+F(%@oNn99rj6g  la|^[O"6>AzyѰ P:p:p;xrj6g =N=" D(  fkɽ}e3yzޞʌy_5ęlt'sg_qLkָ-Ό>H$$WZc+&/$Գz76| m\>KRLeupRL.hDc+>KQM|[e eupR~MPժO4>WRo,}9 LLw_@:n8Nh-&[;k]771k\7_p=yP I]J)>kˆt|FD8"f r@BD|X3{ 3/ Ab20!u)+E qf gah{Oo}tѶw/.@@ aBRWRA-Zi8m- >H]JJQC3{ D'ֻ|{?іvЖ$.%u(Vh\/-ZiΌ>H]JJQC_7B~kηiAXԤ1&O٭vD_ue5:OB d,aBRHoC$WW)`[&7]\Zp9.4`p@p4b!/e"48qAmgzlL aZӟf|^ԓ WЦ.+1ш_|WhF" O_#F#шƌD$ZY{P-Mӟfęl=s\HHGi<,&;+{Nsq}M <\)\* @"(?EQEA|X1QEQ!C"((8"S W /j%|/C嚒W~P' 30պ18W9T6Djl8ze9ppZd8u4D"FhF-ɽ$ZtS18^)ʡ%8VK)$c%oiîn/)$ U'MAI Ie?[SpB +S5nQ,8. WЦD\(:Dh $S) 8unLNU Q) Q,8. WЦD\(/@AI I!,C唽nLNfaëu bpʫCje؜ q%’aj㱒a7+rG)$2%nLNfaëu bpʫCje؜ q%’aj㱒a7 '[{L|ajC)RYK{f:P' :vV]ÇS IJӁ\_hSDH"./ o}2AI Ie/[SpB2کYv'j*=D8xRL-\v2V :B"Ap>H0qI!$2%|) 8unLNUhtT5n6=D8xRL-\v2V :B"ApUp9# WJ^P' 30պ18eUӵRNոpsI0q[p0뛋 hE…:"޹ǴYul $R) 8unLNUhtT5nQ,8. WЦD\(]Ӣ-{E}\iϒ -\RHe*K)zB/`ÇVVNJ˱8VP%’aj㱒a7AI I!,C唽nLNfaëu bpʫCje؜ q%’aj㱒a7ZAI Ie/[SpB2کYv'jt8ze9ppZd8u4D"E[$ZTR18^)*bp&%’aj㱒a7n4 |ajC)RYK{f:P' :vV] Q,8. WЦD\('ϒ -\RHe*I I!|PN $ ! I W⡶H@(( $h|PN $ FZY{RDF1c1c1c1/1$ ޜ}\c1c1c1cHY{RKP-I&$J^ H>X>'; ./usr/share/man/info/en_US/xlf/html/lr216.htmp/$ BIT_SIZE(I) XL Fortran for AIX V8.1.1

Language Reference

BIT_SIZE(I)

Returns the number of bits in an integer type. Because only the type of the argument is examined, the argument need not be defined.

Argument Type and Attributes

I
must be of type integer.

Class

Inquiry function

Result Type and Attributes

Scalar integer with the same kind type parameter as I.

Result Value

The result is the number of bits in the integer data type of the argument:

+-------------------------------IBM Extension--------------------------------+

    type                    bits
-----------                ------
 integer(1)                   08
 integer(2)                   16
 integer(4)                   32
 integer(8)                   64

+----------------------------End of IBM Extension----------------------------+

The bits are numbered from 0 to BIT_SIZE(I)-1, from right to left.

Examples

BIT_SIZE (1_4) has the value 32, because the integer type with kind 4 (that is, a four-byte integer) contains 32 bits.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] T kꐏ$if>H>X>';./usr/share/man/info/en_US/xlf/html/lr217.htmp/$ BTEST(I, POS) XL Fortran for AIX V8.1.1

Language Reference

BTEST(I, POS)

Tests a bit of an integer value.

Argument Type and Attributes

I
must be of type integer.

POS
must be of type integer. It must be nonnegative and be less than BIT_SIZE(I).

Class

Elemental function

Result Type and Attributes

The result is of type default logical.

Result Value

The result has the value .TRUE. if bit POS of I has the value 1 and the value .FALSE. if bit POS of I has the value 0.

The bits are numbered from 0 to BIT_SIZE(I)-1, from right to left.

Examples

BTEST (8, 3) has the value .TRUE..

If A has the value
   | 1 2 |
   | 3 4 |
the value of BTEST (A, 2) is
   | false false |
   | false true  |
and the value of BTEST (2, A) is
   | true  false |
   | false false |

See Integer Bit Model.


Specific Name Argument Type Result Type Pass As Arg?
BTEST (1) any integer default logical yes

Notes:

  1. IBM Extension.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] i|^ kv$if>H>X>';./usr/share/man/info/en_US/xlf/html/lr218.htmp/$ CEILING(A, KIND) XL Fortran for AIX V8.1.1

Language Reference

CEILING(A, KIND)

Returns the least integer greater than or equal to its argument.

Argument Type and Attributes

A
must be of type real.

+---------------------------------Fortran 95---------------------------------+

KIND (optional)
must be a scalar integer initialization expression.

+-----------------------------End of Fortran 95------------------------------+

Class

Elemental function

Result Type and Attributes

  • It is of type integer.

    +---------------------------------Fortran 95---------------------------------+

  • If KIND is present, the kind type parameter is that specified by KIND; otherwise, the KIND type parameter is that of the default integer type.

    +-----------------------------End of Fortran 95------------------------------+

Result Value

The result has a value equal to the least integer greater than or equal to A.

+---------------------------------Fortran 95---------------------------------+

The result is undefined if the result cannot be represented as an integer of the specified KIND.

+-----------------------------End of Fortran 95------------------------------+

Examples

CEILING(-3.7) has the value -3.
CEILING(3.7) has the value 4.
 

+---------------------------------Fortran 95---------------------------------+

CEILING(1000.1, KIND=2) has the value 1 001, with a kind type parameter of two.

+-----------------------------End of Fortran 95------------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ious l̋$xif>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr219.htmp/$    -"<=>ATeint /DEHILNPRSachloprs02:BCGMOdfgmu%(),.148;FVWYbvxy!&+35679KUX_wz#Q\k|'q{}?[]j*O D|4BG}OԚ|݌د_-|nfb n0bٳ,ս/gpjܱ3hiVq^Ps&-n g/\XlN^P͉ث8 wwwwwwwwwwwwwwu"DʬAiY$&8qO>f -nomؽ a6V1@}+yϺ"Ϻ"o"2YDCbN$&C{D 3l?w1'Y Y>qVq> P㹻abq 8|.۱3?%3b Nf4Eanݰ_-w1`briN)4pbJu?ld3p+2@\ > g `"IFp!a!a|`^-[ٛrP"Q1TeN+E:M @οp s&-cbrI8D$UiRP R(N#%Ê$}Qa8U4%c:6 4&Zϙo>.؜Rq:5G4)(&aDJH@D>0WVu*g1~ ?p6'.N3Zq65?4)(&aD*QXtP,DaTeN+E:M @οp ȣE˫E'|SHh VNIIBE J&:Q#ꌠ8 uh^(s0l^VN'TƧ&%%8HJ+=L(FP ⺴SQTД 9xИL0eZa͞6'.NOM"JJ %Xq:&%% V(z /((|8G@p &NESBP,3#aBa1?BaAq8͉˫E'|uVN&͍:&P*ԙVq!5͟q Ģ~ gҚD 3l?w0?v3}3r=0VŘ2}ưs&-gҘ9>$yw̺ejދI.ˍo366 6'NqVqUd'n"Dʬ͊+N$&>4謀A `:pUԟiY)AX^{DO4謀Ç k&!5,1>ӢRo LdJ)T'Vp"3leIƝx k&4OY%@^ZX+aI'͍:&Ã{Bq:6'(xr5&0H>X>';p ./usr/share/man/info/en_US/xlf/html/lr22.htmp/$   e "-<=>Tanorst/ADEINRchil,013BCHLMOPSdfgmpu.249:FGVWXbkwx!#()5678;UY_qvy%*+Q\|K{}$&'JZ[]jz?f,%2`qiy禔=L>y(6PI$a4M)^9JM4䶆6]Z11c1c1c1c1cɰp"DP80`[#AnֵB[|( _@GMɰJڬWēQII5A jށGgɰDN_=29\LjCCM2ϻ=p [k1S;v(9k!?c=2?{^/,<:݅:_8`{;3:qX}1} gLq@M"[Y}0um\ދg1d r6ɰ( Q(*%ȕRi)8v^ی4p3/Kl3r3fYXڭ:[;΁r)3.wџ6ggEZMD%9z@891_0w"UIO_&Hk:MD%9z@891Θw"UI-03  4  &SC= ]} 1J4\vqcFq`p`)l %49)̳Ɉ.qȕRi)823  4ÃI/0y4Bg6.΋I .iql 13XC1fNAtC2w p\ZQ,* ord&·z5fŵK;7FA&$2 ڹY^.dBd}ҼͯLOm\/.^Lr[C~kc1c1c1c1c1c6u(];2-CZ@$"t5]3ڭ<6 u(\II 404s%Rаl DII"+[;|@%ɰ-)LzW/E\1gss c8S5f(V^;u(\"cǎ tzl Q(4DǏ tzl Q(4DǏ tzl Q(4DǏ tzl+&h& Jɰl&KM1"iEi)+9(1q;&E@GH;|6̔2]i)H>n(LAHY̩Gtы&$3%:Hi>d LAHAw@b E eJ;\D1I2Qp$h91Fyz-JP>jVMLAHAw@b E*YܒH"%IwM`YTO RHU%H٤8?Rh?4C?i/;O#I f__IS'XBMJMFP=i)H>n(LAHeK;IRT\D0q$љ(pl *sB=[A ol,Rl2LAHAw@b E*YܒH"%IwM#@GI,R Ң 3d>5VQ3c?]avy_k a_k;@݅VLjў_4\#c:,Z:nt M0G͹ߕ+F~4"wj/Kl|H>.fBɰ1$U@ӛÛS ?@(G^@%k8{,c,Tױ\ivGl Q(4DǏ @$PVBK9E6Ң `+}`X2Ԫe˱9EӛSc[y\3LrrJ3pHR6$ 5&w1kqЗ3k0`QEɢ&4"wj/KlŘT&0:+i-_f7N(uL1S\Q,+gӜ^ºyRS}+1k\Zѝ3=kWs}oZ36ͮ3AMdcLk,c;qk7AB'h3fmQmͪ3ۭ19 (r l JHH>.NL PֺSc< lB\ CU _&"Г;Z.!*|\Dž/n/Z.!*|\ƅ/`b%TJMҝc.fK*) f'S/ЗxB]CD@jJ&QBrh@ k$if>H>X>';./usr/share/man/info/en_US/xlf/html/lr220.htmp/$ CMPLX(X, Y, KIND) XL Fortran for AIX V8.1.1

Language Reference

CMPLX(X, Y, KIND)

Convert to complex type.

Argument Type and Attributes

X
must be of type integer, real, or complex.

Y (optional)
must be of type integer or real. It must not be present if X is of type complex.

KIND (optional)
must be a scalar integer initialization expression.

Class

Elemental function

Result Type and Attributes

  • It is of type complex.
  • If KIND is present, the kind type parameter is that specified by KIND; otherwise, the kind type parameter is that of the default real type.

Result Value

  • If Y is absent and X is not complex, it is as if Y were present with the value zero.
  • If Y is absent and X is complex, it is as if Y were present with the value AIMAG(X).
  • CMPLX(X, Y, KIND) has the complex value whose real part is REAL(X, KIND) and whose imaginary part is REAL(Y, KIND).

Examples

CMPLX (-3) has the value (-3.0, 0.0).


Specific Name Argument Type Result Type Pass As Arg?
CMPLX (1) default real default complex no

Notes:

  1. IBM Extension.

Related Information

DCMPLX(X, Y), QCMPLX(X, Y).


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] HEADE lr$iif>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr221.htmp/$   "=<>AELNTe -/DGHIOPRSainorst%0128:BCMcdflmpu(),.345FVWYbghxyz!69;JUX_v#7QZ\w|?k{}K[]jIEiR`Q*(O S : إ#$bt,8V`,8)Wi-wz*㥞wwwwwwwwwwwwwwwwwwwww|N2 :R=d`!`áOwqm~帐hN`Pg DyO?8eE8}y V'@ yG&gZH&㦜uq8<#; >v]mz4Vrܣ/֙0Y ]Ży:S:Nnfn{wuܷ]1Gy:S৮4aӍx6yZ*q!o<EnQK6b%_COu tW<dR{1WEխ[n4ͶUl'V{ƮUf=jxʴ]L'ը%.hE{lDӵ>`()@n6| rjӭ >d#e׮ `()@f2g&m:pBx?xBa!l);Kk,|PRխ[n:O44hg D0 :'ite P?r⦚vg&m:q_ @Fƍ B!'A}cW~⯠U'U Mde;4>Ӎd&m:ȓV`% t76_pgpɣ2%wBу]Z:&lX-}Z6ނ YujN4Z0Fс(AQ0E6JcW\2hB "t(0A,J'Ahݷ1˛l8Z0b˫T6aacW[hHz1eժQ: EL߲у]ZLb˫TtMn/w/7~*ł{f⌽`8OTQ*YU9#5&Q'<4fF -*,#Iqy{ 4fD˲lMAX #Y*(w)0gJUlHv7 @ #d^ńi=64/r$ȖvMpɣ:0!dc #E&lWrʭ95hADlљ0ذ']=DљktaiV0BYxY*(w)0gJUlHv7 AF  J{mh^H DJ (ZU1WrpQDeVΜcpADlљ0ذ']=Dљ1~U&\T Ҭ`,Juʊ%]*t$fՠ^q{Fd`үb4w|FdK8lHW 1qS JF0>TQ*Ra*(w,ӜnVF  J{mh^H Ac,`,NWrpQDeVΜcpADlљ0ذ']=DљJ (ZU1WrpQDeVΜcpADlљ0ذ']=DљjZZU1WrpQDeVΜcp 6OpxȟZUXF.oB"@h̉5J-I -*YQDI[8|UܲgNrFkMZgQ'<4fF -*,#Iqy{ 4fDZZU1^0B%I-\~@`=VZ0PO1W8QAZDKE' 0BQ:I(,00NdR{" Z'Ah5Q/ tטvg . Y;l~"w|%^aۆ0( l1~~M߻o%K÷ :( 4WR b^-qX!(΄dR{|pb̉#%%QN)>P k!$if>H>X>';./usr/share/man/info/en_US/xlf/html/lr222.htmp/$ COS(X) XL Fortran for AIX V8.1.1

Language Reference

COS(X)

Cosine function.

Argument Type and Attributes

X
must be of type real or complex.

Class

Elemental function

Result Type and Attributes

Same as X.

Result Value

  • It has a value that approximates cos(X).
  • If X is of type real, X is regarded as a value in radians.
  • If X is of type complex, the real and imaginary parts of X are regarded as values in radians.

Examples

COS (1.0) has the value 0.54030231 (approximately).


Specific Name Argument Type Result Type Pass As Arg?
COS default real default real yes
DCOS double precision real double precision real yes
QCOS (1) REAL(16) REAL(16) yes
CCOS (2a) default complex default complex yes
CDCOS (1) (2b) double complex double complex yes
ZCOS (1) (2b) double complex double complex yes
CQCOS (1) (2b) COMPLEX(16) COMPLEX(16) yes

Notes:

  1. IBM Extension.

  2. Given that X is a complex number in the form a + bi, where i = (-1)½ :
    1. abs(b) must be less than or equal to 88.7228; a is any real value.
    2. abs(b) must be less than or equal to 709.7827; a is any real value.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] AN  l$if>H>X>';2 ./usr/share/man/info/en_US/xlf/html/lr223.htmp/$    "=-<>AELNTe /DHIOPRSainorst%024:BCFGMcdflmpu.1589VWXYbghyz!(),367;U_vx#Q\w|+k{}?[]KAIlR@a $G=)ؑd:6)N8\F)#9!dIĊk xdIBL3ѺVZl'@#T @[\ɠ3 aoiuv师`> $;{sM1TOݷiJÒ`P 40`# <$g{hУl SiM64|N0cv\Gn˗-.asuhtS_@|NŹ6m7e rջWn[w r~X٣ ]g,ÅL4ۻWn[{t&STN単".Wx â}"94dR{rjr)ӭee * 2SY?pʰ]"w \+\"w \+\'@. ".ݗ_aCWE:uxLQ5r4𰰠DŽNI]YG$leݹlS[n\ 40`# 8:'itme0nw1p9iۄ`yo0w ` 1 ˃0E:u˺<7ƌAC ȝ!IE _qۃQ草R'AHi.m!M3v]3\I`N&č. ]N&ݻ=k*I!H#-y<`zB&MhtPw\A=#ФNU: ZʧRq: Ff.f캹\%]aNU:pه} _o']mnNt˙]tԜU;W0n=k*I)DsFhݻNC~ ݻ&~\$A>F)`N0zM=k*I)) k.`PPHH(t NB:V'BQ"uܤ[8l:NLt"s$/#z ˯q[ /"`}W3szJF0>THw)2V*$N)$7AÒB JkR{e׸DžbFݗ} \`},']LʉdgI )9$,Сy,ְ']]{ xXyn =e%X#Y*$N+g '] ɔΒS!dw e%^)=2`V Ȩy9ؐRU1V0:Cʉ&JeDrɩ 9$,Сy,ְ']]{ xXy)=e%X!Y*$N+g ']&tg$&ۄS!dw e%^)=2`V Ȗu͘wuRUDIpQ"uܲjgFrBjE:3$/#z ˯q[ /"Z6a0tYIV0>FCʉ&JeDrɩ ;8rHYB0YIWa OpL"p`}вTHw)2V*$NMLHMU@!dw e%^)=2`V ȠE5:d# !Dr%lᲢDdΌ[pt9$,Сy,ְ']]{ xXy1~iaguRUDIpQ"uܲjgFrBjE:3$/#z ˯q[ /"Yb&/7r8LzJB0THw)2V*$NMLHMUAÒB JkR{e׸Dž@c`},NDIpQ"uܲjgFrBjE:I #4(^F )*!Ii^0^D"RUDIpQ"uܲjgFrBjE: GphPRUXB..n<,` 1=e%X!Y*$N+g ']&tg$&ۄS#8rHYB0YIWa OpL*T@@cad<:Rd6THw,ќnN$/#z ˯q[ /")w)*+it%"IÃ( zȤ@ H>X>'; ./usr/share/man/info/en_US/xlf/html/lr224.htmp/$    "<=>AELNTet -/DHIOPRSailnors%01248:BCGMYbcdfhmpu().59;FVWXgyz!,367QU_vx#&\w|q{}+?[]kK%I\ܥz5PEJ\5R];4'rґ𺗭$IVF^ #{a1c1c1c1c1c>D$D=K+Flww\a,%0Xi u!#A [5ð:RֺX,(# 8,X0@pYBGG$'5urӮx$|!}Me h9Fse:sdKgD!#A ct73O/4_81hD_>Dm\4v|a|,%$|!ɱ?45[$y3Y5"Su?$| RJG@Bꮓ+k׎^i/̝pZu/$ {0]-2o^%XOs2~&J| eMd| R!@H)@'\9䕵ksnQ5mryf->Dž3d| R!@H)@ӆ o$K^:^,/h`n0@p#RNY AJG^1+k׎ 8,X0@p#RNY AJGp 8y%mzZ 8,XW 8y}bkO#ܢ]GU"e!`<.ipcC㯵pdw8 ?C4Cpu^!6p ?̺P"Mq׍ae2 Mdq׍a"֒>I(U">e.]z:YW^ee׼F&]s2$eK"z8cLa c1c1c1c1c1c>JGnZAk2#c%V\:Ȏ:3|AHOe)Q!Â(#9|(Oe)M%*{^4$MdkDa0qg("|bG0g[h.9dӮ.')"tϸv\1眼cE%Y(DWJFο[?"G1-RJPE*-(1uձ9m߂,]ulNGiQÙedӮ.'%$s y/4Xpbbr> IM > J ]ulNK2A.'#മk>uc-dǝm].'*Y6q?X؜$ q"9_5 eB8֍6$|"F>^GBvց:N*ޢQJfqѡBPai۱rtˮel9h&|aiPFOΪv BvVTVwӎ  N݋#]s(>О+e7NÙ9 N҂7NP~uPmNt7toQ++e+ZGLP}<,V|>uEiA(]?:N6çU :E[RJ:IZWN:4(V -;v.Vu̠Bx (#t U ;Zxt;GnӤҢGI+QJF An֑.hOnה.o:uPUmiQv#%tBlӷbkH\'Ŋ$IV# q XZvRo:uPUmiQv#%tBlӷbkH\'Ŋtf=>Ӯwgnt;Gk@T'h[ztT]%jWN:4(V -;v.Vu̠Bx О+d%ς,-;J)A(]y U ;Zxt;GnӤҢGI+QJF An֑.hOUa`"F^d4"EiA(]/:N6çU ;uVޝ&b:IZWN:4(V -;v.Vu̠Bx Mcu}Ϝ Ϝ ,ưhp"8Y yAKHVVYd9oi;|3<$4hi˂]2[;T*,9`le -AƂ;=. wglO5RPEZ-(UI(D78qp$"d|'2`R8,~G~)H3ZGiA52? נltjȎ6WttYAˀ@o  5{%1NdGFr?k6:Fɽ YAˀ@o k&2JWdxs8s/ˀ@oɰ 4RP@J8c#9p$eτR.Z̈eg#R+("VGADERS= k0 $ if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr225.htmp/$ COUNT(MASK, DIM) XL Fortran for AIX V8.1.1

Language Reference

COUNT(MASK, DIM)

Counts the number of true array elements in an entire logical array, or in each vector along a single dimension. Typically, the logical array is one that is used as a mask in another intrinsic.

Argument Type and Attributes

MASK
is a logical array.

DIM (optional)
is an integer scalar in the range 1 <= DIM <= rank(MASK). The corresponding actual argument must not be an optional dummy argument.

Class

Transformational function

Result Value

If DIM is present, the result is an integer array of rank rank(MASK)-1. If DIM is missing, or if MASK has a rank of one, the result is a scalar of type integer.

Each element of the resulting array (R(s1, s2, ..., s(DIM-1), s(DIM+1), ..., sn)) equals the number of elements that are true in MASK along the corresponding dimension (s1, s2, ..., s(DIM-1), :, s(DIM+1), ..., sn).

If MASK is a zero-sized array, the result equals zero.

Examples

! A is the array | T F F |, and B is the array | F F T |
!                | F T T |                     | T T T |
 
! How many corresponding elements in A and B
! are equivalent?
    RES = COUNT(A .EQV. B)        ! result RES is 3
 
! How many corresponding elements are equivalent
! in each column?
    RES = COUNT(A .EQV. B, DIM=1) ! result RES is (0,2,1)
 
! Same question, but for each row.
    RES = COUNT(A .EQV. B, DIM=2) ! result RES is (1,2)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] " k $if>H>X>';./usr/share/man/info/en_US/xlf/html/lr226.htmp/$ CPU_TIME(TIME) XL Fortran for AIX V8.1.1

Language Reference

+---------------------------------Fortran 95---------------------------------+

CPU_TIME(TIME)

Returns the CPU time, in seconds, taken by the current process and, possibly, all the child processes in all of the threads. A call to CPU_TIME will give the processor time taken by the process from the start of the program. The time measured only accounts for the amount of time that the program is actually running, and not the time that a program is suspended or waiting.

Argument Type and Attributes

TIME
Is a scalar of type real. It is an INTENT(OUT) argument that is assigned an approximation to the processor time. The time is measured in seconds. The time returned by CPU_TIME is dependent upon the setting of the XLFRTEOPTS environment variable run-time option cpu_time_type. The valid settings for cpu_time_type are:

usertime
The user time for the current process. For a definition of user time, see the AIX Performance and Tuning Guide.

systime
The system time for the current process. For a definition of system time, see the AIX Performance and Tuning Guide.

alltime
The sum of the user and system time for the current process

total_usertime
The total user time for the current process. The total user time is the sum of the user time for the current process and the total user times for its child processes, if any.

total_systime
The total system time for the current process. The total system time is the sum of the system time for the current process and the total system times for its child processes, if any.

total_alltime
The total user and system time for the current process. The total user and system time is the sum of the user and system time for the current process and the total user and system times for their child processes, if any.

This is the default measure of time for CPU_TIME if you have not set the cpu_time_type run-time option.

You can set the cpu_time_type run-time option using the setrteopts procedure. Each change to the cpu_time_type setting will affect all subsequent calls to CPU_TIME.

Class

Subroutine

Examples

Example 1:

! The default value for cpu_time_type is used
REAL T1, T2
...         ! First chunk of code to be timed
CALL CPU_TIME(T1)
...         ! Second chunk of code to be timed
CALL CPU_TIME(T2)
print *, 'Time taken for first chunk of code: ', T1, 'seconds.'
print *, 'Time taken for both chunks of code: ', T2, 'seconds.'
print *, 'Time for second chunk of code was ', T2-T1, 'seconds.'

If you want to set the cpu_time_type run-time option to usertime, you would type the following command from a ksh or bsh command line:

export XLFRTEOPTS=cpu_time_type=usertime

Example 2:

! Use setrteopts to set the cpu_time_type run-time option as many times
! as you need to
CALL setrteopts ('cpu_time_type=alltime')
CALL stallingloop
CALL CPU_TIME(T1)
print *, 'The sum of the user and system time is', T1, 'seconds'.
CALL setrteopts ('cpu_time_type=usertime')
CALL stallingloop
CALL CPU_TIME(T2)
print *, 'The total user time from the start of the program is', T2, 'seconds'.

Related Information

  • See the description of the XLFRTEOPTS environment variable in the User's Guide for more information.
  • See the description of the "setrteopts" service and utility procedure on setrteopts and in the User's Guide for more information.

+-----------------------------End of Fortran 95------------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] su kH$if>H>X>';./usr/share/man/info/en_US/xlf/html/lr227.htmp/$ CSHIFT(ARRAY, SHIFT, DIM) XL Fortran for AIX V8.1.1

Language Reference

CSHIFT(ARRAY, SHIFT, DIM)

Shifts the elements of all vectors along a given dimension of an array. The shift is circular; that is, elements shifted off one end are inserted again at the other end.

Argument Type and Attributes

ARRAY
is an array of any type.

SHIFT
must be a scalar integer if ARRAY has a rank of one; otherwise, it is a scalar integer or an integer expression of rank rank(ARRAY)-1.

DIM (optional)
is an integer scalar in the range 1 <= DIM <= rank(ARRAY). If absent, it defaults to 1.

Class

Transformational function

Result Value

The result is an array with the same shape and the same data type as ARRAY.

If SHIFT is a scalar, the same shift is applied to each vector. Otherwise, each vector ARRAY (s1, s2, ..., s(DIM-1), :, s(DIM+1), ..., sn) is shifted according to the corresponding value in SHIFT (s1, s2, ..., s(DIM-1), s(DIM+1), ..., sn)

The absolute value of SHIFT determines the amount of shift. The sign of SHIFT determines the direction of the shift:

Positive SHIFT
moves each element of the vector toward the beginning of the vector.

Negative SHIFT
moves each element of the vector toward the end of the vector.

Zero SHIFT
does no shifting. The value of the vector remains unchanged.

Examples

! A is the array | A D G |
!                | B E H |
!                | C F I |
 
! Shift the first column down one, the second column
! up one, and leave the third column unchanged.
       RES = CSHIFT (A, SHIFT = (/-1,1,0/), DIM = 1)
! The result is | C E G |
!               | A F H |
!               | B D I |
 
! Do the same shifts as before, but on the rows
! instead of the columns.
       RES = CSHIFT (A, SHIFT = (/-1,1,0/), DIM = 2)
! The result is | G A D |
!               | E H B |
!               | C F I |


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] RONG> k8$if>H>X>';./usr/share/man/info/en_US/xlf/html/lr228.htmp/$ CVMGx(TSOURCE, FSOURCE, MASK) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

CVMGx(TSOURCE, FSOURCE, MASK)

The conditional vector merge functions (CVMGM, CVMGN, CVMGP, CVMGT, and CVMGZ) enable you to port existing code that contains these functions.

Calling them is very similar to calling

MERGE ( TSOURCE, FSOURCE, arith_expr .op. 0 )
or
MERGE ( TSOURCE, FSOURCE, logical_expr .op. .TRUE. )

Because the MERGE intrinsic is part of the Fortran 90 language, we recommend that you use it instead of these functions for any new programs.

Argument Type and Attributes

TSOURCE
is a scalar or array expression of type LOGICAL, INTEGER, or REAL and any kind except 1.

FSOURCE
is a scalar or array expression with the same type and type parameters as TSOURCE.

MASK
is a scalar or array expression of type INTEGER or REAL (for CVMGM, CVMGN, CVMGP, and CVMGZ) or LOGICAL (for CVMGT), and any kind except 1. If it is an array, it must conform in shape to TSOURCE and FSOURCE.

If only one of TSOURCE and FSOURCE is typeless, the typeless argument acquires the type of the other argument. If both TSOURCE and FSOURCE are typeless, both arguments acquire the type of MASK. If MASK is also typeless, both TSOURCE and FSOURCE are treated as default integers. If MASK is typeless, it is treated as a default logical for the CVMGT function and as a default integer for the other CVMGx functions.

Class

Elemental function

Result Type and Attributes

Same as TSOURCE and FSOURCE.

Result Value

The function result is the value of either the first argument or second argument, depending on the result of the test performed on the third argument. If the arguments are arrays, the test is performed for each element of the MASK array, and the result may contain some elements from TSOURCE and some elements from FSOURCE.

Table 16. Result Values for CVMGx Intrinsic Procedures
Explanation Function Return Value Generic Name
Test for positive or zero TSOURCE if MASK>=0 FSOURCE if MASK<0 CVMGP
Test for negative TSOURCE if MASK<0 FSOURCE if MASK>=0 CVMGM
Test for zero TSOURCE if MASK=0 FSOURCE if MASK<>0 CVMGZ
Test for nonzero TSOURCE if MASK<>0 FSOURCE if MASK=0 CVMGN
Test for true TSOURCE if MASK= .true. FSOURCE if MASK= .false. CVMGT

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ssion  k.$if>H>X>';./usr/share/man/info/en_US/xlf/html/lr229.htmp/$ DATE_AND_TIME(DATE, TIME, ZONE, VALUES) XL Fortran for AIX V8.1.1

Language Reference

DATE_AND_TIME(DATE, TIME, ZONE, VALUES)

Returns data from the real-time clock and the date in a form compatible with the representations defined in ISO 8601:1988.

Argument Type and Attributes

DATE (optional)
must be scalar and of type default character, and must have a length of at least eight to contain the complete value. It is an INTENT(OUT) argument. Its leftmost eight characters are set to a value of the form CCYYMMDD, where CC is the century, YY is the year within the century, MM is the month within the year, and DD is the day within the month. If no date is available, these characters are set to blank.

TIME (optional)
must be scalar and of type default character, and must have a length of at least ten in order to contain the complete value. It is an INTENT(OUT) argument. Its leftmost ten characters are set to a value of the form hhmmss.sss, where hh is the hour of the day, mm is the minutes of the hour, and ss.sss is the seconds and milliseconds of the minute. If no clock is available, they are set to blank.

ZONE (optional)

must be scalar and of type default character, and must have a length at least five in order to contain the complete value. It is an INTENT(OUT) argument. Its leftmost five characters are set to a value of the form ±hhmm, where hh and mm are the time difference with respect to Coordinated Universal Time (UTC) in hours and the parts of an hour expressed in minutes, respectively. If no clock is available, they are set to blank.

+-------------------------------IBM Extension--------------------------------+

The value of ZONE may be incorrect if you have not set up the machine through the smit chtz fastpath, or if you are in a timezone not configurable through smit. You can manually set the TZ environment variable or use the chtz command to ensure the time zone is correctly set up. The format of the TZ variable is documented under the /etc/environment file in the AIX Files Reference.

+----------------------------End of IBM Extension----------------------------+

VALUES (optional)
must be of type default integer and of rank one. It is an INTENT(OUT) argument. Its size must be at least eight. The values returned in VALUES are as follows:

VALUES(1)
is the year (for example, 1998), or -HUGE (0) if no date is available.

VALUES(2)
is the month of the year, or -HUGE (0) if no date is available.

VALUES(3)
is the day of the month, or -HUGE (0) if no date is available.

VALUES(4)
is the time difference with respect to Coordinated Universal Time (UTC) in minutes, or -HUGE (0) if this information is not available.

VALUES(5)
is the hour of the day, in the range 0 to 23, or -HUGE (0) if there is no clock.

VALUES(6)
is the minutes of the hour, in the range 0 to 59, or -HUGE (0) if there is no clock.

VALUES(7)
is the seconds of the minute, in the range 0 to 60, or -HUGE (0) if there is no clock.

VALUES (8)
is the milliseconds of the second, in the range 0 to 999, or -HUGE (0) if there is no clock.

Class

Subroutine

Examples

The following program:

INTEGER DATE_TIME (8)
CHARACTER (LEN = 10) BIG_BEN (3)
CALL DATE_AND_TIME (BIG_BEN (1), BIG_BEN (2), &
                    BIG_BEN (3), DATE_TIME)

if executed in Geneva, Switzerland on 1985 April 12 at 15:27:35.5, would have assigned the value 19850412 to BIG_BEN(1), the value 152735.500 to BIG_BEN(2), the value +0100 to BIG_BEN(3), and the following values to DATE_TIME: 1985, 4, 12, 60, 15, 27, 35, 500.

Note that UTC is defined by CCIR Recommendation 460-2 (also known as Greenwich Mean Time).


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ue lB$'if>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr23.htmp/$    et-<=>ainors "/AEILTcdhlm,.03BCDHMNOPRbfgpuy()1249:FGSUXwx!#568;VWY_v+7Q\kq|${}KZ[]zjxR K',M^XHz9TM`Q"IbjQL=&^I4ʧo.VQeS~9,n_!B!B!B!B!Bs{w (D<@ll 64(8j.?-0w̓l8@@#+c(<N PE Ph'֜7n,h[€@ࡿtOxy ;igz[:_ +iigoY1rӓWSym;g^o;g/c<5={EJpm*pѾTciSg;rge k>|$yߎ +I}\cE勧9s9s9s9sO+Kδs9s9s9s9ވӋǗ-)TVmo5y~z_rkYL5x}mck֙Oy{:Әr礠DD K-SyilkF>M^[mN[76Tc3/o/o1N)=gk[eIY ޗ$]0 ZLH!o-#XR{䋦XXu"ZN_z)G=rE X,0c:)H="4,c:R&Qd"5y rwxޗ$]0 Հ3.B)VHEJ1E(z#z\DӂAŤkJ'HbI,MXspect lN$6jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr230.htmp/$    "-<=>AELNTet /DHIOPRSailnors%013:BCFGMcdfhmpu,.2478VWYbgxyz!()569;QUX_v#+\w|&k{}?[]KAJtnR@a G=*\t:7)^y#rБкW$ 07J0$].[upU ;c1c1c1c1c1c#ȏR@bA0c6)㤜`#s Ɔ 7,twfs"K^:>fCa#+OCXy< ]&8*av[Cnh\E7p_#B``LC ۃ+`meQ6k/6N\B=M @hH yVm&גm̸\ny #BF@@4[aή gc1c1c1c1c1cOe)fɗ(6P>r:WhHXEq#?iu$`qvP>r: H"(Oe)EP!ZoEZ2NץHx9@BtRD[h3,ٱq9:mw0?"t؜8k>↱hr&`zU;B: J^P!)JyA$d۹85YavB;nr4N!(dt؜v'# ᬮ.maU;t95E7;ֺ؜Ab,sXuavBNU;t9˲o=k+#T>ý"6lEsN`].G@h4"T@B.L$T $5Y|sguH+R'htoI=$.tp{(,ָi.Y{ xh{)$lϸRv2D _xt;GH'{SzHGHQBGNkVWg>↰tYIP>GΩv%}ӪD M!"Bю NkVQw]w :(teudt.R'hhJçT;tލ&Z:E:F:40^ );u!ZGK^0^UNw:(t% T;Z"v57IEVN[BGNkV]NY:(t% T;Z"v57IEVNю/e#k/u\ /dYb,sXuavN);J By"vք:uHMMhQUS^1ѡPYIۭq :]XтM6tYIP>JYB]:NЕNv驽M *tu=$.th`Rv\Bmp<4`+CzNҁBPuH+R'hSz4Uh=$.tp{(,ָi.Y{ xh{".sRvD _xt;GnѤТGHQBGNkV,ٱq9:mw0'@t<;GkBW:Nۦi4()/xzH]{(,ָi.Y{ xh{&:(t%udt.R'hhJçT;tލ&Z:E:F:40^ );u!ZGK^0^,}Д.R'hhJçT;tލ&Z:E:oI 8^ );u!ZGK^0^ZNQ1=e'i@(]:NЕNv驽M *tu=$.tp{(,ָi.Y{ xh{%i:C@@t<;GkBW:Nۦi4()/xzH]{(,ָi.Y{ xh{&:(t%}BПR:а8ЭRԐƎ@Oe)IhXh^GAIAEi({{{hlHOAH>X>';`./usr/share/man/info/en_US/xlf/html/lr231.htmp/$ DCMPLX(X, Y) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

DCMPLX(X, Y)

Convert to double complex type.

Argument Type and Attributes

X
must be of type integer, real, or complex.

Y (optional)
must be of type integer or real. It must not be present if X is of type complex.

Class

Elemental function

Result Type and Attributes

It is of type double complex.

Result Value

  • If Y is absent and X is not complex, it is as if Y were present with the value of zero.
  • If Y is absent and X is complex, it is as if Y were present with the value AIMAG(X).
  • DCMPLX(X, Y) has the complex value whose real part is REAL(X, KIND=8) and whose imaginary part is REAL(Y, KIND=8).

Examples

DCMPLX (-3) has the value (-3.0D0, 0.0D0).


Specific Name Argument Type Result Type Pass As Arg?
DCMPLX double precision real double complex no

Related Information

CMPLX(X, Y, KIND), QCMPLX(X, Y).

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k6 $} jf>H>X>';} ./usr/share/man/info/en_US/xlf/html/lr232.htmp/$ DIGITS(X) XL Fortran for AIX V8.1.1

Language Reference

DIGITS(X)

Returns the number of significant digits for numbers whose type and kind type parameter are the same as the argument.

Argument Type and Attributes

X
must be of type integer or real. It may be scalar or array valued.

Class

Inquiry function

Result Type and Attributes

Default integer scalar.

+-------------------------------IBM Extension--------------------------------+

Result Value

  • If X is of type integer, the number of the significant digits of X is:
        type                    bits
    -----------                ------
     integer(1)                   07
     integer(2)                   15
     integer(4)                   31
     integer(8)                   63
    
  • If X is of type real, the number of significant bits of X is:
       type                    bits
    ----------                ------
    real(4)                      24
    real(8)                      53
    real(16)                    106
    

+----------------------------End of IBM Extension----------------------------+

+-------------------------------IBM Extension--------------------------------+

Examples

DIGITS (X) = 63, where X is of type integer(8) (see Data Representation Models).

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] NG> lN $_jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr233.htmp/$    "<=>ADELNTet -/HIOPRSainors%.025:BCFGMYcdfhlmpu,1348;VWXbgyz!()69U_vx#&7Q\kw|{}?[]KxjUiҹJAD*"t$QҹJQ'+^%8z3L<tZDPC-t|9f.!B!B!B!B!BA*r#d@9;3%@cN tm0p_ vK 3  ӟA*p0c<7:mp0rvN~\q4`x@<(< gDPC 8ȉ[pn1[hA "{!hq9wp3[ ;ÌiޫÙ)DPCaƍSq޶ˌ 3zOx8)NdenrXns;-_B' rp\r--3=298/OyJ^^)Hh(T9E*ZᬵiKsZ-[h29Ss0n9̘dixe;0Y 0oe;0Y 0oRJU a[k8k(\H7Rץ DM 匰uP؞򔼺WP& :p}TkC\s0'‚Dž6'/.AI\1ȩk׆q~0q4` ؞򔼺WP& 4.aTkWc `'h@<(,xP#b{׹ZH!7(u݉^-6a8۬uGs d8 ?K4ahaYM?`mD`i h00Y@"&r?ۆ4x=rOz)RS)2=" YM 4wMkm$hXaDmf/D^ yEX``nwB!B!B!B!B!B!/i6`8ؽDЉq9a/i59^{ՉHl_/i5)4oIjp`frl"K\eE6'Xcs80ca8۬f;y3]Í=e,N2pD5q#4_9qïE{α=^B!z3_9s11$s9s =qz|Sމ/l3$s8Ìpa,9α=e,N$M0E{5 sZ-[hu8Nϸv/圸ȁעR{Պa,u8N `=' O}Sf8xЃ1m:p0?ɜpcc;t]TYFN)B d2B *g3:k=xlYF肫ެ^R@kïE{S 00̰ɜpc0_e ,`?@(X?2ÿ&q;,`ެOy{"=Kʩ6%}Ცd MEJoNwJ4pVVܭi 0YAD<,`0Y `z++E(yU2vք6UL)9HQÓ҆+bՕ+ZCL6Pu< +c'NY9ފz7J/^UL+ S'hi/u oNp*T'xrsPѣl^^kHi'clVçMgHz++E(yU2vք6UL)9HPCFz{!k(:ȞU]w=讬tn_u{?*NЕʩ6+*JtYxi*99(h¶/]Y[r4meY𱂶)2Օo8d _xl;CnҤERw'; 8V+uVm"x0Vņ-g8s@wB'Օo8d _xl;CnҤER;Ó҆+bՕ+ZCL6Pu< +bwxk'Օo8d _xl;CnҤER[Ó҆+bՕ+ZCL6Pu< +b%Oz++Eqz7Z/=S'hmhJeTuޕ%:,44h[׹ZaxX[P^~UL+ S'hmWzT*TntG ؽuen֐ dO ؗs =讬yS'hmhJeTuޕ%:,4 4h[׹ZaxX[0YaGՕo8d _xl;CnҤER[Ó҆+bՕ+ZCL6Pu< +b%Oz++Eqz7Z/=S'hmhJeTuޕ%:,44h[׹ZaxX[2Օo8d _xl;CnҤERw'; 8V+uVm"x0VĻgD csuaGՕo8d _xl;CnҤER;Ó҆+bՕ+ZCL6Pu< +b]9̺mw0ފz7_yU2vք6ULQ]RSHPCFz{!k(:ȞçՕo8hʩ6%}Ცd J^EJoNwJ4pVVܭi 0YAD<,` 4wh萉Eueh/;CkBW*Nۨ)eTCFz{!k(:ȞZ =讬yS'hmhJeTuޕ%:,4 4h[׹ZaxX[*sފz7_yU2vք6ULQ]RSHPCFz{!k(:ȞçՕo8y"{"0Fl^{"0B6/FQ=JCSxPv/FQ=JCSxP;(byã!_r=N)) ugM3/0Y]meGÂ'Mᬋ=N)) u{R=-wˤ C@+pZcvvuXєx.% 4БW0 eXєx.% 4Аfrocls`GFQO|KP4Ӄ3`-zZ kmg eף(']%Ji!BNӠx-{kShFQHG{H!-CX' L^W)X----- k.w $; jf>H>X>';; ./usr/share/man/info/en_US/xlf/html/lr234.htmp/$ DOT_PRODUCT(VECTOR_A, VECTOR_B) XL Fortran for AIX V8.1.1

Language Reference

DOT_PRODUCT(VECTOR_A, VECTOR_B)

Computes the dot product on two vectors.

Argument Type and Attributes

VECTOR_A
is a vector with a numeric or logical data type.

VECTOR_B
must be of numeric type if VECTOR_A is of numeric type and of logical type if VECTOR_A is of logical type. It must be the same size as VECTOR_A.

Class

Transformational function

Result Value

The result is a scalar whose data type depends on the data type of the two vectors, according to the rules in Table 3 and Table 4.

If either vector is a zero-sized array, the result equals zero when it has a numeric data type, and false when it is of type logical.

If VECTOR_A is of type integer or real, the result value equals SUM(VECTOR_A * VECTOR_B).

If VECTOR_A is of type complex, the result equals SUM(CONJG(VECTOR_A) * VECTOR_A).

If VECTOR_A is of type logical, the result equals ANY(VECTOR_A .AND. VECTOR_B).

Examples

! A is (/ 3, 1, -5 /), and B is (/ 6, 2, 7 /).
      RES = DOT_PRODUCT (A, B)
! calculated as
!   ( (3*6) + (1*2) + (-5*7) )
! = (   18  +    2  +  (-35) )
! =  -15


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 7_y kH $jf>H>X>';./usr/share/man/info/en_US/xlf/html/lr235.htmp/$ DPROD(X, Y) XL Fortran for AIX V8.1.1

Language Reference

DPROD(X, Y)

Double precision real product.

Argument Type and Attributes

X
must be of type default real.

Y
must be of type default real.

Class

Elemental function

Result Type and Attributes

Double precision real.

Result Value

The result has a value equal to the product of X and Y.

Examples

DPROD (-3.0, 2.0) has the value -6.0D0.


Specific Name Argument Type Result Type Pass As Arg?
DPROD default real double precision real yes
QPROD (1) double precision real REAL(16) yes

Notes:

  1. IBM Extension.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] Page l궚$jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr236.htmp/$   e <=>Dainorst-./ABRTcdfhlp",01EHINOPSUYbgmuv!&()23459:;CFLMwy|678GV_kx#QWX\{}%'+Z[]zKx4`EQA>TbdxDDFJˑTPO"c"TPN/"A)ETd"@b$IE07"HIQ2% $(U$ǟT#_oխu!B!B!B!B!B!>.x1TRDut`= `XZvoE̅3 @3<<;U)j2j&^n(p

.x1#fůCLLS-Qxppwys?^4q۝t[k_O;zMr{|{1&)<\ަSqlJg8ys?ƍm-<^Y`qlȷϋ yY.3kxlZeI1N#k<KHP,3&jaWszW[rfȹKUR @`OTYJT5`3: ,Bfg|naLX048"U.EUJ@.H^yq MX uqpwIÂ(x`<02.xRUTB};MJT5`0Jt 83"U.EUJ@.H n % @Zyt 87"Tf302.Lpnw5JlY֯#bghtAֱ=XV9Xk5k-M`PW'"hnm;صrx9͡W=ʘ!=$^I^ū0G4d@a>%kb -\{ yWvk?!B!B!B!B!B!ys!ٰIF%fkFE<ΦL5mz$G+YwVͯaYwWculrL:u֛3m}cUul}3vmL{mMm_g\}vvmoʯ;yt+ZT׳,;fAFRV/N ,Dz)XRz1TVwG7ُwճkҸ*3]=J/FBqsP0[ H>X>'; ./usr/share/man/info/en_US/xlf/html/lr237.htmp/$ EPSILON(X) XL Fortran for AIX V8.1.1

Language Reference

EPSILON(X)

Returns a positive model number that is almost negligible compared to unity in the model representing numbers of the same type and kind type parameter as the argument.

Argument Type and Attributes

X
must be of type real. It may be scalar or array valued.

Class

Inquiry function

Result Type and Attributes

Scalar of the same type and kind type parameter as X.

Result Value

The result is

2.0ei01 - DIGITS(X)

where ei is the exponent indicator (E, D, or Q) depending on the type of X:

+-------------------------------IBM Extension--------------------------------+

type                      EPSILON(X)
----                   ------------------
real(4)                   02E0 ** (-23)
real(8)                   02D0 ** (-52)
real(16)                  02Q0 ** (-105)

+----------------------------End of IBM Extension----------------------------+

+-------------------------------IBM Extension--------------------------------+

Examples

EPSILON (X) = 1.1920929E-07 for X of type real(4). See Real Data Model.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] EBP lڟ$Fjf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr238.htmp/$    "=-<>AELNTe /DHIOPRSainorst%02:BCFGMcdflpu.134589;VWXYbghmxyz!(),67QU_v#&+\wk{|}?[]KXIIlV@Y$K=)ؙd:6+NyD#bвV5ID@+Rq:G n{չf.=$%P40\t l2 nܿ+  P@$ C:G4%x}qQ[rIӭ  48pW ȝ6(~0I:u˺|7ǎ$2'Ak R}уWvY2'M.ŗlQHpS2«)rqXiq72mۇna иq]RxBf&er80.F ܇eŗ2wi^݁AWHvZlYs!SztFrB0"Q:c 2,і2nrm6k4ߒB<<0 "icmǝ#~/v,ewwwwwwwwwwwwwwwwwwwwww:YY@\R(B#E61vkB"tVq{{{{"%|ݻ.0/{{{{,#/YHd`|tD|a/Y(+5IEY2⮋d[!9L ">Q菉R'AHͶo6gXisNbt$TYR[T9D-v `EX#u)6(lZ0jvK:l v@u)"t`F"'@1Z0Aq'~юszFH#u)FWqN"tZ캹`%aNU:pٗ} _']m3nN"tˋ_: F YTR*f]7xN"ttТQwpٗx5s&4i]۹ـ(D % ߷w wak)~7 ]7 MR`Q0țC.hțJ0<H#u),h܁YTR'AHR| 8 Ws+~ \ɻC#A!\ M.)/YHDKEg!Aa!9( zȬ@D(,$+#EX H't,NE+IpQ""\!I:gI #<,nF )*%Ii^7 8nEcW, z-szJF0>THw)2v*$RS+$7 'AB Jk R{e׸bŮ˾tYIV0>Gʉ&NDWpves$A$,,ְ'a]{ ܀`n. =e%X#Y*$R;g)])ɕΒVq;`ZTᆙu03rT]FCʉ&NDWrɩ $?8HYcr0YIWa*OpLr%asf]s'@cadTHw,ќnN9B Jk R{e׸/s 2n:d# !DWr'lE+dΌ[pt GpxX܌RUXJ0.n@0p܈:d#aebt,)]LʉS:3UmI#8HYcr0YIWa*OpLr(MRg@cadTHw,ќnN$7#z 4˯q 7"]bfo7r8LzJB0THw)2v*$RMLHMU '@ !dwe%^= 2`f ȗhؙMܳ0=d`},)]LʉS:3UmI+8HYcr0YIWa*OpLr#p`}вTHw)2v*$RMLHMU '@ !dwe%^= 2`f Ȃ3zJB0THw)2v*$RMLHMU 'AB Jk R{e׸Vr :d# !DWr'lE+dΌ[pt GpxX܌RUXJ0.n@0p܊1=e%X!Y*$R;g)]&tg$&ۄVq;`ZTᆙu03rF.=e%X!ec"4N0#{{{{~юbݗi{{{`y`N*b^2{4 L1E/FF:^<xKlxH$UlF.)x( .'e!⮋dkqwz^<xKlpqWE2Iӭ6\LF9&vxEY2XHP8(*P1kI[dRd|:Yibf.)|NS@J0=N| H>X>'; ./usr/share/man/info/en_US/xlf/html/lr239.htmp/$    "=-<>AELNTe /DHIOPRSainorst%025:BCFGMcdflpu.1348;VWXYbghmyz!(),679U_vx#&+Q\w|?k{}K[]qXEIlV@a$K=)ؙd:6+NyD#bвV5IVt#q6ror6]wwwwwwwwwwwwwwwwwwww{{":HJ=*h`H$,(2Cdvݹ~$-.$8S@P{ti%vK p 3VxzU#MFu `#+ĀF`LQޑMiaA$ |N2gv\G˗/ʮas.uht[cD|NŹFm[9v[`/`LQ;{t9pG.lі . 3oaZpw[`/ą:WZ^H),)rߒi[\aNM|NY^+=zjrIӭee s, 2T Gp0aݕnMRdY +pG2]W, vWDѵ|`bAۄe۲,j'[NvOtTo,(n]aƞ<+;Kk(ă ./umq#MFpQ`+;Kk(ă9'[N&4i8hо @,:gitme0vng$m:qeq#MF a9i>豫;p{q̉S@GAUa& ܿad\Iƌvt 4 ; (ChwhMFW,N 2tXvZlUs!uEteW2p:aN'@g$#)#F00.i#&&nGʉ&NåDWpves$=$,20YIWaOpL2*.Ny6&)*+YX !DWr'lҢE+dΌ[pt Gpp,ְ'a]{ ܀`љL=e%X!Y*$R;g)]&tg$&ۄ!dwJk{e׸ /s 2n:d# !DWr'lҢE+dΌ[pt Gpp,ְ'a]{ ܀`љ0.zJB0THw)2v*$RMLHMU '@!dwJk{e׸ @c`},NE+IpQ"ܲjgFrBjI:I #8x̌RUXF0.@0h̊T#zJB0THw)2v*$RMLHMU 'AB3#z 4˯q{ 3"]bFo7r8LzJB0THw)2v*$RMLHMU '@!dwJk{e׸ .ѱ#7曹fa{w\=e%X!Y*$R;g)]&tg$&ۄ^p;e%^i= 2`^ȋ]àzJB0>V'ByQ"ܤ8tJY539!5V$sFXH'`{{{{_cD=۲ 2{{{,#R0EX@ ]fOpF6hhQq;G>2{[(EFanux.'ecBz< EY2d[dlrM2u(']fOpc‚ATZJ"%8FQ:MlV8 NT">Ta lꀜ$Xjf>H>X>';O ./usr/share/man/info/en_US/xlf/html/lr24.htmp/$    -et<=>ainors "/AETcdhlm.0BDHIMNOPRSbfgpuxy,12349:CFL_w!#+5678;GUVWXYkv()Q\|Kqz{}][hq1%"'FZ(MA$Q=B"|9S$hHsjM䶭EB pers9s9s9s9s9shƃMXWB3Ui՜yMŹs+ _0@${%΁"%Wc9p @%,@x 07xX$@8<@,ghb 'GΆHlg ݼ.L1+}2@,/\qnF)Ii3?ݼ.4L'9-+vWqnV&W wLEXlg/:uUXM=2H.wh %SU|Xg-+_GΆ)$܀L"&Tqd82J&IG UZDr n3څz7hW aYjv _=SQ.=E Z`(49[PC$dr5}UJ5@p A紊j%ǨKL9fqdL@q#THp(@8iKQB rpU"LQ R!\`H8`,   E5PH5eP$(%hhW5N0`DB{K(OX7j*֨<xf3pdUxH-!jur/Yop4C8 ?b!8 ?՛. t!:3glW"e})D4{QCѤ^{F'-͉` 61:t88,,X[Q19kڈ״h%NWs9s9s9s9s9s{R"Rf )8ڊO=' 79ጦI\j#{G{G=rIMTxʦ$k QdLe9caKB$Y WG4k(+[O(tU|r^e9֌ K}v2~&ܣ=*L1Q&YB/ie $ xIP2@7o|=v{J7Es 6YmzevWc9W?)4iQ(U7kwwwwwwwwwwwwwwv@iV3{Q(U7iWҏ )i xaܥ~ 4k!Oufe^zLٕ˘[fs=Yc#p]*-҅S{F wwwwwwwwwwwwwv1 #9*r5j% y(dBq gٝ3𗜳aK|eFFyGO u`nx7:%Yj,e8Xce!//׎5sKv2 FFxN)L&"%2F7Es$}v䷱Ea. ;g%\n3 GLOs7.z7m|$ie $ x2RQP2@7mEg%#?WL1+[g%;2%r-ܹ|n3 'dw}_=`z3QnQyl1:}_dϳ̀ lԸ9( _YTxÐyefkO'Nl"@Ag<5K*3B ALיRqǕLI1@k(<0')8RRʦ$`Z%7j)?qSr P``(2J&ID f8-QIK*bpk Q㊐$90e*!%QIZڗ$܀3 g{QI^GDM kw$jf>H>X>';./usr/share/man/info/en_US/xlf/html/lr240.htmp/$ EXP(X) XL Fortran for AIX V8.1.1

Language Reference

EXP(X)

Exponential.

Argument Type and Attributes

X
must be of type real or complex.

Class

Elemental function

Result Type and Attributes

Same as X.

Result Value

  • The result approximates ex.
  • If X is of type complex, its real and imaginary parts are regarded as values in radians.

Examples

EXP (1.0) has the value 2.7182818 (approximately).


Specific Name Argument Type Result Type Pass As Arg?
EXP (1) default real default real yes
DEXP (2) double precision real double precision real yes
QEXP (2) (3) REAL(16) REAL(16) yes
CEXP (4a) default complex default complex yes
CDEXP (4b) (3) double complex double complex yes
ZEXP (4b) (3) double complex double complex yes
CQEXP (4b) (3) COMPLEX(16) COMPLEX(16) yes

Notes:

  1. X must be less than or equal to 88.7228.

  2. X must be less than or equal to 709.7827.

  3. IBM Extension.

  4. When X is a complex number in the form a + bi, where i = (-1) ½:
    1. a must be less than or equal to 88.7228; b is any real value.
    2. a must be less than or equal to 709.7827; b is any real value.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] LEFT" V k$R jf>H>X>';R ./usr/share/man/info/en_US/xlf/html/lr241.htmp/$ EXPONENT(X) XL Fortran for AIX V8.1.1

Language Reference

EXPONENT(X)

Returns the exponent part of the argument when represented as a model number.

Argument Type and Attributes

X
must be of type real.

Class

Elemental function

Result Type and Attributes

Default integer.

Result Value

  • If X <> 0, the result is the exponent of X (which is always within the range of a default integer).
  • If X = 0, the exponent of X is zero.

+-------------------------------IBM Extension--------------------------------+

Examples

EXPONENT (10.2) = 4. See Real Data Model

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] pe H>X>';./usr/share/man/info/en_US/xlf/html/lr242.htmp/$ FLOOR(A, KIND) XL Fortran for AIX V8.1.1

Language Reference

FLOOR(A, KIND)

Returns the greatest integer less than or equal to its argument.

Argument Type and Attributes

A
must be of type real.

+---------------------------------Fortran 95---------------------------------+

KIND (optional)
must be a scalar integer initialization expression.

+-----------------------------End of Fortran 95------------------------------+

Class

Elemental function

Result Type and Attributes

  • It is of type integer.

    +---------------------------------Fortran 95---------------------------------+

  • If KIND is present, the kind type parameter is that specified by KIND; otherwise, the KIND type parameter is that of the default integer type.

    +-----------------------------End of Fortran 95------------------------------+

Result Value

The result has a value equal to the least integer greater than or equal to A.

+---------------------------------Fortran 95---------------------------------+

The result is undefined if the result cannot be represented as an integer of the specified KIND.

+-----------------------------End of Fortran 95------------------------------+

Examples

FLOOR(-3.7) has the value -4.
FLOOR(3.7) has the value 3.

+---------------------------------Fortran 95---------------------------------+

FLOOR(1000.1, KIND=2) has the value 1 000, with a kind type parameter of two.

+-----------------------------End of Fortran 95------------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] LIGN k$ jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr243.htmp/$ FRACTION(X) XL Fortran for AIX V8.1.1

Language Reference

FRACTION(X)

Returns the fractional part of the model representation of the argument value.

Argument Type and Attributes

X
must be of type real.

Class

Elemental function

Result Type and Attributes

Same as X.

+-------------------------------IBM Extension--------------------------------+

Result Value

The result is:

X * (2.0-EXPONENT(X))

+----------------------------End of IBM Extension----------------------------+

+-------------------------------IBM Extension--------------------------------+

Examples

FRACTION(10.2) =2-4 * 10.2 &approx. 0.6375

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] t c l($}jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr244.htmp/$   "-<=>AETet /DGHILNOPRSailnoprs%.0125:BCMbcdfmu&()348;FVWXYghvxyz!,679U_#*+Q\w|]k{}K[q?\E{tUN(N <.JTGevI+RJBJKQ+Pq#Ե1$۽,4cv0] C9s9s9s9s9s ,c@GyGANt:Xh `s9s9s9s9s9sz+i|Z ci#C(ӢFcq/%%ص$N,c1c1c1c1L_a\[y1c1c1c1cG]RDءүVm=M$Gm$}htH%^Jz #Rk&,=rQeoen vԩZyZHP/ChѦno:4/C$M"lRIGI5*VQL7}TIFH:KL݅FH٬;qgtǮsenʣC:KH^'Ay:H/I <;~Eǃ 84)C$YThQơGvU%g0k9no:t *&ϸ:c9d{7aeQ^kxӤ$YTh!6xsNďf,4:Kxbngk4|f!h@N7aeQZ4GvU%J4pGj:Uԭ D 6(tRj[]+h=RUEY5uM E=4.I2UEKOLc b$8fї]-kHWJ^&,}Q4UZXОYBBOH+^T0/Acm+Xw>V>RWKDVzo:&k^ޚҋ(=4.I2UEKOLc b$8fьBm?{+ZHI]/UEY ꨚ*I{WzhOJ,VкSFm$Wq-=2-XEچX}`=$}ҤءҺ&,}Q4UejfYABOH+^T0/AcmR'@q<Ui#%t=TMgX6êh=JB3=(7Ҟ"3i&Wi闝al_ pV>RWCDVzo:&۬T,3ҋ(=4.I2UEKOLc b$8f m0ӇHWB&,}Q4UejfY@tIf*Zzes[ 6؄V>RG݊JP]UEY ꨚ*nҵP J,tIf*Zzes[ 6#RkN$y:#^G Jz*TmUDV{uޕfzQeoM = DfLU{7R/;ؾ 0c o;N#^G Jz*TmUDV{uޕfzQewҞ"3i&Wi闝al_ xg1߃ۅaUi#%t=TMgX6êh=JB3=([BOH+^T0/Acm =$}ФءҺ&,}Q4UejfYABOH+^T0/AcmdjT|$"G=$}ФKxuTMgY}ZYgPкSFm$Wq-=2-XF-UǁUi#%t=TMgX6êh=JB3=(;BOH+^T0/AcmT:GUQ4U`/+U 0oM = DfLU{7R/;ؾ 'HWB>RGޤԵ:sFυ oH>X>';: ./usr/share/man/info/en_US/xlf/html/lr245.htmp/$ GETENV(NAME, VALUE) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

GETENV(NAME, VALUE)

Determines the value of the specified environment variable.

Argument Type and Attributes

NAME
is a character string that identifies the name of the operating-system environment variable. The string is case-significant. It is an INTENT(IN) argument that must be scalar of type default character.

VALUE
holds the value of the environment variable when the subroutine returns. It is an INTENT(OUT) argument that must be scalar of type default character.

Class

Subroutine

Result Value

The result is returned in the VALUE argument, not as a function result variable.

If the environment variable specified in the NAME argument does not exist, the VALUE argument contains blanks.

Examples

      CHARACTER (LEN=16)   ENVDATA
      CALL GETENV('HOME', VALUE=ENVDATA)
! Print the value.
      PRINT *, ENVDATA
! Show how it is blank-padded on the right.
      WRITE(*, '(Z32)') ENVDATA
      END

The following is sample output generated by the above program:

 /home/mark
2F686F6D652F6D61726B202020202020

Related Information

See the getenv subroutine in the AIX Technical Reference: Base Operating System and Extensions Volume 1 for details about the operating-system-level implementation.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] | H>X>';./usr/share/man/info/en_US/xlf/html/lr246.htmp/$ HFIX(A) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

HFIX(A)

Convert from REAL(4) to INTEGER(2).

This procedure is a specific function, not a generic function.

Argument Type and Attributes

A
must be of type REAL(4).

Class

Elemental function

Result Type and Attributes

An INTEGER(2) scalar or array.

Result Value

  • If |A| < 1, INT (A) has the value 0.
  • If |A| >= 1, INT (A) is the integer whose magnitude is the largest integer that does not exceed the magnitude of A and whose sign is the same as the sign of A.
  • The result is undefined if the result cannot be represented in an INTEGER(2).

Examples

HFIX (-3.7) has the value -3.


Specific Name Argument Type Result Type Pass As Arg?
HFIX REAL(4) INTEGER(2) no

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k֯$ jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr247.htmp/$ HUGE(X) XL Fortran for AIX V8.1.1

Language Reference

HUGE(X)

Returns the largest number in the model representing numbers of the same type and kind type parameter as the argument.

Argument Type and Attributes

X
must be of type integer or real. It may be scalar or array valued.

Class

Inquiry function

Result Type and Attributes

Scalar of the same type and kind type parameter as X.

Result Value

  • If X is of any integer type, the result is:
    2DIGITS(X) - 1
    
  • If X is of any real type, the result is:
    (1.0 - 2.0-DIGITS(X)) *
    (2.0MAXEXPONENT(X))
    

+-------------------------------IBM Extension--------------------------------+

Examples

HUGE (X) = (1D0 - 2D0**-53) * (2D0**1024) for X of type real(8).

HUGE (X) = (2**63) - 1 for X of type integer(8).

See Data Representation Models.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] AN STY k$ jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr248.htmp/$ IACHAR(C) XL Fortran for AIX V8.1.1

Language Reference

IACHAR(C)

Returns the position of a character in the ASCII collating sequence.

Argument Type and Attributes

C
must be of type default character and of length one.

Class

Elemental function

Result Type and Attributes

Default integer.

Result Value

  • If C is in the collating sequence defined by the codes specified in ISO 646:1983 (International Reference Version), the result is the position of C in that sequence and satisfies the inequality (0 <= IACHAR (C) <= 127). An undefined value is returned if C is not in the ASCII collating sequence.
  • The results are consistent with the LGE, LGT, LLE, and LLT lexical comparison functions. For example, LLE (C, D) is true, so IACHAR (C) .LE. IACHAR (D) is true too.

Examples

IACHAR ('X') has the value 88.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] --- k4$jf>H>X>';./usr/share/man/info/en_US/xlf/html/lr249.htmp/$ IAND(I, J) XL Fortran for AIX V8.1.1

Language Reference

IAND(I, J)

Performs a logical AND.

Argument Type and Attributes

I
must be of type integer.

J
must be of type integer with the same kind type parameter as I.

Class

Elemental function

Result Type and Attributes

Same as I.

Result Value

The result has the value obtained by combining I and J bit-by-bit according to the following table:

I   J   IAND (I,J)
------------------
1   1       1
1   0       0
0   1       0
0   0       0

The bits are numbered from 0 to BIT_SIZE(I)-1, from right to left.

Examples

IAND (1, 3) has the value 1. See Integer Bit Model.


Specific Name Argument Type Result Type Pass As Arg?
IAND (1) any integer same as argument yes
AND (1) any integer same as argument yes

Notes:

  1. IBM Extension.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] "fo l>$]ojf>H>X>';mK./usr/share/man/info/en_US/xlf/html/lr25.htmp/$   -en<>ailorst "/AEINRTcdhm,3=DGLMOPSbfgpu.01BCFHXwxy!()+2456789:UVW_kv%*;q#$'Y&JKQz|\j]{}[hq @94xHra EQ"yshH9(9ƵT Cr)#3[8FJEƴ wð71iMz~4hѣF4hѣF4hѣF4hѣF4hѣF4oq]x $L 4 (.O- 1x`,n5K…sVcrtBI&I0p( 1> ^ A%| دH8Jo%h8k@}ح<0.Alb듃NNr1nqk@| SW'ׄ)S)YjHbۍh)LF >O -P)Yj%Q|bc>[Yj8Uq) n5QUQp"DPI5QMQRFfrқ/;q~0ܠ `ྴ/%eڋ V}i2m|aA| ᱆ZLZ s&YͭTnP_¦Kr-Xp_^ūxr4+%XKze@SȾZSe#3[9iMւ)IOa-8b̼4_-L_FfrқO NKe))ZEP*NPAk[TT&)4Ob0*6AuZEP*NPA0닝&)4./'8h0  kHEUI H"4V&w$ӄ'|01> `< Ag8֑ET8@ Di(b&)4⏨h0  kJ*#*c\R8C? ̼4q0/+ h?%5?8/V`P7֔e0+*+|@c'.Ae6_iqoZ:w2͆|޵r}impR|֓rEaX>>0Z[XinxS֖g?Kk 3kU֮O- T_~la֓,׬sڱgHW0c?-KWa-|zd"[ )ڇQALpL<g8>Z+ kɈE7p ÜkOTsz9Z4*wA!9RD$*"4@`s;L{aS%n4I159Tw@CqD;P Ɯ"gpCp409jYz0-)_8@Sɲ؊[Ĉq N~9ZUUÚz}&왥y\61h/iD;BgjEDDG(9; /Cr=C枪j8֪;A!8" (HzcNT3I!ʈ88i(О-XsO(ZzGt$=1DASE Liʒ&w $9QCCNr |ҳ2a-4 oXδ17f4 L8 :3 Bث DrQNp{1\ ܛBx`4 p ÜkOTsz9q\kIEp#m!-4j"( Urrxsx\ÜҊI1ZyET$qT~B ՀWCsy$@ N~sOAƴ$CJu_l:W<7/#3[9iM)6356_Pzqtf bA$P=ҊI1(H z""*$ǹWj+SFfrқ/8*7Ռ{9NEyB1si#3[9iM z|,1c74QU &=ŁƞQU &=J*$ǸP`1UBIpҊI1fQU &=J*$ǸR%siPc/fL{"X'0cO( g޴eYx83gl6|)y׉_Ռ(H4I1QU &=‘, ͧUBIpҊI1`p`N`ƞQU &=iET$ D8*$Ǹ_iET$ D8O()UBIpKA9yET$xhVK>ei7CӂHA qhE&LB0H7"{4isOAv.S&ǙUrҙ_|4+%XKze i74ݣW6݁xsy5sI֓sDF9t"ӄG(" ;ӣ0@[dMTST&  bl-=45t"Ӓ$0`$sz5t"Ӓ$0`$sz5t"Ӓ$0`(04kIEp#m!-4j"(r1IJls[u-xsW?y\iZS_6-XKE`g5hiq~S_* ĩ|֡@#NHpAi8֓r"a8UoYW'֖*/ 硇@~a6dgd/؅sW*'X|}d͠' #55bՆc8}Xδ1#Y2ni5sCE+HKn<9<8֓r+Jld+azoZQ2ӆ9."ᰬnxo!%:/xiuɈG'/ La0j4,ZM(9!C枃j44  枃j44  枃j44  枃j44  枃j44  枃i74ݣW6݁xsy5sI֓rӖaN_+}X3q Isk W iV;UU=U\/U\OUW ~ҹ8P(h֔L4_)6!\0/ɖskN4-(B}QhP _Exa(^ oe xSz҉wf7\Z[\YQ2Ӄ=Xc^g ^^֖Jm}pRR+SKJ1/ʊU_\g6*+߾nu9 5I< A&Q49{H8DRÜɨisH$ O|6 ' 򼴦Xi D8YAքpDIi(gi}Xc\/ p!V2|_J r")^֔L4_ZWc!<_r!}V!NɚWKJ1/ʊYW&kO A'$[Ռ( E+ZyET$uɈG'bS-=iD;CKNLiD;8\-(Bpg|޵r~NFK/V3ةeim_ */)OE|Oү3Zw~ 7:eڅ$Ic;J*$ǺqByqyVQU &=i2b%*ŠZե,9iɞeb 1֔1-^c:>oZ>*c<]_2޴Usk낕JXҌd'Uc'Wͭ ~ʊi2mBisOsIEp_ȷH8DRÜɨMƴ 9p֖ekB8y"$UƴNL7f*|7U\UUU4Up)鯥rpP/&YpV'#%ɚW֖(^ oe wڱ8Zʕ-+S &Q49{H8DRÜɨi7&Y~|7U\9/,+ /¦Kp Hf LN~e3(gi~|7Ez>oZ:w24|޵r}impR7L0j6!\0՘|޵ra}V3޴e ylYwՌKk 2Zj>oZ0{/%)N_Ҍ|`Z[XiVaz,֞A'4NLV'#%W|7-4/Wͯ TY%J@EyiF2Q_*֝~la֓,,֞A'4NO!V2~giET$"QU &=ޕ}q*9lJᰬn1󧬹\'"{<½Pc܊cyET$zUsk~jLm&Q49{H8DRÜɨisH$X> ¾c>dOȷZ[XinSͥ_\g6Ĉq N~L׿ү3^e^WoZ:sI=:nqsi m9Q4isOq&X!)oJW|ק}XϦY+-֖eZykPE$8H`P84kPE$8H`Xai8֓re 0=*9CK=$fkg7a63|+`>t֮O- T_9? J&Ypjd2zc0ZQaoOV30jSp᱆ZL_ xO *9N_Ҍ}XG0?vUsr8_AuXK_iWͭ:ݕyiF2'"{<½Pc܊cyET$zUsk徬gc ZMt"ӄG(9; /Cr=4Kj44  9=:hDi09=:hDi004kIEp#m!-4j"(r|*d72"@SȾFff-) zŠZ"BS߼㕮L֪4Up)9ZUUM=U]iD;Bgaa2_徬giET$XaFQU &=Sc;J*$ǺqHr<L{d#6F+ mք8֐I3ca_V3L{^0ܣO(#_֓&!&byZV3U\97(gxo};XB~x= nj7)OnSȱi/}"VF} b,+QU &=FiPci2bmrf'c;UUM=U]iD;{g=Xg7)OIj_isH$qYca^ҊI1xr<L{QU &=FiPc/ՌIL)efZ[XinvLҽs-4 oYW'N'};UUÚzq0/} ?])jI7(gxh_HᰬnxS¦K50\j?KvCF| +֖e_ / sV > Y|]a걞}qSWj9ʱWϡZ}X[CƬ.i0sJ*$Ǻu 4I1iET$X)nQUBIwZLr~F+ h[IEp_ȷH8DRÜɨMƴ" sPEPD0009Ȋ="B)#3[8OAʿ_m&Q49{u" =Jۻ;OsO&.i7nCgl6|a~ŠXW1.0az~=f>0Z[Xinxoy-|޵r}impRXδ/%0왥}*}XZMjesՇזc!:zX>>0Z[XindjZ0Z[Xin 33Jz߽yjXiWͭ<Ռ'XH>mi2m|akO A'sW Jy߫OՌdN)b"*ǫJ14VpZkBkH$qY%Eg~c'GrН+ZV/ЧYW'J%E֖eXJmzL;}J|޵r|ĩ ZiiF2c;1pZy 9"8)Y3|)֖gwc'G4,}r" aX><_"ެgV3|5|oV3ALɚWqx>SiWν嫓c;1-c:Lp,֞A'4$Iu|޵r}impRg+imaqެg-(Bpij%Y5<hZA'*x0jzimaqnxS{1~_ŸeSKJ1/ʊi2mBEX8bʕ0jzү3_\\Kk 3S{1q}~Ld_fp~w}a-0jisH$XZ~J0jzpReIsk wdNisOq̧a}e:V^go)V_ z/z>oZ?-\-)~la֓,†x_AuXK_Jmi~J119v5Pc܊cyET$zUsk徬gnZM(9!C9ZM(9!C9ZMt"ӄq`A 1 (acOAo}{9Af-__r4&{ͯ `{9A}im*r4 5 fׅ0TNS^f&+XZQͫx 硇~Q9Mzrҟb 1؅pzO# 58֓sC:hDiʼp&syX r&2yLBzNHa-|Zzihr5AHr#N Ĕ5Z4*wA!9RD$*"4C@xq*=Qjӈ" "4I;ӆ r)HfG9HzcN pӕ$LHr#N09Ȧ;(H IkOTsz9Z4*wA!9RD$*"4C8@8<<d59Tw@CqD;P Ɯ"gpCp!E1!ZzGt$=1DASE Liʒ&w $9Q S59=UTqTw@CqD;P Ɯ"gpCp!H AMDC($isU ƜAN$=1*H$DF0`sLwI5QPAMisU ƜAN$=1*H$DF0`sLw&$isOUG5UkU ƜAN$=1*H$DF0`s Q=Qjӈ" "4I;ӆ r)P&kOTs4*wA!9RD$*"4CcHE59=UTqTw@CqD;P Ɯ"gpCp!E18 UZzGt$=1DASE Liʒ&w $9Q SȒ =Qjӈ" "4I;ӆ p]RFG95HzcN pӕ$LHr#N09Ȧ;$kOTs4*wA!9RD$*"4Cc5 Q&G9HzcN pӕ$LHr#N09'59=UTqTw@CqD;P Ɯ"gpCp!E1A";A!8" (HzcNT3I!ʈ8`"QkOTs4*wA!9RD$*"4CQ(=Qi檣jӈ" "4I;ӆ r)@ZzGt$=1DASE Liʒ&w $9Q S*@=P;A!8" (HzcNT3I!ʈ8`枪iAn)ڇQFa*#9ʊ;Zw-)iVFkAGTTcipY&戂:hDi# 9Gb9[O3BSe" q&.$D D@xADQc@8|edN@O_ `h8040 @H( A X0  `h8040 @H( AĺCCE Q$( V!OJm@ 0xS-4. T* rj$7LpFS'`70Ϗg+imaqsZy5sIEp#m!-4j"(ZM@#N```(0aEDDث ^ZQ֖g~~|4译oV3c!8i 4ᾬg-(Bp[քpDIiR3_\oZ>)Q~X8bʕ0jzү3_\\Kk 3S 3OH}~4= _{&i^W ͮOZ[Xi޳֮L,֓r"a8UoYW'֖*/ 硇6Hڀެ>dgd/؅sW*'XϏV$fbՆc8}Xδ1#YmXBi74D@#N```(0s{&#EAx9I%6Zzi j""A@^PA@D (GDE*A@cN4(gzfY+<ӿ# 4@H( A X0  `h8040 @H( A X0  `h804oK44XhaQ$( V!O {7X _0NZl4 3Zy 9Pc<L{ҟ-Zl6{~Zy35a3|󾜴 h@i?7& (洛W "BS߾354-(B~gZZ+ k֓&!iXnD,֓rij%ZL_XK|axZ[W}XҊI1I0ȴI1(@ ZyET$}&Yͯ^ūP,֓rij%ZL_XK}3k Lҿe^d./؅pzkIxVǭ&LB/%{&i_-(B}35ү3_)'V\V37i7$[|-44ZZ+ k֓&!n c:XK_V&!Lr=4yo}|qoV3-4 o7)3eg°||akPE$8H``84kId+ca_V3L{Yhr<L{d#1XKyiO-^5i2b}a-=e-"+Ť_aXK|xVǭ&LB/%0ܠC Pc`>e 4I1IL%|ZaXҊI1&L4I1IOa-+kJ*$Ǻu7(*$ǻa- 5ܬ\O ՀW)sű|ճ+KWa-|zd"Zm3k /JɈVF} b,+ҊI1xO4P *$ǻa-o7)WμNcՌ6r1~VcPc<L{8FZl6|a^ >HVXTT_bha`/%^W}k ./WJ&Yw1PS3""N#  bl-=rҟ}a- ʹŤ_aXK|xVǭ&LB/%0ܧ>ku°=i2b}a-ͬ7"l)"~TWN\MW= =lYHVXTT_bha`_-4 oy 3;P*" 4"9Ap`s'H!)w-)iiMо>M&_Yu°1բe|I|V2~?yCK°&&LB/%0ܠ z˙z?RSi˴L{dm<L{US/ u7lf?RS𧆅d~+#>1hc iET$XFL &yET$uɈG'b򙞬g-XK|""NU"G(L0R_JurNFKpbxbr[)IM c 9Xiq|>LaФ4_gv_f"{4;W'[Ռ5*ɀjq`4Eܴ߿ɈnfB ZMt"ӄq`a0_(LGg4f'gng1X3;u9#5;eSWj+ *؂򢾬gRDIEXδJd'OZLq~' vUBIud2aUBIwZLr~F+ hV0Ыs4eYO=XϦY+-Ӊ1s}X|LcA|֓Q$=Dh("2!&A MUD4zB ZjE@($0h(UEOE@($0E2L ߃$,9!aE@($7hIT䈓 EPa!5DTE 䈑$U HXzF)"$*"j$ATx*cy@ H>M A@*CCA1 07Zg( @ 1% @ zb hh=07H qe@i( h"O@o*"A/8DIǢM0*"P1@ H>c *)"$)Q o4I'ɠ"CDA@H"&L BÒ ("8 $DHq.i"((o"(*" ("$h"O8@ H>c4@HLq֞MD\ni5sCGW-#m!-4j"q&戨8jEDD"2o/9Y-ɼ4""N*'< Fiɼ4""N*O+ɼ4""NlUI5QMSH>X>';./usr/share/man/info/en_US/xlf/html/lr250.htmp/$ IBCLR(I, POS) XL Fortran for AIX V8.1.1

Language Reference

IBCLR(I, POS)

Clears one bit to zero.

Argument Type and Attributes

I
must be of type integer.

POS
must be of type integer. It must be nonnegative and less than BIT_SIZE (I).

Class

Elemental function

Result Type and Attributes

Same as I.

Result Value

The result has the value of the sequence of bits of I, except that bit POS of I is set to zero.

The bits are numbered from 0 to BIT_SIZE(I)-1, from right to left.

Examples

IBCLR (14, 1) has the result 12.

If V has the value (/1, 2, 3, 4/), the value of IBCLR (POS = V, I = 31) is (/29, 27, 23, 15/).

See Integer Bit Model.


Specific Name Argument Type Result Type Pass As Arg?
IBCLR (1) any integer same as argument yes

Notes:

  1. IBM Extension.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] s kX$*jf>H>X>';*./usr/share/man/info/en_US/xlf/html/lr251.htmp/$ IBITS(I, POS, LEN) XL Fortran for AIX V8.1.1

Language Reference

IBITS(I, POS, LEN)

Extracts a sequence of bits.

Argument Type and Attributes

I
must be of type integer.

POS
must be of type integer. It must be nonnegative and POS + LEN must be less than or equal to BIT_SIZE (I).

LEN
must be of type integer and nonnegative.

Class

Elemental function

Result Type and Attributes

Same as I.

Result Value

The result has the value of the sequence of LEN bits in I beginning at bit POS, right-adjusted and with all other bits zero.

The bits are numbered from 0 to BIT_SIZE(I)-1, from right to left.

Examples

IBITS (14, 1, 3) has the value 7. See Integer Bit Model.


Specific Name Argument Type Result Type Pass As Arg?
IBITS (1) any integer same as argument yes

Notes:

  1. IBM Extension.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] Mi2`' kȑ $ jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr252.htmp/$ IBSET(I, POS) XL Fortran for AIX V8.1.1

Language Reference

IBSET(I, POS)

Sets one bit to one.

Argument Type and Attributes

I
must be of type integer.

POS
must be of type integer. It must be nonnegative and less than BIT_SIZE (I).

Class

Elemental function

Result Type and Attributes

Same as I.

Result Value

The result has the value of the sequence of bits of I, except that bit POS of I is set to one.

The bits are numbered from 0 to BIT_SIZE(I)-1, from right to left.

Examples

IBSET (12, 1) has the value 14.

If V has the value (/1, 2, 3, 4/), the value of IBSET (POS = V, I = 0) is (/2, 4, 8, 16/).

See .


Specific Name Argument Type Result Type Pass As Arg?
IBSET (1) any integer same as I yes

Notes:

  1. IBM Extension.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] H>X>';./usr/share/man/info/en_US/xlf/html/lr253.htmp/$ ICHAR(C) XL Fortran for AIX V8.1.1

Language Reference

ICHAR(C)

Returns the position of a character in the collating sequence associated with the kind type parameter of the character.

Argument Type and Attributes

C
must be of type character and of length one. Its value must be that of a representable character.

Class

Elemental function

Result Type and Attributes

Default integer.

Result Value

  • The result is the position of C in the collating sequence associated with the kind type parameter of C and is in the range 0 <= ICHAR (C) <= 127.
  • For any representable characters C and D, C .LE. D is true if and only if ICHAR (C) .LE. ICHAR (D) is true and C .EQ. D is true if and only if ICHAR (C) .EQ. ICHAR (D) is true.

+-------------------------------IBM Extension--------------------------------+

Examples

ICHAR ('X') has the value 88 in the ASCII collating sequence.
Specific Name Argument Type Result Type Pass As Arg?
ICHAR default character default integer yes (1)

Notes:

  1. The extension is the ability to pass the name as an argument.

  2. XL Fortran supports only the ASCII collating sequence.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] & kN"$jf>H>X>';./usr/share/man/info/en_US/xlf/html/lr254.htmp/$ IEOR(I, J) XL Fortran for AIX V8.1.1

Language Reference

IEOR(I, J)

Performs an exclusive OR.

Argument Type and Attributes

I
must be of type integer.

J
must be of type integer with the same kind type parameter as I.

Class

Elemental function

Result Type and Attributes

Same as I.

Result Value

The result has the value obtained by combining I and J bit-by-bit according to the following truth table:

I   J  IEOR (I,J)
-----------------
1   1      0
1   0      1
0   1      1
0   0      0

The bits are numbered 0 to BIT_SIZE(I)-1, from right to left.

Examples

IEOR (1, 3) has the value 2. See Integer Bit Model.


Specific Name Argument Type Result Type Pass As Arg?
IEOR (1) any integer same as argument yes
XOR (1) any integer same as argument yes

Notes:

  1. IBM Extension.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 4-( kꚑ#$ jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr255.htmp/$ ILEN(I) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

ILEN(I)

Returns one less than the length, in bits, of the twos complement representation of an integer.

Argument Type and Attributes

I
is of type integer

Class

Elemental function

Result Type and Attributes

Same as I.

Result Value

  • If I is negative, ILEN(I)=CEILING(LOG2(-I))
  • If I is nonnegative, ILEN(I)=CEILING(LOG2(I+1))

Examples

I=ILEN(4)  ! 3
J=ILEN(-4) ! 2

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ="25%" kް$$=jf>H>X>';=./usr/share/man/info/en_US/xlf/html/lr256.htmp/$ IMAG(Z) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

IMAG(Z)

Identical to AIMAG.

Related Information

AIMAG(Z), IMAG(Z).

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] AN  l&%$jf>H>X>';W ./usr/share/man/info/en_US/xlf/html/lr257.htmp/$    "<=>ANTerst -/BDEGILOPRSahilnopu().0:CHUbcdfgm%,12458;FMVWXYvy!&'3679K_wxz#+Q\|Zk{}[]q?Ut+&8J" <"WV$QU*)dRRɄIRɄ*D7uRwC{E s9s9s9s9s9sCd8D "h `3 `np܎\-A~bmqp@$oQq6@Co[XΜ}0MKZ `PhxX~P$`(P󎡲wDo"p{ #ȿ[qxP( :qޮkaW `kxˍ;_ؿ|Q:qܛ=7űzuƷ ozq6@CZp[qW_95Wx- 8 !tٯ+JлE\}Dyq6B)^Jq*&Ek]+^qqǴ^^ Y~W WќFE+ג9 SVҵٗCVα !^J\Rj N0YytyOxWcǁP$`qDhlRy+sI%8`Ek]+^qˁ6DO`3G DRTDP04H/CdH.DRI"–E!HL$!8cِ ֺV0)dRRɄIRɄ*D7G ^z1×>v<͸Jkyqq%&nNɈLŽwRR=EZ%$oI!Fn–L$z7FaLwU]#I/I#zI 2Mn–L$z7FaLwU]<oMn<[^ xFqgY Y1Q$_qti= HoI" í8UG#F=hl Y:ujGvt6K'pgmyx^+x/I3vtcŽwRR=^Pdq^f-d5 M;${7ak'CdMZ%T1:" kSX{}3akoqf8'|P2ρ9Śvw>*mln–OSpIRɍpWj^)&7aK'/ w5f_k/`pU+1x+5z[d ݅,g7^n~V4c$f)d㍑I*q84PBA}x3akoqfu&v>q]s_mhLfN5{~n1cF2Mn–Lo8PO%[mn–OSpIRɍ4 M@0+5d ݅,</3BU,ӰwXnT3vc@WvxU+qAxU+q݅,p7^n~V&7aK&7ϏlUJHj/I3vtHјƤ{7ak'Cd) qa' Śvp8d) qa'HSP7־iqG%lQ #IZ$PU/Cev(lKUB'iucFq"Qj#rSXhDi&W7U)Ļl80`+ќ#^*JUQ;N*!x*vPZXF=Dg+*&7%8Fez۳qURKӀW&!3/ [RGܕ%r^RxUQ;N(-{#3ljN!a^UTウ?FcPqx0lezڒ>+UD8ĪqAkaHdxܔInUJq.;N@8xDhZ׮r`W#J>RWbvUHBUUD8e%TRaĊʅGN!a^UTウ?FY [RGJvUHBUUD8e%TRaĊʅljN!a^UTウ?F]]*Yhd{+ԑF>RxUQ;N7YxIUfq"x5),4"4+ݛ]vpж =M[RGJvUHBUUD8e%TRaĊʆGN!a^UTウ?Fג6GCd{+ԑF>RGި* ƈy$⫥0%%Tx{5 ]½㹯Z v{ o W9V蹥1+~&nNT.Gvty{Y1 =^$$ʼ N ߀pbiwc>?y&]Xh s{3/ 8:c>?y&]Xhpf4c>?y&]Ek]+^4E|"ԏ8^I'r ̀daK"1ՋƊ<[ZpS*TE) X1vb4=%qhh@m l&$Djf>H>X>';./usr/share/man/info/en_US/xlf/html/lr258.htmp/$    "<=>AILNTeit -/DEHOPRSafnoprs%02:CFGcdghlmu(),.1458;BMVWYbyz!379UXvwx#&6KQ_|\k}'?[]{qxXQDzVP!Iq<,J4ᇞv&+/I!_iڈuܻBy!"kԋֲԔH]^zU:R( O8i^^N2_>߮O, yYTJ&HN3g7+wy_IlpuCۗv'%>Emw1|χ~K/w'1rTXu@?pnZa"߶nÿ%i.Kܭ7"(ןIi^^N2_ifnVA#"W[Q>8]|` _nˮ\'ܿ]v`&@Hȫ2*aa>uG,%k3~4?@ #"|FE]l<,'ζw ,ӷ*2d-sK[srs '{-~ar&J_Ǘ]YoV~-s]\wY1kϤN$v@6<1,66^П:ۃ#ߒ˙hW+ᛔ4T[eŰ_v/K_us=V&yRd $mJT*lFH" /xвP6/YIWaJ# ars63y)*yRd $mJT*lFH" v9dFl^Z”FLp/qFlJ]̗r5笤d"!I6)Rd joI CH'@69dFl^Z”FLp/qFlJ]̗9[kYIV/>ECʓ%Xm#mRVdޒ2AVN慒 zJk Qk 3LJ e^zJyB/>V&yRd $mJT*lFH" /xвP6/YIWaJ# ars63Bu=e%X!*LaDJ%XmSzHUZA:'4,4ph͋RUXRXi<8h͉Fm˓øi.kYIV/>ECʓ%Xm#mRVdޒ2AVNmsBCGؽe%^(5^Æؔ /srpמ^}쇕&J"FĥI6ɩ$d* 7 % 3bz0g';{3bFb^}M}VDHx2U57EU^9dFl^Z”FLp/qFlfF`^zJyB/T*ho&J&4tNhY(hћְ99 xpћas%ܺy)*yRd $mJT*lFH" NhY(hћְ99 xpћas%nVRUϲ}VDHx2U57EUf9dFl^Z”FLp/qFlYhמ^}ϲ}T*ho&J&4t '4,4ph͋RUXRXi<8h͌y y5笤d"!I6)Rd joI CH'A慒 zJk Qk 3LJ UP,5笤d"!I6)Rd joI CH'@69dFl^Z”FLp/qFlJ]̗9[kYIV/>ECʓ%Xm#mRVdޒ2AVN慒 zJk Qk 3LJ e^zJyB/>BF&HB5k7tyztQשqDd(מ"kԋֲԔUurlӆeeS("E>a /4i|Ww,/ 9iu%=k*IG ]Ng 5*kȴ\]Z*h$ J H*jbu%NeeS(Dmoi~-~1wH ]琝QR/IXB .vi!6+}oQry{U0 ɍ\\|tD4AEcc[s\|tD4Gɀ u5ˊiAsvrϔx.p4 [&4VuAP3d>Q#|d"4A ([^|kMH#HXn k'$9 jf>H>X>';9 ./usr/share/man/info/en_US/xlf/html/lr259.htmp/$ INT2(A) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

INT2(A)

Converts a real or integer value into a two byte integer.

Argument Type and Attributes

A
must be a scalar of integer or real type.

INT2 cannot be passed as an actual argument of another function call.

Class

Elemental function

Result Type and Attributes

INTEGER(2) scalar

Result Value

If A is of type integer, INT2(A) = A.

If A is of type real, there are two possibilities:

  • If |A| < 1, INT2(A) has the value 0
  • If |A| >= 1, INT2(A) is the integer whose magnitude is the largest integer that does not exceed the magnitude of A, and whose sign is the same as the sign of A.

In both cases, truncation may occur.

Examples

The following is an example of the INT2 function.

    REAL*4 :: R4
    REAL*8 :: R8
    INTEGER*4 :: I4
    INTEGER*8 :: I8
 
    R4 = 8.8; R8 = 18.9
    I4 = 4; I8 = 8
    PRINT *, INT2(R4), INT2(R8), INT2(I4), INT2(I8)
    PRINT *, INT2(2.3), INT2(6)
    PRINT *, INT2(65535.78), INT2(65536.89)
    END

The following is sample output generated by the program above:

    8 18 4 8
    2 6
    -1 0     ! The results indicate that truncation has occurred, since
             ! only the last two bytes were saved.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] '4,4p lޙ($jf>H>X>';c./usr/share/man/info/en_US/xlf/html/lr26.htmp/$    et"<=>Tanors /AEINRcdfhilmu,-0BCDGHLMOPSgp.1238:UVWbxy!%()45679FXY_qvw#;Q\k|{}K[]zxQCB|hqȡ iJE A kH82&J\ܾqΊ1FӗyE1IB&0g%W-+eo!B!B!B!B!B!  LJ$@, + , YUԷR ebD  $85A8l _iH "0sۆ ,2&0g2+f /8m=bg0dMx`{,0a}_,B6_'f&kT[E}V)5A8~F,oZ<م7a}5A8_U,V.5vlم7b  ȗ?@.lZmDqN>2 (Q8PLwqR J=Ʋq~W,/gSn/M]y6M}JS{,S./(ޱZ{E/R+Am:]lJmVEuޫ Vj/5S(e^Q JE "#7)$*gǕJH%(;pSN_Zd/;_6 ^ n("2wU) ,T_ 癷 47Sk!#)HAD``I *JPp6 A6F8X,<:&? @DFC,[.;pSNRtMT?&c P?@ ECFݍbYop7Ŵ? 0i@ RMfզSd7֭4`O0VM k/ y4"k$"HkEVԫ5&x胉mm:շ=w yV:/y ТM\O!B!B!B!B!B! ?yD T@1>&\IΆlגN/$<q" 4h$hs$h`R&   t^q5㓉-Q:Sg&p_gSy[+y'_#CS q5N&D9"=n'DPtwTrǥ;"BDౣ@D yâY2S< H|*\@reD$H &[qʏ@i:D"_$kCM)AJH&"y4HHgqI,zPpc$$J 4 t@w:"{e6Βq|y4HA) ""*$\AH(84 t@w:$4e:+JI}YM:D"DPp M)A*YI%]yâC,K!S9bQb7,9\_1Fgi{e6s8 0ӗ5ۋ,M˗5ۋ󢼱Q {e6Βq|CM)AJH&"y4HHgq$HH t^: `H{16sZ_lڛs^tEI8Iȇ<$RMDhJRʓ.Xq$HH4hx聁@w:#ʥ#H/k)Βq|y4HA) ""Ǖ&\AH(8,h+8tQ6yvڦ-6nRr퉙LZm\ם"yN/q5!&%$w<$RT˖=(81I%t^: `;!i:D"_$kKM)AJH&"y4HHgqI,zPpc$$J 4 /k)k Mq))ٌ2{m=NO;ܵ寊4& ^`͞q))ٌ2{m=N<5nZrBF_OUə3f{SPMa\1jf{m=yBxb(3Rۅ-)Njkv/kb(j⽊}_9f_gByk;gnbWlv/P(׎N/:D^tMGBD8448kE<[-I ( dȈ$,_S\Bm-jl>>?MĺȤ#יp/k)0&qVݪ:aٶrtW/aMbVe {os^HAȐ]|My#!"@ t^q5(phhp-yזUSg(ޱZ{EؿT݊[e30 OX:Mbbta}jBxs6{C|ىgSoا徯fLا2 vƅ?K[Zmbtgr+OUSg(ޱZ|Sz=Ʋx[N+MY|+Cog?q5шmV}{e6hъ42ޝV{k)Zlا;2 /$ʤF"2 ^IHEחeR# ^IH},XלMq5(phhps󏉯-%Vblڪb>=_1LW&f1i/n bWf1iԭ5765: Y'Vf覱Z_eMbWu*eэ[ؙTŦ\Yeͪ*ݰ+|4ͪbk.Y~cWu(M5޵Yf6(ck24A!DO8*/$ʤF%&TBH/$ʤF>/$ʤF(%$8*o禫1LT[q%VfjuV퉙LZm )7Vo3jVVX ‹_9ULUg ض[(*mm~=ƲebLWΞlZn30`^Z(_֠0: rY:i-U~<,†K[ZmϝY}+%~(ݭS=VZ6|+OU2y,2q/:^{[56M[)F^I8t@ I4p*X Zf1ѕLL<~$0薶wcq?yh`l _ZtRMcq?yh`l40)}hU) LM[7)yǀI $4 )@/#ӓG|xWBVt^q5*@JE ש k`)$jf>H>X>';./usr/share/man/info/en_US/xlf/html/lr260.htmp/$ IOR(I, J) XL Fortran for AIX V8.1.1

Language Reference

IOR(I, J)

Performs an inclusive OR.

Argument Type and Attributes

I
must be of type integer.

J
must be of type integer with the same kind type parameter as I.

Class

Elemental function

Result Type and Attributes

Same as I.

Result Value

The result has the value obtained by combining I and J bit-by-bit according to the following truth table:

I   J   IOR (I,J)
-----------------
1   1      1
1   0      1
0   1      1
0   0      0

The bits are numbered 0 to BIT_SIZE(I)-1, from right to left.

Examples

IOR (1, 3) has the value 3. See Integer Bit Model.


Specific Name Argument Type Result Type Pass As Arg?
IOR (1) any integer same as argument yes
OR (1) any integer same as argument yes

Notes:

  1. IBM Extension.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] |d kꈹ*$jf>H>X>';./usr/share/man/info/en_US/xlf/html/lr261.htmp/$ ISHFT(I, SHIFT) XL Fortran for AIX V8.1.1

Language Reference

ISHFT(I, SHIFT)

Performs a logical shift.

Argument Type and Attributes

I
must be of type integer.

SHIFT
must be of type integer. The absolute value of SHIFT must be less than or equal to BIT_SIZE (I).

Class

Elemental function

Result Type and Attributes

Same as I.

Result Value

  • The result has the value obtained by shifting the bits of I by SHIFT positions.
  • If SHIFT is positive, the shift is to the left; if SHIFT is negative, the shift is to the right; and, if SHIFT is zero, no shift is performed.
  • Bits shifted out from the left or from the right, as appropriate, are lost.
  • Vacated bits are filled with zeros.
  • The bits are numbered 0 to BIT_SIZE(I)-1, from right to left.

Examples

ISHFT (3, 1) has the result 6. See Integer Bit Model.


Specific Name Argument Type Result Type Pass As Arg?
ISHFT (1) any integer same as argument yes

Notes:

  1. IBM Extension.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] H>X>';, ./usr/share/man/info/en_US/xlf/html/lr262.htmp/$    e"-<=>Tiorst /ADEHILNPSafhln.0:BCFGMORbcdgmpu%,124589VWYvy!#()367;UZ_wxz+QX\|?k{}K[]qc&]:W y%BВ4Y:)Вi ΍MF!Ae B]OU)$!iKM-k)JR)JR)JR)JR)JR&t@4Q!J,SL\Hh rZK򢾥ʆ7 `@$# $!ĭpW],wYj@IEPc? $!} ަPq.>5kЮ !: HC0qۊiq}Zq&s.c{Wٮ_: HCl)tλ 7l~Ro8k IQ!1"eay5ԓoWqRݣnlWQPxW-V[ɝ|Ή$N^ dw:aASZ)]&Zy + 07 gDTCJ/@b2~ V֢KROaqWpP񡠗A5R5~t!cÉ'!nbzd,.歊tod,,sZh ;/2Xa{\Y0Fms, 8ؠL螚H#8&Έū;ZZyW Z.~/,.'gs8:q+y:N%JR)JR)JR)JR)JR)JRΊd %'Ɓ.ɍ|z:)V]0mk[}ttP I)=D@P'3Ίad %'ELQ"{-&ZHp)QPx@jWa@j@МOL2gEyݫ\;YY߮}]:_a{].,8B#4.`ٝw>~sz7Ob FgEftWQ:jN'Ifd3_"鍸z(+(q6PѤ32owٯS[t_{+8o;p5MBM<7;-.|۰5!gDQWQ:l( Kk5:'OF(ɼgfEMoq~e{a@j\ɼgjخj)Kd3ݶ~ n㔠9p2q}F Rd5܅zzƯs-e{( K:'z*8B#13D(PftWNiw,6lΝ(PfSpm ˥Tw=&&w Xn "ˆ'B#3 8ox.bf~TWẵc( KަɛcZtZrȿFnẵ/8yYs;}.,:7sl]>m)@s R(XWj3S k"Ί(Mb3H ɓNn"{(Mb3:+F!A  \2(t$BOrbɐ*h$MQQ鍿\V/D&.++Jq0!B!B!B!(8H!w!B!B!B!BO8D&tWC$CC8Έ:4@ryѢ}T"D("ZON&IDd Q''qatPMTathx̓ZZTY:tOatOs*R!GPxt2O#'&c9<08% bj'gs T#Ch\:}Mi=Zq>4OVHPUB+I҄?<%rx`pKAnJOjGF |n ASZtOatOs*R!GPxt2O#'&k9<08% bj'gs T#Ckt1йtOatOs)8Ф΍*R!GP} H"F$ Q''qatPMTathxF!ADAi#8ZOU"AU'К餂)bOMP%rx`pKAnJOjGF |tW鍹=Zq>4GVHPUB+I&i EǓT$4NO  |-ؠIY/3vn`ٝw'DAi#8ZOU"AU'К餂)bOMP%rx`pKAnJOjGF |w# :' N'OJgEytֶw|O8WMt3⪓o]n5KwY34g{70lλiswY}pTm_.9{70lλ :'Vq^q\Sp!B!B!B %g]l!B!B!B!q k|,$ jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr263.htmp/$ KIND(X) XL Fortran for AIX V8.1.1

Language Reference

KIND(X)

Returns the value of the kind type parameter of X.

Argument Type and Attributes

X
may be of any intrinsic type.

Class

Inquiry function

Result Type and Attributes

Default integer scalar.

Result Value

The result has a value equal to the kind type parameter value of X.

Kind type parameters supported by XL Fortran are defined in Intrinsic Types.

Examples

KIND (0.0) has the kind type parameter value of the default real type.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] H"F kF-$jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr264.htmp/$ LBOUND(ARRAY, DIM) XL Fortran for AIX V8.1.1

Language Reference

LBOUND(ARRAY, DIM)

Returns the lower bound of each dimension in an array, or the lower bound of a specified dimension.

Argument Type and Attributes

ARRAY
is the array whose lower bounds you want to determine. Its bounds must be defined; that is, it must not be a disassociated pointer or an allocatable array that is not allocated.

DIM (optional)
is an integer scalar in the range 1 <= DIM <=  rank(ARRAY). The corresponding actual argument must not be an optional dummy argument.

Class

Inquiry function

Result Type and Attributes

Default integer.

If DIM is present, the result is a scalar. If DIM is not present, the result is a one-dimensional array with one element for each dimension in ARRAY.

Result Value

Each element in the result corresponds to a dimension of array.

  • If ARRAY is a whole array or array structure component, LBOUND(ARRAY, DIM) is equal to the lower bound for subscript DIM of ARRAY.

    The only exception is for a dimension that is zero-sized and ARRAY is not an assumed-size array of rank DIM, In such a case, the corresponding element in the result is one regardless of the value declared for the lower bound.

  • If ARRAY is an array section or expression that is not a whole array or array structure component, each element has the value one.

Examples

        REAL A(1:10, -4:5, 4:-5)
 
        RES=LBOUND( A )
! The result is (/ 1, -4, 1 /).
 
        RES=LBOUND( A(:,:,:) )
        RES=LBOUND( A(4:10,-4:1,:) )
! The result in both cases is (/ 1, 1, 1 /)
! because the arguments are array sections.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] Prev k.$ jf>H>X>';  ./usr/share/man/info/en_US/xlf/html/lr265.htmp/$ LEADZ(I) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

LEADZ(I)

Returns the number of leading zero-bits in the binary representation of an integer.

Argument Type and Attributes

I
must be of type integer.

Class

Elemental function

Result Type and Attributes

Same as I.

Result Value

The result is the count of zero-bits to the left of the leftmost one-bit for an integer.

Examples

 I = LEADZ(0_4)  ! I=32
 J = LEADZ(4_4)  ! J=29
 K = LEADZ(-1_4) ! K=0

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] the  k./$ jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr266.htmp/$ LEN(STRING) XL Fortran for AIX V8.1.1

Language Reference

LEN(STRING)

Returns the length of a character entity. The argument to this function need not be defined.

Argument Type and Attributes

STRING
must be of type character. It may be scalar or array valued.

Class

Inquiry function

Result Type and Attributes

Default integer scalar.

Result Value

The result has a value equal to the number of characters in STRING if it is scalar or in an element of STRING if it is array valued.

Examples

If C is declared by the statement

 CHARACTER (11) C(100)

LEN (C) has the value 11.


Specific Name Argument Type Result Type Pass As Arg?
LEN default character default integer yes (1)

Notes:

  1. IBM Extension: the ability to pass the name as an argument.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] s Pag k겮0$ jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr267.htmp/$ LEN_TRIM(STRING) XL Fortran for AIX V8.1.1

Language Reference

LEN_TRIM(STRING)

Returns the length of the character argument without counting trailing blank characters.

Argument Type and Attributes

STRING
must be of type character.

Class

Elemental function

Result Type and Attributes

Default integer.

Result Value

The result has a value equal to the number of characters remaining after any trailing blanks in STRING are removed. If the argument contains no nonblank characters, the result is zero.

Examples

LEN_TRIM (' A B ') has the value 4. LEN_TRIM ('  ') has the value 0.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] OL2" l`1$jf>H>X>';./usr/share/man/info/en_US/xlf/html/lr268.htmp/$   "<>-=AELNTe /DGHIOPRSailnorst%01258:BCFMYcdfpu&.346;VWXbghmyz!(),9U_vx#+7Q\w|kq{}?[]K* egX1PQ*&O6Pв>u;Z%9!u'FEJ >ړ a+%v ]Ztّc1c1c1c1c1Bwa &DMAC6  c& bAX @y09@.%u\oֶru'$i0`N0 HHy0 L4(""Od74>ˍ0h$ ̄<&Y}v]ee/v޹*u{uWuLp&Hffffd!pR˺؝O]ױk~1fDD{!y0`٦.8e8od1y1A\\jMuX"MMffffffffffffd!qYYYt,/MJuuud6wqFQ+ F(j |=q%-MDYl 8.$b71N<`A6j_#MC00404pA ó3 yFGq6 ;30ˍ"숉>Gq6 8ǯbԟǥ9!ID yKˍic }0 & ̸ǒw6bW`Ů]L=1c1c1c1c1c9y,;g 2 U!F6klܯO!B!B!B!A2Er`̸!B!B!B!B ǒ=UIo;YS@<(x$/;!Ȭ RIiOdԭ[w茊<|Hwܯp&&6wq_;$ĖL8FEJw!O;Bļ<<[~qe* {UZi awײU; _{c \a}i\KǮ %&&<w+R jqe*R0Ё|a|J aw~ȩY`h|a|J aw @p pFpțݡ@8AܯȬ㩠< t+8hedVq 7Ȭ㩠0v/;-uJ;K%DѬv)mQ4k$]ЎRwBGG˫*-ILy[ 0^],ʰ'sՕ_K%DѬv)mQ4k$]ЎRBGG˫*-ILy[ 0^6'v zʿ/%h;Il5RPhGI@вQʸRq.6dVH 6aCW;]YW%dTMi2 FJZM5(J:8x]YWjN:e߃̊܉aOdՕ_o-uQ4k[p6TMlNHMeԠвQʸRq.6dVH DdTVU>Y FLeDѬv+^:MJM %<^.ص'2oEnD{.em?݆VU>Y FLeDѬv+^:MJ&/VUZq""@`2nGq*d?JX&Rہh;eJrBk/&BGG˫*-ILy[ 0^;]YW!}wY FLeDѬv+^:MJ M %<^.ص'2oEnD{FEJ=ue_Q4k[p6TMlNHMeԠвQʸRq.6dVH ab _ ;rˍaՕC%DѬv)mQ4k%9!5R;ɡdՕq{\m<ȭȐ/|ÆvynGq*d?JX&Rہh;eJrBk/&BGG˫*-ILy[ 0^;]YW!}wY FLeDѬv+^:MJ M %<^.ص'2oEnD{2+,^yzʿ!h;Il5EwIAہɡdՕq{\m<ȭȐ/|̰m۰zʿ!h;Il5EwI@вQʸRq.6dVH bX6h=ue_Q4k[p6TMlNHMeԠVrhY(ue\^ũ8~2+r$ q*d?[!h;Il5EwIAɡdՕq{\m<ȭȐ/} #"%a~<Ǯ}*&cKnʉXWq) tJ:8x]YWjN:e߃̊܉8lAn]qv4wCd5e-*&cQ]ħ$&jP'p94,tp{/bԜtˍp؃WNܻ/2xh=ue_Q4k[p6TMlNHMeԠVrhY(ue\^ũ8~2+r$ q*d?[!h;Il5EwIAɡdՕq{\m<ȭȐ/|2+,^ =ue_Q4k[p6TMlNHMeԠвQʸRq.6dVH @0а9zʿ!h;Il5EwI@вQʸRq.6dVH @0а9zʿ!h;Il5EwI@вQʸRq.6dVH )wVU>eR~w+KL>E1+-a_#y/),7lAA>؃ƃx`;OD v4؃ƃ|2 H>X>';M./usr/share/man/info/en_US/xlf/html/lr269.htmp/$ LGE(STRING_A, STRING_B) XL Fortran for AIX V8.1.1

Language Reference

LGE(STRING_A, STRING_B)

Test whether a string is lexically greater than or equal to another string, based on the ASCII collating sequence.

Argument Type and Attributes

STRING_A
must be of type default character.

STRING_B
must be of type default character.

Class

Elemental function

Result Type and Attributes

Default logical.

Result Value

  • If the strings are of unequal length, the comparison is made as if the shorter string were extended on the right with blanks to the length of the longer string.
  • If either string contains a character not in the ASCII character set, the result is undefined.
  • The result is true if the strings are equal or if STRING_A follows STRING_B in the ASCII collating sequence; otherwise, the result is false. Note that the result is true if both STRING_A and STRING_B are of zero length.

Examples

LGE ('ONE', 'TWO') has the value .FALSE..


Specific Name Argument Type Result Type Pass As Arg?
LGE default character default logical yes (1)

Notes:

  1. IBM Extension: the ability to pass the name as an argument.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k3$ jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr27.htmp/$ Chapter 3. Data Types and Data Objects XL Fortran for AIX V8.1.1

Language Reference


Chapter 3. Data Types and Data Objects

This chapter describes:


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ult is k54$&jf>H>X>';&./usr/share/man/info/en_US/xlf/html/lr270.htmp/$ LGT(STRING_A, STRING_B) XL Fortran for AIX V8.1.1

Language Reference

LGT(STRING_A, STRING_B)

Test whether a string is lexically greater than another string, based on the ASCII collating sequence.

Argument Type and Attributes

STRING_A
must be of type default character.

STRING_B
must be of type default character.

Class

Elemental function

Result Type and Attributes

Default logical.

Result Value

  • If the strings are of unequal length, the comparison is made as if the shorter string were extended on the right with blanks to the length of the longer string.
  • If either string contains a character not in the ASCII character set, the result is undefined.
  • The result is true if STRING_A follows STRING_B in the ASCII collating sequence; otherwise, the result is false. Note that the result is false if both STRING_A and STRING_B are of zero length.

Examples

LGT ('ONE', 'TWO') has the value .FALSE..


Specific Name Argument Type Result Type Pass As Arg?
LGT default character default logical yes (1)

Notes:

  1. IBM Extension: the ability to pass the name as an argument.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] NA k)5$Jjf>H>X>';J./usr/share/man/info/en_US/xlf/html/lr271.htmp/$ LLE(STRING_A, STRING_B) XL Fortran for AIX V8.1.1

Language Reference

LLE(STRING_A, STRING_B)

Test whether a string is lexically less than or equal to another string, based on the ASCII collating sequence.

Argument Type and Attributes

STRING_A
must be of type default character.

STRING_B
must be of type default character.

Class

Elemental function

Result Type and Attributes

Default logical.

Result Value

  • If the strings are of unequal length, the comparison is made as if the shorter string were extended on the right with blanks to the length of the longer string.
  • If either string contains a character not in the ASCII character set, the result is undefined.
  • The result is true if the strings are equal or if STRING_A precedes STRING_B in the ASCII collating sequence; otherwise, the result is false. Note that the result is true if both STRING_A and STRING_B are of zero length.

Examples

LLE ('ONE', 'TWO') has the value .TRUE..


Specific Name Argument Type Result Type Pass As Arg?
LLE default character default logical yes (1)

Notes:

  1. IBM Extension: the ability to pass the name as an argument.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] L>  kN26$#jf>H>X>';#./usr/share/man/info/en_US/xlf/html/lr272.htmp/$ LLT(STRING_A, STRING_B) XL Fortran for AIX V8.1.1

Language Reference

LLT(STRING_A, STRING_B)

Test whether a string is lexically less than another string, based on the ASCII collating sequence.

Argument Type and Attributes

STRING_A
must be of type default character.

STRING_B
must be of type default character.

Class

Elemental function

Result Type and Attributes

Default logical.

Result Value

  • If the strings are of unequal length, the comparison is made as if the shorter string were extended on the right with blanks to the length of the longer string.
  • If either string contains a character not in the ASCII character set, the result is undefined.
  • The result is true if STRING_A precedes STRING_B in the ASCII collating sequence; otherwise, the result is false. Note that the result is false if both STRING_A and STRING_B are of zero length.

Examples

LLT ('ONE', 'TWO') has the value .TRUE..


Specific Name Argument Type Result Type Pass As Arg?
LLT default character default logical yes (1)

Notes:

  1. IBM Extension: the ability to pass the name as an argument.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] NAME= k~7$ jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr273.htmp/$ LOC(X) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

LOC(X)

Returns the address of X that can then be used to define an integer POINTER.

Argument Type and Attributes

X
is the data object whose address you want to find. It must not be an undefined or disassociated pointer or a parameter. If it is a zero-sized array, it must be storage associated with a non-zero-sized storage sequence. If it is an array section, the storage of the array section must be contiguous.

Class

Inquiry function

Result Type and Attributes

The result is of type INTEGER(4) in 32-bit mode and of type INTEGER(8) in 64-bit mode.

Result Value

The result is the address of the data object, or, if X is a pointer, the address of the associated target. The result is undefined if the argument is not valid.

Examples

INTEGER A,B
POINTER (P,I)
 
P=LOC(A)
P=LOC(B)
END

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] As kb 8$jf>H>X>';./usr/share/man/info/en_US/xlf/html/lr274.htmp/$ LOG(X) XL Fortran for AIX V8.1.1

Language Reference

LOG(X)

Natural logarithm.

Argument Type and Attributes

X
must be of type real or complex.
  • If X is real, its value must be greater than zero.
  • If X is complex, its value must not be zero.

Class

Elemental function

Result Type and Attributes

Same as X.

Result Value

  • It has a value approximating logeX.
  • For complex arguments, LOG ((a,b)) approximates LOG (ABS((a,b))) + ATAN2((b,a)).

    If the argument type is complex, the result is the principal value of the imaginary part OMEGA in the range -PI < OMEGA <= PI. If the real part of the argument is less than zero and its imaginary part is zero, the imaginary part of the result approximates PI.

Examples

LOG (10.0) has the value 2.3025851 (approximately).


Specific Name Argument Type Result Type Pass As Arg?
ALOG default real default real yes
DLOG double precision real double precision real yes
QLOG REAL(16) REAL(16) yes (1)
CLOG default complex default complex yes
CDLOG double complex double complex yes (1)
ZLOG double complex double complex yes (1)
CQLOG COMPLEX(16) COMPLEX(16) yes (1)

Notes:

  1. IBM Extension: the ability to pass the name as an argument.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] E="IDX4 lꊟ9$jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr275.htmp/$    "<=>AELNTet -/0DGHIOPRSailnors%12:BCFMYcdfhmpu.4568VWXbgyz!(),379;U_vx#Q\w|?k{}K[]qGܒ܍zPӏ=J\tzw#^y'r5ё%UR< I!qiΞ)&1c1c1c1c1c1#`8GpNoK^;yllɖe6iyu P6:dFsǫk׎` 0,4$0hH^ӽ: 1@5xmzZ4= O 4$/dl@lw =Vץa3q łF .J1pdhQ%!v^i^ S@2epG87:YiDu9,or703E2Xox,&n760 7ʺN"Moq׋,*8B%7lh6rUhD@gu^6g su5h`@peežy]ula ҃][%%Yl {][%#`[>e̿[3e{n` B  `VJKo.JFiUT@ 2lps-AZF~#Hꈇ󑰟:!!c(9 L#"0'e#`9y uil.Z;ZD#EQ+e%ZGJN}< @VɃ&V2_tVք/6uQ+GG+{GzGQÔFF AnVҮhOC&K=i@(]?: TJޢ19Dnt`PZv\i*941[%$ctVք/6uQ+GG+{GzGP#tlӷbHW\ϴ' ,6(tul.TJЅΪ%h[zt4]j/xr8[(0ع*:U2s hbS @Ӵ}є.TJЅΪ%h[zt4]j3xr8[(0ع*:U2s hbE0U-罆[6(te Uv!}ᳪZ;uVޝ&b:=Z7(ӎ  N݋#]s'>О +dSY2{e`{ NҁFP>uQ+GkB:Umhv#ըNqсBPai۱rUtdl=i@(u #at|Vք/6uQ+GnӤѢGGQ{ÔFF AnVҮhOCF-`{ NҁFP>uQ+GkB:Umhv#ը#tlӷbHW\ϴ' tȃx6i;e`{ NҁFP>uQ+GkB:Umhv#ը#xr8[(0ع*:U2s hbE2 9MulӴ}є.TJЅΪ%h[zt4]j9Dnt`PZv\i*941[!,>laiP>yB]: TJ۪4h^qсBPai۱rUtdlJ -;JBD_xlVUIE؎V7(ӎ  N݋#]s'>О +d'P(1=i@(]: TJ۪4h9Dnt`PZv\i*941[%:E-;JBD_xlVUIE؎V;ÔFF AnVҮhOC (4#`{ NҁFP>cIҳ|(+_rKR"l*G8N7;" 6D]}2_.v^2_d dl^P Mzwt5Rՙ2#9p}5B:!!_d4̈\MzHXAl[>!mp z-}oҼ{ge9p}5B:@.YX׾G `.pH>X>';3 ./usr/share/man/info/en_US/xlf/html/lr276.htmp/$ LOGICAL(L, KIND) XL Fortran for AIX V8.1.1

Language Reference

LOGICAL(L, KIND)

Converts between objects of type logical with different kind type parameter values.

Argument Type and Attributes

L
must be of type logical.

KIND (optional)
must be a scalar integer initialization expression.

Class

Elemental function

Result Type and Attributes

  • Logical.
  • If KIND is present, the kind type parameter is that specified by KIND; otherwise, the kind type parameter is that of the default logical type.

Result Value

The value is that of L.

Examples

LOGICAL (L .OR. .NOT. L) has the value .TRUE. and is of type default logical, regardless of the kind type parameter of the logical variable L.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] +d k>4;$ jf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr277.htmp/$ Language Reference XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

LSHIFT(I, SHIFT)

Performs a logical shift to the left.

Argument Type and Attributes

I
must be of type integer.

SHIFT
must be of type integer. It must be non-negative and less than or equal to BIT_SIZE(I).

Class

Elemental function

Result Type and Attributes

Same as I.

Result Value

  • The result has the value obtained by shifting the bits of I by SHIFT positions to the left.
  • Vacated bits are filled with zeros.
  • The bits are numbered 0 to BIT_SIZE(I)-1, from right to left.

Examples

LSHIFT (3, 1) has the result 6.

LSHIFT (3, 2) has the result 12.


Specific Name Argument Type Result Type Pass As Arg?
LSHIFT any integer same as argument yes

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kn<$jf>H>X>';./usr/share/man/info/en_US/xlf/html/lr278.htmp/$ MATMUL(MATRIX_A, MATRIX_B, MINDIM) XL Fortran for AIX V8.1.1

Language Reference

MATMUL(MATRIX_A, MATRIX_B, MINDIM)

Performs a matrix multiplication.

Argument Type and Attributes

MATRIX_A
is an array with a rank of one or two and a numeric or logical data type.

MATRIX_B
is an array with a rank of one or two and a numeric or logical data type. It can be a different numeric type than MATRIX_A, but you cannot use one numeric matrix and one logical matrix.

+-------------------------------IBM Extension--------------------------------+

MINDIM (optional)
is an integer that determines whether to do the matrix multiplication using the Winograd variation of the Strassen algorithm, which may be faster for large matrices. The algorithm recursively splits the operand matrices into four roughly equal parts, until any submatrix extent is less than MINDIM.
Note:
Strassen's method is not stable for certain row or column scalings of the input matrices. Therefore, for MATRIX_A and MATRIX_B with divergent exponent values, Strassen's method may give inaccurate results.

The significance of the value of MINDIM is:

<=0
does not use the Strassen algorithm at all. This is the default.

1
is reserved for future use.

>1
recursively applies the Strassen algorithm as long as the smallest extent of all dimensions in the argument arrays is greater than or equal to this value. To achieve optimal performance you should experiment with the value of MINDIM as the optimal value depends on your machine configuration, available memory, and the size, type, and kind type of the arrays.

By default, MATMUL employs the conventional O(N**3) method of matrix multiplication.

If you link the |libpthreads.a library, the Winograd variation of the O(N**2.81) Strassen method is employed under these conditions:

  1. MATRIX_A and MATRIX_B are both integer or both complex and have the same kind type.
  2. The program can allocate the needed temporary storage, enough to hold approximately (2/3)*(N**2) elements for square matrices of extent N.
  3. The MINDIM argument is less than or equal to the smallest of all extents of MATRIX_A and MATRIX_B.

+----------------------------End of IBM Extension----------------------------+

At least one of the arguments must be of rank two. The size of the first or only dimension of MATRIX_B must be equal to the last or only dimension of MATRIX_A.

Class

Transformational function

Result Value

The result is an array. If one of the arguments is of rank one, the result has a rank of one. If both arguments are of rank two, the result has a rank of two.

The data type of the result depends on the data type of the arguments, according to the rules in Table 3 and Table 4.

If MATRIX_A and MATRIX_B have a numeric data type, the array elements of the result are:

Value of Element (i,j) = SUM( (row i of MATRIX_A) * (column j of MATRIX_B) )

If MATRIX_A and MATRIX_B are of type logical, the array elements of the result are:

Value of Element (i,j) = ANY( (row i of MATRIX_A) .AND. (column j of MATRIX_B) )

Examples

! A is the array  | 1 2 3 |, B is the array | 7 10 |
!                 | 4 5 6 |                 | 8 11 |
!                                           | 9 12 |
   RES = MATMUL(A, B)
! The result is |  50   68 |
!               | 122  167 |

+-------------------------------IBM Extension--------------------------------+

! HUGE_ARRAY and GIGANTIC_ARRAY in this example are
! large arrays of real or complex type, so the operation
! might be faster with the Strassen algorithm.
 
   RES = MATMUL(HUGE_ARRAY, GIGANTIC_ARRAY, MINDIM=196)

+----------------------------End of IBM Extension----------------------------+

+-------------------------------IBM Extension--------------------------------+

Related Information

The compiler will try to use the ESSL library instead of the Fortran run-time library if the -qessl compiler option is used. See User's Guide for more information.

The numerical stability of Strassen's method for matrix multiplication is discussed in:

"Exploiting Fast Matrix Multiplication Within the Level 3 BLAS", Nicholas J. Higham, ACM Transactions on Mathematical Software, Vol. 16, No. 4, December 1990.
"GEMMW: A portable level 3 BLAS Winograd variant of Strassen's matrix-matrix multiply algorithm", Douglas, C. C., Heroux, M., Slishman, G., and Smith, R. M., Journal of Computational Physics, Vol. 110, No. 1, January 1994, pages 1-10.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kf=$~jf>H>X>';~./usr/share/man/info/en_US/xlf/html/lr279.htmp/$ MAX(A1, A2, A3, ...) XL Fortran for AIX V8.1.1

Language Reference

MAX(A1, A2, A3, ...)

Maximum value.

Argument Type and Attributes

  • A3, ... are optional arguments. Any array that is itself an optional dummy argument must not be passed as an optional argument to this function unless it is present in the calling procedure.
  • All the arguments must have the same type, either integer or real, and they all must have the same kind type parameter.

Class

Elemental function

Result Type and Attributes

Same as the arguments. (Some specific functions return results of a particular type.)

Result Value

The value of the result is that of the largest argument.

Examples

MAX (-9.0, 7.0, 2.0) has the value 7.0.

If you evaluate MAX (10, 3, A), where A is an optional array argument in the calling procedure, PRESENT(A) must be true in the calling procedure.


Specific Name Argument Type Result Type Pass As Arg?
AMAX0 any integer (1) default real no
AMAX1 default real default real no
DMAX1 double precision real double precision real no
QMAX1 REAL(16) REAL(16) no
MAX0 any integer (1) same as argument no
MAX1 any real (2) default integer no

Notes:

  1. IBM Extension: the ability to specify a nondefault integer argument.

  2. IBM Extension: the ability to specify a nondefault real argument.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] e  lj>$jf>H>X>';! ./usr/share/man/info/en_US/xlf/html/lr28.htmp/$   et-<=>ainors "/AENRTcdhlmpy,.DGHIMOPSVfgu012349:BCFL_bvx!#()678;UWXYkw+5KQ\|{}[]z*xq1$'ȈyQPH(;P \gZ[![k;R_ʋ{̼[k;R LN{&%gNkK쩮_mgjV9a[k;R\gX-*,3Z_eM5QAE 9D7)Q"M%IH/ +_6\ a :&*!(G"ZZ[I))j,$$3CAA᠃k"r (0hlN$QVj,$$7CAA᠃k"r (0hNs4E% qYhj,$$@Pxh Yosh1N+fU^T1po[gZ ެa}M XKBZ[V$@o5Jٙ0 7֚L[3&f3^yUhמAEk"jmX3D'īm X4(hS/Zl^x^+h^s4[-⵲!B!B!B!B!B;^IH*С2$cB&TDCdc:x_-Wy :HF ((A4Ds & $莖˨Yw^y:HF MyH֖mg^W837Կ[I9q]/lw=̪`_/3ʋy{k--iʓhqi0g.4gFYn/֖me gMy< ʋ'ž]A85"My<V }_'oV֗l[-Eɀ1V0oQ|y[>kbW_Կ6ӥZ[/5821yU&ei1z*l&M!ጰl:e0\aU^xL^UDɤ>)V2Zj&M!+I] TՓ<opמ&F/<'^R#ž_,尼uY~^έYjmΛiWʋ[uź}m^R/ @08B);M(łBƯDI)(( :*6r_ʋrb/SgV%l[ΞFmg[bVδn3ѼYϭb/<TLCE%o$RQ &M!UDɤ>$RQ:wUDɤ>#;ʨ4ĊJ"=ʨ4gy7Λ2 MAXEXPONENT(X) XL Fortran for AIX V8.1.1

Language Reference

MAXEXPONENT(X)

Returns the maximum exponent in the model representing numbers of the same type and kind type parameter as the argument.

Argument Type and Attributes

X
must be of type real. It may be scalar or array valued.

Class

Inquiry function

Result Type and Attributes

Default integer scalar.

+-------------------------------IBM Extension--------------------------------+

Result Value

The result is the following:

   type             MAXEXPONENT
----------          -----------
  real(4)                128
  real(8)               1024
  real(16)              1024

+----------------------------End of IBM Extension----------------------------+

+-------------------------------IBM Extension--------------------------------+

Examples

MAXEXPONENT(X) = 128 for X of type real(4).

See Real Data Model.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] "P l@$jf>H>X>';$./usr/share/man/info/en_US/xlf/html/lr281.htmp/$   -e<=>ainorst /AERTdfhlmu",.1BCDILMNOPSbcgpy!()02459:HUXYvwx|+3678;FGKVW_kz#&'Q\%q}*?[]{jpI32T^dLRE EjJ+ÑE2`,VM"pAʔTp,SQDGre 4 ,SQDGrJ*U8 GN|Kbש)U{{{{{ s9!0qqB:K ܀8 Q9^rV,l5pB28'3P87kiR|(PupPx_Hxh``D8@DgdpNg $PSԬo*Lw !AtgGXvQmX+#;jܴoY3ZAq3\Am߉knIbdpNg6yIW+fn붽dr6dpNgKL4qYwXSdqdKHo LTaBfF u^4BLbwi3&68jĕT& i*N;hHuS.F.iO8kmj` !MTa2׍lѾ70]T˪Xw  q@plqdK*L( x贴\o$`UAU!=^C!aAœU.$q0L5t`.exQ!=^C!aAƕ*ыr&+#k@ [*zIn C#Z?Dybp CפtGΕj,P;Z *DҢSDI4L#/Iߜ4ƛeBJޱ^@9;ȑtحiUk~{{{{{29.]"ɼj<0{|};ő3Q88 oXψfffffffffffffff`ȑ2pq &N3V#e p8#"MX88J>"k;ݯX#7B#7@)%HT,{TN#&ffffffffffffff'5V~ffffffffffffff`ȑ2pq IՃF**N,HȓV&Nofdr,nr^j(BSb'(n;Bo[Wlߵ>EyR~VUXUA4ǹU'݈ÐwwƵ+}-2pr$*f64 Zv^j7'zI0qT0\6ͳ~5Wdm휉T0\f򷉻l;ݍ6?)N|kX_3zOxǏ:FϽ=X!IE/ɔ-nzm{fٿg;ݪbX!QDB1ng#DЙǏhL -20Bd`L`!"hLqǎq204&Fc]c0%HTz3+yӵ4\Z,=noNEoZGkL:Pڍ5O#oYUX$Tc܊ËEޕckVwneiGVkgiRqg+E2Wmv7l7b'k[~of]Q!Q8iU Ml߃bzM* 0U6Fov7ٳv9Yof#yR~IA!}gZ~$*?_J:V>bVAIeۙʓk[ݍo*Ov7**Sb:RmBe y[Շ{fٿ֑mhr7'迻QMڍuY8+迻֓[;J0q V~ffffffffffffffff9*'R8ȷmv92f,gwIőZ59Fq;z.juww#lcgUCp )ݚr&Pp\=^Ti/-Yy]qzxmlaoWޞE޽f)y/+xƵEϞ)NGvhvG"lҾk;k J2򿕼}EswӻQ}ϞvAȕ))y/+x1ofdr,J+f +-+ʓ_ݍߵEo7DZT^k@Jޱm*OGeD0ffffffffffffffbs[~ oXψffffffffffffff9*'3UCpLb-glM* *'2~iQRj <OKokfx2O7~LݏFP ?~$$e3Pfx2@'jwm[;/$?fd $Z=V7l7^Czr-x497G OIFα|kck,;@/o^UO9F[jx@JUm:<|cSkgZbqr onF|HDw 0H)!ܙBY#@UQOU6yxo[R֔ΠA~F迻ٍNŢ{?89F[jh{;k{? Ţ{noe38px 8<,zDєșQ8 0SNƫ3o[Wn_٠כsZދ5O*`,jԧof^no)6)#K$(T/bʘ%5ciL=KJ)Nl?Nrş)=Q88єJMWGDA l?PS $ 0qihnkxۅ O(ٍNkg+vhr7ռo5c BL "OI}v~oюinc~Du_v7_:㼧mPBH.L(_C9Dx9c?.M1Nr {V*.B&ZDєșQ8 0pqr\IDOC =3RK()Yh 0{hl EF{J& xj 1~f'uȥ3ܗQ0SƳP] ]QV&E*N;ȥ3ܗQ0SƳP(p.$MBɦ(4J*6&9ȑArMH J9& ȉ*Xsize:80 l,A$jf>H>X>';& ./usr/share/man/info/en_US/xlf/html/lr282.htmp/$    e-<=>Aainorst /DEMRTcfhlpu",.1BHILNOPSbdgmy!()02349:;CUVWXYv|&5678FGK_kwx#+?Q\z{}%[]qxB%.$e9q2% qAi* AUGU29*6'%$b{&D$P&J)!qi,+9 HLRBr0 z TQ=w#^KfkoխsX!B!B!B!B!BtOxCĄbh&TWN4P;$37ֵF6\CFC!`8W&s{+kLVcmKW*UW * j0,,7<@8<@_p %fކ&E>%kk4Gry2Ͻ {6h)E]9oI^kodSΉs ާ6x㩸tR;s{'64Zy~jYa7\tOxCF%~af4lsyXȧĭv:'4+$ҀZB⥔D$XVSy;\ޕUKTlOzi+.IUK LZʝkF"UH2q70,@ b{IYrJ]d 5O:ho,UThw j0,,7b{IYrJ]d 61M EU`4zaM_rq@plOzi+.IUK L=_p7*EU`XXb{*.Q/lAAl`lO"Y~NQCN3%MfY':D9': h"fmqe ?׵rd:!k"'\c"ɲ"x=T\Q=JHK"/F/^ZelEpMν{_Ș <^^xCҩKfkoխsX!B!B!B!B!B;.VI٠aeoFJ'M3{U!.VIДOyxA|Y&ED,)"y%k7 NBEUA`8lSE$.;M19{_!aI H\wNFaOBQz"{\|816[eX߬ͮq_76mS~|mqKT{MRmݽΜ`<*b9T[S^YeT,TމHz*c%@^*cξw/ut6GF//^F(O٬՛!G1zi:W:ooٝ+ΦJB Fr#%LI4"g"0T H\(yAbz*bM-Y{#z(Ƙ3Zlk{67EZ^9y(*~Z?_>3G|k_|yщ󦇞F/A= X*"LzPPTOyxy 'ZgV-S^/0s&z *bU6}1_;g}A4&J)!p,oo5-Z\|>9&{쿛,Yӛ\y;ST-_j/M5̝,j5meXj6&{t? ףYǥOmxN`LH=db;1#x`LBQ&=db8<M0 S0&F#|<#}}1ΠeRBu4z$P~ը42wM1缼I&=mj/M4;UKWr돖7>9&{e6fL;9&H_ؠ7'ȡwmcs7ճv;g-9'Z:TַJ)!q/Q(@79s9s9s9sm|uW9s9s9s9so@^uȩ^$uim:$󩮜f'zYup+<Dz9<ォc2Ώm~X X*.+lmUBAQk4}1֭E馏S,|smXߍZ5smWeX޽fT؇=e"{r0 _>3k}+7ٱ-6Gs's:ֳ@88M?E3?ַҹ{qN0{(N/(N)/Lci;/u'E%9s9s9s9J_7xxs9s9s9s .QyxyT,T8;aU DQ(y(jؠ(G>X;g!ho *g  !T?X}1gs{W\{HLJNB’( :os<#H>X>';( ./usr/share/man/info/en_US/xlf/html/lr283.htmp/$ MERGE(TSOURCE, FSOURCE, MASK) XL Fortran for AIX V8.1.1

Language Reference

MERGE(TSOURCE, FSOURCE, MASK)

Selects between two values, or corresponding elements in two arrays. A logical mask determines whether to take each result element from the first or second argument.

Argument Type and Attributes

TSOURCE
is the source array to use when the corresponding element in the mask is true. It is an expression of any data type.

FSOURCE
is the source array to use when the corresponding element in the mask is false. It must have the same data type and type parameters as tsource. It must conform in shape to tsource.

MASK
is a logical expression that conforms to TSOURCE and FSOURCE in shape.

Class

Elemental function

Result Value

The result has the same shape and data type as TSOURCE and FSOURCE.

For each element in the result, the value of the corresponding element in MASK determines whether the value is taken from TSOURCE (if true) or FSOURCE (if false).

Examples

! TSOURCE is | A D G |, FSOURCE is | a d g |,
!            | B E H |             | b e h |
!            | C F I |             | c f i |
!
! and MASK is the array | T T T |
!                       | F F F |
!                       | F F F |
 
! Take the top row of TSOURCE, and the remaining elements
! from FSOURCE.
       RES = MERGE(TSOURCE, FSOURCE, MASK)
! The result is  | A D G |
!                | b e h |
!                | c f i |
 
! Evaluate IF (X .GT. Y) THEN
!             RES=6
!          ELSE
!             RES=12
!          END IF
! in a more concise form.
       RES = MERGE(6, 12, X .GT. Y)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] l? kHC$jf>H>X>';)./usr/share/man/info/en_US/xlf/html/lr284.htmp/$ MIN(A1, A2, A3, ...) XL Fortran for AIX V8.1.1

Language Reference

MIN(A1, A2, A3, ...)

Minimum value.

Argument Type and Attributes

  • A3, ... are optional arguments. Any array that is itself an optional dummy argument must not be passed as an optional argument to this function unless it is present in the calling procedure.
  • All the arguments must have the same type, either integer or real, and they all must have the same kind type parameter.

Class

Elemental function

Result Type and Attributes

Same as the arguments. (Some specific functions return results of a particular type.)

Result Value

The value of the result is that of the smallest argument.

Examples

MIN (-9.0, 7.0, 2.0) has the value -9.0.

If you evaluate MIN (10, 3, A), where A is an optional array argument in the calling procedure, PRESENT(A) must be true in the calling procedure.


Specific Name Argument Type Result Type Pass As Arg?
AMIN0 any integer default real no
AMIN1 default real default real no
DMIN1 double precision real double precision real no
QMIN1 REAL(16) REAL(16) no
MIN0 any integer same as argument no
MIN1 any real default integer no


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] the s kjD$1 jf>H>X>';+1 ./usr/share/man/info/en_US/xlf/html/lr285.htmp/$ MINEXPONENT(X) XL Fortran for AIX V8.1.1

Language Reference

MINEXPONENT(X)

Returns the minimum (most negative) exponent in the model representing the numbers of the same type and kind type parameter as the argument.

Argument Type and Attributes

X
must be of type real. It may be scalar or array valued.

Class

Inquiry function

Result Type and Attributes

Default integer scalar.

+-------------------------------IBM Extension--------------------------------+

Result Value

The result is the following:

   type             MINEXPONENT
----------          -----------
  real(4)              - 125
  real(8)              -1021
  real(16)              -968

+----------------------------End of IBM Extension----------------------------+

+-------------------------------IBM Extension--------------------------------+

Examples

MINEXPONENT(X) = -125 for X of type real(4).

See Real Data Model.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ont-siz l+E$jf>H>X>';,./usr/share/man/info/en_US/xlf/html/lr286.htmp/$    -e<>ainorst /=AEINRTdfhlmu",.1BCDLMOPSbcgpy!()024589:GHUYvwx|+37;FKVWX_k#&'6Q\qz{}%?*[]xA2ė.\N\PE q &% OT A&Rxi]E'*P Y!QܚGrzWQR R0 z D{397)=^X袊(((((((((( {39!B` `^P0GyL[k}c;ƺxHu  Avf཭IbT@8+|Cr0,, ~@" "@/2#3 pdmSo*Lw !@ftoFڽvQm`)#[;ko[/Z=B%́8sg~)mkFum=R;j7'^ĬiY=H]"eMk'zP^J8?@MtMA&`o$YUUtFQRxֱ;;Sv]ʓU5k_4'}s4o$YUUtFF.WqG4km20<<8C *q5/Š#}`o$YUUtF5,Cr0,, CCC@Q=S].&0Q@Z#kqeWMU p@""*q5/Š%]H1b#aa܀D4tlx=\Tp= 8?3 a3cݭj'7&0(FB0Ǐ8<Pzw 5 H=`;NoJ9{(QHH+ɟ+[[}+tnF@z {vņ%yR~|jm6wQ3-[Q+٭҇i[3཭I0ˬF\Nlz34+#]d= YQ(&17zXP=N0]%yJ&i;xp GKok9@g|!p368<#!os3c??߁9@ kkVk}msgFz@LGQRxG]:yy5mۡXH$С81[ݭr-͝&=/vsM-s;)<#x ;0Pށ+]d{m7ތfS;m|fn^f͋z3ֱ:;QRqy6mJ{/h1n4\@҅x̓ʨBļƌwm))i^B;齭ٔ񟉫ƌ]dW\ThfZ@NEWLI5 "@,,(VSn^o3GfżmH <#ϻ[[om;[CQ)TTbA$B6߮ݭ1@=v~oшю+9_z㼧mOLTIƤi+xN p/  ?QU; QRiBz u/{k& Dh2/z6 H>X>';. ./usr/share/man/info/en_US/xlf/html/lr287.htmp/$    e-<=>Aainorst /DEIMRTcfhlmp",.1BHLNOPSbdguy!()024:;CGUVYv|&35689FKW_kwx#+7?QX\z{}%[]qxJU*"dQ2y",UETpDȜ*J/"U%I#&)"ARQI $ޜHIE$*7"JF'<%4+mc!B!B!B!B!BΉ sxԉ M0@pf㰵֨:c7`k@( Hw:'<%\_jSoZ(2j0P/ڼh``$S&gzj#s4`1$p@xȼD畉"˓haM"b$3Q\3peD5Q&8 &)"ARQI $ޜHIE$*7"(!9bsMɫ,ojFd/gZc|yf3Q)j}vT;Xߛ߬[\~yeT(LJ2Mms6ǖsz5, DJ'<^yE$*s!zF3~o}+3͑<+ '¬ij͐yB4ǝ}+3Zlc}S:p-K+9؂ &|6 g"Ծ HT,q="z "8U-Ys!zF3~Zlo{63EZ^k6QI T16wILc̾6i}oEɩL9砄^zsP1(LM[ֵs:W,iRh\Zlegε>X~'as,oZ1LoV6Y-f_(z &;7kkEqS 3; XLF<d"78o R &o<;,&B!H$<-!p~XLj Xcoc}PJ)!_:9Q)j7Qzi\A$I~IcoV~X޹ZW>X+F5Ŧɭ\ϛmE]εI%8@'L{_O;fǛ,8"EŦɭߖ7piik}1fieXә3ڙ&heX߉&:TɶJ)!Q+Q@79s9s9s9s|u;9s9s9s9s7B/<+cy{eINEwfKVlӽ,kk4^ijss&wݱgGpk_7&%62*BbQo4}1ޭES,|-s&~XߍZ1s&WeX޽f T9ds%X迦}1_;f6W:gn7c4Zl}mgqy$IE_>Zlo}+3˛_zZlo{63EX߆;gZҿfk2i/-HHoA$<,4}1/kϦ>X߆;gZҿf{/-HHoA$pOUg>/kϦ>X߆;gZҿf{/4Ҧ}ɿ-ε>X|7oS%:i $FX *80,4}1h|6 .s,VDʨNyXy|`\VftdU~3>QTD4ZjX9Yן(~r*" n c- =留y" fၣ@BjMQVeep/.EDAp`e $M@pqed"LhE<y.NI-qEfgFE'<"dp@f:< l@G$jf>H>X>';0./usr/share/man/info/en_US/xlf/html/lr288.htmp/$   "-<=>ADELNTet /HIOPRSainors%025:BCGMcdfhlmpu,.1348;FVWYbgyz!&()69Uvx#7QX\_w+k|q{}'*K[]?xit\z`Dz4q\xY/BN}ѽiiL ~#z'< r]+(E[!B!B!B!B!BtNxG@6&uʁ9 l\,0pW uʉ /  pHϹ9W;2 4p6vX#Mqu@A`#?+A&\Lz$ ,iA@WD\#;K}7*L0 kg .m2k dS[@tNxy&Ai8c<o3E+m6hk]lXaLD\IYyM>B*l9XKW~|-tNy:^^'Hh" WyzZK9clɥ0~٬\; ?45\ac8&fQr˔,g&fQr˔,gNBMAhHp]qCXE+^782`7.M0]\8'Kˡ{C[8+V-xh #MqpxX`N瓥нuPZ!ְ _N)Z.5ƌ@Aa;NBMAhp 4XoyzZV? 40`  ؜n#Z|78򍷱8Sef` 8(]fW!i?$& hw+qh@ӿ&h0@we-XiY2' -Xi sV5NyRS%1yfX(ɆZ7 ^Yif9fZD!/<,f/<^$yތabkUB!B!B!B!B!C9:Cnɠ!"Bk bLjfS)LN|NfG ؼDؾ^'HjPSނh`Ђ2JץC$Ҙ@0Gy@lNzq9LYv X2,nV%4&lϸu+圴ᷞJĢsX/!E|&dȡue0sϜ/!y"xsN&M%og"`WP9X3͝ "ns9s9s9s9 s9s9s9s9 琋MJEN7/`ȡsK4g 7,*bk g[9FL\sx2`e>]٬\*Ԥ^B s9s9s9s^n~e9s9s9s9o<^zjR/N'uN/V%bQ"afyDJ'=8 ጬc6L=8[EL6l} c_,č nV%UX:nV%0ٳ7JĢsuϪ1DL f@2h&/ XvK|k 1gH f\`IAy f@`IA_Tbn& fFk 1|pYv0T TbuN/V%bQ5c&aJĢs^E"iȍs8J|0o81cB$ҟ]fK0o( q&p#YŌpPAϜM)8`?pG.%7s8J|~]fK0oA<'=8{H!  ؼDD F`0X$p^'>^'Hj3#l^|s"t0,8y N}B9R'>yUVց*J ^ތRNgt!G ؽTnkHifX˛\W تk,Oe瞪r^}ЋQ%hmh}$ =E* 4h{ոi ,skx`{4&lϸNVϺ}$ >UD'HPCFz[֐̱6 S 1qCX9窜t"TIZZ_x|+CH%{Oz3J{І/bS!c.mq\ /bͷߓB`NVϺyR/9Q%hmh}$ IBVE*FwB4pNVFep<0`4sU9Z/>?*J:TIZtޅ%:(4UAh/U9[qY2+0)c8GUDI=RSHPCFz[֐̱6 mc87hLٜ1zy_yUVց*Jۤ))EaR^gt!G ؽTnkHifX˛\W ؊azy^}ԋN}TIZZ_x|+Cn{ФEJ;І/bS!c.mq\ /c"iL瞪r^}~UDuʨ6' JtQXi7x3ѣ^rV54,eͮ+JgNVϼʨ6UV$IN+ "B#; 8^+un#ZCK2\0^Į ,l{XX=Th/+Ck@Q%hmOz袰)T/x3ѣ^rV54,eͮ+E0=Th/>ER'>$ >UDI=RSHPCFz[֐̱6 4sU9Z/>?*J:TIZtޅ%:(4UAh/U9[qY2%Y6$cX(kk 9窜yQ%hmh}$ IBVE*oFwB4pNVFep<0`VM4 .y+Eq}TIZZ_x|+Cn{ФEJ{І/bS!c.mq\ /b)y+EqyR/9Q%hmh}$ IBVE*FwB4pNVFep<0` M)NVϼʨ6UV$IN+ "FFwB4pNVFep<0`@ A=Th/+Ck@Q%hmOz袰)T+x3ѣ^rV54,eͮ+T y+Eq}TIZZ_x|+Cn{ФEJ{І/bS!c.mq\ /b)y+EqyR/>!ZDy*H@78a`|u0E>Ym,gfu6g d 瞕bsӋպXT 2ѕ,Q]( 0PA|ϔxAJCL40hA|ȥka#Yc8c-G^tt4C FӠ +y)},5<H>X>';22 ./usr/share/man/info/en_US/xlf/html/lr289.htmp/$ MODULO(A, P) XL Fortran for AIX V8.1.1

Language Reference

MODULO(A, P)

Modulo function.

Argument Type and Attributes

A
must be of type integer or real.

P
must be of the same type and kind type parameter as A.

Class

Elemental function

Result Type and Attributes

Same as A.

Result Value

  • Case (i): A is of type integer. If P <> 0, MODULO (A, P) has the value R such that A = Q * P + R, where Q is an integer.

    If P > 0, the inequalities 0 <= R < P hold.

    If P < 0, P < R <= 0 hold.

    If P = 0, the result is undefined.

  • Case (ii): A is of type real. If P <> 0, the value of the result is A - FLOOR (A / P) * P.

    If P = 0, the result is undefined.

Examples

MODULO (8, 5) has the value 3.
MODULO (-8, 5) has the value 2.
MODULO (8, -5) has the value -2.
MODULO (-8, -5) has the value -3.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] l{XX lI$Tjf>H>X>';3 ./usr/share/man/info/en_US/xlf/html/lr29.htmp/$    aet<=>Acinors "/ENRTbdl-.CHILMOPfghmpu,012349:BDGSUVjvy!#678;FWXY_wx()5Q\kz|{}K[]J`HQ&K$D^Ki@0>^Klg#".a".rծ2.s$E$ExLɩ%1D\I8sM5E[߄]o}Sr-rܴwPL-CM[ d1tq\9\cO&O!P ?M[O^Ai0(J᧸|]mX?h"@ࠣUzn]kzn.Ůo=o \ah-,[ns#7{@ګ5I9Wn[xznż'*XwA4Am=z4e^ɢ*MM= ʻrfsƾ-s9WnZwK_rܷ22FU>:x˫hɬ_+^\'kc+O9 R:`1f3xcdsWK3-Zv/9.3}h#"t ^te_)fqo ʻr0źܥ9Wn[r,c=֌K9}b^C\錧^;'*k̛sb^X+My)֌XFR~5GLe9;zD2_X-NnUybÎaW0kɢ &U hz cLIDRP=73{r6Ab\sy4Zy hhpPYbq*˰Yj5 =7xZo5 'ZGLF^N`G|k8Z%џ2Mj/K3Kbr]or|}1K!:{9Wn[a܎O}23͙hUϗ{37 Bk]~ i5Žٙ=vttq*ٽQ|\=穬KGE(؀HM'0QD$&@QR"$Cb&Q!7 (DܓɢH@QD$&:v (D<2eb&Q!7zhOr;Lg`HMP7D{Q2 'QD$&E@QD$&E(7EDSb&Q!7ӰQD$&G"LBn:iMW-[H>X>';5 ./usr/share/man/info/en_US/xlf/html/lr290.htmp/$ MVBITS(FROM, FROMPOS, LEN, TO, TOPOS) XL Fortran for AIX V8.1.1

Language Reference

MVBITS(FROM, FROMPOS, LEN, TO, TOPOS)

Copies a sequence of bits from one data object to another.

Argument Type and Attributes

FROM
must be of type integer. It is an INTENT(IN) argument.

FROMPOS
must be of type integer and nonnegative. It is an INTENT(IN) argument. FROMPOS + LEN must be less than or equal to BIT_SIZE (FROM).

LEN
must be of type integer and nonnegative. It is an INTENT(IN) argument.

TO
must be a variable of type integer with the same kind type parameter value as FROM and may be the same variable as FROM. It is an INTENT(INOUT) argument. TO is set by copying the sequence of bits of length LEN, starting at position FROMPOS of FROM to position TOPOS of TO. No other bits of TO are altered. On return, the LEN bits of TO starting at TOPOS are equal to the value that the LEN bits of FROM starting at FROMPOS had on entry.

The bits are numbered 0 to BIT_SIZE(I)-1, from right to left.

TOPOS
must be of type integer and nonnegative. It is an INTENT(IN) argument. TOPOS + LEN must be less than or equal to BIT_SIZE (TO).

Class

Elemental subroutine

Examples

If TO has the initial value 6, the value of TO is 5 after the statement

CALL MVBITS (7, 2, 2, TO, 0)

See Integer Bit Model.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] NVF kK$ jf>H>X>';6 ./usr/share/man/info/en_US/xlf/html/lr291.htmp/$ NEAREST(X,S) XL Fortran for AIX V8.1.1

Language Reference

NEAREST(X,S)

Returns the nearest different processor-representable number in the direction indicated by the sign of S (toward positive or negative infinity).

Argument Type and Attributes

X
must be of type real.

S
must be of type real and not equal to zero.

Class

Elemental function

Result Type and Attributes

Same as X.

Result Value

The result is the machine number different from and nearest to X in the direction of the infinity with the same sign as S.

+-------------------------------IBM Extension--------------------------------+

Examples

NEAREST (3.0, 2.0) = 3.0 + 2.0(-22). See Real Data Model.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  lTL$mjf>H>X>';7W ./usr/share/man/info/en_US/xlf/html/lr292.htmp/$    "<=>AEILNTet -/DHOPSainoprs%.02:BCGMRbcdfghlu(),145689;FVWYmyz!&37QUX_vx#K\kw|{}?[]+x% \QYRPIЗF(tw)^3rӜ/YԵ:Y oKq=Dpizx\p] ;!B!B!B!B!B!B' KU6BB!]]As81 v o pDDC [ 7İ4t`/NEmK_zef# 8MT$;\ږMYd[oqw]GEpFTOzzeb1.tF]jln}=Ua<La4Ev*c w=G镘4MWcls\~tFqƛȨIK^v9ўIsrєx.YN8 o"i(V2cף(z$c|Rp-dZ'*$)V'C kM$ jf>H>X>';9 ./usr/share/man/info/en_US/xlf/html/lr293.htmp/$ NOT(I) XL Fortran for AIX V8.1.1

Language Reference

NOT(I)

Performs a logical complement.

Argument Type and Attributes

I
must be of type integer.

Class

Elemental function

Result Type and Attributes

Same as I.

Result Value

The result has the value obtained by complementing I bit-by-bit according to the following table:

I NOT (I)
---------
1    0
0    1

The bits are numbered 0 to BIT_SIZE(I)-1, from right to left.


Specific Name Argument Type Result Type Pass As Arg?
NOT any integer same as argument yes(1)

Notes:

  1. IBM Extension.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] qƛȨ l0N$jf>H>X>';: ./usr/share/man/info/en_US/xlf/html/lr294.htmp/$     et-<=>Tainors /AEILNORcdhlpu"DGMPSUfgm,.0149:BCFHbwy!()2568;VWY_x#+37QX\jvz|'k{}%[]KpjBQ;Dz!a3 R#r# ["=8PFDt$ 4dO@#'N)W-+eo{{{{{;[ĄƄB Qm J V^[q^*/樨)npXw;[(:ӂZ=X'֜?Ÿ(00-vx;[W)Sq^-n+ IlO[uguٶ{eSq^*/nqyHr*-q*m%7OV爏UntM<I"3$NF/:mKNM)$@d poH47)3$NF/ҫJ|VAntM⑉<񌰬ĒF'#b\0?Ÿ(000p4@82y7F$pH{[$19`[h   ntM⑉<bvˌI#pk_ -b@cn/q,E! 'A@)`J1^ +yA![vwOD8k0q-5ua `&/Ԫ^J0qNEJجMhL![)n0B(`ƍRn֛Ԫ ҧ'[sO8< ֛# u%rq#4ؚ4}\>@N]bHĜa#+bB5g*voVM)8o[qig~bH4+dS|ArOu-:帒- F)53GqbH*n1ilEj?.gMy^)BM- |<̩:̩n1O%5/bin1 !B#Dt FJ7]LU˸1M$G@ B60p:KKq0qc xyv+:n[ʊ%N+/] [SgeF)V˸1M$G@L8Qb@'Zko03?%yЧD>W򧒚̗FJ4,щɉ$q$SHOD&@¹%<3@+HbrbeDo"HE4DNi$Yȍ4HbFI @,+IIn0Q q8gA0ֵkZֵkZֵkZֵQ_R|NJ<ֵkZֵkZֵkZֵh`&tB(#7&pq$H jǩ>BE18M(< [J `:~BE18M(<p'c6 7&p/`PZTIFB2_=I*rwl8oL7^8-m* LF2\ a Öz&9k$H 6`"=age l-O$3jf>H>X>';< ./usr/share/man/info/en_US/xlf/html/lr295.htmp/$   -"<=>ANTenot /DEGHILOPRSailrs0:BCMUcdfghmpu%.124589FVWY_by!#(),367;Xvwxz+Q\q|k{}&'K[]?GQd:U Xߧ8J#`H)($ϑuQ PUR=0T6M:ZJ̓{Ä1c1c1c1c1c16MjLJ/\şǫJJC'vf\vًNCÄ4-6UڀE1(ɂlǫJJv&<9 X񡠧BVj!Ģ,jҨRx83pxX,hhxSl!YUbQ}rοVBg 0CÜ0` 44*("- I_#G*xpW\$Y> u;` 7a0a0%,$0)]Ȼv 0)AhlÅlh61QE9$&|9S$lJ1|XoE͙ S̸L97☾eJK&BVdؖ&c1c1c1c1c1cdl'2EUJ [>P:r6 FnT%mױK9kH.FiAeДH3k/ҁ.9y LzgCA@[#`A&A#ס Mw@F/mE\ =ZU TT 1Mz{`?:rH-#`Lw~K[qk9Se[n9g,7~K[f-t OrƓ2W+#9k)W.Yx9۴v˭\k*FKMz{9p-t|2g}Z^bDe3}Ec-bE6vv(ɖ̶fܦ6 UuhH s]Z# <5r>K[f-.ȿ%;9ZܦoTyk_l嫕-oḱ$lNU-os%ŬNa~/Zܻ$5{NPQ9T9ۺbĚ(ՉZ7ܴ^2/WVȋ #؁Uuh'(EI*FCe`s]Z##` eC7%s`WV{:e&[3hWV-#Q-Is|ح6 I2%`2/WV@gKUuhf]x~hV&-k*FT"@UiTb1Uբ2o=w{ɗ/[3o,(-(1Uբ2@ s WV, N(^SκFCÂ_$}Zk#LG  v* +TBgDsPQ rTbIt&xꑪt@ :`laiP9eБZFr66^F©y4@FSQ4iVTgP-M3^ANEB/)]h#a_& XE%{ZtRRQ4i_Ħh/jϋǪcg(08% N(^SκFCSp}EXӤuR*HDj%5FxkUH?|^=U/iT -:v*(yL_:A /gLQs60(T h/QMDѤ^9ZRU@4ϪQx`pK;Q/u |e|p -:JU)@(Uy h/QMDѤ_UVI EP-M3^ANEB/)]h#a_* *תGlaiP:?DѤ^5H=؋Ǫcg(08% N(^SκFCDQ-Is|ح60(S h/QMDѤ_UVI EP&J/  |ӧb!/;dye\_6+g -:JTB4@FSQ4iUBgxT LPaiӱQEbZhx60(Suf9D$l/f͉Sg-b9ZLZ%>Q%RV^*FFs%@˸fZ7&nK[}%Ȣ J5F,a]Z# jYUbDe.Z/ok_䵍ꄈg މNH* J .:@'S8@!]ֱ}Yt%l^P Itb-p`UR2VϕpcYӗ']Bd䳖5.+h9p}%p0@[%*X!%m.O1{n -QҨRYn8_6]ӗ']!E\ CYW;BN\`psa?IB/PUfJӑ8rJ%R H8-m* kxP$ jf>H>X>';> ./usr/share/man/info/en_US/xlf/html/lr296.htmp/$ NUMBER_OF_PROCESSORS(DIM) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

NUMBER_OF_PROCESSORS(DIM)

Returns a scalar of type default integer whose value is always 1 for a non-HPF program. This value refers to the number of distributed memory nodes available to the program and is always 1 to ensure backward compatibility between programs written for HPF and non-HPF environments.

Argument Type and Attributes

DIM (optional)
must be a scalar integer and have a value of 1 (the rank of the processor array).

Class

System inquiry function

Result Type and Attributes

Default scalar integer which always has a value of 1 for a non-HPF program.

Examples

I = NUMBER_OF_PROCESSORS()       ! 1
J = NUMBER_OF_PROCESSORS(DIM=1)  ! 1

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] cY k Q$ jf>H>X>';? ./usr/share/man/info/en_US/xlf/html/lr297.htmp/$ NUM_USRTHDS() XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

NUM_USRTHDS()

Returns the number of threads that will be explicitly created by the user during execution of the program. This value is set by using the USRTHDS run-time option.

Class

Inquiry function

Result Value

Default scalar integer

If the value has not been explicitly set using the USRTHDS run-time option, the default value is 0.


Specific Name Argument Type Result Type Pass As Arg?
NUM_USRTHDS default scalar integer default scalar integer no

Related Information

See the usrthds run-time option and the XLSMPOPTS run-time option in the User's Guide.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] * l*R$jf>H>X>';@ ./usr/share/man/info/en_US/xlf/html/lr298.htmp/$   et <=>ailnors"-/AERTdfhmu,.1CDHIMNOPSbcpy!049:BKLUVYgvw#()23678;FGW_kx|5QX\z&q{}%[]pQ,"1XH_*ӁAPy"֜7j88/q4n_y |}ljʴ(3Weب##9K⼜w-(k-Vyk?eSx3NB|WVMNFc=mՕηfH(8=s+8m;Ayk<$y ʦ@yR$QGY6MSm*^Fzʴ: q4GQBǤ yMi5qJ(EvKP_X3^6kz a: q4GQBǤ y̚V;Ǖ(EyTg 蚷8Pp`,80ti("H$&sH8i aVp8  J#Ȩc qJ(Eqx5n Pp`,80t ٬yہ-@tTF²wV  7VV&/Y o8Hw k:;LAM>nx[1VxHU}rJ rRDT9jyζy&Gkmi֭$^& 8h irqCGҢE\O {{{{{Qi<*h U`hr":11Ξ- DtyDIC \Z q<(4q Dx܊i^tTP ȏh . 3=BF@ qh5ŠB9zOm֫4oƊQ2*m|[ZaɌZF~6M\6՟="5-Q2F¬ޡYEz;w. R5`)DQ@>@qfs։]z>Om3V3o]KZf4[@qa1}6k<+#13}3M4EZsrJ~.xSolSj|636M+c8gߋFl牣S_|g?2*tSMArAŠ AHzSZV@>@qy+kD^ϓ2gf9Wl3%]J*MO +v#pK|L=Y1Hͱo޼o|ՎYE~5m3r7覚"4W|7#C'e67[GDO8>*@Ep9` T  kS$ jf>H>X>';B ./usr/share/man/info/en_US/xlf/html/lr299.htmp/$ PRECISION(X) XL Fortran for AIX V8.1.1

Language Reference

PRECISION(X)

Returns the decimal precision in the model representing real numbers with the same kind type parameter as the argument.

Argument Type and Attributes

X
must be of type real or complex. It may be scalar or array valued.

Class

Inquiry function

Result Type and Attributes

Default integer scalar.

Result Value

The result is:

INT( (DIGITS(X) - 1) * LOG10(2) )

+-------------------------------IBM Extension--------------------------------+

Therefore,

       Type               Precision
--------------------      ---------
 real(4) , complex(4)           6
 real(8) , complex(8)          15
real(16) , complex(16)         31

+----------------------------End of IBM Extension----------------------------+

+-------------------------------IBM Extension--------------------------------+

Examples

PRECISION (X) = INT( (24 - 1) * LOG10(2.) ) = INT(6.92 ...) = 6 for X of type real(4). See Real Data Model.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] E> l~T$jf>H>X>';C4\./usr/share/man/info/en_US/xlf/html/lr30.htmp/$   -e<>afinorst "./=ADENRTchlp0BCGHILOPSdgmu+,12345MVbxy|%'()678:;FUWX_kqvw!#&9\zY*KQZjJ{}][p1ˀ2r I"MtĉqQSk.$I I.ErJWI6P[Ȱs=a8< )ǚ 3P͆xҤEUWy@Q? n8` H,@y8pbՑvoȍVX^Tg @Py:M5"޻mSKIV+F"4Kǚ 3 mfcg~m&/.ǚ 3ړ?Jҳ RkkL_KqAo5gU.e9VZ:`VWg%Rk].BJ"p(Lq5WQU8/qfSe;Iqf/Zz;}gZ}`ρ9NnMm};{71Nׄ`]\/qf3N C;u%iR~5(h3C 4bkE}X;S,^gj 3 C>و73cl'3-5}ρ9l0ױI2l\Y``W+/g0ePZaIV1 B[Jpt oaV _ko [8v(a5niPilݟkS.dR׬^E-ze>}- NyQt)8'ﳾ.,ޝUu]AhfZ sp.LPD8e},wMUUtN`07^0` @A5J. 1@DRZ;&*'k 07^0` @A5J. 1@DnUUu]` n8` bk),ޢuV1kFLB0_ &_Kpi^T/Rho/* 7²-vA|8cb5JP`$ 7I-qfJ@4+.~t4 43\U%k IIkѤأT' 4gNx@ҷ'J8(\i; {*k,Τr^J袊((((((((((?1.BJ"rl"N!/=$\@52`_z͍r^k,{$'Mb* ܂Q9=Uu\"9gzvqfA'5uRQs܂O5uRQs܂O5r]TD @`!r ( D08n`MUUp s_j{ \U!%8a=$\Q(pׅffffffffffffffa]A[*O3333333333333330- {(p՞]MP+)[g}a2Fv Ki[Bf[g~fҙvww^Zz 5Vy]!i5Qgy\Hp]Ei"=TNMuɉȦÉ ;ȦNvXMr {!$Dz9EWQcDU]rbGr)pd)A !Z/H4glk\܂=ˬ\}"DGÔUu;HQ9reI5*É ;ȦN\˧$Dz9EWQcDU&PADQb8 MQnbMB X[c-_Bb {HQ(pׅfffffffffffff)2ޑFuo< 5@=k=vww_qfٽbQט3kMvwT{ȪY]bjy- ҥw{PT4@{70Mb*9U]A,+m&>[Xjym#,ޛ)KO.BJ"q=$\U!%8ay(TǤ|=^z[w^ԯ]Nׄ`_5<.JqMEܺrVy(330OyH$ x` I!':O Je-°0$ 1K6 1` 1K6 )k(5.܂=.J<yLqG5pK<%) ÐIg&ܚo|;Y^W^w &pK>AW%; 'Y{LqG"S}Rv'~-?F*N {H&muwY]vw`- Y<.Jpy I<.r:DU(,wHpkLHE4NLiE5"ph(s S-B1ښ .CHQ8rq4' &ĎSDS\'@=&ۭdbސћVR0k\ܹ"#D*$Dz4;M$wMr n_zBFoJ0dArr:DU(,wHpkLHE4NLE5"pp$smVF!}+JҤ#ky^s\Y]g"=TNM"DG˓(w ITNLiE5"ph(s r .Hp]Ei"=TN\CMEpd)A Cxh$D@SF{OHQ8rq4'.L܂&Q8q2Apy !<@`p(8=@QAt"=TNM"DG˓(w ITNLE5"pp$s&{]gukOHQ8rq4'.L܂&Q8q2Apy !M]>"#D*$Dz2r $DS\'@<8<`( or'QUX&"#Dɔ;Q$X'&H<"889ᧂ@PH L,<`( or'QUX&"#Dɔ;Q$X'&H@"889&{]gukOHQ8rq4'.L܂&Q8q2Apy ! M]>"#D*$Dz2r $DS\'@<8\˧$Dz9EWQcDU&PADQb8 R ߅evyWM-"ل@ҷ'²ifOۭdbvw ѝ:k % NV뷷Ǯ'kw-H6fL mO5;J􏇮'kw/p՞kHi%8k&]gt<YGffa5 I^Wr~:OV=܄y/IY`X 1K6 7/LR̓@ @DLR̓0 ?3337yAW%; 'Y{LqGM%ZEpYLIg:_m۠Wk0⫬MQQ]bjzģ-Rv'H7Z5G7 Uu=NׄqfjWXޙ0pJr(8R$rWX5DD#D4x ӺDD#DT;]bjxrWXޱ(mؤxNo{5Ge$ ܁U&O  oXLkVFl<4%8.v'ԙk\Qc)v{Y*'IgLpK<%) ÐIgW}%i`vtnߵט3kM*U&ǸT{rWX^⫬MQ7 Uu=V6gpK<%) ÐIgm:_ozģ-,y(v v}Rv'va+{7J2++C7V=&[Ä2Y°1[>-h\Q %HIDN  "`aޑl;^Ork=WXޠ 6[*\Qe0\E{5GAXm Uu=渢<,DCA >Ak﮷]3y@=WXޠ 6[*\Qe =@\E{=Q"4K+}IfffffffffffffffrQqGT{ rWXk,< +}m-XI);^@=( x^fffffffffffffb-DhPV;J r^ ,Q渣@=KA5 0D@a܂Q9=Uu\" sPmhI@{qGء_qfٽbQט3kM߲;P_5\q1"]渑ݝ*ĊP 5GX+J @"CU"qB^SI7J2{/v}#4k{0Z+wŏ5;ۮ+JqU&L4q1"9MQH4gmopvaH[c-_C )5U5 3􏸳{ء^'7ƕ1Je0Z*kS,^vwƕ1 6֊);^X+`Y( YtS&j-{MqE{߀lI*v֕&$I*v֕&$>ffffffffff<jy Qek]7{]!y(0Z+ڕkIء^'kxU miR~VUyA?miRv?²[o 7E[Ҥ؄6S·;ء^'k|->$h6a?T(YGk3333333333333oH#DTfffffffffffff`[ QeqG=^V #n@k܁E{\Qg GPυwm x4[ޜͷS.HҾR v);^{p#(aWI2^{=QRe# G333333333333330- {(qG#)KۅooH_k »qf`g;Rcn,X}#}Rv'+{%)°1Gݝ·Y]n_kۮ+J ovw2n>n ښuZTSk}-OvaHgkۅny(1┻=VGY3ݝ )0[ޞ饶02v {ۅooH7SL;vvV􏸳zmv {S[I6o}v pϻ;ۮ+J􏸳zmv k"#D*$Dz2r $DS\'F 0` 0`0` 0` p՞k]7{]!yLܚp׫K- {Mw4ޔż}׮]?Kf49C&[yԉP+s3-%HIDN"@<@84kM7<x@ҷ';l`e[Y°1ӈgM Jeś+})w;ƕP\)4mg{5Gr \U&(a5nf/-ڡy1鷧 (-}Z_}م⫬MQ{H Uu=TIUca;l`eN_k OqG=^zG%Ҥ3333333333333܀׹(y( Ɉ5,7J2m)ђ]bjy"cȎH*BZ,K%,5hٹ k DrDy"cȎHI4-maVS/w􏸳zkT/& 渣r]TD){I渣g|iSP]_k k=Vy]!Iwu{\Qe^ ǀ\o R$UC '\<%) Ð o7 ,r r 45k$\QMwk& Je-°0Yr &o;_4yi׬] +&ϳjN'kwƹ4yA4$\Qv^LA'kwB}7õBb p3+VQ(pׅffffffffffffffa]A[*O3333333333333330- {(p՞k<bjmt)(^T- ١ZTX-Hz/ , m yLҦ!{o)fផyAFvS*]' Uu=ׅ 5WXUt"9]bj}1=+,P/*OJS-,ޚ+}b/7ٽbQ}AJRPLǹu޻]wJ.Auمm-[I% }c[;\jS0ׁ]pE5_Sպ߳-vwچj=?ԌJs`-zѶv WF>b [@\VgM- [g}-'kw?j [M,[KqMWv~ԌJ[xW}^ry(1e2V嵩nh;`-C=O[g 7K^m4++)׬_ev}´Rv AMnh;n }Sg)4QL%`9|=YLmjF%}-jkxL/ ʓ!P8 !3km-C"o yR|*Y]Oݝe2++bf idQ34/*OBV` wڅ6r~(&;Rv AMnh;oJ2(^'B+pkov0\Q{m1 5&fIKeve?0׵+`ѬRv'~[Z_KqAok֍] 5&fIH3e&lZ6`++)v`NׄkR1+n(-Pȣ[fix^T!Pm]nh:y(̽aV _kڕkI0)aV _kcE6]#EX/ 3ۄ'm`k֍dQ34/*OBVPo zO{ °bSqG}1{f .~fo:{^}=( x^fffffffffffffff%Ҥ333333333333333܀׹( Y渣τ pm+z`=aX1}ЙWmx& 渣ܗU!%8E*9" r]TD){Ii^ 7 RMJ++v2`_y@p. oXOXy{4ie2혃{3;66S3 }YLfj5ˤ4&j,\5ː"=TNM"DGI1#8q2Apy #=K1 r"DGÔUu;HQ8i5&$w"'&H8"8D`l')5.AAuy]>"#D*$Dz2r $DS\'P or'QUX&"#Dɔ;Q$X'&H8"8D`獃+74 or .r'QUX&"#Dɔ;Q$X'&H4"8D`5.ܺ}"DGÔUu;HQ9reI5*É;ȦN9Tǎc\.ܺ5˧$Dz9EWQcDU&PADQb8 Ӹ;Uu=b͵k9MQPrkkIv`I]I»]΋xWy 4WgIyw{PT<8n`  "" 9([Y]:;$WqLB'Q=Nׄc66S*b'?vwT{&śjrWXءѻʓ KY@j' A5.*T縪T{&śjrWXɷyRnA'OݝEu n<̋kEuk$'L   9A'亩 (S=$\Q\Jްۥon`W+/ }aX1}jWXxN ([Y]'kwgqU&rWXm+`0-zeҿ-bn<&[C6w5WX߁3Y]bjbhIk<ۥooNhm-Jt oaV _ko 62kgcfi3;+( 5WXI%GMQކT{ʑQbrWX2qU&LrWXءѻʓzģ-,Κ 7&O`[eVt oaV _ko [8r]TD) r]TD)N{I.BJ"q=$x;ܗ NyĎ{]Gۏ3"]GJ)ƕ1 ʓ<qE{/33333333333331I"4K+}IfffffffffffffrQ(\Q %HIDN!-DNz0[oH°b^:;$ @A.BJ"q=$\Q渣Uu= mo MQ5QP/\6ƶeaV _kؤxN\E{5GAXm Uu=渢<4"rCG&4y q°b^'kwkf^с++Rnk(qG=^Fuo< 5@=Vy(]bjz0[n@T{qEx82B H 0 .9V _kؤxNlݞ3HD `)@=( x^fffffffffffffb-DhPV;J r^ ,Q渣@AKA5 08`y+/LZ$ @A.BJ"q=$\U!%8ay( °b_c"e2VRws43n+yR~3 }YL1÷ ze*̘gAW!Y@Q b BNׄMe(aOgpJV֘aV _kdR׬_ȶ򌴷2)kS/fTǕ|{\CI)ƓY5r=˦ Y渢=tf * BZ`(2p1BOyt  513331P If>ATQeS,\Qc0ې0 o5l ffff`^`333333333335pa'w0D5II@ hur~M\EyAtYAtQ2O5{i,Nn@M%IYd&Xw ;tU94y@k܂kɦ7J"kcs °b^-+ʓoYf)k`ZW&mvSZ ;dR׬\gAWw_miRfE-ze]IkM7<zkf^Gð+/2)kS/ovwleGݝFayRf=ˮ$g ;tU944|pP &|40`.5F=i,Nn@M%n~3&ϔVYhR sm~)Xgݘ\rdbEric-o'=5pb=i,Nnj\K?M%)#;\Ig4{[2e r y(;]Ig/v\K?kf^Gݝ»;^s4|pP &򷡉^X302R +`4|pP &򷡉^X302R +w ٗ.@M%5uRQ qG=^Fuo< 5@=V{֖@T{܂OPrkjm36V 3C (M mr ( DpA&(2@縪T{&ii 5G$cJ3MQr ?^p8xx dXXR sUu=}- \U&nbp+u[qd[\+WwqLBQe Re#ȍ giRyn@k܁E{<z^E-ze#? I[޻ nZQgvw{PT@Dn` ,Usҭ`-'o LZ2g 5/r]TDP$szGfE-ze{ "\Qe8K$9u!8@304wGR95@PrE-ze#ؤxN(\Qe@txrjM}l MP+Wgk]dOx6a>5YG(x)[m yOi[(\E{=Q"4K+}IfffffffffffffffrQqG{ܗU!%8k kTAeFcxA'5;zģ-⫬MQQ]bj hV->% i]sU  {70Ma uxA'Ҽjޓ嵆YLW>k=vwT{ƀ5rWX;Sx{76tfMJX4k ƕ0KT{ƀ5rWXB]bV[5WXEU`;*⫬MQ$Ly܁U&zWT{Id.`;*Z]b᜶-)f_+[?KY@j'5Pٹ k0` aZS/oZ[xNr <{,5yLy]A[*O33333333333330- {(qGqKY@j'kѰ8J@ߤyH r\Q9sH>X>';Mv ./usr/share/man/info/en_US/xlf/html/lr300.htmp/$ PRESENT(A) XL Fortran for AIX V8.1.1

Language Reference

PRESENT(A)

Determine whether an optional argument is present. If it is not present, you may only pass it as an optional argument to another procedure or pass it as an argument to PRESENT.

Argument Type and Attributes

A
is the name of an optional dummy argument that is accessible in the procedure in which the PRESENT function reference appears.

Class

Inquiry function

Result Type and Attributes

Default logical scalar.

Result Value

The result is .TRUE. if the actual argument is present (that is, if it was passed to the current procedure in the specified dummy argument), and .FALSE. otherwise.

Examples

      SUBROUTINE SUB (X, Y)
        REAL, OPTIONAL :: Y
        IF (PRESENT (Y)) THEN
! In this section, we can use y like any other variable.
           X = X + Y
           PRINT *, SQRT(Y)
        ELSE
! In this section, we cannot define or reference y.
           X = X + 5
! We can pass it to another procedure, but only if
! sub2 declares the corresponding argument as optional.
           CALL SUB2 (Z, Y)
        ENDIF
      END SUBROUTINE SUB

Related Information

OPTIONAL


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k<>V$> jf>H>X>';N> ./usr/share/man/info/en_US/xlf/html/lr301.htmp/$ Language Reference XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

PROCESSORS_SHAPE()

Returns a zero-sized array.

Class

System inquiry function

Result Type and Attributes

Default integer array of rank one, whose size is equal to the rank of the processor array. In a uniprocessor environment, the result is a zero-sized vector.

Result Value

The value of the result is the shape of the processor array.

Examples

I=PROCESSORS_SHAPE()
! Zero-sized vector of type default integer

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l~W$jf>H>X>';O./usr/share/man/info/en_US/xlf/html/lr302.htmp/$    e -<=>ailnorst/ADEPRTcdfhpu",.BCIMNOSgmy!()012345:;HKLUYbw&*6789FGvx|#VW_kz%+QX\q]{}[xAH.M2bb4H& 4?LWjůL^&ůLbE,E0HqDrg E"L$8\w&qa@$P^r^u{%v-RW!B!B!B!B!B΋^r" 1@ `MQÀ5.? _jvx5FW!p@W$sׄ9oڼ$$Pn{W_ygCB!tZ; l̺mv-yfv :-xCΥ=]|qU坼Ltof63$@tZ;v1-o53]|:-xCűI,VxR7}o53?w;z/ Tx"\-K^F(΍_7zֿ8($x`ǚx;Ux]KT!B!B!B!B!B!rBS9Utd_FL2"vd_zZj0ȵrBIC8ؼӢףL6/;8&zHTb)i \,4z0*Q4 &@E"L$8\w<1ܙŅHS 9$ɜXP)&ě4ؤ6/_oJ}uw+FG{_igUM1cʔS63ǗIS91;WygjkW$u^LhInL<%q+’;Tiq^rI.=4O^^Y4D%<ɤT2-z1NK3eN5S3ZbɤT2)nx *34i( ^I-$O6|_+F}@yT 9$ pgUnW߉ެ/,o9$pIny"~x'N{_nLycUeW}4Ϟ<%qz1M}3L*(%W-JXfu/nWykыN/!{ k!zqyĒաrI/珆5I=TwfؽeL-JyWi6InrI/.L |y|*|ٶk<'^y|I-I#&qaO+WcTG|i<|VTϲ+^3ck{-I#WzR׾UYԿ+F~LmsV8InLyci6WQ[M!d_[}4Ϟ>veO{WG|^^zqyܯexp^iӋ>$'*b jZzU$ycU=_} >xn%S+bU3췕)ck{-I#WzR׾UYԻGyM1ϝy3 z1$W׌5y1_YG$3{i|/eYS>}kǗR׾UYԿꙵӒHq5Ϊ;eFw|,n\w|Nmq;WAk&9%^eWfr9M1Xg?i6ؽeL,ܯloꙵLms垼ԵbVu.,+F~Lms^LƒO>/4XDs9s9s9s8k9s9s9s9s8y^A(Ć&qb_HU,)}c3eA+c;W6W.ɍq}[4H@d\\id*Pf3;W jZzFgFmrWߍRW1Ͼͽ|kRKXV-x(8yǕ|y[\}K0g;,m7k%$+^#RB/,9dPխ\tD #珕opp@4w4#f3J}|W,_xD [âSňpLž<t}4Ϟ;}-FLWμHTb);H hGM}3L|43Ʃ&q% Â?p8?xw#x#^41:/eYS>}gμHTb);H hGM}3L}p-F0=cT8C +øЏC?pWpp:/eYS>}gμKWWo:hGhg{c~Lms^,Wx$ xtR*xN$OÆ,)aM鯾iH>X>';Q./usr/share/man/info/en_US/xlf/html/lr303.htmp/$ QCMPLX(X, Y) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

QCMPLX(X, Y)

Convert to extended complex type.

Argument Type and Attributes

X
must be of type integer, real, or complex.

Y (optional)
must be of type integer or real. It must not be present if X is of type complex.

Class

Elemental function

Result Type and Attributes

It is of type extended complex.

Result Value

  • If Y is absent and X is not complex, it is as if Y were present with the value of zero.
  • If Y is absent and X is complex, it is as if Y were present with the value AIMAG(X) and X were present with the value REAL(X).
  • QCMPLX(X, Y) has the complex value whose real part is REAL(X, KIND=16) and whose imaginary part is REAL(Y, KIND=16).

Examples

QCMPLX (-3) has the value (-3.0Q0, 0.0Q0).


Specific Name Argument Type Result Type Pass As Arg?
QCMPLX REAL(16) COMPLEX(16) no

Related Information

CMPLX(X, Y, KIND), DCMPLX(X, Y).

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  lZ,Y$]jf>H>X>';R ./usr/share/man/info/en_US/xlf/html/lr304.htmp/$   "-<=>AELNTet /DHIOPRSainors%028:BCFGMWYcdflpu,.134569QVXbghmxyz!()7;U_v#+\w|&k{}?[]K \\z5Lנt4FV))mJk(%I#tZH: ӽi#{ 2K Ýlm.1c1c1c1c1cGDT,DvoC+&@ltÜmpgvLp(H` G>Gm# 8-4, ks4' @ o#{lೌ D$ۇq@ 447{|}Ds^ c ;<ÌmޫÙ+#{%~Q^hS g]Î\dpgȐ]= a]9]0mNˌ o|* xk.0c<g"}2%y&8VPeE}䔵kYk.2Ӭ掴c,7q:;N`&1`SӘ0ɦLv7M2c6G/> L>:IJZPȡG0&Î1e L>:t3;)k׎n47pѡ< @(y͑+Kϥ{S[8Rץ& ho8B@PA#VJU\û)k׎A3qF96G{>Eb; <Qh<0&BX3!qY-C"f d8*?fLL4 0ٶ!M`Mcx!mF MdHO$;M(A ֒>%I(Q>eMam6w! mkm48xpp i( FPr\F92c1c1c1c1c1c L#l)C@XNG U% a4cA eVF@#{{{L_A\Ym{{{{UjJV:"Apݔ> '28ȠIK^(047dA fBr VGYm^Fpgsua"0|XL5qc4g9qðA{H#Yeo(ςe2:x;fEcp%nw0s(#Ye)"Fu R$| S e|֌e> e,RKaӦ,s.2"w8v/uIeA\839 mw0sଠR$:o<=gqX&>NI5,sFpgsua`: t" N&|rSf.|eKva`"xaӦwOpќ<0ˬsøk,e>U9AMd|X*xv/uIdA +@M~Dl;qAς>ZGSD@(0xݔV :"Al|#y<֑^uL;S)h/u M%*h(౛(.׹z:iYFl9 ddz>.(!t TZ;Z2RPюRM3e՝/ZGM6^" uL;S)hWzT4Yx%*h(౛(.׹z:iYFl Vv2e- x|KGnҤѢI)PFGGAugn֑MȾ3dg՝.֔.e- x|KGnҤѢI)PFGGAugn֑MȾ3dA Vv2e- x|KGnҤѢI)Q&Ҏ {#k/u|4f 0t{`AugiA (]:RНΩv+*M,t Y4ntpX͔Vvܽi4Y{6KRu ;J]B2ք>uLQ]Rhe㤔Vɣtl^Hd_i҂FPBJZG2ք>uLQ]Rhe㤔Fɣtl^Hd_>.(!te TZ;Z2EwIERM3e՝/ZGM6^" uLQ]Rhe㤔Nɣtl^Hd_Z 0 |]YPBGΩv'}e-JF/$BM3e՝/ZGM6^" H>X>';T ./usr/share/man/info/en_US/xlf/html/lr305.htmp/$ RADIX(X) XL Fortran for AIX V8.1.1

Language Reference

RADIX(X)

Returns the base of the model representing numbers of the same type and kind type parameter as the argument.

Argument Type and Attributes

X
must be of type integer or real. It may be scalar or array valued.

Class

Inquiry function

Result Type and Attributes

Default integer scalar.

Result Value

The result is the base of the model representing numbers of the same kind and type as X. IBM Extension BeginsThe result is always 2. IBM Extension Ends See the models under Data Representation Models.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ]B k[$ jf>H>X>';U ./usr/share/man/info/en_US/xlf/html/lr306.htmp/$ RAND() XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

RAND()

Not recommended. Generates uniform random numbers, positive real numbers greater than or equal to 0.0 and less than 1.0. Instead, use the RANDOM_NUMBER intrinsic subroutine.

Class

None (does not correspond to any of the defined categories).

Result Type and Attributes

real(4) scalar.

Related Information

SRAND(SEED) can be used to specify a seed value for the random number sequence.

If the function result is assigned to an array, all array elements receive the same value.

Examples

The following is an example of a program using the RAND function.

DO I = 1, 5
   R = RAND()
   PRINT *, R
ENDDO
END

The following is sample output generated by the above program:

0.2251586914
0.8285522461
0.6456298828
0.2496948242
0.2215576172

This function only has a specific name.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k8\$ jf>H>X>';V ./usr/share/man/info/en_US/xlf/html/lr307.htmp/$ RANDOM_NUMBER(HARVEST) XL Fortran for AIX V8.1.1

Language Reference

RANDOM_NUMBER(HARVEST)

Returns one pseudo-random number or an array of pseudo-random numbers from the uniform distribution over the range 0 <= x < 1.

|If you link the libpthreads.a library, a parallel |implementation of random number generation is employed which improves |performance on SMP machines. The number of threads used can be |controlled by the intrinheads=num run-time |option.

Argument Type and Attributes

HARVEST
must be of type real. It is an INTENT(OUT) argument. It may be a scalar or array variable. It is set to pseudo-random numbers from the uniform distribution in the interval 0 <= x < 1.

Class

Subroutine

Examples

REAL X, Y (10, 10)
! Initialize X with a pseudo-random number
CALL RANDOM_NUMBER (HARVEST = X)
CALL RANDOM_NUMBER (Y)
! X and Y contain uniformly distributed random numbers


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] VPI lV3]$jf>H>X>';Wh ./usr/share/man/info/en_US/xlf/html/lr308.htmp/$    -e<=>anorst "/ADENPRTdhilmu().01BILMOSbcfgp!*+,2489:CGHU_y3567;FWYvwx#%&KQVXZ\kz|q{}][xJED*\>d\ .\> |Nx ≢Nz&VED,i ,H L3*gMp&Vނ&NxNg#1iUB!B!B!B!B!|Ȝ$"HDI@)}p :+R`\_pzÃ8$7KDpm*٘g[5IJ(I( >!7^''*;'%SMLGe3ZGYIv ;7 AgA.ȏ l" ;QTGnFYfZ菝*i;CZ4|W$,s,8q9 &Qysi;nwOO)[Si^ # w#y ͎)ck!B!B!B!B!B>dNz=DJ'סbE>/AB')vFv3DDp<@@p$<|^19(IeQ" LۨHs*$TdHab@JaQU8kq4MdW* V'=X{zWvmnlQ7\/{Y^XY*PYARSXqV/,T54;h=ˬUA8b;];kjy}/=dwNkj;jS]5TUqJsgqܕVݝu_C=3'[Nkkn1AUӧƱNcݝ6g}X Z0jS\^R.ގ9$^^y*CwjcNzb^/I(cLڝʵYL M$,5p\IZ+>IEQqSN;3JvwvߚezWozv3֎v8砒QzzKb&e ݪNM9Ix$㶿/]3'[jw[_*B}e0/{6@f/c`p&^jڷ%ME\oM:*uag~kg^ս)ֺǽ;WbVN/#$DL#}333333333333333ށVN/"Nz %^F"iȮUn2'&Ɯ$^Qq_/cnU}cLڝw%~ռ(j.0NM:+ۃۻ\j{ovwSby}59}X:Ηvwl\w]6}ᣞ^b3)gfM=XU/333333333333319g"SRyo@^'^Yu'&k=ˬUA8bYjzsՋ.UFNol .UsY8.&3I,! "LY*PXiw';Zl+jcޜD>*$TdK,H OÀN{pÂC%ŋS "LY*PXi**,iq8F;׬c;_m=;Zl*p$Q"&\`krqw'YNv۬s5õk+ҧ=ʢ^'^(^F G,2KرS"֟oVF#Lۨx(s7p]GmՑzǁE@ 9|TЍ5A7(`GfBET]5>+Ȼ{gRwA7(`ApQ%(`@eYsJlhE#/@yGDy\XedkOF'=%RE .PN kj^$ jf>H>X>';Y ./usr/share/man/info/en_US/xlf/html/lr309.htmp/$ RANGE(X) XL Fortran for AIX V8.1.1

Language Reference

RANGE(X)

Returns the decimal exponent range in the model representing integer or real numbers with the same kind type parameter as the argument.

Argument Type and Attributes

X
must be of type integer, real, or complex. It may be scalar or array valued.

Class

Inquiry function

Result Type and Attributes

Default integer scalar.

Result Value

  1. For an integer argument, the result is:
    INT( LOG10( HUGE(X) ) )
    
  2. For a real or complex argument, the result is:
    INT( MIN( LOG10( HUGE(X) ), -LOG10( TINY(X) ) ) )
    

+-------------------------------IBM Extension--------------------------------+

Thus:

Type                     RANGE
------------------------------
integer(1)                  2
integer(2)                  4
integer(4)                  9
integer(8)                 18
real(4) , complex(4)       37
real(8) , complex(8)      307
real(16) , complex(16)    291

+----------------------------End of IBM Extension----------------------------+

Examples

+-------------------------------IBM Extension--------------------------------+

X is of type real(4):

HUGE(X) = 0.34E+39
TINY(X) = 0.11E-37
RANGE(X) = 37

+----------------------------End of IBM Extension----------------------------+

See Data Representation Models.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l0M_$Sjf>H>X>';Zt./usr/share/man/info/en_US/xlf/html/lr31.htmp/$    -et<>acdinors /AENPRTfhlmpu.DGILOSby",=BCMUV_gv()+01234:FHYwx!#%'59;jkqz&*78JQX6KWZ|[\]}{` 0z!3$DCvYcD"YcH4ඔ" iLDr#h̤ErkeXZ#kJ` wðR2,t2 | S[p1*QSAr5>tZtvr ( Ok ~J EWI~iqݴ|D1\oR /܇B"}vҘg)c9y5zL/܇$OJ` wƑ30ES8|s#>tX_iL59F "iȆ*EmᔈC5H>[< M&oq\zhg=F"hg䟞H>[=vWwU,3hzg|ZrmC<3rQ5 WGSj9drwچwU,eb)'lҝ;ӖKjᕈC;*~΁E߫;*~΁)hzeC;*~Ε iL58IO@@ аr[h[y4CBZz_znsCcYH`Q3D4 ]h;r|<Țr!` +84 p`0@!m)g "h$Ly4CB4g\ũX?(@ iL58IO@@ м eBy4CBȻC8, -N  x-0!1&t֡m(8U(znCNAUe81`W# L!Y_:9%4 +Ҝ諔-DQ=yN@,%0(ǚҘXH5Sħ-hY%#:m.x  aiNZyLn ccHWvҘg8CBњd=˜cJ`HΆ%?XHҘA Z9H  H RhP<Țr"` h̤ErkeXYaa kJa 0 cJa 0 cJa ~KB;x;]PaIwW)\keC:TF[HʱI<[8!F & 1C;PSSSk[+(y9\_Stwu:g.t;c!NAJ` nO}:ChzgZnWy-3EC)\ke|e3P,YL= NE߫+u~!ҝ8Ft:EC)\ke|e՝wʋ)Yx˫:{ z⮖KxV'jS:ΣS3鎬PL|]UZt܇ 3w 8ݽW_ФX^^wjn(LrMSISG%['wR" zCXSu<9k%LK2O)E55E oq\ӻ(8kP4<YP phX`3j9d.y1旆R"K\Sc!OS–?%:Hac54 ErIL^(8ki!]1E o=GQȤ^]vgAe0g|Zro]'ᔈC5QعHc!OS«Hpr N(\@lg/:}O>w% $z꧕ N4e,)Q@Z0p@E5Q@Zy"j ,(8k{(@0x"`pXYP pn$ܨG3@ЈhZ`XP$1Bg0Ml1:L,O EL9kҁQSB{Xz]Ft:\ nÚ@ְ9:]Єv3gΛGK@OrL)^NkOriQv.R {3Jt5V[/%Gc9yᔈC5YDs; $ @`OUCD&y  j$3oJttTz+(x)Wlg!l==Z悮C.6S k =ZS 1=X91p4Bg']v-abF ҘX氱4ga$е( ai0Hb1慴ӆtBghXackXU݄gM&L,9, kiL=#L~U,. ErI2hp( 9LҘKKS%*M_'+_kg[< Er J2rӖKk7ou3>K)G+볣0Iҝ<=GS!‘e"+Ml%5V[N9|)\kg|DW!7oR"Ϊ+>K;䟞H>[ڊy?<9|)\kg~˹Oy.,\=UvtpyfC!}9Ky5V[_4DW!,^/~xe"+Ml{Cpqz}NR>JtU~y)E]gS| 任ӖKJ]H>[[ ac54-KyS 99HZ~Azgݽ7WuU'AEo:K*5j9d,H/$b w$b 񯜳/ONY-]޻E߫<^wR'‰ιLW%wU,/X+.QDW!,%H ]jDU۞H>[;)Oy,!0ϩ%FB+8. )f$Gb"c9u\OUJ9c!N|rJj)0@D(\@lg/Ug :rD;$b rbQ|R5$b +$'\TuSʋE|v.R {3|]eMtB5V[_ zCXSusyE5L5E ov"I}Δ5V[9u4;)=nxNk^c> I˩FQعH])j|Zrm|DW!/;_)?+WPINrӖKEOrorݱSwΎμSvԪLfrJaL}O<=W%2@f?k(N2 I˩2Dvr]/竕Ϥ}̐ЪJd~תwJϦ\z\Ml:W7)^CuPrINS])yGEgizc"/Gb8_GSx;(?լn@3Μ>jjo!◜/IME&;(Gc9Wƽ\Ї)#Si,|Gb'FY:xFfrSGO<$c\_+n(8kH$k "Dac56)rs_Skg/wvE hp,(8kzຘN.&)G+הtYL,x氱)Xejo 0D{J`wIy?c9pu?烵d~ˁv3u|vUV`n@Q@ZD#XYP pn$S 9,D{Jac5iL=(tK)\kgQ8>NkD$Gb"c9tNwzj9diL9W<1( ◎׻rnSj9dvE i"ME oq\xbN]M*2Dvr^<]UIPQur[_{[O}O;(-)H|u7y9\IJ'zUR}]\_L"8adQ@[ݻH_p3rorݱR*)% /P]UIPQur[^2-Shນw 3 Dixe"+MlH~SJrݱ^p}O;F(@ݤI/u3҄` w 3NS|e-kXUݛ(y3Pwwwwwwwwwwwwwwv aaagkX{JaE<iwzIᔈC52J R" z3~˹Oz_S%%K'_L2lsR)旎׾j9daE<iwzIᔈC52"cH],(8k|1:^5.>y꺾i}Oy1_LK)~}O#O02^[ %Gc9W#O:SQI#!NUr"?g=GS!׬d)뮔Hxe"+MlǨ;c9T3\+SW+NW:nϩaP p֑4py,(8kzԚM&(t+Ui%O{pvE i1XYP p=ZĔT;)/:C(sP)۴%*Ц(@#adQ@ZSӖKkܲxys:c9W\1e0G<2^[<1(;nUJ9^(@"h4XYP p{G(r;E߫8|ZrmXYO:SQI#!OEOWGP~LNY-r(OJvWwU,nޛsq2)1Q|0@бH8maf40@бH8iL,`ưShNk^SV(hzg|Zro^w`5Ui%C+I;gF$b {u;ӖK|2t麿SΔRaHP*)WGPNEߢo0S08y8 C"1A0 k[ldqŷ`]ݴX"le /PP n6m*wwwwm+]ؾ wlk:хŬ{ .NW\[v U+]-PUj0 @#]aqm&Md[\YvΌ.-d[5V`0rr]*,d[h$ `0jF۰MrL, iL-ahiL=0b-`sX$b $b )5E1]$c/ ErI0`5Ua99\abF ҘXsXXZO5!+*rS 1,` k =0q=@𶰳y]3j9dO=\Ϥγsr ;DYP pn$"`O EVu#krrČAyH{O(8kG"Ȣ0E j& 4XYP pֆwJQ@Zy j&Ȣv$zTSγҦH 貘{XӧPaaa憃Skiz}F Uqzy,NY-Ky⪹qB}jcL1 1ӰH0#h{X#krrČAŷyD՝t3tY旆R"e0x梞y.,^Ujekʾ2>#lexZjFČAU`z:@o_Sε1SH'+,HN#krrČAa``6NWX7Ν'$b |XNNWX7ƿS'+iwKq0)U7 tAUj  1)5":`5Ua99\abF ުK=^Ae0Shy9\R5ޔ諷c!@\YvΝU뼖wuiU9.| Lc9t^ݽ]HrY--L܇yN]Ui%zBlg Wu|^J2u vr t;gN7o=ZĒ/d)הt3#:m.oUjek˺ܔd[(/KnO~F[Z\䡐 濪s]HuSζQ-)e2Oµ<:P:x˥LYGJtT3Uo 'UBu+(`5Ua99\abF e0$s44,%PL!m4*VS+Cd>GhzgNY- 1,$Ҙ{XE5\g9^z]lgΣtadQ@ZS@"< @a_EDP7DY_EC@Yi|8xDѦ3EDP48g"!舠i_9Po yÇ,W"5!:PIRjO=2hz`gt8gG gS߁Xx =>LݹO 'z~L}1ې̯ GS멱Uۅ-8rUi% ⮤\IL|完!N]ܢ{ĔS Jt%C%ҤYlu#!O񗌖_Kԍv^Nk)'ܢ{Ĕ:unSj9d:xe/a25^jpu>ݮ$wR'Pݮ$wU,ԧS:S(.&Ύo3|ڋf"|Uԋ)>rFQtlUvgrMS;ӖK{)O{[OvE hy0(@*t"@@#py,(8kE˜+ QIJg|Zrm{lxȦE i@@Ȣ5(^rL)_竕Ϥϳ ugL,|֌:)f9E&lg/4S;-te wKWnw(q%3j9d/UE cRov{Sw5V[_4Uԋ)SvS zKT'ܢ{ ,.^9WhtNH>[;-te wKE&k)>j9d3y*2:S*S)7\ILNY-]䰩ה*S*42NP;ӖK|| Lc9 ҥ:)}O:SQI#!O\?KhOSvO;JeV wU,<]UIPQur[uJtRovrjK{޽) ( )_M"}i[ݽi[Sε0V3^䶾i}O rMS;ӖK|qWR.$rXyCa`H k  hhXK m4*VSYaa %0 h#`3 @@q i_<ށ<<@s b&7< +N i_9Po yI_ @`y4`0`4 &`h D&Py0qJ""pz#K |]܇JW^tS!ԍw.*ʋz~L]:)rcbS}O<1(;/%?!ᔈC5YL=1Uj  1Zʾr*ΔOj9d/R"/zI3|e<1Uj  1W S0uIe;:C)‘Ui%KyᔈC5_Erw*2‘QOwzbYL2FUKȦE i#ǂ,,(8kxR:(-gtRov[&N|rstKcz\t|r_SρUg/zbYLF[HʱIy?c9vE i#ǂ,,(8kC>2NP;ӖK|ʻE߳MjK{޽) ( | Lc9KE&k)%aSҙU(FBUi%i}O;*~Ν7TO=\w(_|QIJgltt◎ԧ(x_W+ה+KD=҇rCS#\ ҙU(FBUi%i}O;*~Ν7W])7c9zzSץ2Z>ݹCO=\rS^PE.JU/Ug!e0Kj9dXS(8ki!]1E o=GQƥ0(8k@pYP pֆ}O=vWwU.:SݿIuSh仼2}&x׹$wzkFByG{3ƽ)7O?4ukSv{ᔈC5#O=\y9\)~V$xy u z~L]:tO~[;)OJ%zq;XI\ҥ~i98 ҝ9hxhg iF3 S =Z5h*3Pwwwwwwwwwwwwwwww`z4E iW*E50 iy_Bg"W8Mj¿"hPpΈLJ h b 11#^11#øYzΦz.WnPe"+MlPǨd:>AԇΛGKԜ^Pe"+Ml=GS R>E߫=I\Ksw^O)Sg{RK)~}O<"YL"wE2k$OR2?ФT2}&W2"cHz~LadQ@[Qvr R"cu2zB޺AԇR" z3{XE5cHz~LadQ@[QvrJj)0_RrB0si ']pz,sB0S08y8 C"1A0 k[lk]0N MrYҘz.Y_/JknmvD5V.-U@050 k[lrPw:ۻ54 +agkJahk ELkJa`hMUa8=A8*4 SiL=Z*j9dNu]aqm݂,*:@NE߫\[`E-YrA:ۻ rYҘ{B3s_5VZ' HNwkg=GQ]Kzģ,wU,/R"e0sk]0NS@ֵEC@۰U*wwwwwwwwwv 54 +-iu.^''+dZ8=A5#]aqmrL, iL=U,0S@ֵȵ.-]݂ MdZR&'U aqmrL, iL=D9ac^y1pYL=z~Ln+ zWy$b w99\abF ߳䳻)\ZMlZ2;Lԝc!N&)G+הt3[IJp&T%1J9Q})\kg{{-KGV/Jd)הtYL=z~Ln+ޫO}V"}݂F U,  1VG|k܇=O)E5ΐ.^Ȣ,p)gH]rrČAiwz~Ln+JSK uV;^iwv i ']pz,H7o|N<>tw z3g`6u.^'ČA*w\ަ:,NY-SiH>[<1:c!N(@᭦>twE5Glg/\?<2}&wJ5\߳QOEMܲ?\? R"ʋwU,Qu wvE m1 wE5Glg.JSK<򜫀r'R"¦䟞H>[+Qu zRH>[ =GQʢQ@[L|],(8k|1:]2)Q@ZzDE5t"&N5E oq\)(@᭦>twE5Glg/ J2zkFByGEPm|e<1:@NE߫X7u7/d)הt<ΐ.^Qvr HSρW.0HL|:~LabF ]d[<1:U űې3:wGI)#jΣ U$b wAu.^'ČALʺm|e<|֌:[<‰ι$b w:ČA;_ z@YL=2R nxe"+Ml=GS!׬d)뮔Hxe"+MlǨ;c9w ErINW<1:c!N(@᭦>twE5Glg.K>W;twE5Glg!ev.R {3{)%cr)ӻ(8k@pYP pU,W]']Q@ZGȢ]݄Q@[L|],(8k|1:^5+i܇u{wU,9\ Ie2[Ҥy9\]) |Zrmy9>)G!ҝ>I҇RK)ޕ&ryyBE58Dp,(8k{ӖKj/(8k@pYP p׻L):CP$?r?aP pBE5Uh[c9 )=?W]']Y]z~LO~&wu9|rdI[<1:c!N(@᭦>twE5CL)7S7okgݽ)aP pրǰ(@NY-SX`4|Zrm|DW!5V[7oSޛsxSDYP pn$j9di}O<2}&}MLR15V[Qe0Lת;H ]H>[>SJrݱ源Y.)7)ƾ5SV;| J]بUzgݽUY˒Ro|k=*2Dx˫:g/9gd)הtYL= -a cm4*VS+QԌ:wʰ@KJa)Q@ZhUʬp`C܇>tw z3}9\tR0(@)kȢz"(" ,Ȣz"(" /^g{ӖK|Ai}&r ҿqȚ484ᜊ("EC@^^4g]yI>[ "hP8g"!舠i_3EDP4  Ya}a_A I7ƽ~V$t,p  g J@,8X+ӆ@֔(@4*VS84!unS]K|ww¡QvradQ@ZS@9FWPDEydK+"hP1 DA3p`8^3㻥eiu1J9^fW gwUKjW Q@D= +qȚ48/)~Z2K;*를"_@~pW3,Hk8aL, iL="BUe3?RadQ@ZS@EDP7Dr&583džp"8x@40 Ȣz"(" / 8Dpi_8Mjq_pEC@ҿ8g"!舠i_A% =# g@<6>j9d:d*)9 0S08y8 C"1A0 oŕ؉ÈwvȵyFr.-UݴY\S =ZS@ֵi8ÈwwwwwwwwwwwwwwwwwwwwwwwwwmjhW+@֔ ah<֔^Q㸫 Ї)kZ["\ nWwwwwwwwwwwwwwwwwwwwwmjhWE:W7(']WX\[`A\S =ZSk5W,'4 SkiLD 5"Xư95ŕ%)Mm}"\waqm MrYҘzN >,W))1-08y),sBkllk]&waqm,li ']WX\[wwwwv050sk]&wac0 k[`dZ8bBuuŷv hS@d[L|:~LaqmjΣ U(lWg!8=F݁rL, iL=vE jȢ^g%d'+2a݂F \ 1\OetyB$b U 0#oW:+ ) zC#]݄Q@ZadQ@[Qvr]+0(8kO 8MAE o;adQ@[ݻH_pYL=zcHz~LH}yFrn)rc.8r[Qe0wU,waP p֪YP pcuSu3ypLj9dLzS1:UHqqL"ɅE o|]|rs__>Y5V[","\ " z3gj9d2W-QvrݥU7S=vtppu?ƽUi%W䳹$Sj)@Kk<]_4i}O;ӖKkQpu8Ȩ貘{QO=b_Sk]q%#T)ӻ(8kWg&E5Glg/@Kyu2reNSvȦ;A:W7(']WXX7]݄Q@ZadQ@[QvraP p֯(L,(8kJ|] zW;ѐ^Q4Xew䞤 &)G+הt3[IJp&OU-IQʋ)(@#adQ@[Ҏ)wvE jYE o=GQƽz;R9iHe>Ϲs+d;o^x˻:@~LjyO)Ҋe;ӖKkNi}O;ӖKk":[_}Su3ywu1)O(8k@pYP p@S:%d9/ I˩2DvrANY-$']WjČA2)W|坄Q@ZadQ@[QvrwaP p֯(L,(8k|1:AS”uw^'_SGb"c9rXt')(\@lg/4>j9da$Gb"c9xl|RC^r4yFro z3J1=vWwqWR.$y7okgݼ)Wׅ`8/.Tpu?`u\+ĜGJ2 ~)wUC#:W yE@p0^}#- (/.Tpu?`u\+tU¸+9E.H|ej9dGb"9"eb)%r[W%Wˆ<Ax8  HxX =._^}#- 08< 3X4֤e@, ^}#- 08<,L, kk@ְ9e4hWrUwwwwwwwwwwwwwv aaagkX{Ja`I9H d=˜f\ c 1{ $ @p,Zz[O kמLaf7/a$е(OU i{1pCBԠ,-=T r&[Qq%3.9nKjo^8IB!jP ŧ!8a$L& [GJaf7Ûa HL `[XY)k " =wu k `$jf>H>X>';h./usr/share/man/info/en_US/xlf/html/lr310.htmp/$ REAL(A, KIND) XL Fortran for AIX V8.1.1

Language Reference

REAL(A, KIND)

Convert to real type.

Argument Type and Attributes

A
must be of type integer, real, or complex.

KIND (optional)
must be a scalar integer initialization expression.

Class

Elemental function

Result Type and Attributes

  • Real.
  • Case (i): If A is of type integer or real and KIND is present, the kind type parameter is that specified by KIND. If A is of type integer or real and KIND is not present, the kind type parameter is the kind type parameter of the default real type.
  • Case (ii): If A is of type complex and KIND is present, the kind type parameter is that specified by KIND. If A is of type complex and KIND is not present, the kind type parameter is the kind type parameter of A.

Result Value

  • Case (i): If A is of type integer or real, the result is equal to a kind-dependent approximation to A.
  • Case (ii): If A is of type complex, the result is equal to a kind-dependent approximation to the real part of A.

Examples

REAL (-3) has the value -3.0. REAL ((3.2, 2.1)) has the value 3.2.


Specific Name Argument Type Result Type Pass As Arg?
REAL default integer default real no
FLOAT any integer (1) default real no
SNGL double precision real default real no
SNGLQ REAL(16) default real no (2)
DREAL double complex double precision real no (2)
QREAL COMPLEX(16) REAL(16) no (2)

Notes:

  1. IBM Extension: the ability to specify a nondefault integer argument.

  2. IBM Extension: the inability to pass the name as an argument.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] UL>  ka$ jf>H>X>';j ./usr/share/man/info/en_US/xlf/html/lr311.htmp/$ REPEAT(STRING, NCOPIES) XL Fortran for AIX V8.1.1

Language Reference

REPEAT(STRING, NCOPIES)

Concatenate several copies of a string.

Argument Type and Attributes

STRING
must be scalar and of type character.

NCOPIES
must be scalar and of type integer. Its value must not be negative.

Class

Transformational function

Result Type and Attributes

Character scalar with a length equal to NCOPIES * LENGTH(STRING), with the same kind type parameter as STRING.

Result Value

The value of the result is the concatenation of NCOPIES copies of STRING.

Examples

REPEAT ('H', 2) has the value 'HH'. REPEAT ('XYZ', 0) has the value of a zero-length string.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] A lrb$)jf>H>X>';k\ ./usr/share/man/info/en_US/xlf/html/lr312.htmp/$   e <=>ainorst",-/ADEPRSTdfhlmp.12BCHINObcguy!()034:;FGLMUw|#&56789VWY_kvxzQX\JK{}%[]ZJE. Q>EqA>2D9$AK\PO d͓EqA9@h'rK%SX*&AUH&wX*&wQI5B\i 'ˆt]C9 ]^yw ϓyv} t-Ʊ'&:|g) <*?oW6㫸[:V9|ӻnZS _} gXL<>'ĖGbkB["*HL:&d׉` ~8007ÀMtyP1R@}E ]2k ~800;ÀMtyP1R@i}BkMxw ]@1|\&ɗv&B@0l<@ҡn^,_XL+6c: oY@A-F2@AZs,jdzk6ڹ<[h]MW ')<@>m\n׉[16o:m~ s( >P+yw$ucٱk]1c1c1c1c1c<#ɢ(M^΃J2 ReAd!9Թޮږ Dly4EARO҂<")*kEDULF&pˀ2 5p9U5aKTguguHQTT/eट$Bn`q_;f}wKQk M|[6dz>|W˪Psms2Վsz1YuJ%bM@|K %*cξw3S?&]ӸT,]nz8-oy|y RKTM@|K %&5Wq57wٟpa23Ϧ<\}3>6>ms2׼Տf|kWs@ͮp~-m3@~W:_okJPRPIy@|E.gsKVmIyA$Ls>m٣mWC7ͳFzU = Mcҹnw/|ygugٟnobyɗwbLg$Ϧ}0>ǟ~(Zg\P#9,z8{1W|w fy ww0ab@L)b(XX Zu1~m\mskzWo>3أ\RǶZ:CN ;u*¢k|I)A)(, Hs ˪P$\3k<՛}-Z˪Po<6lYuJगk}Ϧ<{ZjnX*&3jxk~&'w_k}ٗG6<|;5T(Iw+16߳k3skz2򊤚~fI.3sk{3(*{6݅T[{ͮqQ*3skk;άvlv9S>l1L՛|ٞ)smf~Zz8go>wߍIAe(LJI& ˪PNPYDI Yr~(@MO\:{ϥso>gٟ?s~(яU5Mb(W A@L"q# 4H[zoy@Jâ xTxO#q0%Jw^~8wW64 dcxw]/V9>mvm:xOͮqlhz*g;fF<'ѶZ{ cK'|kyk6acMhSX*&pN8 pRP 8 Rt@ 7H4 w @qP o 뵾 _wῇ~Jâ nxxxx%Jw_7;7;4 Rt@]Ae'( RPYuJrUfry]RĤ)(#ȪMnᣃ5dRUb(X*&AUH&I@<tQj/{;Re#./"b151lcLeULF&pѡˆȞ3ԙ}ˋ#ȪMn჆5d ]2k%Ugs 2*#[48cYpE%II0誹%V4!8 >]GDQ8>d鲂@yDWA NA k, c$) jf>H>X>';m) ./usr/share/man/info/en_US/xlf/html/lr313.htmp/$ RRSPACING(X) XL Fortran for AIX V8.1.1

Language Reference

RRSPACING(X)

Returns the reciprocal of the relative spacing of the model numbers near the argument value.

Argument Type and Attributes

X
must be of type real.

Class

Elemental function

Result Type and Attributes

Same as X.

Result Value

The result is:

ABS(FRACTION(X)) * FLOAT(RADIX(X))DIGITS(X)

+-------------------------------IBM Extension--------------------------------+

Examples

RRSPACING (-3.0) = 0.75 * 224. See Real Data Model.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] w k)d$sjf>H>X>';ns./usr/share/man/info/en_US/xlf/html/lr314.htmp/$ RSHIFT(I, SHIFT) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

RSHIFT(I, SHIFT)

Performs a logical shift to the right.

Argument Type and Attributes

I
must be of type integer.

SHIFT
must be of type integer. It must be non-negative and less than or equal to BIT_SIZE(I).

Class

Elemental function

Result Type and Attributes

Same as I.

Result Value

  • The result has the value obtained by shifting the bits of I by SHIFT positions to the right.
  • Vacated bits are filled with the sign bit.
  • The bits are numbered 0 to BIT_SIZE(I)-1, from right to left.

Examples

RSHIFT (3, 1) has the result 1.

RSHIFT (3, 2) has the result 0.


Specific Name Argument Type Result Type Pass As Arg?
RSHIFT any integer same as argument yes

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ="TOP kFe$ jf>H>X>';o ./usr/share/man/info/en_US/xlf/html/lr315.htmp/$ SCALE(X,I) XL Fortran for AIX V8.1.1

Language Reference

SCALE(X,I)

Returns the scaled value: X * 2.0I

Argument Type and Attributes

X
must be of type real.

I
must be of type integer.

Class

Elemental function

Result Type and Attributes

Same as X.

+-------------------------------IBM Extension--------------------------------+

Result Value

The result is determined from the following:

X * 2.0I

SCALE (X, I) = X * (2.0I)

+----------------------------End of IBM Extension----------------------------+

+-------------------------------IBM Extension--------------------------------+

Examples

SCALE (4.0, 3) = 4.0 * (23) = 32.0. See Real Data Model.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ze: k(!f$J jf>H>X>';pJ ./usr/share/man/info/en_US/xlf/html/lr316.htmp/$ SCAN(STRING, SET, BACK) XL Fortran for AIX V8.1.1

Language Reference

SCAN(STRING, SET, BACK)

Scan a string for any one of the characters in a set of characters.

Argument Type and Attributes

STRING
must be of type character.

SET
must be of type character with the same kind type parameter as STRING.

BACK (optional)
must be of type logical.

Class

Elemental function

Result Type and Attributes

Default integer.

Result Value

  • Case (i): If BACK is absent or is present with the value .FALSE. and if STRING contains at least one character that is in SET, the value of the result is the position of the leftmost character of STRING that is in SET.
  • Case (ii): If BACK is present with the value .TRUE. and if STRING contains at least one character that is in SET, the value of the result is the position of the rightmost character of STRING that is in SET.
  • Case (iii): The value of the result is zero if no character of STRING is in SET or if the length of STRING or SET is zero.

Examples

  • Case (i): SCAN ('FORTRAN', 'TR') has the value 3.
  • Case (ii): SCAN ('FORTRAN', 'TR', BACK = .TRUE.) has the value 5.
  • Case (iii): SCAN ('FORTRAN', 'BCD') has the value 0.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 5%">H>X>';q ./usr/share/man/info/en_US/xlf/html/lr317.htmp/$ SELECTED_INT_KIND(R) XL Fortran for AIX V8.1.1

Language Reference

SELECTED_INT_KIND(R)

Returns a value of the kind type parameter of an integer data type that represents all integer values n with -10R < n < 10R.

Argument Type and Attributes

R
must be a scalar of type integer.

Class

Transformational function

Result Type and Attributes

Default integer scalar.

Result Value

  • The result has a value equal to the value of the kind type parameter of an integer data type that represents all values n in the range values n with -10R < n < 10R, or if no such kind type parameter is available, the result is -1.
  • If more than one kind type parameter meets the criteria, the value returned is the one with the smallest decimal exponent range.

+-------------------------------IBM Extension--------------------------------+

Examples

SELECTED_INT_KIND (9) has the value 4, signifying that an INTEGER with kind type 4 can represent all values from 10-9 to 109.

+----------------------------End of IBM Extension----------------------------+

Related Information

Kind type parameters supported by XL Fortran are defined in Type Parameters and Specifiers.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 5%"> k`h$ jf>H>X>';r ./usr/share/man/info/en_US/xlf/html/lr318.htmp/$ SELECTED_REAL_KIND(P, R) XL Fortran for AIX V8.1.1

Language Reference

SELECTED_REAL_KIND(P, R)

Returns a value of the kind type parameter of a real data type with decimal precision of at least P digits and a decimal exponent range of at least R.

Argument Type and Attributes

P (optional)
must be scalar and of type integer.

R (optional)
must be scalar and of type integer.

Class

Transformational function

Result Type and Attributes

Default integer scalar.

Result Value

  • The result has a value equal to a value of the kind type parameter of a real data type with decimal precision, as returned by the function PRECISION, of at least P digits and a decimal exponent range, as returned by the function RANGE, of at least R, or if no such kind type parameter is available,
    • If the precision is not available, the result is -1.
    • If the exponent range is not available, the result is -2.
    • If neither is available, the result is -3.
  • If more than one kind type parameter value meets the criteria, the value returned is the one with the smallest decimal precision, unless there are several such values, in which case the smallest of these kind values is returned.

+-------------------------------IBM Extension--------------------------------+

Examples

SELECTED_REAL_KIND (6, 70) has the value 8.

+----------------------------End of IBM Extension----------------------------+

Related Information

Kind type parameters supported by XL Fortran are defined in Type Parameters and Specifiers.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] e  ki$ jf>H>X>';s ./usr/share/man/info/en_US/xlf/html/lr319.htmp/$ SET_EXPONENT(X,I) XL Fortran for AIX V8.1.1

Language Reference

SET_EXPONENT(X,I)

Returns the number whose fractional part is the fractional part of the model representation of X, and whose exponent part is I.

Argument Type and Attributes

X
must be of type real.

I
must be of type integer.

Class

Elemental function

Result Type and Attributes

Same as X.

+-------------------------------IBM Extension--------------------------------+

Result Value

  • If X = 0 the result is zero.
  • Otherwise, the result is:
    FRACTION(X) * 2.0I
    

+----------------------------End of IBM Extension----------------------------+

Examples

+-------------------------------IBM Extension--------------------------------+

SET_EXPONENT (10.5, 1) = 0.65625 * 2.01 = 1.3125

See Real Data Model.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] alue lj$Djf>H>X>';t-./usr/share/man/info/en_US/xlf/html/lr32.htmp/$   aent-<>ciors /ATdfhlmpu",0=DEHILNRbgy'.1345BCGMOPSUx#+269:;FXvw!&()78VW_qYZ\kz|Qj{}K[]h@LA(G@H(LCa"8 C@H 8%F8֒@HHkP&B.@֥|6JqfӐ&B.5#3F[$gǏӱRs]MFk{(?m\1ƴc8U+|B9SĸdWckD*x"2Fq2*ekR1foN|2s|r{YiNf7T䢢(jcy(|r{Y䢢(j}fo`s}-c{R91TR O9=FlR~ncz֥}f"7 ~YIch@Q@X<`so5Zq2*brzS ŀH `X"( 0(xFʠDv8Z\8pg H041ƴHH ( ,L 2VFq2*@o . 87$ Z$E$a&bBW1@LJ<`h8Z\8pw H041ƴUP+Xbs14}ͱ}NOwoBhH1?}KݹOԯӈsN QƴQ'}*"ӅP,&TE,ƜY(_t^ZP'Y;Gtkk! a Q{ڐVhM4a\_SQ)zؽ#o|r{Yҷ粆3u;Jߊ^bF҆Z=iXB^jjS"A) )=THaC$EhʈPlj@f*a2.iǻ]}S-g&2;6{(aSmBh";mV6~}i\4oԯ֕mZ(["A,Hp-8aKr{YiǻxbQxN!)іʳ6䴯g;5fG4k*x ,HpcD^YK\6+JqfӏsN$Z(XHH`hp(Ag" 4 x, Aƀ0`P=,h H.B'Ҍ ם~! a Q{5 "Z( sOO"Kg7֕g9xl}tkkĸ֕gWS`yxlN_|r{YZ3چuc+g_˴mKkkĸ+/bXY*a2.&U"$K XL5\Xi{sG3나 C|_|r{Y }NF!5 9.p[NA}ghʈT,8UeD]ѭo^͕+!lqF^dl#9ӈGwo3nKJyCAіʰ(֊9\SĈHbC "\RoSG'6{q B\&8, M8,  Ӆ qsI90ć3,DR3#͛N=8khb.8,pX 8,pXZpb.5i 4T"# XÃb HRz@LJ QQK5>!lqiăkOO"᜔TR O9=ٍ9hʈnFZpʈ*.^+l#Zhriz䢢(jf9=2~K_> ';^)wRf>~,B .N#J\cӊNW粆5Z3s]Mϲ_[SzꮦTG іOғZQAGqlR~na\Fwq[ (*a2.(yQ*a2.XL}J7%a.gvkb"3+Z9'8:2Vtcs5~je}yW5kJq4VyuxFUeD\5ee'6*a2.AK^J/ ”sغҹNR:K,䢢(jf9=مӊsJqLj\o}guo36P7Ls 5&&-;f+~ZԹϾ9==J1ҝ|6+\c!S}NksѴu76\Zi Ny߯V.sOk7aR7}(7Fԭr#>+\c!S}NksҷѭVSNʱM.^:*gW֥}foϩuoѺekKiRomuKx~+\^JG)OUY(j}f+ϩ};;3S9NOۗF+XQ8747is1_;֥}fgo+aZ[ߩٯOk7溷?]ԩr+XQ8747is1_;֥}fغҹ@z6lR8o7km[;Ok7溷?+__SB~8n}KKXb>pFi Ny߯V.sOk7=w6uV \yoPy+Xߩ|r{Y5չN[_LaF҄y~+Z9'~!8B^3hʈӅP,&TEkm[*a2.@ 4T wڷ7_L}z*G<ռѾ2?ٯOk7)E/_)[G9= *a2.}KuhUEVYЮM/ R8b7wV/_[su;(֜PP镭KZs(+h'0Ttkk镯Aa N z51SoNxcS6O]R/s;sZh~Lj\hQ874b5&&-;_Lj\omS%߾)}2Rˀ.[Myם~!8B^3hʈӅP,&TE{EP,&TE¨1*a2.j6*U |UZ9yJ skm[i Ny߯V.sOk7-K|UYKOk4o's][[_L~)}Nu;Z)}NXOk4+K֩lJZԹϾ9=ٍ'?Sٺ])ѭVԼ1P|/7|i\7֥f9=مӊsJp3_Lj\oOOR07wRFc# yU缽 C'kk镬+WUS&Ԍ.W(^V7f܆o7(-V26ۖVߕ5J ZqBniBnӼb^w镭K?Y)FVFA֋bB ZPNҋ~V?^\ C'+ƚӊsJq)Ԍ.ԯ镭K͘X8747 Iik|3e ֔_h+oN;o+f|J/Wli874b5ҹ^>w^\S+TZ?SW0k|ZQ}(֜PP9םekR>}Oz~JzռѾg588֔&Ey_r}O}s(?6PiE򱦴҄zx;# y+ekR>f7"kN(M(M'r vEw%f8?(^W:ޝOwJVͩN˔֔_h+JZqBnikE+Z9'>B嶏m*]Mͳ M/Fk|3e _} sͳ/R01S+Jx*-u9Es Nk|KM/ܯԯ|ַ(?6P椾?aߩߕr}O';/.PI|~8kN(M(MZwW}2s|r{Y=?W=HhX3b@LHPkJr ZQ}ҹ^>'>˔(dEyXX8747 '#ܽHo% Gu֥}f5&,QƴQڝ2s|r{Y5չNZRo][ iKk[|UZ \VG;EP,&TEV~YIΤa XLN?W ][|p!rG~}JS|3l)Է浾 A6PiE ;G>[kN(M(MZwW}2s|r{Y=?W=HhX(^VnR?s.&<(?_|';<3e ֔_h+;4J/WZW+Uy*/|qC>9~k[jҋa]9=S}ekKwJqaQ]ULռ[浾 AiEҫ)`kE q2,<@7Q`b*GsRTX<ʑ7Q`b*G@nxs"yNxoJŐ&T@RƚӊsN(Z(N9wѴu76\_~G[_Lcz~l'뒊\'N6..Np(|r{YS:VO/ NOۗ][ o^pwV/T s镔Ԍ4T wE;y߮J*)roؚ^9>gmz~JzռЮ+w$X8x$“@$8p$1ŮqQ}s.)(^WZW+qF]X1(ZG={EԄӆ֔_h+Jؚ^˔/5J 5&&-;f+~ZԹϾ9=SҞauo4oDhN &$(x5 (^W򕾝Ows.&}b>>Hu oeYKnfw 걞QQK5>TL+"1IP9"80  qkT_aKJ/W֕6{QV2 J2VEu!4=u+R&bk|i Ny߯V.sOk7=aNѿSMunSKb7aNGgs][ޝJ.m}2wy&>}(B0pa3b@LHPkJq{FѹP[c#ZqBniBn?ԭrZ[SrF| rQQK5>fkN(M(M,e 874b5&&izekR>|'<>iRomr)Edw+ZW;ʹxF3wXbQKb7vkZQV;h+ZW;͢_Bi a2T˪w+YJ}0u"b;H֊XL5Hi¨*" ߑ.gzu*~ܻH֊XLLӅP,&TE#. +Z9'kN(M8XhH5?ab!FB\G4P4=1c1c1c1#ɇr"y8G1c1c1c0ӃӅ sEkEE$X8x:X H 1Eo{?,DH>X>';y ./usr/share/man/info/en_US/xlf/html/lr320.htmp/$ SHAPE(SOURCE) XL Fortran for AIX V8.1.1

Language Reference

SHAPE(SOURCE)

Returns the shape of an array or scalar.

Argument Type and Attributes

SOURCE
is an array or scalar of any data type. It must not be a disassociated pointer, allocatable object that is not allocated, or assumed-size array.

Class

Inquiry function

Result Value

The result is a one-dimensional default integer array whose elements define the shape of SOURCES. The extent of each dimension in SOURCES is returned in the corresponding element in the result array.

Related Information

RESHAPE(SOURCE, SHAPE, PAD, ORDER).

Examples

! A is the array  | 7 6 3 1 |
!                 | 2 4 0 9 |
!                 | 5 7 6 8 |
!
       RES = SHAPE( A )
! The result is | 3  4 | because A is a rank-2 array
! with 3 elements in each column and 4 elements in
! each row.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kl$Djf>H>X>';D./usr/share/man/info/en_US/xlf/html/lr321.htmp/$ SIGN(A, B) XL Fortran for AIX V8.1.1

Language Reference

SIGN(A, B)

Returns the absolute value of A times the sign of B. If A is non-zero, you can use the result to determine whether B is negative or non-negative, as the sign of the result is the same as the sign of B.

Note that if you have declared B as REAL(4) or REAL(8), and B has a negative zero value, the sign of the result depends on whether you have specified the -qxlf90=signedzero compiler option.

Argument Type and Attributes

A
must be of type integer or real.

B
must be of the same type and kind type parameter as A.

Class

Elemental function

Result Type and Attributes

Same as A.

Result Value

The result is sgn*|A|, where:

  • sgn = -1, if either of the following is true:
    • B < 0

      +-------------------------------IBM Extension--------------------------------+

    • B is a REAL(4) or REAL(8) number with a value of negative 0, and you have specified the -qxlf90=signedzero option

      +----------------------------End of IBM Extension----------------------------+

  • sgn = 1, otherwise.

+---------------------------------Fortran 95---------------------------------+

Fortran 95 allows a processor to distinguish between a positive and a negative real zero, whereas Fortran 90 did not. Using the -qxlf90=signedzero option allows you to specify the Fortran 95 behavior (except in the case of REAL(16) numbers), which is consistent with the IEEE standard for binary floating-point arithmetic. -qxlf90=signedzero is the default for the xlf95, xlf95_r, and xlf95_r7 invocation commands.

+-----------------------------End of Fortran 95------------------------------+

Examples

SIGN (-3.0, 2.0) has the value 3.0.


Specific Name Argument Type Result Type Pass As Arg?
SIGN default real default real yes
ISIGN any integer (1) same as argument yes
DSIGN double precision real double precision real yes
QSIGN REAL(16) REAL(16) yes (2)

Notes:

  1. IBM Extension: the ability to specify a nondefault integer argument.

  2. IBM Extension: the ability to pass the name as an argument.

Related Information

See the -qxlf90 Option in the User's Guide.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ---- km$jf>H>X>';}./usr/share/man/info/en_US/xlf/html/lr322.htmp/$ SIGNAL(I, PROC) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

SIGNAL(I, PROC)

The SIGNAL procedure allows a program to specify a procedure to be invoked upon receipt of a specific operating-system signal.

Argument Type and Attributes

I
is an integer that specifies the value of the signal to be acted upon. It is an INTENT(IN) argument. Available signal values are defined in the C include file signal.h; a subset of signal values is defined in the Fortran include file fexcp.h.

PROC
specifies the user-defined procedure to be invoked when the process receives the specified signal (I). It is an INTENT(IN) argument.

Class

Subroutine

Examples

      INCLUDE 'fexcp.h'
      INTEGER   SIGUSR1
      EXTERNAL  USRINT
! Set exception handler to produce the traceback code.
! The SIGTRAP is defined in the include file fexcp.h.
! xl__trce is a procedure in the XL Fortran
! run-time library.  It generates the traceback code.
      CALL SIGNAL(SIGTRAP, XL__TRCE)
      ...
! Use user-defined procedure USRINT to handle the signal
! SIGUSR1.
      CALL SIGNAL(SIGUSR1, USRINT)
      ...

Related Information

See the signal subroutine in the AIX Technical Reference: Base Operating System and Extensions Volume 2 for details about the underlying implementation.

The -qsigtrap Option in the User's Guide allows you to set a handler for SIGTRAP signals through a compiler option.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] > H>X>';~./usr/share/man/info/en_US/xlf/html/lr323.htmp/$ SIN(X) XL Fortran for AIX V8.1.1

Language Reference

SIN(X)

Sine function.

Argument Type and Attributes

X
must be of type real or complex. If X is real, it is regarded as a value in radians. If X is complex, its real and imaginary parts are regarded as values in radians.

Class

Elemental function

Result Type and Attributes

Same as X.

Result Value

It approximates sin(X).

Examples

SIN (1.0) has the value 0.84147098 (approximately).


Specific Name Argument Type Result Type Pass As Arg?
SIN default real default real yes
DSIN double precision real double precision real yes
QSIN REAL(16) REAL(16) yes (1)
CSIN (2a) default complex default complex yes
CDSIN (2b) double complex double complex yes (1)
ZSIN (2b) double complex double complex yes (1)
CQSIN (2b) COMPLEX(16) COMPLEX(16) yes (1)

Notes:

  1. IBM Extension: the ability to pass the name as an argument.

  2. Given that X is a complex number in the form a + bi, where i = (-1)½:
    1. abs(b) must be less than or equal to 88.7228; a is any real value.
    2. abs(b) must be less than or equal to 709.7827; a is any real value.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 25%">H>X>';% ./usr/share/man/info/en_US/xlf/html/lr324.htmp/$    "=-<>AELNTe /DHIOPRSainorst%02:BCFGMcdflmpu.134589VWXYbghyz!(),67;QU_vx#+\w|[]k{}?KIIlR@a $G=)ؑd:6)NyD#bвVU@ "JԜN.(=ZnU9{t"<I T̚X,: L6VV]n[v ꅄ(P !#lݒ>L(U CݦxwBH##@܋F`PUޑMia@$88;{t]sw.:=+v\nQwn sFۢݢ"?{t-ɴl.cmέu rV]s'@c`=f*a ~u rL[{5䂝b,luʻf)ȴ٠"ĄUNm..0W6WXi?Y*V W %T;Uf~ Y*5r`es7ȝ6,~v r)ӭ=]2`ʊۗwXq<'"t N>`bA]ۖE:u#MFpH`);Kk(7psNmIhwBH$xXhFDѵ|`ă.4ws9iۋ.44hg  ȝ%IE_qۃTHw)2V*$N)$7@ !dw e%^=2`^FȬjX._U`},']LʉdgI )vq;d`ZTvu0/qFddء7eacW:dc #Dr%lDA;Y2Cpt Gpp`̌RUXJ..<4h̊pه}\`},']LʉdgI )/8HY20YIWa*OpLѣ2*.Ny6('@c`},NDIpQ"uܲjgFrBjE:I #80fF )*%Ii^4fEd=e%X!Y*$N+g']&tg$&ۄS !dw e%^=2`^FȖu͘wuRUDIpQ"uܲjgFrBjE:gI #80fF )*%Ii^4fDˮlý``},']LʉS:3Um)/8HY20YIWa*OpLѣ2"p`}вTHw)2V*$NMLHMU@ !dw e%^=2`^FȠU@`},']LʉS:3Um)vq;d`ZTvu0/qFdK4lLUi0tYIV0>FCʉ&JDrɩ A$,,ְ']]{ xhљ1~iaguRUDIpQ"uܲjgFrBjE:I #80fF )*%Ii^4fDZRUV0:Cʉ&JDrɩ A$,,ְ']]{ xhљZUzJB0THw)2V*$NMLHMUAB Jk R{e׸džVr$:d# !Dr%lDdΌ[pt Gpp`̌RUXJ..<4h̊ 1=e%X!Y*$N+g']&tg$&ۄS^q;d`ZTvu0/qFdE=e%X!ec"N0!{{{{n~`nˌ4{{{<`z0R'AHc>2[4 L5E/FE^<EY0PࠁWLTn6QqKG2[ *霍nw| tU- * ul1~~E].Knl0(, U (*P5kI[dRd>Q :Iije.)|N@J0=NGN= lN@p$kf>H>X>';& ./usr/share/man/info/en_US/xlf/html/lr325.htmp/$  "=<>AELNTe -/DHIOPRSailnorst%012:BCFGMcdfmpu().345789VWXYbghyz!,6;U_vx#Q\w|kq{}?[]K XIYVPA&K M=+ A "tZF NHY;Rq]: "'8 Cŝlw_~&-.&%~"t\ ˛4%};˲fx۷d/ſ|NE䊽r·.mN6̾+"WqAt YbB ,)[Nee-lR\&-`Ӫ]W,ɆKv3p/Nw\&-`'@. qXRmo*w<44,8VvJT ./m Fƍ  dNY]+YSvng$m:px#NFqH'@. \inrJVӭa/i0q$V]:%OqF|IJu$0x܊ a% btBƮ蛍2[w Y\l +/eHCfnƯlș^)R:'AXFb"t# Qo?15~h 1'AX{,JDL<^)R: m\}m}: e*R+]m?,j>~A첕)W`q`R"6=/eHca[n=7pmwlTtTf `ɦ^)R: t4|VF 4p N dݡ`pNdV{";#%/Yh DKEg"!A!9!(+DZDi?et,)]Lʉ-e MJPvqѲ[d`^T|ѣ2+fL2[Ճ7:.!d %DWr'le+EKYBGpA4l.װ'a=E@4ȟ6f,jAՕc,adJRd>TLwk(W:hR9Fn ʽ{ R{md^FȭwVUQe+IpQ2"\飸IJgM%<,fF *%Iqy{ 3"=t]YV0BFYhDY*&R;g)](t$f due^=62/rFdWNx0x F'AՕc,ad|JRd>TLw,ҜR&3#Օz 8Ƚ/s ih `,)]LʉW:S3Y}JP'8h-c20]YWa*OpÍ{̋܀hљ0݆ *YQ2ܤ8|JYEs9#5$&3#Օz 8ȽAՕc,`,Ne+IpQ2ܲJrFk/IJ 6KpxX̌VUJ0o" 4fEӪ^b <AueX #Y*&R;g)](t$f due^=62/rFdKlMNܳ/2}۰AueX #Y*&R;g)](t$fNqѲ[d`^T|ѣ2%6&nYqh `,)]LʉW:S3Y}JP+8h-c20]YWa*OpÍ{̋܀hљkt]YV0BYhDY*&R;g)](t$f due^=62/rFd@EӪ^b <1:.!dc #DWr'le+eΔ_pA4l.װ'a=E@4h̊ӕ΂ *YQ2ܤ8|JYEs9#5$s&3#Օz 8ȽZr009AueX #Y*&R;g)](t$fVqѲ[d`^T|ѣ2"x `тN'AXjxc)$tNo&ߵwqpmpaAX‰Ł7Ao?ڻwXo6]8`AX‰2%|oݷqV0Ih@ ]%Op*6ppUK G-2{:<( U9]) `RBQ?KLN g#[)x!(]%OqF|IJuF ~I߻o%K4XHP@@4Y:1JȦ{:YqJ*)|NTDJ0A+NN= kpq$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr326.htmp/$ SIZE(ARRAY, DIM) XL Fortran for AIX V8.1.1

Language Reference

SIZE(ARRAY, DIM)

Returns the extent of an array along a specified dimension or the total number of elements in the array.

Argument Type and Attributes

ARRAY
is an array of any data type. It must not be a scalar, disassociated pointer, or allocatable array that is not allocated. It can be an assumed-size array if DIM is present and has a value that is less than the rank of ARRAY.

DIM (optional)
is an integer scalar in the range 1 <= DIM <= rank(ARRAY).

Class

Inquiry function

Result Type and Attributes

Default integer scalar.

Result Value

The result equals the extent of ARRAY along dimension DIM; or, if DIM is not specified, it is the total number of array elements in ARRAY.

Examples

! A is the array  | 1 -4  7 -10 |
!                 | 2  5 -8  11 |
!                 | 3  6  9 -12 |
 
       RES = SIZE( A )
! The result is 12 because there are 12 elements in A.
 
       RES = SIZE( A, DIM = 1)
! The result is 3 because there are 3 rows in A.
 
       RES = SIZE( A, DIM = 2)
! The result is 4 because there are 4 columns in A.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] qJ lX6r$kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr327.htmp/$    -<=>eort/AEINOPRTacilns"BCDFGHLSbdfghmpu!(),.01249:MUYZy#*3678;VW_vwxz+5JQX\jq|]k{}%K['Q.95Jj(l=$W"y!\T$y6o5JN$@\3** @3뤹DfBi̝/KkQػ)JR)JR)JR)JR)JR)pC($@8`B6phF @݃f5p!K^;EPf`U,irI\[l_ |B ,xf>lѓW+V] !7*m5w{QX!BFо*fm[T-q4 !7*Ŋ7G/;K;Gof 4dCvsi.\lN];jvLޅ?!7*C@VMP鏫 sZCq*i*" Tn=DE55/fus\fUܪCDlTWC&Y l'(7kzyli;KɧkX,پ"MuՂ 0@ :pq]אu z-1P,PH6o+]u` ,6Cm@TǨ覼Axb!X(PH($ 7UɮDH! jtn=DE54 [1P,PH6oU#d$6 \]tl9B6Ō!C`fM0#U֮\,[;z \S8?"{Cf™fdb^e nVlrѣ&)[ac+yU#7hBqy#r5n͝ـ25ÙA Ä"yyӉkO|B  z[ZJR)JR)JR)JR)JR)JR (i*S `'7Ę0ᓬ RqDb|UUYt8B!B!B!B ]UB!B!B!B!'OUdgMCMTd5"8( OBo|I(i* TPܚȑ"jMtS\ 2 "8y1*VkRlSu:sbNs,3z:8]e%4,d9}qpfWYDM RoAH>X>';" ./usr/share/man/info/en_US/xlf/html/lr328.htmp/$ SPACING(X) XL Fortran for AIX V8.1.1

Language Reference

SPACING(X)

Returns the absolute spacing of the model numbers near the argument value.

Argument Type and Attributes

X
must be of type real.

Class

Elemental function

Result Type and Attributes

Same as X.

Result Value

If X is not 0, the result is:

2.0EXPONENT(X) - DIGITS(X)

If X is 0, the result is the same as that of TINY(X).

+-------------------------------IBM Extension--------------------------------+

Examples

SPACING (3.0) = 2.02 - 24 = 2.0(-22) See Real Data Model.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] {z#7 k82t$Fkf>H>X>';F./usr/share/man/info/en_US/xlf/html/lr329.htmp/$ SPREAD(SOURCE, DIM, NCOPIES) XL Fortran for AIX V8.1.1

Language Reference

SPREAD(SOURCE, DIM, NCOPIES)

Replicates an array in an additional dimension by making copies of existing elements along that dimension.

Argument Type and Attributes

SOURCE
can be an array or scalar. It can have any data type. The rank of SOURCE has a maximum value of 19.

DIM
is an integer scalar in the range 1 <= DIM <= rank(SOURCE)+1. Unlike most other array intrinsic functions, SPREAD requires the DIM argument.

NCOPIES
is an integer scalar. It becomes the extent of the extra dimension added to the result.

Class

Transformational function

Result Type and Attributes

The result is an array of rank rank(SOURCE)+1 and with the same type and type parameters as source.

Result Value

If SOURCE is a scalar, the result is a one-dimensional array with NCOPIES elements, each with value SOURCE.

If SOURCE is an array, the result is an array of rank rank(SOURCE) + 1. Along dimension DIM, each array element of the result is equal to the corresponding array element in SOURCE.

If NCOPIES is less than or equal to zero, the result is a zero-sized array.

Examples

! A is the array (/ -4.7, 6.1, 0.3 /)
 
       RES = SPREAD( A, DIM = 1, NCOPIES = 3 )
! The result is   | -4.7 6.1 0.3 |
!                 | -4.7 6.1 0.3 |
!                 | -4.7 6.1 0.3 |
! DIM=1 extends each column.  Each element in RES(:,1)
! becomes a copy of A(1), each element in RES(:,2) becomes
! a copy of A(2), and so on.
 
       RES = SPREAD( A, DIM = 2, NCOPIES = 3 )
! The result is   | -4.7 -4.7 -4.7 |
!                 |  6.1  6.1  6.1 |
!                 |  0.3  0.3  0.3 |
! DIM=2 extends each row.  Each element in RES(1,:)
! becomes a copy of A(1), each element in RES(2,:)
! becomes a copy of A(2), and so on.
 
       RES = SPREAD( A, DIM = 2, NCOPIES = 0 )
! The result is (/ /) (a zero-sized array).


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] "C ku$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr33.htmp/$ How Type Is Determined XL Fortran for AIX V8.1.1

Language Reference


How Type Is Determined

Each user-defined function or named entity has a data type. (The type of an entity accessed by host or use association is determined in the host scoping unit or accessed module, respectively.) The type of a name is determined, in the following sequence, in one of three ways:

  1. Explicitly, in one of the following ways:
    • From a specified type declaration statement (see Type Declaration for details).
    • For function results, from a specified type statement or its FUNCTION statement.
  2. Implicitly, from a specified IMPLICIT type statement (see IMPLICIT for details).
  3. Implicitly, by predefined convention. By default (that is, in the absence of an IMPLICIT type statement), if the first letter of the name is I, J, K, L, M, or N, the type is default integer. Otherwise, the type is default real.

In a given scoping unit, if a letter, dollar sign, or underscore has not been specified in an IMPLICIT statement, the implicit type used is the same as the implicit type used by the host scoping unit. A program unit and interface body are treated as if they had a host with an IMPLICIT statement listing the predefined conventions.

The data type of a literal constant is determined by its form.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ! The  kvv$kf>H>X>';./usr/share/man/info/en_US/xlf/html/lr330.htmp/$ SQRT(X) XL Fortran for AIX V8.1.1

Language Reference

SQRT(X)

Square root.

Argument Type and Attributes

X
must be of type real or complex. Unless X is complex, its value must be greater than or equal to zero.

Class

Elemental function

Result Type and Attributes

Same as X.

Result Value

  • It has a value equal to the square root of X.
  • If the result type is complex, its value is the principal value with the real part greater than or equal to zero. If the real part is zero, the imaginary part is greater than or equal to zero.

Examples

SQRT (4.0) has the value 2.0.


Specific Name Argument Type Result Type Pass As Arg?
SQRT default real default real yes
DSQRT double precision real double precision real yes
QSQRT REAL(16) REAL(16) yes (1)
CSQRT (2) default complex default complex yes
CDSQRT (2) double complex double complex yes (1)
ZSQRT (2) COMPLEX(8) COMPLEX(8) yes (1)
CQSQRT (2) COMPLEX(16) COMPLEX(16) yes (1)

Notes:

  1. IBM Extension: the ability to pass the name as an argument.

  2. Given that X is a complex number in the form a + bi, where i = (-1)½, abs(X) + abs(a) must be less than or equal to 1.797693 * 10308.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k@w$R kf>H>X>';R ./usr/share/man/info/en_US/xlf/html/lr331.htmp/$ SRAND(SEED) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

SRAND(SEED)

Provides the seed value used by the random number generator function RAND.

Argument Type and Attributes

SEED
must be scalar. It must be of type REAL(4) when used to provide a seed value for the RAND function, or of type INTEGER(4) when used to provide a seed value for the IRAND service and utility function. It is an INTENT(IN) argument.

Class

Subroutine

Examples

The following is an example of a program using the SRAND subroutine.

CALL SRAND(0.5)
DO I = 1, 5
   R = RAND()
   PRINT *,R
ENDDO
END

The following is sample output generated by the above program:

0.3984375000
0.4048461914
0.1644897461
0.1281738281E-01
0.2313232422E-01

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] t-size l`x$"kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr332.htmp/$   e -<=>ainorst/ADEMRSTcfhlu!",.2BILNPbdgmpy()+01345789:;CGHKOUYw|&FVW_vx#6QX\kqz%{}][E.Y22yDz+#VL <*eeTFN*L@dDd:h*,~`($:h*,(T{=5J]SW1c1c1c1c1cǽt=LD( `m6pa`3W#׵A[|` `p?({{"mWg YA:/t=L9 sKT :M{9Ǿn $yZ/ƙ;zMr;N1ON翌+, bHpA!!(8D0$%RxH#(DfN9AW={5kyJ5ν_Pp!DB{e/.{U3vfvM^31c1c1c1c1cǽtM(Z"K֏BNTΦk}B! QQ0808|zt %(! Q*&?#ڸI",&.Yd, $>J& 2CQ24Ta0dQ4J^Ny ͥjy| cZ~ǥ|{@ 4ٽzNoL3y@VP\J/("NH(.ZPESuwُVӚC3loִ8lso͑tE@ҁ9"Q> c62<\魿jw;:jcdJ Z$J&(jc:( ]FP/("NI՛@ZPES}k,Gc>3=3ͷV-s|je(>fg4(ME1ڝ| ͩ߂{pT|ͦiq^ 2E=e+'@ S z(.XRNy-y ZZkW-W@ ͦ$F:%9}$>Y}mguwُy@pdQwp2;3{3:s|QDHtJ'n*h頨fxuPُjwpYǟjw"ᶳ鎼]31,VMs{lg=D+JB.ZPEcڭ(>9ъi,ᶳnmcl߳m5:kMsf: (Q 3>P >wΐg} Cskv"2yArOr͌B.ZPEc MEŲ^SLg} Csk,fg];g~dz@g0V{ZiS^wkMs^ qe7{" #1AQnoiqƩ|*m78 $D;mcv"2yArOr͌@r("1(<žjbd;mTo~ ͬ| cu֛tQ6S\ qKWQ?g[׵9jM|ݽu֛ҽ4"2蕔 JP' {{{{|u{{{{˨MI:OWxbgQ?:頨ij͢;cf)Y斮=ti{\[3g|YAr’xJꬠaI{-_L|4ˆ~FsM>Yߍ^3sMXf>YŚjT TAQoF=3:;ӛ\魹ՍQyC;ӚJJJI1Ly/6f>NJMmss:sZaCiwZokzWξwΑwI_`D8Yg} LqcWx H , 0Lj:]ҁJNy'fy!Q)AR2U(b@'DC@zcwC8xiH 烸wU~m57>Y|y:wI_`4r" g} Lr\Ư6|#,ǒtT˨Or͌Q)AR2U(b@'DC@1;g%1Cn7ø  wU,ִ8ٮ^6n]WǪ012w3Ϧ8 AE*gAp= p9dJ# v%kG'@bY8 ble pre k(Ly$Jkf>H>X>';J./usr/share/man/info/en_US/xlf/html/lr333.htmp/$ SYSTEM(CMD, RESULT) XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+

SYSTEM(CMD, RESULT)

Passes a command to the operating system for execution. The current process pauses until the command is completed and control is returned from the operating system. An added, optional argument to the subroutine will allow recovery of any return code information from the operating system.

Argument Type and Attributes

CMD
must be scalar and of type character, specifying the command to execute and any command-line arguments. It is an INTENT(IN) argument.

RESULT
must be a scalar variable of type INTEGER(4). If the argument is not an INTEGER(4) variable, the compiler will generate an (S) level error message. It is an optional INTENT(OUT) argument. The format of the information returned in RESULT is the same as the format returned from the WAIT system call.

Class

Subroutine

Examples

      INTEGER        ULIMIT
      CHARACTER(32)  CMD
      ...
! Check the system ulimit.
      CMD = 'ulimit > ./fort.99'
      CALL SYSTEM(CMD)
      READ(99, *) ULIMIT
      IF (ULIMIT .LT. 2097151) THEN
         ...
     INTEGER RC
     RC=99
     CALL SYSTEM("/bin/test 1 -EQ 2",RC)
     IF (IAND(RC,'ff'z) .EQ. 0) then
       RC = IAND( ISHFT(RC,-8), 'ff'z )
     ELSE
       RC = -1
     ENDIF

Related Information

See the system subroutine in the AIX Technical Reference: Base Operating System and Extensions Volume 2 for details about the underlying implementation.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] SPAN S lz$kf>H>X>';> ./usr/share/man/info/en_US/xlf/html/lr334.htmp/$    e-<=>Tnorst /ACDEINORSacdfilu"().9BGHLMPU_ghmp,0134:VXYbkvxy!+25678;FKW#*Q\qw|'z{}%&][%T*'ʖ MDxzyQ.J MQs:$PI4Ѣ&b.5 Eb#eh]t(GEbйD)BiaCL;^KYoo֭v)JR)JR)JR)JR)JR ,! H@54ѰCg; _j^b s=p`X$7&t@B;VxzHTx ox8HH_g<(<4('b#z66+wLPNng.ڡ(x!3:=9Ǿn'kkog;wY{oo_g: LaYF{z}nY3xLa[|δ]}w =l?}fo&t@"3m\ݖrg@F6;:%T '!`.++Dդ (]k"7vuogt\ΉD%J`)e-W;\‚_EehO3O;FY72w,s:%(V Ͷu}jBG 7~ @Xh`$\ΉD%J`)e.&++DդnG 7~ @Xh`$\ΉD%J`)e/E }5i!l3?n@Xh`$\΋&ȩOk3,j´8h51w˶odGy0{\o 6( ;[ɐ 6( ;ڳָoya^Z3[\/D( M9&S!8jgy y0|k׹kC{gN"7: XCV-e_Z)JR)JR)JR)JR)JR :NBcepVLh&tIL50&7mlO$3VgDqCD,K (It@5h\.l1DDȃ"ehX.L#eh\bz:(uP(x`(0x&tJ蕚\wk1{Ͼ2=f]eH |>V;YR3:)+8IĄX,o.ڬ4Bq=*N)%7qٯQZ&,Z{70~LigL5oϑS{}s6 v^l9X齫xɝ?{sysΜnkq_׳Lor5~mX.Q+NZDWںsZ3z vs߮]{}e;;yseh\3WE3z vss;~ŕr|&ﳝ+O}6oaDJ)Rq!4V, ,o.ڬ4Bq=*N)%7qٯQZ&,Z{70~LigL5oϑS{}s6<׿jc_{=]Ƶj︳T#eh]t(6ɝ|Ўnkq_YZ[͸ۺɝ=mz DszӮ yZZ,vژbO Hӭ^=.fvLeΊŕuТ}pBB{OY.՟q5UDJ)Rq!4V, @?jӢy 8fEhj 涹2y# 27տg>EMo\esΘێ;^;}wժ߾?mPŕrpvL4ȣ5Зj8Za=7{5ůz DszӮ yZZ,vژbO Hӭ^=.fs5o}9YR3QZ&E5 Qu#0;yseh\p ??<枳B]?\#?;WtJG87:guժ߾?m^(ʑ|4:آ*Fg3V=qϳ,Qu#5dS\`,lOb|&ﳝ+B$,<R  7=(vDwK.Ha4|X$$$P ( $'&IQs]D.hx@@D>]DFMS+OY/( ;jtO` ']9ĬUtB!B!B!BuoΡ1LpB!B!B!BhBq<%ftJ,Qu#5s*ij(ʑ+67~Ld,HT(Iv&8ETᧄ{]eH'>ՍujkgN*Q9c}'r}\9vi]+hKqg˶Vq$B`C]0lt8\&4\c~r؞$` zaacйgʲcbzOd-녅ɡsWE3ʲcbzOd-넁ɠ j\ȋF8O>(rK  g&2I.&] J= 'ΊT '!d-8\&4\z:'Y! T(Ng>< l{$lkf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr335.htmp/$   "=<>AELNTe -/DHIOPRSainorst%0125:BCFGMYcdfhlmpu.3478VWXbgyz!(),69;QU_vwx#\|[]k{}?K %Hتإ:PEIؒ(dv)N3D'b𲖤iTFZ!qݒwr:]wwwwwwwwwwwwwwwwwwwwzDC(q*Z>0t!6 ܿg p/Q.>4:.c<6Ӎ rR^|q4X`X@B'D ȸpIքL Sqӎ:8DCѮB&_{w6=-v޹~QL{.]B?Ap[ۺٻw^h/hDt?Ap[rNh/}yv,iǎ~}֋?r@KDCb^I-,fΚ"og9\tGAdR{PWIU[n4Yl *.Y nn^˖hEl*\F-d'. "oݷа"m:qDyc,֞qdOI];Yd& tv_|U[n\yw,' <(>'ite(npvr*ӭ :yw,+ <(>'ite(nvg"m:q_q`#ŎDž O+IĎ_qDdO Ex6ˢ-6? xX-ܿildA ~>?8拾d,<pӎ,'}5q6ɠIa@vL?4 <XZN'$ V'`a4㻂"NI_uP? L8$#cπ  F Z0!$My!~nɠIFH,'&y"ŗV|\}\>Ӎ,'O eOB_E.I-7~< -1eթ8wh]ZZ63~:iÎh/-n3wo^k&ߴu2h.I`M5w]ZZ6x`@/27M8pXPd\mhH |𗬊OqD‚ DKE'AAc`|%"Q 9#( ZD)?e|,']LʊmeJgQ-*fp{G ^Ŋ{mhNȰr0oVM"Ҭ`,']LʊmeJgQ-*np{G ^Ŋ{mhNG.|aiV0FOʊ&JeE p3h9D²0aiWb}b+㦟9s J6N0~TPw)2V*(N)D@%d J 8<Нdž Y{>#dlae|,']Lʊ[:sS]*fp{G ^Ŋ{mhNU>#d %E r%lᲢeVΜcp9D²0aiWb}b%aݓGclad:Rd6TPw,ӜnV9ÔJ +#{+Iqy; +"^:i4|aiV0FFKʊ&JeE rʭ9)h9D²0aiWb}b"Wx"Ҭ`񅗉^TPw)2V*(NUlIMv7AÔJ +#{+Iqy; +"S J6J0^TPw)2V*(NUlIMv7AÔJ +#{+Iqy; +"]â;r<Ӎnɣ J6J0^TPw)2V*(NUlIMv7@%d J 8<Нdž .WfidEX%Y/*(N+g ']*t$UVp{G ^Ŋ{mhNȉ] J6J0F^'yQBuܤ[8l:YU9%5"gQ+'4pZUX'aA<0X*ҩEX%Y/*(N+g ']*t$U%d J 8<Нdž ^r` |aiV0FFKʊ&JeE rʭ9)h9D²0aiWb}b+T O,-*(yQBuܤ[8l:YU9%5"(8VF -*,V0oBw,VDJx`EX%#em"OсHF تё> FR*)~ӍdAM>%seod/v["t| ""|^0!.%ÀLdF8scȍ_ tי-N|Egn iïux .%iА8Akp{fDoeKntXЃ/ȫ[NّW\mFQ/k̖G|KT b^/p|x$#τdR{|b̈#eR+"R',Qu l(|$kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr336.htmp/$    "=-<>AELNTe /DHIOPRSainorst%025:BCFGMcdflpu.13478VWXYbghmyz!(),69;QU_vx#+\w|[]k{}?KXEIlV@a$K=)ؙd:6+NyD#bвViU(%jN'@7a/v,ewwwwwwwwwwwwwwwwwwwww:G y⦀V ΄€S-8YYAmۗB݂C:a|  t|N6ĮaNvax=*Jn<i8hЮ$0X$H'@) 7$ѡfwD$fmwXi? A?{&(띻v.kv\˝F5v+{1nQudV]:q,Xu#\˛4e˺Lp6wq,!o|N u \7e,tSD$f?VvpMTI:u n`%a@Ҫ~᫖`+дp0aݕnJw \-\VVvFQ$.ݗ_acWI:uxA\wuxhhKr'@. $luݹ|䓭[nܸo4+ ȝ6,vw1p9$iۄ`Ƃ|7 C dNY]YG H;rL7w3NmOGai>豫;p{q̉S@GAUa& ܿad\Iƌvࣿ:C㆚iH(0.E܇eW2 ;4˯;-6*Qi8ќNL4eDBM 7䐇   e1q@_uݾ4w?|NdV{h53F'AvDͮ'~]Z=#`F #{{{H_0{ee{{{{cVqbt%"Iy("tKEg UC:*̞ƎtT$m:@ |NݗylulLحw/q6wU:6+v]5~%uw zU:B: FZ0#y- EMhtXw\A=#ФNU:#+ZʧR: Ffn+v]\0mΰ'AHk*JE[l˾ƯdnZʧR: Eeos#u)n.̛ZʧR: F—f]4@WvwWd R߈qErM߰&AR0ZʧR=qSFnZʧR: FҪ < h.tRw!B:Y$X`( zȬ@@,0x##/YH DV'B#I +d|JRd:THwk&W:HnN9B3#z 4˯q{ 3"`W=e%X#Y*$R;g)])ɕΒ!dwJk{e׸bfn˾ƮtYIV0>Gʉ&NåDWpves$=$,20YIWaOpLѣ2*f]5szJF0>THw)2v*$RS+$7 '@!dwJk{e׸Qwsɱ0:dcaebt,)]LJS:3UmI'8zHYd`Z4ᆙu0/rFdm*tYIV0>FCʉ&NåDWrɩ $;8zHYd`Z4ᆙu0/rFdK̻ۺN)*yQ"ܤ8tJY539!5V$H>X>'; ./usr/share/man/info/en_US/xlf/html/lr337.htmp/$    "=<>AELNTet -/DHIOPRSainors%012:BCFGMcdflmpu.3458VWXYbghyz!(),679;U_vx#Q\w|?k{}K[]qxAYtR}Pa G I=* A S sҩIJ(:Ph< ޅSge9:R'@PXxs0'~4<()-r"r*Rwj2ӬʹV4H5bdi6k%5bdi6]V*vJ3l)*ǥZ|@ba[jjPճR+{̘l8၁`yIV=*S 6hlTeJXxs0' zU&EJVT'NqqARUJTw,4˖w9)YRp? 40`_ <(9Br5mt @ "!!emS2l4%buC.` ;X೿d gV6"a wm Xi `wmY!;6 =!9@研ADD sAjfspDd6a]>)- d`sՁHtHHX,-"[8 N@2*RA ƉCFA!9 Y2W݆sm-sՃתP"6jh"&g^YJFp9!=k vFݲ↭ܳzsՃתPa^YJV1c6jʹVV^)BpZΛ1QCV4[qwAz 3nü< U8-gM `=겔'*'n6bM{v {B`P0AV^)Bp=&YנVRsՅcDh@7aq;ps ی8Flɖ/c`|}"R[ d`sMH fAF>>)- `s-X}VϪ^3L7'"UNT)4w1ÓFn zƝzN[jȭ \Պ]AucH= /N* 'M VΚ;TɣT=ucND'-sdV E#flE X砺Rꗌ'Mȕsi+U gM*L'8rh-b]XӯQ pm\Y Yf/(j=Ս *Tf:nND63L7)ZS:hRaYÓFn zƝzN[jȭ U]w s]XBAUh>@N* 'MʨtdTɣT=ucND'-sdV V4H砺Qꏌ'MȕsiTW:R2Y}*LvpѪ[^vڹ+a X_f V4Ъ0}Qd9p2tܪJQFK/EIM8,^Au!9nm"0^@l`AucH= N* 'MʨtdTVpѪ[^vڹ+a,AucH= UT|f:nND63L7*ҔQRcs&R/ Ս: u[ / cDz AU>2tܜW8lf:nUEs(%"gM8,^Au!9nm"0^@fL[rYuY=Ս *T|f:nND63L7*ҔQRa9ÓFn zƝzN[jȭ ,ٱ朱V]e`AucH= N* 'MʨtdTVpѪ[^vڹ+a,AucH= UT|f:nND63L7*ҔQRcs&R/ Ս: u[ / V4H砺Qꏌ'MȕsiTW:R2Y}*LvpѪ[^vڹ+afV4Ъ0}Qd9p2tܪJQFK/EIM8,^Au!9nm"0^AiF`Q1AucH= N* 'MʨtdTVpѪ[^vڹ+a,yFV4Ъ0zZB!9@ށ=I+-4@٧Ymva{0v0f݇{ v6f\ 砤sՃZ!Ii٠j%l[5/`JB0?|zKHBAw3Ul۽V#Ǥnp$$0 Nr>V#Ǥnp`;ȩJʕU[jjÀ-"[  $VN<br Zpz!|}"R[5BXAF= "!JN2 kH+~$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr338.htmp/$ TINY(X) XL Fortran for AIX V8.1.1

Language Reference

TINY(X)

Returns the smallest positive number in the model representing numbers of the same type and kind type parameter as the argument.

Argument Type and Attributes

X
must be of type real. It may be scalar or array valued.

Class

Inquiry function

Result Type and Attributes

Scalar with the same type as X.

+-------------------------------IBM Extension--------------------------------+

Result Value

The result is:

2.0(MINEXPONENT(X)-1) for real X

+----------------------------End of IBM Extension----------------------------+

+-------------------------------IBM Extension--------------------------------+

Examples

TINY (X) = float(2)(-126) = 1.17549351e-38. See Real Data Model.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] U lE$kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr339.htmp/$    et<=>ainors "./AENRTcdhlpu(),-01BCDILMOPSbfgmy!234:FGHUvw56789;VWXYZ_kx#JQ\z|}%K[]{jxI"WS.T."@2=$MEÒH丂JpĒQT"{*R/Q2Q=\]d0ŒX9R ޒ(OxHѼ8I[!B!B!B!B!B6'$hD4&H@MP|8 6Dx0,n݋v+A,<6L5 D3 dѱ=#F]l3a ^u &TNn8p_`@hFö Wq@#6'$hޛmL[lXKGK<-97~^s-}Mrd 4lOxHѼDZ2o[/mѱ=#Fˮ76%=mٝnvMyƍ 7OH0X˭#Zm9\l?h؞.U2AP ,#r%]EW شփ:&t杣:.]rTIr5sbeWQUGRkN6 5+_6F@@DQt"Lqn2"YUUx FqC`8h`.]rTIJx&"YUUx i7-‡ p*=T]> ƨA ;eK* KFqC80h`40 OyûI@ oS7À CxS{:7ۻ5{I'6u9$br` ?V6u IIjѢy3mholrMOg# J)ސ$ !7Vh eq pm*sUL3D{5Zl^ͣxHѽJ32Ll!B!B!B!B!B!4lOz}TʩƁoN'@|JJݑaQzB{UH L00  B/I8=Qz}Tʩ ,ɪ`9D8A8)D0Xb]d0ŒX9R ޒqzBQ={lmK{eox.Go6$߶9lSe-$wՆve֪Mv+A,Z"{XN9޹3ʌm3.]]bʇ)^/$^B& ECޑ"KFwveMmVD|Rmj7~Tvfh[)1Oysו: <9ěmkHn(䗋DbzD"/%˳-l֥_YjVl_NTjl< YP,P0ŕ9o}k8w;5W}3^gg N<;穯*uFys݉7+z֑%&Q<߉Is񑞴l3ԭ&7-;غ'"Dy%0LW6u{!Ix(ZGNzmYeoQvbMt7Gv+keܭ 1ɿ+tSyog<}\֒oÇ|mәMDH^"= YPnW0ŕ/*\lr[:MNэh{X[.{:yQe˽# YP]u?NZG3r*X$Oyx5ʖ(K^I[ʌy3Yu󿗻nVD3\bkHn>Tg&SFoџZliRmgʌS^ҠC֘3Z{m`6}j[~Go6$g{rJmUO0XEb*"{ę`9O;-hϭg]V)63kTz<ϼl<0ry,|V˺Tw,|Oyxw;y&e-ikYuֳG3a3흣d{eo|rMNS3қsm<}k=XY^$1;|w;y&e-i~jT7;+{y3S˺]d0Wֆ˺һщn2yuM^apiE F`6L|dCΛ_*yZ;h=nt~g|JMwцCxîjQa]uTr  p g0L ((ŞMX")^/0ŕq0ŕ/L0 LS8ntDH>X>';9./usr/share/man/info/en_US/xlf/html/lr34.htmp/$   aent-<>cdiors GINORSTbfhlmu/=AELgpv",.BPwxyCDFHMVW'+0159:Ujkz!()234XY_#678;Q\qK|Z{}][` < 8`0OX < @(W Pi  4Qh!sY(R -0|.82.m2|$H"D$H"D$H"D$H"D$H"D'm!k4 ڃ" (P 7K8> s@PP ~P+m!kBpupp (X<,8 @OP( @'ki _1( KyA` FU( ki _~Pro 6 N|2QryA`ֶ 8LGܱKtSPvϯ0|98:wnN3VWsAoZC*8W 9+z6TԹA` 0,\@bB,4pGY&x$ K$ < @4( !0,\yq@!Ў 0Ŗx\3.$p(h 0hpa,XXpJ&xuhO@(t@/@@P4x /x94@3Hl0 UD 5vN7C 7$ppqN1sW=Nߑ5ah2Rb!<  ,P) 0Cc!!&4eYь_(P0B1kIUe\td$H"D$H"D$H"D$H"D$H"D$H=ki  $ "C(m54 mru@0 i CX+(,H@0h0 @ahX@Y<@H4h!sY(R SX CrE(H @k i h> A;h>}2.>ц[}c6}2֫>`VPt6TrWG'ҩ5o A;=Trԯ>ݳS;ܣ.e~jv(S] G'YпsA8M+B68)~jv?zwMT"nQ^oR +8cH`š+FoGiU۶~}2Ja$]9/vT"nޕOIRw*͂~зEK e]\'0 r>Vˆ`5 iHvOa[ӺU۶~!\} qY0}|e@oufGxD|~+|wjQ 0@101)~~ &} #++n0J߆CaI>V8L,)< %{[j^l~ru*G<ԼلȆyKN@$B80`! Ij 0Ŗx h> g V2 kKH`cOJ1M8yM>Vw돩BNǡnh-o! b@4Xu]sY(dS◛絶W/VzT JȩqKRy (O8HXcaD $ a(|.&vyKAf(`8L,7=/7]‰( 0BRS◛絶P4q!0 B( V2R `-Rh-W _ԫ{kԬdѹJ>Ň[G A;EKa aM`š,:ܮ9⏬8L,8-< %{[j^ou+;ԯBN3VDԼ߱[0 kmKIaD0@š4Wru:QuY_u+;ԯl%}ꨠ UKﭢ"n߱[0?RTP?Ԇ;ҡC< %xǀv8L,JWJ:8`Ni?R>Fo 6>V[?^{[j^oN¹ h+Fx\tzVw?^jvU!yRwC0ZQg, `x`4nǡnh-J)\G @o?RJ:8`Ni?R>Fo ! )í#( 9]R{P`YqY-(Ïx8L,1# u+;ԯucn\}Jw= tTFo ! )í#(8L,,P)< %{[j^otsj 0Zq@i&:argsA[3lmˏBNǡnh-L k ZֵkZֵkZֵkZֵex#ZֵkZֵkZֵkZֵ`C  aM`š,:ܮ9⏮Ï4i 0[.Ï4h<ҏi=/78 @.2VwG60ZP(KyK|[.]ԬR1# m> A;*_}  kav}vyKA=< %{[j^op3-gtsj yKAF,KyK|[.]ԬR1# N#`OBNǡnCe(SX0+x?V}iE0Aǚad]iy-< %{[j^ip\emC!}vyKKX 0[:argsA[Ȇmq(R -Re+Ƌ+x=L?V}iE0Aǚad]iy-< %{[j^imC!}vyKKX 0[:arwJ[-6@)z}2J3lmˏBN'h-Q,:ܮ9ԯZ䡃{< %Ei=/4)`a ZֵkZֵkZֵkZ/(,ŇmZֵkZֵkZֵkZְ!kC )SE[GOBܕJ"' CgзEKaCJTA{P7n>Fo ~8r2B ?R:R*_} uߩV(R Nqt+m6(R ߆zÏ4h( 0[絶-RFo^}JaǚadQIlqY-R|':ܮ¸=+Y6C< %ూa%QAǚadn>Fo ca8y\Q!Us?㯡nh-D01GF/7Ru/vѥS r OR}J4{.wJ 88FOzqRa?#iT*NÂHU=JNۗ>?x7R Uu~.rs Lu籕 C~[>"z1r]; 6F[>Oaތr ۔39~(a<<'?ʰ".rs rcF=mr^zήLu籕 oB.}24Nqt+m\tc*}\ϡnCe(SX0ҼhҩtT{͆-Rh->Ol)4Nqt+m>ѥS+as[0xQ 0aMyЎT~(iT*NýC}2~j(:9Э4{tU=y\ Ce'WhҩtT{͆-Rh-D0@š4?}|UK`dY_SDUuv+[0򹪞Ta8v̄-R7ц[~~{%]sa aM`š,:ܮ9⏬8L,0HŰAǚad]iPC x8L,myRqY-8G`4ot˺WԡH'~cFԬyKN6sR|ԼߩVV:0͹pj^ԆJ}2J+ ۗ-R}  kҰ|][>EeRmC'ptar ##qum WblnОVw?I8:0͹w4zd6yUEA͟?RvB/ц[ˆ`5 iX>.s\tzVG68:0͹|RiմvC< %xǀv8L,5U/7i3n]* 'FDAPtrgԯ>ݿcзEKa aM`š)4GVư0m`[@kZֵkZֵkZֵkX<l8kZֵkZֵkZֵkZ0@[X 0m`cX- hkZֵkZֵkZֵkZ ay8GkZֵkZֵkZֵkZ k- 50@š4}vyKO,P(0ҁiߑцmrN.> A;iwR]iI0 0[ܝ+;} fWфRi~V6tXoԥt}ԯBN&Ce(SX0Ï4iEP8Q 0[tV;pxgqY- -< %ҳ 0{͐l~}J{T4?+INKJWO(J)}2C )SAqaǚada ((lqY-PJԯuឈaǚad`` (8L,'J}ӒaR[s*{ṙ0l#>N.s?B=V~(J|}Jw0JhVԯSۗԥt}⏮> A;} T4?+Or_,7Rx>GWԡH'|6 9ǡd>ц[ˆ`5 h.28L, 4XPa-< %QHA8ԫ}J3 8L,L iYOr_,7RznROn_RyF p'iհzV9絪_R >s訤s\L+ь'_R/J<8?]QHA8 }Jw>Foy\uJN򱰎%~+"ԯ*)'}Jw`~zh-D0@š4> A;t=vyKAeqᆔx8L,'JQC< %0`qY- 8L, 4PpQqY- 8L,`4hOaǚad0Q 0O(`4hOaǚad0Q 34G-< %=iӅO(`4hOaǚad$`8L,V NKJWOTrpumWԩRx2h!zV9絪_R sҹZ1#+!Jܾ+}q(R ߄e=?}q*M;LXG}ӒaRyDp?R> A;M?I= !2C )SAqr\}Jv.> A;*)'>cF C< %`a-< %ҳ^zGn_Rav~}}'0J< %Y#Aǚad9=X_? SChԬG'U4:?~|}JwзEKaS404Cґ(R J+8L,Qg5< %e tGBԬ(R ߆xW/Jϩ_ۥ:T>~tцmB=VdT}ԯBNpl0oJ+Ju]J"v yKN(F `4otr{%]D0@š4~|}JwJԯ0ZaE,8L,ݔWl'W GWԡH'~\+>nPҗh!zԬDp?R> A;Zqc+*av+98D3WqY-8-< %v kư0m`[@kZֵkZֵkZֵkG öp-kZֵkZֵkZֵkXm`E!0cH`cX -`Xh!Qq`` 4X,HBr@@RZL,e@$ h> g } 8ҾSN!llOP[q2`x $ i SA^zP}qyOBԡH's"(nWц[jWR+)n2h-R+)7?ޅ*_Wh-5+ϩ_tT> A;[Ͼц[¸=+\}JwhҩtTxL-&.mRԮ\}JwhҩtT0l#EG{YԯR}B/a aM`š,:ܮ9⏬8L,8-< %{[j^ou+;ԯBN3VDԼ߱[q2~6܂: A;ԫ}Jȩ.mR(R ߤ*_Wh-D0@š4~~j9⏮sAԬzT~}q猽> A;]HT^*)'cзEKaX}+Fx_E\v9pO=gҹ A}JM[GVB* }{nJC/Wjߊ?Raås#?RRDeԡH'} tTq2R+ aM`šzW:ܮ9⏮Ï4i-< %{[j^o< %0AǚadkmK 63ךFʔgs|}Jw?VO|6~n`ޮCBH[WӋ?+)^oOk~(l\c/^Ve8!G~ǡn0xOX_RSN!o! bi0aMTH'sԾ}iӅAǚad]iӏy@8L,ݔWl(SX0PgA:C*) ! )cqʳHOR =|-QHA8oî? #R5P()pO=oN{\\J}J!HjW/]|eᏄhܯc+U҈R\ 'h$HAA`,l0(aPĄ öpp C@X Uq2s> A;OWVWTRzqu'tC 4$ m‰( ja[ӺW/7Dt0oW!R"P! |%nxc+vZ7+_J@t6TW!I PX5  $XG0!x#.&3-g|n#\} \BNa@yƂD xQ%8(,Ňmi 0aMFO  U Bx)~)oG: ԫ}JȆCaIh-RP]皨N%[L?ц[dD2a@yƂD B( e :ܮ8DQ9]RB}&?R> A;t+N *GW絶-RFo ! )=gJ2>Ozтw|6{Ǯ(Va".rz nWaGx`tDUڗ+RHtsj?Xo[< % 0[ӄa>O_l8L,`4iPgԯkmK[q2C )SE[G A;t+"9]{ԯkmK*_Wh-D0@š4Xu]sYqY-(4[yK|ԼޥR_aǚad@bX 0ZC< %iПXÏ4ibY`4oR z}\}  kzWS籕 Czse'iVSD2l}\} rzW*ʆW! tTq24Nqt+mR=mr>*_Wh-\N?_Wh!xOוTF Eg.m\=mr|FyC_ӻ \4 G*ҷBpy]'ц[¹ h=+YɎA[2oB.}\} M?S] y [-{P6} tT>ц[ˆ`5 h+Fx\tzVw>:(UEHj^o-RWh-J)\G T_j UK} j^IR=/7HZ|}& kzWiմw6>Ӌm>зEKWh-\\U?av"8L,0HŰAǚadkmK^GW86vc.}J 'FΕOt.uJ+@o-RFo ! )í#(Ï4iE8Q 0[絶RM? a 1# PB/a}gJ2>Of9;z1Ԭ(R ߆}J< %qi1# O><(SX0ҼJ.+!oy 0g< M! hR}ꨠ UKoG}Nqt+m6V"5U/7}\}  k_# ۗz(CURxl5.Ï4iE,1q< %2*s[oV!y}\} uތe8:0͹wV?V}4zD2 Nl#D0@š4WfܻQ@RavyKJ,eqY-ّS] j UKP8yjDq2C )SEyP⏮TP?ԆOa~}єc "jv+V!ye(SX0Ul#W5S> A;Wh-=\N? >ru+ +!iӏy@8L,ݔWo?e=qұul#D0@š i 0aMy+9ЭskU>6зEKWh-2!Nqt+m?R:0͹t-R0xSEmkZֵkZֵkZֵkZ U ֵkZֵkZֵkZֵkZ0@[X 0m`Y! )>~í#(8L,4PqY-R|eWo U U>9;xOԯ(aR (-RBFo `cXh-BֵkZֵkZֵkZֵ^? U ֵkZֵkZֵkZֵk -h1 k ZֵkZֵkZֵkZֵex#ZֵkZֵkZֵkZֵ`C  aM`šJR Ou\}iJ <[yK|dC< %xa-< %ҳ}vyKC(`c 0ZqY- h 0ZC< % 0ZqY- h QiОÏ4h`E ,gh 4[yKBHaǚad`0 0[.Ï4iHlqY- Ϻ#Q#R> A;Wh-5+ϩ_ԥt a)tC )SA^zP A[3aǚadQi@G`4ortD00Z(C iОÏ4h`E ,giОÏ4h(8L,yKC(`c8X$,8L,yKC(`c8<@p0Q 0ZqY-8X$,8L,ȆyKN(F `4o|%ntXoԥtG'V}Jܾ+!2.l#{ZQ(R W=+XO?RRx>GR Oa T42%ca NKJWO(J)4'8,q2C )SA^zP A[3WqY-,X=< %ҳ}a 8L,X(X`B=< %`>~|}Jw>>ц[oԯca >*GN.s?B=V~(JR +ь'_R/J<8?\}Jw20{͐Tvp'9/)]<tG+ }Jw`~z0xQ 0aM)]i 4pŰAǚad*)'2qY-<h@J <[yKHR RÏ4h \hX@HRZCC%cg(m@ EĄ' %4Cm7W,$!9 )-P&xiw6f+   4BX 8Fұ@[y  $ .:LDPk i `(5F4q2C k $5 kf>H>X>';5 ./usr/share/man/info/en_US/xlf/html/lr340.htmp/$ TRANSPOSE(MATRIX) XL Fortran for AIX V8.1.1

Language Reference

TRANSPOSE(MATRIX)

Transposes a two-dimensional array, turning each column into a row and each row into a column.

Argument Type and Attributes

MATRIX
is an array of any data type, with a rank of two.

Class

Transformational function

Result Value

The result is a two-dimensional array of the same data type as MATRIX.

The shape of the result is (n,m) where the shape of MATRIX is (m,n). For example, if the shape of MATRIX is (2,3), the shape of the result is (3,2).

Each element (i,j) in the result has the value MATRIX (j,i) for i in the range 1-n and j in the range 1-m.

Examples

! A is the array  | 0 -5  8 -7 |
!                 | 2  4 -1  1 |
!                 | 7  5  6 -6 |
! Transpose the columns and rows of A.
       RES = TRANSPOSE( A )
! The result is   |  0  2  7 |
!                 | -5  4  5 |
!                 |  8 -1  6 |
!                 | -7  1 -6 |


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] W! kb$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr341.htmp/$ TRIM(STRING) XL Fortran for AIX V8.1.1

Language Reference

TRIM(STRING)

Returns the argument with trailing blank characters removed.

Argument Type and Attributes

STRING
must be of type character and must be a scalar.

Class

Transformational function

Result Type and Attributes

Character with the same kind type parameter value as STRING and with a length that is the length of STRING less the number of trailing blanks in STRING.

Result Value

  • The value of the result is the same as STRING, except trailing blanks are removed.
  • If STRING contains no nonblank characters, the result has zero length.

Examples

TRIM (' A B  ') has the value ' A B'.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] -6&nb kh$kf>H>X>';./usr/share/man/info/en_US/xlf/html/lr342.htmp/$ UBOUND(ARRAY, DIM) XL Fortran for AIX V8.1.1

Language Reference

UBOUND(ARRAY, DIM)

Returns the upper bounds of each dimension in an array, or the upper bound of a specified dimension.

Argument Type and Attributes

ARRAY
is the array whose upper bounds you want to determine. Its bounds must be defined: that is, it must not be a disassociated pointer or an allocatable array that is not allocated, and if its size is assumed, you can only examine one dimension.

DIM (optional)
is an integer scalar in the range 1 <= DIM <=  rank(ARRAY). The corresponding actual argument must not be an optional dummy argument.

Class

Inquiry function

Result Type and Attributes

Default integer.

If DIM is present, the result is a scalar. If it is not present, the result is a one-dimensional array with one element for each dimension in ARRAY.

Result Value

Each element in the result corresponds to a dimension of ARRAY. If ARRAY is a whole array or array structure component, these values are equal to the upper bounds. If ARRAY is an array section or expression that is not a whole array or array structure component, the values represent the number of elements in each dimension, which may be different than the declared upper bounds of the original array. If a dimension is zero-sized, the corresponding element in the result is zero, regardless of the value of the upper bound.

Examples

! This array illustrates the way UBOUND works with
! different ranges for dimensions.
        REAL A(1:10, -4:5, 4:-5)
 
        RES=UBOUND( A )
! The result is (/ 10, 5, 0 /).
 
        RES=UBOUND( A(:,:,:) )
! The result is (/ 10, 10, 0 /) because the argument
! is an array section.
 
        RES=UBOUND( A(4:10,-4:1,:) )
! The result is (/ 7, 6, 0 /), because for an array section,
! it is the number of elements that is significant.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k"$kf>H>X>';./usr/share/man/info/en_US/xlf/html/lr343.htmp/$ UNPACK(VECTOR, MASK, FIELD) XL Fortran for AIX V8.1.1

Language Reference

UNPACK(VECTOR, MASK, FIELD)

Takes some or all elements from a one-dimensional array and rearranges them into another, possibly larger, array.

Argument Type and Attributes

VECTOR
is a one-dimensional array of any data type. There must be at least as many elements in VECTOR as there are .TRUE. values in MASK.

MASK
is a logical array that determines where the elements of VECTOR are placed when they are unpacked.

FIELD
must have the same shape as the mask argument, and the same data type as VECTOR. Its elements are inserted into the result array wherever the corresponding MASK element has the value .FALSE..

Class

Transformational function

Result Value

The result is an array with the same shape as MASK and the same data type as VECTOR.

The elements of the result are filled in array-element order: if the corresponding element in MASK is .TRUE., the result element is filled by the next element of VECTOR; otherwise, it is filled by the corresponding element of FIELD.

Examples

! VECTOR is the array (/ 5, 6, 7, 8 /),
! MASK is | F T T |, FIELD is | -1 -4 -7 |
!         | T F F |           | -2 -5 -8 |
!         | F F T |           | -3 -6 -9 |
 
! Turn the one-dimensional vector into a two-dimensional
! array.  The elements of VECTOR are placed into the .TRUE.
! positions in MASK, and the remaining elements are
! made up of negative values from FIELD.
       RES = UNPACK( VECTOR, MASK, FIELD )
! The result is | -1  6  7 |
!               |  5 -5 -8 |
!               | -3 -6  8 |
 
! Do the same transformation, but using all zeros for the
! replacement values of FIELD.
        RES = UNPACK( VECTOR, MASK, FIELD = 0 )
! The result is | 0 6 7 |
!               | 5 0 0 |
!               | 0 0 8 |


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ML>  k$$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr344.htmp/$ VERIFY(STRING, SET, BACK) XL Fortran for AIX V8.1.1

Language Reference

VERIFY(STRING, SET, BACK)

Verify that a set of characters contains all the characters in a string by identifying the position of the first character in a string of characters that does not appear in a given set of characters.

Argument Type and Attributes

STRING
must be of type character.

SET
must be of type character with the same kind type parameter as STRING.

BACK (optional)
must be of type logical.

Class

Elemental function

Result Type and Attributes

Default integer.

Result Value

  • Case (i): If BACK is absent or present with the value .FALSE. and if STRING contains at least one character that is not in SET, the value of the result is the position of the leftmost character of STRING that is not in SET.
  • Case (ii): If BACK is present with the value .TRUE. and if STRING contains at least one character that is not in SET, the value of the result is the position of the rightmost character of STRING that is not in SET.
  • Case (iii): The value of the result is zero if each character in STRING is in SET or if STRING has zero length.

Examples

  • Case (i): VERIFY ('ABBA', 'A') has the value 2.
  • Case (ii): VERIFY ('ABBA', 'A', BACK = .TRUE.) has the value 3.
  • Case (iii): VERIFY ('ABBA', 'AB') has the value 0.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] rmatio kI$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr345.htmp/$ Part 2. Multithreaded Programming in XL Fortran XL Fortran for AIX V8.1.1

Language Reference


Part 2. Multithreaded Programming in XL Fortran

This section provides a complete reference to multithreaded programming in XL Fortran. In addition to offering full support of the OpenMP Fortran API Version 2.0 standard, XL Fortran provides the pthreads library module which contains a Fortran interface to the POSIX threads library. See the User's Guide for information on controlling the execution of parallel code using environment variables.

This section contains the following chapters:

The following parts explain other aspects of the XL Fortran language:


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] NG> H>X>'; ./usr/share/man/info/en_US/xlf/html/lr346.htmp/$ Chapter 13. SMP Directives XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+


Chapter 13. SMP Directives

The Symmetric Multiprocessing (SMP) Directives chapter contains the following sections:


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l$<*kf>H>X>';./usr/share/man/info/en_US/xlf/html/lr347.htmp/$    <>"/=ARTaeinrst DEGHILNOScdhlop.0FPWfgmu#%-3458BCMV_vw|,1279:Ubxy!6Kk;XY\z()Q{}$[]qGHA  @hKy"!nq @+|3m>ٻ S5bۖ51]oE3Q:c#䁞W!:B5IKhW{{{{{~\x$XBLj)( )}Q U؅  @!>W!:=YEFXFA#DZŴf0+g!`HfHO HNxh{ oR+gO.jŀ!>W!;Ԋޘ訽BRآ!Mgy3rjgYElGgMi0kqqzH(b8Nb<~űS"kL^[b䧚mbvEb4Wyfvez[$ űS8n)M .V0 Ҹ:?fvڪ_a@94y 0`Ct9(d||{5ɺ#5In< o45^Aa sorH iisRDCH@Q{P0l0@Q{dˑh`CN^-l8-&'(b%F bZ\7/ҏt y6M yHsty0`CDj I\G&`|&F b=$S'(·Α/``7D`!# (,4Z$qqorH"^`!#E>rrHy\GQE<^ &<^$9'!NQI+"^E@nEC.G= :& {WPXhH䙁NQI|K#99E$MtWJ>WHځd$7G\{C7tLpkd9A9D7 99E$MtH>X>';S;./usr/share/man/info/en_US/xlf/html/lr348.htmp/$  e -<>NORTainost/ADEGILPScdhlr.=CHfmpu",01BFMUVbgvwy!#$()+234:_kx'5789KWXY|&*6;Jqz QZj%\]{}[pȎ|與 xҊ<هQ3QF)p 4LkҫjkԖk{c܇HAeWQ]Ê@ױvhm;?4hѣF4hѣF4hѣF4hѣF4hѣF7coyPp|HUk.3 ӽu|L_A0j@ 03coHOlKWon &((/_Cޙ0@C?ױv^!]rW^@ ױvz+u3T83֋cj!{kx\#Ư-Wy<(qZ8h_P%3[~p5O:ֽ嘏I5uBko{ez'-\㮹!{ l,@ѡ@I`WLLhQsw"JjJ梺˜DԪj+ G.ȒڿRy#͐_#x܉**_#x :GšӹU[WU}O5оl |Z|3ȒڿRy/]pp:w24󀾥p0H/\APTd<ӹU[WU}O5оr- CQh_6tKh j #zw"JjJ梺́Z %!о"}!0Ezw"JjJ梺<P7U0Kr$Ԫj+ Α|`_H>0H/:F];%U~WQ] 7́#rDV_SEt/|@W6tӹU[WU}O5Α9BB#Cr$Ԫj+~cif!Š>Fb2F Ypp<H$0@H)#̪j+r'Ê- 4hQ`{_b <,8SQoc{<XB"|4)e@fa ys㻊-(x9r/cxr}:[NQ.qX_E=qŗkaOkLϧH[(+z[ }]{,SWM2k ܏H[4ܞ8*#ntoar/#E 'ŮMe9%O> }SzMmʵrS`sH8RS`s؝팮M<Ϯ8œ%)S7_~U*S>5#>+|Ҷ䖦H]r8&HϦnF.&IJf` _NI-# GE2D}:]Aj/ɧ*=}NGHq~Ӧk{d֦w#VYzp:&ʻֺtooE7#ToajrS`s˜D⒜*ﭱɧ|;%UxKzfj-^ŕhW*&ʺq*NIUm_Ue>LΌc{%9F<@))09J梻eh} CSϩ/r:WX(`'Ȓڿ,"%9F=!{f79:OcXrept##^@kZֵkZֵkZֵkZֵkZֵkZֵkZּ{{U03L\U^ֵkZֵkZֵkZֵkZֵkZֵ+d3##^3'cx '7#T83vqBE1Ƚ{2Ð7FF.NOt{9ƺ&IJgB"^[\U^֍k]W$3Z/Z *k]WܖLwW&I}+{8kZֵh1+d3 kdt"+EA5Uhֵ~/ogWKWnU)LDVւkkֵkZփ5y2JS:kZ꾶*SZ꼙%)zMmqU{ZֺЙ%c?#]W$3Z/Z *kFl[b5&I}+{8 k]W$3Z/Z *kAm⑑cqST@ױ 9ɽǽE)LDVւkk.Oc=(ɽ:-Er*ȹ-ar/q{{l[b"8⌛a=;F7(瑭RS`sZYG(븤(%9F>uRS`s1c܋d"雮ℋ{2oq>Jrx1%9F]btY2kS51Ƚ%Kz55iaMQk*Y嬷_HjdOʻܔ8(*U;oU,)< qX%K?޵Ӧk{{pry2JS:ℋrmjKQzI,v Rު MZXSTxJzߕww\YOr[Qz";'EWTPrx_ʻKWnpr}jqBE~S]e1X<SbO[ezO'd[/+mSܖLuBLb#9)09Dۇ9)09DB))09|ZհН[BkfߕW)E)Lž;uqNQ.q*!ul)'B$пKw%9F<@))09Ry㯠WBx\㓲zi[qejV;l]z Ec.OYn'%)ShdkeXEflAp0/ |&iˇ3 x Y|hØA%ȴ5dzCˑ[?̏?|41pLD\ x``7P >Ál6s"d|'_:2,C{ϱ"yS41׆p>?7v8dk^hLSܞIAFFx?^gcFFE*[AK j\V RrS`s Љ%))09j!ul)'B$\zVU@'О5*[AK j\V R>-k[)09"qINQ%5o=\c{JPjjšTt%Kz55iaMQk*Yihr"Ph`-*[AK j\V REo `-ե5G+g1G Z2=!EE;oU,)< qX%K?dyo ᡌv Rު MZXSTxJx"cJPjjšT)qH38h;oU,)< qX%K?l E*[AK j\V RFG|";oU,)< qX%K?6teXDO#FFr/v Rު MZXSTxJ{hNI-qINQϚ]e-[ } Љ%PcTSV5wH?Bdb.OI>_Hjd]cJPjjšT$\L΄Ehh&"r25*[AK j\V R2,C`-ե5G+gq0`cTSVA Z2=!R%Kz55iaMQk*Y#xh_ cJPjjšT#\ x;oU,)< qX%K?Lv Rު MZXSTxJ̋TSV cJPjjšT`gFQ:EtXT5`,⑑cܔjΩϱ F⒜DAMr4>U9)09|Z))09}NQ2.))09-uM´^%9F<@lRS`sr- AG(%9F=ZH>0I%9FU4(<")09=%9F=WQ]"%9F<Н[p⒜"%9F<Н[xhA%9F?o:$W{\yqINQU}O5 VŸ7W{r- A%9F?UmZ鄾+d ~U_hNlNQ#xqINQf5<ϧH98&"Kh jCB`#L F 8 yHA0)09"I%9F?Ėk{8owq58LsMqCc@4(<##N z%ȴ5W6tKh j( {Pc,@ѡG`4)( hУ0 {-q~4(x {_b <,𧸢"8x9/F2C|4pW#Cƅ,`4b"LL"ЧߕW)OќMbjn=;:GŠ⒜Ԫj+*>.8Z鄽tYFmUrS`śtA%9F?UfG q:(q5!u!u51ȾjrS`sH8RS`s,rS`śtA%9F?U7ÁG4:B|ZG 6D6q>g- B#[?`g2,qHױȽNQϖLi))09pc=/B̐z) xz)qE){hxХ`8rD3B#žӢfqE){hxР@$8)"@9\.E8r4U޵KЍ):DOWǹwhGZg퓹;gWM]Jry3WQ]j '[)TW~OrNQ2.))09Z%3돂ZHWTb*rS`s̋Jr ]pplRyc{%9F<ȸ(P 7 zPe;l E%9F?U⒜ow)09d\RS`s_SEt/љU}*=;$qzWk{c܇ʻֽ} j$S*+leri淶9 ūaOw{N-Ux+BWWfU_h=|;B?7܉%;%9F<ȸ(rC98/|:Jr|"|RS`s%9F<̋JrRyjN-U`+B,UU_h8rmPg]e=|NQ2.))09Z$1E'ԿKSw)09YqINQBxпw)09WQ]"Ij>U(燠"WQ]"[Uc*Џ"OdNU(IV€WQ]!aW)ܝ#9}NQ2.))09kܗ"OW~Uߊ޵KܝS:Kbz_WUz]Yn-uM´^=,rS`sË6N))09J梻iEdNND3퓹;gW=mP[Uc*3"1E%9F<ȸ(P 7 zPԪj+̢W5sȓ}BDjZ] ڄjОv!ܔKh j H>0I%9F?{c+O!|Z넛hl)ӽɧur- CH-UUޠF mrNQD⒜leric˓־y Ž;d\RS`s(Z넛hl( U}O5&/k]]JryqINQkn/U/b 6qҙ`ygdyo ᡌX(_gGg9`y3\APgl ` F8dk^(KoRS`svKo'|%9F<<%4dxs5%9F?3*rS`s-)#ċ))095O{w%9F<ȸ(P 7 zP*1_CAr- C#ċa}!@XX `y)#ċ,-)#ċ,p0x/_s7̋#́Z?`cR25r/rS`s Љ%0Jr/j'B$rZ넛hl)ܔ"⒜*"KWT:rS`s̋Jri#8rNHNQ2.))09ήFk{|f;lcb 2?ŮIVœ*Nc??$oʻO:F YphrD:0DAO2=#dyh8⇃XB0 @4)( hУ0 {-r/c|(<RS`s_SEwU:gqwr$3NQ2.))09kܗʴϮ=H+LZհʻԪj+MbjVžWWU}O5U}pYkVŸ*rS`s̏HZ))09J梻ȓxw%9F<ȸ(rC5w)09Gl-WQ]$Ij=찿U(KZe"GT3 Ykc]U}O5K)|kܖ>U}muN-\[|LrC^\N:%9F<⒜Ԫj+w%9F<ȸ(rC<($l-WQ]I>ϡ"[Erʻܔ"⒜rS`s.E0ȸ(*セUߊ(Hck%D[ڋq=ȶd\RS`s,rS`s6G9'ɬ~U[a~Wӽ[Z3sB둦k{8((qD{q||dS̏+9qE){hxХ + Hȅ<ȸr4fG q:(q5qH {_#Cƅc@<$ QSܔl$⒜K5Qoʻ8j&9ꦸױ {Pc,@ѡG` [ 4hQ`B{縿 <">F YphrD:0D@P"[Ps^"NQ@E!))09J梻&ZgWUuiDcJfjΩE03ZUFR$B둥r^䗸#=9*/Eպ)[/>eE-uAr/<?ZH w 'zMmڄt"q$\eU+EA5Vb},sGHq~ 0Ll)3h+ݳs_Se r[zMmǭU8H+ߊw~U}[UqZkoۏE]}B,/E>UyRz|N+\TMm^[~5*R⒜Ԫj+7)Lʻh=!3hh&لt!Ok%9F<=(m!*>UYR$)09=%9F?kU+EwzMmj(}'*{lF1ȾL%9F<=(1 >D3ܔR⒜+EN+EA5*>NYmS|+EN qZ/Z ZW*凜WmܔR⒜KzMmʾUy\0PiwZ/qZ/Z _xvOH]}WzL$Z/Z _5w\ZU}O5z$rS`sH{JrRyv[q/rl-N;E7'.ʷ*>oŕj$IjAr4F 2C|4pSܔ>g-`g#xqINQqE){hxР@$$dB(`g2.))09( {܁q||d4tό {l :g 8(縢r4*!ul)'B$пkLrZ EdɭLǭ*/Eս,/d^8owE&3[Knt!dkeXE.| 8 g`z%ȴ5a刡0R2  gybo!Fcif`" >  <_A\yg8Td <=@dX/~mWU|nq-AF=V`xz)܉%:qŮHc?#o|fa0N-Jg?uD۝`<| 88 gl EpLDΉr- A3(":,Df| TdM_W)Ծi&gE&3[AC ¼Z넸3 $@s?q,O :B!҈ρ v8dk^(KoRS`sB-qjSNI-x|OSo{CRS`sr3kU0Vr25xLÇlτ8gxz <=6pcFF/F`)( hУ0=8 yX<XB0 ၁OqEEps_b d>A\|ъ ta3a0 0͗+8iLw[Ps^"NQ-)'팮M<q{SHVֺa/r;ʴq=듷*#LgWU}>Uߝ5c ZS6N))09J梻3/ꛏN& {Ml8r(8iL8(*9ȾjrS`s Jf%9F?w%9F< Jf%9F?UD8(ȼeR|߉K&u܇rS`s Jf%9F?{c+O#^_rS`s Jf%9F?Uo־7 ڄjX_Z;r- A%9F?U=-uM´^ϺZVWz'}|NQD"⒜ܔKh j#GL'K)ܔKh j #\RS`sإWQ]9I-]Su ǽ+/:^BU9)093d⒜ӽɧr/rS`s Љ%))09r/rS`s Љ%RS`svKow)093d⒜Ԫj+>o%9F=ZJrRycb D4<& Hyr4[# Jfɟ xh`/0`c?4/ xtR 9`y3͓#Ë6Lb 2=$\P[?|40001` x# 09`y31G:%ȴ5`cR25r/rS`sS:>.fJr{"K7K.W$A̒B"bS z.jog[=@>F 8 y0:bAOrS`sj+))09(]|x5puS\Pk=@>F 8 yHA0)09"I%9F?Ėk{8owq58LsMqCc@4(<"dBr- CW6tKh jȸr420cJrJry3F#LqINQU}O5{aYR^ ju /%9F=I8(DVf9)09 4 (Ƚ{2Ð7FF.NOt{9ֵkZֵkZֵkZֵkZֵkZֵkZֵ+d3##^##^xL$kZֵkZֵkZֵkZֵkZֵkZֵkZ@#;;R25r25{M20cZֵkZֵkZֵkZֵkZֵkZֵk^VggcFF*f=NOqS,9^^& 'tN(H=(&cK6ʻֺa/r;*20cJrRy:L|]/P^#Tll(%9F<ȸ(ܔKh jȸ(*\"O%Ԁʺ%9F>20cJrMj]JryqINQ_)09"@9qINQU}O5fYZʻܔdi))09;\yu"%9F>20cJrNW&q3e>oԩ=NQ2.))09J梻Q}Kl>>5}1EߕW)ӥ2yKw%9F>20cJrNW&}3R:1U}l*rS`s# 8(leri*j>U޵IίL_ʫYoί%9F>20cJrNW&}Hz,.C]Zܞ=s5ՠU2y>Uޝ팮M<Ū+Bz<ʻӽɧr/6^CӒYm[{ʾJr|da4팮M/8&"6xdi6s9gl 'H;R25r/&KSΩO$܇ʵ$\dkX `9)9)09D}U>DKQz܉"y|e[Gm{_Zg}3Kz|[9)09RS`sqT`3=E//ӨܝZ-@KQ=ʻB;]\_w]a%(OS'P/*$-UXZ䗺ߕwu cєNb, g-yqC?ihpC"!b Z2>20c?̏?|4001EǛ1G"!D83 <8&"# 3`g<=dY:2,C{bq{ B(9(ɽVS9[m+tolqevܞ+aOw)09RS`skP4/ܛW[ w%9F<29%9F?5uBkVž%9F=)38(&MjSW*3h5I%P:[4F YppLqj_Kw%9F<.E8(J梺1Er/ܔKh j))09S)09Ήr- A%9F?U)Bx$\{Q{1n>F Ypp<H# XF<[1E2oqpry ^΄SZ(H=(&coq||x1\2A)#ċ,E#B|2FbN(c0ǹɽǽE䗨3֡O}m%9F=ZJrRycy|Vւkoʴϡ"[Eow)094>0qINQBxrd־+aF9)09"@RS`sw24ӥ|%_*rS`sϒSFG3\RS`s(ZSFG3\RS`sJrz22yNu-*?t>fUߊN_?nMe93Lz/MUj}Pc!Ok/]zkuqM![j9kbL-nLQ_[3*_+ޤI-v٦k{}jN1&Q]M=>oʋ ڹ W|Im%ԅSk{u/z}Mbx&^eWQ]ʴ%Eڷ_E+{qjʴ%EڳJEvޤ=s돍^ZT"NQ6tKh j))09J梻D|NQ@E!))09Ryc{hNI-qINQc{hNI-4 ⒜˷Н[}z[r- A%9F=U}O5-\%9F=$\qINQBx߶MkW{r- A%9F= BjrS`s\1%9F? }q/g*+kjNQD⒜ӽɧFF =ZFG3A@X-pLDEBhc?  yb D\308&""'|41 !g'.6s"8&"`g2,b 6tKh j ́Ȱ <̋#́ZR25r/rS`s Љ%B))09} Љ%[VŸ*>VւkoNHvVNWӹ)09"kJrx_JrzCˑ8(֡Ӑ-pLDE ᡁ.738  #́Z;?d|'_-3(""(X_fl@!NA|g:"(9J&1G|,dxs4Pr ?44K @CrgY|o939q1##^"%9F>Z3sB둦k{8((qD{q||dHxSH{-qH {_#Cƅ$LS.Es#Ήr- C[=@>F Yp 4b"d>Sρl 6qE){hxР@%11.fr4FSܔe*Jr{-W{3^#\8T88{=/BN1 dF()Jr{@6qINQ%(]|x5puS\Pk=(E hУ8`[ 4hQ`40)( hУ8hhSQoc,@ѡGphSQoc,@ѡGppSQoc,@ѡGpxSQoc{<XB$LW#Cƅ,`4b"LL"@S.Es#Ήr- C[Ps^"NQD̋JrRyq{-NM^K*U[WVSYmZFy\zH٪tYaEh?7v98&"Kh j b 2, `y0Ȱ <.E1##^"YO\zta]v!Qz,P[ urX%9F<Kh jȸ(*\[^oe*3*)Cӹ)09E%9F=^U}qKS L_]Jrz%ȴ5d\RS`s_SEtc_5w)09"@9qINQNQ6tKh jWQ]ǽKYjy!OR*rS`sDJrNIUm_ܖk{ c{@Jr{',9xtdatLǸ:OcֵkZֵkZֵkZֵkF3Kk\APEkAkZֵkZֵkZֵkA5kZֵkZ@#? kZ k]WYmX")BxWg h{{U䨽[Vp׹'WkZֵkZֵkZֵkZֵkZֵk qHױ׽5kZֵkZִֵkZֵkZֵkZֵkZֵkZ׀l "@9h{T{XrE$\Je` \Pr r/ptL ё˽ӓ3=FFh1ӹ!z"'qU{ZֵkZֵkZֵƵkZֵkZֵk^VgUi [!֡F Ypp<H# ,E @ y"Qoc0ǹɽǽE MjƸ"8⌛aKw420c-qF"7H<t"'qBEqG7k{hxХ yFG3G XF=$\qE(^& 'O5)Bx$\{Q{1n>F Ypp<H)`@ |0DtόQoc0ǹɽǽEM]PMjƸ"8⌛aKw4D8(Ⱦj!Uk;#Z d&l)u~WQ]/Zg !ul)%9F=Z2.))09J梻ȓxw%9F<ȸ(kܐ5km:ZKz؅m\rS`s̋JrNQ2< z(kܐ5w)09"@9qINQU}O5BD ]cd\RS`s׹/i\z#VՅ ūaOwU!uʻܔKh jȸ(*JryqINQkn/v9)09Gl-WQ]˓:(\APE%9F?UUޝ ܇ʺT^-tlerig.;'}![|NQ<=%9F=$xϵՠUM@ cxpSHP gT䨽[V^q֋T}}-ǹwsQ!%9F<'˓5iaMVi [F":g))09VւkoKzڿrS`s̋JrZ%H|zٙW{.f(ܔ Jh"kJrMj&[ 1NQ2.))09kܗNQD4tόqINQ_ʻhh&$'j}S *ﭭ%9F<ȸ(rC^_3H|z]Jr|0DtόRS`skP7܇( Dl&⒜Ԫj+=-ɭ|VNQ2.))09kܗ"O}BD].ORG ܖvٮE+WqBE>U(#ċ))09NQ@.f(֡1'Կ=V즐Ak~U}ʷ&(whpoR$;l55~U_hVMbx&7WyE\$B5{_=} Dŕ-mU}v Rު MZXSTxJ}Oqǧ3FOLw%9F=!RS`sFSܔe*Jr{-W{3^#\8T88{=/BN1 dF()Jr{@6qINQ%(]|x5puS\Pk=@>F Ypb"dS̋-qH {_#Cƅ )#"#d\Qoc@4)e@ъ yH@j!O>0M8{=/B\4H$DĦ/r]/Eժ( {܁q||d# >20g+F 2Hӂr- ĆZ-qH {_#Cƅ$R4tžr- Ch%Ήr- Ch${R@I!0)i({R@Jcb2<)#K1$\qE)P{_b <,OqE/F`@SQoc,@ѡGp)( hУ8h[^= hСI0>F YphrD:0DaOD4tόs`gD4tό(ȽEW{r- Ch$⒜ӽɧێ/r7i }l)ֺa,{MVWzw"Jj:[OS'ɓ]}V殱NQD4tόqINQϭXN(\AP:g 8(J梻]e-q1{o& c܇NoSVTb*3WQ] l8rl "@:FN))09Ryc|(\AP:g 8(%9F=#GL%9F?w%9F<Kh j#GL'WQ]ǽK~!ԇ?ZH rS`sDJrNIUm_ܖk{ c{@Jr{',9xtdatLǸ:Oc5kZֵkZֵkZֵkZֵkF3j%ȴ5|`ZփֵkZֵkZֵkZֵkZ h1x[ #AkAkT^-q淶)BxWg#B3##^##_kZֵkZֵkZ15{AkZֵ5ֺa'Wh1kZֵkZִcZֵkZֵkZ@#?#R4tόFh5ֺa'WggcFFFFi3\AP:g 5kZֵkZֵkZֵkZֵkZ׀⑑cqST@ױȼY]_{Qz,Ƨ \Pr r/ptL ё˽ӓ3=FFh1ӹ!z"'qU{ZֵkZֵkAkZֵkZֵkZֵk^VgUi [!֡FbN(c0ǹɽǽE䗨3֡U& c܇Noʺ/ɭ|h5wMmծ-.~"jy$\3'|jy鏕wt^:wSX-\[|MZkSU0qINQU}O5uʻܔ`gD4tόqINQb_SEtc˓ܞ7]Jrz%ȴ5|`JrNW&~oKS~JefhOS'>UU6٩ k{c܇Nh5u}ǵ1dIf멫ۋ+T[ОO:mWSonD3|ήCW-\a|jyow{c+Of)WX=m\O}S};:GŠ⒜ӽɧ[ }elB둦k{ cyǪh^M_[fϹK 5K܇NoʴϮN&/%9F=ZH>0I%9F?{c+O#_5wr$kmV7TVoʻŮKЍ)Lq:cT,LCy &W}|LzYOwؙ=_܇ƧOS'Sܕj<пOQmU}2yF2-mJrzFJrx_*S'X]JrzFJrx9Z넛hl)ӽɧzYN()lRS`s_SEw*>6ܝ꜉o)09.F⒜1~51Eӹ)09"@:FN))09;\y ^[~U} /[|rS`si#|`⒜Z=-ܔa RS`s_SEwuJrz%ȴ5d\RS`s_SEw܇5S)09E%9F?{I>Ϣػ(H[|ES4;Ў5ȸEj.(H?܇ʻܔdxs5%9F=Bxьr/<ʻܔ`8(Z/Z >U[[WJrz%ȴ5$h$⒜ӽɧBD*rS`sёE'!oMkcd\RS`s׹/ur- Ch$⒜ӽɧwzMmI$O%\IϹ-^[z0j}3C&jImU}}8}w'e4m 孋_;3U1E}l̫ C|Kz$fE:КkEw4ʻ*,'j/]%GRNԾ'UM5⢻{ cy_SEw*5zj}Pc%9F<.Et3RS`s_SEwԉ%WX(燠"WQ]"%9F<Н[p⒜"%9F<Н[xhA%9F?ׁ1G\AP:g 0 ?3dyo ᡌ|o,  <X(`h,́Ȱ ?3qG8? _p1pLDΉr- Ch${ܔBt"ImЃJr>*Bt"Im W}l:_Te1ܔdxs5%9Fcif##ċ( {܁q||"p81@$a4tĂ()Ux1ȾjrS`s<P5%9F?U`cJrx_rS`s XRS`spcJrx_rS`s# kJrx[.rS`sҙsEn> ju!]Q[ |NQHpL@'!%9F=Z2.))09Ryc@ޅK*?*NIUm_mzgqe:'nOXJej}S5OYmZ3:$rS`s<P5%9F?U(%9F< JrzS.gqINQ {TP{ܔBt"ImÊJr{ܔBt"ImRS`s|Zհ]r4o`c2"z\olq4001&DOW!E1{ H1##^"YNOʻܔO0RS`sWT&l).KBUޚqkYN'9 Űr253? `#G4Cxwpo 7O#R25r/^-rk)ۉRSToYkV5I%zjK7:3[(cT_x\ol~ C~o<5I%;ίLpPbjK^P30bjKίL 7`&;|ouzf? ph9N/n7:3['`?^p| 05N/7:3[ߛ@T\43ίL@4@<bjK?CT\4Wk{c |  bjK\ol~7v&;h?ίL@ | 5I%@^7:3[8 bjK>7:3[8 5N.q7MRv pίL@ lMRv p#ίL@| 7:3[@ bjKCx\ol~G!N. ᡁ7ᡁ6 {䯌TMmOmE~BJqkܚq=v9`-ե5G+gUpߡ=Lw5I%^A4;oU,)< qX%K?*S~2yt'`87߁4@XT5`,NqTXh74cJPjjšTE8?OS'MRv cCxh v Rު MZXSTxJx F1##^"%9F<Н[x4cJr:ow\Z Fr25&DOW!^72ȉ>U_h8` F8dk_K)W{Xxy>`cJrj֭>Eh_ʻ^-rk)TVjUB-qjSk{`!dkQ|5o^~o+ Q|57ίL?0s[ۃ\olp7+ Q|5?ίLh`c H1##^"s[ZSRSToYkV5I%cv Rު MZXSTxJzjKӍίL7T5`,'` }s5h? v Rު MZXSTxJzjKWk{chgXT5`,'` SίLwT5`,'` 7:3[@_ XT5`,`-ե5G+g;6ouzf??T5`,'`|x=*[AK j\V RMRv pj|ouzf?71%Kz55iaMQk*YN. SίL;oU,)< qX%K=5I%Wk{c3v Rު MZXSTxJcJPjjšTT\N7:3[7T5`,'` oT5`,'`'Wk{c3;oU,)< qX%K=5I%q|`-ե5G+g;;x\ol~7XT5`,`-ե5G+g;>ouzf?v;oU,)< qX%K=5I%|ouzf?T5`,'`Wk{c @ `-ե5G+g;=N7:3[?;oU,)< qX%K=5I%Wk{c|߆1%Kz55iaMQk*Yx${䯌TMmOmE~BJqkܚq=v9`-ե5G+gUpߡ=Lw5I%N'SpT5`,N qTXph1%Kz55iaMQk*YU}'㦩;>OcJPjjšTE8?OS'MRv c|TSVl'@qHױȼ|\|'_ʫἅm\+} d[ z,ʻTXpT_5ooK)ۊ/A1=Sނ[zjK^~UJ湭CU03R5Z.E8;uO=LkaOEWzjKJ湭e>UqE&'z[VZkoMRv r ܏ʻQ|5|FF1ȽNQ4'B$⒜Ψ].=lB둦k{;{JPjjšTLC:3[o cJPjjšTLCUc;oU,)< qX%K<O#⑑c},'S]Jryd EoN/}!CU&;*ZS9 Űr25*[AK j\V R ᡁ403pC8h`g ᡁv Rު MZXSTxJx F1##^"&Ozw\ZN,;{JPjjšTT_;oU,)< qX%K=5I%7ίL ;oU,)< qX%K=5I%;ίLp`cTSVWk{c~o<01*[AK j\V RMRv ~ߛ1%Kz55iaMQk*YN/^`-ե5G+g;\olp`;oU,)< qX%K=5I%Wk{c7 cJPjjšTT_ouzf8;oU,)< qX%K=5I%C8\olp 074001*[AK j\V R6 8dk^_%|bko{j/[_]TVC]pNSC׻oU,)< qX%K?*S dN,p_;oU,)< qX%K?*S~2yt'`87*[AK j\V Rʫ=Lw5I%`-ե5G+gUpОO;1%Kz55iaMQk*Yx${ܔBt"Im))09UB-qjS.fC׻oU,)< qX%K>ȉ=s5;oU,)< qX%K>ȉ>U_h8cJPjjšT H1)9rx>U(2x [ |пw:3[ZST=mZհMRv `!dkT\7ίL75I%ouzf841N.}s5PߛMRv p^? cFFEW*&'!uUޥEk8 tMe8;{JPjjšTE8oОO; cJPjjšTE87OS'MRv cXT5`,NqTX;oU,)< qX%K?*S2yt'`8=*[AK j\V R6 8dk^(VuN}]r4og8EK.W$Ȃ yqE)P{_b <,@`XB0 )( hУ84 {-q~4(x {-q~4(x {-r/c 4hP$|`W#Cƅ,`4b"LL"0pS4tόs`gH>0K⇃"9]JrzFN))09;\yi qԮ3['& c܇NoBz<Ꞷ䨽[Vb*SW~vF1ȽEW{|`JrJry3h$⒜Ԫj+4 k4 O>8@_]Jr{@6qINQ܉*oar/rS`shqINQc{:e o6]Ir255kZֵkZֵkZֵh5{R4tόkZcZֵkZֵkZֵh1ƵkZֵkZֵx[  kZ k]WSolSZ*h4-#;;R25r25ֵkZֵkZֵ/XֵkZcZMkqU{ZփֵkZֵkA5kZֵkZֵ+d35#GL'jFZMkqU{@Fvv8dkdk:FMh1kZִֵkZֵkZֵkZֵkZֵ+d3@ϛ@Fvv8dkcT2Ð5r/WW"jy퀊kP5 ' "It@l9=1dk꼅WI/QZgB)BxWֵkZֵkZֵkZֵkZֵx[ c]WLdt"'qU{Z gU䗨3֡1k}|*SYn-uM´^=,rS`sË6N))09J梻iEdNND3퓹;gW=mP[Uc*3"1EW{|`JrNW&}l|MZkSUU tX!Ӻk_35K܇No"O$Khw{c+O#^\"O%Ԁʻܔ3WQ]ʻRl)CUk]0ߡ4y _=8L%뎦R5Ωٵʺu~(h8(*L_]Jry3h$⒜*9\zQo5do<Z鄽tLZ[|NQH>0I%9F?{c+O#9k-ܔ3WQ]} /ūkow:EϹw)09:g l :g 8(J梻Rc|ޝȒڿSs[|ߩQZ*/B7ʻE1Sތ2"zB/jc]&DOW!E1owhG|ȉO5~'Bz<Ꞷ䨽[V殯.|V‹oʫj(Y=Lw-mJrzFJrx~}q/_3̪O[|;BZH rS`s(⒜Zh*SUe+B,w**SfUߊߝ%9F<4tόqINQU}O5ќ}ŴWW fU"IjNQ.R<8(g]Ϲw)09:g 8(;\y"2tZH w%9F=#GL'WQ]ʵʻ?<ːJrx3JrNQ-)'WQ]"2tm{|`Jrx_rS`s̋JrNQH))09RyZg|]Jrz%ȴ5WQ]"%9F<8Hd⒜e; ZS6N))09J梻Er5uO[|P^#TϹN(h$⒜Ԫj+_5w)09Α|`JrRy$w*rS`sH{Jr{j+^(KnRS`s^(Ko 8(\} Љ%[cӊj}|rS`s4tόqINQU;r- A%9F?1fl@! 00 0 .73HDCb D\0,/$.f =#GL/#L3P0! Jh"h([#4tόL4 _~Z_z[:n:aΓ`b H>0g\o0h(8 _~Z_z[:n:`ьHDCpgI~0`1Gh3Pܐ=m\֋T.78x/`g2,HDCpgI~0`1G:FL0 <`Fо5w{=3Pjc,~+E +[Z$1q! dYA ZS6LzB"0M8{=/B̔dxS>Fb2fG q:(q5qH" 4hQ` {-q~4(x=8 yX<ž{縿 <$|@Ю>F YphrD:0D`|@W6t{{^\N*rS`s> o+:G qINQU}O5ޝ팮MmkZֵkZ gF(l(SZ*h{T{XrE$\Qm \Pr r/ptL ё˽ӓ3=FFh1/QZgB)BxWkZ kZֵkZֵkZֵkZֵkZּU*2Iz:MjƸ#;;R25qS1*r{a9 9ɽǽE䗨3֡=8L%3돶MkTʵʺ%9F=#r(leric%9F=#r(leri'=dNN&/*Seb׶W~U_h=m"3Z넛hl)ӽɧzYN()lRS`s_SEw*>6ܝ꜉W{l bG qINQU}O5N٪*ʫWzw24&]cl 5%9F?UZH NQτ@ϛJrMjƅrS`sË6N))09J梻R$韕w)09Α9\RS`sإWQ]"2tm{|`Jrx_rS`s̋JrJrzG qINQb_SEwT{ouR*ʻB;ܔKh j))09Ryc{9\RS`s_SEwjkZVWz'}1NQ#xqINQNQ-)'WQ]()lRS`s,ҙqINQU}O5z/%sqjZ] ڄjОv %9F=#r(*1ȼ^߂ZHWT^[}1ܔdxs5%9F<-JrxyJh"kJrx_rS`s-)#ċ))09%9F>F":g))09WX(\APqINQVɭ|n8ɯܔ⒜ӽɧ/rlNKSwwzMmʻܔdxs5%9F?v9)09)#ċ))095OC]JrzG qINQ9]JrzG qINQU}O5'[)5zEd־+aF9)09"@RS`s_SEt/ԇN1ȽNQ4'B$8(ȽNQ4'B$qINQZNI-*rS`sË6N))09J梺Ʃ5ZgeU_h9 ڸW]Z넸aOuJrzG qINQ948@!Ph``,/0?0 =Z0P)!l P g`xqrɀpLD5CFh-9DF`08&"`gH P `y3\APgcFFEJry:$hA%9F?ok:$NQH))09;\yf|La{oʫОO5Z鄽tZ.OqBEsZ-Pz]JryqINQkn-Y *ﭫjzf_l(O\}"Ik7a-\#"F1Er25.sg#KC8 `x`1G\AP`y"h([?#P-9>e@QaX_<?j}W}^90Ȱ <̋;#> oI-q{,/mU}̏Uޝ팮M<\q=즐Ar/cihpC`h```,/ Ph```-pLD"@0`1G|@ތ.f[?Š> `,7`Ѐ@ g, 1G:G `Al "@⑑c{hNI-qINQZNI-*rS`s-)#ċ))09$\{.O'Sދ-tSH>b"w)09"kJr{hh&]JrzG qINQ9J"3>0X_Ed g.rB(l#a|"&:"01flh!̰ - 8&".E0 ?#-)#ċl2<|EMtD`c?,x/g g0Ȱ ?`g2,b #rёEQా.f -堄G3ASD=[? EpQ` O hh/ `3KA.f -pLD:G `Ήr- A Df| c;R25r/rS`s Љ%}U>Dh=.ʻhh&H="\}u}S5qjV\|ܕuO[f* ^VœVւkopry(H?-uW)[|;B<+aOF9)09㢈.f(֡bt[*3?ʴ?ί gpLDΉr- A)9)09DA%9F?ok:$Z/Z E 'j_F9)09L8(g+Lw:oN(玊 b2[g7 N䫪z7Wzw]}+JSzMmc+.O.{]_Uc*Ј5wL=O>ƬC ´_T#{ z,ʻE1owhDcdkτ8b|&l@!+?b DёE ~ gpLD5堄G3x(#K3_@Yy3|@:("oP[?b .qF`F"[?b .R<38&"*G A|x }5돕wr-h=Ǣj7g 3Z㯸&~>U~UJuq0cif!Š{{^\N*Jr|B#A%9F?UFbZ))09J梻ȓ} /ou.O-N*3["J 'W~*Sr3Cӧr$on& 2mǭ;14qINQU}O5п\$E~'MMj/qjZюJrxF))09t>W~(G~*Sr3]c14qINQU}O5FM~'.C:ʻܔRS`sٌ:Gm-4)e`prD<|!Jۢ[ } FowH?:to`*/$\AW~*Sr1EDֺa.-k]Jr|B#A%9F?9^d=s)EN-\[zw%9F=⒜LL^F1ȼCH!ܔGJrNHMkI>ϡ"[El%9F>M%9F?4Αg^_NHMkV'm1ZgTI>ަ=0%9F>cif!Š⒜ow;9;W?*=;4%9FFbZ))09;#{q5Kx=mQz,ůrXjk{`gqmUozq$SVfkW}s5C]^,kMk]08rlT^-|jy큜{]_]u0ūkoOJ\,({TMm܉ۉtX U_TrS`s>FbZ))09_!lV%9F=!RS`s3&O;ūknJenKSSolzZeNaNN9Cӧr$on& z㩩EOLw%9F>cif!Š⒜ūkoOJa;W!~&&I{/B?*=MMj/_5}{wr$on& YOi\1JaulW_HjdN&/'rU'j/'=Tb*1B;E>2y>U߄J\$ VjkQ}bw"Fk]0=ߡ=LuN&/ԩ?*S*U~-rk)'VRjlJr*NHMk 䗸T>U~UޝȑL%բOvSSZNQϘYDqh8(U}Ozk3zC]a ūaN-A|;"K7Bdu|V.O%W)$\֨\_ERȒZ+ 1wr$]~JenKOS'qH {"Ij\/UޝȒڿ!u*/Eվ5<淰8{Ar/cif!Š⒜ӹ7Z鄾Uz{_=Z ʻܔ5%9F=W<:_Tʵ12KQz Wy"'܇ʻֺa.'܎韂bd#leu0/ی|=3c>| ܕl)ڹVDֺa/\z&[~U}q%[ zu*][)U<􆯶O~o$r/.OKZ%ԀʻB;$\ȑ"k]0F#(H?NWюJr|B#A%9F?UFb2r2ρP-aB#EB#>FbZ"8 )3g a3"(<:E "3>X⑑c{hNI-qINQA)z· jL_&jImU}ɫ\z޶SNI-OS2E!ym\Z;!B#.X(40 .| 5`a?2<hаCy" ,x,́ȳ3Df| )0O#R25r/cHD:Q7y" ,_kfߕW)Q}|OS'3l)33N6\F"8 +_5~U_hi[cEw$/C]gfl@!/?܉ۉt\"8 )^cif!šB#ej܇( Ni T`gHD:Q7y"{ܔjΩϱ F⒜DAMr4F Yp b"dD@B0 xF( {܁q||08b"d >Om^Ћ-qH {m_B$I{/B8즯*.%9FF##¸4)e@fa0|,dxs5<9ȾjrS`s>Fb28ɳ:W{ $RS`sw"Jj[cܔRS`s^"It@l9=1dk|,dxs55E /QZgB;l"kZֵkZ@#;;R25r/WW"BKVЎ5ȸEj.(H?Ir25{Au^+EA5#jWkZִֵkZֵkZֵkZֵkZֵlFF+r$o`L$)U⑑cqST@ױ 9ɽǽE܉"& mB:ℋ{2oq>W}G}ztDֺa/=hKVߛ|AqF"7HU߄K}|&NQH#\RS`s3&O;ȓX':1E۹)09#K1$\qINQU}O5{X_R#qZ/Z e,;#{q5K^_ӥ찿"[Emܔ.f(*ﭾUa;[qejSSZ~Sӹ)09#K1$\qINQ^[}܉قk]0#A{,/H{'|'rZ3]^[yxϵմ>=:w"Fk]0_Oz_ThO-`8c4Αdc˓־~ ju /P 'r$o`L$.O.Uc14EWQ]NQϘYDqh8(*9rkn=,NWm|L$GT܉ۉtX[$Ia;#{q5KMMj/zc)09#K1$\qINQ/B\40H!:"-^y/r}MMj/;#{q5KNQϘY"kJr ܕl(vB$񞦦\c)09#K1$\qINQ{]_;9;W8emŕjMMj/ c|m\_ٿ*/Eպ)[/ӹ)09#K1$\qINQ^[B`[zw%9F>cif##ċ))09;#{q5Kw\Zbk:iŕu55oN(玊 aqINQBxЃ"y>U+EA5L|NQF'f%9F?9^dS]iʫ1ӹ!r*Lb֙8r܅Dܐ.CZgzMmǦ1tLZW]⛑*#LgWfU_h Ju\u+cNΨWrB>Ux\1Jӭ3 Wyc:ʫ1ӹ!r*զ=,vSHVڧ1tL2O*5zw$/CZgzMm즐FSuk{|f'qH {͢jH_܇ūnO?*rS`sщqINQW<=1[TfUߊ+E>UFίELtH_܇ʴ1)P{oUB<j}C]䗸"%9F>cif##ċ))09Vւkn=^[qūkoN(|,dxs5%9F=܉ۉt^-N+zӹ)09㢈|RS`skP7}&&!ul)^@"y>U+EA5L|Jr-"8))09' W}m\֋2-tI܇&N|LZ/Z zd_mEtΨ1)y>U+EA5L|NQF'f%9F?9^d~SZgm_ R1tL*rbU-TuBϭjzf_ʺcNoo$CWrB>Ux\u+cNΨ1ʺq*1tL2O>UJu\rvSHVڠ8{=Wxޭ1ʺʻܔB#a⒜uU9)09L8(g+Lwz㩤+mSULQ_ʺЙ%sSHPem\֋T5U}jH_܇ʴ뎦A*hh&㓲BU}jH_܇ʴNi TqB(=Eeq[f<j}r*$9)09#K1$\qINQ^[pێ-\[zw%9F>cif##ċ))09NHMk~ ju!]SޝNQ@⒜Z~10<]a ūaNίZ {!O}[ |NQψ! xxпuU9)09"H#EA{PSqINQ&&ߛޠFLM![W5K)]:53LǹOW(crB>Ux\rvSHVڠ[)e>UEtoo$Ni TrA{PSU}_zUަ~ӭ3[/vQe3[4UߕW(crB>U+EA5SHVڠ_:Vڠ8{Ar/.OKZM=>Ujr;#{q5KxLb֙3]:5yO~#tDֺa.-e /oF9)09#K1$\qINQU}O5R*NHMkSSZꞶWYJ\LlҶʻܔ.f(*|^ti1Z/Z ʻӹ7Z鄸'.i̺[>ӭ3[g[i4Fb2UztYn("⒜3]܉قk]0rS`sÐ\RS`smܔC\RS`swLZg:7WYW)ū~ ry)09\RS`sM_\tڧJrzB!))09dkeX|&i˄ Clb Z2=!0EAIL8/dyCB !Q|8x,?&jImU}eB!l 2,́D!6vJ"3>CA@/` q| 傃ClÔW-pLD|,dxs4PrI@$Ei&ʫ? gC" P[?7 傀/p0? gl J"3>CY"([?τ8pC:"(9$9pLD|,dxs4PrI@0c?q `ҭߴM_W)զ=sqktH_܃?w"Fk]0@ W}1X>㺴ǵ!*N䫸 i& {[TbWWU}`gHD:Q7" cFFEJry:$hA%9F?ok:$jN1{[rBwr$on& w%9F6A5"(Hfl@!P@́!DFg9,q0 ?Kh j#GL&1G|a*SLzܐu~0`~ȑL%˔3 (4 3DBh/8$ .R  8&"4tό?5wUui\Z;! ӹ7Z鄹r3DC_YD 7!E@[`b :%ȴ5|``FG|DEA(H gl 'HXpvJ"3>C` qB D gF"EpLD|,dxs4Qr@0c?̏xC#@X_ ,3D 4AP45wUz4=sN3?ʻӹ7Z鄆3dX gl J"3>CcFFEW~jy=<_Z^Џ r25(gh {ܔBt"ImJr>*!ul)'B$оӢVւkn=SYr;#{q5K}jkQ}S)09#K1$\qINQ##_D  3N6_P43N6A} .tY|&i/̹l<A14EQa}[?`g( A2,C &) A.s qD"q|,D-/7|P47G g 6 FG|Ph/ _, g2>/ _E38&"`gDєNb@H3##^"uB5OUcե>W[T W~jy=< ##^X( x5A|o bbJ"@)Jr|D@8(縢µ^#fe]|x5puS\Pk1 {܁q||H("0 b }ȒrP^#TQoc@4(<##N z%ȴ5W6tKh j( {܁q||d2!OD̏+:%ȴ5d\Qoc@4(<"Kh j#GL.W6tKh j#GL'[=(EȽ{,@ѡC̐).FK. HF6  x).F⇃XB0  )( hУ8<0)(ȽEW{F@JCˑ))09J梻?T^-Tʻ'oor _ܖL_rS`s Hyr5%9F?U8@_]c $RS`sw"Jj[cܔRS`s^=aã# {'f={{*2R\kZֵkZֵkZֵkZֵkZֵkZֵkZ@#;;R25r25{]WtN*kZֵkZֵkZֵkZֵkZֵkZֵkZֵ+d3##^##^ Hyr55kZփֵkZֵkZֵkZֵkZּF Qg͠#;;R25qS1*r{a8"79.OZ鄜Pr{PsQ{1ǧW&Iq5K܇i#>U}Z\%8rmm :-'}|NQ %!팮M/3gH,}5N)ϽK_*t>Z,N83[>'UAj$\& 8"-ӽJ>UB-qjP 9Z_gH8{=JrysRS`s_SEw qH {ܔ>g-팮M<){))09;\yR%9F<>2-RS`s3LprNQD⒜ӽɧ8{=Jrz%ȴ5d\RS`sw24rNQD4tόRS`sw24rNQD Hyr5%9F?{c+O,qH {NQLb#i#=@)09PdkJrNW&prNQ#\RS`s3LpqB(=EW~WB둦k{Qo[ezO'd[^t'%ECދAv\L_Bt:fr< @q"< Q QLxРp8S c84)e(rD<OrS`sA[ {hxХ@$\)09 qINQqE0Ǹ>F Yph4H!ž(玈&⒜{aq||h 1\2Cx|ž(HyqINQqE0Ǹ>F Yph81\2FFh&=NQ23(":n))09(K. 1 y6)<>aOrS`s͊CJr{-qF 8:OqS1:B4>a\H:BBy4(88"X齎0Ǹ>F Yph W$A̐s@)JrxsA%9F=84)e8hrD<OrS`s Ј[ {hxХъ y, -)09bE⒜{aq||W$A̐B#("9%9F=84)e8 1\2BH("qINQqE0Ǹ>F YphW$A̒%B(X%%9F=8{'LZH0$ZS!\ <ɏ {btD,tc_#Cƅ,801\2H&SܔeGM%9F=84)eъ y-B(ԇ))09(K.@$24(礌,[ {hxХ@$SܔDRS`sQoc1/B\ H)ȸ$B(E$b))09(K.+ HF8 {#K(縢bc3'c{ 'tN(H?Kz-lҶ3v;)~X_Z(\APqINQyߌ:Gmz/ezPc˰']i T U_h>2yߕw4Αg;4N-\[3*[BuN} mr*&w%9F=ZJrNW&p3f9)09h ⒜ӽɧ{gHw'L!4I$/ol{5׭=mB5|S]iTRvǢ$\N=qkqBE9c6F(lerif;l/]+E5|0$K)4KT*)b;l}.O'j8 8"qH {ܔ*))09j&IJg}}j'E]K1NQ.q=-ǧpry;W>8 8"qH"^yk}|wަ$Ia|f;ljZ]cֺa'$\Zg4ΑgE\` 8"r/rS`sMmÊJr{Ϸj7l_~U~Uߌ:GmqjZӹ)09Td<⒜leriOS'%Eڰ_ʻӽɧD3Z8rmA{PS>=9*/Eպ)[g'rvί[ z1NQ %!팮M<*A{PS>=9*/Eպ)[قYoX3*i#8rmleriWX\cJrx).F(*Uޚ=A{PS k_Kh j))09J梻C'\g^\"O}JryqINQ JrzFN))09}NQH))09QJrx).F(*>UxlUߊ(\APqINQb_SEuEe$kRNQ %!WQ]ʵʻ6hO;lJrx3Jrx_rS`s Jf%9FU+E[)]:53LǺ-tI܇$Ei^[pZ,O}|Й%Ni Th*Sr$qPZ,OF1ȼ^~ ju /ܔGE7'ʻ{cF@JCˑ))09;\y Jrxqr%9F?UUF jBdb=mQz,1FF < #YE  {?7E$b;@EQe[#˜D.7!P1G8).F cFFEJry:$hA%9F?].>Dd&ӓƯ%9F< 6-LrT_>=;F@JCˑ))09;\y##^AF@JCˑ ,Ph_Cx`_,Ph_ [? |\X(4/`1G8).F5D C039F 5!&  f` 55.7\838xL)9)09թSb\3[%9F=Ar4AO.R<8r4bI!bž(`'YU׈W1'U5>f)P{>Ops4F Ypp<H=V'5K.ByS\Qooq||ъ ta3a0΂ko:8qE4b=>F  l" $bkf>H>X>';./usr/share/man/info/en_US/xlf/html/lr349.htmp/$    >eHA@3P-^&Ck}_#x($`H@o(%2٬>I( A 'xO GEa.`Ѣ5/ UV7&@OQXK)EsgCvROFKl\oYRkkr>z@+ p(>6 kK_W/nWW ui-ʓ^VYY?+ p(zs Sl X~+ UQXKg@ΑGj8Zi@$B}[{Cv{-F#}x>Q!zŻm:>ueIse]Z!-mG= =iYmY]e1c4X"2X#Efdj)Kg@*P5bDwܨkDpҁ@H:qf#[m( P# p,B p,H^7pҁ@Hfj@' X PDa.8ABp]!-J%"+ cU \ P# p,B p,H5*pҁ@HcpcU `h( A@XE"kZ0!L NH!f#1ڿOKJ-@p7->K݀7!pOFiP7f+@m'rr,J q?6A!\ GŐ8d`vacwQTH0ᔭ1$$ qci; r\J+5^Z^߉$H"D$H"D$H"D$H"D$H"D$O(%t$D(rcC,%€F3Go~( \)@#gHYD 55`j*#yD3P qҁ@8 #kf S*ב lŻmY%t$B@( "1řΑ@#YK 8H P f1j3\JFc|56@LwM-N^D7[Ŗhѿz{5Hiv4Yq+1gZoY noAk(gmv%?kYzԝVָOg 5`j+cVM#řqO80H@^h.q#GA yVM#řqO80H@^9#Go4kVM#ř3_) k q#Gb45Zzi,3fyRaF~KYvf<,?~Rwc{QYgY2&?gA=qO80Hj a,\x QQikY}tt7fw}8$C5.<(ת Pi1U&u~^D7Zj6]%j3\JFc|56ʓ %O];.@b(YzBDA5pbPHxZ` M<"xZj$#GZj$ՃHqfa.4qS  (ׅd DNVM#-5 sVM#řqqO80H@^iL T`? 80`ՃHqfa.4qS  (נ#G-X=4fG pSt " Ř$DPG l  aKG Pa.4qS  (׆ `d DNVM#1 sVM#řqqO80H@^G,#G&+ sVM#řqqO80H@^h.q#GA yVM#řqqO80H@^9#Go4kVM#řQ\qp7yzBD"pdqf" BDA FQi0.K7g 5=f@L T`?ź-X=4fM<"{44.&Z&przi8и N-X=4fM<"zb4505ScHT,QƆsVM#řqqO80H@^qh1~*(ǜkVM#řQ\qp7\."v18:F Q=ŒE᨜b8$C5@K M({4{gmҼWVo f-l(Α@Pqfa.S rѾ=_ΗkV>>v#?IYmוukȆ+ec֯*Ni. G r(`Fџ_F{Z|c4X_8Q۸) kzQ 2`j+Ղ@Y9ūY5p`F@Y8-U8F9X=4LV =f@G38Wݍ%yWVhI.-1ȡr1ie1S3yDAp5PL T`? @S0\Zzi,3hŦ5v6[񴯻וukȆCg!#S?8$@ Q@0-U8F9X=4Zzi,3h̘ƾS.׬[񴯻וukȆCXj8K4oO:_٭ZCHvv#~AK}_gA=qO80Hj a,\x QQikY}tt7fv#oi-+<"z@Y8-U8F9X=4 sVM#ř7d1I.Sf?%Ĭf;W{Qxͭ<}'3Ek(gm7ƺu_.FxhwFvkj>WbSczg[:; FegGJD̗Yq+1g2ZWVM#QF<\Zzi7d1GnlƑ<"$qFj!h+O8QL,\Zzi,qS !A@`Kk)cHa=f@G3:>x~>Β5.%f#1ھ]k(glKcg|{QYgYAYS֤z)#YDc;RHFwٱ:vܬG@Y9ūܬGbV =f@GA.VM#@Y9ū^`?qpA4ZzifbݷoוukȆtFvkjfAѲje=\#{xZQ?kҤŖho*Ov1=+[~+]Q͏ 5%ȡOj5)W_v#?v7{>ĖcݍʺCzԝVֹ1ilKE r(b#YDc;ң櫶2\Z(c G rѾgՙwǐeHQ 28`?;H AG,ՃH%~"bQ 28`?=+ܬG44.&VM## v#~B5F3Vfȓkұ6o]K#YDc;`XZJ7'ďtrFҼk(gmՙu)+p,NH,G}+2\GZ`Zi8`?8h6=Hi7c{HQ4qj~x> oEʓnݽJwړ+v澍]jo*Ok6~oدbW^#Lr; QEQEQEQEQEQEQEQE  2((((((((qaXy.Sf?%Ĭf;W{QB<2c>hBKg}I$,@x1!#]f?%Ĭf;W{QY:+Ղ@Y9ū^`?1X(Zzifbݷޝ]f?%Ĭf;W{Q]VM#DJ=ū{CWX=4ź-X=4%;mr]f?%Ĭf;W{Q]WWcyRabj4Goڤ}!c}?|mj-(TvKg丕jqvj3ݍJqd'7ݍRSݻjSVM#@Y9ūKg丕jqvj3řvЏv7IN_]e;y^6o*Ovk c{1u_.Fy+cyR~VM#Si8`?\9G (((((((:k *L(((((((\XV8v9L%d)Se>5YP{L3[x|ǻkf SRgQ/kiR|gfF=~( @縵`?9Q2zM>%~(Zzifbݴ$0p0f:F!@ #YK\(3`,"H-U8Gf@ bip"0-5qfc \1j3\JFc|5y7֭!}`?PA'GYmcx_v+\Kg丕jqvj3ŨAbk(gB=+֠fc]_~i.QVb3=٨,hD9Z,Y+ui-7cx)S7ǵŖu]f?%Ĭf;W{QWGJ Ef=خ)F>L7}j5,$F~KYvf<'lm{UzhY;yOݍ%j3\JFc|5ㅘZöwȇ3+]ŋ1eB5F3ƺ]f?%Ĭf;W{Q8YŨL;gy\s2X{v~@S0 sVM#Ҽ~]f?%Ĭf;W{Q-A>1, b7im?`? )j@Y9ūוukȆ1~*Fw9ūK? t D9n8)Ky٘PZj$Q@1E:X#)l+fVPQEQEQEQEQEQEQEy.-G.; q.Sl1Xf?De0r.,Y\XV8a4%c"w M7%<(Jtk(g@8 @t?\\((R((((((((p8,(K(p@ ~aEp@( 2y<\\ ㋁HM)6%Ņc6M\j8K pV8Y1qb~±ś qg丕jqvj3[ǹX=4 ydqj~r1rzi5G,ՃH%j3\JFc|5QOǭA>1, %Śn9LqcZa~f? qaX͆8rVVM#qZzijI`oG.,qŚ7Y.SGglՃH%by7֭!|{H M@=Zzifbݴ#}htKQ\fi #D~r>q}+F~[|KZöwȇ3+]ŋ1KE r(eդ4w~OZc}VM#-5qj~uvzOݍ&yWVhI.-1ȡkVܬGZj$ՃH3JyВ\Z(cC,֭!|yQ]v7X=4E0 `R'8`?F կփ'Wb}#Kg丕jqvj3ŨԵ)ޞoZ٪MyLw!#z eKb?v#r]f?%Ĭf;W{Q_b<'7ݍ#YDc;>f?DZFD9Z,Y+y$F~KYvfWb|ħo]%j3\JFc|56S|ǻEo!#Оv7e{T%j3\JFc|5jVf51܄k(gm7Ŗ}خ{p]O݈b?ƻѲKg丕jqvj3]v7֢ҍI^7nރ}%;Bz)koKg丕jqvj3͏ʴ^ֱ#n=_Ηi|,hUCwȇ3+]ŋ1K+ G.S%0)Ro4t.QfaAi((KDZFD9Z.XQ@9EQEQEQEQE`fq P8,(`q@O'yKqp0)i1qfiKG ra 1B5F3,Y\XV8a4ܕ{UyQ]Oݍ51ݨ,RdM)6pPxL8c4X8,.,+YnJ=~@S0 sVM#A>1, %Śn8Q\Y5%cH{lZziL@oZ|c4XnkAopQ-VD#}W"̭w,G?+=_Ŧ5rzi5G,ՃHʺCBxcuQ{X=4ź-X=4γ1n]֠o,1ؔɕ,Npekf?8~}դ6Z\,hUCwȇ3+]ŋ1K;H M@=G,ՃH3{v7_IϹX=4Ò7GsVM#]Z!7c~A=~*GsVM#Imk1jjLIemܬGZj=f@GYm4m+3#v+۱ڍ{LWVM#(ǽՃHʺC|o}؍ԝVָOIQۑ~jG}~-FY;gy\s2X{v/[Oė+dqj~zWX=4ź-X=4γ1nҾorziՃH%jN׫k\'7ݍVM#ꠑՃHʺC}YۇJ~i+Go7ǵŖu]*L#ݍ#YDc;nF5Hi)f?DZFD9Z,Y=_dB7+)XβMtt0\ܬGZj=f@GYm۵~oGrzi$i*ՃHʺC|mܬGI B-X=4γ1nK;Hab.-X=4εh4#Ҽ~v#~h4#ƺL~|}_ݨ|{H M@=G,ՃH3$L3X=4ź-X=4γ1nLmOv7,>SוukȆ %.E qS !A@`KkA#8F9X=4Ò7GsVM#řP0  8HFӃ Fh8$C5@K M(,# 80`(L%by7֭!}`? 80`ՃH3,FvSc{:d_gAoj5,=jN׫k_ɖ{!>Q!}f?ѱmYj5ѽŘ %by7֭!{H4Q i`?=ѱm-F> mtm+۵fKJ#YDc;Ѿݷdݍ:KE7ݍFegImkOǯj57d1Ym&c{QYgYRv[ZFwi. G r(cHa=f@G.-1ȡQVb3=٨ xͯ`? )j@Y9ū֠CgjIqhE 3J5}o*Oenڿ#o(ו>B5F3@\Ptm(٥΃Y}kY}tt0JCkYzҍ[݈ߌڍb:Ϯ&KE qa.-1ȡr1b7#۶>JJ;Imk݈ߌKQYgYҤ,!#xYc{:6k~okX%j3\JFc|5kʓGk?Y;#mk]P{Tc-zc?v7-Iu_.Fy7ݍʺCzԝVֿ{H AG,ՃH%j3\JFc|5㕃HD`dqj~w+dqj~w+ ՃHrzi1ՃH%j3\JFc|5ŻhI.Sѿfi #ܬGe pՃH^Uկ">qB5F3,ѷK_#ރ}tnfZďyRvbG:?g{kյwAR{;#Ҿ͌)΃Y}޼^D4;^p)kc>۶ZQFvcwYה`?Mq-X=4x~`? )j)VM#A>1, Gb$7ė+dqj~xbm7ݍ#ٕ4̖#?\G@Y9ūf-BIrF5Hi`? 80`*(ǜhՃH^Uկ">qB5F3,ѷK_#ރ}tnfZďyRvbG:?g{kյwAR{;#Ҿ͌)΃Y}޼^D4;^pmyLwrzi&P8G!=~*(ǜkVM#7}7bm7ݍ#ٕ4̖#?`?c5ūJŻhI.S<޾lߌ"BT,ܬGeEZziCy7ק.NfKJZ7`? 80`ՃH3ʺCBIr7X=4N 058`?:ŻoM3-\P<"$qFGxrziD\Zzi,%Ţ91qO80Hj ,\x QPcHPǘ'#Mū\Z(cCgfPǂ8.1~(cEIWG3 qhE qS !A@`Kk1"ȃx TQ8F9X=4 yr<Ry-X=4fCXj8K+p:#glՃH%d6@LwtG}'k7{o`? 80`$G-X=4M?}i_fi #)cz}[{Co!#yOݍ%,Ra$GL H`兦 D  O' (iЁ2&c0):zI/y7>wA.i3s!Z&q< IcE`j0M#~q1A`9)>3"JyВ\:F~KYvf< #ѱmxXγ٥Qf@/WѪ7ݍ%j3\JFc|5z c{H@1ūf-BxFџYv+ul[faݥ1ĺF~KYvf<ܬG@m}\9ū֠ѫʓ %aVM#GsUZT-wAoZ7ݍ%,;^pdkʓѻ]?v7X=4Zzi9*On!_~^$LܬG-X=4γ1nLmOv7,>SוukȆ %.E qS !A@`KkyLj yrWcݍ+4jI`hI.Sf?%Ĭf;W{Q2e>f?eևl+fVc~(Zzi3_ݍ"{4r1pkCwȇ3+]ŋ1֌ѻZn4jN׫k_oוukȆ4omc{HD`dqj~1nv;H57G{HPǘ'#MūckeE cyQݍϕ?Aofh'7dmc{HD`dqj~uv+ܬGUū^`?1"ȒpA4qj~{Yo|e1}ٍKHT N-X=4AoZ c{1I c{4^%ڵI czԝVֿ^o:_e=VM#@Y9ūFt k(g|ۚ6SFkiF+֤zIr7X=4LV =f@GYm[ו'o)&c_z{X=4 sVM#[~F1F_٭ZCH_yQ݈ߏcݍVW!> orIXOݍnݽk(g}'+v7*ב Rv[Z> i+P{RgkG{ov7_-v7eG7m֣D}B,=,ǕCm?v7#~B5F3m+۶ݍRv[Z$ܬG&+ sVM#es_Fz#Ov7Imk 2/ܬGbV =f@G!#В\9X=4H8`? r.H“y?t ? r;3 D`d(,^7uZD9Z.XQ@9EQEQEQEQEy.-G.; r`?;gG.S #YDc;?`?1X(ZzifbݷnAi#h4}gG`40%;CdYfF Z临P"?YV $IqhE 3X=4 yaf"ՃHPxOfIqhE 3X=4 ydqj~u<}'3E3kb\Z(cC VM#qZzik(gIqh,5%`Fќfi #Fw~=~"bQ 28`?:Żo\gfPǂJpFegImk3hpj8KC.1im?8ek^7;r1iQsUZT4gv֕'Ҿ>׍~ksZ6SIxp\Z(cCѿ]٭o}ּ0v7eJҤɻciQ~izWݍfVcfV@8|ħƒkYzԝVָI.-1ņL@oow 2CWlFk1ZN۠Z~mcyR~V&=~"bQ 28`?<}A_orziź-X=4B5F3%Jw[֢ҍ~+ܬG&+ sVM#eG1)&CfZ^8$C5@(% 5rziVM#ř׍~{vAڳwi]c~AoخKc?)"][z PxOf|kȄo {Gov7٭ZCe1;4E>Wcݍ+4jI`hI.Sf?%Ĭf;W{Q2 orzià)j-X=4γ1nn۵][W٭6i3lxͯv+^j-_iLwܬGmtv+^-X=4̆V5"Mh=d%ZL~k(g{HLrA yVM#$)VM#R3A-X=4\8)K`R'pi?qO\’ @S0J((K,YC;vҤ\r(((('qj<%qp~8K+8`? r7-f?,YC;vҤX{v=ZW $eTv79*OejNv7ŖukIYq+1gLּ>YfF-5ߠ櫶?b3i.QVb3=٨Eo!#]٭OݍjkJeHonvkVjF~KYvf<ٶo`\ 7~5ݥ1oِi1;1VM#0ZƁ @-ūOt#䷻د`f?,YC;vҤX})> lcmIv+^$#&b1ڍb:Ϯ&K>jGݍVM#:{k-X=4̆V5#F)}ݍVM#0Z5ūd%ZL~k(gx{?)kc\GA yVM#[۵oj5,>:T.>VЂnjTv#~kY}tt?+{medp\AVM# Xt< Uūf-|Zimec}* *FVzp"8) A 0% 5SוukȆ %.E qS !A@`Kk5>_9#y0P<"$qFCSDy1"Sqfa.-1ņL%8:F QQ 2`jp` ,\x -4rP#ź,qb8K\ 7~jGݍVM#G,ՃH3 czyvekh+1v+Ob?y^ށSd~=j4GoIQk<}'3EpkCwȇ3+]ŋ1K>1F_٭ZCH1orzi=f@GY n4^܄Yo|֋+6o|}1د5؍[Η[5w1Kb<_})fwVW֤z9jGǐe{HQ 28`?:Żo8$C5.<(רV j5,=jN׫k]řC@KQ\v7eMlko)~+_#eJҤɥ|?櫶>6ow[ו'Ѳ*L#kCFݮmc}I{k(gxT|ov֕&MحJ L#ҾoG2حǜG2v%?v4Xγ֤zIqh,5%b}'}߳-Qgb3Ytnkkʓ1VM#G,ՃH#YDc: Z|{HQ 28`?9Q΄zWĖ)kooZJ7|Ǐrzi=f@G!#Џv7bSL̵~_ҽqO80HjPKk!`?!G3=~3~f㮝3Fһ}v+\$)6~S^D$qg6֠{U@/WcIXAoZW#YDc;o:vi1_ZJ7|ǻzV#i7cz>В\:F~KYvf<2dyQoE>WcǹX=4 sVM#Yq+1g#YDc;nѲ?c5wڍb:Z %b|zy޵'kյ֤N=~(Zzi5H/mhޤmiLwBwڍ`ZniQ:L`l;AۜIv7CAۜIji6v7nJԝVָI.S #YDc;?v7YxYj5;CŘƒ`?ź-X=4γ1n֌,h#A\'~=_Η4INWY;ԏ=޼^D7Imkx~F,E}&3_e-0ukR>WbvoZ %b4Z,1أwc{HTg8`?=+ܬG2`?[0Z2c>b5.%f#1ھ]^Ҥ :2ЎFjGY46k8f?8Wݍ%j3\JFc|5㕃HyƆqj~uvВ\Y5%c 8HT44,F80`?qpA4Zzi׍~hϱ=&}6@LwJr.H“y?t ? r;3 tk^Tq:5 (IE:Yeuvּ04euvּ0utky.-GG:Y]]*L8j]$,ו&B5qrŠtk^TuqrŠtAU y<\,ו&B5f..XQNWWmkʓּ7,(Km5P,(K+IC@w,+;7\Z; r;3 tk^Tq:4eaE:Y]]*L8ksZ\,ICB\,sU\'qj<%qp~8K6Q\8c 1]]*L8j]Ř%š,c7%oB5F3leNAZAZ٪MyLwrzi8и N-X=4HFt$? t D @   #&N~? t " rP98@􄈂j " +YN[7\ZziP=!"Jm*?Wٺ,]%޵Wc{HyƆqj~uvВ\ܬG44.&VM#eݯKƾSVM#1 sVM# +dqj~zWX=4LV =f@GYm:]Z7czg[:; czԝVֿ{Y+ƺIrzi8и N-X=4B5F3$L@o#Fդ4ph8lqb~qܬG44.&VM#[}B5F3Sc{!#~3+]ŋ1Ƿk7wi-E & o!#޴g6HƾSVM#IūxGv%?v4t%uw]Z!jN׫k\'onkV=~QYŋ17ݍʺC{v{YCmCx,Y`? 0Z-X=4\AVM#Iūf-}դ6[o8Q݈Ŧ55Z=3e>2)hYQm6e8=j)?'+v7Imk1wڏ![z c{HyƆqj~r1wA%=_~M*#l|=,ǻدn6Sce^YYcyRve[\$1Ѵ{+yӎn5oJI}Y6ޞ3ڄ1+y[ޭ?!oj5,$չ۷mc}?|3k7݊WGj)"քx~  $L#{4o٭ZCH۹X=4ǜhh\M'GIrziź-X=4zxXγ֤zZe=_oٯ7ݍ%jN׫k\'7}޵&u})^ݶރIrzi8и N-X=4J+G,ՃH#YDc;oIy4]h#۵}؍v+^5b3Yrz߳_o֤z{2n1P~lW:#gBWbS#5' ʓRv[Z$L3e`?qpA4Zzifbݷn7oYNXkByk(g|+ ՃH3ɻ]Ў=_Η7d}mf7xZ` P;TKE r(aibDP;Hab.-X=4εh4P;Ha=f@GZ|c4X_+ۏ6%Ţ90`? )j@Y9ūFtP'e-c;0ukCg oXπ#INR\Z(c G r6;njfo`?qpA4Zzi鵳Jy4oƻ۴;ݍVM#Iūf-}'ƒ`?HӔ9#NJ-X=4μ^D4#wݍ3yD3P$!,\x QTFrzi$i%G3:yВ\A鵳=t~?Aorzi8и N-X=4γ1nLlMp"8) A 0% 5MLF9X=4Sqj~80P<"$qFGxrziD\Zzi,%Ţ91qO80Hj ,\x QPcHPǘ'#Mū\Z(cCgfPǂ8.1~(cEIWG3 qhE qS !A@`Kk1"ȃx TQ8F9X=4 yr<Ry-X=4fC8$C5.<(תp\M%DcHT J`?YKE qa.S pN8Αk q#yD3P qҁ@8 X Df8@%a.S +X DGYmeۑ~kV>oY qv(JkYdyRa<J|kHtz{]^CFvw9lJyLwefSEY ݵp\9X=4H8`? r.H“y?t ? r;3 T,QƆqEecW (J(r((((((t"n.XP丵vn8?\ D%ƣLqcj"ָf? qaX͆8rV VM#B{VM##X=4@ՃHVM# 8GA.VM#AY-X=4J+ n-X=4\Y pV8Yɸf? qaX͆8p{v=ZW Z,ƾS5]IW۵~3IZWi_v7X=4džg8`?;j"ָf?zy7]%Jcf?/YZ;f?;H$j8`?:դ4McWmLwX=4I-X=4\Y5%ƣLq!VM#B{VM#8a4܃}o*Nރ|{4^5),Ȅzf?&P دg,j5*NjN1ܗ(j3\JFc|5Y"GlxͨuJXT~m]%Ũ)7'`tVcW'o),:z<}خpLύnckBKS:70mԝ)ccXTL֠Po{QyR~FV&SY#kHtzx3Ԧ;݊W %Śn9Lq!VM#=#h`? qhc6M 17,b67g֭!=+cyRv٥BKwY Ze9Lwpqb~y_kʓجO@opqb~v#bgKkVjl޾l߬sH}o*L$)b]:zm06UZ#mr26I am7ݍ1>|miO1]gŖx}* %یݟ!Irv+_6gu+֐>2mx>3Z!݊Wov6WbP~ĄdF3$M)61~ՃH%š,c7ѿfi #E{c#ݍ7'oA=Q+Ȅzun`{6Fo^ me֑ 0V'AR{;,GWciLpOcn,Yfi ݍ Ai6Y_s}-_KZC#ckFK5HiHE{c#ݍض[!$L })=f7ߒv:F~KYvf< 9PHm_kʓ/ͱ6v+^9$v2Wlemam֤+_i.Qcg丕jqvj3EP ;WGSr3jAbKQdI'oYv+_f6=f4#r3-Y"M^2=_ĄdF3f4$)}F}oܗcWmLw}vyR~SIf8ټgIدo)GkY+jn-X=4JJ;ImkܒLwoG7; $>JD{LGF"C|{H57Gfk][W>J>JJ;X=4N VM#ҽ~VM#Imkۇ`?Lbqj~uvr4oƱ}؍v+FԖi1_v#?+.݊Wve8}o*L#Ҽlx4_kʓ  x7j-\'1~ՃH&1ەvokV Io,1̦8v(Irdc9*OHE}_ѻKv7IAƒ`? Mū֤z2dxIݮm,X9*On!_~^$LEo,X#_I~*(CQ9ūJŻoݯoҾ,7ݍb?v7b<$i19X=4džg8`? qhc6MvQ1̦;܋[V!re[Glcȵhόfi ۴;ݍ2&?grHFwX=4EPZ\Zzi=tY]e1Z+{5Hl~ݥ1݈ߐeG?v7b7Y]e1Zݵ+`?@-ūK 8H P c3 q#g  @`qfa.,qc9 rzi ՃH%š,c7,XیݟZWc|Iofkƻב /)ޝf6FjNcXTyYv+_6OW0"+F濭Jb8ىRa> JV>~6ޱ1̦8$Yo} 17,畸ݍY]e1Z+{5Hl,&7k]_ޞ6Y-lcy.S,XΗ7g֭!=޳ n&YRwr;f?%Ĭf;W{Q($x 6njڇPhtIۗP د`\Z; r+cyRv Ef=خ+x=_{7ݍn`%o+pl?q`oXoefSK]V;x+#n3v~6OW4#>Lo|A=_ڄ݈|H=v{pTK+ n-X=4+{}ٿj)" c{v#o:\5HlY]e1Z=3^CҾC$iG r`?;gG.S7ǷkjGݍVM#PG-X=4γ1nһg5|Ij5f-׸) A 0% 5MLF9X=4Sqj~83*ב %d`? qՃH3-4̶cx21yWVm\P<"$qFS73 qhE qS !A@`Kk511NG/Cb(57fCXj8K\(3`,"E DN<"X@Zi@ F*(ǜk3XN0)2϶yRv}h޵#7ݍ#YDc;o֠ۑd٭ZCHOYxYj5;CŘ %d`?c5ūf-}դ6[nB5F3b7۵&$#&b1,] h߳Z#YDc;n`?c5ūI7]o)b7ev+^h#u>F)gzhv41 %cHTsVM#) ~)7s:@pS(0E(,^7uZD9Z.XQ@9EQEQEQEQEQEVvn丵vn8?\ D%ƣLqc^7uZEŋ1K l1ƛLpS@NIӟ~:ゟG)NN#p PB5F3.XQEQEQ@ QEQEQEQEQEQEQEQEVvn28 b> P8,(`q@O'yKqp0)i1qfiKG ra 18ÈFuŋ1K l1ƛGk(g}؍kHc;?v7*ב Rv[Z丳M)6pPxL8c4X8,.,+YnJ=jI`oGV[mi g|]Z!jN׫k\iG qf,p)VM#qj~0B5F3Sc{HTQ8GYm۵~3~m@KQ\gjIqhE 3X=4 yaf"ՃHPxOfBIqhE 3X=4 ydqj~u<}'3E3k`\Z(cC VM#qZzik(gBIqh,5%b|{HTQ8G!#ЏfP`ܬG⢌yƸ`?9Q΄J`񵨴}_x+q-X=4B5F3leNA$X=4Eqj~r1imovύG6?g)ݮm3ʔYN[Z-]i. G r(dYoֱ#^T5kҾ͌ՓW*KE r(dYb\P'ZďyRaP"?YVb-ok!%Ţ90%;|kX%Ţ8p)oEvǏ#Q͏3i-+f"Wl~Uֱ"CXj8K˱]٭z6SIok^b71}_{vǏ#Q͏ߌ#2>ckv+fV c{Uڻu]٭<}hϯOv%`6Ў0i)&oj[Wnv5m=~sZzi$LܬG⢌yƸ`?:ŻoM3-\P<"$qFGxrziD\Zzi,%Ţ91qO80Hj ,\x QPcHPǘ'#Mū\Z(cCgfPǂ8.1~(cEIWG3 qhE qS !A@`Kk1"ȃx TQ8F9X=4 yr<Ry-X=4fCXj8K+p:#glՃH%bcx21A:Ev뾺7k[x|njkX&ڵIvύG6?g+zەuzqFk1ZN@/W7k[mOv45?晒ҹVb-ok!$G @x`$@@(& ScE`j0M#pq1Aa0H$jބ 1 1z@H `PX 8H>X>';O ./usr/share/man/info/en_US/xlf/html/lr35.htmp/$    -et<=>alnor /ERTcdhis"ABILNOPSbfgmpu,.0149:CDFGHMwxy!+2358;UVWY_jv#()67QX\|kq{}K[]`HAaTH $%R#=C\sR" 8I1" Aá &ZQmmv G ԩi9MEkZֵkZֵkZֵkZֵkZֵkw9o@H<@4,* ]9NLXg,`B@`9o>SE)5֔p H\@x(ҎÍO9@qͶosD2435+xl#)kJ!X4<*e^Q˛,3uRI7(s"A"AةE֍(Y5q|W֫ZX%IRT*kV 2B*8*$ ;JyRD!GHrDXyT&HQsXpɛ7BIL.GP&n֔tId Q$ʤ2BҞaT&HQaRD!GFspS-j1NFn+ZW։ӥ,Ȑss 9A? ]Eu;Qq$oVV_/okҌsoZ- p̍α։j*$ ;1 ldw%)aRD!Gi zd(+ |]h֭©"L \<1IdKA/`+ 9A?4ŲQ]iG<{yDPs 8qլBI֔r6|MЭ"*Nu|!$tVkHJe8izE:S>*e(ѥMЭ"*N/+ɛ7BILd+ūN)ҚS9J.i@@k>oͯ_>9}+HJTF ֭i Rw^exizE:P+)E֍(I7(<>oP,p=Zk>oͯ_>9}+HJ\+Zs &ZQE3Mg)I7B;ɪzij- aG0(9a"=Ž!r ֭gMٵͦ|t;ӣ/Z+Σpτ$ aG0(9"|@x@b+(s(aG0Q9NWaAaGokV &ZQEI7B;֫,RJeZ˧#U_?Ye:]yO)F*To,\)*_FWxNYRD!GAIdw5ϊ]u|!$tVu RfiGH~aT&HQȠ5LH>X>'; ./usr/share/man/info/en_US/xlf/html/lr350.htmp/$ Chapter 14. OpenMP Execution Environment and Lock Routines XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+


Chapter 14. OpenMP Execution Environment and Lock Routines

The OpenMP specification provides a number of routines which allow you to control and query the parallel execution environment.

Parallel threads created by the run-time environment through the OpenMP interface are considered independent of the threads you create and control using calls to the Fortran Pthreads library module. References within the following descriptions to "serial portions of the program" refer to portions of the program that are executed by only one of the threads that have been created by the run-time environment. For example, you can create multiple threads by using f_pthread_create. However, if you then call omp_get_num_threads from outside of an OpenMP parallel block, or from within a serialized nested parallel region, the function will return 1, regardless of the number of threads that are currently executing.

The OpenMP execution environment routines are:

Included in the OpenMP run-time library are two routines that support a portable wall-clock timer. The OpenMP timing routines are:

The OpenMP run-time library also supports a set of simple and nestable lock routines. You must only lock variables through these routines. Simple locks may not be locked if they are already in a locked state. Simple lock variables are associated with simple locks and may only be passed to simple lock routines. Nestable locks may be locked multiple times by the same thread. Nestable lock variables are associated with nestable locks and may only be passed to nestable lock routines.

For all the routines listed below, the lock variable is an integer whose KIND type parameter is denoted either by the symbolic constant omp_lock_kind, or by omp_nest_lock_kind.Please note that the predefined lock variables are defined inside the omp_lib module which is not an intrinsic data type.

This variable is sized according to the compilation mode. It is set either to '4' for 32-bit applications or '8' for 64-bit non-Large Data Type (LDT) applications and 64-bit LDT applications.

OpenMP provides the following simple lock routines:

OpenMP provides the following nestable lock routines:

Note:
You can define and implement your own versions of the OpenMP routines. However, by default, the compiler will substitute the XL Fortran versions of the OpenMP routines regardless of the existence of other implementations, unless you specify the -qnoswapomp compiler option. For more information, see User's Guide.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] REF=" kBA$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr351.htmp/$ omp_destroy_lock XL Fortran for AIX V8.1.1

Language Reference

omp_destroy_lock

This subroutine dissassociates a given lock variable from all locks. You have to use omp_init_lock to reinitialize a lock variable that has been destroyed with a call to omp_destroy_lock before using it again as a lock variable.

Note:
If you call omp_destroy_lock with a lock variable that has not been initialized, the result of the call is undefined.

Argument Type and Attributes

Type integer with kind omp_lock_kind.

Examples

For an example of how to use omp_destroy_lock, see omp_init_lock


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] s of t k긔$% kf>H>X>';% ./usr/share/man/info/en_US/xlf/html/lr352.htmp/$ omp_destroy_nest_lock XL Fortran for AIX V8.1.1

Language Reference

omp_destroy_nest_lock

|This subroutine initializes a nestable lock variable causing the |lock variable to become undefined. The variable nvar must be |an unlocked and initialized nestable lock variable.

Note:
: If you call omp_destroy_nest_lock using a variable that is not initialized, the result is undefined.

Argument Type and Attributes

Type integer with kind omp_nest_lock_kind.

Examples

      USE omp_lib
      INTEGER(kind=omp_nest_lock_kind) LOCK
      CALL omp_destroy_nest_lock(LOCK)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] of k(C$kf>H>X>';./usr/share/man/info/en_US/xlf/html/lr353.htmp/$ omp_get_dynamic XL Fortran for AIX V8.1.1

Language Reference

omp_get_dynamic

The omp_get_dynamic function returns .TRUE. if dynamic thread adjustment by the run-time environment is enabled, and .FALSE. otherwise.

|Argument Type and Attributes

|There are no arguments to this function.

Result Type and Attributes

Default logical.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k2$` kf>H>X>';` ./usr/share/man/info/en_US/xlf/html/lr354.htmp/$ omp_get_max_threads XL Fortran for AIX V8.1.1

Language Reference

omp_get_max_threads

This function returns the maximum number of threads that can execute concurrently in a single parallel region. The return value is equal to the maximum value that can be returned by the omp_get_num_threads function. If you use omp_set_num_threads to change the number of threads, subsequent calls to omp_get_max_threads will return the new value.

The function has global scope, which means that the maximum value it returns applies to all functions, subroutines, and compilation units in the program. It returns the same value whether executing from a serial or parallel region.

You can use omp_get_max_threads to allocate maximum-sized data structures for each thread when you have enabled dynamic thread adjustment by passing omp_set_dynamic an argument which evaluates to .TRUE.

|Argument Type and Attributes

|There are no arguments to this function.

Result Type and Attributes

Default integer.

Result Value

The maximum number of threads that can execute concurrently in a single parallel region.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  ki$kf>H>X>';./usr/share/man/info/en_US/xlf/html/lr355.htmp/$ omp_get_nested XL Fortran for AIX V8.1.1

Language Reference

omp_get_nested

The omp_get_nested function returns .TRUE. if nested parallelism is enabled and .FALSE. if nested parallelism is disabled.

|Argument Type and Attributes

|There are no arguments to this function.

Result Type and Attributes

Default logical.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] r  kP$kf>H>X>';./usr/share/man/info/en_US/xlf/html/lr356.htmp/$ omp_get_num_procs XL Fortran for AIX V8.1.1

Language Reference

omp_get_num_procs

The omp_get_num_procs function returns the number of online processors on the machine.

|Argument Type and Attributes

|There are no arguments to this function.

Result Type and Attributes

Default integer.

Result Value

The number of online processors on the machine.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] t_ k0$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr357.htmp/$ omp_get_num_threads XL Fortran for AIX V8.1.1

Language Reference

omp_get_num_threads

The omp_get_num_threads function returns the number of threads in the team currently executing the parallel region from which it is called. The function binds to the closest enclosing PARALLEL directive.

The omp_set_num_threads subroutine and the OMP_NUM_THREADS environment variable control the number of threads in a team. If you do not explicitly set the number of threads, the run-time environment will use the number of online processors on the machine by default.

If you call omp_get_num_threads from a serial portion of your program or from a nested parallel region that is serialized, the function returns 1.

|Argument Type and Attributes

|There are no arguments to this function.

Result Type and Attributes

Default integer.

Result Value

The number of threads in the team currently executing the parallel region from which the function is called.

Examples

      USE omp_lib
      INTEGER N1, N2
 
      N1 = omp_get_num_threads()
      PRINT *, N1
!$OMP PARALLEL PRIVATE(N2)
      N2 = omp_get_num_threads()
      PRINT *, N2
!$OMP END PARALLEL

The omp_get_num_threads call returns 1 in the serial section of the code, so N1 is assigned the value 1. N2 is assigned the number of threads in the team executing the parallel region, so the output of the second print statement will be an arbitrary number less than or equal to the value returned by omp_get_max_threads.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] /A> H>X>';./usr/share/man/info/en_US/xlf/html/lr358.htmp/$ omp_get_thread_num XL Fortran for AIX V8.1.1

Language Reference

omp_get_thread_num

|This function returns the number of the currently executing thread |within the team. The number returned will always be between 0 and |NUM_PARTHDS - 1. NUM_PARTHDS is the number of |currently executing threads within the team.The master thread of the |team returns a value of 0.

If you call omp_get_thread_num from within a serial region, from within a serialized nested parallel region, or from outside the dynamic extent of any parallel region, this function will return a value of 0.

This function binds to the closest parallel region.

Result Type and Attributes

Default integer.

Result Value

|The value of the currently executing thread within the team between |0 and NUM_PARTHDS - 1. NUM_PARTHDS is the number of |currently executing threads within the team. A call to |omp_get_thread_num from a serialized nested parallel region, or from |outside the dynamic extent of any parallel region returns 0.

Examples

      USE omp_lib
      INTEGER NP
 
!$OMP PARALLEL PRIVATE(NP)
      NP = omp_get_thread_num()
      CALL WORK(NP)
!$OMP MASTER
      NP = omp_get_thread_num()
      CALL WORK(NP)
!$OMP END MASTER
!$OMP END PARALLEL
      END
 
      SUBROUTINE WORK(THD_NUM)
      INTEGER THD_NUM
      PRINT *, THD_NUM
      END


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] TRONG>o kC$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr359.htmp/$ omp_get_wtick XL Fortran for AIX V8.1.1

Language Reference

omp_get_wtick

The omp_get_wtick function returns a double precision value equal to the number of seconds between consecutive clock ticks.

|Argument Type and Attributes

|There are no arguments to this function.

Result Type and Attributes

Double precision real.

Result Value

The number of seconds between consecutive ticks of the operating system real-time clock.

Examples

      USE omp_lib
      DOUBLE PRECISION WTICKS
      WTICKS = omp_get_wtick()
      PRINT *, 'The clock ticks ', 10 / WTICKS, &
      ' times in 10 seconds.'
 


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] h l$ kf>H>X>';B./usr/share/man/info/en_US/xlf/html/lr36.htmp/$    aet<>cilnors -/=ADITdghmp".CEHLMNOPRSbfuv,0134:BFGVwxy#289UX_!567;WYkq%+Q\jz|(){}K[]'h !dɂG38q礢\rDShsG E'Px27Zyyӈ]!ei&5)pZrZ          k@S2iARd@2  HAu};#9Mya?KŅ 9ƴ8NalJr&DI. N $ sh q6Dޘi2tftA@Wq5)tcH,+3q^B) y:M醐k@S಼>frc%\yLWysh q\f0}'/:uaWu1L ya?Zw*E"|LG8io# _C9ƴQ 5@D$TWHHrN@+ΜZ9P]-l.>:ZAaK?.bJ-srBP޻:Z|˃[돜 1]-l־X-&2[J86rl'*Ng8֐0kAckG0,aׯfsܾ 3>볥̿dn&3t3r\xCkqDz$R(48S#^ i軗;usnZx鸜-n{&c}vt7Zf鹣pZ9^^t+_;JPQʨP{ݤ &cb'>ኚr$`oΖw_2{5M.^_UBZ"cyU "{c$`lDͫ8+׳9_ k_ٍxZxB -}]<%ﴪ pD"ʨPrћνr$`oΖk_l19 5M.^_UB"ZyU "{c$`lDY1SW9_ k_o`~bQ'5Y˧Ҫ$D=  HO*BDC뷸KA%Wk^,֞=74znBG+{lO {*BDCܒ*"ʨPz1:{xJ F+/f9{ oq{&c}vt7Z<r7W?q]<%ﴪ pD"ʨPz1 q|=vt_ ͆'!f鹣pq?a9zeLGy,rWL/M^oܧ:Hzg>1Ά:Z|a|Iٺ[Af鹣pq?a9zeLGy,rW{׳9|*BDCU< w iU ""cyU "{c{3I]-l־eٱ{5M1b,^r$`oΖw_2q*mٱ{5Mf-,^r$`oΖw_2q*,֞=74XnGBG>{՞W{{ !?2Wegc{ L@$Tj,s{|f0|7gK[;u?Ck{߂L]-l֢i7#!eW+=K3䯅|3q?4Ff -^_ j׺&c}vt_2{ 55r=T(H{ 5P"!c%Fa]% |%||ل% 97LW_WVq/r7̿1LZM|?gK[;uZM7HYhzO}oaR~'_,c~{_i䟊# _3t}^u/ j%^cMΖwQf鹣rX^GC9&c=_)!eٜupkg|n ?$@#q_ǫ8+|*BDCp[3\bʨPw͆aga9 5MΜZ9_2\ DϫupJ E'#j>ኃlؽ|+zq?iU "ٜA\/f#5P"! 9CfrkO=7"cf_ǫ8+|*BDCp)O*BDC6r͝/+_W وnK 洛vXxP,r(UҪ$D=8ʨPrL'&%|\ P Wx^t#_9}_:^G}svZFŮFfN]akOx,{isO$=&(5 p8888888%|Hq['#8888888\ɔq&(憸] (. 'k`)6|v4]OjH>X>'; ./usr/share/man/info/en_US/xlf/html/lr360.htmp/$ omp_get_wtime XL Fortran for AIX V8.1.1

Language Reference

omp_get_wtime

The omp_get_wtime function returns a double precision value equal to the number of seconds since the initial value of the operating system real-time clock. This value is guaranteed not to change during execution of the program.

The value returned by the omp_get_wtime function is not consistent across all threads in the team.

|Argument Type and Attributes

|There are no arguments to this function.

Result Type and Attributes

Double precision real.

Result Value

The number of seconds since the initial value of the operating system real-time clock.

Examples

      USE omp_lib
      DOUBLE PRECISION START, END
      START = omp_get_wtime()
!     Work to be timed
      END = omp_get_wtime()
      PRINT *, 'Stuff took ', END - START, ' seconds.'
 


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k%$m kf>H>X>';m ./usr/share/man/info/en_US/xlf/html/lr361.htmp/$ omp_in_parallel XL Fortran for AIX V8.1.1

Language Reference

omp_in_parallel

The omp_in_parallel function returns .TRUE. if you call it from the dynamic extent of a region executing in parallel and returns .FALSE. otherwise. If you call omp_in_parallel from a region that is serialized but nested within the dynamic extent of a region executing in parallel, the function will still return .TRUE.. (Nested parallel regions are serialized by default. See omp_set_nested and the environment variable OMP_NESTED in the User's Guide for more information.)

Result Type and Attributes

Default logical.

Result Value

.TRUE. if called from the dynamic extent of a region executing in parallel. .FALSE. otherwise.

Examples

      USE omp_lib
      INTEGER N, M
      N = 4
      M = 3
      PRINT*, omp_in_parallel()
!$OMP PARALLEL DO
      DO I = 1,N
!$OMP   PARALLEL DO
        DO J=1, M
          PRINT *, omp_in_parallel()
        END DO
!$OMP   END PARALLEL DO
      END DO
!$OMP END PARALLEL DO

The first call to omp_in_parallel returns .FALSE. because the call is outside the dynamic extent of any parallel region. The second call returns .TRUE., even if the nested PARALLEL DO loop is serialized, because the call is still inside the dynamic extent of the outer PARALLEL DO loop.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k$I kf>H>X>';I ./usr/share/man/info/en_US/xlf/html/lr362.htmp/$ omp_init_lock XL Fortran for AIX V8.1.1

Language Reference

omp_init_lock

The omp_init_lock subroutine initializes a lock and associates it with the lock variable passed in as a parameter. After the call to omp_init_lock, the initial state of the lock variable is unlocked.

Note:
If you call this routine with a lock variable that you have already initialized, the result of the call is undefined.

Argument Type and Attributes

Integer of kind omp_lock_kind.

Examples

      USE omp_lib
      INTEGER(kind=omp_lock_kind) LCK
      INTEGER ID
      CALL omp_init_lock(LCK)
!$OMP PARALLEL SHARED(LCK), PRIVATE(ID)
      ID = omp_get_thread_num()
      CALL omp_set_lock(LCK)
      PRINT *,'MY THREAD ID IS', ID
      CALL omp_unset_lock(LCK)
!$OMP END PARALLEL
      CALL omp_destroy_lock(LCK)

In the above example, one at a time, the threads gain ownership of the lock associated with the lock variable LCK, print the thread ID, and release ownership of the lock.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] use the k`,$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr363.htmp/$ omp_init_nest_lock XL Fortran for AIX V8.1.1

Language Reference

omp_init_nest_lock

The omp_init_nest_lock subroutine allows you to initialize a nestable lock and associate it with the lock variable you specify. The initial state of the lock variable is unlocked, and the initial nesting count is zero. The value of nvar must be an unitialized nestable lock variable.

Note:
If you call omp_init_nest_lock using a variable that is already initialized, the result is undefined.

Argument Type and Attributes

Integer of kind omp_nest_lock_kind.

Examples

      USE omp_lib
      INTEGER(kind=omp_nest_lock_kind) LCK
      CALL omp_init_nest_lock(LCK)

For an example of how to use omp_init_nest_lock, see omp_set_nest_lock.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 02.ht kN$L kf>H>X>';L ./usr/share/man/info/en_US/xlf/html/lr364.htmp/$ omp_set_dynamic XL Fortran for AIX V8.1.1

Language Reference

omp_set_dynamic

The omp_set_dynamic subroutine enables or disables dynamic adjustment, by the run-time environment, of the number of threads available to execute parallel regions.

If you call omp_set_dynamic with a scalar_logical_expression that evaluates to .TRUE., the run-time environment can automatically adjust the number of threads that are used to execute subsequent parallel regions to obtain the best use of system resources. The number of threads you specify using omp_set_num_threads becomes the maximum, not exact, thread count.

If you call the subroutine with a scalar_logical_expression which evaluates to .FALSE., dynamic adjustment of the number of threads is disabled. The run-time environment cannot automatically adjust the number of threads used to execute subsequent parallel regions. The value you pass to omp_set_num_threads becomes the exact thread count.

By default, dynamic thread adjustment is enabled. If your code depends on a specific number of threads for correct execution, you should explicitly disable dynamic threads.

Note:
The number of threads remains fixed for each parallel region. The omp_get_num_threads function returns that number.

This subroutine has precedence over the OMP_DYNAMIC environment variable.

Result Type and Attributes

Default logical.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] Bot_ k꠶$/ kf>H>X>';/ ./usr/share/man/info/en_US/xlf/html/lr365.htmp/$ omp_set_lock XL Fortran for AIX V8.1.1

Language Reference

omp_set_lock

The omp_set_lock subroutine forces the calling thread to wait until the specified lock is available before executing subsequent instructions. The calling thread is given ownership of the lock when it becomes available.

Note:
If you call this routine with a lock variable that has not been initialized, the result of the call is undefined. Also, if a thread that owns a lock tries to lock it again by issuing a call to omp_set_lock, it will produce a deadlock.

Argument Type and Attributes

omp_lock_kind.

Examples

      USE omp_lib
      INTEGER(kind=omp_lock_kind) LCK_X
      CALL omp_init_lock (LCK_X)
!$OMP PARALLEL PRIVATE (I), SHARED (A, X)
!$OMP DO
      DO I = 3, 100
        A(I) = I * 10
        CALL omp_set_lock (LCK_X)
        X = X + A(I)
        CALL omp_unset_lock (LCK_X)
      END DO
!$OMP END DO
!$OMP END PARALLEL
      CALL omp_destroy_lock (LCK_X)

In this example, the lock variable LCK_X is used to avoid race conditions when updating the shared variable X. By setting the lock before each update to X and unsetting it after the update, you ensure that only one thread is updating X at a given time.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] t k0"$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr366.htmp/$ omp_set_nested XL Fortran for AIX V8.1.1

Language Reference

omp_set_nested

The omp_set_nested subroutine enables or disables nested parallelism.

If you call the subroutine with a scalar_logical_expression that evaluates to .FALSE., nested parallelism is disabled. Nested parallel regions are serialized, and they are executed by the current thread. This is the default setting.

If you call the subroutine with a scalar_logical_expression that evaluates to .TRUE., nested parallelism is enabled. Parallel regions that are nested can deploy additional threads to the team. It is up to the run-time environment to determine whether additional threads should be deployed. Therefore, the number of threads used to execute parallel regions may vary from one nested region to the next.

This subroutine takes precedence over the OMP_NESTED environment variable.

Result Type and Attributes

Default logical.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ven t kG$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr367.htmp/$ omp_set_nest_lock XL Fortran for AIX V8.1.1

Language Reference

omp_set_nest_lock

|The omp_set_nest_lock subroutine allows you to set a |nestable lock. The thread executing the subroutine will wait until the |lock becomes available and then set that lock, incrementing the nesting |count. A nestable lock is available if it is owned by the thread |executing the subroutine, or is unlocked.

Argument Type and Attributes

Integer of kind omp_nest_lock_kind.

Examples

USE omp_lib
INTEGER P
INTEGER A
INTEGER B
INTEGER ( kind=omp_nest_lock_kind ) LCK
 
CALL omp_init_nest_lock ( LCK )
 
!$OMP PARALLEL SECTIONS
!$OMP SECTION
CALL omp_set_nest_lock ( LCK )
P = P + A
CALL omp_set_nest_lock ( LCK )
P = P + B
CALL omp_unset_nest_lock ( LCK )
CALL omp_unset_nest_lock ( LCK )
!$OMP SECTION
CALL omp_set_nest_lock ( LCK )
P = P + B
CALL omp_unset_nest_lock ( LCK )
!$OMP END PARALLEL SECTIONS
 
CALL omp_destroy_nest_lock ( LCK )
END
 


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] "lr366 k갃$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr368.htmp/$ omp_set_num_threads XL Fortran for AIX V8.1.1

Language Reference

omp_set_num_threads

The omp_set_num_threads subroutine tells the run-time environment how many threads to use in the next parallel region. The scalar_integer_expression that you pass to the subroutine is evaluated, and its value is used as the number of threads. If you have enabled dynamic adjustment of the number of threads (see omp_set_dynamic), omp_set_num_threads sets the maximum number of threads to use for the next parallel region. The run-time environment then determines the exact number of threads to use. However, when dynamic adjustment of the number of threads is disabled, omp_set_num_threads sets the exact number of threads to use in the next parallel region.

This subroutine takes precedence over the OMP_NUM_THREADS environment variable.

Note:
If you call this subroutine from the dynamic extent of a region executing in parallel, the behavior of the subroutine is undefined.

Argument Type and Attributes

Integer.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ten k*$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr369.htmp/$ omp_test_lock XL Fortran for AIX V8.1.1

Language Reference

omp_test_lock

The omp_test_lock function attempts to set the lock associated with the specified lock variable. It returns .TRUE. if it was able to set the lock and .FALSE. otherwise. In either case, the calling thread will continue to execute subsequent instructions in the program.

Note:
If you call omp_test_lock with a lock variable that has not yet been initialized, the result of the call is undefined.

Result Type and Attributes

Default logical.

Argument Type and Attributes

Integer of kind omp_lock_kind.

Result Value

.TRUE. if the function was able to set the lock. .FALSE. otherwise.

Examples

|      USE omp_lib
|      INTEGER LCK
|      INTEGER ID
|      CALL omp_init_lock (LCK)
|!$OMP PARALLEL SHARED(LCK), PRIVATE(ID)
|      ID = omp_get_thread_num()
|      DO WHILE (.NOT. omp_test_lock(LCK))
|        CALL WORK_A (ID)
|      END DO
|      CALL WORK_B (ID)
|      CALL omp_unset_lock (LCK)
|!$OMP END PARALLEL
|      CALL omp_destroy_lock (LCK)

In this example, a thread repeatedly executes WORK_A until it can set LCK, the lock variable. When it succeeds in setting the lock variable, it executes WORK_B.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k($T kf>H>X>';T ./usr/share/man/info/en_US/xlf/html/lr37.htmp/$ Chapter 4. Array Concepts XL Fortran for AIX V8.1.1

Language Reference


Chapter 4. Array Concepts

Fortran 90 and Fortran 95 provide a set of features, commonly referred to as array language, that let programmers manipulate arrays. This chapter provides background information on arrays and array language:

Related Information:


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] il i kH>X>'; ./usr/share/man/info/en_US/xlf/html/lr370.htmp/$ omp_test_nest_lock XL Fortran for AIX V8.1.1

Language Reference

omp_test_nest_lock

The omp_test_nest_lock subroutine allows you to attempt to set a lock using the same method as omp_set_nest_lock but the execution thread does not wait for confirmation that the lock is available. If the lock is successfully set, the function will increment the nesting count. If the lock is unavailable the function returns a value of zero. The result value is always a default integer.

Argument Type and Attributes

Integer of kind omp_nest_lock_kind.

Result Value

.TRUE. if the function was able to set the lock. .FALSE. otherwise.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] pter kS$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr371.htmp/$ omp_unset_lock XL Fortran for AIX V8.1.1

Language Reference

omp_unset_lock

This subroutine causes the executing thread to release ownership of the specified lock. The lock can then be set by another thread as required.

Note:
The behavior of the omp_unset_lock subroutine is undefined if either:
  • The calling thread does not own the lock specified, or
  • The routine is called with a lock variable that has not been initialized.

Result Type and Attributes

Integer of kind omp_lock_kind.

Examples

For an example of how to use omp_unset_lock, see omp_set_lock.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] L> pter k$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr372.htmp/$ omp_unset_nest_lock XL Fortran for AIX V8.1.1

Language Reference

omp_unset_nest_lock

The omp_unset_nest_lock subroutine allows you to release ownership of a nestable lock. The subroutine decrements the nesting count and releases the associated thread from ownership of the nestable lock.

Result Type and Attributes

Integer of kind omp_nest_lock_kind.

Examples

For an example of how to use omp_unset_nest_lock, see omp_set_nest_lock.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] _S lP$nkf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr373.htmp/$    er-<=>adinost "/ANRTchlpu.0DEGHIMOPSXbfgmy,149:BCFLUV_vw!#23678;Ykx)5QW\|(+jz{}'[]Kpi0r CDsڂG(T(HC 䏁 !8F(EAZ,_7K[LMU+Pso 3!oO߽{{{{{80"4 Ȥ)'![BB.V;K7"uaB¸A@'"79Vq|q,N"J4"X zӅX0~ ZNV ̭~D4]Zp3+^r٢!|Bj-|{rV3no"K8 }E3hk)~#lt٫|NfVk`soy2V7iS}_f\lpʣSUl+/VVw[ %ë lq!#DcJÉy+b-cfu]mBe:o_;[r2^e:o_=܌h sl]m#D)u#+q 鰎RnFV/a%$9Dy(0'Z_)vm?IA(. ]Z m >8PG$D{,J7Éy>H# 豼0`#a@sQAE 4p "DI OOPrJKNkZֵkZֵkZֵkZֵn@6@cs' "Hs 52ʑ, ZPrJ Orb$]mBe:o_0r`s"Hs"4P,,|09$9X( >AzHȍ, >AzHȍ,0ar#DDi`'#R -܌&_c*ɕ'Q2i6.d 4cN0U+ѿ2Q}ͱ՛ΙozQgF/b*³gDn܌י}[:$Kv.entߝ6{#]|^`iǺlVo:e{kPwkzyւfMgh.eK昊tukKtyl*dl]mQ2i^e:o_ÜUDɤ>DrTLCt;z>iƒ]d.ƇD7y:xQ2i;YUQ2il2^)KqHclVo:exΗ9R+?r8Wg&M! 4ÊuWySV7uuYX[2Cgft_F+F\˳]󤦬o:*vruowrV awicݯnzyӇo[-7kZ-)獸}vyg7ZZ/H [-7kZ-N]ƞv֖[:1ZJt2r$K|ݮk,􉬰]&M!E!$DU&ylhr_&ǺvլH|HI UDɤ>,/|z4|9y=gV}[98H|fڄ!U&zӢDRjt1]5δ/Vo{V+nwrV l8>}9K[27Պ#3l-ɱΆySv:UUYKqrAIPop_O l꺐$#kf>H>X>';=./usr/share/man/info/en_US/xlf/html/lr374.htmp/$   <_t">AEHRTaer /=CDFILPdhilmnops#.34MNOScfu-01289Ubgx567:BGXYky!,;KVWw(Q\jvz|)Z{}J[]qrT$ EqhyeCT ,sPj/F<F/KԽxu~CLlYa*x@}'f!DbUc%jkEaaaaaaaaaaa`@C # T@R-,@T Vx?L<-LC0 ;V3pp}"6j0)è 84 Xj/+ fff<B0Xk-ݦo_Ul yZd[.^ɊU#fx6kUĮVX(nffff`@C #`-kno'f'TAOo3333333333333V݀lLK*F,c7l̶Nٿ~x?3333333333V ! a*Y2k[ eHj(n+FƐRD YcDŽP՝HjzEJݻy@``4 )+FƐRD m'_nGGPVL܃Wx h*Q @{ul :C}$7 ,$$f##yZ64JH" 9$XEof݆H!_$7 ,$$ @HH;V5ڱd[m(,6eXO$V,ޗr yZB߰+U;_CO1\$,RGGSCKکW>;ٽ.-hr8h@K/j~N'0$,R3*Jqhu\ש{U>" pyZZ(?QA yZCE)뉑?Ət)I\ש{U>" \VP~%8cJzdt)poQ%zSu\VP~%8c@=q2:gThu" 9乯R|?~N'0`H=q2:gThu" )>K/j˓\VP~%8cbRS㍏Q%zSX#n.+KE(?aO1\`,R3*JqG<5^OKAdr)O\L@DJ<6EK'V_KAdrS#Q Mswjt<-"'셿a6&:Vv%8cHX=q&H` V&njׯ ,eCꇓ` b>ޗr94xԠmV)łRSRB ss^Tݐ~N',&GLJ`wBCH""Kک"_N',)O\L%8)>ƈf(KکXRW"P~)ņS#%IN0;JOqe5%zS߄-Rɵ[}.+KE(?aO1\X`P=q2:gT6Q9!h5%zS߄-RɴʑpyZZ(?QA yZ)뉑?Х'ЁҋK/j["VP~)ņ &GLJ`wBBD:ny.kԽW!ooDTӾN',0`=q2:gT  qss^T {R P~)ņ)뉑?Х'By.kԽW N',0)O\L%8)>!@)<5^O~nޝToP~)ņ S#%IN0;JOFf(KکaK]_lOKAdr)O\L%8)>!6Q9(N\\ש{U>{dTmV_KAdr)O\L%8)>!6Q9!h5%zSߛEK&+*DihE2S9k &GLJ`wB=(乯R}_vȲմ<-Jq<-qabRSR @"7<5^O~nԈ:}.+KE(?aO1\XhJzdt)t)IЅ hAK/j7ooDڠ"\VÑyZB߰+U;_]O1\$,RGGS\ɰGe' ݒ~o(3u{V}VXoc(T?KƥhN',4 )O\L%86.y.kԽlN',4)O\L%85pr\\ש{U>"6ZP~)ņ)뉑?ƣK!'<5^OjMhjipyZZ(?QA yZE)뉑?0\\ש{U>#{WihE2S9k &GLJ`wDA<5^O:ihE2S9k )O\L%81 9乯R}aKAdr&GLJ`wB'% kK/jȩdڭ꾗N'0()O\L%89乯R|U.+KE(?aO1\`XP=q2:gTA\\ש{U>*\VP~%8c0R3*JqB(KکvXN'0)O\L%8!6Q9(N\\ש{U>n,UWP~ԟؘZyZ!bĚ,7RZ䙺=^,7IrT<k?KƥhN'0XH=q2:gThu" )>:$)1<5^O';7dihE2S9k)O\L%8H!JOqS@yA\ש{U>\F {WU6UeXP~) &GLJ`w A')GKک5[ڻ>VP~) )O\L%8H!JOqD% <5^O'BjVOKAdr, )O\L%8H!JO\ש{U>\FXW<-Jq<-qRSԈ2hlPE<5^O'{WU6UeXP~)  S#%IN0;R RSAE%zSk~nHN'0X`=q2:gThu" )>!$BPNss^TraߛڕP~ԟؘZyZ!bĚ,7RZ䙺=^,7IpxxoK yZ" P~))뉑?Ət)I.4H8KکXN {M[=.+KE(?aO1\`H R3*JqhB 9 9乯R|EV.+KE(?aO1\`H`=q2:gT㎅)>!$BPNss^T,'_vRz\VÑyZB߰+U;_;%8cHX=q&H s&U)_ĭrL|կ_UXYa5}VX&V[k?KƥhN',&GL"4@l\\AWN',40R3*Jqhp*cq!G<5^O|vj\VP~%8cJzdt)qD&<KکXOvA\VP~%8cJzdt)qBy.kԽeV.+KE(?aO1\`HP=q2:gTA<5^O|ڢ Um.+KE(?aO1\`HJzdt)q@lN\ש{U>" pyZZ(?QA yZF S#%IN0;8\ש{U>" UKAXr/+R~[:bcjk`P)B)4xDu80( M>,7RZ䙺=^,7RaI*GK yZ,7a< L>XyE+IڵyᬱelSj-PVW\[pRyZdr S#%IN0;FqD!H乯R|ݼX#e<-Jq<-q`Jzdt)q6(\\ש{U>nFj\VP~%8c8Jzdt)u"BqE%zS~F\VÑyZB߰+U;_N')O\IR#@e6P~ԞVߠ 6)&rUFZIbU ͆Jq<-q`b`$Ī!m. yZaJzx%Q ip~dr $sPYcǷsaO1\ ,`=q2:h: !HNz 'a.`[ 1!g?KCK? kd$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr375.htmp/$ f_maketime XL Fortran for AIX V8.1.1

Language Reference

f_maketime

This function accepts an integer value specifying a delay in seconds and returns an f_timespec type object containing the absolute time, which is delay seconds from the calling moment.

Result Value

The absolute time, which is delay seconds from the calling moment, is returned.

Examples

type(f_timespec) function f_maketime(delay)
    integer(4), intent(in):: delay
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 2:h k[$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr376.htmp/$ f_pthread_attr_destroy XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_destroy

This function must be called to destroy any previously initialized thread attribute objects when they will no longer be used. Threads that were created with this attribute object will not be affected in any way by this action. Memory that was allocated when it was initialized will be recollected by the system.

Return Codes

If errors are detected during the execution of this function, the following error code will be returned:

EINVAL
The argument attr is invalid.

Examples

integer function f_pthread_attr_destroy(attr)
    type(f_pthread_attr_t), intent(inout):: attr
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] { k$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr377.htmp/$ f_pthread_attr_getdetachstate XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_getdetachstate

This function can be used to query the setting of the detach state attribute in the thread attribute object attr. The current setting will be returned through argument detach.

Argument detach will contain one of the following values:

PTHREAD_CREATE_DETACHED:
when a thread attribute object of this attribute setting is used to create a new thread, the newly created thread will be in detached state. This is the system default.

PTHREAD_CREATE_UNDETACHED:
when a thread attribute object of this attribute setting is used to create a new thread, the newly created thread will be in undetached state.

For more information about these thread states, refer to the AIX Operating System documentation.

Return Codes

If errors are detected during the execution of this function, the following error code will be returned:

EINVAL
The argument attr is invalid.

Examples

|integer function f_pthread_attr_getdetachstate(attr, detach)
|    type(f_pthread_attr_t), intent(in):: attr
|    integer(4), intent(out):: detach
|end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] J`w ki$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr378.htmp/$ f_pthread_attr_getguardsize XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_getguardsize

This function is used to get the guardsize attribute in the thread attribute object attr. The current setting of the attribute will be returned through the argument guardsize.

Return Codes

|If this function completes successfully, value 0 is returned. |Otherwise, the following error will be returned: |

|EINVAL
|The argument attr is invalid. |

Examples

integer(4) function f_pthread_attr_getguardsize(attr, guardsize)
   type(f_pthread_attr_t), intent(in):: attr
   integer(kind=REGISTER_SIZE), intent(out):: guardsize
end function f_pthread_attr_getguardsize


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] d= k$!$c kf>H>X>';c ./usr/share/man/info/en_US/xlf/html/lr379.htmp/$ f_pthread_attr_getinheritsched XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_getinheritsched

This function can be used to query the inheritance scheduling attribute in the thread attribute object attr. The current setting will be returned through the argument inherit.

Argument inherit will contain one of the following values:

PTHREAD_INHERIT_SCHED:
indicating that newly created threads will inherit the scheduling property of the parent thread and ignore the scheduling property of the thread attribute object used to create them.

PTHREAD_EXPLICIT_SCHED:
the scheduling property in the thread attribute object will be assigned to the newly created threads when it is used to create them.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EINVAL
The argument attr is invalid.

ENOSYS
The POSIX priority scheduling option is not implemented on AIX.

Examples

integer function f_pthread_attr_getinheritsched(attr, inherit)
    type(f_pthread_attr_t), intent(in):: attr
    integer(4), intent(out):: inherit
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ="lr5 k8A$kf>H>X>';./usr/share/man/info/en_US/xlf/html/lr38.htmp/$ Arrays XL Fortran for AIX V8.1.1

Language Reference


Arrays

An array is an ordered sequence of scalar data. All the elements of an array have the same type and type parameters.

A whole array is denoted by the name of the array:

! In this declaration, the array is given a type and dimension
REAL, DIMENSION(3) :: A
! In these expressions, each element is evaluated in each expression
PRINT *, A, A+5, COS(A)

A whole array is either a named constant or a variable.

Bounds of a Dimension

Each dimension in an array has an upper and lower bound, which determine the range of values that can be used as subscripts for that dimension. The bound of a dimension can be positive, negative, or zero.

+-------------------------------IBM Extension--------------------------------+

In XL Fortran, the bound of a dimension can be positive, negative or zero within the range -(2**31) to 2**31-1. The range for bounds in 64-bit mode is -(2**63) to 2**63-1.

+----------------------------End of IBM Extension----------------------------+

If any lower bound is greater than the corresponding upper bound, the array is a zero-sized array, which has no elements but still has the properties of an array. The lower and upper bounds of such a dimension are one and zero, respectively.

When the bounds are specified in array declarators:

  • The lower bound is a specification expression. If it is omitted, the default value is 1.
  • The upper bound is a specification expression or asterisk (*), and has no default value.

Related Information:

Specification Expressions
LBOUND(ARRAY, DIM)
UBOUND(ARRAY, DIM)

Extent of a Dimension

The extent of a dimension is the number of elements in that dimension, computed as the value of the upper bound minus the value of the lower bound, plus one.

INTEGER, DIMENSION :: X(5)     ! Extent = 5
REAL :: Y(2:4,3:6)             ! Extent in 1st dimension = 3
                               ! Extent in 2nd dimension = 4

The minimum extent is zero, in a dimension where the lower bound is greater than the upper bound.

+-------------------------------IBM Extension--------------------------------+

The theoretical maximum number of elments in an array is 2**31-1 elements in 32-bit mode, or 2**63-1 elements in XL Fortran 64-bit mode. Hardware addressing considerations make it impractical to declare any combination of data objects whose total size (in bytes) exceeds this value.

+----------------------------End of IBM Extension----------------------------+

Different array declarators that are associated by common, equivalence, or argument association can have different ranks and extents.

Rank, Shape, and Size of an Array

The rank of an array is the number of dimensions it has:

INTEGER, DIMENSION (10) :: A     ! Rank = 1
REAL, DIMENSION (-5:5,100) :: B  ! Rank = 2

According to Fortran 95, an array can have from one to seven dimensions.

+-------------------------------IBM Extension--------------------------------+

An array can have from one to twenty dimensions in XL Fortran.

+----------------------------End of IBM Extension----------------------------+

A scalar is considered to have rank zero.

The shape of an array is derived from its rank and extents. It can be represented as a rank-one array where each element is the extent of the corresponding dimension:

INTEGER, DIMENSION (10,10) :: A          ! Shape = (/ 10, 10 /)
REAL, DIMENSION (-5:4,1:10,10:19) :: B   ! Shape = (/ 10, 10, 10 /)

The size of an array is the number of elements in it, equal to the product of the extents of all dimensions:

INTEGER A(5)              ! Size = 5
REAL B(-1:0,1:3,4)        ! Size = 2 * 3 * 4 = 24

Related Information

  • These examples show only simple arrays where all bounds are constants. For instructions on calculating the values of these properties for more complicated kinds of arrays, see the following sections.
  • Related intrinsic functions are SHAPE(SOURCE), and SIZE(ARRAY, DIM). The rank of an array A is SIZE(SHAPE(A)).


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] --- ke$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr380.htmp/$ f_pthread_attr_getschedparam XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_getschedparam

This function can be used to query the scheduling property setting in the thread attribute object attr. The current setting will be returned in the argument param. See the AIX system documentation for more information on the scheduling property setting.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EINVAL
The argument attr is invalid.

ENOSYS
The POSIX priority scheduling option is not implemented on AIX.

Examples

integer function f_pthread_attr_getschedparam(attr, param)
    type(f_pthread_attr_t), intent(in):: attr
    type(f_sched_param), intent(out):: param
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ND k>$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr381.htmp/$ f_pthread_attr_getschedpolicy XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_getschedpolicy

This function can be used to query the scheduling policy attribute setting in the attribute object attr. The current setting of the scheduling policy will be returned in the argument policy. The valid scheduling policies on AIX can be found in the AIX Operating System documentation.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EINVAL
The argument attr is invalid.

ENOSYS
The POSIX priority scheduling option is not implemented on AIX.

Examples

integer function f_pthread_attr_getschedpolicy(attr, policy)
    type(f_pthread_attr_t), intent(in):: attr
    integer(4), intent(out):: policy
end function
 


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] A NA kT$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr382.htmp/$ f_pthread_attr_getscope XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_getscope

This function can be used to query the current setting of the scheduling scope attribute in the thread attribute object attr. The current setting will be returned through the argument scope.

Argument scope will contain one of the following values:

PTHREAD_SCOPE_SYSTEM:
the thread will compete for system resources on a system wide scope.

PTHREAD_SCOPE_PROCESS:
the thread will compete for system resources locally within the owning process.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EINVAL
The argument attr is invalid.

ENOSYS
The POSIX priority scheduling option is not implemented on AIX.

Examples

integer function f_pthread_attr_getscope(attr, scope)
    type(f_pthread_attr_t), intent(in):: attr
    integer(4), intent(out):: scope
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kh$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr383.htmp/$ f_pthread_attr_getstackaddr XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_getstackaddr

This function is used to get the stackaddr attribute in the thread attribute object attr. The current setting of the attribute will be returned through the argument stackaddr. The type of the argument stackaddr is integer pointer. The stackaddr attribute specifies the stack address of a thread created with this attributes object.

Return Codes

If this function completes successfully, value 0 is returned. Otherwise, the following error will be returned:

EINVAL
The argument attr is invalid.

Examples

integer(4) function f_pthread_attr_getstackaddr(attr, stackaddr)
   type(f_pthread_attr_t), intent(in):: attr
   integer(4) int_template
   pointer (stackaddr, int_template)
   intent(out) stackaddr
end function f_pthread_attr_getstackaddr


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] HREF=" k4$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr384.htmp/$ f_pthread_attr_getstacksize XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_getstacksize

This function can be used to query the current stack size attribute setting in the attribute object attr. If this function executes successfully, the stack size in bytes will be returned in argument ssize.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EINVAL
The argument attr is invalid.

ENOSYS
The POSIX stack size option is not implemented on AIX.

Examples

|integer function f_pthread_attr_getstacksize(attr, ssize)
|    type(f_pthread_attr_t), intent(in):: attr
|    integer(kind=register_size), intent(out):: ssize
|end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] /A> kM$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr385.htmp/$ f_pthread_attr_init XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_init

This function must be called to create and initialize the pthread attribute object attr before it can be used in any way. It will be filled with system default thread attribute values. After it is initialized, certain pthread attributes can be changed and/or set through attribute access procedures. Once initialized, this attribute object can be used to create a thread with the intended attributes. Refer to the AIX Operating System documentation for more information on the default attributes.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:If errors are detected during the execution of this function, the following error code will be returned:

EINVAL
The argument attr is invalid.

ENOMEM
There is insufficient memory to create this attribute object.

Examples

integer function f_pthread_attr_init(attr)
    type(f_pthread_attr_t), intent(out):: attr
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] Y> k $ kf>H>X>';  ./usr/share/man/info/en_US/xlf/html/lr386.htmp/$ f_pthread_attr_setdetachstate XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_setdetachstate

This function can be used to set the detach state attribute in the thread attribute object attr.

Argument detach must contain one of the following values:

PTHREAD_CREATE_DETACHED:
when a thread attribute object of this attribute setting is used to create a new thread, the newly created thread will be in detached state. This is the system default setting.

PTHREAD_CREATE_UNDETACHED:
when a thread attribute object of this attribute setting is used to create a new thread, the newly created thread will be in undetached state.

For more information about these thread states, refer to the AIX Operating System documentation.

Return Codes

If errors are detected during the execution of this function, the following error code will be returned:

EINVAL
The argument attr or detach is invalid.

Examples

integer function f_pthread_attr_setdetachstate(attr, detach)
    type(f_pthread_attr_t), intent(inout):: attr
    integer(4), intent(in):: detach
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] are o k("$ kf>H>X>';  ./usr/share/man/info/en_US/xlf/html/lr387.htmp/$ f_pthread_attr_setguardsize XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_setguardsize

This function is used to set the guardsizeattribute in the thread attributes object attr. The new value of this attribute is obtained from the argument guardsize. If guardsize is zero, a guard area will not be provided for threads created with attr. If guardsize is greater than zero, a guard area of at least sizeguardsize bytes is provided for each thread created with attr. For more information about guardsize, refer to the AIX Operating System documentation.

Return Codes

If this function completes successfully, value 0 is returned. Otherwise, one of the following errors will be returned:

|EINVAL
|The argument attr or the argument guardsize is |invalid.

Examples

integer(4) function f_pthread_attr_setguardsize(attr, guardsize)
  type(f_pthread_attr_t), intent(inout):: attr
  integer(kind=REGISTER_SIZE), intent(in):: guardsize
end function f_pthread_attr_setguardsize


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] /HTML k($ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr388.htmp/$ f_pthread_attr_setinheritsched XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_setinheritsched

This function can be used to set the inheritance attribute of the thread scheduling property in the thread attribute object attr.

Argument inherit must contain one of the following values:

PTHREAD_INHERIT_SCHED:
indicating that newly created threads will inherit the scheduling property of the parent thread and ignore the scheduling property of the thread attribute object used to create them.

PTHREAD_EXPLICIT_SCHED:
the scheduling property in the thread attribute object will be assigned to the newly created threads when it is used to create them.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EINVAL
The argument attr is invalid.

ENOSYS
The POSIX priority scheduling option is not implemented on AIX.

ENOTSUP
The value of argument inherit is not supported.

Examples

integer function f_pthread_attr_setinheritsched(attr, inherit)
    type(f_pthread_attr_t), intent(inout):: attr
    integer(4), intent(in):: inherit
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] is a kB*$ kf>H>X>';  ./usr/share/man/info/en_US/xlf/html/lr389.htmp/$ f_pthread_attr_setschedparam XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_setschedparam

This function can be used to set the scheduling property attribute in the thread attribute object attr. Threads created with this new attribute object will assume the scheduling property of argument param if they are not inherited from the creating thread. The sched_priority field in argument param indicates the thread's scheduling priority. The priority field must assume a value in the range of 1-127, where 127 is the most favored scheduling priority while 1 is the least.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EINVAL
The argument attr is invalid.

ENOSYS
The POSIX priority scheduling option is not implemented on AIX.

ENOTSUP
The value of argument param is not supported.

Examples

integer function f_pthread_attr_setschedparam(attr, param)
    type(f_pthread_attr_t), intent(inout):: attr
    type(f_sched_param), intent(in):: param
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] of Co k^a$kf>H>X>';./usr/share/man/info/en_US/xlf/html/lr39.htmp/$ Array Declarators XL Fortran for AIX V8.1.1

Language Reference


Array Declarators

An array declarator declares the shape of an array.

You must declare every named array, and no scoping unit can have more than one array declarator for the same name. An array declarator can appear in the following statements: COMMON, integer POINTER, STATIC, AUTOMATIC, DIMENSION, ALLOCATABLE, POINTER, TARGET and type declaration.

For example:

DIMENSION :: A(1:5)         ! Declarator is "(1:5)"
REAL, DIMENSION(1,1:5) :: B ! Declarator is "(1,1:5)"
INTEGER C(10)               ! Declarator is "(10)"

Pointers can be scalars, assumed-shape arrays or explicit-shape arrays.

The form of an array declarator is:


>>-(--array_spec--)--------------------------------------------><
 
 

array_spec
is an array specification. It is a list of dimension declarators, each of which establishes the lower and upper bounds of an array, or specifies that one or both will be set at run time. Each dimension requires one dimension declarator.

+-------------------------------IBM Extension--------------------------------+

An array can have from one to twenty dimensions in XL Fortran.

+----------------------------End of IBM Extension----------------------------+

An array_spec is one of:

explicit_shape_spec_list
assumed_shape_spec_list
deferred_shape_spec_list
assumed_size_spec

Each array_spec declares a different kind of array, as explained in the following sections.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] H>X>'; ./usr/share/man/info/en_US/xlf/html/lr390.htmp/$ f_pthread_attr_setschedpolicy XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_setschedpolicy

After the attribute object is set by this function, threads created with this attribute object will assume the set scheduling policy if the scheduling property is not inherited from the creating thread.

Argument policy must contain one of the following constants:

SCHED_FIFO:
indicating a first-in first-out thread scheduling policy.

SCHED_RR:
indicating a round-robin scheduling policy.

SCHED_OTHER:
the default scheduling policy.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EINVAL
The argument attr is invalid.

ENOSYS
The POSIX priority scheduling option is not implemented on AIX.

ENOTSUP
The value of argument policy is not supported.

Examples

integer function f_pthread_attr_setschedpolicy(attr, policy)
    type(f_pthread_attr_t), intent(inout):: attr
    integer(4), intent(in):: policy
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] -End of kn2$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr391.htmp/$ f_pthread_attr_setscope XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_setscope

This function can be used to set the contention scope attribute in the thread attribute object attr.

Argument scope must contain one of the following values:

PTHREAD_SCOPE_SYSTEM:
the thread will compete for system resources on a system wide scope.

PTHREAD_SCOPE_PROCESS:
the thread will compete for system resources locally within the owning process.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

|EINVAL
|The argument attr is invalid.

|ENOTSUP
|ENOTSUP is returned if the specified scope is |PTHREAD_SCOPE_PROCESS.

Examples

integer function f_pthread_attr_setscope(attr, scope)
    type(f_pthread_attr_t), intent(inout):: attr
    integer(4), intent(in):: scope
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] >In k$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr392.htmp/$ f_pthread_attr_setstackaddr XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_setstackaddr

This function is used to set the stackaddr attribute in the thread attributes object attr. The new value of this attribute is obtained from the argument stackaddr. The type of the argument stackaddr is integer pointer. The stackaddr attribute specifies the stack address of a thread created with this attributes object.

Return Codes

If this function completes successfully, value 0 is returned. Otherwise, the following error will be returned:

|EINVAL
|The argument attr is invalid.

Examples

integer(4) function f_pthread_attr_setstackaddr(attr, stackaddr)
  type(f_pthread_attr_t), intent(inout):: attr
  integer(4) int_template
  pointer (stackaddr, int_template)
  intent(in) stackaddr
end function f_pthread_attr_setstackaddr


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] Prev kr$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr393.htmp/$ f_pthread_attr_setstacksize XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_setstacksize

This function can be used to set the stack size attribute in the pthread attribute object attr. Argument ssize is an integer indicating the stack size desired in bytes. When a thread is created using this attribute object, the system will allocate a minimum stack size of ssize bytes.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EINVAL
The argument attr or ssize is invalid.

Examples

integer function f_pthread_attr_setstacksize(attr, ssize)
    type(f_pthread_attr_t), intent(inout):: attr
    integer(kind=register_size), intent(in):: ssize
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] NT">Ta kB_$Wkf>H>X>';W./usr/share/man/info/en_US/xlf/html/lr394.htmp/$ f_pthread_attr_t XL Fortran for AIX V8.1.1

Language Reference

f_pthread_attr_t

A derived data type whose components are all private. Any object of this type should be manipulated only through the appropriate interfaces provided in this module.

This data type corresponds to the POSIX pthread_attr_t, which is the type of thread attribute object.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] < kW$~ kf>H>X>';~ ./usr/share/man/info/en_US/xlf/html/lr395.htmp/$ f_pthread_cancel XL Fortran for AIX V8.1.1

Language Reference

f_pthread_cancel

This function can be used to cancel a target thread. How this cancelation request will be processed depends on the state of the cancelability of the target thread. The target thread is identified by argument thread. If the target thread is in deferred-cancel state, this cancelation request will be put on hold until the target thread reaches its next cancelation point. If the target thread disables its cancelability, this request will be put on hold until it is enabled again. If the target thread is in async-cancel state, this request will be acted upon immediately. For more information about thread cancelation and concerns about security, refer to the AIX Operating System documentation.

Return Codes

If errors are detected during the execution of this function, the following error code will be returned:

EINVAL
The argument thread is invalid.

Examples

integer function f_pthread_cancel(thread)
  type(f_pthread_t), intent(inout):: thread
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] < kzj$^ kf>H>X>';^ ./usr/share/man/info/en_US/xlf/html/lr396.htmp/$ f_pthread_cleanup_pop XL Fortran for AIX V8.1.1

Language Reference

|f_pthread_cleanup_pop

| |

|This subroutine should be paired with f_pthread_cleanup_push in |using the cleanup stack for thread safety. If the supplied argument |exec contains a non-zero value, the last pushed cleanup function will |be popped from the cleanup stack and executed, with the argument arg |(from the last f_pthread_cleanup_push) passed to the cleanup |function.

|If you pass an array section with vector subscripts to the argument |arg, the result is unpredictable.

|The actual argument arg must be a variable, and consequently |eligible as a left-value in an assignment statement.

|If exec contains a zero value, the last pushed cleanup function |will be popped from the cleanup stack, but will not be executed.

|Return Codes

|There is no return value from this subroutine.

|Examples

|subroutine f_pthread_cleanup_pop(exec)
|  integer(4), intent(in):: exec
|end subroutine


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] k k}$Kkf>H>X>';K./usr/share/man/info/en_US/xlf/html/lr397.htmp/$ f_pthread_cleanup_push XL Fortran for AIX V8.1.1

Language Reference

|f_pthread_cleanup_push

| |

|This function can be used to register a cleanup subroutine for the calling |thread. In case of an unexpected termination of the calling thread, the |system will automatically execute the cleanup subroutine in order for the |calling thread to terminate safely. The argument cleanup must |be a subroutine expecting exactly one argument. If it is executed, the |argument arg will be passed to it as the actual argument.

|The argument arg is a generic argument that can be of any type and |any rank. The actual argument arg must be a variable, and consequently |eligible as a left-value in an assignment statement. If you pass an |array section with vector subscripts to the argument arg, the result |is unpredictable.

|If the actual argument arg is an array section, the corresponding |dummy argument in subroutine cleanup, must be an assumed-shape array. |Otherwise, the result is unpredictable.

|If the actual argument arg has the pointer attribute that points |to an array or array section, the corresponding dummy argument in subroutine |cleanup must have a pointer attribute or be an assumed-shape array. |Otherwise, the result is unpredictable.

|For a normal execution path, this function must be paired with a call to |f_pthread_cleanup_pop.

|The argument flag must be used to convey the property of argument |arg exactly to the system.

|Argument flag can assume a value that is one of, or a combination |of, the following constants: |

|FLAG_CHARACTER:
|if the entry subroutine cleanup expects an argument of type |CHARACTER in any way or any form, this flag value must be included to |indicate this fact. However, if the subroutine expects a Fortran 90 |pointer pointing to an argument of type CHARACTER, the |FLAG_DEFAULT value should be included instead.

|FLAG_ASSUMED_SHAPE:
|if the entry subroutine cleanup has a dummy argument that is an |assumed-shape array of any rank, this flag value must be included to indicate |this fact.

|FLAG_DEFAULT:
|otherwise, this flag value is needed. |

|Return Codes

|If errors are detected during the execution of this function, one of the |following error codes will be returned: |

|ENOMEM
|The system cannot allocate memory to push this routine.

|EAGAIN
|The system cannot allocate resources to push this routine.

|EINVAL
|The argument flag is invalid. |

|Examples

|integer function f_pthread_cleanup_push(cleanup, flag, arg)
|  external cleanup
|  integer(4), intent(in):: flag
|end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] exac k*$# kf>H>X>';# ./usr/share/man/info/en_US/xlf/html/lr398.htmp/$ f_pthread_cond_broadcast XL Fortran for AIX V8.1.1

Language Reference

f_pthread_cond_broadcast

This function will unblock all threads waiting on the condition variable cond. If there is no thread waiting on this condition variable, the function will still succeed, but the next caller to f_pthread_cond_wait will be blocked, and will wait on the condition variable cond.

Return Codes

If errors are detected during the execution of this function, the following error code will be returned:

EINVAL
The argument cond is invalid.

Examples

integer function f_pthread_cond_broadcast(cond)
  type(f_pthread_cond_t), intent(inout):: cond
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] array kb$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr399.htmp/$ f_pthread_cond_destroy XL Fortran for AIX V8.1.1

Language Reference

f_pthread_cond_destroy

This function can be used to destroy those condition variables that are no longer required. The target condition variable is identified by the argument cond. System resources allocated during initialization will be recollected by the system. For more information about thread synchronization and condition variable usage, refer to the AIX Operating System documentation.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EBUSY
The condition variable cond is being used by another thread.

EINVAL
The argument cond is invalid.

Examples

integer function f_pthread_cond_destroy(cond)
  type(f_pthread_cond_t), intent(inout):: cond
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ar k$kf>H>X>';z./usr/share/man/info/en_US/xlf/html/lr40.htmp/$ Explicit-Shape Arrays XL Fortran for AIX V8.1.1

Language Reference


Explicit-Shape Arrays

Explicit-shape arrays are arrays where the bounds are explicitly specified for each dimension.
Explicit_shape_spec_list
   .-,-------------------------------.
   V                                 |
>>---+----------------+--upper_bound-+-------------------------><
     '-lower_bound--:-'
 
 

lower_bound, upper_bound
are specification expressions

If any bound is not constant, the array must be declared inside a subprogram. The nonconstant bounds are determined on entry to the subprogram. If a lower bound is omitted, its default value is one.

The rank is the number of specified upper bounds. The shape of an explicit-shape dummy argument can differ from that of the corresponding actual argument.

The size is determined by the specified bounds.

Examples of Explicit-Shape Arrays

INTEGER A,B,C(1:10,-5:5)  ! All bounds are constant
A=8; B=3
CALL SUB1(A,B,C)
END
SUBROUTINE SUB1(X,Y,Z)
  INTEGER X,Y,Z(X,Y)      ! Some bounds are not constant
END SUBROUTINE

Automatic Arrays

An automatic array is an explicit-shape array that is declared in a subprogram, is not a dummy argument or pointee array, and has at least one bound that is a nonconstant specification expression.. The bounds are evaluated on entry to the subprogram and remain unchanged during execution of the subprogram.

INTEGER X
COMMON X
X = 10
CALL SUB1(5)
END
 
SUBROUTINE SUB1(Y)
  INTEGER X
  COMMON X
  INTEGER Y
  REAL Z (X:20, 1:Y)         ! Automatic array.  Here the bounds are made
                             ! available through dummy arguments and common
                             ! blocks, although Z itself is not a dummy
END SUBROUTINE               ! argument.
 

Related Information

For general information about automatic data objects, see Automatic Objects and Storage Classes for Variables.

Adjustable Arrays

An adjustable array is an explicit-shape array that is declared in a subprogram and has at least one bound that is a nonconstant specification expression. An adjustable array must be a dummy argument.

SUBROUTINE SUB1(X, Y)
INTEGER X, Y(X*3)  ! Adjustable array.  Here the bounds depend on a
                   ! dummy argument, and the array name is also passed in.
END SUBROUTINE

+-------------------------------IBM Extension--------------------------------+

Pointee Arrays

Pointee arrays are explicit-shape or assumed-size arrays that are declared in integer POINTER statements or other specification statements.

The declarator for a pointee array may only contain variables if the array is declared inside a subprogram, and any such variables must be dummy arguments, members of a common block, or use or host associated. The sizes of the dimensions are evaluated upon entry to the subprogram and remain constant during execution of the subprogram.

With the -qddim compiler option, as explained in the in the User's Guide, the restrictions on which variables may appear in the array declarator are lifted, declarators in the main program may contain variable names, and any specified nonconstant bounds are re-evaluated each time the array is referenced, so that you can change the properties of the pointee array by simply changing the values of the variables used in the bounds expressions:

@PROCESS DDIM
INTEGER PTE, N, ARRAY(10)
POINTER (P, PTE(N))
N = 5
P = LOC(ARRAY(2))  !
PRINT *, PTE       ! Print elements 2 through 6 of ARRAY
N = 7              ! Increase the size
PRINT *, PTE       ! Print elements 2 through 8 of ARRAY
END

Related Information:

POINTER (integer)

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k` $ kf>H>X>';| ./usr/share/man/info/en_US/xlf/html/lr400.htmp/$ f_pthread_cond_init XL Fortran for AIX V8.1.1

Language Reference

f_pthread_cond_init

This function can be used to dynamically initialize a condition variable cond. Its attributes will be set according to the attribute object cattr, if it is provided; otherwise, its attributes will be set to the system default. After the condition variable is initialized successfully, it can be used to synchronize threads. For more information about thread synchronization and condition variable usage, refer to the AIX Operating System documentation.

Another method of initializing a condition variable is to initialize it statically using the Fortran constant PTHREAD_COND_INITIALIZER.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EBUSY
The condition variable is already in use. It is initialized and not destroyed.

EINVAL
The argument cond or cattr is invalid.

Examples

integer function f_pthread_cond_init(cond, cattr)
    type(f_pthread_cond_t), intent(out):: cond
    type(f_pthread_condattr_t), intent(in), optional:: cattr
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] no kr$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr401.htmp/$ f_pthread_cond_signal XL Fortran for AIX V8.1.1

Language Reference

f_pthread_cond_signal

This function will unblock at least one thread waiting on the condition variable cond. If there is no thread waiting on this condition variable, the function will still succeed, but the next caller to f_pthread_cond_wait will be blocked, and will wait on the condition variable cond. For more information about thread synchronization and condition variable usage, refer to the AIX Operating System documentation.

Return Codes

If errors are detected during the execution of this function, the following error code will be returned:

EINVAL
The argument cond is invalid.

Examples

integer function f_pthread_cond_signal(cond)
    type(f_pthread_cond_t), intent(inout):: cond
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] o k$kf>H>X>';./usr/share/man/info/en_US/xlf/html/lr402.htmp/$ f_pthread_cond_t XL Fortran for AIX V8.1.1

Language Reference

f_pthread_cond_t

A derived data type whose components are all private. Any object of this type should be manipulated through the appropriate interfaces provided in this module. In addition, objects of this type can be initialized at compile time using the Fortran constant PTHREAD_COND_INITIALIZER.

This data type corresponds to the POSIX pthread_cond_t, which is the type of condition variable object.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] s kB$ kf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr403.htmp/$ f_pthread_cond_timedwait XL Fortran for AIX V8.1.1

Language Reference

f_pthread_cond_timedwait

This function can be used to wait for a certain condition to occur. The argument mutex must be locked before calling this function. The mutex is unlocked atomically and the calling thread waits for the condition to occur. The argument timeout specifies a deadline before which the condition must occur. If the deadline is reached before the condition occurs, the function will return an error code. This function provides a cancelation point in that the calling thread can be canceled if it is in the enabled state.

The argument timeout will specify an absolute date of the form: Oct. 31 10:00:53, 1998. For related information, see f_maketime and f_timespec. For information on the absolute date, refer to the AIX Operating System documentation.

Return Codes

If errors are detected during the execution of this function, one of the following error codes is returned:

EINVAL
The argument cond, mutex, or timeout is invalid.

EDEADLK
The argument mutex is not locked by the calling thread.

ETIMEDOUT
The waiting deadline was reached before the condition occurred.

Examples

integer function f_pthread_cond_timedwait(cond, mutex, timeout)
  type(f_pthread_cond_t), intent(inout):: cond
  type(f_pthread_mutex_t), intent(inout):: mutex
  type(f_timespec), intent(in):: timeout
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] h du kg$ kf>H>X>';! ./usr/share/man/info/en_US/xlf/html/lr404.htmp/$ f_pthread_cond_wait XL Fortran for AIX V8.1.1

Language Reference

f_pthread_cond_wait

This function can be used to wait for a certain condition to occur. The argument mutex must be locked before calling this function. The mutex is unlocked atomically, and the calling thread waits for the condition to occur. If the condition does not occur, the function will wait until the calling thread is terminated in another way. This function provides a cancelation point in that the calling thread can be canceled if it is in the enabled state.

Return Codes

When this function executes successfully, the mutex is locked again before the function returns. If errors are detected during the execution of this function, one of the following error codes will be returned:

EINVAL
The argument cond or mutex is invalid.

EDEADLK
The mutex is not locked by the calling thread.

Examples

integer function f_pthread_cond_wait(cond, mutex)
    type(f_pthread_cond_t), intent(inout):: cond
    type(f_pthread_mutex_t), intent(inout):: mutex
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] hread_ kJ?$ kf>H>X>';" ./usr/share/man/info/en_US/xlf/html/lr405.htmp/$ f_pthread_condattr_destroy XL Fortran for AIX V8.1.1

Language Reference

f_pthread_condattr_destroy

This function can be called to destroy the condition variable attribute objects that are no longer required. The target object is identified by the argument cattr. The system resources allocated when it is initialized will be recollected.

Return Codes

If errors are detected during the execution of this function, the following error code will be returned:

EINVAL
The argument cattr is invalid.

Examples

integer function f_pthread_condattr_destroy(cattr)
  type(f_pthread_condattr_t), intent(inout):: cattr
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] STR k$ kf>H>X>';# ./usr/share/man/info/en_US/xlf/html/lr406.htmp/$ f_pthread_condattr_getpshared XL Fortran for AIX V8.1.1

Language Reference

f_pthread_condattr_getpshared

This function can be used to query the process-shared attribute of the condition variable attributes object identified by the argument cattr. The current setting of this attribute will be returned in the argument pshared. pshared will contain one of the following values:

PTHREAD_PROCESS_SHARED
The condition variable can be used by any thread that has access to the memory where it is allocated, even if these threads belong to different processes.

PTHREAD_PROCESS_PRIVATE
The condition variable shall only be used by threads within the same process as the thread that created it.

Return Codes

If this function completes successfully, value 0 is returned and the value of the process-shared attribute is returned through the argument pshared. Otherwise, the following error will be returned:

|EINVAL
|The argumentcattr is invalid.

Examples

integer(4) function f_pthread_condattr_getpshared(cattr, pshared)
  type(f_pthread_condattr_t), intent(in):: cattr
  integer(4), intent(out):: pshared
end function f_pthread_condattr_getpshared


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ">Top k"!$A kf>H>X>';$A ./usr/share/man/info/en_US/xlf/html/lr407.htmp/$ f_pthread_condattr_init XL Fortran for AIX V8.1.1

Language Reference

|f_pthread_condattr_init

| |

|Use this function to initialize a condition variable attributes object |cattr with the default value for all of the attributes defined by the |implementation. Attempting to initialize an already initialized |condition variable attributes object results in undefined behavior. |After a condition variable attributes object has been used to initialize one |or more condition variables, any function affecting the attributes object |(including destruction) does not affect any previously initialized condition |variables.

|Return Codes

|If errors are detected during the execution of this function, the following |error code will be returned: |

|ENOMEM
|There is insufficient memory to initialize the condition variable |attributes object. |

|Examples

|integer function f_pthread_condattr_init(cattr)
|  type(f_pthread_condattr_t), intent(inout):: cattr
|end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 534.htm kF $ kf>H>X>';% ./usr/share/man/info/en_US/xlf/html/lr408.htmp/$ f_pthread_condattr_setpshared XL Fortran for AIX V8.1.1

Language Reference

f_pthread_condattr_setpshared

This function is used to set the process-shared attribute of the condition variable attributes object identified by the argument cattr. Its process-shared attribute will be set according to the argument pshared. pshared must have one of the following values:

PTHREAD_PROCESS_SHARED
Specifies that the condition variable can be used by any thread that has access to the memory where it is allocated, even if these threads belong to different processes.

PTHREAD_PROCESS_PRIVATE
Specifies that the condition variable shall only be used by threads within the same process as the thread that created it. This is the default setting of the attribute.

Return Codes

If this function completes successfully, value 0 is returned. Otherwise, one of the following errors will be returned:

|EINVAL
|The value specified by the argument cattr orpshared is |invalid.

Examples

integer(4) function f_pthread_condattr_setpshared(cattr, pshared)
  type(f_pthread_condattr_t), intent(inout):: cattr
  integer(4), intent(in):: pshared
end function f_pthread_condattr_setpshared


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k급$wkf>H>X>';&w./usr/share/man/info/en_US/xlf/html/lr409.htmp/$ f_pthread_condattr_t XL Fortran for AIX V8.1.1

Language Reference

f_pthread_condattr_t

A derived data type whose components are all private. Any object of this type should be manipulated only through the appropriate interfaces provided in this module.

This data type corresponds to the POSIX pthread_condattr_t, which is the type of condition variable attribute object.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] T kX.$ kf>H>X>';' ./usr/share/man/info/en_US/xlf/html/lr41.htmp/$ Assumed-Shape Arrays XL Fortran for AIX V8.1.1

Language Reference


Assumed-Shape Arrays

Assumed-shape arrays are dummy argument arrays where the extent of each dimension is taken from the associated actual arguments. Because the names of assumed-shape arrays are dummy arguments, they must be declared inside subprograms.
Assumed_shape_spec_list
   .-,------------------.
   V                    |
>>---+-------------+--:-+--------------------------------------><
     '-lower_bound-'
 
 

lower_bound
is a specification expression

Each lower bound defaults to one, or may be explicitly specified. Each upper bound is set on entry to the subprogram to the specified lower bound (not the lower bound of the actual argument array) plus the extent of the dimension minus one.

The extent of any dimension is the extent of the corresponding dimension of the associated actual argument.

The rank is the number of colons in the assumed_shape_spec_list.

The shape is assumed from the associated actual argument array.

The size is determined on entry to the subprogram where it is declared, and equals the size of the associated argument array.

Note:
Subprograms that have assumed-shape arrays as dummy arguments must have explicit interfaces.

Examples of Assumed-Shape Arrays

INTERFACE
  SUBROUTINE SUB1(B)
    INTEGER B(1:,:,10:)
  END SUBROUTINE
END INTERFACE
INTEGER A(10,11:20,30)
CALL SUB1 (A)
END
SUBROUTINE SUB1(B)
INTEGER B(1:,:,10:)
! Inside the subroutine, B is associated with A.
! It has the same extents as A but different bounds (1:10,1:10,10:39).
END SUBROUTINE


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k0F$kf>H>X>';(./usr/share/man/info/en_US/xlf/html/lr410.htmp/$ f_pthread_create XL Fortran for AIX V8.1.1

Language Reference

|f_pthread_create

| |

|This function is used to create a new thread in the current process. |The newly created thread will assume the attributes defined in the thread |attribute object attr, if it is provided. Otherwise, the new |thread will have system default attributes. The new thread will begin |execution at the subroutine ent, which is required to have one dummy |argument. The system will pass the argument arg to the thread |entry subroutine ent as its actual argument. The argument |flag is used to inform the system of the property of the argument |arg. When the execution returns from the entry subroutine |ent, the new thread will terminate automatically.

|If subroutine ent was declared such that an explicit interface |would be required if it was called directly, then an explicit interface is |also required when it is passed as an argument to this function.

|The argument arg is a generic argument that can be of any type and |any rank. The actual argument arg must be a variable, and |consequently eligible as a left- value in an assignment statement. If |you pass an array section with vector subscripts to the argument arg, |the result is unpredictable.

|If the actual argument arg is an array section, the corresponding |dummy argument in subroutine ent must be an assumed-shape |array. Otherwise, the result is unpredictable.

|If the actual argument arg has the pointer attribute that points |to an array or array section, the corresponding dummy argument in subroutine |ent must have a pointer attribute or be an assumed-shape |array. Otherwise, the result is unpredictable.

|The argument flag must be used to convey the property of the |argument arg exactly to the system. flag can be one |of, or a combination of the following constants: |

|FLAG_CHARACTER:
|if the entry subroutine ent expects an argument of type |CHARACTER in any way or any form, this flag value must be included to |indicate this fact. However, if the subroutine expects a Fortran 90 |pointer pointing to an argument of type CHARACTER, the |FLAG_DEFAULT value should be included instead.

|FLAG_ASSUMED_SHAPE:
|if the entry subroutine ent has a dummy argument which is an |assumed-shape array of any rank, this flag value must be included to indicate |this fact.

|FLAG_DEFAULT:
|otherwise, this flag value is needed. |

|Return Codes

|If the call to this function is successful, the ID of the newly created |thread will be returned through argument thread. Otherwise, |one of the following error codes will be returned: |

|EAGAIN
|The system does not have enough resources to create a new thread.

|EINVAL
|The argument thread, attr, or flag is |invalid.

|ENOMEM
|The system does not have sufficient memory to create a new thread. |

|Examples

|integer function f_pthread_create(thread, attr, flag, ent, arg)
|    type(f_pthread_t), intent(out):: thread
|    type(f_pthread_attr_t), intent(in), optional:: attr
|    integer(4), intent(in):: flag
|    external ent
|end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] >The ko$T kf>H>X>';*T ./usr/share/man/info/en_US/xlf/html/lr411.htmp/$ f_pthread_detach XL Fortran for AIX V8.1.1

Language Reference

f_pthread_detach

This function is used to indicate to the pthreads library implementation that storage for the thread whose thread ID is specified by the argument thread can be claimed when this thread terminates. If the thread has not yet terminated, f_pthread_detach shall not cause it to terminate. Multiple f_pthread_detach calls on the same target thread cause an error.

Return Codes

If this function completes successfully, value 0 is returned. Otherwise, the following error will be returned:

EINVAL
The argument thread is invalid.

Examples

integer(4) function f_pthread_detach(thread)
  type(f_pthread_t), intent(in):: thread
end function f_pthread_detach


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kL$ kf>H>X>';+ ./usr/share/man/info/en_US/xlf/html/lr412.htmp/$ f_pthread_equal XL Fortran for AIX V8.1.1

Language Reference

f_pthread_equal

This function can be used to compare whether two thread ID's identify the same thread or not.

Return Codes

TRUE
The two thread ID's identify the same thread.

FALSE
The two thread ID's do not identify the same thread.

Examples

logical function f_pthread_equal(thread1, thread2)
  type(f_pthread_t), intent(in):: thread1, thread2
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k,$ kf>H>X>';, ./usr/share/man/info/en_US/xlf/html/lr413.htmp/$ f_pthread_exit XL Fortran for AIX V8.1.1

Language Reference

f_pthread_exit

This subroutine can be called explicitly to terminate the calling thread before it returns from the entry subroutine. The actions taken depend on the state of the calling thread. If it is in non-detached state, the calling thread will wait to be joined. If the thread is in detached state, or when it is joined by another thread, the calling thread will terminate safely. First, the cleanup stack will be popped and executed, and then any thread-specific data will be destructed by the destructors. Finally, the thread resources are freed and the argument ret will be returned to the joining threads. The argument ret of this subroutine is optional. Currently, argument ret is limited to be an integer pointer. If it is not an integer pointer, the behavior is undefined.

Return Codes

This subroutine never returns. If argument ret is not provided, NULL will be provided as this thread's exit status.

Examples

subroutine f_pthread_exit(ret)
    pointer(ret, byte)
    optional ret
    intent(in) ret
end subroutine


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] The kD $z kf>H>X>';-z ./usr/share/man/info/en_US/xlf/html/lr414.htmp/$ f_pthread_getconcurrency XL Fortran for AIX V8.1.1

Language Reference

f_pthread_getconcurrency

This function returns the value of the concurrency level set by a previous call to the f_pthread_setconcurrency function. If the f_pthread_setconcurrency function was not previously called, this function returns zero to indicate that the system is maintaining the concurrency level. For more information about the concurrency level, refer to the AIX Operating System documentation.

Examples

integer(4) function f_pthread_getconcurrency()
end function f_pthread_getconcurrency


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] is sub kF$ kf>H>X>';. ./usr/share/man/info/en_US/xlf/html/lr415.htmp/$ f_pthread_getschedparam XL Fortran for AIX V8.1.1

Language Reference

f_pthread_getschedparam

This function can be used to query the current setting of the scheduling property of the target thread. The target thread is identified by argument thread. Its scheduling policy will be returned through argument policy and its scheduling property through argument param. The sched_priority field in param defines the scheduling priority. The priority field will assume a value in the range of 1-127, where 127 is the most favored scheduling priority while 1 is the least.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

ENOSYS
The POSIX priority scheduling option is not implemented on AIX.

ESRCH
The target thread does not exist.

Examples

integer function f_pthread_getschedparam(thread, policy, param)
    type(f_pthread_t), intent(in):: thread
    integer(4), intent(out):: policy
    type(f_sched_param), intent(out):: param
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] > i k`;$Rlf>H>X>';/R./usr/share/man/info/en_US/xlf/html/lr416.htmp/$ f_pthread_getspecific XL Fortran for AIX V8.1.1

Language Reference

|f_pthread_getspecific

| |

|This function can be used to retrieve the thread-specific data associated |with key. Note that the argument arg is not optional |in this function as it will return the thread-specific data. After |execution of the procedure, the argument arg holds a pointer to the |data, or NULL if there is no data to retrieve. The argument |arg must be an integer pointer, or the result is undefined.

|The actual argument arg must be a variable, and consequently |eligible as a left-value in an assignment statement. If you pass an |array section with vector subscripts to the argument arg, the result |is unpredictable.

|Return Codes

|If errors are detected during the execution of this function, the following |error code will be returned: |

|EINVAL
|The argument key is invalid. |

|Examples

|integer function f_pthread_getspecific(key, arg)
|    type(f_pthread_key_t), intent(in):: key
|    pointer(arg, byte)
|    intent(out) arg
|end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ay. Ot k@E$ lf>H>X>';0 ./usr/share/man/info/en_US/xlf/html/lr417.htmp/$ f_pthread_join XL Fortran for AIX V8.1.1

Language Reference

f_pthread_join

This function can be called to join a particular thread designated by the argument thread. If the target thread is in non-detached state and is already terminated, this call will return immediately with the target thread's status returned in argument ret if it is provided. The argument ret is optional. Currently, ret must be an integer pointer if it is provided.

If the target thread is in detached state, it is an error to join it.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EDEADLK
This call will cause a deadlock, or the calling thread is trying to join itself.

EINVAL
The argument thread is invalid.

ESRCH
The argument thread designates a thread which does not exist or is in detached state.

Examples

integer function f_pthread_join(thread, ret)
    type(f_pthread_t), intent(in):: thread
    optional ret
    intent(out) ret
    pointer(ret, byte)
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] H>X>';1 ./usr/share/man/info/en_US/xlf/html/lr418.htmp/$ f_pthread_key_create XL Fortran for AIX V8.1.1

Language Reference

f_pthread_key_create

This function can be used to acquire a thread-specific data key. The key will be returned in the argument key. The argument dtr is a subroutine that will be used to destruct the thread-specific data associated with this key when any thread terminates after this calling point. The destructor will receive the thread-specific data as its argument. The destructor itself is optional. If it is not provided, the system will not invoke any destructor on the thread-specific data associated with this key. Note that the number of thread-specific data keys is limited in each process. It is the user's responsibility to manage the usage of the keys. The per-process limit can be checked by the Fortran constant PTHREAD_DATAKEYS_MAX.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EAGAIN
The maximum number of keys has been exceeded.

EINVAL
The argument key is invalid.

ENOMEM
There is insufficient memory to create this key.

Examples

integer function f_pthread_key_create(key, dtr)
    type(f_pthread_key_t), intent(out):: key
    external dtr
    optional dtr
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ), int kv$ lf>H>X>';2 ./usr/share/man/info/en_US/xlf/html/lr419.htmp/$ f_pthread_key_delete XL Fortran for AIX V8.1.1

Language Reference

f_pthread_key_delete

This function will destroy the thread-specific data key identified by the argument key. It is the user's responsibility to ensure that there is no thread-specific data associated with this key. This function does not call any destructor on the thread's behalf. After the key is destroyed, it can be reused by the system for f_pthread_key_create requests.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EINVAL
The argument key is invalid.

EBUSY
There is still data associated with this key.

Examples

integer function f_pthread_key_delete(key)
    type(f_pthread_key_t), intent(inout):: key
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] insu k<$lf>H>X>';3./usr/share/man/info/en_US/xlf/html/lr42.htmp/$ Deferred-Shape Arrays XL Fortran for AIX V8.1.1

Language Reference


Deferred-Shape Arrays

Deferred-shape arrays are allocatable arrays or array pointers, where the bounds can be defined or redefined during execution of the program.
Deferred_shape_spec_list
   .-,-.
   V   |
>>---:-+-------------------------------------------------------><
 
 

The extent of each dimension (and the related properties of bounds, shape, and size) is undefined until the array is allocated or the pointer is associated with an array that is defined. Before then, no part of the array may be defined, or referenced except as an argument to an appropriate inquiry function. At that point, an array pointer assumes the properties of the target array, and the properties of an allocatable array are specified in an ALLOCATE statement.

The rank is the number of colons in the deferred_shape_spec_list.

Although a deferred_shape_spec_list may sometimes appear identical to an assumed_shape_spec_list, deferred-shape arrays and assumed-shape arrays are not the same. A deferred-shape array must have either the POINTER attribute or the ALLOCATABLE attribute, while an assumed-shape array must be a dummy argument that does not have the POINTER attribute. The bounds of a deferred-shape array, and the actual storage associated with it, can be changed at any time by reallocating the array or by associating the pointer with a different array, while these properties remain the same for an assumed-shape array during the execution of the containing subprogram.

Related Information:

Allocation Status
Pointer Assignment
ALLOCATABLE
ALLOCATED(ARRAY) or ALLOCATED(SCALAR)
ASSOCIATED(POINTER, TARGET)

Allocatable Arrays

A deferred-shape array that has the ALLOCATABLE attribute is referred to as an allocatable array. Its bounds and shape are determined when storage is allocated for it by an ALLOCATE statement.

INTEGER, ALLOCATABLE, DIMENSION(:,:,:) :: A
ALLOCATE(A(10,-4:5,20)) ! Bounds of A are now defined (1:10,-4:5,1:20)
DEALLOCATE(A)
ALLOCATE(A(5,5,5))    ! Change the bounds of A



Migration Tip:

Minimize storage used:

FORTRAN 77 source

INTEGER A(1000),B(1000),C(1000)
C 1000 is the maximum size
WRITE (6,*) "Enter the size of the arrays:"
READ (5,*) N
   
  ·
  ·
  ·
DO I=1,N A(I)=B(I)+C(I) END DO END

Fortran 90 or Fortran 95 source

INTEGER, ALLOCATABLE, DIMENSION(:) :: A,B,C
WRITE (6,*) "Enter the size of the arrays:"
READ (5,*) N
ALLOCATE (A(N),B(N),C(N))
   
  ·
  ·
  ·
A=B+C END

Related Information:

Allocation Status

Array Pointers

An array with the POINTER attribute is referred to as an array pointer. Its bounds and shape are determined when it is associated with a target through pointer assignment or execution of an ALLOCATE statement. It can appear in a type declaration, POINTER, or DIMENSION statement.

REAL, POINTER, DIMENSION(:,:) :: B
REAL, TARGET, DIMENSION(5,10) :: C, D(10:10)
B => C             ! Bounds of B are now defined (1:5,1:10)
B => D             ! B now has different bounds and is associated
                   !   with different storage
ALLOCATE(B(5,5))   ! Change bounds and storage association again
END


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] H>X>';5_./usr/share/man/info/en_US/xlf/html/lr420.htmp/$ f_pthread_key_t XL Fortran for AIX V8.1.1

Language Reference

f_pthread_key_t

A derived data type whose components are all private. Any object of this type should be manipulated only through the appropriate interfaces provided in this module.

This data type corresponds to the POSIX pthread_key_t, which is the type of key object for accessing thread-specific data.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] e k@$ lf>H>X>';6 ./usr/share/man/info/en_US/xlf/html/lr421.htmp/$ f_pthread_kill XL Fortran for AIX V8.1.1

Language Reference

f_pthread_kill

This function can be used to send a signal to a target thread. The target thread is identified by argument thread. The signal which will be sent to the target thread is identified in argument sig. If sig contains value zero, error checking will be done by the system but no signal will be sent. For more information about signal management in multi-threaded systems, refer to the AIX Operating System documentation.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EINVAL
The argument thread or sig is invalid.

ESRCH
The target thread does not exist.

Examples

integer function f_pthread_kill(thread, sig)
    type(f_pthread_t), intent(inout):: thread
    integer(4), intent(in):: sig
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ribute k#$( lf>H>X>';7( ./usr/share/man/info/en_US/xlf/html/lr422.htmp/$ f_pthread_mutex_destroy XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutex_destroy

This function should be called to destroy those mutex objects that are no longer required. In this way, the system can recollect the memory resources. The target mutex object is identified by the argument mutex.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EBUSY
The target mutex is locked or referenced by another thread.

EINVAL
The argument mutex is invalid.

Examples

integer function f_pthread_mutex_destroy(mutex)
    type(f_pthread_mutex_t), intent(inout):: mutex
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k$ lf>H>X>';8 ./usr/share/man/info/en_US/xlf/html/lr423.htmp/$ f_pthread_mutex_getprioceiling XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutex_getprioceiling

This function can be used to dynamically query the priority ceiling attribute of the mutex object identified by the argument mutex. The current ceiling value will be returned through the argument old.

Return Codes

Note that this function cannot be used at present since mutex priority protection protocol is not implemented on AIX.

Examples

integer function f_pthread_mutex_getprioceiling(mutex, old)
  type(f_pthread_mutex_t), intent(in):: mutex
  integer(4), intent(out):: old
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] f Conte k.$\ lf>H>X>';9\ ./usr/share/man/info/en_US/xlf/html/lr424.htmp/$ f_pthread_mutex_init XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutex_init

This function can be used to initialize the mutex object identified by argument mutex. The initialized mutex will assume attributes set in the mutex attribute object mattr, if it is provided. If mattr is not provided, the system will initialize the mutex to have default attributes. After it is initialized, the mutex object can be used to synchronize accesses to critical data or code. It can also be used to build more complicated thread synchronization objects.

Another method to initialize mutex objects is to statically initialize them through the Fortran constant PTHREAD_MUTEX_INITIALIZER. If this method of initialization is used it is not necessary to call the function before using the mutex objects.

Return Codes

If errors occur in the execution of this function, one of the following error codes will be returned:

EAGAIN
The system did not have enough resources to initialize this mutex.

EBUSY
This mutex is already in use. It was initialized and not destroyed.

EINVAL
The argument mutex or mattr is invalid.

ENOMEM
There is insufficient memory to initialize this mutex.

Examples

integer function f_pthread_mutex_init(mutex, mattr)
    type(f_pthread_mutex_t), intent(out):: mutex
    type(f_pthread_mutexattr_t), intent(in), optional:: mattr
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]
 kC$z lf>H>X>';:z ./usr/share/man/info/en_US/xlf/html/lr425.htmp/$ f_pthread_mutex_lock XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutex_lock

This function can be used to acquire ownership of the mutex object. (In other words, the function will lock the mutex.) If the mutex has already been locked by another thread, the caller will wait until the mutex is unlocked. If the mutex is already locked by the caller itself, an error will be returned to prevent recursive locking.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EDEADLK
The mutex is locked by the calling thread already.

EINVAL
The argument mutex is invalid.

Examples

integer function f_pthread_mutex_lock(mutex)
  type(f_pthread_mutex_t), intent(inout):: mutex
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] s init k^$ lf>H>X>';; ./usr/share/man/info/en_US/xlf/html/lr426.htmp/$ f_pthread_mutex_setprioceiling XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutex_setprioceiling

This function can be used to dynamically set the priority ceiling attribute of the mutex object identified by the argument mutex. The new ceiling will be set to the value contained in the argument new. The previous ceiling will be returned through the argument old. The argument new should assume an integer value with a range from 1 to 127.

Return Codes

Note that this function cannot be used at present since mutex priority protection protocol is not implemented on AIX.

Examples

integer function f_pthread_mutex_setprioceiling(mutex, new, old)
    type(f_pthread_mutex_t), intent(inout):: mutex
    integer(4), intent(in):: new
    integer(4), intent(out):: old
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] oye k9$lf>H>X>';<./usr/share/man/info/en_US/xlf/html/lr427.htmp/$ f_pthread_mutex_t XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutex_t

A derived data type whose components are all private. Any object of this type should be manipulated through the appropriate interfaces provided in this module. In addition, objects of this type can be initialized statically through the Fortran constant PTHREAD_MUTEX_INITIALIZER.

This data type corresponds to the POSIX pthread_mutex_t, which is the type of mutex object.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] thre k@A$7 lf>H>X>';=7 ./usr/share/man/info/en_US/xlf/html/lr428.htmp/$ f_pthread_mutex_trylock XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutex_trylock

This function can be used to acquire ownership of the mutex object. (In other words, the function will lock the mutex.) If the mutex has already been locked by another thread, the function returns the error code EBUSY. The calling thread can check the return code to take further actions. If the mutex is already locked by the caller itself, an error will be returned to prevent recursive locking.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EBUSY
The target mutex is locked or referenced by another thread.

EDEADLK
The mutex is locked by the calling thread already.

EINVAL
The argument mutex is invalid.

Examples

integer function f_pthread_mutex_trylock(mutex)
  type(f_pthread_mutex_t), intent(inout):: mutex
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] u k$ lf>H>X>';> ./usr/share/man/info/en_US/xlf/html/lr429.htmp/$ f_pthread_mutex_unlock XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutex_unlock

This function should be called to release the mutex object's ownership as soon as possible in order to allow other threads to lock the mutex.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EINVAL
The argument mutex is invalid.

EPERM
The mutex is not locked by the calling thread.

Examples

integer function f_pthread_mutex_unlock(mutex)
    type(f_pthread_mutex_t), intent(inout):: mutex
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] n k=$lf>H>X>';?./usr/share/man/info/en_US/xlf/html/lr43.htmp/$ Assumed-Size Arrays XL Fortran for AIX V8.1.1

Language Reference


Assumed-Size Arrays

Assumed-size arrays are dummy argument arrays where the size is inherited from the associated actual array, but the rank and extents may differ. They can only be declared inside subprograms.
Assumed_size_spec
>>-+----------------------------------------+--+----------------+--*-><
   | .-,-------------------------------.    |  '-lower_bound--:-'
   | V                                 |    |
   '---+----------------+--upper_bound-+--,-'
       '-lower_bound--:-'
 
 

lower_bound, upper_bound
are specification expressions

If any bound is not constant, the array must be declared inside a subprogram and the nonconstant bounds are determined on entry to the subprogram. If a lower bound is omitted, its default value is 1.

The last dimension has no upper bound and is designated instead by an asterisk. You must ensure that references to elements do not go past the end of the actual array.

The rank equals one plus the number of upper_bound specifications in its declaration, which may be different from the rank of the actual array it is associated with.

The size is assumed from the actual argument that is associated with the assumed-size array:

  • If the actual argument is a noncharacter array, the size of the assumed-size array is that of the actual array.
  • If the actual argument is an array element from a noncharacter array, and if the size remaining in the array beginning at this element is S, then the size of the dummy argument array is S. Array elements are processed in array element order.
  • If the actual argument is a character array, array element, or array element substring, and assuming that:
    • A is the starting offset, in characters, into the character array
    • T is the total length, in characters, of the original array
    • S is the length, in characters, of an element in the dummy argument array

    then the size of the dummy argument array is:
    MAX( INT (T - A + 1) / S, 0 )

    For example:

    |CHARACTER(10) A(10)
    |CHARACTER(1) B(30)
    |CALL SUB1(A)          ! Size of dummy argument array is 10
    |CALL SUB1(A(4))       ! Size of dummy argument array is 7
    |CALL SUB1(A(6)(5:10)) ! Size of dummy argument array is 4 because there
    |                      ! are just under 4 elements remaining in A
    |CALL SUB1(B(12))      ! Size of dummy argument array is 1, because the
    |                      ! remainder of B can hold just one CHARACTER(10)
    |END                   ! element.
    |SUBROUTINE SUB1(ARRAY)
    |  CHARACTER(10) ARRAY(*)
    |  ...
    |END SUBROUTINE
    
    

Examples of Assumed-Size Arrays

INTEGER X(3,2)
DO I = 1,3
   DO J = 1,2
      X(I,J) = I * J      ! The elements of X are 1, 2, 3, 2, 4, 6
   END DO
END DO
PRINT *,SHAPE(X)          ! The shape is (/ 3, 2 /)
PRINT *,X(1,:)            ! The first row is (/ 1, 2 /)
CALL SUB1(X)
CALL SUB2(X)
END
SUBROUTINE SUB1(Y)
  INTEGER Y(2,*)          ! The dimensions of y are the reverse of x above
  PRINT *, SIZE(Y,1)      ! We can examine the size of the first dimension
                          ! but not the last one.
  PRINT *, Y(:,1)         ! We can print out vectors from the first
  PRINT *, Y(:,2)         ! dimension, but not the last one.
END SUBROUTINE
SUBROUTINE SUB2(Y)
  INTEGER Y(*)            ! Y has a different rank than X above.
  PRINT *, Y(6)           ! We have to know (or compute) the position of
                          ! the last element.  Nothing prevents us from
                          ! subscripting beyond the end.
END SUBROUTINE

Notes:

  1. An assumed-size array cannot be used as a whole array in an executable construct unless it is an actual argument in a subprogram reference that does not require the shape:
    ! A is an assumed-size array.
    
    PRINT *, UBOUND(A,1) ! OK - only examines upper bound of first dimension.
    PRINT *, LBOUND(A)   ! OK - only examines lower bound of each dimension.
    ! However, 'B=UBOUND(A)' or 'A=5' would reference the upper bound of
    ! the last dimension and are not allowed.  SIZE(A) and SHAPE(A) are
    ! also not allowed.
    

  2. If a section of an assumed-size array has a subscript triplet as its last section subscript, the upper bound must be specified. (Array sections and subscript triplets are explained in a subsequent section.)
    ! A is a 2-dimensional assumed-size array
    PRINT *, A(:, 6)       ! Triplet with no upper bound is not last dimension.
    PRINT *, A(1, 1:10)    ! Triplet in last dimension has upper bound of 10.
    PRINT *, A(5, 5:9:2)   ! Triplet in last dimension has upper bound of 9.
    


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ray. k$ lf>H>X>';A ./usr/share/man/info/en_US/xlf/html/lr430.htmp/$ f_pthread_mutexattr_destroy XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutexattr_destroy

This function can be used to destroy a mutex attribute object that has been initialized previously. Allocated memory will then be recollected. A mutex created with this attribute will not be affected by this action.

Return Codes

If errors are detected during the execution of this function, the following error code will be returned:

EINVAL
The argument mattr is invalid.

Examples

integer function f_pthread_mutexattr_destroy(mattr)
  type(f_pthread_mutexattr_t), intent(inout):: mattr
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] th no kX"$ lf>H>X>';B ./usr/share/man/info/en_US/xlf/html/lr431.htmp/$ f_pthread_mutexattr_getprioceiling XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutexattr_getprioceiling

This function can be used to query the mutex priority ceiling attribute in the mutex attribute object identified by argument mattr. The ceiling attribute will be returned through argument ceiling.

Return Codes

Note that this function cannot be used at present since the mutex priority protection protocol is not implemented on AIX.

Examples

integer function f_pthread_mutexattr_getprioceiling(mattr, ceiling)
  type(f_pthread_mutexattr_t), intent(in):: mattr
  integer(4), intent(out):: ceiling
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] und is  k>$ lf>H>X>';C ./usr/share/man/info/en_US/xlf/html/lr432.htmp/$ f_pthread_mutexattr_getprotocol XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutexattr_getprotocol

This function can be used to query the current setting of mutex protocol attribute in the mutex attribute object identified by argument mattr. The protocol attribute will be returned through argument proto.

Return Codes

Note that this function cannot be used at present since mutex priority inheritance and priority protection are not implemented on AIX.

Examples

integer function f_pthread_mutexattr_getprotocol(mattr, proto)
    type(f_pthread_mutexattr_t), intent(in):: mattr
    integer(4), intent(out):: proto
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] Tri kN$ lf>H>X>';D ./usr/share/man/info/en_US/xlf/html/lr433.htmp/$ f_pthread_mutexattr_getpshared XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutexattr_getpshared

This function is used to query the process-shared attribute in the mutex attributes object identified by the argument mattr. The current setting of the attribute will be returned through the argument pshared. pshared will contain one of the following values:

PTHREAD_PROCESS_SHARED
The mutex can be operated upon by any thread that has access to the memory where the mutex is allocated, even if the mutex is allocated in memory that is shared by multiple processes.

PTHREAD_PROCESS_PRIVATE
The mutex will only be operated upon by threads created within the same process as the thread that initialized the mutex.

Return Codes

If this function completes successfully, value 0 is returned and the value of the process-shared attribute is returned through the argument pshared. Otherwise, the following error will be returned:

|EINVAL
|The argument mattr is invalid.

Examples

integer(4) function f_pthread_mutexattr_getpshared(mattr, pshared)
  type(f_pthread_mutexattr_t), intent(in):: mattr
  integer(4), intent(out):: pshared
end function f_pthread_mutexattr_getpshared


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ed in kꎣ$lf>H>X>';E./usr/share/man/info/en_US/xlf/html/lr434.htmp/$ f_pthread_mutexattr_gettype XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutexattr_gettype

This function is used to query the mutex type attribute in the mutex attributes object identified by the argument mattr.

If this function completes successfully, value 0 is returned and the type attribute will be returned through the argument type. The argument type will contain one of the following values:

PTHREAD_MUTEX_NORMAL
This type of mutex does not detect deadlock. A thread attempting to relock this mutex without first unlocking it will deadlock. Attempting to unlock a mutex locked by a different thread results in undefined behavior.

PTHREAD_MUTEX_ERRORCHECK
This type of mutex provides error checking. A thread attempting to relock this mutex without first unlocking it will return with an error. A thread attempting to unlock a mutex which another thread has locked will return an error. A thread attempting to unlock an unlocked mutex will return with an error.

PTHREAD_MUTEX_RECURSIVE
A thread attempting to relock this mutex without first unlocking it will succeed in locking the mutex. The relocking deadlock that can occur with mutexes of type PTHREAD_MUTEX_NORMAL cannot occur with this type of mutex. Multiple locks of this mutex require the same number of unlocks to release the mutex before another thread can acquire the mutex.

Return Codes

If this function fails, the following error will be returned:

|EINVAL
|The argument is invalid.

Examples

integer(4) function f_pthread_mutexattr_gettype(mattr, type)
  type(f_pthread_mutexattr_t), intent(in):: mattr
  integer(4), intent(out):: type
end function f_pthread_mutexattr_gettype


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] y k$ lf>H>X>';F ./usr/share/man/info/en_US/xlf/html/lr435.htmp/$ f_pthread_mutexattr_init XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutexattr_init

This function can be used to initialize a mutex attribute object before it can be used in any other way. The mutex attribute object will be returned through argument mattr.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EINVAL
The argument mattr is invalid.

ENOMEM
There is insufficient memory to create the object.

Examples

integer function f_pthread_mutexattr_init(mattr)
    type(f_pthread_mutexattr_t), intent(out):: mattr
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kH$& lf>H>X>';G& ./usr/share/man/info/en_US/xlf/html/lr436.htmp/$ f_pthread_mutexattr_setprioceiling XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutexattr_setprioceiling

This function can be used to set the mutex priority ceiling attribute in the mutex attribute object identified by the argument mattr. Argument ceiling is an integer with a range from 1 to 127. This attribute has an effect only if the mutex priority protection protocol is used.

Return Codes

Note that this function cannot be used at present since the priority protection protocol is not implemented on AIX.

Examples

integer function f_pthread_mutexattr_setprioceiling(mattr, ceiling)
  type(f_pthread_mutexattr_t), intent(inout):: mattr
  integer(4), intent(in):: ceiling
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] EX kv5$E lf>H>X>';HE ./usr/share/man/info/en_US/xlf/html/lr437.htmp/$ f_pthread_mutexattr_setprotocol XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutexattr_setprotocol

This function can be used to set the mutex protocol attribute in the mutex attribute object identified by argument mattr. Argument proto identifies the mutex protocol to be set. For more information about the set of valid values for proto, refer to the AIX Operating System documentation.

Return Codes

Note that this function cannot be used at present since mutex priority inheritance and priority protection are not implemented on AIX.

Examples

integer function f_pthread_mutexattr_setprotocol(mattr, proto)
    type(p_thread_mutexattr_t), intent(inout):: mattr
    integer(4), intent(in):: proto
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ead kP$, lf>H>X>';I, ./usr/share/man/info/en_US/xlf/html/lr438.htmp/$ f_pthread_mutexattr_setpshared XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutexattr_setpshared

This function is used to set the process-shared attribute of the mutex attributes object identified by the argument mattr. The argument pshared must have one of the following values:

PTHREAD_PROCESS_SHARED
Specifies the mutex can be operated upon by any thread that has access to the memory where the mutex is allocated, even if the mutex is allocated in memory that is shared by multiple processes.

PTHREAD_PROCESS_PRIVATE
Specifies the mutex will only be operated upon by threads created within the same process as the thread that initialized the mutex. This is the default setting of the attribute.

Return Codes

If this function completes successfully, value 0 is returned. Otherwise, one of the following errors will be returned:

|EINVAL
|The argument is invalid.

Examples

integer(4) function f_pthread_mutexattr_setpshared(mattr, pshared)
  type(f_pthread_mutexattr_t), intent(inout):: mattr
  integer(4), intent(in):: pshared
end function f_pthread_mutexattr_setpshared


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] pan  kZ$Vlf>H>X>';JV./usr/share/man/info/en_US/xlf/html/lr439.htmp/$ f_pthread_mutexattr_settype XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutexattr_settype

This function is used to set the mutex type attribute in the mutex attributes object identified by the argument mattr The argument type identifies the mutex type attribute to be set. For more information about the type of a mutex, refer to the AIX Operating System documentation.

The argument type must contain one of the following values:

PTHREAD_MUTEX_NORMAL
This type of mutex does not detect deadlock. A thread attempting to relock this mutex without first unlocking it will deadlock. Attempting to unlock a mutex locked by a different thread results in undefined behavior.

PTHREAD_MUTEX_ERRORCHECK
This type of mutex provides error checking. A thread attempting to relock this mutex without first unlocking it will return with an error. A thread attempting to unlock a mutex which another thread has locked will return an error. A thread attempting to unlock an unlocked mutex will return with an error.

PTHREAD_MUTEX_RECURSIVE
A thread attempting to relock this mutex without first unlocking it will succeed in locking the mutex. The relocking deadlock that can occur with mutexes of type PTHREAD_MUTEX_NORMAL cannot occur with this type of mutex. Multiple locks of this mutex require the same number of unlocks to release the mutex before another thread can acquire the mutex.

PTHREAD_MUTEX_DEFAULT
The same as PTHREAD_MUTEX_NORMAL.

Return Codes

If this function completes successfully, value 0 is returned. Otherwise, one of the following errors will be returned:

|EINVAL
|One of the arguments is invalid.

Examples

integer(4) function f_pthread_mutexattr_settype(mattr, type)
  type(f_pthread_mutexattr_t), intent(inout):: mattr
  integer(4), intent(in):: type
end function f_pthread_mutexattr_settype


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] sp l$lf>H>X>';Kk ./usr/share/man/info/en_US/xlf/html/lr44.htmp/$   -<>aenorst "/=AERThilm,12DHINOPcdfpuy().034:BCLMSV_bgx!#589;FGUXYvw+67QW\kq{|}&'[]zKhAASȪ&% ϴ$ bXr&L*9SHjMNo7kF%Dq^9<'ҙzz(((((((((((n9[D<$@&@˄j8 ] O-(!:.o\ð s@x)"eXN8HH5l$L fxn9[$D+s\ajL̦(A q059B%B4|M{Fa:c$ 'n9[)$#\HNfj Vێhr挰gyGгÜ)YZ/s@x0Q-"qB@!5WUBxd/qMTi &(@PD5S&'3փwo7AO||0h7/ .1SކZk4/B\F38R4 #Zk|wo67g扦YU+iB#(lJU2j}`3T,>tQ^@  Ǹ扦YU+iBhwJU2jxpNq(xp <8=4M5RȪ[LD '% 5Q<5ဝ#3džcP@xp{hjUR $*2CL(:Fg P@xp{h$3OjjP P?lc ?@)b>#/3ʋyD?x$w1PqQ`xaQĦH(n6lQ%F -P2/`p9 *M5)A(@ 昔k'j%:JzDب ,pXbQ/7g4 w<'ҙzz(((((((((((v㚖M!4=Y(`X {N9G8I4j@'P"94ijY4D$"8?"`Oba֫ aLÃCOrSaѨ$D{jY4DDqᇹ$UNo73֛CgWYx ѝ9^,t0u&ihu6fz3 aXNwľET(LDL@QU 8iUB* j5ET(L_h& r( MV(  f'&uLo66*B`(HP0cֳ\\aN2V׬ ҮֹxF7;7k1aE"m@ZTbSg^K&hH84syjVfTX2RQ5NjsHrҳ4Z 3(5+JfTTqi2dZ/f @U%M9͜sJsI9(if@U%sP$AW4/MY>z!>&g QyE\Ҫ&8Bzc5hwwwwwwwwwwwwwwwv5&(Ut4/B\u鿜3(%: iW4Ӊ~F2Bzc5hwwwwwwwwwwwwwv5&q@5N9\!jY4D0yxLXphq{ Y&d{ʰPI@kjY4DDqsPI5,Biy"8q8rCE>F:if5JFU"#uلhMxZ>sy'4H*|bԬi2e 陜)o[2בCfhMN&eFK@zk-VeJ욥u7  Ϯ욥xʸ7o7Ô|} Z!Ag5"Nh'*05F8< д3^&g QyGd+U SϏU &pD) Y3FLxDbS2ҜC2u1]F!g5"Nj'ҮUhm$ifAP$ %=V{[zjtLC.0iUsyr&0˖X1a1hoo^axZ7k)Үh& ra|LJl-@QU 8?9eRU45,= ZP```@{+3EjpdəFN99dTLL8Y J((ܔx UyF_&eFj 8@I4D5K&hDCCOȨ-ؘ`D5S&9Jsy6 #\mA'5!9dMLJ栓iW*81aӑ9|@zVSx5㿤D0&2}:*||0yL&RQuV\VCB-5֙elʕ+`޼N/:W.0F~jhs/^+c.0hsJ){&X9^|_}6 7  j gӪI$^#A3ց*nʋyG)؃07b 5L&wwwwwwwwwwwwwݝ8hwH>X>';Mf./usr/share/man/info/en_US/xlf/html/lr440.htmp/$ f_pthread_mutexattr_t XL Fortran for AIX V8.1.1

Language Reference

f_pthread_mutexattr_t

A derived data type whose components are all private. Any object of this type should be manipulated only through the appropriate interfaces provided in this module.

This data type corresponds to the POSIX pthread_mutexattr_t, which is the type of mutex attribute object.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k4$) lf>H>X>';N) ./usr/share/man/info/en_US/xlf/html/lr441.htmp/$ f_pthread_once XL Fortran for AIX V8.1.1

Language Reference

f_pthread_once

This function can be used to initialize those data required to be initialized only once. The first thread calling this function will call initr to do the initialization. Other threads calling this function afterwards will have no effect. Argument initr must be a subroutine without dummy arguments.

Return Codes

If errors are detected during the execution of this function, the following error code will be returned:

EINVAL
The argument once or initr is invalid.

Examples

integer function f_pthread_once(once, initr)
  type(f_pthread_once_t), intent(inout):: once
  external initr
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] J(( k]$lf>H>X>';O./usr/share/man/info/en_US/xlf/html/lr442.htmp/$ f_pthread_once_t XL Fortran for AIX V8.1.1

Language Reference

f_pthread_once_t

A derived data type whose components are all private. Any object of this type should be manipulated through the appropriate interfaces provided in this module. However, objects of this type can only be initialized through the Fortran constant PTHREAD_ONCE_INIT.

This data type corresponds to the POSIX pthread_once_t, which is the type of once-block object.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] typ k $ lf>H>X>';P ./usr/share/man/info/en_US/xlf/html/lr443.htmp/$ f_pthread_rwlock_destroy XL Fortran for AIX V8.1.1

Language Reference

f_pthread_rwlock_destroy

This function destroys the read-write lock object specified by the argument rwlock and releases any resources used by the lock.

Return Codes

If this function completes successfully, value 0 is returned. Otherwise, one of the following errors will be returned:

EBUSY
The target read-write object is locked.

EINVAL
The argument rwlock is invalid.

Examples

integer(4) function f_pthread_rwlock_destroy(rwlock)
  type(f_pthread_rwlock_t), intent(inout):: rwlock
end function f_pthread_rwlock_destroy


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ART">In l7$lf>H>X>';Q ./usr/share/man/info/en_US/xlf/html/lr444.htmp/$    et<=>acdinors "-/ADETghlp.BHILMNOPR_fmuwy|,014:CGSbkv!()235789;FUVWXYxz#6KQ\j{}Z[]h2B ɩƪ@&9DPO)C-y֜ DG@޴Γ6pGPxp0<43s@!n!VMZk/pBfδ `3A"tck/rB)|! N _YiRph8+<2$EU֘_ tpPxp,<8=4ƪ4A?s"*EW% Γ6pO À3sD Sq5ᄓ ^Zt\ExQlG5uiPwp d( ;V+`&"( ;V[ӿiɬV4sQT&=GFohIsF=M`Ч-[t@,4XkQ-ZkڈǴN4JKK-dki_9s9s9s9s9s9 "zd"Il=E'ѡ ,b g)HQM4hKHH>X>';S%./usr/share/man/info/en_US/xlf/html/lr445.htmp/$ f_pthread_rwlock_rdlock XL Fortran for AIX V8.1.1

Language Reference

f_pthread_rwlock_rdlock

|This function applies a read lock to the read-write lock specified |by the argument rwlock. The calling thread acquires the read |lock if a writer does not hold the lock and there are no writes blocked on the |lock. Otherwise, the calling thread will not acquire the read |lock. If the read lock is not acquired, the calling thread blocks (that |is, it does not return from the f_pthread_rwlock_rdlock call) until |it can acquire the lock. Results are undefined if the calling thread |holds a write lock on rwlock at the time the call is made. A |thread may hold multiple concurrent read locks on rwlock (that is, |successfully call the f_pthread_rwlock_rdlock function n |times). If so, the thread must perform matching unlocks (that is, it |must call the f_pthread_rwlock_unlock function n |times).

Return Codes

If this function completes successfully, value 0 is returned. Otherwise, one of the following errors will be returned:

|EAGAIN
|The read-write lock could not be acquired because the maximum number of |read locks for rwlock has been exceeded.

|EINVAL
|The argument rwlock does not refer to an initialized read-write lock |object.

Examples

integer(4) function f_pthread_rwlock_rdlock(rwlock)
  type(f_pthread_rwlock_t), intent(inout):: rwlock
end function f_pthread_rwlock_rdlock


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ]H>X>';TB ./usr/share/man/info/en_US/xlf/html/lr446.htmp/$ f_pthread_rwlock_t XL Fortran for AIX V8.1.1

Language Reference

f_pthread_rwlock_t

A derived data type whose components are all private. Any object of this type should be manipulated only through the appropriate interfaces provided in this module. In addition, objects of this type can be initialized statically through the Fortran constant PTHREAD_RWLOCK_INITIALIZER.

|This data type corresponds to the AIX data type |pthread_rwlock_t, which is the type of the read-write lock |objects.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] e the  kn$lf>H>X>';U./usr/share/man/info/en_US/xlf/html/lr447.htmp/$ f_pthread_rwlock_tryrdlock XL Fortran for AIX V8.1.1

Language Reference

f_pthread_rwlock_tryrdlock

This function applies a read lock like the f_pthread_rwlock_rdlock function with the exception that the function fails if any thread holds a write lock on rwlock or there are writers blocked on rwlock. In that case, the function returns EBUSY. The calling thread can check the return code to take further actions.

Return Codes

|This function returns zero if the lock for reading on the read-write |lock object specified by rwlock is acquired. Otherwise, one of |the following errors will be returned: |

|EAGAIN
|The read-write lock could not be acquired because the maximum number of |read locks for rwlock has been exceeded

|EBUSY
|The read-write lock could not be acquired for reading because a writer |holds the lock or was blocked on it. |
|

|EDEADLK
|The current thread already owns the read-write lock for writing. |
|

|EINVAL
|The argument rwlock does not refer to an initialized read-write lock |object. |

Examples

integer(4) function f_pthread_rwlock_tryrdlock(rwlock)
  type(f_pthread_rwlock_t), intent(inout):: rwlock
end function f_pthread_rwlock_tryrdlock


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k$ lf>H>X>';V ./usr/share/man/info/en_US/xlf/html/lr448.htmp/$ f_pthread_rwlock_trywrlock XL Fortran for AIX V8.1.1

Language Reference

f_pthread_rwlock_trywrlock

This function applies a write lock like the f_pthread_rwlock_wrlock function with the exception that the function fails if any thread currently holds rwlock (for reading or writing). In that case, the function returns EBUSY. The calling thread can check the return code to take further actions.

Return Codes

|This function returns zero if the lock for writing on the read-write |lock object specified by rwlock is acquired. Otherwise, one of |the following errors will be returned: |

|EBUSY
|The read-write lock could not be acquired for reading because a writer |holds the lock or was blocked on it. |
|

|EDEADLK
|The current thread already owns the read-write lock for writing. |
|

|EINVAL
|The argument rwlock does not refer to an initialized read-write lock |object. |

Examples

integer(4) function f_pthread_rwlock_trywrlock(rwlock)
  type(f_pthread_rwlock_t), intent(inout):: rwlock
end function f_pthread_rwlock_trywrlock


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] H>X>';Wk ./usr/share/man/info/en_US/xlf/html/lr449.htmp/$ f_pthread_rwlock_unlock XL Fortran for AIX V8.1.1

Language Reference

f_pthread_rwlock_unlock

This function is used to release a lock held on the read-write lock object specified by the argument rwlock. If this function is called to release a read lock from the read-write lock object and there are other read locks currently held on this read-write lock object, the read-write lock object remains in the read locked state. If this function releases the calling thread's last read lock on this read-write lock object, then the calling thread is no longer one of the owners of the object. If this function releases the last read lock for this read-write lock object, the read-write lock object will be put in the unlocked state with no owners.

Return Codes

If this function completes successfully, value 0 is returned. Otherwise, one of the following errors will be returned:

|EINVAL
|The argument rwlock does not refer to an intialized read-write |lock object.

EPERM
The current thread does not own the read-write lock.

Examples

integer(4) function f_pthread_rwlock_unlock(rwlock)
  type(f_pthread_rwlock_t), intent(inout):: rwlock
end function f_pthread_rwlock_unlock


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] RE> < l`W$Dlf>H>X>';XO../usr/share/man/info/en_US/xlf/html/lr45.htmp/$   et -<>ainors,/ADEIRTchlmpu"().013:=BNPSbdfgy!245CHLMOV_v'+9FGUYwx#%*678;Xkq|&WjzQ\{}K[]B"JUAÓ y館(Uxw < xt`U5CضδU5Cxjt#n-[$H"D$H"D$H"D$H"D$H"Dw.Ch2` 22;GD Vym3W 8Κ=[e/rםiŀ4U 2V#<" "_-~fs39Kδw ;"U_= o(zmk5 sg)y֞wgp5E{^Zmo3[}_>;&R<|VSxP@C-<ّgՆ* |cmLwV2{UD3 U1ǜt5弾/3;_}/u6ʆ;Vن/O:-lg)3|L}+MYo|]歒ܷO-Zlִѽ3?Wfv헺֛[~j-}^T{ա7[<@}_=1wRىW|-/Wfv^ZmkCjgFtrvi_=1k|fL1:n;ۚKrW>hcݲZkF_=jǻeֺw歒ܷO3;_N{QlZc]ÓE=cV!afؖδ'&cyE|{ɜjW^y@B 5}d EDśחDCn3FbeݲZk~m1W/]O>ח:}_9Y[ 8[5^u&q90_|1O|c֑cSoW+ZFmilŘ/Vb{UDER@X$cEx w@X !#?nڬk<r_-|cmO(6|3ۍwpGU|jN[7'&2WrbǑ "@@r 0Q2LY$"VӦbǜ17Ύ(c UD(a' *egyPÒ( @!eTL-qxҩ@`U_>k=L_;USyܳ3_YgkH@`D(ZgjVS?W}kkvεYjofFJ*c\|fk}AHVZ"}O<mh%vkMbw"WT+R['hrX98C}[oWi_}L_;RtJ*}ユ޼UAL)*@\|m2 tUD4\10S( U߇ @;dH#K&ebJQ(TJ*J*I*$TU.,10S( TgATHaac rEJ*I*$yUUD4\15AJAR*I*$YUIQc8xDzҩp*UDQ( *%Fr(g* *YUIQ%FrTU.,10S( TgQ"ʠ Q#wʞV:J^ZmoM3on'mm{i(`$ǎ8$pKpG)ZgjV[헺֛[iPŶlִolA+^Zmhު%ަ~16t{&ҵoWy3Wz6|vkMimc[{^Zmmtc_S||^Mg#~wz6|:nq90_ΟW_g1Kp.o֭j1:lִ߶Lfۉ[:헺֛Z5+UmO+ZFmiyo/RS>^fjiӾҠPǺkpV jשVF!THHS *%mswdk zo5DD1`jȨ~5=7@B `ER("gZnSoЏ|$ $) eH , **)z@qN$ dH`"LAl`xjp` k$[ lf>H>X>';][ ./usr/share/man/info/en_US/xlf/html/lr450.htmp/$ f_pthread_rwlock_wrlock XL Fortran for AIX V8.1.1

Language Reference

f_pthread_rwlock_wrlock

This function applies a write lock to the read-write lock specified by the argument rwlock. The calling thread acquires the write lock if no other thread (reader or writer) holds the read-write lock rwlock. Otherwise, the thread blocks (that is, does not return from the f_pthread_rwlock_wrlock call) until it acquires the lock. Results are undefined if the calling thread holds the read-write lock (whether a read or write lock) at the time the call is made.

Return Codes

If this function completes successfully, value 0 is returned. Otherwise, the following error will be returned:

|EINVAL
|The argument rwlock does not refer to an initialized read-write lock |object.

Examples

integer(4) function f_pthread_rwlock_wrlock(rwlock)
  type(f_pthread_rwlock_t), intent(inout):: rwlock
end function f_pthread_rwlock_wrlock


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] k< k'$: lf>H>X>';^: ./usr/share/man/info/en_US/xlf/html/lr451.htmp/$ f_pthread_rwlockattr_destroy XL Fortran for AIX V8.1.1

Language Reference

f_pthread_rwlockattr_destroy

This function destroys a read-write lock attributes object specified by the argument rwattr which has been initialized previously. A read-write lock created with this attribute will not be affected by the action.

Return Codes

If this function completes successfully, value 0 is returned. Otherwise, the following error will be returned:

|EINVAL
|The argument rwattr is invalid.

Examples

integer(4) function f_pthread_rwlockattr_destroy(rwattr)
  type(f_pthread_rwlockattr_t), intent(inout):: rwattr
end function f_pthread_rwlockattr_destroy


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] _wrloc kG$8 lf>H>X>';_8 ./usr/share/man/info/en_US/xlf/html/lr452.htmp/$ Language Reference XL Fortran for AIX V8.1.1

Language Reference

f_pthread_rwlockattr_getpshared

This function is used to obtain the value of the process-shared attribute from the initialized read-write lock attributes object specified by the argument rwattr. The current setting of this attribute will be returned in the argument pshared. pshared will contain one of the following values:

PTHREAD_PROCESS_SHARED
The read-write lock can be operated upon by any thread that has access to the memory where it is allocated, even if these threads belong to different processes.

PTHREAD_PROCESS_PRIVATE
The read-write lock shall only be used by threads within the same process as the thread that created it.

Return Codes

If this function completes successfully, value 0 is returned and the value of the process-shared attribute of rwattr is stored into the object specified by the argument pshared. Otherwise, the following error will be returned:

EINVAL
The argument rwattr is invalid.

Examples

integer(4) function f_pthread_rwlockattr_getpshared(rwattr, pshared)
  type(f_pthread_rwlockattr_t), intent(in):: rwattr
integer(4), intent(out):: pshared
end function f_pthread_rwlockattr_getpshared


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k<($ lf>H>X>';a ./usr/share/man/info/en_US/xlf/html/lr453.htmp/$ f_pthread_rwlockattr_init XL Fortran for AIX V8.1.1

Language Reference

f_pthread_rwlockattr_init

This function initializes a read-write lock attributes object specified by rwattr with the default value for all of the attributes.

Return Codes

If this function completes successfully, value 0 is returned. Otherwise, the following error will be returned:

|ENOMEM
|There is insufficient memory to initialize the read-write lock attributes |object.

Examples

integer(4) function f_pthread_rwlockattr_init(rwattr)
  type(f_pthread_rwlockattr_t), intent(out):: rwattr
end function f_pthread_rwlockattr_init


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] -- REVE kR$ lf>H>X>';b ./usr/share/man/info/en_US/xlf/html/lr454.htmp/$ f_pthread_rwlockattr_setpshared XL Fortran for AIX V8.1.1

Language Reference

f_pthread_rwlockattr_setpshared

This function is used to set the process-shared attribute in an initialized read-write lock attributes object specified by the argument rwattr. The argument pshared must have one of the following values:

PTHREAD_PROCESS_SHARED
Specifies the read-write lock can be operated upon by any thread that has access to the memory where it is allocated, even if these threads belong to different processes.

PTHREAD_PROCESS_PRIVATE
Specifies the read-write lock shall only be used by threads within the same process as the thread that created it. This is the default setting of the attribute.

Return Codes

If this function completes successfully, value 0 is returned. Otherwise, one of the following errors will be returned:

EINVAL
The argument rwattr is invalid.

Examples

integer(4) function f_pthread_rwlockattr_setpshared(rwattr, pshared)
  type(f_pthread_rwlockattr_t), intent(inout):: rwattr
  integer(4), intent(in):: pshared
end function f_pthread_rwlockattr_setpshared


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ] kƜ$lf>H>X>';c./usr/share/man/info/en_US/xlf/html/lr455.htmp/$ f_pthread_rwlockattr_t XL Fortran for AIX V8.1.1

Language Reference

f_pthread_rwlockattr_t

This is a derived data type whose components are all private. Any object of this type should be manipulated only through the appropriate interfaces provided in this module.

|This data type corresponds to the data type |pthread_rwlockattr_t, which is the type of the read-write lock |attributes objects.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] t set k$(lf>H>X>';d(./usr/share/man/info/en_US/xlf/html/lr456.htmp/$ f_pthread_self XL Fortran for AIX V8.1.1

Language Reference

f_pthread_self

This function can be used to return the thread ID of the calling thread.

Return Codes

The calling thread's ID is returned.

Examples

type(f_pthread_t) function f_pthread_self()
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k67$ lf>H>X>';e ./usr/share/man/info/en_US/xlf/html/lr457.htmp/$ f_pthread_setcancelstate XL Fortran for AIX V8.1.1

Language Reference

f_pthread_setcancelstate

This function can be used to set the thread's cancelability state. The new state will be set according to the argument state. The old state will be returned in the argument oldstate. These arguments will assume the value of one of the following Fortran constants:

PTHREAD_CANCEL_DISABLE:
the thread's cancelability is disabled.

PTHREAD_CANCEL_ENABLE:
the thread's cancelability is enabled.

Return Codes

If errors are detected during the execution of this function, the following error code will be returned:

EINVAL
The argument state is invalid.

Examples

integer function f_pthread_setcancelstate(state, oldstate)
  integer(4), intent(in):: state
  integer(4), intent(out):: oldstate
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] red H>X>';f% ./usr/share/man/info/en_US/xlf/html/lr458.htmp/$ f_pthread_setcanceltype XL Fortran for AIX V8.1.1

Language Reference

f_pthread_setcanceltype

This function can be used to set the thread's cancelability type. The new type will be set according to the argument type. The old type will be returned in argument oldtype. These arguments will assume the value of one of the following Fortran constants:

PTHREAD_CANCEL_DEFERRED:
cancelation request will be delayed until a cancelation point.

PTHREAD_CANCEL_ASYNCHRONOUS:
cancelation request will be acted upon immediately. This may cause unexpected results.

Return Codes

If errors are detected during the execution of this function, the following error code will be returned:

EINVAL
The argument type is invalid.

Examples

integer function f_pthread_setcanceltype(type, oldtype)
  integer(4), intent(in):: type
  integer(4), intent(out):: oldtype
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] A>  k.$ lf>H>X>';g ./usr/share/man/info/en_US/xlf/html/lr459.htmp/$ f_pthread_setconcurrency XL Fortran for AIX V8.1.1

Language Reference

f_pthread_setconcurrency

This function is used to inform the pthreads library implementation of desired concurrency level as specified by the argument new_level. The actual level of concurrency provided by the implementation as a result of this function call is unspecified. For more information about the concurrency level, refer to the AIX Operating System documentation.

Return Codes

|If this function completes successfully, value 0 is returned. |Otherwise, one of the following errors will be returned: |

|EAGAIN
|The value specified by new_level would cause system resource to be |exceeded.

|EINVAL
|The value specified by new_level is negative. |

Examples

integer(4) function f_pthread_setconcurrency(new_level)
integer(4), intent(in):: new_level
end function f_pthread_setconcurrency


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 4. k$lf>H>X>';h./usr/share/man/info/en_US/xlf/html/lr46.htmp/$ Array Constructors XL Fortran for AIX V8.1.1

Language Reference


Array Constructors

An array constructor is a sequence of specified scalar values. It constructs a rank-one array whose element values are those specified in the sequence.



>>-(/--ac_value_list--/)---------------------------------------><
 
 

ac_value
is an expression or implied-DO list that provides values for array elements. Each ac_value in the array constructor must have the same type and type parameters.

If ac_value is:

  • A scalar expression, its value specifies an element of the array constructor.
  • An array expression, the values of the elements of the expression, in array element order, specify the corresponding sequence of elements of the array constructor.
  • An implied-DO list, it is expanded to form an ac_value sequence under the control of the ac_do_variable, as in the DO construct.

The data type of the array constructor is the same as the data type of the ac_value_list expressions. If every expression in an array constructor is a constant expression, the array constructor is a constant expression.

You can construct arrays of rank greater than one using an intrinsic function. See RESHAPE(SOURCE, SHAPE, PAD, ORDER) for details.

INTEGER, DIMENSION(5) :: A, B, C, D(2,2)
A = (/ 1,2,3,4,5 /)               ! Assign values to all elements in A
A(3:5) = (/ 0,1,0 /)              ! Assign values to some elements
C = MERGE (A, B, (/ T,F,T,T,F /)) ! Construct temporary logical mask
 
! The array constructor produces a rank-one array, which
!   is turned into a 2x2 array that can be assigned to D.
D = RESHAPE( SOURCE = (/ 1,2,1,2 /), SHAPE = (/ 2,2 /) )
 
! Here, the constructor linearizes the elements of D in
!   array-element order into a one-dimensional result.
PRINT *, A( (/ D /) )

Implied-DO List for an Array Constructor

Implied-DO loops in array constructors help to create a regular or cyclic sequence of values, to avoid specifying each element individually.

A zero-sized array of rank one is formed if the sequence of values generated by the loop is empty.



>>-(--ac_value_list--,--implied_do_variable-- = --expr1--,--expr2-->
 
>--+----------+--)---------------------------------------------><
   '-,--expr3-'
 
 

implied_do_variable
is a named scalar integer or real variable. IBM Extension BeginsIn XL Fortran, an implied_do_variable is a real expression. IBM Extension Ends In a nonexecutable statement, the type must be integer. You must not reference the value of an implied_do_variable in the limit expressions expr1 or expr2. Loop processing follows the same rules as for an implied-DO in DATA, and uses integer or real arithmetic depending on the type of the implied-DO variable.

The variable has the scope of the implied-DO, and it must not have the same name as another implied-DO variable in a containing array constructor implied-DO:

M = 0
PRINT *, (/ (M, M=1, 10) /) ! Array constructor implied-DO
PRINT *, M                  ! M still 0 afterwards
PRINT *, (M, M=1, 10)       ! Non-array-constructor implied-DO
PRINT *, M                  ! This one goes to 11
PRINT *, (/ ((M, M=1, 5), N=1, 3) /)
! The result is a 15-element, one-dimensional array.
! The inner loop cannot use N as its variable.

expr1, expr2,  and  expr3
are integer scalar expressions

+-------------------------------IBM Extension--------------------------------+

In XL Fortran, expr1, expr2 and expr3 are real expressions.

+----------------------------End of IBM Extension----------------------------+

PRINT *, (/ (I, I = 1, 3) /)
! Sequence is (1, 2, 3)
PRINT *, (/ (I, I = 1, 10, 2) /)
! Sequence is (1, 3, 5, 7, 9)
PRINT *, (/ (I, I+1, I+2, I = 1, 3) /)
! Sequence is (1, 2, 3, 2, 3, 4, 3, 4, 5)
 
PRINT *, (/ ( (I, I = 1, 3), J = 1, 3 ) /)
! Sequence is (1, 2, 3, 1, 2, 3, 1, 2, 3)
 
PRINT *, (/ ( (I, I = 1, J), J = 1, 3 ) /)
! Sequence is (1, 1, 2, 1, 2, 3)
 
PRINT *, (/2,3,(I, I+1, I = 5, 8)/)
! Sequence is (2, 3, 5, 6, 6, 7, 7, 8, 8, 9).
! The values in the implied-DO loop before
!   I=5 are calculated for each iteration of the loop.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] If eve k$ylf>H>X>';jy./usr/share/man/info/en_US/xlf/html/lr460.htmp/$ f_pthread_setschedparam XL Fortran for AIX V8.1.1

Language Reference

f_pthread_setschedparam

This function can be used to dynamically set the scheduling policy and the scheduling property of a thread. The target thread is identified by argument thread. The new scheduling policy for the target thread is provided through argument policy. The valid scheduling policies on AIX can be found in the AIX Operating System documentation. The new scheduling property of the target thread will be set to the value provided by argument param. The sched_priority field in param defines the scheduling priority. Its range is 1-127.

The new policy cannot be set to first-in first-out or round-robin unless the caller has root authority. For more details about when the new scheduling property has effect on the target thread, refer to the AIX Operating System documentation.

Return Codes

If errors are detected during the execution of this function, one of the following error codes will be returned:

EINVAL
The argument thread or param is invalid.

ENOSYS
The POSIX priority scheduling option is not implemented on AIX.

ENOTSUP
The value of argument policy or param is not supported.

EPERM
The target thread is not permitted to perform the operation or is in a mutex protocol already.

ESRCH
The target thread does not exist or is invalid.

Examples

integer function f_pthread_setschedparam(thread, policy, param)
    type(f_pthread_t), intent(inout):: thread
    integer(4), intent(in):: policy
    type(f_sched_param), intent(in):: param
end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] H3> H>X>';k`./usr/share/man/info/en_US/xlf/html/lr461.htmp/$ f_pthread_setspecific XL Fortran for AIX V8.1.1

Language Reference

|f_pthread_setspecific

| |

|This function can be used to set the calling thread's specific data |associated with the key identified by argument key. The |argument arg, which is optional, identifies the thread-specific data |to be set. If arg is not provided, the thread-specific data |will be set to NULL, which is the initial value for each thread. Only |an integer pointer can be passed as the arg argument. If |arg is not an integer pointer, the result is undefined.

|The actual argument arg must be a variable, and consequently |eligible as a left-value in an assignment statement. If you pass an |array section with vector subscripts to the argument arg, the result |is unpredictable.

|Return Codes

|If errors are detected during the execution of this function, one of the |following error codes will be returned: |

|EINVAL
|The argument key is invalid.

|ENOMEM
|There is insufficient memory to associate the data with the key. |

|Examples

|integer function f_pthread_setspecific(key, arg)
|  type(f_pthread_key_t), intent(in):: key
|  pointer(arg, byte)
|  optional arg
|  intent(in) arg
|end function


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k )$lf>H>X>';l./usr/share/man/info/en_US/xlf/html/lr462.htmp/$ Language Reference XL Fortran for AIX V8.1.1

Language Reference

f_pthread_t

A derived data type whose components are all private. Any object of this type should be manipulated only through the appropriate interfaces provided in this module.

This data type corresponds to the POSIX pthread_t, which is the type of thread object.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] al, i k0$Mlf>H>X>';mM./usr/share/man/info/en_US/xlf/html/lr463.htmp/$ f_pthread_testcancel XL Fortran for AIX V8.1.1

Language Reference

f_pthread_testcancel

This subroutine provides a cancelation point in a thread. When it is called, any pending cancelation request will be acted upon immediately if it is in the enabled state.

Examples

subroutine f_pthread_testcancel()
end subroutine


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] is  kH $lf>H>X>';n./usr/share/man/info/en_US/xlf/html/lr464.htmp/$ f_sched_param XL Fortran for AIX V8.1.1

Language Reference

f_sched_param

This data type corresponds to the AIX system data structure sched_param, which is a system data type. See AIX Operating System documentation for more information.

Examples

This is a public data structure defined as:

type f_sched_param
  sequence
  integer sched_priority
end type f_sched_param


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] d k $lf>H>X>';o./usr/share/man/info/en_US/xlf/html/lr465.htmp/$ f_sched_yield XL Fortran for AIX V8.1.1

Language Reference

f_sched_yield

This function is used to force the calling thread to relinquish the processor until it again becomes the head of its thread list.

Return Codes

If this function completes successfully, value 0 is returned. Otherwise, a value of -1 will be returned.

Examples

integer(4) function f_sched_yield()
end function f_sched_yield


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k^4 $. lf>H>X>';p. ./usr/share/man/info/en_US/xlf/html/lr466.htmp/$ f_timespec XL Fortran for AIX V8.1.1

Language Reference

f_timespec

This is a Fortran definition of the AIX system data structure timespec. Within the Fortran Pthreads module, objects of this type are used to specify an absolute date and time. This deadline absolute date is used when waiting on a POSIX condition variable. See AIX Operating System documentation for more information.

|Any 64-bit application that uses this data structure will use the |symbolic constant time_size to specify the kind type parameter of the tv_sec |intrinsic data type. It is set either to '4' for 32-bit applications and 64-bit |non-LDT applications, or to '8' for 64-bit LDT |applications.

Examples

This is a public data structure defined as:

type f_timespec
    sequence
    integer(kind=register_size) tv_nsec
end type f_timespec

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] on k. $lf>H>X>';q./usr/share/man/info/en_US/xlf/html/lr467.htmp/$ Part 3. XL Fortran Language Utilities XL Fortran for AIX V8.1.1

Language Reference


Part 3. XL Fortran Language Utilities

The following parts explain other aspects of the XL Fortran language:


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] , or to k $% lf>H>X>';r% ./usr/share/man/info/en_US/xlf/html/lr468.htmp/$ Chapter 16. Floating-point Control and Inquiry Procedures XL Fortran for AIX V8.1.1

Language Reference


Chapter 16. Floating-point Control and Inquiry Procedures

|XL Fortran provides several ways that allow you to query and control |the floating-point status and control register of the processor |directly. These include: |

  • |fpgets and fpsets subroutines
  • |Efficient floating-point control and inquiry procedures
  • |IEEE floating-point functions, as specified in the Fortran 2000 draft |standard |

The fpgets and fpsets subroutines retrieve and set the status of the floating-point operations, respectively. Instead of calling operating system routines directly, these subroutines use an array of logicals named fpstat to pass information back and forth. XL Fortran also provides procedures in the xlf_fp_util module that allow you to control the floating-point status and control register of the processor directly. These procedures are more efficient than the fpgets and fpsets subroutines; they are mapped into inlined machine instructions that directly manipulate the floating-point status and control register.

XL Fortran provides the IEEE_ARITHMETIC, IEEE_EXCEPTIONS, and IEEE_FEATURES modules to take advantage of the Fortran 2000 draft standard rules for the IEEE floating-point status semantics.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] |H>X>';s ./usr/share/man/info/en_US/xlf/html/lr469.htmp/$ fpgets fpsets XL Fortran for AIX V8.1.1

Language Reference


fpgets fpsets

The fpgets and fpsets subroutines retrieve and set the status of the floating-point operations, respectively. The include file fpdc.h contains the data declarations (specification statements) for the two subroutines. The include file fpdt.h contains the data initializations (data statements) and must be included in a block data program unit.

fpgets retrieves the floating-point process status and stores the result in a logical array called fpstat.

fpsets sets the floating-point status equal to the logical array fpstat.

This array contains logical values that can be used to specify floating-point rounding modes. See the fpgets and fpsets Subroutines in the User's Guide for examples and information on the elements of the fpstat array.

Note:
The XLF_FP_UTIL module provides procedures for manipulating the status of floating-point operations that are more efficient than the fpgets and fpsets subroutines. For more information, see Efficient Floating-Point Control and Inquiry Procedures.

Examples

CALL fpgets( fpstat )
 ...
CALL fpsets( fpstat )
BLOCK DATA
INCLUDE 'fpdc.h'
INCLUDE 'fpdt.h'
END
 


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k/$X lf>H>X>';tX ./usr/share/man/info/en_US/xlf/html/lr47.htmp/$ Expressions Involving Arrays XL Fortran for AIX V8.1.1

Language Reference


Expressions Involving Arrays

Arrays can be used in the same kinds of expressions and operations as scalars. Intrinsic operations, assignments, or elemental procedures can be applied to one or more arrays.

For intrinsic operations, in expressions involving two or more array operands, the arrays must have the same shape so that the corresponding elements of each array can be assigned to or be evaluated. In a defined operation arrays can have different shapes. Arrays with the same shape are conformable. In a context where a conformable entity is expected, you can also use a scalar value: it is conformable with any array, such that each array element has the value of the scalar.

For example:

INTEGER, DIMENSION(5,5) :: A,B,C
REAL, DIMENSION(10) :: X,Y
! Here are some operations on arrays
A = B + C         ! Add corresponding elements of both arrays.
A = -B            ! Assign the negative of each element of B.
A = MAX(A,B,C)    ! A(i,j) = MAX( A(i,j), B(i,j), C(i,j) )
X = SIN(Y)        ! Calculate the sine of each element.
! These operations show how scalars are conformable with arrays
A = A + 5         ! Add 5 to each element.
A = 10            ! Assign 10 to each element.
A = MAX(B, C, 5)  ! A(i,j) = MAX( B(i,j), C(i,j), 5 )
 
END

Related Information:

Elemental Intrinsic Procedures
Intrinsic Assignment
WHERE shows a way to assign values to some elements in an array but not to others
FORALL Construct


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l5$+alf>H>X>';u*D./usr/share/man/info/en_US/xlf/html/lr470.htmp/$   "<=>AETaenrst /DFGHILNOPRS_cdfghilopCmu%,-.1245MVWby|()03BKUXvwx!#89:Y67Zkqz;Q\{}*[]'JNeD'/( J jO2p2JRdxTڝIQuU|ܶH7Ź7kYnP"HxA\v2Z]W2c1c1c1c1c1xPTŁi"@#O:c @+;LSk=  ‚<@$@(ns7SvcA>ns1["Ƃzޫ'T]+nkhq`OUW*.ݘO]7;4Mܸl0'͝ _j(W?CDˌf{ڋrؾQwtT]1n3a=EҹQvƂ{ڙpnPc_hq`ObS. qk_j.7rEҹ ]+nkhq`O\vcA?WڙpnPc_hq`O\|+>ejUh^-nUE_C;Yu}ŭ88Pc<)Y+TB@DbmghZXJ8xh  V|,7ps^VZ p8;0 8<)Y+TB@Dbk7^?p8 `@p 'x'P$};xwupJ<! `* ]nkm9#ON67w#:dwA?ndmP #caZأw>6#ca@;>6#<NIԐ L@ L&P]onf/lm aܧ3w3h3aa!w1@L'qzaneҺem1c1c1c1c1c<(*C|R/#f.@x#ً|+x`d^i 8 >P"rBy0@xO1 E wNCĥe !HRE,U E1i? 4-E}h}T]Z7mm0c|[\o spN\V '(`l2s;ͱˀ֖ lw.+ufmQnp 6W1fvܶN7lnUo.7vl߻GY](~\V fҭ_ffwX텇]_z'_\Nn=~2λuX۝6.eYkc[vӘf-ݷomm0c[ u\7anUҹYlP,xO1 E Ꮤ2s;ͱ5[jfc n7m7+Ys-*Unc_lv{+}{anoGoֺa5s?lWn^[Xkm9fuc[7mlZq1OoˊaYk\c nnvVnk wfw.+uUmc}GC.m7Wf`h}vkla}{k훏 g[`hzom1q[77 fwmsX`unm]nf7m7+Yq,5xR'SMLpJ D<*L8ϋΡUƖ|^ B@Abh$i52/ "n}*dS<4U_fqPP4Z&?ML@`ȦأTByigPK>/Z i1x?MLÃ#VihxS%*T<*OƖ|^u 44I8Zh5Hjd^>@QwT (T3,WigA)2hqxM 4 ]С6TBigPK>/IDŠp!Hjd^Y"$6\cV 6P87Y!] 5[l@,N nDY@eVoi뵏oۙjW}Wj/پBǁ(IT@(U)BigPK>/IDŠrhXcȼ4|8(0M7~ABml <2I8ϋΡUƖ|_T2&'@Cȼ88!<6D HmH aVƭp<8@Y*LER'RCU7Wfw.+u ~-Z80)u4Z}n۸nqGVv_)f.F[m9<H\i'T<|ĨT^C`v00iH9djl7,2W0m+p*ga~lUo5>͆vml|mps[gXe,2Xkwؠ'ٿuI˒.v2>ٿaa Q{y RG $.@H\me9Sc'RiӃ)BPSN 83]Eҹ 87_Wڋr<E*Hx#!&oi5~ٿuIːP.'TZ˃pZ"rl@, !HAp5FP>bF"g7NUfwmsXcm߶ַosݱ}mfn5~ٿ]+ˊa JC³N$i52/ ($MR3K>/:UFgYx% IŠrhXHjd^a6(<L8ϋΡUƖ|^ B@Abh$i52/>BƷllxS% qB#3,j85Hjd^@"orӻi@L2P"JJC¤igPK>/IDŠrhX$FgFS"xO1 E NC|_6lxR2I8ϋΡUƖ|_T2&'@#Ix 8!)Ť(TBigPK>/IDŠpkȼ8/IDŠpkȼ8gYy*38ϋ/Rd$h4I$љx{ȼ40!By8s'!ͥ)pnk q%)@(T3,WigA)2hqx 4"Q#Q#ǁ&P>gYy*38ϋ/Rd$h$i52/|pnpl{fu5&P"JJP>gYy*38ϋ/Rd$h$i52/>E"G@xRe qB#3,"e&MN/FS"'o.*LER*R|4U_fq_̤ɢI81Hjd^|ED%DTBigPK>/IDŠpkȼ8gYy*38ϋ/Rd$h$i52/>E"GB(T3,WigA)2hqx 4>I87 }VvXkb(T (T3,WigA)2hqx 4"Q#PAh<2I8ϋΡUƖ|_T2&'@#IxpxC s'5o,Z|3ۮ]1 Zwglۏ*LER*I8ϋΡUƖ|_T2&'@Ѡ;H &ϋȼ40!By8{'!ͥ)V1 ~SvcP JR&P>gYy*38ϋ/Rd$h$i52/>UI >ɋ"'K>/:UFgY}PEL$^-_č&E1a6Wy(T (T3,WigA)2hqx 4*"$ PQ$&P>gYy*38ϋ/Rd$h$i52/| ~@֖PP\͝T@(U)BigPK>/IDŠpcȼU$TM(&P>gYy*38ϋ/Rd$h$i52/| ~7 _+;6txRe*T qB#3,"e&MN/FS"@pCTQ$Q *LR|4U_fq_̤ɢI85Hjd^SnmngG&P"JJP>gYy*38ϋ/Rd$h$i52/>UI /:UFgY}PEL$^-_č&E1a66ʹl"U)BJ'K>/:UFgY}PEL$^-č&EȤTL <2I8ϋΡUƖ|_T2&'@#IxpxC\|XM 2gnͶ<2JPR'K>/:UFgY}PEL$^-F $3>/oFS"xO1 E  ҔwvӘSvcCEI*OƖ|^u 44I8Z?MLHi38G&P>gYy*38ϋ/Rd$h$i52/|6ʹqi{ջi*LER*R|4U_fq_̤ɢI81Hjd^|EDhG $<2I8ϋΡUƖ|_T2&'@#IxpxC6]ns(T (T3,WigA)2hqx 4"Py4HTBigPK>/IDŠpkȼ8D ik {pzwm9EIRR*OƖ|^u 44I8Z?MLHiL]G&P>gYy*38ϋ/Rd$h$i52/|W~ns(T (T3,WigA)2hqx 4"Rg DxRe qB#3,"e&MN/FS"mͥ)V1["vƇ&P"JJP>gYy*38ϋ/Rd$h$i52/>E"=CiJ( "'K>/:UFgY}PEL$^-_č&EoJSNc_CF E:ٍ{ljaoECO2bV0<2JPR'K>/:UFgY}PEL$^-F $3>/č&Eᡁ>b$'!,-b7nK=[&Mݘ(Re qB#3,"e&MN/FS"@pCR*x3ǁ&P>gYy*38ϋ/Rd$h$i52/|iY<2JPRI8ϋΡUƖ|_T2&'@#Ix 8!) gYy*38ϋ/Rd$h$i52/>E"i&*LR|4U_fq_̤ɢI85Hjd^[spXkb(T (T3,WigA)2hqx 4"PTAEI*OƖ|^u 44I8ZMLÃ ?#ǁ&P"JJP>gYy*38ϋ/Rd$h$i52/>E"hTBigPK>/IDŠpkȼ8/:UFgY}PEL$^-č&EȤT4"<2I8ϋΡUƖ|_T2&'@#IxpxC ÙZW;lxRe*T qB#3,"e&MN/FS"@pCR*xUTBigPK>/IDŠpkȼ8/IDŠpcȼ"G&P>gYy*38ϋ/Rd$h$i52/|m۝n_>˙T@(U)BigPK>/IDŠpcȼ"14 "'K>/:UFgY}PEL$^-_č&En/uaǁ&P"JJC¤igPK>/IDŠrhX$Fg#Ixh`C<'Ϙ"IpU~UWNc4`dSݘ(Re qB#3,"e&MN/FS"@pCR*L%@`G&P>gYy*38ϋ/Rd$h$i52/|Opzwm9["v"U)BJ'K>/:UFgY}PEL$^-č&EȤT( "'K>/:UFgY}PEL$^-_č&EoNc_CF E:ٍ*LER*R|4U_fq_̤ɢI81Hjd^|EAh zh*LR|4U_fq_̤ɢI85Hjd^Mݴ54`dSݘ׸=VƬfT4&.ns(T !R|4U_fq_̤ɢI94h,I3Hjd^ !HAp|D:ޫC@ ! JP"'K>/:UFgY}PEL$^-č&EȤTSEDŏ*LR|4U_fq_̤ɢI85Hjd^#֯:XcEIRR*OƖ|^u 44I8Z?MLHTP"'K>/:UFgY}PEL$^-_č&Esg]k w\xRe*T qB#3,"e&MN/FS"@pCR*U)<2I8ϋΡUƖ|_T2&'@#IxpxCCoOZc\xRe*T qB#3,"e&MN/FS"@pCR*U)*LR|4U_fq_̤ɢI85Hjd^u\6n굫κ`xRe*T qB#3,"e&MN/FS"@pCR*U)*LR|4U_fq_̤ɢI85Hjd^%u\6n굫κ`xRe*T qB#3,"e&MN/FS"@pCR*U)SNAEI*OƖ|^u 44I8ZMLÃ$^`mnmߌqk*LER*R|4U_fq_̤ɢI81Hjd^|EJ4TI "'K>/:UFgY}PEL$^-_č&E33s 5"U)BJ'K>/:UFgY}PEL$^-č&EȤTSE@Y"p"'K>/:UFgY}PEL$^-_č&EWon1ůi qEIR$Hx#(d{2z(!#q۞wwvӘ͝u0 o־Ҕnsw7f5텂G, _-~lߍˊZsٶurk :X߸=[ƾ;klulnuSy=̄6P8*ZnQ3afλVH\2y!:} qݴNgs7aw22iw1'JE,ʈGVM $.A@vR@'.is[} qݴ4>o,@_ ikf֒ l@,eNgs7aw22iw1uM\ƷloA?W]7;ǀkILgg +fW^66Xc)gikї Yǁ!ǂ2CN6ZB#N^a)Pm8bT*/o pжv0P |7m7mm0c}NP Dv-YvؕYk_WWm9Z޾ٿ봫Wmqo7ݬadPxicUfbHVibNn]} @ÊPTӠEk.1ņp҄^a) 9% E1i(Q-7V\vcP"rHxO1 E  (9 !HApNC|R/4`x`5FCU[ʋrٍ} ˃v/nξٿ]-S5nl-sˍַ|۳ v괸kl߈M0WX2_)1m(޳l};uZ\S!4_7f˯uwuqu'~bsO @RLZJ<0_\ն8aFm tfo-cM*;q[77ZW- n<'JE0 gcS HAA&7 nNAcx3~s#-slߔb깍nނ~ Qx 5)ŤN>Kssݱ@,x#('Tb$|D<'Ϙ"I(9d<4Z*l1u+4*~o6w7 1noNz _-~lxicUfbHVibCu|r־mvܶN7V1;m6wA~xicUfbHVibVF_Jh 4e펻o6w5ca|3deӘ`xicUfbHVibKgzc[7|ĨT^JE1i(-ӬϪo\\ƷloP"r ȧ39m~~o6wf֒[V͎׾onpM~Ͷkw텽4Әq.8dmi mUa!XmA:+k{v[{Bcw}@!mUa!Xm.͝4к$)&<7kl߮Fw]7:<4Z*l1u+4%\Ʒll,x#(icUfbHVibPN yrJxR@<4Z*l1u+4$f֒[V|+p#mmӶihͰ֐Ӷē3 z|i1"cF_@f֒  $.TcP!:x#!T-:pa(R*iÚ}h]EFH@TAJh 4"R* "Ǯ͝) <E*Hx#"϶7ϸ>n.u~o6t'1*t"(閛EҹQvƠD<0:P>b%"U E1i>L_j.ABy >b$o^i 8 @x#!ڋsvӘfQ co_rk :Xݶ7^[7 kw7o9mUa!XmA:+k{v[{Bcw}@!mUa!XmOBSO$ <4Z*l1u+4('T<%} o|F͍N yrv-YvؕYTns|olfvܶN7lnUo.7v]+0ӶihͰ֐ӶĜ_r֜XFPN yr>n $.CRiӃ)BPSNBSO$ E1i)ť/wJ "$<0:P>b%"U E1i(Q-7ɋEҹQvƠD >b$(9 !HA၀wNC|R/4`x``c'!27_j.ʋf5vӘfQw/]-S5nl-sˍ݆ݘpoӷU;XfBiX2_`0n_QO @RLZJ<0_\նl4~!4\nlߵiu־Bw[ Q{y ÂR@I|-o8ہXFE91ߵm17"c[7|ĨT^JE1i(-ӬϪo\\ƷloP"r v-YvؔH\QGo텼&7wN yrv-Yvؔ>.JE1i( 4@CN6ZB#NuI˒Wl!mUa!XmUnlߔbf5ivfBiїdž;KEVm.`F$jvӷUںݬ}~!4^`h}w06͍]~vcm'qmUa!Xmf]n>ٿ7866~߮mk {1p 6޾ٿv-Yvؓ~,5A1E=뺣Xٶf4dž;KEVm.`F%YZ]d<6PӶihͰ֐Ӷč_zٍ{fnqlmZ9*@ˁ#N6ZB#N]6ʹ,xqv-Yvؑ0ا7뺣Xٶf;Z`'cs co]6ʹX e4Z*l1u+4#WaOouE&(\f;Z`'cs coӶihͰ֐ӶėuE&(\ lq;KEVm.`F$jkl=vk]nqlmZpmUa!Xm@!R@@}:H\2IӧR".?aac+X]+nh j JEBMP(%"IY p7<OFh  ˝cminͶӘ*aac<ˊZk }pzwm9oV1nk7훬?qV\vc@SPH R*h%@ D ) b$@xO1 E  >P"rBy(9d<YbS. qk]>oƾٿTns|oۖX`)\qknqlm9wbٿUkvED%D THTHQ#Q${"GB|39m;f. a8c[7|ĨT^JE1i(-ӬϪo\\ƷloP"r v-YvؔH\QGo텼&7wN yrv-Yvؔ>.JE1i( 4@CN6ZB#NuI˒Wl!mUa!Xm!fW1)<<'J@R*$y*$s#N6ZB#N)<  $.TcP!:x#!T-:pa(R*iÚ}h]bPi䁸~8,_jeYA-p(sJQ Q#Q 2py<҇Ie ;lv ]i ;lJBy*H-'Wڋs'(`t;KEVm.`F% !HA၁;KEVm.`F% !HA၀ ӶihͰ֐Ӷġ>|)H0<00P"rx#(icUfbHVibUfWڋsvӘmqov{an\o5#N6ZB#N7o9>ٿٱkK]n>ٿ)ť6텇;KEVm.`F%nqolmַ|;o \,x#(icUfbHVibPN yrX2ߨ{Z'T<e ;lv ]i ;lHn_=k rLZJn $.CRmUa!XmӧR".<4Z*l1u+4#O @RLZJ<7)Ť8 E1i ;lv ]i ;lK ;lv ]i ;lHSX]+(xicUfbHVib\xicUfbHVib@' 7_ͰZnrLZ_ ;lv ]i ;lK ;lv ]i ;lIPSu}W RLZ@oNĨR)Kmi1uٿٱ.<4Z*l1u+4/>ٿk[xs7omUa!Xm }s[gQwtG;KEVm.`F%B)RCd< 'Ϙ" I:UBLZJtM\vcP"rHxO1 E  (9 !HA၀;'!>|)H0<04@x#!wJE۳'_ٶk87ϫrk :X[7 kw]1(ߧnKv{e/fQg>ӷU;XLqkn,WwX/M0W7[w/(4к$)Ť(%[ctkvٿ`7Mao4Һk\'uX1*8-L%! Wn_<]9dSX]̌s}~R)K5cz 'JE*hԤS=:.Ukv' R@@}:H\2IӧR".9օ )H-%FH1H-!>.JEA O$ EA t#BT)ťؾ]+(t ٿTns|olOowJ5!cOo6t R*U)`IOLXM뻛֯:X`,~8w\vc@Z"$ PQ$ń۾g]k waa4 ik {EA WuM΁JEA :W[jΏc\,t#BT)ť_j.9Е E1i_[s7]+ַ|ǁIe ;lv ]i ;lJBy*H%A L7 (1ů'(`t;KEVm.`F% !HAၡ;KEVm.`F% !HAၡ;KEVm.`F% !HAၠNCe ;lv ]i ;lJS. qk]>}~]-S57 58HӶihͰ֐Ӷĭoƾٿ˃pXcqk;o \/. W7ZN6ZB#NۜTHTHR*$y*$yH䨒=Q#Q!SX]̌sN6ZB#NslY18c[7|ĨT^JE1i(-ӬϪo\\ƷloP"r v-YvؔH\7( $.CCN6ZB#N7q~ZܤSO$x#(icUfbHVibPN yrJEИP!:x#(icUfbHVibFwb/+X[bPie ;lv ]i ;lJ $.I_C[coH\2;KEVm.`F%Vo,ZN빛~6 v-YvؔH\[BuIːFC(icUfbHVib@H  ;lv ]i ;lHBSO$ &N6ZB#NN6ZB#N@GWڙpnPc\ R*$y*$߀Y18Zv-Yvؗ -:[\. 4hxicUfbHVib@' Lb}~n ipnk  ;lv ]i ;lKZcN6ZB#N@GWڙpnPc\ 4f. a1ů3udž;KEVm.`F%B)RCe2>bT*/j ًUq1x9q_ Q{y@8[;#Zpn6b"r%Bѳ1*8h[;@Uw/ŹPR4h Q:*FkDL>b.mDQ1wNCJ2T@F$j l1$lf>H>X>';|./usr/share/man/info/en_US/xlf/html/lr471.htmp/$  e<>ENRSTainorst /AGIOP_dfhlu",.DFLUVcgmp()-0=CHMXbvwxy145:WY!2369BQq*78Z#%;kz&+K|'\[]}{@`5w h$y|PA0$?1 `c#==w k~++kHsK`'J͚{ %k‚@CK` 4xr҅@b9p53Z||<5ѽ'< !#ΰޥ61dž7,~&q?il9 hV)斯t%ބ? - @G:&FI]Muڹg*k[]#{ pP8 Bb+9 {d[qTW*VȾ{4 Es Z.sXc Es5)p{8h_=w@y/;{׾_=rAc͌E$ ysΒCp{t 4|ys9Jxp{tH8' H^/9#q<$|Rz 4x{䇠p/9':I:N{|9@_=rQ 4x/9({AƏHh{$8y J.A8_=rQt4/9(IFFȄE%$dlh_=rQ (BI sЀi%$Ȟ5sQBHpNsH"A8_=rQ (BIsQBH%$x{AP4/9(E!$BBsQBJ25M|9z8h{䈚ABY1\Xy%g|nB` š[]#xdC TLW As( G4 p00$il tᒒ!D(UB"+9 :@i[$$8)57JH8 yZ$V h>N|Fy@i[$$8)2wș] ɄM, @h/ҠҀ2JΤ>_)Z0Ye _dDyTP@ _ָ'2@ B15k _j GhM\}mrXK[ c`c( -by+-k Y}uνK_xw"bZ>|3fIZ𠠠oy +IFdSXa-fI2{m[k%< B` K`d7 4W  Z (rP|$0;5y?ʕ k Z[ 45BqMa"uξ)JZ9E<Ҥ ڕQz-YLTR~U:^5391JNS?S-=R|y=rN r2=ņFPA7kK_-+Z<9#`|]#desyK&oʕszeRTdesOs"tXdes~mWIQA?w;|.TOB[n0"R^)R}y=rN r2=ņFPA4_#( {䍁 t ayoJℋ)d[p/]_7y++EjKqyZP~3:;][qtR*+e9%gR{|E<Ҥ ڕgZI{/TR|}YT)d_S$KJ斯Qi%iJu(WSߕtu-r-Se1Rɮ__=;z=|j>"ZZyI++JN, +2<xK4ҖMFPA7B[oW4}1OS1/wuڿI?}mzTQkO4>VԮ~3< k'%@-[kuνYڧoZE<Ҥ ڕϪ>WKR)<.L:Wys3:;3?}d_Ŋo+;|k\[_=y̓ desFZJdesOs]$4A߅eJz?tFPA49&<j-eXdes}斨 Wk՚٥IcfT^ҹHw;ky{#( Δ EFPA750TPN'FPA4 Ql*BoayP-_}Mr[tu-r-(VdVkf'U'JҤ+*'\e_wy׀!!%yΩ/6b[kfC\(3f pK\$JZ$)v(VRp-+Z2uMjT 500ilE_7y[B#L|fuNwL-~֞iR|\ޙT愸1s@-={AJy++ER|N)gIYԞ^ҤK'AЀ-E<^desF=1yZUg\0<ۧY:jT|&4'YJ-9)ګ $+5?J;̠`紆7]쌠h@ބ#( XZ-+ZK_7,VIԖ],9SZE<Ҥ ڕϝJnhKڼN)J mO*Ի PZmս쌠hB3 o&_desBmA}yVl229desB#( /yP h`. mobwLrVgJҤ)ͼ+TCo"Γ4Kʷ(N6ʻA&AJ(K*29\IPI0UA${Ț<229Di\ k{WҢZV!E+'.v-\{W]Gn_*Pal0y`+y~U<9#Day$KJ斯;(N[ھLFPA6 T$#( Wo<ǵyp8ΩCETPO]Ye#J,S`[_=y͈ $##{ hP 0 [ Fil0y`}D&Q B3`W:OoT}Wo<z%sFPA49&,229lisdB o)d[q}oJ℅eɫy>V%}iꔮ_wY5y}mJ(HalEQz-\rVgJ~,n<JхܭKS^2;'ЗS~ *)BC b-&Y}Zk-H-^'Lp-znFZIE%sKW;zROTg6Ǯ-3Xoy OnQ\2)k@ AsQM=w3+|.g\4"+9ܥ]mOTw]Ye#J! -{ pP͚{t is<Ӓ-0Z-GP@Z[ilEsDOTu>'FPA4988-ARɮU}gkҹ+P$]Z(N6u$VN?}\c b-+'A8pvA~uۨ}^*~U}d C'`^ @QZil=l%HiO䀐Z@@ X4kP$I{㈫٭~J ]:Szǟ{zSoŧJVyk =hZk9#D--ad  ^*|k{_Bh]KWx Ԧ>֢c aFd-=rD5=Ql0 k &h֠HWk[=K_ξ\Poby斯Mzs~,!5ߛ[[?}\| MemJqΧ˝D*O*Ux/Ω{)H!?Lt:K:[h_29q229ת{u"KE]ʻ]lg:/,Bk/Kdx ȐE`8"A-uA8FPA4_zOn$I{㈫W} _0YeMe l/Y @2$h`ѭb-`5KOspqr--ad  ^*~U}gO?}P%PJmsby斯=mJd04kX`-JR-aT%j3q}'e;#( {4 E2294{Kb-`5KOs4yl0 k &h֛_;b~)V3:璵s:V'A$@pL229desOsȞ5 ; h:A${Ț<229Vқ\ҥkkɬZ{< X4kM1?Y+WsZ+J쌠is!ay[#( {UI{k֞iRamJ3J+jW?W{RV(Vx]Y}Dzk-H-^'}YT:e*LOp0"k 45B6i`M=rAc͌R-0Z-GP )0֖Z[i=5>?2)]Oҿ*desOs>Al229]mVy,z>ϒZxDzE<Ҥ ڕy+Bk/Z29H,yRAQ|gwOwe*Oe5>Jg\R~U<9#`|]#desyK& -L[$h=x  Kd!C:BGs…IEpQd(<9(s{I潆FPA4!dGs…p My $G`P@H k#( {㍑\tay-HkXdJ -y =ä+4y<(TDW6AB )is$^#( [ ֲCy9Btr&< 0(P $5y=rHy$desKa(5KdGs…p My $G`P@H k#( {㍑\#( [ ֲCy9Btr&< 0(P $5y=rHy$5Bay-HkXdJ -y =ä+4y<(TDW6AB )is{6GrOBay-HkY!C:BGs…IEpQd(<9$PR%wMeK\FPA49AhFPA7_]S]Ye#JMOq8iꔮ_w29H HARɮK`-d-=rOqtd[ Zɬ5O*)Ͼuowg}}\=mY}[ 5E& is wA`6M`ѭxW~L} |%}+}3[x_EFwO> aFd-=rD--ad YzwgpʻYҷms0Me_̈́gt4UJV[ 5E& is)%0l[ /T,[?6W}tK>Vf =tA .RDkkɬZ{䐐c[ Zɬ5:w*?*wt>RNۏ[gT|]/S[ 50hZ[a憸(Pf=@@ isdBRkX``C\(0  k 5ZoOoA O6vͯԵ++;ҤIS29H,yRAk<9( AR-0<-G" X(( X4kMYkrV(VwߑvFPA4961J@\#( <9( AR-0< gWo<\|}S],Bk/' Mok&7OtOEی- " X`6M`ѭ5e#'emXY~DmA$<)s oDl[#( {䠁J@\#( &J]kWquOt E_5|~wD)04kX`-3Xoy Onp8pPW% -ϒ@@ t`[ k [ 45BaMa"[WzYkҤs[ؖ|OϲRi$l`kx[ /Ri9'%&dqgHs:,2Rog)͸ŗ-QmǾk:-}.R)<ʻAs og)ȿxd8(R`0rP\)"kFZ[a憸(Pf=@@ .kItobZ0Z-"uο +kk-̦ZzW]쌠isdB ie,h؋d299#( Y5CqE=3Z+<搋des~3,229W{#( {䍁 t ay,n ̑-(쌠is@8zA:A$4'r@H-  #( }/ +kSʻJiR}z=K_eRO}uOBhNynnRߕw*ҹʕ*desOsH"Cs ij/RY3FPA49D( $hdes~mRVkf'Ru1++kOl$KJ斮=1U_jKS*s$KqjdOOwe5>Jg\29H8й$8y0<-y=rG#( /ΩFPA49x@pIi229|29Hs:,229]mR-ayl =y=O?V+J֙dn1n<9")!9FPA7BA$9ȄA*+IL.TuE#T+޸ZN<9(E!$4c$A] 229des`Gdes|llh` #( 0,229쌠is605<-FPA4_ʻXZ-/kVyW~ҹZd1Buԩ?jFs-2~, ^jn'o+JiR}z"3N?~(NZ'_T؋G/|\[_>z5~U<9#`|]#desK)d[FxTLzUEڒxʻHȟ)V3:ҿ*desOs"tXdesyK& 尀< X*OZgn/b*d{ کҤ*K,Zy̓ aye29q0; h`uA%\|}Zk-{/TR|vFPA49=ѓ h<9) tayA$AAeΩFPA49 @AޥA8pvA:A8FPA4al0ya"W{#( {dz o#( {䍁 t ay,n<̑-51~uO29Hs:,229E +kS\?e:<}tʻ2E;#( {8#( g2DZ[a憸(Pf=@@ is lb  k hk48QMa"؋Mմ3[;ZxQz-Q\|9ܒ=-E<Ҥ ڕ؋YA&#( [k#( {䍁 t ay-y͈s1&A؋AJhs "le>Da29.|S7z0<[%wpDz"ew29H,yRAх29]m ilE{%bVKx2ʻZP~3:;/]-y=rQ (BI 6FdeszԖij>^#L&y3t3+vFPA64x0ayԶFPA49D( $4 Z.ay4Yo}RkcEeɫ+{'䖞0^D|f-r멌-yp[p#( [B.H H EǹH,yR~ GH'pY1sQBHi6@\ _ H,y0p? ${㍑\Ѐisƞ8؋K``7 ٧H(9 x0p a[ 45B0Z[ilESksX רIf >U!5e a`D7*'_e;a`х29MuFPA4"FPA49#( [k#( :bL229a`D7Ω6 &we>Da*rj|~(ZtQM<T0"FPA6ϐ]|_;A؋d[>S]M JTD;0& b-des`ۆA؋eoJ IԖe_wy׀!!=;LfuNwL_ʺ[#( {APl-<><9(E!$#d EvAQ|dWx2ﲟ7_FZ:\[_:=w]%I& WS2&,FPA49-(sdes}+޸Wx_}"le_wl"l aMFZ<9 { o:w29X!U(N#( Y++EsKTal=& k%0lZ?yײ29q8; oC}mBu04kX`-yp[p#( [k#( )*0%FPA4#4]s>AeƏO,jg ,;~ ,¸@ 0$pc%$dlh85Fs%$dlhw H-AiD ,ug!5 -xl1929BoA,2299"{䍁 t .4xp ,¿ ,9D( $4 Z. s;s$D /9'dy${p&)U ;s$ y  ú*nx[il A40$s 8y ㇚rDMA0ְ;Ka憸(QC`)0֖Z[iks|.{/WFxnoM|WDz*"ZW4KQi+51;v6 <Ӓ"haM~muOw`Pf*L_[v4ƌ-y k22929H HA؋YA؉3ay-{i0o<A'>@ǼFPA7)ϲ"etFPA49iHdes~ *('JWysLͽ:Tal"l8y$Dcνy=s Rb~ĉ/53W~ҹ3"}=Rke-+Z䦾75JZ0"FPA46ɮ|A$8y% Z.ay+*O]-2c;>GD7νy=s 󯰆E#H-Qsƞ8؋K``7 ٧His9JxrA w5"& vkX``C\(0 k 5Zmys+@; o);)&WKdesOs HdesFZ@; o);)&WKdesOsdlE)s h؋YA.FPA4"]_j'6 DWνy=rQtk-H-^'p-znK0g9)IuZ?DijgT֥Ih9EJ26D" "H8xn3kʻZd[ FilE0hklۤQM=rG!Ǽ88il7 Da29.|S7z0DOTgbt%5ZNzW8[4Ű`Z[a憸(Pf=@@$|Rya[ 45B@Z[ilESks^KTg8*U c8!z<7+޸desOsXc`vAެ <9(s{I潆FPA7y=r@Q$kdesFs^jMloUۈ0"FPA46ɮ!5e>n-yp[p#( [k#( )*0%FPA4#4]s>AeƏO\ 0$pc%$dlh81/pc%$@H818 Z|@KIfx {APy sсs>)<׃D ѽ+|}//nsz ilEv[>SLIz'BSXalEl[p#( [l^XU:#L־o:$$'yΩWKdesOsH"CM`vAQ|gri|_}0"FPA5S(Um ilFi9#`|]#˃ ¸@`IgǹJ$EI!p0p8?c_ǹJ$EI(P0p8?c%bV*/RY_.$|Rz 4x4@H8ҹRkcKx-#4"k 45B6i89!Z-G(Z[ilESks^KTg{zxvʻsZZyI+RyS]Y}Shs "l]UYt2&/xwp*ﲟ*^5?Em]}-MCa`@ͻ#( P{ `p3 h؋YA&#( [k#( {䍁 t ay-y͈s1&A؋AJhs "le>Da29.|S7z0Ԫ~x"l-y͂ndesKb- y+*'R[i~U:^5391*lisQBHi6@\ #( /Wx2ﲟ7_FZzMCa`Lp_ʻ]lcI4JJ"c b-=N&0o=*+L迕wp+lS4JJ"c b-=N&0o;*uYalEkPۆA،w=rFGx {APl-F\ Hz a`N\ㄌ -xb0sKb--vC\(3f E49=HtX; 500oy x@ k 5Zm~69EK4FxnWqyIVЋ[6z]v"lW]K4~l#;&D4alEhm]may-y=rFG<9(E!$#d EvAQ|dWx2ﲟ7_FZzMCa`:D4~kowIf{MCa`il~(NZ'_DijD496 }MAl0o/@氿wIf{*ﮉg%i]kBj&0o~Uޝ/KW3x"l aMF[%whMP_p_iv'Q~wlj> b-desOs]0<><9#B#( }:mO-MCa`Lu)Zgxz쌠is{ vALzUJVх29Hƺ ay}y=rGƅɆFPA7BuڟWj[#( {$h:,FPA7=RkP?kalED496 a`[ "l>M|/].}1]S]U[!5 -yp[p#( [k#( )*0%FPA4#4]s>AeƏO\ 0$_ ,9D( $4 Z. sp/9':I:N0pX? }<8zW8[4b0sKb-des\%2VXdesKb0sHE9\h`8?xw #E_ a%;9(E!$#d EAy.c$I#GI A\ 0@toJ7_Ksƞ8؋K``7 ٧HaM=rPph0p a[ 45B ilE_iMf=w*ߨIf%wpY}t`)zJ,)}MCa`І6 &M^*6 { "l鏕wҹ{]ʻJd&[0&0h-6 ^"D6"lD7v6 aMLa`[ "l^X_a`װ&![k#( d[XdesKb-desOs>Al22929f$#( [h)]6 aM|a`[ "l}SL[k#( gL>nsz ilEv[>SL4ʿ*ojU?<|w&Mx2dߕ)j-y͂ndesKb- y+*'R[i~U:^5391*lisQBHi6@\ #( T#( {APl-desyE^4ʾ|Bk/|}[i|8/]:c]Ma`D4alEkPۆA،w=rFGx {APl-9|s , ѽ+~_ˀA|9A0`(N\0=_=rPph0 `H`H?'Fq`Inx[il A4p SOs|aav{ pPƇp@Z[ilESks^KTgx}+'Y}$JN'bK\zJ,-y k22929H HA؋YA؉3ay-{0&SL[k#( gL>nsz ilEv[>W~&S~DS J&0h؋YA.FPA4"[pBRu%FW]|u(HHONS?S<9(E!$#d E229Ͼ{׈* )ualE[=Y]Y}w鏕ge;0& b-des\%2V0<`搋s605<,pc%$dlh 0 Y%I( AOy5ǹI6p/9(toJ 0$?9(IA{H5=rD/`{ {{  ѽ+p`Inx[il A4M=rQ 4x / k hk48 ilE_iMf=wQz-Q\v6 aMx,dH"dH"х29MuFPA4"FPA49#( [k#( :bL229a`D7|}uOi0o=+29N9ay[k#( gL>nsz ilEv[>W~&S~DS J&0h؋YA.FPA4"[pBRu%FW]|u(HHONS?S<9(E!$#d E229Ͼ{׈* )ualED496 Z{ [}+}3[|kޫۋWk}g~I@؋OShs "l鎥+LS"l VD-=D-ͭ֝ʺ[#( {")FPA7-+Zĉ/| W} !5LzUJV,FW]:)D496 [iv6 aMx+"A"Ac)5*}kcy$HLYyW{#( {UԪ"ewSsǭ!:-0Ω1KWsz/].}19|TD+;̦o[dNL=m*">=ǭ!:-0_ʻ]l`g=Ow5*ș]gy1lNL=m~z2ܼ1KW*">=ǘ*ua)kʳw5*ș]gy_}1T%0_ʻ&]+޺>UjUW~ Me*ܭ1KTg=Ov}/!Bk/n3ʻ J&L{Wu129BndesKb0sB.H H:>uOéLWf0.%p\5(8ŀrs/뺞<>~509F\ J.8jPq! (?'+zW8=m3X`{ { = 8$rscN.%p\5(8(?'+zW8bxzcN.%p\5(8ŁBA9[ҹK ~wlkurz_сs.Nh{ƃEBA ޕ8@ _/xT?@؋K``7 ٧H{$8yi朑Gp; 500oy x@5؋Kb-69 ќb>!5ߛyמ;-+ZɌ-y k22929InFG@ǼFPA7֝{O)ϲLFPA49iHdesy+^t?|Di\-2}K_BJN'T "lha`Lyײ29N|x; o);\5msș]X Ma|}[U:T;Uޞ[42| HOTg-+Z4Yo[gެ*OҼ8yc|u )D40=0& uZZ&e_t )D4pNaMFZNijZEvR)<[kI_iM}"l8y0&Vb׭MealEkPۆA،0@-я=d  Al22929f$#( [h)]6 Dcνy=s {des|Mr\)&WKdesOsdlE)s o]%ER*QkO40s| -y͂ndesKb-a`DMA0o(3՘ny[,e29HI( h؋K``7 ٧H{APl-{_9(E!$#d E0ְ;Ka憸(QC`@ )0֖Z[i.'s^KTg۔wE]ʻw^*yRqszeRRyMq*Oμ9ŧ<ϩk|+R)JWx}+;4qdes@#( /29 229˝S쌠hayǥ~U{Ωv!W}TT 5-YoRkq al=& k%0lZΩ+L}m,'Ru>A8`FPA4afޙT愽Z[NXO̜*7Me aF ؋YA&#( [k#( {䍁 t ay-y͈s1&A؋AJhs "l?SZw1>!5Mr\)&W}k -y͆u&W|79FPA4"+Ϧ< MiO2&X Ma29]m ilED496 ǘ~6,ܯzψMeNƌ-;0&oΩFPA64x0ay,ܯẕ )Ԛѝ 7]/RY^х29BndesKb0sHE9\h9FFȄR-DMAŌ0GHI(4dlE"&  fy_y"ZW4zL 4x{$8y9#G0q"ZW4zL>m,`䦱%֞ijTBRҹ՝SZ&XY%I(4dlE"&  ͯ*Qil19;Xoy On{APG_9(E!$@40ְ;Ka憸(QC`@ )0֖Z[i.'s^KTg۔wE]ʻw^*yRq&S\~ b-desClk ilEis605<-FPA4"FPA6"uĘdesKb-+&0o< Miw_S5msș]٬0"FPA6ϐ]|_;A؋d[>%5e>DOTgbt%5Z!5e>n)*yRqzeR.v-\y?Al22929f$#( [h)]6 aM}1JkN'&ɮSke>Da29.|S7z0<[%wpǟ);)&Wzz[=k)0"FPA6 ay-V\/}PԝIoUWx_7x ӼgTt29J$EI!p0p; o(3^4ʾ|Bk/|}[l}g'|fuNwOkɮSk{)&W}k"{0&"Եkq ޓ[qʻ2OLVwMMCa`ѝ 4_ʻ]lg>!5e RkcFZ[a憸(Pf=@@ %$ 8y_9(E!$4a8_a[ 45B ilE_Jk|9EK4FqJWqUܫWy%}KBiMgZ +ku$KJ斨؋YA&#( [k#( {dz ilElD뙉0Ddes`GpvA*u՞<ﲝIʻqc~U}g<9!9)s h؋YAn[>BewΩs=|desKb-]lc֝+=RkД[k#( 0<[%wpܯz* )ukQi؋K``7 ٧Hš{AP=㽯sH"Gp0p; 500oy x@E5؋Kb-6ץsԖij\[_>Nʳ=wTi2YRZz~uOҳ]KW*IeӥIloOTu>'\ޕ %Z|Al22929f$#( [h)]6 aM}1JkN'&ɮSke>Da29.|S7z0<[%wpǟ);)&Wzz[=k)0"FPA6 ay-V\/}PԝIoUWx_7x ӼgTt29J$EI!p0p; o(3^4ʾ|Bk/|}[l}gDdes`GpvA*u՞<_}-Iʻqc~U}gx ^~U{Ω-w{A$AA}y=rCP=FPA4_desOstayTdesOsl0<-55mse>Dn"{0&.a_n!;an=W~&SxRVwMhs "l0"FPA46ɮ|} b-desa]l :o@ay-Ju?SZwSLIz'BSXalEl[p#( [l^XU:#L־o:$$'yΩWKdesOsH"CM`vAQ|gri|_}0""lck:ș]쌠lh`0#( /].zǙbY}S5:Wn#LhwpܯzψMeO b--vC\(3f 49D( $_~{APya[ 45BMa"؋M@q>{%Z8ܥ+*U%СU3-_ʕw;C(LDxTTJy|!5Mr\)&W}k -y͆u&W|79FPA4"+Ϧ< MiO2&X Ma29]m ilE{%bVKx2ʻZP~3:;/]-y=rQ (BI 6FdesyE}UY}S؋OShs "l0mr/].zǟﲝI[iv6 aM}1qϝSSLFPA64x0ay[=Y̱ )Ԛѝ 7].}+޸Y}S؋K``7 ٧H{AP4H89D( %RR5mse>Dw٬3rm|U:w*}Dm+:ߕw:T)dTlis PAх29MuFPA4"FPA49#( [k#( :bL229a` AR"haM}1JkNw&M}-y=rP@ƥ Z.ayD496 ǟ);_e)ϲ"ewf؋YAn[>BewΩs=|desKb-]lc֝+=RkД[k#( 0<[+}V(UjN*uμ jg3sbUA%$dlh8FPA7_ܯze_>!5e>n-;0&"U}g!5e>n)BVқ\4~*V>U{/TR|ޞJ|Al22929f$#( [h)]6 aM}1JkN'&ɮSke>Da29.|S7z0<[%wpǟ);)&Wzz[=k)0"FPA6 ay-V\/}PԝIoUWx_7x ӼgTt29J$EI!p0p; o(3^4ʾ|Bk/|}[iv6 aM}1EϾ{|Bk/|}PFPA6 T$#( 暻}͹s+TCkZZk-'zL=mDz"etFPA64{ hΆUۈ/].zǟﲝI[iv6 aM}1qȿwpܯzψMeO< des|Wo=w%jmsKWK_eISL<Əay4ʿ*ojU?2)㰉hs "l02F*u՞<_}Mlh؋OShs "lV|ꟲ"ew29q8; hwpeMeNƌe]1*u^ǟﲟ7_FZ[a憸(Pf=@@isQBJ25Mk%$dkƛ0ְ;Ka憸(QC`kKb--T ^/RY3R"]u&JS4tJWS.Wx_7x ӼgTt +kS[k#( d[XdesKb-desOs>Al22929f$#( [h)]6 aM}1JkN'&ɮSke>Da29.|S7z0<[%wpǟ);)&Wzz[=k)0"FPA6 ay-;0&"U}gr>!5e:[J<־o:.TvFPA64x0ay[iv6 aM}1qȿwpܯzψMeO|e*OIf<Ž+޿7_A%絑y=rQ (BI 6FdesKakFPA49D( $5Bay-={YA%$Ȟ5229絃k#( {AP<Ӂ4|8FPA7kۉ DL`絑y=rQ (BI>Ga8FPA7kۉ DL`絑y=rQ (BI229絃k#( {APyay-={YA%$ h AR"hÁdesz LFPA6xԈAl22929f$#( [h)]6 aM|a`[ "l}SL[k#( gL>nsz ilEW} L{)&Wzz[=k)0"FPA6 ay-V\/}PԝIoUWx_7x ӼgTt29J$EI!p0p; oS쌠isQBHi6@\ ayK{׈* )ualE+kԖijU:ԖijcZyR)T++E=+Okb'zN[ؖ?j袛zT*S952_>J}J-*>٧_>So*SY]U!5e;61aM}0[#( {㍑\#( ~<9$P<=desFZ<9(E!$@4229ߛ|Bk/&c͌Xa`LvFPA49=#ȹ!z 4{ odesOs(DE sЀidesFZ١UcN<9"& `|,y; o{]M.zsg|ВNBk/v6 aME)OLnvuOhXcD4Iҿ*h؋OSϒBZy׭3Me12FWϰhXcD7MeBA%yy<װAeƏO,9D( $4 Z. sp{䈚<$l"xrˀA|;ҹT-[ FilE { pP͚{t BH 1\0'>I8)]mR㖴JFԮ|s<kX`` ؋M"ZW4zL'YJғqBuԩ>sE7?6Z2WoFPA49EHpNaydesOs]$#dB,229p|һ]PYϒu/bV'׭3)R*lispp[>,229쌠is605<-FPA7ҹ+,n:v[gVu'*QkO40s|{e]ʳ'H-RZdo֥I-7?6:jT~7mJiR}z?*=|n>UA$##|Xdes}A$l`kx[ o)d[p/]-2~ܗp-zn|ʻ_}m}O'YJ*z1 Tʳ+IL-ZT^ʳ_w29InFG<\FPA49#( Y5 W}SI>*O{mIYԞjn&3_}w:TSlҤK')x{\LalE4??JPKW[1KWy)"ZW4~l^(NXalE%sKW:ϭy=rN r2=ņFPA729H HARɮalEWzYkҤ[qT6Z'V%*OΩW7qBEjkp -=W~3ӹ=Z*szW%n,FPA49 E=S o)1?[ {X3!;aoOJSǵKʻWo<UܫW~ҹ鏊֥I<{W]+4K[D5aJIK斯ξv-^v*Z~WnRΧUߌΩ-uĵ5ꔮMqv*μu΢3鏕t ڸ}DWzەn!E<Ҥ ڕg0"uν;n=m5f'IgTA[R$KJ斯%jLR/DOSoZBk/S_jJ+jW?Di\/7R?J;̦>UzߢYڧT-Q|8k)1?5nOktPf=+O"|H-^Ͼe^Uzߕw29InFG<\FPA49#( Y5 -3Xoy OnBEp8pPW% -ϒ@@  LU 0ְ29BoXdesyWzYkҤLU_ʻNobwNJk-ĵ5dMQaMx$_w29H HARɮ.J+{׾JΤ*QkO40s|pR}*LarW~LULZbxWy%gR{|E<Ҥ ڕgK_K%5I-M{a`Xa`~\Oҹʻĵ5J^ a`Xa`~uOL+޴>S]obZх`4_"{䍁 t /8з =s605<,s` tK|ƅ_8GO szH'i4yD EǹJxԤ E @ƤD_/GJ.Cp1s@8z|dAh9$8y9#G4䈚<_ˀA|Pi4B4䈚<_/G,s9HpN=rF/i4yDсOx'iⅎi4yD_fsΒP@ƞ @kH8H;s$F@Ay|{>xw @k<9=ѐsƞ8xw @k>@{䤂@@QO_fsΒCp1s4x|pNH: |:= O,pNH:%|H0@{%`Z Wk*O]쌠h@ބM)ddesy++EsKWk勒BRu%FWuK_;ʥ74$/-+ZEOZMeRej,0o[g}Oڿk۰j,0hOqotJ+jW?WDZ"K?J6 E6 ꝫE]a`Xa`^#L%sKWY稴s^&&RtLa`Xa`}%`Ox'i\wq 8yGO;A>xw @k>@{䤂@@D4|?.8i:?ˎ㼸i=psl[h)]ʻAЀ.oBYl229bJQM%e-+ZEOEZWsK_y)*Oj,0o+e݄MQaMFpgR{|E<Ҥ[R=^IT6 E6 Yu?|[n0"،i:?ˎ8D4@ \wq @q\q|4 ㇚tyqŰ`ZUĵ5 b--FCxiE9_/xY񧆹=$4䈚<_c%'`@?yΒCtK'`@?x=q·<_㇚txW3E$ "ȤR=Mx`~ (PP9\Oҹa`)6 ՝I>m򮖢֞iRamJ3$I{ޕ'^&S "l};Wx^&S "l]+޸i~UߢDij<<|n}+D4 aM}_Ϛۖ&S "l^$"،Ox'i\wq ㇚tz| .;  AOy5?8|HP'i?8q\q|4 ㇚tyqOx'{ p'9':2/[h)]ʻAЀ.oBYl229sKWK"ҹZL>7mJmJ3$I{ޕ'RD4 aM|MVdO*%5ی-#44 ㇚tqqx(?ˎ8>xw @k>@$ ㇚tz>@qw_ 4xqw_-#5`:)C{-P%19EC\(0kKa憸(QC`kKb--k7AÂU$IM)љ=a $b()D)eљ=a J kK=kx{ pK\$JZ!Me8]p o/a2)k`8rPprQTI -C\( RAD=kKaJAma  s| k*F$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr472.htmp/$ Chapter 17. Service and Utility Procedures XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+


Chapter 17. Service and Utility Procedures

|XL Fortran provides utility services that are available to the |Fortran programmer. This section describes the rules for the general |service and utility procedures, then provides an alphabetical reference to |these procedures.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] |Xde k6z$lf>H>X>';./usr/share/man/info/en_US/xlf/html/lr473.htmp/$ General Service and Utility Procedures XL Fortran for AIX V8.1.1

Language Reference


General Service and Utility Procedures

The efficient floating-point control and inquiry procedures belong to the xlf_fp_util module. The general service and utility procedures belong to the xlfutility module. To ensure that the functions are given the correct type and that naming conflicts are avoided, use these procedures in one of the following two ways:

  1. XL Fortran supplies the XLFUTILITY module, which contains the interfaces and data type definitions for these procedures (and the derived-type definitions required for the dtime_, etime_, idate_, and itime_ procedures). XL Fortran flags arguments that are not compatible with the interface specification in type, kind, and rank. These modules enable type checking of these procedures at compile time rather than at link time. The argument names in the module interface are taken from the examples defined below. The following files are supplied for the xlfutility and xlfutility_extname modules:
    File names File type Locations
    • xlfutility.f
    • xlfutility_extname.f

    source file
    • /usr/lpp/xlf/samples/modules

    • xlfutility.mod
    • xlfutility_extname.mod

    module symbol file (32-bit)
    • /usr/lpp/xlf/include_32_d10
    • /usr/lpp/xlf/include_32_d7
    Note:
    The files in these directories are exact copies of one another.
    module symbol file (64-bit)
    • /usr/lpp/xlf/include64

    You can use the precompiled module by adding a USE statement to your source file (see USE for details). As well, you can modify the module source file and recompile it to suit your needs. Use the xlfutility_extname files for procedures compiled with the -qextname option. The source file xlfutility_extname.f has no underscores following procedure names, while xlfutility.f includes underscores for some procedures names (as listed in this chapter).

    If there are name conflicts (for example if the accessing subprogram has an entity with the same name as a module entity), use the ONLY clause or the renaming features of the USE statement. For example,

    USE XLFUTILITY, NULL1 => DTIME_, NULL2 => ETIME_
    
  2. Because these procedures are not intrinsic procedures:
    • You must declare their type to avoid potential problems with implicit typing.
    • When compiling with the -U option, you must code the names of these procedures in all lowercase to match the names in the XL Fortran libraries. We will show the names in lowercase here as a reminder.

    To avoid conflicts with names in the libc library, some procedure names end with an underscore. When coding calls to these procedures, you can:

    • Instead of entering the underscore, use the -brename linker option to change the name at link time:
      xlf -brename:flush,flush_
      calls_flush.f
      

      This method works best if you need to rename only a small number of procedures.

    • Instead of typing the underscore, use the -qextname compiler option to add it to the end of each name:
      xlf -qextname calls_flush.f
      

      This method is recommended for programs already written without the underscore following the routine name. The XL Fortran library contains additional entry points, such as fpgets_, so that calls to procedures that do not use trailing underscores still resolve with -qextname.

    • Depending on the way your program is structured and the particular libraries and object files it uses, you may have difficulty using -qextname or -brename. In this case, enter the underscores after the appropriate names in the source file:
      PRINT *, IRTC()  ! No underscore in this name
      CALL FLUSH_(10)  ! But there is one in this name
      

    If your program calls the following procedures, there are restrictions on the common block and external procedure names that you can use:
    XLF-Provided Function Name Common Block or External Procedure Name You Cannot Use
    mclock times
    rand irand

Note:
The mvbits subroutine that was in XL Fortran Version 2 is now an intrinsic subroutine, MVBITS(FROM, FROMPOS, LEN, TO, TOPOS).


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k\?$e lf>H>X>';e ./usr/share/man/info/en_US/xlf/html/lr474.htmp/$ List of Service and Utility Procedures XL Fortran for AIX V8.1.1

Language Reference


List of Service and Utility Procedures

This section lists the service and utility procedures in the XLFUTILITY module.

Any 64-bit application that uses the interfaces for the procedures ctime, gmtime_, ltime_, or time_ will use the symbolic constant TIME_SIZE to specify the kind type parameter of certain intrinsic data types. TIME_SIZE is defined in the XLFUTILITY module files. It is set either to '4' for 32-bit and 64-bit non-LDT applications, or to '8' for 64-bit LDT applications.

Note:
CHARACTER(n) means that you can specify any length for the variable.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] RON k/$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr475.htmp/$ alarm_ XL Fortran for AIX V8.1.1

Language Reference

|alarm_

| |

|The alarm_ function sends an alarm signal at time TIME to invoke |the function SUB.

|Argument Type and Attributes

|INTEGER(4)

|Result Type and Attributes

|INTEGER(4)

|Result Value

|The returned value is the remaining time from the last alarm.

|Examples

|INTEGER(4) REMAINING, TIME, alarm_
|INTERFACE
|  SUBROUTINE SUB
|  END SUBROUTINE SUB
|END INTERFACE
|REMAINING =  alarm_ (TIME, SUB)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] >  k$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr476.htmp/$ bic_ XL Fortran for AIX V8.1.1

Language Reference

|bic_

| |

|The bic_ subroutine sets bit X1 of X2 to |0.

|Argument Type and Attributes

|INTEGER(4)

|X1 has a value range |0 <= X1 <= 31.

|Examples

|INTEGER(4) X1, X2
|CALL bic_ (X1, X2)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] < k$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr477.htmp/$ bis_ XL Fortran for AIX V8.1.1

Language Reference

|bis_

| |

|The bis_ subroutine sets bit X1 of X2 to |1.

|Argument Type and Attributes

|INTEGER(4)

|X1 has a value range |0 <= X1 <= 31.

|Examples

|INTEGER(4) X1, X2
|CALL bis_ (X1, X2)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] < kK$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr478.htmp/$ bit_ XL Fortran for AIX V8.1.1

Language Reference

|bit_

| |

|The bit_ function returns the value |.TRUE. if bit X1 of X2 equals |1. Otherwise, bit_ returns the value 0.

|Argument Type and Attributes

|INTEGER(4)

|X1 has a value range |0 <= X1 <= 31.

|Result Type and Attributes

|LOGICAL(4)

|Examples

|INTEGER(4) X2, X1
|LOGICAL BITK, bit_
|BITK = bit_ (X1, X2)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] NDEX_S km$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr479.htmp/$ clock_ XL Fortran for AIX V8.1.1

Language Reference

clock_

The clock_ function returns the time in hh:mm:ss format. This function is different from the operating system clock function.

|Result Type and Attributes

|Character with length 8

|Result Value

|The time in hh:mm:ss format

Examples

CHARACTER(8) C, clock_
C = clock_()


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] spa k5$^ lf>H>X>';^ ./usr/share/man/info/en_US/xlf/html/lr48.htmp/$ Chapter 5. Expressions and Assignment XL Fortran for AIX V8.1.1

Language Reference


Chapter 5. Expressions and Assignment

This chapter describes the rules for formation, interpretation, and evaluation of expressions and assignment statements:

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] DT k$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr480.htmp/$ ctime_ XL Fortran for AIX V8.1.1

Language Reference

|ctime_

| |

|The ctime_ subroutine converts the system time TIME to a |26-character ASCII string and outputs the result into the first |argument.

|Argument Type and Attributes

|The first argument is a character with a length of 26. The second |argument is INTEGER(4).

|Examples

|INTEGER(KIND=TIME_SIZE) TIME
|CHARACTER(26) STR
|CALL ctime_(STR, TIME)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] HREF=" kl $lf>H>X>';./usr/share/man/info/en_US/xlf/html/lr481.htmp/$ date XL Fortran for AIX V8.1.1

Language Reference

date

The date function returns the current date in mm/dd/yy format.

|Result Type and Attributes

|Character with length 8

|Result Value

|The current date in mm/dd/yy format

Examples

CHARACTER(8) D, date
D = date()


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] span>CH kU$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr482.htmp/$ dtime_ XL Fortran for AIX V8.1.1

Language Reference

dtime_

|The dtime_ function sets the time accounting information |for the user time and system time in DTIME_STRUCT. The resolution for |all timing is 1/100 of a second. The output appears in units of |seconds.

|Result Type and Attributes

|Real with length 4

|Result Value

|The returned value is the sum of the user time and the system time since |the last call to dtime_.

Examples

REAL(4) DELTA, dtime_
TYPE TB_TYPE
  SEQUENCE
  REAL(4) USRTIME
  REAL(4) SYSTIME
END TYPE
TYPE (TB_TYPE) DTIME_STRUCT
DELTA = dtime_(DTIME_STRUCT)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 47 kv;$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr483.htmp/$ etime_ XL Fortran for AIX V8.1.1

Language Reference

etime_

|The etime_ function sets the user-elapsed time and |system-elapsed time in ETIME_STRUCT since the start of the execution of a |process. The resolution for all timing is 1/100 of a second. The |output appears in units of seconds.

|Result Type and Attributes

|Real with length 4

|Result Value

|The returned value is the sum of the user-elapsed time and the |system-elapsed time.

Examples

REAL(4) ELAPSED, etime_
TYPE TB_TYPE
  SEQUENCE
  REAL(4) USRTIME
  REAL(4) SYSTIME
END TYPE
TYPE (TB_TYPE) ETIME_STRUCT
ELAPSED = etime_(ETIME_STRUCT)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 47 k+$8lf>H>X>';8./usr/share/man/info/en_US/xlf/html/lr484.htmp/$ exit_ XL Fortran for AIX V8.1.1

Language Reference

exit_

The exit_ subroutine stops execution of the process with the exit status of EXIT_STATUS.

Argument Type and Attributes

INTEGER(4)

Examples

INTEGER(4) EXIT_STATUS
CALL exit_(EXIT_STATUS)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kr $ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr485.htmp/$ fdate_ XL Fortran for AIX V8.1.1

Language Reference

|fdate_

| |

|The fdate_ subroutine returns the date and time in a 26-character |ASCII string. In the example, the date and time are returned in |STR.

|Argument Type and Attributes

|The argument is a character with a length of 26.

|Examples

|CHARACTER(26) STR
|CALL fdate_(STR)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] _ lr!$Clf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr486.htmp/$     e<=>Tinorst "-/ADEINOR_acdfhlpu.0BCFHLMPSUbgm(),1249:;GWvy!&58VYwx#'367QX\|kq{}K[]FI.>dHrELo4M)Uص.l99 `6'LM7UIntwC.1|ncLXH$pQ2R|H䀂k4uxTJN&A_k1دb/;\5R$PQFM|݊U_k{twx-.)ָ2s1zm].Vўͫ\k[_rϗ̾׳f$$d JP"'3 x@g("vŨL}1~>ͫ]g:ͻ;@Q JP!"J9Ad"&=tM%Y9‚rok4n sr_m=sL(]ֻ oKn'VNi|e}EFP%(#9@d+́%ќ2MUƑEq ć*Kp\ܹsyWoof\0Fr'>W{n5W[Oe}EyLvX+kFf|2ekD+(2H, PJL2P=$]@1'‚q?˛ʾ{|{7=Ѻk\ۯkvD|EdXΗWb/Ö}ֹ]3k4nS.|.ZMUƑEq ˈUUqQ\qǮ1!ʬ$"(2@z@PE&,  ]Ex8qqWBb6_m;=1aij[;LjYεn,R;&tk].q^m-_},wqf\ޚ"&=tM%Y9f79K e։QǥYun^av*znyLv.Y\,rFpe2˛ٱrUt\iW@1:i,.Z15WE(Lz.H"+c.ok[as*[kˆ3bثXdE@HH eTۇϘث] *w;`WW.mƄgr-]ol K}~͚,)K%$]%]EWZippbń|оR\c~K 15WIe+Q9 =Ѻk\jYδ(]%\b4<(XJ0عv*УUtYq" ppbPJ0\d$R2J$>q$:&s˪-v{پIЗHtMvတ@2\R`%8]`$K%4IЗHtMv9TJLM|mqЗHtMv0S.EdE %rsAi$փ`zK:J&WU0[MBF@ 2$$`> H>X>';./usr/share/man/info/en_US/xlf/html/lr487.htmp/$ flush_ XL Fortran for AIX V8.1.1

Language Reference

flush_

The flush_ subroutine flushes the contents of the input/output buffer for the logical unit LUNIT. The value of LUNIT must be within the range 0 <= LUNIT <=  2**31-1.

Argument Type and Attributes

INTEGER(4)

Examples

INTEGER(4) LUNIT
CALL flush_(LUNIT)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  lj#$lf>H>X>';B ./usr/share/man/info/en_US/xlf/html/lr488.htmp/$    en<=>Tadiloprst /ENRcfgh"-4AGIOPS_bu|,.012689:BCDHLMUmy!()7;FVWYvwx#35QX\{}[]kKXLEI q8px=5bj &VN=%"ߧ|GY$SjqR;1q)c1c1c1c1c14ՁB9!0X,;b<`Xh BlzSnV\g h Újp\eRWAdAÁd{ W}`qa_4ՁQ 7k$"-ħZNg,< ҳRGN)thPlR1x70^xņՋQ(8\)D͸ "h8}Vt}mdm1 x౭5bǸs<$ `ĉs(?x`PPÄi=8Pq( Sp$M4XpBACX@xpѭ5bǸs<$ `5 Dq9J(?x`PP Äi*`4 rV֚"LLtC4IWNѼg9 bwt tauD8`U)u o=\fX!u|sێdTVgQh5gp0T &Ո4ՈioҜV /#50η:n  Yn՜"՗yqL|2Juc1c1c1c1c1c8sMYc5ӡbi(0kVq@T03sRŜ(MYFP10bJT4εYc4S `8( BU$MƵ;[h8VpcM]UAVujt `0(՜A~*S +:~d:`B`0F~*S +:~]N W9mwOw@#\*IE%"8&jWڏ1%_degZ.bn8,$ՔjG2 2G\ur$"h8&jW0ͼR|ur$"eUȓ@zf5+zjG2 2GAѺzYK{~ΙW<eU2xgR*<:jG2 2Gd8>k!ӌf]UAVuk4Ӷ_.b}βDZR,hozʹhjwH4ynhoLƥxM]UAVulmzJiWHg1K/'LzejG2 2GVUȓ@SJEqW"M-YW"M-N),hotnGTΤg1cWj?|`ĕ~ij?[~<2gwSd9eq%cur$"YNY\4ڏ1%_degZ f9׾R1{]ԕf-ޯ'U{Q$LLQYW"M-N)Y\4νe\4;<*IE3=񱫵0bJT4ε^ӑi/柺1Zߗzxs~/Gv:~᫵0bJT4εN2cn1{\:c\HTO\Y?upڏ1%_degZ֤bͿ.3|tcoԤb=i w=q)~*S +:~Q:?upg\mMYF~*S +:~e\4T01~g~Ð/Y\4ՔjG2 2GI ȞxՔjG2 2GVUȓ@QiBKYgr$"VQ0bJT4εYW"M-N)Y\4.bnID@&Wj?|`ĕ~ij?ZDZR Ygr$"\$yMYF~*S +:~e\4{),*IEMYDOjG2 2GI Ȟx|qt 8,#I'q0bJT4ε$"z P7N),"yQqWQ$LLQjG2 2GE$<0ڏ1%_degZ֒D%"Qt 8, jG2 2Gy0bJT4ε@;8~*S +:~'pwgN),@Ʈ~*S +:~ 7񈨭|OwC}~*S +:~ ӌS+u"ˌ,"{M5eDZY( :&bSӧ|ŜAY( GU֔c3, zqDOl<8<%[ j(1go3C"x%ePn0 AǠsH>X>';s ./usr/share/man/info/en_US/xlf/html/lr489.htmp/$ getarg XL Fortran for AIX V8.1.1

Language Reference

getarg

The getarg subroutine returns a command line argument of the current process. I1 is an integer argument that specifies which command line argument to return. C1 is an argument of character type and will contain, upon return from getarg, the command line argument. If I1 is equal to 0, the program name is returned.

Argument Type and Attributes

The first argument is INTEGER(4). The second argument is a character string.

Examples

INTEGER(4) I1
CHARACTER(n) C1
CALL getarg(I1,C1)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ՔjG l>%$lf>H>X>';p./usr/share/man/info/en_US/xlf/html/lr49.htmp/$    aert<>inops "/=ATcdfhmu,-.EHILMNPRVbglxy!0124:BCDOSvw()3589FUX_#'67;GQWYj|*K\]kqz{}[JhH`iAzd$9@ ""<5=4zd$"㚙ȎqnEVTc\~Jsy1p֠Ȏq 3هÏV#QEQEQEQEQEQEQEQEQEQEQ8愌0< LlHQ] A@ Ԍ/6\1~T4hop sBF dp(-y7&M1a`X'ҖpW`@ph48,+`Б8 @##x KG%|`/A`Б:FLy.wE\'jU322~+r14$`TE/ x>wn{Sm^U0gYZ:c6r\ڼ8愌4B%8ڬ!nR_丄rC9&&!Ȟ`Q34Mمa^V0^V0]6/c|f90$CKM2`2+?Y~kԬbya~2*s(ߨ+{;J3X/ܺWCeX^^~{F/ 3l\7o߬7ש^fV;W5(`ӚQ@߳R˜u# eW.?]Z ~qJˆs*gjGo=K/k_xYeo׳}J3/}ڿc7B֎1?٩eoUޢJ^˩nDF e[}(9JXo_[|Rs곏be+}^\oG=$fŝX5,(Ts@;@@BsJ:R72J3p|;أ~YYRYkˆ"ędJ2|g|V)FY|`4sGԹ4DJBAG< _XD8aa)bPI@x)5.M"C<@ =A'ҎKE],{ځdW7#7=G[=\o!J/gF&b*4G (n9H9.mxM9 2# 2jH9H9/=TrSc5$$sHQO H|D􈦉qƶ7>>=u"Čٮa=T9 \L'%pTh@Hh@<kn|aAY㚁iK-k˂sP"A"AC٩eo=C1*ˆssPq(伱Vo|ukkĸjoawP9Ū2o29j\D"xo!a81#7?L{*9aA_xa=i2A#P  Lùq"AukkĸjouypR(~\M7+/o&,ꂾkԯo߉p:35Zोs&׿bΕe1{y1~+[1pzf`0k^\Y}[ W7{;MVS Y߳F}aXlƜsHr^{# 2;J3Y +}^R0*ls˜5$$=fQa=T^zoo|-^\ xrScK.s|a1~~_+YL^O_V^3Oq69Բ7sP"A"AyV\5{=Բ7̿.Wb)ɋ|ש_WԲ7NjH9ȸqyEROycج7PkqUޢ3sx^mU7 2E^Z४4׿b)ɋ|ש_W,{e^3k ^8W(y?*>}1z/zRxɿSMf pzȩjּ)|Ux̹0U1e p^Q|6_zazᷞ7 bNiGO}^eyZôE\>K'5pߚ+:+}^eyZþW5WidKdntd $U°ߎwsK$UjX $Uĵ{Wש_|[,WY`[P,W 9ܯ^~+zR˜z0Zߌ+cysgjܮ~+Wf90b15_jԲ7J/}|&H>X>'; ./usr/share/man/info/en_US/xlf/html/lr490.htmp/$ getcwd_ XL Fortran for AIX V8.1.1

Language Reference

|getcwd_

| |

|The getcwd_ function retrieves the pathname NAME of the current |working directory where the maximum length is 1024 characters.

|Argument Type and Attributes

|Argument is character of maximum length 1024.

|Result Type and Attributes

|INTEGER(4)

|Result Value

|The returned value is 0 if successful, and an error number |otherwise.

|Examples

|INTEGER(4) IS_CWD, getcwd_
|CHARACTER(1024) NAME
|IS_CWD = getcwd_ (NAME)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] q"A k2''$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr491.htmp/$ getfd XL Fortran for AIX V8.1.1

Language Reference

|getfd

| |

|Given a Fortran logical unit, the getfd function returns the |underlying file descriptor for that unit, or -1 if the unit is not |connected.

|Note:
Because XL Fortran does its own I/O buffering, using this function may |require special care, as described in Mixed-Language Input and Output in the User's Guide. |

|Argument Type and Attributes

|INTEGER(4)

|Result Type and Attributes

|INTEGER(4)

|Result Value

|The underlying file descriptor of the given logical unit.

|Examples

|INTEGER(4) LUNIT, FD, getfd
|FD = getfd(LUNIT)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ^ k6($^ lf>H>X>';^ ./usr/share/man/info/en_US/xlf/html/lr492.htmp/$ getgid_ XL Fortran for AIX V8.1.1

Language Reference

getgid_

|The getgid_ function returns the group id of a process, |where GROUP_ID is the requested real group id of the calling |process.

|Result Type and Attributes

|Integer with length 4

|Result Value

|The group id of a process

Examples

INTEGER(4) GROUP_ID, getgid_
GROUP_ID = getgid_()


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] >< k)$lf>H>X>';./usr/share/man/info/en_US/xlf/html/lr493.htmp/$ getlog_ XL Fortran for AIX V8.1.1

Language Reference

getlog_

The getlog_ subroutine stores the user's login name in NAME. NAME has a maximum length of 8 characters. If the user's login name is not found, NAME is filled with blanks.

Argument Type and Attributes

Argument is a character of maximum length 8.

Examples

CHARACTER(8) NAME
CALL getlog_ (NAME)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] HREF k*$lf>H>X>';./usr/share/man/info/en_US/xlf/html/lr494.htmp/$ getpid_ XL Fortran for AIX V8.1.1

Language Reference

getpid_

The getpid_ function returns the process id of the current process in PROCESS_ID.

|Result Type and Attributes

|Integer with length 4

|Result Value

|The process id of the current process

Examples

INTEGER(4) PROCESS_ID, getpid_
PROCESS_ID = getpid_()


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] t k+$lf>H>X>';./usr/share/man/info/en_US/xlf/html/lr495.htmp/$ getuid_ XL Fortran for AIX V8.1.1

Language Reference

getuid_

The getuid_ function returns the real user id of the current process in USER_ID.

|Result Type and Attributes

|Integer with length 4

|Result Value

|The real user id of the current process

Examples

INTEGER(4) USER_ID, getuid_
USER_ID = getuid_()


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] TML> t k(/,$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr496.htmp/$ global_timef XL Fortran for AIX V8.1.1

Language Reference

global_timef

|The global_timef function returns the elapsed time in |milliseconds since the first call to global_timef was first executed |among all running threads. For thread-specific timing results, see the timef function.

|Result Type and Attributes

|Real with length 8

|Result Value

|This function returns the global timing results from all running |threads. The first call to global_timef returns 0.0 in |milliseconds.

Examples

INTEGER N
REAL(8) global_timef, T1, T2, T3
  T1 = global_timef()   ! returns 0.0
    DO I = 1, N         ! loop 1
      H = I + 1000
    END DO
    DO I = 1, N         ! loop 2
      M = I + 2000
    END DO
  T2 = global_timef()
! returns the elapsed time of
!  loop 1 and loop 2
    DO I = 1, N         ! loop 3
      M = I + 3000
    END DO
  T3 = global_timef()
! returns the elapsed time of
!  loop 1, 2 and 3
END


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] Oq kS-$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr497.htmp/$ gmtime_ XL Fortran for AIX V8.1.1

Language Reference

gmtime_

The gmtime_ subroutine converts the system time STIME into the array TARRAY. The data is stored in TARRAY in the following order:
seconds (0 to 59)
minutes (0 to 59)
hours (0 to 23)
day of the month (1 to 31)
month of the year (0 to 11)
year (year = current year - 1900)
day of week (Sunday = 0)
day of year (0 to 365)
daylight saving time (0 or 1)

Argument Type and Attributes

The first argument is INTEGER(4). The second argument is an INTEGER(4) array, of rank 1 and size 9.

Examples

INTEGER(KIND=TIME_SIZE) STIME
INTEGER(4) TARRAY(9)
CALL gmtime_(STIME, TARRAY)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kP.$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr498.htmp/$ hostnm_ XL Fortran for AIX V8.1.1

Language Reference

|hostnm_

| |

|The hostnm_ function retrieves the machine's host name |NAME. NAME has a maximum length of 32 characters.

|Argument Type and Attributes

|Argument is character of maximum length 32.

|Result Type and Attributes

|INTEGER(4).

|Result Value

|The returned value is 0 if the host name is found, and an error number |otherwise.

|Examples

|INTEGER(4) ISHOST, hostnm_
|CHARACTER(32) NAME
|ISHOST = hostnm_ (NAME)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] rns  k!/$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr499.htmp/$ iargc XL Fortran for AIX V8.1.1

Language Reference

iargc

The iargc function returns an integer that represents the number of arguments following the program name that have been entered on the command line at run time.

|Result Type and Attributes

|Integer with length 4

|Result Value

|The number of arguments

Examples

INTEGER(4) I1, iargc
I1 = iargc()


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] H>X>';4./usr/share/man/info/en_US/xlf/html/lr50.htmp/$ Constant Expressions XL Fortran for AIX V8.1.1

Language Reference


Constant Expressions

A constant expression is an expression in which each operation is intrinsic and each primary is one of the following:

  • A constant or a subobject of a constant.
  • An array constructor where each element and the bounds and strides of each implied-DO are expressions whose primaries are either constant expressions or implied-DO variables.
  • A structure constructor where each component is a constant expression.
  • An elemental intrinsic function reference where each argument is a constant expression.
  • A transformational intrinsic function reference where each argument is a constant expression.
  • FORTRAN 95 BeginsA reference to the transformational intrinsic function NULL. FORTRAN 95 Ends
  • A reference to an array inquiry function (except ALLOCATED), a numeric inquiry function, the BIT_SIZE function, the LEN function, or the KIND function. Each argument is either a constant expression or it is a variable whose properties inquired about are not assumed, not defined by an expression that is not a constant expression, and not definable by an ALLOCATE or pointer assignment statement.
  • A constant expression enclosed in parentheses.

Any subscript or substring expression within the expression must be a constant expression.

Examples of Constant Expressions

-48.9
name('Pat','Doe')
TRIM('ABC    ')
(MOD(9,4)**3.5)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] b kP1$lf>H>X>';./usr/share/man/info/en_US/xlf/html/lr500.htmp/$ idate_ XL Fortran for AIX V8.1.1

Language Reference

idate_

The idate_ subroutine returns the current date in a numerical format containing the day, month and year in IDATE_STRUCT.

Examples

TYPE IDATE_TYPE
  SEQUENCE
  INTEGER(4) IDAY
  INTEGER(4) IMONTH
  INTEGER(4) IYEAR
END TYPE
TYPE (IDATE_TYPE) IDATE_STRUCT
CALL idate_(IDATE_STRUCT)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] enta k2$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr501.htmp/$ ierrno_ XL Fortran for AIX V8.1.1

Language Reference

ierrno_

The ierrno_ function returns the error number, SYSERROR, of the last detected system error.

|Result Type and Attributes

|Integer with length 4

|Result Value

|The error number of the last detected system error

Examples

INTEGER(4) SYSERROR, ierrno_
SYSERROR = ierrno_()


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] e wh k*y3$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr502.htmp/$ irand XL Fortran for AIX V8.1.1

Language Reference

irand

The irand function generates a positive integer number greater than 0 and less than or equal to 32768. The intrinsic subroutine SRAND(SEED) is used to provide the seed value for the random number generator.

|Result Type and Attributes

|Integer with length 4

|Result Value

|A random positive integer greater than 0 and less than or equal to |32768

Examples

INTEGER(4) I1, irand
CALL SRAND(I1)
I1 = irand()


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] IM k&4$ lf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr503.htmp/$ irtc XL Fortran for AIX V8.1.1

Language Reference

irtc

The irtc function returns an INTEGER(8) value of the number of nanoseconds since the initial value of the machine's real-time clock.

|Result Type and Attributes

|Integer with length 8

|Result Value

|The number of nanoseconds since the initial value of the machine's |real-time clock

Examples

INTEGER(8) A, B, irtc
A = irtc()
DO M = 1,20000
  N = N + M
END DO
B = irtc()
! How many nanoseconds elapsed?
PRINT *, B - A
END


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] > < kz5$vlf>H>X>';v./usr/share/man/info/en_US/xlf/html/lr504.htmp/$ itime_ XL Fortran for AIX V8.1.1

Language Reference

itime_

The itime_ subroutine returns the current time in a numerical form containing seconds, minutes, and hours in ITIME_STRUCT.

Examples

TYPE IAR
  SEQUENCE
  INTEGER(4) IHR
  INTEGER(4) IMIN
  INTEGER(4) ISEC
END TYPE
TYPE (IAR) ITIME_STRUCT
CALL itime_(ITIME_STRUCT)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] co kF6$lf>H>X>';./usr/share/man/info/en_US/xlf/html/lr505.htmp/$ jdate XL Fortran for AIX V8.1.1

Language Reference

jdate

The jdate function returns the current Julian date in yyddd format.

|Result Type and Attributes

|Character with length 8

|Result Value

|The current Julian date in yyddd format

Examples

CHARACTER(8) D, jdate
D = jdate()


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 57$Z lf>H>X>';Z ./usr/share/man/info/en_US/xlf/html/lr506.htmp/$ lenchr_ XL Fortran for AIX V8.1.1

Language Reference

|lenchr_

| |

|The lenchr_ function stores the length of the character string STR |in LENGTH.

|Argument Type and Attributes

|Argument is of type character.

|Result Type and Attributes

|INTEGER(4)

|Result Value

|The length of the character string

|Examples

|INTEGER(4) LENGTH, lenchr_
|CHARACTER*(*) STR
|LENGTH = lenchr_(STR)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] funct k`-8$ mf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr507.htmp/$ lnblnk_ XL Fortran for AIX V8.1.1

Language Reference

|lnblnk_

| |

|The lnblnk_ function returns the index, INDEX, of the last |non-blank character in the string STR. If the string contains no |non-blank characters, INDEX is set to 0.

|Argument Type and Attributes

|Argument is of type character.

|Result Type and Attributes

|INTEGER(4)

|Result Value

|The index of the last non-blank character in the string, or 0 if there are |no non-blank characters

|Examples

|INTEGER(4) INDEX, lnblnk_
|CHARACTER(n) STR
|INDEX = lnblnk_(STR)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kXS9$~ mf>H>X>';~ ./usr/share/man/info/en_US/xlf/html/lr508.htmp/$ ltime_ XL Fortran for AIX V8.1.1

Language Reference

|ltime_

| |

|The ltime_ subroutine dissects the system time STIME, which is in |seconds, into the array TARRAY containing the GMT where the dissected time is |corrected for the local time zone. The data is stored in TARRAY in the |following order:
|seconds (0 to 59)
|minutes (0 to 59)
|hours (0 to 23)
|day of the month (1 to 31)
|month of the year (0 to 11)
|year (year = current year - 1900)
|day of week (Sunday = 0)
|day of year (0 to 365)
|daylight saving time (0 or 1)

|Argument Type and Attributes

|Argument 1 is of type INTEGER(4). Argument 2 is of type INTEGER(4) |array, rank 1, size 9

|Examples

|INTEGER(KIND=TIME_SIZE) STIME
|INTEGER(4) TARRAY(9)
|CALL ltime_(STIME, TARRAY)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] H>X>'; ./usr/share/man/info/en_US/xlf/html/lr509.htmp/$ mclock XL Fortran for AIX V8.1.1

Language Reference

mclock

|The mclock function returns time accounting information |about the current process and its child processes.

|Result Type and Attributes

|Integer with length 4

|Result Value

|The returned value is the sum of the current process's user time and |the user and system time of all child processes. The unit of measure is |one one-hundredth (1/100) of a second.

Examples

INTEGER(4) I1, mclock
I1 = mclock()


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ri l(;$mf>H>X>';K./usr/share/man/info/en_US/xlf/html/lr51.htmp/$    "-<=>AEIaeinort ,/DLMNRTclps35CGHOPSXdfhmu.014679:BF_bgxy!'()28;QUVYwz#+KW\v*Jk{|}[]qjx# H@h;ǟI$y* HϚm H'$"kբ4zpw|YYo2բ& q VYl?!B!B!B!B!BΉpDq Eʄ60_A,p[^(/TP_Cw:& p::fM5\0񠏜p&5!AC=wÄ¿+vXKE.;:c::& y.Kퟫ3m6*Ѻ6+Үvy-ekb%RΉOm`ű fgfw\TΉ͎L֮|땻+/LVgz۱^(/Ήy9y KX^vqUm_E.;:`'5MYt`oE5fm}ޫ#]8cVe ^j̳|ᓽ_ o|_ww=ՙf'u&JrT]jޯn/{kj̳|ᓺ&BDw'4f9Y'DrsFcjNHMI2bSSm8;|3uc8[wzp+,Ƭ7; EID3\o6*_bъ 4ɪFq5琜Hge| \͛,z9lʅ88g5kw [keB!B!B!B!B!BΉNIN W, ,&Jl^|kTEmԱkjZ<\My"]9%84 Q:+2)1(5}BK8j5Dƌli^ǘ,8e/<&&]9%8640ؼD˧$/>Q5,wo^ǰ,8y)v}z;7,Ƭ7MPgκ;7,Ƭ7]yzpw|YYo2qZowgwgF;gVg U,W -B7FW"˧$ l^|kӒShAF/>Q5)@A-ϔM|rJpm(0hэϔM|rJpm(0h&]9%864h&Mz4,qln-Z@zB 5HF]\t/^gűfrp}Xl-n`;7%ط7a[k]bVݴwUTɋc~5l,Ƭ7>K}o|n¶κ몭h$מ"i8\_-^ܶW_! WU%۾pZ7V-m[ Xy5T"2S<L|N&S&LMUB)ƼL|IVh 5Dj&&SɪĜјf"`5AUB)Pc⪒LyPcw΍y5T"yPcUTɋc|w-|_ww ,8 ꗷ-Bŵu_ nXx+eeZXAuQkӒShAF/>Q5)@C(t P`Ѡ&]9%864h{b_.D ؼD˧$/>Q5)@&]9%8644cb_.D ؼD˧$l^|kӒShACC[(t P`&]9%8644ؼD˧$/>Q5)@MϔM|rJpm(0hp[b_.D  l^|kӒShAC6/>Q5)@ϔM|rJpm(0hp&]9%86485y򉯗NIN  l^|kR%!ג)8F +9s9s9s9Π^b۶p9s9s9s9sJN/R&FB$+ۼL|d"MUB)Pc℄IjE1;{ɪ!o<L|{,YkƖ3|A=E2RwRkFz4)1iHD+ۼL|PO<L|N&SO<L|N^jE1!Dy5T"X-u,g n ^z4ѤP$ y/FjԜ;"ɔT9"H;9"H;$IiH"iHDy/FHiHD5HDkFz4BeI3:jPHcw*2bߪ!b)8F +9s9s9sO~Kz-as9s9s9sJN/%^z4ѤM}ɨ: )a[$}䊰hRIF·-`Q澉 |V "I>7YlMy/<My/<My(з=}ޫ#]8cVeYs%lϯՋ[VϮ=fo~XKg^b[]Tŷm|ELo\|oŖkد>۳S5,]jbe.ŻL[vνuL^`;eZ+SXZ宵w|{vX-ua=Rje-rZpj~ۯb-^37п,g nǾ>۳Sca&^@d_.B+m o Ġ / )4 Z^zpw|YYo2@dMy%'! 4hƇ  +f@ 20Aj< P1灬X k$kEb=+Ȗ%Q[6*叒ܕEl)1(5} / -X LTV>Q\WHI}lS*<wːRbPj ـq՚j*Q{|㳍e<wːRbPj00$R2dՒ4[ H>X>'; ./usr/share/man/info/en_US/xlf/html/lr510.htmp/$ qsort_ XL Fortran for AIX V8.1.1

Language Reference

qsort_

The qsort_ subroutine performs a parallel quicksort on a one-dimensional array ARRAY whose length LEN is the number of elements in the array with each element having a size of ISIZE, and a user-defined sorting order function COMPAR to sort the elements of the array. Requirements for the COMPAR function are described under the qsort subroutine that is described in the AIX Technical Reference: Base Operating System and Extensions Volume 2.

Examples

INTEGER(4) FUNCTION COMPAR_UP(C1, C2)
INTEGER(4) C1, C2
IF (C1.LT.C2) COMPAR_UP = -1
IF (C1.EQ.C2) COMPAR_UP =  0
IF (C1.GT.C2) COMPAR_UP =  1
RETURN
END
SUBROUTINE FOO()
INTEGER(4) COMPAR_UP
EXTERNAL COMPAR_UP
INTEGER(4) ARRAY(8), LEN, ISIZE
DATA ARRAY/0, 3, 1, 2, 9, 5, 7, 4/
LEN = 6
ISIZE = 4
CALL qsort_(ARRAY(3:8), LEN, ISIZE, COMPAR_UP)
! sorting ARRAY(3:8)
PRINT *, ARRAY
! result value is [0, 3, 1, 2, 4, 5, 7, 9]
RETURN
END


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] i k^=$ mf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr511.htmp/$ qsort_down XL Fortran for AIX V8.1.1

Language Reference

qsort_down

The qsort_down subroutine performs a parallel quicksort on a one-dimensional array ARRAY whose length LEN is the number of elements in the array with each element having a size of ISIZE. The result is stored in array ARRAY in descending order. As opposed to qsort_, the qsort_down subroutine does not require the COMPAR function.

Examples

SUBROUTINE FOO()
  INTEGER(4) ARRAY(8), LEN, ISIZE
  DATA ARRAY/0, 3, 1, 2, 9, 5, 7, 4/
  LEN = 8
  ISIZE = 4
  CALL qsort_down(ARRAY, LEN, ISIZE)
  PRINT *, ARRAY
! Result value is [9, 7, 5, 4, 3, 2, 1, 0]
RETURN
END


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] t v k&>$ mf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr512.htmp/$ qsort_up XL Fortran for AIX V8.1.1

Language Reference

qsort_up

The qsort_up subroutine performs a parallel quicksort on a one-dimensional, contiguous array ARRAY whose length LEN is the number of elements in the array with each element having a size of ISIZE. The result is stored in array ARRAY in ascending order. As opposed to qsort_, the qsort_up subroutine does not require the COMPAR function.

Examples

SUBROUTINE FOO()
  INTEGER(4) ARRAY(8), LEN, ISIZE
  DATA ARRAY/0, 3, 1, 2, 9, 5, 7, 4/
  LEN = 8
  ISIZE = 4
  CALL qsort_up(ARRAY, LEN, ISIZE)
  PRINT *, ARRAY
! Result value is [0, 1, 2, 3, 4, 5, 7, 9]
RETURN
END


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] L> t v kf;?$ mf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr513.htmp/$ rtc XL Fortran for AIX V8.1.1

Language Reference

rtc

The rtc function returns a REAL(8) value of the number of seconds since the initial value of the machine's real-time clock.

|Result Type and Attributes

|Real with length 8

|Result Value

|The number of seconds since the initial value of the machine's |real-time clock

Examples

REAL(8) A, B, rtc
A = rtc()
DO M = 1,20000
  N = N + M
END DO
B = rtc()
! How many seconds elapsed?
PRINT *, B - A
END


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] x k@$ mf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr514.htmp/$ setrteopts XL Fortran for AIX V8.1.1

Language Reference

|setrteopts

| | |

|The setrteopts subroutine changes the setting of one or more of |the run-time options during the execution of a program. See Setting Run-time Options in the User's Guide for details about the run-time |options.

|Argument Type and Attributes

|Argument is of type character.

|Examples

|CHARACTER(n) C1
|CALL setrteopts (C1)
|! For example,
|! CALL setrteopts &
|!   ('langlvl=90std:cnverr=no')


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] i k&A$% mf>H>X>';% ./usr/share/man/info/en_US/xlf/html/lr515.htmp/$ sleep_ XL Fortran for AIX V8.1.1

Language Reference

|sleep_

| |

|The sleep_ subroutine suspends the execution of the current |process for SEC seconds.

|Argument Type and Attributes

|INTEGER(4)

|Examples

|INTEGER(4) SEC
|CALL sleep_(SEC)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] n>C k-B$mf>H>X>';./usr/share/man/info/en_US/xlf/html/lr516.htmp/$ time_ XL Fortran for AIX V8.1.1

Language Reference

time_

The time_ function returns the current time (GMT) CURRTIME, in seconds.

|Result Type and Attributes

|Integer with length 4

|Result Value

|The current time (GMT), in seconds

Examples

INTEGER(KIND=TIME_SIZE) CURRTIME, time_
CURRTIME = time_()


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] >Index< kGC$ mf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr517.htmp/$ timef XL Fortran for AIX V8.1.1

Language Reference

timef

The timef function returns the elapsed time in milliseconds since the first call to timef.

|Result Type and Attributes

|Real with length 8

|Result Value

|The elapsed time in milliseconds since the first call to timef. The |first call to timef returns 0.0d0.

Examples

REAL(8) ELAPSED, timef
ELAPSED = timef()
DO M = 1,20000
  A = A ** 2
ENDDO
ELAPSED = TIMEF()


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] le, H>X>';V ./usr/share/man/info/en_US/xlf/html/lr518.htmp/$ timef_delta XL Fortran for AIX V8.1.1

Language Reference

timef_delta

The timef_delta function returns the elapsed time in milliseconds since the last instance timef_delta was called with its argument set to 0.0 within the same thread. In order to get the correct elapsed time, you must determine which region of a thread you want timed. This region must start with a call to timef_delta(T0), where T0 is initialized (T0=0.0). The next call to timef_delta must use the first call's return value as the input argument if the elapsed time is expected.

Result Type and Attributes

Real with length 8

Examples

REAL(8) timef_delta, T0, T1, T2
  T0 = 0.0
    DO I = 1, N        ! Loop 1
      H = I + 1000
    END DO
  T1 = timef_delta(T0)
    DO I = 1, N        ! T1 gives the
      M = I + 2000     ! starting time
    END DO             ! of loop 2
  T2 = timef_delta(T1)
    DO I = 1, N        ! T2 gives the
      M = I + 3000     ! elapsed time
    END DO             ! of loop 2


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kꊁE$S mf>H>X>';S ./usr/share/man/info/en_US/xlf/html/lr519.htmp/$ umask_ XL Fortran for AIX V8.1.1

Language Reference

|umask_

| |

|The umask_ function sets the file mode creation mask to |CMASK.

|Argument Type and Attributes

|INTEGER(4)

|Result Type and Attributes

|INTEGER(4)

|Result Value

|The returned value is the previous value of the file mode creation |mask.

|Examples

|INTEGER(4) CMASK, LASTMASK, umask_
|LASTMASK = umask_ (CMASK)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] HREF= k+F$Rmf>H>X>';R./usr/share/man/info/en_US/xlf/html/lr52.htmp/$ Specification Expressions XL Fortran for AIX V8.1.1

Language Reference


Specification Expressions

A specification expression is an expression with limitations that you can use to specify items such as character lengths and array bounds.

A specification expression is a scalar, integer, restricted expression.

A restricted expression is an expression in which each operation is intrinsic and each primary is:

  • A constant or a subobject of a constant.
  • A variable that is a dummy argument that has neither the OPTIONAL nor the INTENT(OUT) attribute, or a subobject of such a variable.
  • A variable that is in a common block, or a subobject of such a variable.
  • A variable accessible by use association or host association, or a subobject of such a variable.
  • An array constructor where each element and the bounds and strides of each implied-DO are expressions whose primaries are either restricted expressions or implied-DO variables.
  • A structure constructor where each component is a restricted expression.
  • A reference to an array inquiry function (except ALLOCATED), the bit inquiry function BIT_SIZE, the character inquiry function LEN, the kind inquiry function KIND, or a numeric inquiry function. Each argument is either a restricted expression, or it is a variable whose properties inquired about are not dependent on the upper bound of the last dimension of an assumed-size array, not defined by an expression that is not a restricted expression, or not definable by an ALLOCATE statement or by a pointer assignment statement.

    +---------------------------------Fortran 95---------------------------------+

  • A reference to any remaining intrinsic functions defined in this book where each argument is a restricted expression.

    +-----------------------------End of Fortran 95------------------------------+

    +-------------------------------IBM Extension--------------------------------+

  • A reference to a system inquiry function, where any arguments are restricted expressions.

    +----------------------------End of IBM Extension----------------------------+

  • Any subscript or substring expression must be a restricted expression.
  • A reference to a specification function, where any arguments are restricted expressions.

+---------------------------------Fortran 95---------------------------------+

You can use a specification function in a specification expression. A function is a specification function if it is a pure function that is not an intrinsic, internal or statement function. A specification function cannot have a dummy procedure argument, and cannot be recursive.

+-----------------------------End of Fortran 95------------------------------+

A variable in a specification expression must have its type and type parameters, if any, specified by a previous declaration in the same scoping unit, or by the implicit typing rules in effect for the scoping unit, or by host or use association. If a variable in a specification expression is typed by the implicit typing rules, its appearance in any subsequent type declaration statement must confirm the implied type and type parameters.

If a specification expression includes a reference to an inquiry function for a type parameter or an array bound of an entity specified in the same specification part, the type parameter or array bound must be specified in a prior specification of the specification part. If a specification expression includes a reference to the value of an element of an array specified in the same specification part, the array bounds must be specified in a prior declaration. The prior specification can be to the left of the inquiry function in the same statement.

Examples of Specification Expressions

LBOUND(C,2)+6    ! C is an assumed-shape dummy array
ABS(I)*J         ! I and J are scalar integer variables
276/NN(4)        ! NN is accessible through host association

+---------------------------------Fortran 95---------------------------------+

The following example shows how a user-defined pure function, fact, can be used in the specification expression of an array-valued function result variable:

MODULE MOD
CONTAINS
  INTEGER PURE FUNCTION FACT(N)
  INTEGER, INTENT(IN) :: N
  ...
  END FUNCTION FACT
END MODULE MOD
 
PROGRAM P
  PRINT *, PERMUTE('ABCD')
  CONTAINS
  FUNCTION PERMUTE(ARG)
     USE MOD
     CHARACTER(*), INTENT(IN) :: ARG
     ...
     CHARACTER(LEN(ARG)) :: PERMUTE(FACT(LEN(ARG)))
     ...
  END FUNCTION PERMUTE
END PROGRAM P

+-----------------------------End of Fortran 95------------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] STRONG kFZG$ mf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr520.htmp/$ usleep_ XL Fortran for AIX V8.1.1

Language Reference

|usleep_

| |

|The usleep_ function suspends the execution of the current process |for an interval of MSEC microseconds.

|Argument Type and Attributes

|INTEGER(4)

|Result Type and Attributes

|INTEGER(4)

|Result Value

|The returned value is 0 if the function is successful, or an error number |otherwise.

|Examples

|INTEGER(4) IS_SLEEP, MSEC, usleep_
|IS_SLEEP = usleep_ (MSEC)


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] NTE kH$2 mf>H>X>';2 ./usr/share/man/info/en_US/xlf/html/lr521.htmp/$ xl_ _trbk XL Fortran for AIX V8.1.1

Language Reference

xl_ _trbk

The xl_ _trbk subroutine provides a traceback starting from the invocation point. xl_ _trbk can be called from your code, although not from signal handlers. The subroutine requires no parameters.

Examples

INTEGER res, n
IF (n .EQ. 1) THEN
   res=1
   CALL XL_ _TRBK()
ELSE
   res=n * FACTORIAL(n-1)
ENDIF

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] MSEC, kX$I$mf>H>X>';./usr/share/man/info/en_US/xlf/html/lr522.htmp/$ Part 4. Hardware and XL Fortran XL Fortran for AIX V8.1.1

Language Reference


Part 4. Hardware and XL Fortran

The following chapter contains information specific to your hardware and the XL Fortran compiler:

The following parts explain other aspects of the XL Fortran language:


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ntsH>X>';6 ./usr/share/man/info/en_US/xlf/html/lr523.htmp/$ Chapter 18. Hardware Directives and Intrinsic Procedures XL Fortran for AIX V8.1.1

Language Reference

+-------------------------------IBM Extension--------------------------------+


Chapter 18. Hardware Directives and Intrinsic Procedures

|This section provides an alphabetical reference to Hardware-specific compiler directives and intrinsic functions. For some directives and |intrinsics, you must specify an architecture as part of the -qarch |compiler option. The suboption syntax varies depending on the specific |requirements of directives and intrinsics documented in this chapter. |For more information on compiling programs for specific architectures, see the |User's Guide.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] =" lVK$7mf>H>X>';&./usr/share/man/info/en_US/xlf/html/lr524.htmp/$    e<>RTacinorst -/=ADENOPdhlp",.BCFGHILS_bfgmuvy()*12MVYw|!0345:Wx#+6789;KUXZkz%&Qq\j{}'[]p!5=u9c ĞTN) %h ^sD4ADyΉQ%v%}<{:t45r#J<?!coᳵ袊((((((((((=8yh4"GL6T`C!`(,M\^';T:*oтł@(y?p8l)jqU*j#`$   "#DI%DOH&+.'@.B DHA8&/"L=QA'"DU$<9"DG"H"$ B^(9  zPrA$S{"J<%H5DDL /r <%H5DDL /r <.@%H5DDNRABjXO!"%CՕĠX$0%RABjY$ @r;N0YQ T@`إyۏw٥wҸ4Ev%9MZ͸be@~,nfy;ؖe)j{XKzH[n~бp?oa| L/ oYS斨N0YQ&n=T{r9˽ SZ FtS{A9x( @5H,y>f5LeQyyyyyyyy$w9/sor܄RIG<㜻ܜ^7*0ٕKrnU{=A4PԮrܚov}Flʥ 7*zH[Ztu!Ll*զ|,csn,aWфf̪_XxrR$U 3zTkW!Llk7*0ٕKrnU~ Fg9{Lrq8eG@|6T{rv}Flʥ 7*~YZ5a T|6֊ ߖe+F҄rA`aWфf̪_XxrLwkڴ=+yyl*զ|,v3%\ہ{ g{̎v}Flʥ 7*g|6wj1sn,/ɠXO|t'pG,X Ю5!(%{K2Z`w͸ yKj" ^yKj" Q/r <.@%H5DDNI4O!"%CՕĠX$0%I5$ @rv}Flʥ 7*,q8eG0Fqʏb憷dU7c?6Sl; ʾ#6eR\_J73<Ǒlk}J3s3-\ymnt_&d4aWфf̪_Xxr\fgZۙ{_Knfα^>3kȾU~Y;W:r͙T!Wطnj3J73<wKC[V->Y=-e_F2}a.C ʯ~w$ *=rq8eG@ N0YQ9˼. tRIN1h&;=MȓTiyyyyyyyyyyyyy@ yB)FrHa%s"H`K܂O9uR Q$S0%A's亩 "PzDPr"Z$0[90YXJCQ/$Dy& ܁Sr9˽nUa*"0ܪDGBar/ o,>M5_q۽-7*0ٕKrnU{ *=䈏! *=v0[tU7nfy9Wߠ9nUa*"0ܪ{Z,?A39>Yqʏy"#D0Fqʏb憴_4r͙T!Wɦ!n~mnfw" 6i1kS, IܵbU7*0ٕKrnU} 7)W; *=䈏! *=n=m!*gRԹf-{)sܫ3fU/r3Knf*_ޕnfyg|a5jcὝ R}f\`y1kml+}g{̽1略Y;ӛ͚T1#|-]3i94ѾTfW`BWߖeLu)WX+cZ(sJ|a5>X1cŲ!+n[s6iR7-kij3V=*v,f;1RY/ oBjNUF3ߖwɂbr:qcg9w_7{w1k{45;nmϖ1LgXlJswۙJZ5a y<""4A ,n@`إyKnf,ҹ;)$oطjcҸ4ET{ׂ$Iqʏ3cھU6qMWErs[+﹚֕/_. f49"4A ,n@`*+!+)m٥K9"""4A $ *=mٳZS;q)YKnfڗw; gkI)qy0r>r;ڥwU`쳵 gqyW4u+c5cط;i\o+͓bY>vlրdUaǗnYgǖ=uY>mJ4ŮoIYeT;ϱow}-]+"omy&YjWr+żo,aWфf̪_XxrmYeTszWXmkXK26_;JVUsܫ3fU/FX|ԯIkN _qLv&5J,΋sb7ʵiޘLɯ|+:V{R$UgڴKW6g|6w{+T؃;}4;i\*զ g[g"oͻwۙGe֘ż{س{45$oɶWv^noc7ٍ ?fg2*֝;Wč6r;RFkEycLo2;@?}|r;ڥwegb,cfԯv%zgLc>ϥ~Y9M;zVbe#YyfZqJg{45ǖ-fdszM51=y^7 JiW|־dʼ7',) Z h( *=_gߛrK/ʬ ~6DZowJ,Zߖtߕmz"/q"/'J|kZck{o9(=(@kJiW}L gUq,',) Z ,n@`إy+zT;R |ckZck{g|yml+}gM_}k=`Y cLo2;1;25}+LMP9j_s$E$EJlgo,-fkR$UprPzN@9(mۖ1oetGbY;VǥsowSgy]-k;ؖe}-Xw5"D ;<sܫ3fU/*^ Az&F9/s{ *=a\8eG4|6֊ ߖewٓ^r:sT ySy ,>g{6}c,:cWөZfiJr;}/Lgn/_Z\ط#g89(=(A' V;҄!FgkɏJ,΋9G^ Ax(9H P`AsDB\hW;HP/$ ҄EtAA`V*R@DW:M51=tJ}1\g ADiH4J %$p#Ϝd3L"4A $PbC@rPO%  dǓM֘źP^Uc ml賿] ;kr=+Kϡ:>gpW`3 H(hIB  Bx OW pNJD( sj=IU>QTX| ADi ;9˽kRαԵbY *=9w*Z1,mn/۾͟53joBg˵+өKWk_,r\g&2 `A`"B^qʏy8DJjbD8eG$ys{A{ Dqe,Qy/-ב}r ?%AAȉjPr`K׾"Kl_\O=rPr"Z$0[90YXD2*m\s r\ ųET Pr ??亩E^EK܂O9 Y0 $h(y l=L$Jmf>H>X>';3./usr/share/man/info/en_US/xlf/html/lr525.htmp/$    <> ARTaeinort/DENOPSdlpsu"-.=BCFGHILVbcfghmy(),01234MXvw58:Y_x#69UW|!*7;KQZkqz+\{}&[]zC MF`Hdq"8qFi nq=(8n@ ceDci Qyy{NLN-%YàJ+ӑUZU 0` 0` 0` 0` 0` kp  P(  \樍€pZ-nZ%yS~j 3,7?(W`VT,giH@Q$@0?8ܽXHHgPB Án0f:^Zp ?B Yoi3v=Ĭ!%Es-*1%xto+N+1ӵWoԿ$4;B JD%j/%f;2ג0fq_(WXGU֙hu`aKL^-y+ʛ(V\=>c2UVK_y!ul(V.@` $ I'I  8y.Dedyn]@ Gra!!(@NA1Hp$Ad ^vx䑂`#pw/n@u$6 w8 ֍HOR46ŌƆ$z;δxb3yV/pG \[3VA,%pXoհ#Z%Ho.)Z@JVf [n$PqR<KZ$Nk4nAXP8i}Æ+EyEY[EeX` 0` 0` 0` 0` 0`8ZwE  H)8Ý!ZN40LKEiP!Z"!{9HI<*E%k3s@0䑂ceDci Qyy{NLN-%YÝqn'36;-y֝{TBjɏxZ+{H*}ɦceDci ayy:12ܻ4-y֌ n'!9H㇒Ƚ`fnh0AB:tpệ L~V^ͯ/A"C^ !ۇ~Ǔ{A"C_&Zח2LaA"C[5/>sQmDL2H̰ !eի%V"bu.cy:_Efe_G?IaOqH=$Hj]i1) n'ކ ƞj,f41%t Ø^4bŷ^4Tac1+^`~w;Q񧚣  I]40@`~r@v ƞj,f41%t Ø^48H<XhbJ0i񧚣  I]4p!񧚣  I]5)q㇒x.8axQƆ$xs ƚ,X(U+[&5n; "{ǎ#/@x+X$,Y$F:Èkq 0I#`@PÝZ`R/VR1+w՚+^%jՠvt=pÏX+/Re؉{^^4W_sk˯Dԯ+x𣟮Ê9-q'|7%pÏX+/Re؉{^^4W_sk˯Dԯ+x𣟮Ê9-qy=n'$5amyx^*$5RcG?]s#G?C~x_OqH=$Hk+_RIO`f^aŏ! f+{G?]sG?C~QNQmD ֓rzH{2 yiuǭ7"/TZJϹ7DQc8rzHU:ӱ+N2cj^kF9Y,KG?]s!QѸqG?B>svQ+𣟯A@86bt0i:QYmކ80h?;8Ў8#`p~s:xGz A@3q8#_LJ8q97t\$wvt\$Oxy<`,ÒF#PPH`NP   s"Z`R/ÙZ]c~4W[%O_+j1f^a_ǗZ`R/20[%-zHX&K^^4Wʳy1) nO[ w>bK^_DA"CEEj^kI_Zx#+&;n^4 !TlX$7+N2cj^kF>sqG?ylVHbX+/Rח !AA !ۇ~{pnq<4e_̻5/skƊ:+myuho>sqG?E<q<4e_̻5/skƊ:+myuho>sqG?E<Ï'DL2 /+{eYÔD"j^,|(~|(~QЏ+𣟠8ۉ) |ekYaA"C[ L2"2Loz(~<(~Q)QNQmt\$wvt\$Ox\5A<0J fa#(($0pnD3[q=|ͨǹzHo1 rV7 ^Vf\PmD5*_׽UɌ9H=$HkpzOpn w>bK^_DÔDnyO[) |ek^^4Wʳy1) n'DԼXQ8ۉ) |ekYaA"C[ L2b֬o:gK̽K(~QІmD ֓rzHzJee#:H#̼JUjKV7 ^m8ZM1Qmކq0`~wwS80 oo= P_Ǣ97t\$a;;[pf.@`'z!<<0J fa#(($0 88$vC5V7 ^21B\957E{UWfc̽+_Կ.cy:_F#yKekun'$50ɩRח2LaA"C[{pnpÏX+/Rח !ArzH|~ZW֞=:Ɏ4Fw3H=$Hh3) JmӨZѼ@vQj&+R77ԿH=$Hkq0`|9H=$HhǟÆ|7?M2Yz3.MKΊ^]x&y[ŏvQmÏ?q=7A-Æ|7?M2Yz3.MKΊ^]x&y[ŏvQmÏ?pq= ! kƊ^Vo&0 !H 9s[q= ! ~R+3,9H=$Hkq={IV3bK^_DA"CEEj^kI_Zx#+&;n^4 !TlX$7+N2cj^kF>sqG?ylVHbX+/Rח !AA !ۇ~{pnq<4e_̻5/skƊ:+myuho>sqG?E<q<4e_̻5/skƊ:+myuho>sqG?E<Ï'DL2 /+{eYÔD"j^,|(~|(~QЏ+𣟠8ۉ) |ekYaA"C[ L2"2Loz@QaxQ8Sp8ۉ) @K&0 !=˗TFt1 ֐G{IVA"CG7RIǩskɸ$580h>$4_%69jBV !ArzH+fTam𣟯AL8ۉ `B8q0`8?;Q8CF8#"{pކpr<< A;;[pf.@`'{Ƚ`fnh0AC:=( ;p!O[Ά/Y-5RYWfc̽+_Կ.cy:_EZ+z+FґZjƆugs>@ʊ^b\1j&RIdԩkƊ^Vo&0 !q=7Cۇ 8n~e/my|RIL4RI-qy=n'$5amyx^*$5RcG?C~n'$5aEfe) n'3/i0cDZ:Z]{H؝ij7~vs?(.@`G8ÝD3q 0I=w<0J fa#(($4$Nz@<vC5ڌ{ekij݀m/jѼAmV񡾝Dedqϐ.WW32zZɁmD5*_׽UɌ9H=$HkpzOpn w>bK^_DA"CE<Ï'DL2 /+{eYÔD"j^,|(~QmDL2H̰ !e&ZlxjU״M֞L^fyz3/ih_̻)MkR 9s[q 0I#`@'pkq=n wE DQby<`,ÒF#PPHhP! vC5V7 ^ZE:ѸWfc̽+_Կ.cy:_%Z=Wyւ ͆L2Jj^6 {Կ3jn'" #+&;|wŢcrVL n'$50ɩRח2LaA"C[{pnq<4e_$580h>$7DA"CE<Ï'DL2 /+{eYÔD"j^,|(~QЏ 90~n'$5aEfe) n$L/f\B+3/R 9s͎bҍos1S1[޼3*{D"2/𣟠8l{JڒT[pd EˈEfe_G?C~5Ɯ=fT3&Efe_G?@FQ6=vmI*-q2[$ZB+3/69jщ+I^IQ~c69Z +M f+{׀Zۉpf.@`': Ƚ`fnh0ACBt<9`|9ۇ .@`GBDn':.cy:_xݖs9l8ۉ) u2jTE{{L7rzHP7q<4e֝h"2/my|RII AA"CEZ2e3ox]$ǟqy=n'|7ۇ 8n~e/my|RIL) 8<t\$OxtHO"BřrH` @Gr@s"t\$ 9O[uD%_A"CGA"CxeXO`f\B+3/R 9K(uZJ$4zj~$7WL䯝?({A"C]c /myx^*$5y=n'|7Æ|7?M2YxyZ+q̹{T ͯ/A"CI# `|9H=$Hhǟqy=n'|7&w>bzӼVf\kׅ=K^_DFArzHmÏ?pq 0I#!bwvt\$OxpL$O"BřrH` I2 g#h>Èkq=n'̭yFf ڌ{33EV0/ VwcԿp7(,(UY-v=Kh 9a 9qG?EґZjƆu0,QYΗYmVFVLw4QYŌ-vm :p4QYߚizۀᢊtJ n'$50ɩRח2LaA"C[{pnÆ|7?M2Yz6y<Ï'q=7^5pÏX+/Rח/#ǟqzHɆVE{{L7rzHzMKŏ{~|(OqH=$Hk+_RIO]mpEg~%_̽WEXQ׻(nsp~pr<< 'pkq=n wE D(9d/@x+X$,Y$F0zPt&HrJu0>Èkq=n'yrr/~Hѩ+8^eN7%F%k3.!zqG?z/~T߹z2h_/"/9+FG?T"H|0~3.]Os2Ž~L8t~sqG?ZYߚ$#G?CÊ9-7yy1+1iq5}hZx4QYŌ-vm!mD5*_׽UɌ9H=$HkpzOpn ר8np,_skΗX[p8z<>tÆ|7?M2Yz6y<P!n7pyi/ԿH=$Hi$` ) 8>t9fw>bzӼVf^ͯ/:^F%amÏ?pq= ! kƊ^Vo&0 !H 90~n'$5aEfe) n'y1𣟯S(ZEf^++zgv; ȴJsB$(CcE|ĭv=L2z(%0~hf\E(sqG?Epr<< 'pkq=n wE D(9ay<`,ÒF#PPHh'^ =@CÜÝqn'o.NE܉Fw3â n'y1f\B+3/R 90~^s2dY[Կ+;^E^rW΍Ž~Daf^ռo%z|D+gs>e𣟡Pa񢭹SWfԒ,xIV{A"C]c /myx^*$5y=n'|7n7pyi/ԿKĬ/2YxƞtJޥas1@⊛8<'P!n7pyi/ԿH=$Hi$` ) 8>t9fw>bzӼVf^ͯ/:^F%amÏ?pq= ! kƊ^Vo&0 !H 90~n'$5aEfe) n'3/j7X=ȟ%xgG?CÊ9-n; "{B'z Z!b 9$`0A:АaÝqn; $xx0$ 'pkq=n' ۉG?F(~=5?͎į^/2Vf󤽥vmF=*̅ґZjƆu-zHX&K^^4Wʳy1) nO[ 6 Æ|7?M2Yz6) $ A !ۇ~Ǔz"$QPhPE%k3s@0䑂! |9ۇ .@`G@q;;[q=WxVwOF 96qG?}K9lv%z~fa7%+j1VEfd-W֞47ӨmD5*_׽UɌ9H=$HkpzOpn Ѱn7pyi/ԿH=$Hi$` ) 8<t\$OzHO"BřrH` H8#AnD3[9I wvziqV7 ^R1+7-Z^T˭Q[++pEgv=K('(ؽm%Z#;7A Y֞t}ˈQ8ۉH5}iC}:ɎOqH=$HkaR /+{eYÔD'n7pyi/ԿH=$Hi$` ) 8>t8np,_skzHנ`p|9H=$HhǟqzHq4cRIO[ ,[gKĬx 6Ҋ  oh/,HHHHHHHHLJT$$$(KKEe0cA5p&%K*%ŷMkq=n wE DLO"BřrH` =Ƀ8#HvC5$`8Ý+𣟮Ê9-SKW}WE~snQ~fKTح=+]:r-Z+;δcc>6r'^#;Q%s[I3/i0cҷ!e6k_ZVc΂2T[q=*nbVcZjc~8hZBۉ) u2jTE{{L7rzHn7pyi/ԿKĬ-q'|7w>bK^^tJۇ~{pn&w>bzӼVf\k{׆z6) $ A !ۇ~Ǔ{ B (PB (PB (PB / *1:PB (PB (PB (PB roCq=n'Et^@hUpREIĄ*~LKv/<` fv8_r/@x+X 3sBuӉaw"BřrH`'aKԿZ^TsȽ`0`h74==Rs'IQYo $mn H)8ÝÆx'p0' :. lX#M$mf>H>X>';y./usr/share/man/info/en_US/xlf/html/lr526.htmp/$   aenrtdios <=>ANRTcfhlmpu"-./079EFILOSbg,15:CDGHMPvwy!24BUVWXY_x#368;Q\kqz|'()K[]{}j8X5@x. ^$ (Ō8% wPDI!hp%P8@!r*I)cz-5Vj'PI iq8*K:t1<<<<<<<<<<p`TZ^M A  Յm;qB0HO @` 80gj|/@iDP`4DB/=<  "?` 80g\ycPxQ$48+~TkyWWw|%jE|B? >u^\k#Ө=]te}p` 6Vu |Ubo+Gq;0b3G%˪9+%]@P 47Q"$$ɇK$$*[>ݺi ) |3}^d7ٷN8beQ4RvrYL&f8ֆ23۷V}^8f"nw!f|.b֩+w}^Y9,Moӻvx' (nQ>/WVTFN7ȏnᛓ|_ͺqGq~\/"ox-kSGrYj1 u5VIMDK 7e- >;6 V1ٞLj&\@K?W5|.FYj1 u5VTyQȯ^DsZM}cY[:_nYzᛓ| ᛓ|_ͺqMʖ:^o7WVwߟ,wN^Յf=Ӎw.e@8,TLiB $p&Y ;g)]<&Y QQ2lvvѼ3ro7&{~dw5$P~S1-y8f^D똪./~z43ro7&b7p8D -ܳNs W{~ze_0o)l󋨙dEDN]D$5{ o^D.e@ G.eC<{FŪU>ɖMDK!إc.e@ G.eC<{FV`SUnѽE듆nM#۹8f!~;6GŪU ],Ӹט^LADHLAyǘoho4$򘩍Gn+7&'\Uaq|vxѤᛓ|6N7ȅ4Ӈ(J Lj&\}^wLVx-^rU-;i>;n;Wbg-c>^dgU%]}^Vg fwiz7rpɾDw' ܛBvmӎjz¿WwMV e ΧqG`T{ey 6 _䫵→VݱQ]D$!ǀ43Q2lZ^;nz~Zk >vLA$ËdfFN@_pɰ}aoj\w~16GoѧQ2p0ԸLAxb k~ }^LA ,,@ËdgZ_|MT}8i*QAE듆nM#۹8f!~;6G"uنW}>zں\M2ɨ)r{˜|/~o]D$ rI.eCgi8Ik~+7&~\&Y t8qu,zX2جk_ a*v&ŪU>YzW_-5SLA(I4*p&Y 5z4Ӈ(J R8f"ֆxuE\{[ ',7^ qhgLߓV3;giabgvF~n\3ro ٷN;l< &Y5E.@ͺq-RY>Asɰ[ xcRzoZozϦֆ27e- 3Y5X2a:\|ru6N~TUǵeQ4Rv c fE{Y6=YjʽoZoz~77&AZaiÊ@' ܛB#結Vgw>:21Z)U~{Puۣ3,p2H>X>'; ./usr/share/man/info/en_US/xlf/html/lr527.htmp/$ Fortran 90 compatibility XL Fortran for AIX V8.1.1

Language Reference


Fortran 90 compatibility

Except as noted here, the Fortran 95 standard is an upward-compatible extension to the preceding Fortran International Standard, ISO/IEC 1539-1:1991, informally referred to as Fortran 90. A standard conforming Fortran 90 program that does not use any of the features deleted from the Fortran 95 standard, is a standard conforming Fortran 95 program, as well. The Fortran 90 features that have been deleted from the Fortran 95 standard are the following:

  • ASSIGN and assigned GO TO statements
  • PAUSE statement
  • DO control variables and expressions of type real
  • H edit descriptor
  • Branching to an END IF statement from outside the IF block

Fortran 95 allows a processor to distinguish between a positive and a negative real zero, whereas Fortran 90 did not. Fortran 95 changes the behavior of the SIGN intrinsic function when the second argument is negative real zero.

More intrinsic functions appear in the Fortran 95 standard than in the Fortran 90 standard. Therefore, a program that conforms to the Fortran 90 standard may have a different interpretation under the Fortran 95 standard. The different interpretation of the program in Fortran 95 will only occur if the program invokes a procedure that has the same name as one of the new standard intrinsic procedures, unless that procedure is specified in an EXTERNAL statement or with an interface body.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] LA kEO$Tmf>H>X>';T./usr/share/man/info/en_US/xlf/html/lr528.htmp/$ Obsolescent Features XL Fortran for AIX V8.1.1

Language Reference


Obsolescent Features

As the Fortran language evolves, it is only natural that the functionality of some older features are better handled by newer features geared toward today's programming needs. At the same time, the considerable investment in legacy Fortran code suggests that it would be insensitive to customer needs to decommit any Fortran 90 or FORTRAN 77 features at this time. For this reason, XL Fortran is fully upward compatible with the Fortran 90 and FORTRAN 77 standards. Fortran 95 has removed features that were part of both the Fortran 90 and FORTRAN 77 language standards. However, functionality has not been removed from Fortran 95 as efficient alternatives to the features deleted do exist.

Fortran 95 defines two categories of outmoded features: deleted features and obsolescent features. Deleted features are Fortran 90 or FORTRAN 77 features that are considered to be largely unused and so are not supported in Fortan 95.

Obsolescent features are FORTRAN 77 features that are still frequently used today but whose use can be better delivered by newer features and methods. Although obsolescent features are, by definition, supported in the Fortran 95 standard, some of them may be marked as deleted in the next Fortran standard. Although a processor may still support deleted features as extensions to the language, you may want to take steps now to modify your existing code to use better methods.

Fortran 90 indicates the following FORTRAN 77 features are obsolescent:

  • Arithmetic IF

    Recommended method: Use the logical IF statement, IF construct, or CASE construct.

  • DO control variables and expressions of type real

    Recommended method: Use variables and expression of type integer.

  • PAUSE statement

    Recommended method: Use the READ statement.

  • Alternate return specifiers

    Recommended method: Evaluate a return code in a CASE construct or a computed GO TO statement on return from the procedure.

    ! FORTRAN 77
     
      CALL SUB(A,B,C,*10,*20,*30)
     
    ! Fortran 90
     
      CALL SUB(A,B,C,RET_CODE)
      SELECT CASE (RET_CODE)
        CASE (1)
            
      ·
      ·
      ·
    CASE (2)  
      ·
      ·
      ·
    CASE (3)  
      ·
      ·
      ·
    END SELECT
  • ASSIGN and assigned GO TO statements

    Recommended method: Use internal procedures.

  • Branching to an END IF statement from outside the IF block

    Recommended method: Branch to the statement that follows the END IF statement.

  • Shared loop termination and termination on a statement other than END DO or CONTINUE

    Recommended method: Use an END DO or CONTINUE statement to terminate each loop.

  • H edit descriptor

    Recommended method: Use the character constant edit descriptor.

Fortran 95 indicates the following FORTRAN 77 features as obsolescent:

  • Arithmetic IF

    Recommended method: Use the logical IF statement, IF construct, or CASE construct.

  • Alternate return specifiers

    Recommended method: Evaluate a return code in a CASE construct or a computed GO TO statement on return from the procedure.

    ! FORTRAN 77
     
      CALL SUB(A,B,C,*10,*20,*30)
     
    ! Fortran 90
     
      CALL SUB(A,B,C,RET_CODE)
      SELECT CASE (RET_CODE)
        CASE (1)
            
      ·
      ·
      ·
    CASE (2)  
      ·
      ·
      ·
    CASE (3)  
      ·
      ·
      ·
    END SELECT
  • Shared loop termination and termination on a statement other than END DO or CONTINUE

    Recommended method: Use an END DO or CONTINUE statement to terminate each loop.

  • Statement functions
  • DATA statements in executables
  • Assumed length character functions
  • Fixed source form
  • CHARACTER* form of declaration


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ures k@P$hmf>H>X>';h./usr/share/man/info/en_US/xlf/html/lr529.htmp/$ Deleted Features XL Fortran for AIX V8.1.1

Language Reference


Deleted Features

Fortran 95 indicates that the following Fortran 90 and FORTRAN 77 features have been deleted:

  • ASSIGN and assigned GO TO statements
  • PAUSE statement
  • DO control variables and expressions of type real
  • H edit descriptor
  • Branching to an END IF statement from outside the IF block


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  lQ$mf>H>X>';./usr/share/man/info/en_US/xlf/html/lr53.htmp/$   "T-<=>ADEILNRet /CGHOPSainors%012VWcfhlp().34689:BFMXYdgmuxz*,5_bvy&'+7;Qw#Ukq!j\|{}Z[]KpIM)#]Hևo4i?4|l1x`'@}>%™]uE6c,̸ߧp1~U[P‚cok({{{{{߭l p5pp"A`~ Q@'#‚@YIX3MQ@Ip ֶ8$8aW[AR@.Ɛ8'TΏCk`c c˂TTv:r]2xhhn[MnımaQRgX8`@83P: 6;l p5atᜰ(k]$:U -ccA-"< {(ك,CLp555 ()6&{{{{{~1DFo\!A9 + a,O51^@DfBWTy?08A\# evٌc 2cUgY<]37,[gU[rWcW)(X]Lc) \[KaFs_Eg!9(9:;hp/1f+`r6Pj01DFoHH$q"3RBA p?A9(y\h ҋ- c h3aB aƑc=w;|%yh ֵkZֵkZֵkZֵkZrvjkZֵkZֵk[ @s7tk ``5X5V(UYF`˸`3Lq^p1~q:UJԃEV 0 .]Ƒcl:``SA*\S+pHJ)t&1,)MaUT[|0U]f\l`c|H8o aƑcl:nJ@" 3 c 3(N .e(8V9(y\1QiEŒ5U«2=v0*!ڣ 䨶206*  )WYBmQaM,,c J8^b W"mza\U&cL tv l`cԐH48%0Jc* c h3QrT81ۀR]PŅۤa|oƔ]m\oW%A.Í#Ud;LrPp}c!yN}x8B ZֵkZֵkZֵkZV 0J3jkZֵkZֵkZ-kZֵh րr\@5,jh ` #q&+ `K%vkY.`3Lq^p1~q9(y\iEkQrT0,HYx}gSx;9+@VkZֵkZֵh ֹX(¹*(<ÍV kZֵkZֵkZֶln+W%A5X5+@5,\h  d\hf8ԯ8~Pqx8߈}g tv tl`cƔ]m\oW%A'qcxjiJ w>o)`AV 0J jk@VkZֵkZֵZֵkZֵkZֵl2` dkY.`ֹX(¹*(<ÍV  4o7cV (-Ƒ᪳ivQ^STa\U'AJWQrŗUXWr$5,JT(e%0Jc*2 nJ`0oHƴ>E.'N鿎FIR^$$o@1ƴ>CHƴ>E.'N鿎F;IR^$$oB"UE0U,[?1#?Pe;9HHއUCo7}c[?w#?Pe;9%Iz~PwcZgf!cZgjt#R/A7',(O*ƭU2~PwcZgf!cZgjt#PT (cA~! rP.XQm)Bg JsҌ.-S;EJ@[p PUa]Qca\U'.eUkYUw J,ʫr„|0Wa]‚` $ qY,.p)2c @ Boڡl\\T\ev4jg cܕ`eW[UX_%pƁ*RuVtYLT]PRuE52_Ψ,1W ᐃ<4 cp Paqm-ܯ**W:ۀRʫ ꛜ0,a5ʊ»%}]]hl\ʫeU2 h]P(Sau3MQwBAN79(y\ivQpΨ4VaqmaQRܯS:ۀRʫ QBy] TUeV܁+hcp0]uUS*_ )d#Dcp0rB@P U)Bg:A@Pw0YLT]PRYƨXNrP`01@Av4SQR7_*]aEr3*tj*4P]V,.U]c) .UXUUl YUuk8ƺ: g! \A/R8o c8'V3PuV˩VjKvc_*.4ojnJ\u>pl<]QL8ө9(9+ ֵkZֵkZֵkZֵXSW)ٌg 25kZֵkZֵkZֵh CRc J8?Bc -urQleR{1aU]f\l`P  w>Fc1ކƴ>CHƴ>#Q/A7QleR{1aU]coz?1#?DGHvpހbIF0JFp)ꂔ-c ~w;屭1K So㑨Th$  i8ߔևYiևڄ)7ԇi*K 44@so7}c[?1#?Pe;9%Iz8@PH~PwcZgf!cZgjt#R/A7 `P)so7}c[?1#?Pe;9%Iz8 @5L[?1#?Pe;9%Iz8e @LC8#7 <IL /\ŅrT[T`eWY5#7$$ĒCƄmȹl(0 ذJc*K2 Ƈ{S w;ևYiև"=j?%?zM(S:QuUphx8ҍ};ևtiև"=jCjQxT riFڟo⋭G 8> j‹ 8SJ6 ~w65;|F5m$9%Iz0ރJ6N]lFp8o@'F3\QaG8ҍ};ևtiև"= %Iz&mf(k*84pރ@a4>8ҍ};ևtiև"=jJzM(S:QuUph€h| qAw~1=D{i'+%?Que3zh| qAw~1=D{i'JzM(S:QuUph€4>8ҍ};ևtiև"=jJzM(S:QuUph@4>8ҍ};ևtiև"=jv`ރJ6N]lFp8oA0`;54h8B65;|F5m$9v`ރJ6N]lFp8oA0wjiFqlkC:vߴkCGIr5 %Iz&mf(k*84pރ$ CcM(7Ѓ h}N;h}#I?Fv`ރJ6N]lFp8oA q1ƦmAކƴ>oHƴ>#QIR^0oAɥj~'Y.Zʣ8 7  q1ƦmA wcZgӷcZgjt#Q/A<riFڟo⋭G Px954h8ߔևtiևڄ)7Ԇ}/A7ҍ?[-eQР0sjiFq(;屭~1K So㑩 9`ރJ6N]lFp8oBqAƴ>oHƴ>E.'N鿎F4jJzM(S:QuUph SJ6A-h}N;h}ފ]N2HiJzM(S:QuUph SJ6A-h}N;h}ފ]N2Hi/%?Que3z 1Ʀm[?w#?Pe;9ӑ JzM(S:QuUph SJ6A-h}N;h}ފ]N2Hi3%?Que3zcM(7|5;|F5z)v8wMr5!#PT riFڟo⋭G SJ6A-h}N;h}ފ]N2HixT riFڟo⋭G SJ6A-h}N;h}ފ]N2HixT riFڟo⋭G  1Ʀmxƴ>oHƴ>E.'N鿎FIR^x 7ҍ?[-eQР1sjiFq(;屭~1K So㑩 $IR^0oAɥj~'Y.Zʣ8 7@b8ҍ~PwcZgӷcZgjt#Rr5 %Iz&mf(k*84pޅSJ6A-h}N;h}ފ]N2Hi+%?Que3z 1Ʀm[?w#?Pe;9ӑ%?Que3z 1Ʀm[?w#?Pe;9ӑ_i*K 94mO7EYTg. cM(7|5;|F5z)v8wMr5!#P%?Que3z 1Ʀm[?w#?Pe;9ӑgi*K 94mO7EYTg. <,QolkC:vߴkCRBqjCNF/A7ҍ?[-eQ 1Ʀm[?w#?Pe;9ӑݤ/A7ҍ?[-eQ 1Ʀm[?w#?Pe;9ӑ/A7ҍ?[-eQcM(71-h}N;h}ފ]N2GoAɥj~'Y.Zʣ8 7@`sjiFq(;屭~1K So㑩 $IR^0oAɥj~'Y.Zʣ8 7@`sjiFq(;屭~1K So㑩 9`ރJ6N]lFp8oB@8ҍ~PwcZgӷcZgjt#Rr5 %Iz&mf(k*84pޅqAƴ>oHƴ>E.'N鿎F4j%Iz&mf(k*84pޅqAƴ>oHƴ>E.'N鿎F4jJzM(S:QuUph SJ6A-h}N;h}ފ]N2Hi%Iz&mf(k*84pޅqAƴ>oHƴ>E.'N鿎F4jJzM(S:QuUph  1Ʀm[?w#?Pe;9ӑoi*K 94mO7EYTgqAƴ>oHƴ>E.'N鿎F4joHƴ>E.'N鿎F4j<i*K 94mO7EYTgSJ6A wcZgӷcZgjt#Q/A<riFڟo⋭G P0QolkC:vߴkCRBqjCIpT riFڟo⋭G P0QolkC:vߴkCRBqjCNF=/A7ҍ?[-eQР0`954h8ߔևtiևڄ)7ԆBIR^0oAɥj~'Y.Zʣ8 7@`sjiFq(;屭~1K So㑩 9IR^0oAɥj~'Y.Zʣ8 7@`sjiFq(;屭~1K So㑩 9`ރJ6N]lFp8oB@8ҍ~PwcZgӷcZgjt#Rr5IR^0oAɥj~'Y.Zʣ8 7p`sjiFq(;屭~1K So㑩 9v`ރJ6N]lFp8oBqAƴ>oHƴ>E.'N鿎F4jJzM(S:QuUph `sjiFq(;屭~1K So㑩 9JzM(S:QuUph `sjiFq(;屭~1K So㑩 9JzM(S:QuUph a`8ҍ~Pqx;ևtiևڄ)7i*KQue3z 1Ʀm[?w#?Pe;9@@/%?Que3z 1Ʀm[?w#?Pe;9ӑOi*K 94mO7EYTg. cM(7|5;|F5z)v8wMr5!#PT riFڟo⋭G \(QolkC:vߴkCRBqjCNF~T riFڟo⋭G \(QolkC:vߴkCRBqjCNF}/A7ҍ?[-eQи0P954h8ߔևtiևڄ)7Ԇ@nT riFڟo⋭G \0QolkC:vߴkCRBqjCNF/A7ҍ?[-eQи0sjiFq(;屭~1K So㑩 9`ރJ6N]lFp8o@H(QolkC:vߴkCRBqjCNFv`ރJ6N]lFp8o@H0QolkC:vߴkCRBqjCNF`ރJ6N]lFp8o@HxX954h8ߔo|5;|F5z)v8wMr5Ja&mf(k*84pޅqAƴ>oHƴ>E.'N鿎F4 %Iz&mf(k*84pޅqAƴ>oHƴ>E.'N鿎F4jJzM(S:QuUph SJ6A-h}N;h}ފ]N2Hi+%?Que3z 1Ʀm[?w#?Pe;9ӑ%?Que3z 1Ʀm[?w#?Pe;9ӑ_i*K 94mO7EYTg. cM(7|5;|F5z)v8wMr5!#P%?Que3z 1Ʀm[?w#?Pe;9ӑgi*K 94mO7EYTg. <,QolkC:vߴkCRBqjCNF/A7ҍ?[-eQ 1Ʀm[?w#?Pe;9ӑݤ/A7ҍ?[-eQ 1Ʀm[?w#?Pe;9ӑ/A7ҍ?[-eQcM(71-h}N;h}ފ]N2GoAɥj~'Y.Zʣ8 7pa`8ҍ~PwcZgӷcZgjt#RH`ރJ6N]lFp8oBqAƴ>oHƴ>E.'N鿎F4jJzM(S:QuUph  1Ʀm[?w#?Pe;9ӑWi*K 94mO7EYTg. <,QolkC:vߴkCRBqjCNF~T riFڟo⋭G \xX954h8ߔևtiևڄ)7ԆBIR^0oAɥj~'Y.Zʣ8 7pa`8ҍ~PwcZgӷcZgjt#Rr5IR^0oAɥj~'Y.Zʣ8 7pa`8ҍ~PwcZgӷcZgjt#Rr5 %Iz&mf(k*84pޅSJ6A-h}N;h}ފ]N2Hi7%?Que3z@qAƴ>oHƴ>E.'N鿎F4joHƴ>E.'N鿎FIR^x 7ҍ?[-eQ 1Ʀm[?w#?Pe;9@@/%?Que3z@@8ҍ~PwcZgӷcZgjt#Rr5 %Iz&mf(k*84pހ0P954h8ߔևtiևڄ)7ԆBIR^0oAɥj~'Y.Zʣ8 7$ cM(7|5;|F5z)v8wMr5!#P?i*K 94mO7EYTgqAƴ>oHƴ>E.'N鿎F4jJzM(S:QuUph `sjiFq(;屭~1K So㑩 9ݤ/A7ҍ?[-eQ 1Ʀm[?w#?Pe;9ӑgi*K 94mO7EYTgSJ6A-h}N;h}ފ]N2Hi7%?Que3z@@8ҍ~PwcZgӷcZgjt#Rr5;%?Que3z@8ҍ~PwcZgӷcZgjt#Rr5?%?Que3z@qA~w;屭~1K So㑨T 94mO7EYTgqAƴ>oHƴ>E.'N鿎F4 %Iz&mf(k*84pހ0`954h8ߔևtiևڄ)7ԆB{IR^0oAɥj~'Y.Zʣ8 7$ cM(7|5;|F5z)v8wMr5!#PT riFڟo⋭G SJ6A-h}N;h}ފ]N2HiJzM(S:QuUph `sjiFq(;屭~1K So㑩 9`ރJ6N]lFp8o@H0QolkC:vߴkCRBqjCNF7i*K 94mO7EYTgqAƴ>oHƴ>E.'N鿎F4jJzM(S:QuUph a`8ҍ~PwcZgӷcZgjt#Rr5 %Iz&mf(k*84pހ0`954h8ߔևtiևڄ)7ԆG%Iz&mf(k*84pހ0`954h8ߔևtiևڄ)7ԆG%Iz&mf(k*84pހ0sjiFq(8߼lkC:vߴkCRBqj?%?zM(S:QuUph a`8ҍ~PwcZgӷcZgjt#RH`ރJ6N]lFp8o@HxX954h8ߔևtiևڄ)7ԆB{IR^0oAɥj~'Y.Zʣ8 7$ <,QolkC:vߴkCRBqjCNF]/A7ҍ?[-eQcM(7|5;|F5z)v8wMr5!#P?i*K 94mO7EYTgSJ6A-h}N;h}ފ]N2Hi/%?Que3z@qAƴ>oHƴ>E.'N鿎F4jv`ރJ6N]lFp8o@HxX954h8ߔևtiևڄ)7ԆC;IR^0oAɥj~'Y.Zʣ8 7$ <,QolkC:vߴkCRBqjCNF/A7ҍ?[-eQcM(7|5;|F5z)v8wMr5!#QIR^0oAɥj~'Y.Zʣ8 7$ <,QolkC:vߴkCRBqjCNF`ރJ6N]lFp8o@HxX954h8ߔo7Y%%yZֵkZֵkZֵkZֵmvc̪kZֵkZֵkZֵkZֵ+J% /24>Fr")DJoZB4//d PO@)B˩+ qѱhtAv2‹rg\ 5 qѱ23쪰?6>j Sc᪭0. ʫ)&@^?6> .^Œ*YƧF U ,b`[ ertl|/8(ƧFW/ʫ΋º^q0P;Op0&*Fk^bxP`B".3yUa]QaM.]UL,UaVgf0O2Hq5S0uE0NQv4SQRh⊔䪬`[ eL9?6>j <,ƧFAJ:,.uug nWհg:, XQUtYqLi5, N4U\h' nj2. .(,ΓQe΂qʨ5Bl.:. .(-,XJuVtU*䪫jȸ$ U΋ X9] h'cMuVLcal nWܕƓPeVʫ` VtvgAU --l-uU\1 eUgEUaS [| Sc0Jc*jkcK|ϝjtl|5FQleRzMS*p,Ψ43A Um-rT#hSrWULX"峪SU[T0g0EaUuѱgjtl|5v5ѱgjtl|4QLUΪɄX3MQc]V0(9+K|ϝB0_3wwio0P>(ݡ@~m-PaQaqm1s7wv5@ wwwwwtEAEŶk3wwR-oP)njL*YޠSp3L^i:h@?@]A زʢ alWR*$ k`,)+FYTUl nW^mwwt&[,P)!n#jW qJJkZֵkZֵkZֵlmvc̪kZֵkZֵkZֵkZ8ԯ89(`#7 <3 AY Xv@„l`P "3RBA!ctl`cԐHX𞃍 rP*  c  +  :EgW)ʨ„7J.S\F720vi!c=w;|%yh ֵkZֵk@VUh.¢0 qkZֵkZֵkZֵk[ @s7tk20 88`֚k@C41ƥyC81 QAvQ[#UgT*,\_L(O8`#bX* *, Um\n YUuX]UXܕƲ4*ƗQ0$ꅙ_rWXSr /. c8cW)+":;hI  8Gm! ~ tv q"3RBA!cn rP, eTaBy|0WcUg]Mqk.UaS 53ʫc4UPp`eW[ITUeVƮƋ.4S8YLڹ|0Wa1+.¢0ƀꭁMQvuV$Kaa\YQu nWܕƲ.,b7%qJܕƪE-TYF! ]H @I7RܮcDMƧFYʙF\il,+M\(.,, d\[ JKaa\nJTeɪp)ȺFEŰuuU`Rʫc Ք]frgr:ےXW%urkT[&,/miVXW%urہᅔ-'W[X"WMBŕXTI]Ut]esV_:)ec҂ʫ(-U]QmQY*)rjeUnJKaa\nJJ O*EgTeql3*:)C aa\1֐q1AADFo%t@.[MSN* ٌc 8Ơ 9'| R#05b"33wD)tAUC7vOnW@mSDFf4 ]?Dg举CI*0(DTc%T F8ԯ8`#7 @jȰ9|a] ಙUu,cL tv q"3RBA!cz601B: )WYBہaU]mq `#qcx +  :arnAeTڢšMEBaSK.*5 n YUurQth'ڣ 䨶2=cʫmv0*Ʃʨ„ cʫmv0*AJ@*"3!+8pza\U'e2([f0]2ʫˍjP1DFoHH$, tv ?cDfB8%0Jc*0YL c i5ŋܕƂ,/ur%}QrT[T.eUd#it jiJ w>o)`AV 0J`4`jk\e2(XApraLÍV k+ .ֵkZֵl24o7c`cu 1a\``i d€K # cl(L¹*-Op0]2ʫ.,\7,5, N d Q\ j5cx1eUP!raLÍ#Ug\5?6>cL!ƧF l@p6m]58JJԃcʫ`B™]F76q:Rr8J6U w>Fc1ކƴ>CHƴ>#Q/A7|S*aL7Ѓ h}՘h}#I?F;IR^8oB.UaSo1-h}՘h}ފ]N2GpހE|#Wc@2q(;屭1K So㑩TЮgrUEq(8߼lkC?kCRBqj?%?+0]dy7|5VbF5z)v8wMr5!Jqz,J[r71-h}՘h}ފ]N2GpހD]{q(;屭1K So㑩TИPso7}c[?1#?Pe;9%Iz8L#Wc@5,ܟ+O[ 8+WcMy7|5VbF5z)v8wMr5!Jqz_; .m8ߔo|5VbF5z)v8wMr5JqzFƀbq(;屭1K So㑩T=)1*8ߔo|5VbF5z)v8wMr5Jqz#Wc@1\1ƴ>CHƴ>E.'N鿎F;IR^8o@0p䪋jn(+~Pqx8߈}g*8>_8qq:RD [Xe2([W/e(8V9(EmQrT[TeUP`eW[UgU[8`5FtVܕƖ\URj0a|k᪔ܕƂ,/urgYS*PfJXe2k%MRSA \j™]M\j‹ 3YS*PfJY/jW )WX +v0*Q\ieU&m(X_;,o rPM\nAeήƀEV܂K‚gW)+v0*:(B` +X0a|31&1 nWܕ_šXSr /. c8cW)+v0*3QrTqcxh #FPF AƑ᠜]RʫcDFo%t@1ƮST[b¹*-OoeUP`eWY5< rW7wwh!FQOB Jz aB(cJJ@*"3!+8pQ mYLٌc 2cT tv qJeTaBy )WYBہaU]m&u;RήSrʨ„ v0*!L`[Ud;LrPp}c!yN}x8B r&UF00]5X5V `Uu, 8|0WaƫUhv8`ֵkZֵkZei5+8ߔo7YJ1A:qʨ#H `K%u\L00]4om etBetUPp`eWYl%KAcx1eUP!raLÍ#H8|)AVuEzM\k,U]e j™]tS aPN5U/1BW@p:,+ʤ,U]e l YUue(8V9(.ƨXeUP_ )d +&beUuQ|,O:.7+g c &UF'1`Uu-.eU+&UF'1.eU$AJpƪ4)VpE1A!Ck&> rPui*eˊMBڹ|0Wa5J q(8߼o>"3RBA!dn rPҋ-5cx\URj *O.4o U1Az;Pp}c4kZֵkZֵkZֵZ+ˊMBgֵkZֵkZֶln+ˊMBEY1uƫ!43LjW q(8߼o>JWQvroˊMBgF7v|C=F(8>1^pkZֵkZֵk@V⪓P 5X5kZֵkZֵk`fr,,q3Lq^p1~q9(#7$$@3c<4 j5MqT'qcxjiJ w>o)`A+ZֵkZֵkZֵkZֵh ֵkZֵkZֵkZ-kZZ`YqUIX]E`U@VnЋ# 7@FX1 aƫkZ3Lq^p1~q9(8oˊMB*,F7ΩTYFzM,4⪓PAJ#``4o USXe2([p0]2ʫcƖ\URj2 `;Ltv q"3RBA!a#601DFoHH$,$A9(#7$$Cc tv 8Gm! rP1DFoHH$,$qJ:;hI l`cԐHXH qJ:;hI tl`c"3RBA!a!#7$$;cDfB‡l`c"3RBA!aD:601@Gm! tv 8Gm! ?A9(#7$$qJ:;hI #7$$qJ:;hI l`c"3RBA!`q|C=o);lkC:vߴkCGIr5J!#z\URjK28B65VbF5m$9%Iz g eULqlkC?kCGIr5 %Iz< abx1qx;ևtiևڄ)7i*KY1ƴ>CHƴ>E.'N鿎F;IR^$$oBMBڶTʫcA-h}՘h}ފ]N2B{IR^$$o@AV΃TT971-h}N;h}ފ]N2GHHހDm olkC?kCRBqjC%?BF*-X'WX[?1#?Pe;9HHނx&†8ߔo|5;|F5z)v8wMr5J!#z [?1#?Pe;9%Iz *5 j,.ʠh~PwcZgf!cZgjt#PT (cA wcZgӷcZgjt#Q/A7$4CHƴ>E.'N鿎F=/A7 +ŗpAq(8߼lkC:vߴkCRBqj?%?BF-0 A7|5VbF5z)v8wMr5!J!#z\URj՗[]PR<~PwcZgf!cZgjt#PT \]bˁ8g 8ߔo7YJth|l\jtl|4J aE⪓P_ )1PqkZֵkZֵkZֵkZֵٌg 25kZֵkZֵkZֵkZր4>5+ rP'F I8j™]US8V ʤ\S+XI\-+rtl|F gFaƧFI,]RcW/W[UdKF'nJ]B3B%Q9?6> 3O_* Um\k 03)u>pҋʊd rW *6US84S[|0W`#hSUΪ) jaUT_ )jj-e}p1,)MMaRf*pE !A^pp|VkZֵkZֵkZֵšMxc8YWYkZֵkZֵkZֵk@W%<4'L,OM\j™]tSʭw%q)5rRʫI\-YqUI[p0]2ʫ[** @v4Yv1 evҪXWE(S al]'uVw hn.[m)BeUnJp0]2ʫcnH  U\k* cTgp PUu\7,;Fq1AADFo%t@$+EBjUU&mv0*jP1@AX[rUL0=TXS]7 pt⪓P,/@. \iE\ Ua]ʀgrc8`YU+(X_ 4⪓P`eWY1{S w;ևYiև"=j?%?};ևYiև"=jC%?,ho1-h}՘h}ފ]N2Gpއ/olkC?kCRBqjC%?, q(8߼lkC?kCRBqj?%?, q(;屭1K So㑩TcA~! rP1{S w;ևYiև"=j?%? 1w1=D{i'ԇi*K  c CcZgf!cZgz?O㑨Oi*K c CcZgf!cZgz?O㑨Wi*K F8B65VbF5m$9IR^xPހ@71w1=D{i'/%? L"c CcZgf!cZgz?O㑨 J†-0 A7Ѓxƴ>CHƴ>E.'N鿎FIR^xPހ7|5VbF5z)v8wMr5!J†, q(;屭1K So㑨Oi*K P81ƴ>CHƴ>E.'N鿎F]/A<(o@AB[?1#?Pe;9IR^xPހ7|5VbF5z)v8wMr5 %IzCz q(;屭1K So㑨 J†, q(8߼lkC?kCRBqj?%? (Y~PwcZgf!cZgjt#R/A<(oC7|5VbF5z)v8wMr5 %IzCz g8ߔևYiևڄ)7+%? {1ƴ>CHƴ>E.'N鿎F~T7 [?1#?Pe;9 3olkC?kCRBqjv`_8ߔo|5VbF5z)v8wMr5J†=|~PwcZgf!cZgjt#R/A<(o@AB[?1#?Pe;9 3olkC?kCRBqjJ†=|~PwcZgf!cZgjt#P?i*K cA-h}՘h}ފ]N2BIR^xPހ7|5VbF5z)v8wMr5IR^xPއ/o7}c[?1#?Pe;9%IzCz q(;屭1K So㑩T7 [?1#?Pe;9`_8ߔևYiևڄ)7+%? {1ƴ>CHƴ>E.'N鿎F~T7 fpcA-h}՘h}ފ]N2BIR^xPއ/olkC?kCRBqjv 3o7ckc*aSK.*5 n YUuQ|3/[ܯi5ŋpX(X]LSrUljgAJF̪)7%q,Yp%Ut⪓P`eW[Aeqlg] 7:XU]m\_YqUIX;LrW#Єn;Rc k U-YܕQmw4= +)BeUnJJ O*`񪳫/c]V0)_E10,ܕS;.eUYܰ/ [p P:\URj c nW5ѱ'`w ] [| ;OEd I\1wqYܕƀEV܂037AJƮS]o4S:ےš]FpƮP(L_ (AJEd crW.⪓P_ )'F"COg U,[A8ܕƲ5Fw%qU7 035r1raE4Av7 -6SrW|0š:Utj @ƧF +c ɀJj_A8'F¨CPb5?6>9(y\iE\ Ua]ʀJ+c ʋgr /(.raL̇|C=o);lkC:vߴkCGIr5Jqz;1w~1=D{i'ԇi*K ^i:S@0 K2}8߼lkC:vߴkCRBqj?%?.q(;屭~1K So㑩TХgܟ ~Pqx;ևtiևڄ)7i*K Utj <[?w#?Pe;9%Iz8 }A~Pqx;ևtiևڄ)7i*K Utj @[?w#?Pe;9%Iz8 }A~Pqx;ևtiևڄ)7i*K Utj cA-h}N;h}ފ]N2HvpޅQ>F@8ߔo|5;|F5z)v8wMr5JqzD~PwcZgӷcZgjt#R/A7TOѨ0`971-h}N;h}ފ]N2Gpރcl2Ɏ7|5;|F5z)v8wMr5!JqzEgU[8O\jtl| q(8߼o>`| /88|)AѱOȹlw gJ.ƋT` eUgU[D X)Aʰ1B7%q ,(Ψ5rTƖ¹*g U,[A8ܕS&¹*88>+ZֵkZֵkZֵkZֵxc8YWYkZֵkZֵkZֵkZִqq^pp}ch%U`TraLJ‹ 3*th a-(fAeaAlg 2ܕƀEV܂K‚nJp0]2ʫ+eAljJ0+4]\7 J|0Œhn.[mT5raE5VLrtl|*:5 qѱܕƯc\ }A%qar%RŴ }Ajtl|kZֵkZֵkZֵkZ٬)3UuֵkZֵkZֵkZִqq^prP1CJ.XJ TƲUp%\kd\T[;Y|iEJ(/W/ʫq rPp|Df$Cƅmȹl(0 ڮ*5 l YUuq%?7=wz?w#?DGG&mf(k*84pށjiFqlkC:vߴkCGIr5!r5M(JczM(S:QuUphpMu5raE qAqx;z?w#?DGG&mf(k*84pށa>1raExSJ6 CcZgӷcZgz?O@@Xoi*K riFڟo⋭G Cf8ҍ};ևtiև"=jJ†Que3zD1ƦmAކƴ>oHƴ>#PT7ҍ?[-eQЪ'954h8B65;|F5m$9IR^xPރJ6N]lFp8oBCP`sjiFqlkC:vߴkCGIr5 %IzCzM(S:QuUph }AqAw~1=D{i'%IzCzM(S:QuUph/dQo1-h}N;h}ފ]N2G&mf(k*84pރcSJ6A-h}N;h}ފ]N2Hi ,7%? 94mO7EYTg+O->wcM(7|5;|F5z)v8wMr5!#PT7ҍ?[-eQrtl|5?6>D1Ʀm[?w#?Pe;9ӑWi*K riFڟo⋭G 9?6>W }ASJ6A-h}N;h}ފ]N2HiJ†Que3zOƧF¨CP`sjiFq(;屭~1K So㑩 9&mf(k*84pރcqѱ'0QolkC:vߴkCRBqjCNF7i*K riFڟo⋭G 9?6>W [| <Qo7}c[?w#?Pe;9%IzCzM(S:QuUph'F¨CPa5?6>8ҍ~PwcZgӷcZgjt#RH %IzCzM(S:QuUph }ASJ6A-h}N;h}ފ]N2Hi'%? 94mO7EYTg*:5cM(7|5;|F5z)v8wMr5!#PT7ҍ?[-eQЪ'954h8ߔևtiևڄ)7Ԇ@/A<(oAɥj~'Y.Zʣ8 7TOѨ0P954h8ߔևtiևڄ)7ԆBIR^xPރJ6N]lFp8oBCP`sjiFq(;屭~1K So㑩 9ݤ/A<(oAɥj~'Y.Zʣ8 7TOѨ0sjiFq(8߼lkC:vߴkCRBqj?%? 94mO7EYTg }ASJ6A-h}N;h}ފ]N2Hi ,7%? 94mO7EYTg*:5 cM(7|5;|F5z)v8wMr5!#PT7ҍ?[-eQЪ'954h8ߔևtiևڄ)7ԆBIR^xPރJ6N]lFp8oBCPb8ҍ~PwcZgӷcZgjt#Rr5&mf(k*84pޅQ>F@8ҍ~PwcZgӷcZgjt#Rr5 %IzCzM(S:QuUph }AqAƴ>oHƴ>E.'N鿎F4jv&mf(k*84pޅQ>FqA~w;屭~1K So㑨T7ҍ?[-eQrtl|*:5 qѱ1Ʀm[?w#?Pe;9@@Xoi*K riFڟo⋭G Utj cM(7|5;|F5z)v8wMr5!#PT7ҍ?[-eQЪ'(QolkC:vߴkCRBqjCNF]/A<(oAɥj~'Y.Zʣ8 7TOѨ0P954h8ߔևtiևڄ)7Ԇ@/A<(oAɥj~'Y.Zʣ8 7TOѨ0P954h8ߔևtiևڄ)7ԆBIR^xPރJ6N]lFp8oBCP`sjiFq(;屭~1K So㑩 9ݤ/A<(oAɥj~'Y.Zʣ8 7TOѨ0P954h8ߔo|5;|F5z)v8wMr5J†Que3zOQ>F5?6>8ҍ~PwcZgӷcZgjt#RH %IzCzM(S:QuUph }AqAƴ>oHƴ>E.'N鿎F4jJ†Que3zDSJ6A-h}N;h}ފ]N2Hi+%? 94mO7EYTg*:5 1Ʀm[?w#?Pe;9ӑ%? 94mO7EYTg*:5 1Ʀm[?w#?Pe;9ӑ_i*K riFڟo⋭G Utj cM(7|5;|F5z)v8wMr5!#P%? 94mO7EYTg*:5 1Ʀmxƴ>oHƴ>E.'N鿎FIR^xPރJ6N]lFp8oAѱ, a\jtl| qAƴ>oHƴ>E.'N鿎F4J†Que3zOƧF–;1Ʀm[?w#?Pe;9ӑOi*K riFڟo⋭G 9?6>W }ASJ6A-h}N;h}ފ]N2Hi+%? 94mO7EYTg+OQ>FqAƴ>oHƴ>E.'N鿎F4j%IzCzM(S:QuUph'F ScTOѨ0P954h8ߔևtiևڄ)7ԆBIR^xPރJ6N]lFp8oAѱUtj cM(7|5;|F5z)v8wMr5!#P%? 94mO7EYTg+OQAr- jiFq(8߼o>`| /88|)AѱOȹlw gJ.ƂUYFzYqUI[p0]2ʫΪWDc,(6R`c nJp0]2ʫarYܯnX™Ω(lgcA"ܕ IA80]3MUUVܕƂ,/aEqcTLP\uU\0ܕYuVt / nW5c l -(c aAL0B`qG#o<IE`cL tv 8Gm! 9 rPҋ-4 (/p0]2ʫc=w;|%yh ֵkZֵkZրkvQ[V kZֵkZֵkZֵkZֶln+LUl QX!r5X43LjW q(8߼o>`cu 10QU(YF`˸1 qҔgTLUl h0 21y?0 +`)"Bc˜-YI lQU) eUe8J6UJBp|k^b"Pzrq]B`@ E 1R(+h/1fAr-ж3(+h/1f+`r6$5rrg eh/1f!Ar,iLHҘqqDf_ JPWCѐj#X liR$mf>H>X>';G./usr/share/man/info/en_US/xlf/html/lr530.htmp/$" <=ALT>DEINPS%/1GHOR -028:CFVWYefinostzB34567racl9dhpubgm.MUkvxy!,;X_qw#&()KQ\|$@JZ[]{}'*+?`j~^Ԁ$&8C bQ+U2=vf` "2@,d@4,J&pa5H9 HP 8@18 p HPQh a iC@P r`0&bD@8Ppl P`@ Tr8@0$@8 XI2kt 4"0b@&  "A@ `I I!$ $(@ @,DDDDDDDDDDDDDD@@   8&8aII'%@"A@_XI D$I8Dq21A 8 "A@I"0 9(@$ @ &A#8@I ؈ p Z8 @q$)(ဠ$ "A .*(7Vݮp`EKD,J&`@PLS!{p~,XX.DJ"P&4%۵aC9@  cQd  ^ @@J[v b@& A@  ۃ\`u#@p[vI ( ( /npE K@8(7VݮŀL  CAn. 4Pp '  A @4p p" &@DD@ $AD㇔" " $P@H@4"H " y"%8r H8 ɏѸ]2 G"Rb@9 MpH`y L[ ah͓"Q2`*d)r8@ aDp HUUUUUUUUUUUUUUUUUUUUUU@@7 .<;LN@ :/uquǒ"P!2G$HA ( Pp$[S&i>/skow9P@P/V\K闺Ѹ( _MKh9 [S&i>/skow9P@P7V\0ben.DJ&@—)@ [S&i>/skow9P@P?V\K闺Ѹ( _JDa $jd=3m|X.6*#\J1 _L~H@ 8R@8"@jd=2fRuQxÛ_+| aͯ;-c4en.DJ&@—[S&j:aͯ0ږCxi4{< *8@p L{5IT^0ŊskzKEġO>/uquǒ"P!2G% 8@PrcmLL6,VxÛ_PwjZ/% i4{< *8@p8L{5IT^0ŊskzKEġo>`m]q䈔LQ/ prcmLL6,VxÛ_PwjZ/% i4{< *8@p8L{5IT^0ŊskzKEġ>`m]q䈔LQ/ prcmLLuT^0ŊskzKEġi4{< *8@pL{5IT^0ŊskzKEġ b_L~H@ 8RBL{5IT^0ŊskzKEġO>/uquǒ"P!2G% 8K&=ɚΪ/skow9x=vP/V\K闺Ѹ( _K<[S&j:aͯ0ږC1Z}p闺Ѹ( _I2($p rcmLL6,VxÛ_PwjZ/% i4{< *8@pɏu2f3[]m}A]h0c {< *8@p(JA!&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _H`rcmLL6,VxÛ_PwjZ/% c4en.DJ&@—091L&uQxÛ_+| aͯ;-< b_L~H@ 8RDAɏu2f3[]m}A]h0 c4en.DJ&@—([S&j:aͯ0ږC1Z}p闺Ѹ( _I2($091L&uQxÛ_+| aͯ;- b_L~H@ 8R_jdRgU9bR}q(`#+O1}2[a7\y"% TpK&PC&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _H[S&j:aͯ0ږCxi4{< *8@pjdRgU9bR}q(`+Oim]q䈔LQ/I@HH91L&uQxÛ_+| aͯ;-| b_L~H@ 8RWjdRgU9bR}q(`+O1}2[a7\y"% TpKDA!Pp jdRgU9bR}q(`+Oim]q䈔LQ/zP91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2G@4091L&LS:AΪ/skow9x=vP| b_L~H@ 8R@Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/([S&j:aͯ0ږC1Z}sM/^l?F$DBd )}"J@p&=ɚΪ/skow9x=vP/V\K闺Ѹ( _JrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )}#h$> @R$$2d &=ɚΪ/skow9x=vP?V\K闺Ѹ( _K׀Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8RIɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}!@Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKPX91L&uQxÛ_+| aͯ;-| b_L~H@ 8RV`Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8RG04[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}'91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2GH@"%P L{5I5΢s[]m}A]h0>/uquǒ"P!2G891L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpK &=ɚΪ/skow9x=vP'V\K闺Ѹ( _H rcmLL6,VxÛ_PwjZ/% i4{< *8@pؐ@Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8R@PDI8[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}(ɏu2f3[]m}A]h0c {< *8@pGHGh"8Ѐ9#ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}!AǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKP8[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} rcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} 8ɏu2f3[]m}A]h0c4en.DJ&@—ҥ91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2G 8Pp91L&LS:AΪ/skow9x=vP| b_L~H@ 8RCjdRgU9bR}q(`o>/uquǒ"P!2Gɏu2f3[]m}A]h0 c4en.DJ&@—$$x91L&uQxÛ_+| aͯ;-| b_L~H@ 8RA^L{5IT^0ŊskzKEġo>`m]q䈔LQ/PD@ &=ɚΪ/skow9x=vP?V\K闺Ѹ( _I&=ɚΪ/skow9x=vPGV\0ben.DJ&@—r4& p91L&LS:AΪ/skow9x=vP| b_L~H@ 8R@(91L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpK Aɏu2f3[]m}A]h0 c4en.DJ&@—$$rcmLL6,VxÛ_PwjZ/% i4{< *8@pǺڙ3TEm|X.6Դ_\J1 _L~H@ 8R@9 I@x(891L&uQxÛ_+| aͯ;- b_L~H@ 8R^烓jdRgU9bR}q(`#+O1}2[a7\y"% TpK&@@I0@&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _IAɏu2f3[]m}A]h07V\K闺Ѹ( _H[&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H 091L&uQxÛ_+| aͯ;-| b_L~H@ 8RpP91L&uQxÛ_+| aͯ;- b/uquǒ"P!2G

/uquǒ"P!2G]Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8RA#@91L&LS:AΪ/skow9x=vP| b_L~H@ 8RM4[S&j:aͯ0ږCxi4{< *8@p&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H rcmLL6,VxÛ_PwjZ/% i4{< *8@prcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )}  (@@x(891L&uQxÛ_+| aͯ;- b_L~H@ 8RE91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2G <@[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}&&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}!DjdRgU9bR}q(`+Oim]q䈔LQ/I@Hɏu2f3[]m}A]h0 c4en.DJ&@—(P91L&uQxÛ_+| aͯ;- b/uquǒ"P!2G Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK([S&j:aͯ0ږC1Z}p闺Ѹ( _H@ `rcmLLuT^0ŊskzKEġi4{< *8@p&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}!TL{5IT^0ŊskzKEġO>/uquǒ"P!2G% 8@jdRgU9bR}q(`+Oim]q䈔LQ/J Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8R@` @(A$Aɏu2f3[]m}A]h0c4en.DJ&@—%rcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} 0 @ tG Ǻڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK4 L{5IT^0ŊskzKEġ b_L~H@ 8RB[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}"J@p&=ɚΪ/skow9x=vP/V\K闺Ѹ( _K&=ɚΪ/skow9x=vP7V\0ben.DJ&@—LR Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKzǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RIrA P[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}&ɏu2f3[]m}A]h07V\K闺Ѹ( _HQ@Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKP@[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}/`91L&uQxÛ_+| aͯ;- b/uquǒ"P!2G`@91L&uQxÛ_+| aͯ;- b_L~H@ 8R^rcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )}$9 rcmLLuT^0ŊskzKEġi4{< *8@p&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}&&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H#ɏu2f3[]m}A]h0 c4en.DJ&@—ҬX91L&uQxÛ_+| aͯ;- b/uquǒ"P!2G ` DP8 Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKV,[S&j:aͯ0ږC1Z}p闺Ѹ( _HJ"L@@rcmLLuT^0ŊskzKEġi4{< *8@p&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}&L{5IT^0ŊskzKEġO>/uquǒ"P!2G% 8@`Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKPAɏu2f3[]m}A]h0 c {< *8@pa @<L{5IT^0ŊskzKEġ>/uquǒ"P!2G 4[S&j:aͯ0ږC1Z}p闺Ѹ( _H0( $Ǻڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK4891L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpK4091L&uQxÛ_+| aͯ;-< b_L~H@ 8RD&=ɚΪ/skow9x=vP/V\K闺Ѹ( _J&=ɚΪ/skow9x=vP7V\0ben.DJ&@—, :bDJI[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}*[S&j:aͯ0ږC1Z}p闺Ѹ( _H0( $`rcmLLuT^0ŊskzKEġi4{< *8@pAɏu2f3[]m}A]h07V\K闺Ѹ( _I@rcmLL6,VxÛ_PwjZ/% xi4{< *8@p( <[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}*&=ɚΪ/skow9x=vP7V\0ben.DJ&@—, :bDJI&=ɚΪ/skow9x=vP?V\K闺Ѹ( _Jɏu2f3[]m}A]h0c {< *8@pa @<ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—(91L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpK4 L{5IT^0ŊskzKEġO>/uquǒ"P!2G% 8M&=ɚΪ/skow9x=vP/V\K闺Ѹ( _JAɏu2f3[]m}A]h0 c {< *8@pa @<Aɏu2f3[]m}A]h0c4en.DJ&@—ҊbrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} 0qq#"P(@rcmLLuT^0ŊskzKEġi4{< *8@p4[S&j:aͯ0ږCxi4{< *8@p&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H Aɏu2f3[]m}A]h0 c4en.DJ&@—L{5IT^0ŊskzKEġo>`m]q䈔LQ/JX@`$h8@rcmLL6,VxÛ_PwjZ/% i4{< *8@pɏu2f3[]m}A]h0c {< *8@ph@Ǻڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK [S&j:aͯ0ږCxi4{< *8@p&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H rcmLL6,VxÛ_PwjZ/% i4{< *8@pkAɏu2f3[]m}A]h0 c {< *8@piI$I &=ɚΪ/skow9x=vP?V\K闺Ѹ( _H+ɏu2f3[]m}A]h0c {< *8@p8 (@aǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK &=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}&ɏu2f3[]m}A]h0 c4en.DJ&@—$$0[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}+PrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )}#h$> @R$$2d  &=ɚΪ/skow9x=vP?V\K闺Ѹ( _KL{5IT^0ŊskzKEġ>`m]q䈔LQ/I@$@H P&b@ $(@`Ǻڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK &=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}&&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H @Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKm&=ɚΪ/skow9x=vP7V\0ben.DJ&@—@a891L&uQxÛ_+| aͯ;- b_L~H@ 8RDAɏu2f3[]m}A]h0c {< *8@p)pL{5I5΢s[]m}A]h0>/uquǒ"P!2G`rcmLL6,VxÛ_PwjZ/% c4en.DJ&@—h&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H rcmLL6,VxÛ_PwjZ/% i4{< *8@pǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RGH|H @H91L&uQxÛ_+| aͯ;- b_L~H@ 8RVrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )}#h$>$p @$[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}!Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H 891L&uQxÛ_+| aͯ;-| b_L~H@ 8R^PrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )}$H(@ (8[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} x91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2GDHpQ0Áɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—L{5IT^0ŊskzKEġ b_L~H@ 8RM&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H @91L&uQxÛ_+| aͯ;-| b_L~H@ 8RV Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8RGP8[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}"@h91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2G(HG`jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/0prcmLL6,VxÛ_PwjZ/% c4en.DJ&@—hrcmLL6,VxÛ_PwjZ/% xi4{< *8@p(  &=ɚΪ/skow9x=vP/V\K闺Ѹ( _HjdRgU9bR}q(`+O1}2[a7\y"% TpK@$ &=ɚΪ/skow9x=vP?V\K闺Ѹ( _K<[S&j:aͯ0ږC1Z}p闺Ѹ( _I%@`<: ($(HL{5I5΢s[]m}A]h0>/uquǒ"P!2G[S&j:aͯ0ږCxi4{< *8@prcmLL6,VxÛ_PwjZ/% xi4{< *8@p( jdRgU9bR}q(`+Oim]q䈔LQ/烓jdRgU9bR}q(`+O1}2[a7\y"% TpKI  @R Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKa&=ɚΪ/skow9x=vPGV\0ben.DJ&@—@A@ t@$ LpA )B@rcmLLuT^0ŊskzKEġi4{< *8@pjdRgU9bR}q(`o>/uquǒ"P!2GVL{5IT^0ŊskzKEġO>/uquǒ"P!2G% 8@[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}([S&j:aͯ0ږC1Z}p闺Ѹ( _H$p H@R Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKb/&=ɚΪ/skow9x=vPGV\0ben.DJ&@—@A@ tGā  ($(HL{5I5΢s[]m}A]h0>/uquǒ"P!2G!Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/@Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKP,[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} x91L&uQxÛ_+| aͯ;- b/uquǒ"P!2GDH&8 H91L&uQxÛ_+| aͯ;- b_L~H@ 8RX&=ɚΪ/skow9x=vPGV\0ben.DJ&@—@A@ t$ A1  ` DHR$"LH&@p rcmLLuT^0ŊskzKEġi4{< *8@pjdRgU9bR}q(`o>/uquǒ"P!2GAɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}/p91L&uQxÛ_+| aͯ;- b/uquǒ"P!2G` jdRgU9bR}q(`+Oim]q䈔LQ/O&=ɚΪ/skow9x=vPGV\0ben.DJ&@—ALp8(L{5I5΢s[]m}A]h0>/uquǒ"P!2G [S&j:aͯ0ږCxi4{< *8@p4[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—891L&uQxÛ_+| aͯ;- b/uquǒ"P!2G p@R  A &=ɚΪ/skow9x=vP?V\K闺Ѹ( _Kx91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2GePIH$> $R 0rcmLLuT^0ŊskzKEġi4{< *8@pǺڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/0`rcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _O&=ɚΪ/skow9x=vP7V\0ben.DJ&@—L$ b@$q` $P(@rcmLL6,VxÛ_PwjZ/% i4{< *8@px91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2G ($(HL{5I5΢s[]m}A]h0>/uquǒ"P!2G [S&j:aͯ0ږCxi4{< *8@pjdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8R@jdRgU9bR}q(`+O1}2[a7\y"% TpK"@$`"L{5IT^0ŊskzKEġ>/uquǒ"P!2G x91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2GI@4 p$ H8[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )} @891L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpK &=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pjdRgU9bR}q(`+O1}2[a7\y"% TpKĀp2D[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} \crcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} &a ) 8%R &=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _HL{5IT^0ŊskzKEġ b_L~H@ 8RCɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}%jdRgU9bR}q(`+O1}2[a7\y"% TpK 0% "L{5IT^0ŊskzKEġ>/uquǒ"P!2GL{5IT^0ŊskzKEġ>`m]q䈔LQ/ Dt8jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/[S&j:aͯ0ږCxi4{< *8@pjdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8R@ &=ɚΪ/skow9x=vP7V\0ben.DJ&@—H &Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK^jdRgU9bR}q(`#+O1}2[a7\y"% TpKDA!P&$ H8HP91L&LS:AΪ/skow9x=vP| b_L~H@ 8R@[S&j:aͯ0ږCxi4{< *8@pjdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8R@ Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8R@PH@I jdRgU9bR}q(`+Oim]q䈔LQ/oL{5IT^0ŊskzKEġ>`m]q䈔LQ/q0ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@— L{5IT^0ŊskzKEġ b_L~H@ 8RC&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@p&=ɚΪ/skow9x=vP7V\0ben.DJ&@—R@ DL0rcmLL6,VxÛ_PwjZ/% i4{< *8@pɏu2f3[]m}A]h0c {< *8@pRR$L{5I5΢s[]m}A]h0>/uquǒ"P!2G)Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/0&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@p &=ɚΪ/skow9x=vP7V\0ben.DJ&@— 8@8`Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8R@ɏu2f3[]m}A]h07V\K闺Ѹ( _Hk&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pɏu2f3[]m}A]h0 c {< *8@p&rcmLL6,VxÛ_PwjZ/% i4{< *8@p<`91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gc@Àx&i0&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _HL{5IT^0ŊskzKEġ b_L~H@ 8RCjdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8R@`Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8R@P  H Aɏu2f3[]m}A]h0c4en.DJ&@—%&=ɚΪ/skow9x=vPGV\0ben.DJ&@—"PHc #àG rcmLLuT^0ŊskzKEġi4{< *8@p@Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/0rcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _HǺڙ3TEm|X.6Դ_\J1 _L~H@ 8R@b@ (91L&uQxÛ_+| aͯ;- b_L~H@ 8R@*ɏu2f3[]m}A]h0c {< *8@pI @x`y8@I%jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/ &=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}!L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKL{5IT^0ŊskzKEġo>`m]q䈔LQ/ r(@&@jdRgU9bR}q(`+Oim]q䈔LQ/mL{5IT^0ŊskzKEġ>`m]q䈔LQ/qIHAɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—jdRgU9bR}q(`o>/uquǒ"P!2G&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@p[S&j:aͯ0ږC1Z}p闺Ѹ( _H HjdRgU9bR}q(`+Oim]q䈔LQ/Ā &=ɚΪ/skow9x=vPGV\0ben.DJ&@— "HpǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpKɏu2f3[]m}A]h07V\K闺Ѹ( _Ha@Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gɏu2f3[]m}A]h0 c {< *8@pH@)p&=ɚΪ/skow9x=vP?V\K闺Ѹ( _H*[S&j:aͯ0ږC1Z}p闺Ѹ( _HprcmLLuT^0ŊskzKEġi4{< *8@pCjdRgU9bR}q(`o>/uquǒ"P!2G PrcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _HPrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@p@(91L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpKL{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK4[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )} `Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pkAɏu2f3[]m}A]h0c {< *8@piI$I &=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _HrcmLL6,VxÛ_PwjZ/% c4en.DJ&@—jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8R@Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/jdRgU9bR}q(`#+O1}2[a7\y"% TpK DdG Ǻڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )} @(91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/ L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8R\rcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} 8%R H &=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _HL{5IT^0ŊskzKEġ b_L~H@ 8R@`rcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@p-&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )} `(91L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpKɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} prcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—WjdRgU9bR}q(`#+O1}2[a7\y"% TpK"@$p$  &Pp91L&LS:AΪ/skow9x=vP| b_L~H@ 8R@`rcmLL6,VxÛ_PwjZ/% c4en.DJ&@—jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RAǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/hh91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2G@4 )`@2jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/ &=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )} @Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2GǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/&=ɚΪ/skow9x=vPGV\0ben.DJ&@—L90@&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _HL{5IT^0ŊskzKEġ b_L~H@ 8R@[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—Aɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _K4[S&j:aͯ0ږC1Z}p闺Ѹ( _I qPprcmLLuT^0ŊskzKEġi4{< *8@p􁃃jdRgU9bR}q(`o>/uquǒ"P!2G%jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RDjdRgU9bR}q(`+O1}2[a7\y"% TpK䈃jdRgU9bR}q(`+Oim]q䈔LQ/Bɏu2f3[]m}A]h0c {< *8@pGHGhH0

/uquǒ"P!2G0&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )} @PrcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8RI1 rcmLL6,VxÛ_PwjZ/% i4{< *8@pH[S&j:aͯ0ږC1Z}p闺Ѹ( _H I$#0I 91L&LS:AΪ/skow9x=vP| b_L~H@ 8R@Aɏu2f3[]m}A]h07V\K闺Ѹ( _HH91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/8PrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} 8dHjdRgU9bR}q(`+Oim]q䈔LQ/B@Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8R@0@ H@I Ǻڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpKL{5IT^0ŊskzKEġ b_L~H@ 8R@&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@p91L&uQxÛ_+| aͯ;- b/uquǒ"P!2G&=ɚΪ/skow9x=vP?V\K闺Ѹ( _KlP91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2G# (@cD8 ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@— L{5IT^0ŊskzKEġ b_L~H@ 8R@&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pjdRgU9bR}q(`+O1}2[a7\y"% TpKHL)rcmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )} p 91L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpK L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RA*)jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G rcmLL6,VxÛ_PwjZ/% c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} @rcmLL6,VxÛ_PwjZ/% i4{< *8@pG(@rcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )}/H(91L&uQxÛ_+| aͯ;- b_L~H@ 8RI&P@Pp91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpKAɏu2f3[]m}A]h07V\K闺Ѹ( _H(91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/[S&j:aͯ0ږC1Z}p闺Ѹ( _H R 4@L{5IT^0ŊskzKEġ>/uquǒ"P!2G[S&j:aͯ0ږC1Z}p闺Ѹ( _I0Áɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—jdRgU9bR}q(`o>/uquǒ"P!2G)Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2G&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _HL{5IT^0ŊskzKEġ b_L~H@ 8R@ɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpKɏu2f3[]m}A]h07V\K闺Ѹ( _HL{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKL{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RA*)jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G8prcmLL6,VxÛ_PwjZ/% c4en.DJ&@—jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RTL{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RA*)jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G8&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )} P091L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/`Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )} P891L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/P91L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RAjdRgU9bR}q(`o>/uquǒ"P!2G( [S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—p91L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RAɏu2f3[]m}A]h07V\K闺Ѹ( _H891L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/rcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@pǺڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/ Aɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )},&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _H L{5IT^0ŊskzKEġ b_L~H@ 8R@L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} aJL{5IT^0ŊskzKEġ>`m]q䈔LQ/D91L&LS:AΪ/skow9x=vP| b_L~H@ 8RA`rcmLL6,VxÛ_PwjZ/% c4en.DJ&@—&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@p &=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} &=ɚΪ/skow9x=vPGV\0ben.DJ&@—HǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpKɏu2f3[]m}A]h07V\K闺Ѹ( _HH91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _Hp Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8R@q@&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _H L{5IT^0ŊskzKEġ b_L~H@ 8R@&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@p [S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@p&=ɚΪ/skow9x=vPGV\0ben.DJ&@—R@ DL0rcmLLuT^0ŊskzKEġi4{< *8@pjdRgU9bR}q(`o>/uquǒ"P!2G*ɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}-&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} 0rcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ( $F Ǻڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpKPrcmLL6,VxÛ_PwjZ/% c4en.DJ&@—L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK@[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@p &=ɚΪ/skow9x=vPGV\0ben.DJ&@—0  H91L&LS:AΪ/skow9x=vP| b_L~H@ 8RC&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )} `Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2GjdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2G(Aɏu2f3[]m}A]h0c {< *8@pI@091L&LS:AΪ/skow9x=vP| b_L~H@ 8RCL{5IT^0ŊskzKEġ b_L~H@ 8R@ƃjdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8R@jdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/8`rcmLL6,VxÛ_PwjZ/% c4en.DJ&@— L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKD[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}!Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/ &=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@p[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}!Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/ &=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@p91L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RCɏu2f3[]m}A]h07V\K闺Ѹ( _H L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKH91L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RCɏu2f3[]m}A]h07V\K闺Ѹ( _HL{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKL{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RA*)jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2GrcmLL6,VxÛ_PwjZ/% c4en.DJ&@—jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RFjdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/8prcmLL6,VxÛ_PwjZ/% c4en.DJ&@—L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK([S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}!(91L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpKPrcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _HrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@pPǺڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/ `Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2GprcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—891L&uQxÛ_+| aͯ;-< b/uquǒ"P!2G p@R  A &=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _H4[S&j:aͯ0ږCxi4{< *8@pAɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8R@q@@PCjdRgU9bR}q(`+Oim]q䈔LQ/[S&j:aͯ0ږC1Z}p闺Ѹ( _H$(& Ǻڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpKɏu2f3[]m}A]h07V\K闺Ѹ( _HH91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/`91L&uQxÛ_+| aͯ;- b/uquǒ"P!2GpLIprcmLL6,VxÛ_PwjZ/% i4{< *8@pɏu2f3[]m}A]h0c {< *8@p&rcmLLuT^0ŊskzKEġi4{< *8@pP 91L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpK([S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—L{5IT^0ŊskzKEġo>`m]q䈔LQ/@9HpH (q@rcmLL6,VxÛ_PwjZ/% i4{< *8@p &=ɚΪ/skow9x=vPGV\0ben.DJ&@— 8@8`Ǻڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpKPrcmLL6,VxÛ_PwjZ/% c4en.DJ&@—X91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/&=ɚΪ/skow9x=vP7V\0ben.DJ&@—R@ @ `91L&uQxÛ_+| aͯ;- b_L~H@ 8R@ &=ɚΪ/skow9x=vPGV\0ben.DJ&@—Lp䈃jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/ɏu2f3[]m}A]h07V\K闺Ѹ( _HP91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/rcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} $ &&=ɚΪ/skow9x=vP?V\K闺Ѹ( _Hr$L{5IT^0ŊskzKEġ>`m]q䈔LQ/$`$jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/ɏu2f3[]m}A]h07V\K闺Ѹ( _H(91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/ L{5IT^0ŊskzKEġo>`m]q䈔LQ/ (jdRgU9bR}q(`+Oim]q䈔LQ/ 91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2G`$@PD`"L{5I5΢s[]m}A]h0>/uquǒ"P!2G &=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )} sAɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} (91L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK0[S&j:aͯ0ږC1Z}p闺Ѹ( _H$rLIprcmLLuT^0ŊskzKEġi4{< *8@pPǺڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK[S&j:aͯ0ږCxi4{< *8@pǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2G[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}& L{5IT^0ŊskzKEġ b_L~H@ 8R@PrcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _IM&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )} p091L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/p91L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RM [S&j:aͯ0ږCxi4{< *8@pǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2GǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK4([S&j:aͯ0ږCxi4{< *8@pǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2G&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _I@Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—hP091L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpKPrcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _IrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@pL{5IT^0ŊskzKEġ b_L~H@ 8R@L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKjdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2GǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RIHXIB0 rcmLLuT^0ŊskzKEġi4{< *8@pL{5IT^0ŊskzKEġ b_L~H@ 8R@Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2GjdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2Gɏu2f3[]m}A]h0c {< *8@pĀ$@PrcmLLuT^0ŊskzKEġi4{< *8@p891L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpK&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/rcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} p$D Aɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—hP L{5IT^0ŊskzKEġ b_L~H@ 8R@&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pH91L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK,[S&j:aͯ0ږC1Z}p闺Ѹ( _H "Iā#ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—iAɏu2f3[]m}A]h07V\K闺Ѹ( _H`Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2G Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/8$[S&j:aͯ0ږC1Z}p闺Ѹ( _HG`HjdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/M&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )} q@Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2G@Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/L{5IT^0ŊskzKEġ>`m]q䈔LQ/8BjdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/CjdRgU9bR}q(`o>/uquǒ"P!2G@PrcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _Iɏu2f3[]m}A]h07V\K闺Ѹ( _H rcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _HǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK4(91L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpK&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pAɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—i`rcmLL6,VxÛ_PwjZ/% c4en.DJ&@—jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RIjdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/@Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@p&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _Iɏu2f3[]m}A]h07V\K闺Ѹ( _H L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK4Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@p,[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}&Aɏu2f3[]m}A]h07V\K闺Ѹ( _H L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK4[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}& L{5IT^0ŊskzKEġ b_L~H@ 8RAɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} &=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _I&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )} L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKh91L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKjdRgU9bR}q(`#+O1}2[a7\y"% TpKH Ǻڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK40`rcmLL6,VxÛ_PwjZ/% c4en.DJ&@—rcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _IPrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@— [S&j:aͯ0ږC1Z}p闺Ѹ( _H H$D[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}&jdRgU9bR}q(`o>/uquǒ"P!2G@(91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/([S&j:aͯ0ږC1Z}p闺Ѹ( _H8yHpH &=ɚΪ/skow9x=vP?V\K闺Ѹ( _H`rcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )}$@H8I2D[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}&jdRgU9bR}q(`o>/uquǒ"P!2G@rcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _HrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} 9  <jdRgU9bR}q(`+Oim]q䈔LQ/[S&j:aͯ0ږC1Z}p闺Ѹ( _H R 4@L{5I5΢s[]m}A]h0>/uquǒ"P!2GCɏu2f3[]m}A]h07V\K闺Ѹ( _H!@Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2GrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} @@Pp91L&uQxÛ_+| aͯ;- b_L~H@ 8R@ Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8R@PH@I jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/prcmLL6,VxÛ_PwjZ/% c4en.DJ&@—X91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/L{5IT^0ŊskzKEġo>`m]q䈔LQ/  &=ɚΪ/skow9x=vP?V\K闺Ѹ( _MjdRgU9bR}q(`#+O1}2[a7\y"% TpK` @prcmLLuT^0ŊskzKEġi4{< *8@pL{5IT^0ŊskzKEġ b_L~H@ 8RAɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}*^jdRgU9bR}q(`+O1}2[a7\y"% TpKÀqjdRgU9bR}q(`+Oim]q䈔LQ/jdRgU9bR}q(`#+O1}2[a7\y"% TpK&PR1 80( HH P91L&LS:AΪ/skow9x=vP| b_L~H@ 8RM [S&j:aͯ0ږCxi4{< *8@p L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RA*)jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2GCPrcmLL6,VxÛ_PwjZ/% c4en.DJ&@—rcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G@Aɏu2f3[]m}A]h07V\K闺Ѹ( _HpǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/ɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _ICAɏu2f3[]m}A]h07V\K闺Ѹ( _Hp 91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _I@Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/8[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@p`rcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—hL{5IT^0ŊskzKEġ b_L~H@ 8RCɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _HrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—h L{5IT^0ŊskzKEġ b_L~H@ 8RCɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _HrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—h L{5IT^0ŊskzKEġ b_L~H@ 8RCɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _HjdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G@prcmLL6,VxÛ_PwjZ/% c4en.DJ&@—891L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/ [S&j:aͯ0ږCxi4{< *8@pǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK4[S&j:aͯ0ږCxi4{< *8@prcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@pǺڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/8(91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RM&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}!ăjdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RA*)jdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/)Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/:ɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—h091L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpKrcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@pjdRgU9bR}q(`o>/uquǒ"P!2Gɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—h L{5IT^0ŊskzKEġ b_L~H@ 8R@(PrcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@pjdRgU9bR}q(`o>/uquǒ"P!2G h91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKjdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G@prcmLL6,VxÛ_PwjZ/% c4en.DJ&@—CjdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RA*)jdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2GjdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G@rcmLL6,VxÛ_PwjZ/% c4en.DJ&@—@Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}&CjdRgU9bR}q(`o>/uquǒ"P!2G &=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RMPrcmLL6,VxÛ_PwjZ/% c4en.DJ&@—@Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK4 [S&j:aͯ0ږCxi4{< *8@pP891L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK$L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RML{5IT^0ŊskzKEġ b_L~H@ 8R@( [S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@prcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—h091L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpKɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _HǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/0[S&j:aͯ0ږCxi4{< *8@pP L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RA Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/0[S&j:aͯ0ږCxi4{< *8@p[&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _I`091L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpKǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK4 &=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )} H91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RMɏu2f3[]m}A]h07V\K闺Ѹ( _HP91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RM&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )} `Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK4 Aɏu2f3[]m}A]h07V\K闺Ѹ( _HL{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RA*)jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G@Aɏu2f3[]m}A]h07V\K闺Ѹ( _M&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _IsAɏu2f3[]m}A]h07V\K闺Ѹ( _ML{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8R@Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8RI8 " 0rcmLLuT^0ŊskzKEġi4{< *8@p L{5IT^0ŊskzKEġ b_L~H@ 8Rl091L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK&L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RMɏu2f3[]m}A]h07V\K闺Ѹ( _Mɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _I@rcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—h L{5IT^0ŊskzKEġ b_L~H@ 8Rl L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8R@H91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK4&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}6&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} &=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}&Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/rcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—hL{5IT^0ŊskzKEġ b_L~H@ 8RlL{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8R@L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RM&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}6[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@p4[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@pǺڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/(91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK*L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RM&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}7`Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK4h91L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpKPrcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@p L{5IT^0ŊskzKEġ b_L~H@ 8RlH91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RMɏu2f3[]m}A]h07V\K闺Ѹ( _M[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}&Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RA*)jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2GA`rcmLL6,VxÛ_PwjZ/% c4en.DJ&@—bɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—h L{5IT^0ŊskzKEġ b_L~H@ 8RABjdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RA*)jdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/@ [S&j:aͯ0ږCxi4{< *8@pL{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RA*)jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2GAɏu2f3[]m}A]h07V\K闺Ѹ( _H(`rcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@pǺڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RA*)jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2GC&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )} PrcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@prcmLL6,VxÛ_PwjZ/% c4en.DJ&@— &=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _IjdRgU9bR}q(`o>/uquǒ"P!2GP891L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RM&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )} rcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@p L{5IT^0ŊskzKEġ b_L~H@ 8RACjdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RA*)jdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/`rcmLL6,VxÛ_PwjZ/% c4en.DJ&@— Aɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—hp891L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpKrcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@pL{5IT^0ŊskzKEġ b_L~H@ 8RAAAɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—hpǺڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/H91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RMAɏu2f3[]m}A]h07V\K闺Ѹ( _H*ɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—h L{5IT^0ŊskzKEġ b_L~H@ 8RAVL{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RA*)jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G@)Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/P91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RMɏu2f3[]m}A]h07V\K闺Ѹ( _HǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/([S&j:aͯ0ږC1Z}p闺Ѹ( _H8yHpH &=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _IL{5IT^0ŊskzKEġ b_L~H@ 8RDL{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8Rl[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@p@Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/H`rcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@— L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RM`rcmLL6,VxÛ_PwjZ/% c4en.DJ&@—$L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RDjdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G@([S&j:aͯ0ږCxi4{< *8@pjdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RA*)jdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2GjdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G@( [S&j:aͯ0ږCxi4{< *8@pjdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RA*)jdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2GjdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G@(prcmLL6,VxÛ_PwjZ/% c4en.DJ&@—$L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8REjdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G@(&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}"AǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/rcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—(PrcmLL6,VxÛ_PwjZ/% c4en.DJ&@—$891L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK<[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@p h91L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpKAɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _Kɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _H`ɏu2f3[]m}A]h07V\K闺Ѹ( _H&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _H`@rcmLL6,VxÛ_PwjZ/% c4en.DJ&@—$[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}!Aɏu2f3[]m}A]h07V\K闺Ѹ( _H Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK  L{5IT^0ŊskzKEġ b_L~H@ 8RD[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}!ɏu2f3[]m}A]h07V\K闺Ѹ( _HjdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RA*)jdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/0P@91L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpK([S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}!&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}* L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8R@ɏu2f3[]m}A]h0c {< *8@pH@) @aǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK jdRgU9bR}q(`o>/uquǒ"P!2GL{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8R@ɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _HcBjdRgU9bR}q(`o>/uquǒ"P!2G&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _HcM&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}*jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RA*)jdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2G&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}! L{5IT^0ŊskzKEġ b_L~H@ 8RT&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} &=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}!jdRgU9bR}q(`o>/uquǒ"P!2Gɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _KAɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _Hc@Ǻڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/@prcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—Ҁ91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK h[S&j:aͯ0ږCxi4{< *8@pL{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8R\L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RC&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}*L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8R@jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2GƂɏu2f3[]m}A]h07V\K闺Ѹ( _J(91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKD[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@p4891L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpKUjdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RA*)jdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/1[S&j:aͯ0ږCxi4{< *8@p[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}!&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}*L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RA*)jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}*P91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RC L{5IT^0ŊskzKEġ b_L~H@ 8RTrcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@p &=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}*L{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RA*)jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2GǺڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/aAɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _HrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} 8 Ǻڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK  L{5IT^0ŊskzKEġ b_L~H@ 8RVh91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RCjdRgU9bR}q(`o>/uquǒ"P!2G&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}/&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}!ɏu2f3[]m}A]h07V\K闺Ѹ( _JǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/Aɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _H`ɏu2f3[]m}A]h07V\K闺Ѹ( _JǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/ Ǻڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/0` L{5IT^0ŊskzKEġ b_L~H@ 8RV&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}"ɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _H` PrcmLL6,VxÛ_PwjZ/% c4en.DJ&@—Ұ891L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKL{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RC &=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}+jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RA*)jdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2Gɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _H` `rcmLL6,VxÛ_PwjZ/% c4en.DJ&@—ҰǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/h91L&uQxÛ_+| aͯ;-< b/uquǒ"P!2Gr dǺڙ3T3QL):aͯ0ږC 1i}2[a7\y"% TpK jdRgU9bR}q(`o>/uquǒ"P!2GPrcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RCǺڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/vL{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RA*)jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G@091L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpKX(91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RCǺڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/bAɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@—&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}+P91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RCjdRgU9bR}q(`o>/uquǒ"P!2G[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}![S&j:aͯ0ږCxi4{< *8@pP91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RCBjdRgU9bR}q(`o>/uquǒ"P!2GAAɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _HPrcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@— h91L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpKh91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK4[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@p&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}"jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RA*)jdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2GǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/0L{5IT^0ŊskzKEġ b_L~H@ 8REɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _H[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@pAɏu2f3[]m}A]h07V\K闺Ѹ( _H(91L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKjdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2GP091L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpK&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} `rcmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@— &=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}"Ǻڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġ_>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/L{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RCAǺڙ3TEm|X.6Դ_\J+Oim]q䈔LQ/P [S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pɏu2f3[]m}A]h0c {< *8@pTS&=ɚɚgQH9Em|X.6Դ_\JoV\K闺Ѹ( _H`(prcmLL6,VxÛ_PwjZ/% c4en.DJ&@—(891L&uQxÛ_+| aͯ;-< b_L~H@ 8RA*)jdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;- b/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpKL{5IT^0ŊskzKEġ>`m]q䈔LQ/1L&LS:AΪ/skow9x=vP| b_L~H@ 8RC@(91L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpKAɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _H&=ɚΪ/skow9x=vPGV\0ben.DJ&@—AQL[S&j&j)E U9bR}q(a1Z}sM/^l?F$DBd )}!Aɏu2f3[]m}A]h07V\K闺Ѹ( _H&=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} Aɏu2f3[]m}A]h0c {< *8@p,p$ Dp91L&LS:AΪ/skow9x=vP| b_L~H@ 8RC&=ɚΪ/skow9x=vP1Z}sM/^l?F$DBd )}"Aɏu2f3[]m}A]h0 c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )} ɏu2f3[]m}A]h0 c {< *8@pTS&=ɚΪ/skow9x=vP?V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f2fRuQxÛ_+| aͯ;-c4en.DJ&@— [S&j:aͯ0ږCxi4{< *8@pL{5IT^0ŊskzKEġO>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1i}2[a7\y"% TpK L{5IT^0ŊskzKEġo>`m]q䈔LQ/1L&uQxÛ_+| aͯ;- b_L~H@ 8RA*)jdRgU9bR}q(`#+O1}2[a7\y"% TpK L{5I5΢s[]m}A]h0>/uquǒ"P!2G` 91L&uQxÛ_+| aͯ;-1i}2[a7\y"% TpKrcmLL6,VxÛ_PwjZ/% xi4{< *8@pTS&=ɚΪ/skow9x=vP/V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% xi/^l?F$DBd )} ɏu2f3[]m}A]h0c4en.DJ&@—AQL[S&j:aͯ0ږC1Z}p闺Ѹ( _H9E2cmLLuT^0ŊskzKEġi4{< *8@pAɏu2f3[]m}A]h07V\K闺Ѹ( _HjdRgU9bR}q(`+Oim]q䈔LQ/1L&uQxÛ_+| aͯ;-| b_L~H@ 8RA*)jdRgU9bR}q(`+O1}2[a7\y"% TpK L{5IT^0ŊskzKEġ>/uquǒ"P!2Gr dǺڙ3TEm|X.6Դ_\J1 _L~H@ 8RA*)jdRdE36,VxÛ_PwjZ/% 7+Oim]q䈔LQ/0 L{5IT^0ŊskzKEġ b_L~H@ 8RE &=ɚΪ/skow9x=vP'V\K闺Ѹ( _H9E2cmLL6,VxÛ_PwjZ/% i4{< *8@pTS&=ɚΪ/skow9x=vP7V\0ben.DJ&@—AQL[S&j:aͯ0ږC1Z}sM/^l?F$DBd )}+@[S&j:aͯ0ږC1Z}p闺Ѹ( _HA"#jdRdE2f.- .Ld 7Ui Z p tC(-06&V* ' H:L؛X8$ 4p CP&Z`lMUp09@ %۽:8: $D92bnEb0 pP@X,߶22`*`6ऊ@2LACS&ă@ k`ES$mf>H>X>';./usr/share/man/info/en_US/xlf/html/lr531.htmp/$ Notices XL Fortran for AIX V8.1.1

Language Reference


Notices

This information was developed for products and services offered in the U.S.A.

IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program or service.

IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.

For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:
IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan

The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law:

INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.

Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:
IBM Corporation
Lab Director
IBM Canada Limited
8200 Warden Avenue
Markham, Ontario, Canada
L6G 1C7

Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us.

All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only.

This information is for planning purposes only. The information herein is subject to change before the products described become available.

This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental.

COPYRIGHT LICENSE:

This information contains sample application programs in source language, which illustrates programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and distribute these sample programs in any form without payment to IBM for the purposes of developing, using, marketing, or distributing application programs conforming to IBM's application programming interfaces.

If you are viewing this information softcopy, the photographs and color illustrations may not appear.

This software and documentation are based in part on the Fourth Berkeley Software Distribution under license from the Regents of the University of California. We acknowledge the following institution for its role in this product's development: the Electrical Engineering and Computer Sciences Department at the Berkeley campus.

OpenMP is a trademark of the OpenMP Architecture Review Board. Portions of this book may have been derived from the OpenMP Fortran Language Application Program Interface, Version 2.0 (November 2000) specification. Copyright 1997-2000 OpenMP Architecture Review Board.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] nfor k)T$P mf>H>X>';P ./usr/share/man/info/en_US/xlf/html/lr532.htmp/$ Trademarks and Service Marks XL Fortran for AIX V8.1.1

Language Reference


Trademarks and Service Marks

The following terms, used in this publication, are trademarks or service marks of the International Business Machines Corporation in the United States or other countries or both:
AIX IBM PowerPC
POWER2 Architecture

Other company, product, and service names may be trademarks or service marks of others.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  lHhU$ȉmf>H>X>';DW./usr/share/man/info/en_US/xlf/html/lr533.htmp/$    Dcios /Tdfhlmpu,.ABNOPRSbgy"=EFGIvwx()-k+012:CHLMZjqz34579;UX!#68QVWY_*\|K]{}$'[&X0 ;3 ,0$Yix9eQPʀ4$RT` 0 QP`gD| 6;  QP`g,EH`HFHp D0Kٝͣy}8@@H//*  a+_H`$0` +K8$``H (0`3_HֵK6G>m4kQ000G0`8I4j;N9?8I4jG4-g k%AW*p4@@@8ڽM*`ц0 h?K?Q@8І`H:<$\ 0FѠ 0M#+K8 $ pQP+800[A 0cDp qIg $`*p4@@@=ܧ0hFBtGWp(G@H &l{P"3`_iJF6J9ֺ$^ev| H<7O$9`ȡ,^Р/۱@:M$~~݈,J@pJБKT  QP-Ps{  :h|gx0$HAbq\0`3ټ 6;  QP+,i:IP:J*%@t$que[* @Th BՏ  <$(  '  `H, @ PZ{ bJ0A|>mۧEOQuO7.p4O қlA3i9k ȓ}qH5|d]r!fo{E  f~^T,k5}9(, 0%EB 1P4a` @0-Bm4k W(  X  (,ZZ:e%{mg}o{{-+v9$x6oM)}gaͬxjsugfgOgZC$\ĕjʅH5|d]r!f\g ε/k|*DYP+, uAbT-PZT-j0q͠AQ>(asv#:_mc%^QuIcO{ly7"r(md]}ߴy|cghҨM#Wy@ >rY n:aͬySfDk;mcĕjʅH5|d]r!fo{\(aYP+, (:J* -f* %6NuovQ?Ig7M{H$RFJ:Ycl]O&H{X3(݄ ε̩f[|5'{8OMl^$-kTT,@ @0,ZZ)ƲokP6l_-OhIPZ֨Yj$5zT !  $PXT Z_jr$5{ݞy?8I4jIPZ֨Yj$5{s:YPXAk1P!:[j\huU,8I4j͛皚(FylZ}z'u祎eW:$-kTT,@N7OFuf,ZZ+㾓Joh`("$-kTT,@N7OFSYPXAk1Pmvt]Zw%Y:77OFcQmdtkZ']f*}oq7OFJu9@_* PɦZ(2;k覆$ֺ/5{]e =']^uTT*bZ2IT Z_?:[o}mecKJ N"5I>|Ql&y~JSmcĕjʅ̒|b jbkQJs{߳^>wOf4?̒}7ѽ祎%ItO 5>5wd$k;)y~]RFu* Z 1P-S$!HPXAk1PW{l͝ݤ{o̒b;M֜7'$5r8:I+VzK)kozd^j[=,>wk'k^RN{u}y̒bJֵ@BT TI?rT Z>5wk(㹳۴ĕjʅ̒}'6,ZZ+}w$ĕjʅ̒}k,ZZ+2."7~s$7ݾ{fRu蒠P9P(T-PZT-jcY7N(r6l qvp9،]|2͒%AkZrf*^jgi* -f* /{IZ5{߳^M5{ͣth*oq{JѫvS\6PN}|i#*ɳ{o߮%]2uGorUf* Z 1P-S"PXAk1PWKf;6v{4|FI5ޕ16?I\bujGiҦ4ujGv}?#hM )$$-kTT,@JzgZΔ䠅 NujbkQK{|8cIVyݤRwJrPBh'\A 7P&Smƌ Rd 4`ZrO:C%WY;F$]E&Yvy̒e!6I9%BJֵ@BT g P:ƌ P0-PXPц***bZ :߳zT-PZT-j~{_ѓk+m洓uyx T*bZ* -f*yj6۴ 3{oKK%vzRBHNכ6Zsk> oɦ=ݧvW9;늗ls)Fl,[X%AkZrf*`",ZZ*wrQu(9%AkZrf*`7;=KK%jbkPȥ%>7'`p0 "Z* `߳^zo~uA:᳍(SoܣF9]|`5Jֵ@BT Q{]ޕT Z{h[o~;㾓J{BJֵ@BT Q{_IEAbB֡\M*Ie>[d]d9SɾFoxqXT ` $0xсjƌ P( 0$x( d 4`Zwg0-A  ApYɾFMhP9PCF!8 `0xсj†1P9P9P%Y~PXAk1PW~lq]vW>HֵK69omIrG\+IgZ^$-kTT,@0fzK)k,ZZ+fwi#aͬ Ѽ_:#<$[(GyO['jZJu#7OKZ JrOĕjʅ9,']AbB֡]">;}^%Y:X:;W:_X/)*Ýѽ|k9$-kTT,@0fw֕T Z 7f?E.$wg9ȤoDIPZ֨Yjaͬm* -f* I:WqݎֆaͬxP9P%Yޙ6T Zv:ro;59,!%AkZrf*K64,ZZ+;?I_OuMƳfIg9Sݚ$#ȑm"la l}Iղoy|)ٹ7($-kTT,@1ȣWAbB֡] I*uq6o9 ;mcd|ۊou>ֺ}tIJQT*bZQu(9ҠjbkPvI*?O>FQՙFw"OdlKK%6ouv"8J/T*bZRj3ZEAbB֢O]6;rpf5}>o;龰IJQ溞$-kTT,@1Ȥ:߳zT-PZT-j}meҖq*P%Y~)7'ȣ>lҪ؃FJrOsq~qO;_RINoqO"4H}1ok]&>* Z 1P-Lr)!ADaPXAk1PW#Y{_]y6Ks({M5=,P}s 4`Z",ƌ P}ex `0Y6o0-D`0-^rT4H?͚T0xсjl@FNr '(?%AkZrf*E$(?4,ZZ+;?I_OIe>_ᲂtHP#X鎳~RYO>QM})T*bZ9،(,ZZ*"tIJQuE]NɾCf͜7龟h+OsElߔ]o=?Of4m{N}z'E cdQ7{XVεv%Oܛ(6lD],q,JN۽뾟\)ٹ7Plٳ۽|vL7TLOdGfPA}z'E cd܍6pcg;mţ9؋߳fwnA߳f cb-],q,_~z3wYrh%ucHѽٳg T*bZfѽ;nT Z/;;7&ywu3h߮j}]}?*oX@ l>0xсj8$d@Fgi>7(AME$wg"O]5%AkZrf*ޕT Zsgg#L? ]O>l cr_9yP* Pary؄oٽzTƜOhy@ֵq=? )k%X%Y͝ aͬf&!OyFAm1;6o"ۜ& T*bZ~lҠjbkPew߳^g5K7Oƌ Q8$ 3d 4`Z 4`Z6 `#,ƌ P@F@Б0Yj͛mE1ٔf}E(w#WJֵ@BT SzNunŪ Y@c[i#Wuۯenjʅ:~5zT-PZT-j߳^>w7ѿ] }v:}Ie s'Z8#W~{{Cgi>F:n(w#W;a^T0xсj X56ome),]O>rY;>lҎN٭uO0ϤҧU>T#Ȥ8Y(f%X$-kTT,@DS%mPXAk1PR8: ѽO\b"<umwlȓ}yI*ewSum=uOy/{IZ5{߳^* Z 1P-F EXjbkP;NUvw/>NEx/7[s뼝ZkJֵ@BT QnejbkP!!>DgnFPClyzJK){]bz݈Dc|Wo"O=']^|n`'XvK5%AkZrf*ƆѿIEAbB֡_I\8>ϐr):=K;M;´UݝyiƆѿIBJֵ@BT Q$* -f* >rYOIe>_ۮCkV NAHP6L5xrd(IPZ֨Yj5LֆPXAk1PWiWqݎE|Ki٭u͛g;k뾟E1Ȥ+jʅ9T Z|%]w#Whߔku>D 4`Z6 `Sv%AkZrf*cxldT-PZT-jg$PSshƌ Rd 4`ZvOm[(4{27v}wabyl㾟];Hvw#W~J0-K0xсj6JMov:h;Q>~5z=6Jz'hP9PԱ0X  ~PXAk1PWc7}&|C7OW륔ƽ㾟\:SC~TRYLkT*bZMIIW@0P0QPXAk1PUnǹQ)%SJrOz ~m}9jy^>J{}kr 6oLXY(PBcOTz$-kTT,@Qm=ԵjbkPef؏$Hv&5Ou99،w{D(f9l* Z 1P4a` @0-A%Ad 4`Z TTT,@R^AbB֡WF )$h߮}{Yܕd]b:XQwg+OAomIUWHR5zߜ'ݝ̧5HB羷Yd2I͛BqJֵ@BT U"F6P,ZZ- k;+<'fѼ?6OO>rYT*bZL,ZZ+>#v}>A6~zXY(#ePdGmaPs;.E0#~\ӶjZVJ{h8"SX"{߸5<7?giI@GcDwgFk&P9PAH],q,JŪ YBXY(>woA=:[toK5<<3Jc~=mIJQfKZ&#SB#2)cd6iV;7&e,s($-kTT,@P}1=(W~5zT-PZT-j߳^>wS}?f܍}m_"ODP|#%&OYֺ#<݈ 'W bzXP9PA~tT-PZT-jeӶ#Y~ ǥLi`P9PA 7{mA]eAbB֣nPh':_qo#L? {o6v{vқm6PN ~PscdӶ菤Үm1 ֺvTI>[fjʅI{XtŪ YAN=,s(QՕl{o{lNۢ>],rUOFdMCePM cF#ok:XQ(ṭS+OmaPs>SǴ6XQ|*]ۯ9&"榊$XQ}>w/}K+A* Z 1P-TSYPXAk1PW}IղJl׈Julޔ^Oђ|y(6qE ~rvkYVݝђ),ROgZT*bZ?jͣAe1kҠjbkP9<8=εO(']yR#Y14OH[Ck'$IPZ֨YjCeQPXAk1PWK5s֜*ndyz33d$k'ZxP9Pܛ* -f* hO0xBu%AkZrf*YPXAk1PWK5cQ Ū YC6[m_]缛;h}>}w?j>M5@ZIdG 8rd+@6o[V ~92GG4XP9P}ɴƣ(v:߳zT-PZT-j~莛Ӕ'߳%ÛLl|k#󽎽eAm1֒nIPZ֨Yj\oٽ* -f* m;͓>rY씤wK){:_"O;;7&٥%60xсj6 `#Y^_$k;>rYOmT*bZs,ZZ+-8J=ޙIJQ|ce7{YrK5{XC2)cd#SB"8J";kF4Uͣmֺ^[ۯ$-kTT,@PцrH@8}|߮( 7ڊH5åw륎eWkߠCeWyn|כ:Y\`4GjhOeWyv6ma(`4GvyFy5%AkZrf*hޱAbB֡Wf{lzTƜNOj-Bs `ԱYjG"OJzTƜMKÝ `ԱY_nq#Wtϧ)w#WdIPZ֨Yjmn* -f* 4HpRN{uݞChٕ;F$kAhk^_"LNxenK){F$ߠu{Ï(![P <پx'XvK5%AkZrf*z[ԓ ,h,,ZZ:e%ޛvIvw'';v$-kTT,@6OKrz{k,ZZ+q6qE mI=$giJӉ}>&gՉ⯹=I=57ײ~6Ua@5K*cZGVU#<ߠʫb}})ʽ>OT*bZ{D;oٽ* -f* 䵮A}%to5_OucQ:Nm蒠P9PåȠJŪ YBNw~5zv97ƌ P`G `0-];H}>c):m@F$b`G `0-];H蒠P9PåȸeAbB֡] 'V;gimåȠy| ` 0xсj ƌ Q,x``,ƌ W~5{OfSu%ƌ PHd 4`Z~5z$-kTT,@6ʶQPXAk1POݬk9{oς0-K0xсj9s6Ylm?詷ixS9،]b; h𐠀t0 @HVf6oM$-kTT,@!AdڲjbkPew|kÛ5{H]el]bJֵ@BT R ~ nS6* -f* eG6I=-I9،yYiPҢkk#͛e}>^[O6vz ~* Z 1P-H7k%jbkPhrItmrxcd#i~~QՕlȒP9PԃvPuf,ZZ|)ٹ6#BC끵O)?S{(NpA:8mgiPP9Pԃ5c7AbB֡]xlw}g Vub(Ab)QbJֵ@BT R$JVN Ū YBɢE}>w%Ju8Y(zK)k_* PLI=)ֺe 1b5cN٭u4xI:vX,! 5I6lYBF8 q&PI6lYB@h5 \ּN٭uʂ QPZ֨YjAH,ZZ+giPsOLOi)*P&$-kTT,@PцrH@8%NۯT*bZOh<,ZZaÝSy>lsKuDozX֛Ox 19@{]|huU?*Mx+(zb E=_koJcdCi|huU?*Mz@uqO9*"5~O;=;mI$ֺmy%kQ%AkZrf*3 Bp(P@FaPY,(h 1P-W(PXAk1PWBC끵}%wnsy}4@yA#F)K6nJrQ( ߳^>wܣOkrgZWzNfYu]N9>Jk'S ;rh/ '(}wIn6$-kTT,@]?JŪ YF;I;^{fݝSqF5om&O+k[fNAHPO뮃ioAHÛʛvYs>K$ ]]'>)'6>28\׺~wG$-kTT,@[BvҠjbkPj{1iO%XXIJQtG6vDF[dlb3ujZxE=溟)?,ֺ5A|?KK%%AkZrf*tl9QPXAk1PW9Wyv&P@{͓S(W~$T*bZ،T-PZT-jAӭ]'6h|kynesmLGvq0IPZ֨YjѬk;oٽ* -f* uf{oVR"#9{EZhT*b(h9@$  4`Z0xсj†1P9P9PlT-PZT-jYm=ߴqDcI/͔9$yY6Jx@cO&Hx)V T*bZ͔;oٽ* -f* ufɵws6P洓uJֵ@BT SvT Z/;7&yJӚֺҜֱ4';I]}[dwrUfIPZ֨Y p T0xсjT@F 0@@BT RRiPXAk1Ps;MoInm ovv9,.?(Ȃzr'Xg"5Jֵ@BT RNmaPXAk1PW lB;ϗ>0xсj40a#0-^wqStΊoҭ:ovshӴ)/{77OV9LGn]Omy>ROndcgh%AkZrf*,:o9QPXAk1PW9W{_fѿ]m;hndLOZ;U"tIJQlٳvٳg l6p$e1tͣyBIuG7(@,IPZ֨YjK(9F:jjbkQj) 74͛Ы%Lid]}yqF9}OmK6Fq~=$zTƜNIbJ0e%Xrd;QII]JY-?p)l|k}?##~92G@G#͛/'UB8P9PԖS,ZZ+(F{_}^ߛ+=KK%ӻwK6vߖjr$5{}yf(yIWMIIWie>{oaṭSv榊$$ѫ㾟E6\ mcF$-kTT,@%FpPXAk1P뽨?y{~{qF[f٩v:߸5#ZGVUwg[s))ʽ>OT*bZ2O(,ZZ+Ȥεތk\ ylKK%A<3z2L5眝Z ђ|ymcF#~\RXQЮ9jyB;ok.PcF#(cF#;vҎN٭u"8J='ͣuvWXQvۥ1ײ0-A# PYjJֵ@BT RXY(T-PZT-jіKK%LXY(* Z 1P-I'T-PZT-j~wqS;K5<٭d?+ۻmGL׉* Z 1P4a` @0-Cʂ6P?䲧k>7ݞ$(H' {7ݞ$(HHI9C0$O}I\T8xJֵ@BT VSCxldT-PZT-j0᳍(W~V k]bJֵ@BT VVޕ16,ZZ*$ѫI9o9giޛ OZ{X~5{В4cqw7jyb9Y]k*cNmQOv 0߳^* Z 1P4a` @0-D R. J;sPF_F_Md݆wLv}s * Z 1P-DAbB֢F,s)m* Z 1P-OJӚֺvҠjbkPۮ㾟]w#W|Kisֺr{MiM{WKK%(IPZ֨Yj~5{N٭uT Z{hG9 7'qD$5zOI977Oe6ok;X4үAe=uf>wo/ޙu=s>rdr{cd$-kTT,@?giI@,ZZ+hc~92G\֒n龍jSv<5{В4&龍6;{@GshɲUw 4`Z6 `#>Y|0xсj <d@FgiT*bZ%^^1uT Z>RuևU_wIW}IղwvI*wו|^_d{}wiJֵ@BT SfT-PZT-jBs;=AfͬhmT$-kTT,@?q6jy]E']^T Z>Swliw6h3I]̧5K9u{qM& * Z 1P-OL4* -f* ;5hliތkYV79sn)m%Vm^O>ֺ'od#^od#WOfFod(vW8浉92IHR5z$-kTT,@=2/m* -f* uI&vk]}yd9|k;dP4&H6TI>f7ޕ1ޙ6wv}|۷OLdʂֵ@BT Qh[gCZ9pQ>e==klZ}yݦjy]}>2t$-kTT,@PцrH@8F%thP9PէI5i+6HEAbB֡\6qE |kk^(Wt]믧Iy <$(   @p (,R΋lb3u* Z 1P-ZkŪ YB6P;Q}ţKm( NѼgM}*Ý?ewLOdDO ތkϹFqF ' FDy̒}kG~lNݝ~l1Ei†0xxldåPod9(ѢJֵ@BT g P:ƌ P T@F 0@@BT P'Xbd%XT-PZT-j|k;4|>_VKO;l@:IG6%AkZrf*p19L,ZZ*I?z\YSO;2"I*E٢yל'(I7h$-kT9E@h@+B$cNJc;UW/\   ?QPֹ7JJ+B8u 㤕Ab WG@$D `:(Wq u^ _<$(  ?Q@5c,$Y0Ambū@xH@8h8I*T)EAbƬr  lwV$[mf>H>X>';(F./usr/share/man/info/en_US/xlf/html/lr534.htmp/$  <>il "/4Aert#().1235=DEFHIRXachmnos06789_dfpugCLNOSTxy,MPUbkv-BGQqwKVWYz:Zj!;J$*\%'|+[]{}@` `08@ )(-)IZL9IDu,&-@XP+dj0 j:*a v<<<<<<<<<<<@ `T@@( Crbba$S LBk0 X j +gy@ q0qZl 9a!B `@1080nfP9aY{󍀰,@!B!B!B!@ ?nfv(E@^/+k`(@hB!@M~$T3]lUnv/QPWٻ!B!B!B H?^prα:6Յ^aB!B!Bk0 T aeؼO](@h¡B!B!B &dAt`XB|@7zp `hg^Lݯ 2\Ü ~Ȃ`"){T`hgj(A@ a0XDH& (&0AA╸A@'a0 .L " PA:v0AA ^,Zt 9_Xх*|oPeî^A(4/`~lp.^; =E@B~qp%O |!0` |! qGn  fBnׁٸۖiW@&_p[ 9X>6ՀI^˷nZQh r(.m0 bW[AZ;yyyyyyyyyyyM~Rȟ[Ew%M~&^lj[U+L~&eRȟU@B$ 5QHS7hp0$ D X@#El7$z^ O,H@6:,X#c0]m kx6U>* A3.0f|GQ2/TTYD,L̎\^ O,L͌EAb$kS 9 ڢψ bg8%]X 3j>#ʼnrKx6U>* A3 3j>#ʼnXY%]X EAb4tdmv|TA`f0f|GQ0Kx6U>* A33j>#ʼn%]X 0f|GQ:G@/T ڢψ bfc__کQ 0f|GQ04t__کQ 6:,XKx6U>* A3F0f|GQ4c^ O,LҌEAb('$kS pHTYD,I#>I}~/jD$mQguX'%]X EAbĜdu\^ O,I ڢψ bN6: /T8TYD,IӎKx6U>* A'3j>#ʼn8__کQ 8,`ͪ, $/T0f|GQphmv|TA`N3j>#ʼn8?aD4AH4Aœ%aqaQ]~lH&) f "a#"a S_^¢;MTR>?aD4D͎hNJ?P!]IEuw |~ ):,hCGH4AS_4[?A5QH8n ttM8rT俵ÛnaƚwuH&)D4لiNJ)E#0♻Cƚti'%M~K_$UnvrA5QH8n ":A 4R Ga3vQ4(x99*k_qu MTR>?bS7huZf"fNJ?H$D@e21W]riv,MTR>?c):,iGH4 S_:2 Tqu MTR>?bS7huZftd䩯k@x.بP5/6MTR>?` f ! rT俵!og^ O,X3j>#̸2KI7ǮǛPg󷎿?!W^&ߔj,n Èhp S_UÛy:4 oH&)bD9NJ?cu͊3_P`Uy~R Gqe3vQ8 8䩯kyۛw~q |~ň S7huZs":DA9*k_FUAګMTR>?b):-9:DXbrT俵!kWa l s`\ pmߔj3f LcLIS_ D * 7ǮǛPg󷎿?pPF{ժw |~♻C,)&XSS_.DUnA5QH8♻C0L'%M~K_?vtb vkޯA5QH aLݡAi2LɖNJ?`' |~Ņ8n 8$tpBrT俵!khNÛy ~R GX3vQ2HNJ?`H)7ǮǛPg󷎿?y ~R GX3vQ2GHNJ?ѕcmvUر f Nf95/~Ho_ ~ z|yU;xyۛw~q |~S7huZs2q'3&NJ?ѕcmvU f Nf"s0rT俵!kh Aѕclcu͊3_(Bn[MTR>?bqLݡAi,9d䩯k\H"{ժw |~ŜqLݡAiXh0䩯kC_Ư^Zwu7ǮǛPg󷎿?UE}~q8-H&)ƚS7huXK2:AƖa9*k_FU/~q |~D40cA䩯k]V8X78E `U.MTR>?b4n ,, S_%\P8]~b ~R Gq3vQ ,tB NJ? `xsw61c[boA5QHYLݡAi'3%Znmbƶߔj™Cә#Nf'%M~K_D20teX}[?tb v. D ׽Zw~R GXP3vQ`YHfNJ?pUTn[MTR>?bÆ):-3M::D4rT俵!kh @ cu͊3_P`Uy~R Gqe3vQ8 8䩯kyۛw~q |~4n hH S_2pb _jҙCәH,5/~Ho_(tb vw61c[boA5QH 2Cә92rT俵/kW |~LݡAiӣNfNJ$7/~mZ=ٵW{_jҙC$t5/~jk`/lT߿ @p˴Ua):,qaGH8S_R/kW |~S7huZaB0%enmbƶߔj♻CәNf'%M~K_@8.HH&)3vQ!q&!d䩯kh@n[MTR>?a f L CcL CIS_ E/k. 7{sn5/6U@Cq&$S@Xe |~ S7huZs4Dt䩯kWq7nƺUӊf 00S_ teX|])E#04f L)s0̜5/~m XH:2pb _j♻C a& S_\ 0],T_7ߔji3vQ4cif%_2cZ/oA5QH4ҙC\is'%M~K_ڿ޶m{ncߔjhBC ?c):,iGH4 S_ھT2uq_jiLݡAcB:ALNJ?ѕ~ 1TaƆ}AA5QHS7huXٖltfY䩠,2MTR>?cBD6el NJ?Ag |~Ƅ):,ll'%M~K_jA5QHS7huXٖ\tfYd䩯kC_%^vZ(UnA5QHe3vQ\GHs NJ?{Ypk=w]><ت?u(n~R G03vQ8 A9*k_a{_jL™CƜXXXRrT俵˃`1nA5QHaLݡAcN,?cCD6blNJ?cW |~S7huXӋ.:AY9*k_юswjL™CƜXhXbrT俵])H&)f p@ 8 BrT俵ՋUgD4iNJ?WW |~Ƈ):,ll'%M~K_=_jn :A5/~k* 8U3vQ8! 8!䩯k@p;QOA5QHS7huXوtf"d䩯kC_aƚ]OA5QH̦n ̜tC2rT俵Q7ǮǛPg󷎿?W^MTR>?c ):,ii'%MajhBCXHXBrT俵/oA5QH4ҙCY4S_%)@Co]O6*o~o7{sn5/6U f Ns::D3S_2pb _jALݡAiacNs NJ$7/~mJ~ 1TnmbƶߔjXBCә#Ng'%M~K_ʱ6U~R Gaa f Ng"s8rT俵!kh ". 8bH&)b ):-3ftt3S@Xe |~ň,n ͘X6aIS_ P ׽Zw~R GX@3vQ x99*k_wۨ`L`;uVߔjhrC,&YS_Un=w]><ت?u/ |~):,h`(rrT俵ͻ?)E#8)LݡAcB  СC%iw@ |~):,hPGH4(cS_slU3vQ i9*k_n[=w]><ت?u&jqLݡAcBtB9*k_n[=p&( ()E#, BC,t5/~Ho_俵 e( Esw61c[boA5QH):-00'%MajYe3vQ3"s:d䩯kWu6cu͊3_ڽƵVU0CƇ\tC,5/~k4Ӎ)E#, C 3L$'%M~K_*n~q |~DD41cФ䩯kj ~R GYf LM245/~m@@_jie3vQX@&X@䩯kYqۿ)E# n  Ƈ'%M~K_ޠ9޶~R GALݡAcCL䩯kF9޶~R GALݡAcCL䩯kFW |~DD44ˎhiNJ$7/~j޶@. il8֪ߔjS7huXGH48@䩠,2MTR>?` f # S_2pteX}[?tb v. 8ۯzVUعS7huZe "e NJ?p ׽Zw~R GYD3 NJ$7/~j[a8ۃ]tb v^]E]OA5QH):,hsCH49S_Bn[lSMTR>?bqLݡAiDtA9*k_H"{ժx.ا |~ŜqLݡAiaq&a%U!n[lSMTR>?b…):-33'%M~K_Pn[lSMTR>?bÜS7huZf\tad䩯k@UhۯzVUذf LBH'%M~K_?~ z|yU;xyۛw~q |~aLݡAi㣤NgNJ?ѕcmvU):-9:DpRrT俵!kh ߃lUA:n ,kl_mH&)̦n SIS_2pb _j\f Nag"s 2rT俵!kh ~ z|yU;xyۛw~q |~qLݡAi(hP䩯k]V8_1jA5QH,♻CӘP'0S_%.~ z|yU;xyۛw~q |~iLݡAi'3%teX|])E#0Jf NaBGH„'%M~K_?H  8bH&)S7huZa0%^#oW_~ z|yU;xh@~R G 9LݡAidta9*k_H @Zg |~ń,n :D5/~hŸeߔj S7huZa0%A@@)@H!H&)e):-0K0K'%M~K_ڊUPUسM):-2 "e5/~jZ [MTR>?bn dt rT俵j(~R G\Db2NJ?(~R GYJf LH'%M~K_ZȂUH&)g):-3 "f5/~h P EW |~Ŝ n 40 S_UذD2:D̙䩯k@uA @P~R GXYD"fL99*k_uA5QH qLݡAiqq&aœ%P~R GXbf LcLIS_t~R GXcf LGH '%M~K_ [MTR>?b):-3B3B'%M~K_)E#,93vQia#L%@H)E#,?bS7huZa0%\mi{p -XMTR>?cD6a lNJ$7`کQ3#mQguX %$`cu͊3_`@ͯ`i06UAe3vQ a9*k_ @0z^jH&)a ):-0"a ,5/~haƆw֫.A5QHrC Dt 5/~h V *oѠH8e~R G0Jf Xp,8BrT俵O6=w]><ت?u8۷]U f 0H6aK'%M~K_Q]~lR_j,n  '%M~K_{Ub f tˎi,5/~Ho_'k`/lT߿ @p˴UaD8GH8%z`l튀th2vjL0rCq,?cD4 Ӧq9*k_n ,kl_mH&)D4pp䩠,2MTR>?c S7huZs \t1d䩯kC_>`So]O6*o~k4Ӎ jALݡAiL$NJ?;MTR>?aD4@YH4@Y%[ n(mx r/{`,̓)E#aLݡAcD::ANJ?  Euw |~ ):,hGH4A S_2p~ z|yU;x\QT`׽Zw@@UعS7huZe"eNJ?p ׽Zw@@Uس):-3 t\S_%z@L*+̓)E#aLݡAcD2:ANJ$7/~h0?tb v c:57w |~ALݡAix0䩯kQ~R G™Cƅ82rTH&)S f  H5/~j pR0Q' |~L):,hQGH4( S@Xe |~L):,hQ@brT俵$U)3vQ $tBNJ)E#.fDg2NJ?ۯzVU)e3vQ 4tB NJ$7/~h0@R]7ǮǛPg󷎿?e@k}w |~):,h`ӎh`'%M~K_׽Zw .)E#,!3vQ&䩯kC_PD}v67TW_~R G ™Cƈ :A'%M~K_vg7{9A5QH):,hbH41aS_PZ [o]O6*o~o7{sn5/6UD"s i9*k_FUAګMTR>?c S7huZs 8i% ~K_oX6Umۮ~R Gq3vQ  i9*k_ aphUX׽Zw~R GXIDCGHC%O&ߔj0n  M'%M~K_vq}Tʼn6:,L͎KI7ǮǛPg󷎿? @ * UH&)bD6:DY䩯k@&"& 8bH&)Ln t 2rT俵jvޭU)E#,!3vQcL!%Po]O6*o~k65)E# iLݡAcC2:ANJ)E#, RCa&ÉS_uVߔj)LݡAi0,t0)9*k_俵`0$FUAګMTR>?c 0n ?c S7huZs tt1䩯k@ȬѕcmvUɄ):-3lt3IS_=w]><ت?uͻ@Xؿ8MTR>?c S7huZs :D)9*k_FUAګMTR>?c S7huZs :D19*k_俵2bo]O6*o~mEuw߃lUA:(KMTR>?aD48p 99*k_9 ,pkw~R G Cƈ0?c):,hR̎hR'%M~K_-4ʱ6UسBDfN:D2d䩯kZ$z)E#4!LݡAcf`䩯k\[/w,UJf  XbrT俵~q ]wm |~S7huXЦ ЦNJ?H&)D4GH4%vQ]x []?)E# n hpIS@Xe |~Śn 0,S_4 v~R GhBCH6f̜5/~Ho_^˱z;{s`𨮿6UA3vQq q䩯k@Zh FVǯe7n[MTR>?b):-00'%M~K_7x0M.ا |~ n ,$tXBrT俵25)7ǮǛPg󷎿?UE}~q8-H&)ƚS7huXK KNJ?M:0֫.]OA5QHrCa&ÉS_%c` k`/lT߿ @p˴UaD8cXp䩯k@pH* UH&)S7huZaK "aK NJ? ^jH&)aDCM0NJ?cbEѠH8e~R G0 f X@, BrT俵`cu͊3_P`Uy~R Gqe3vQ8(h19*k_n ,kl_mH&)):-9"s 5/~k* UH&)):-9"s 5/~Ho_0 @8 8bH&)b ):-3N "f5/~h,5 ~jpe߃~ z|yU;xXq.wn]OA5QH):,hshs'%M~K_ & )H&)aBDCHCA5QHn 44thbrT俵!k@88)0C;h UW |~ň,n 84IS_@@ڶ_jaLݡAcM,?cD4iNJ$7/~k4Ӎtb v1ߜmH&)aDI0 NJ? jiLݡAcM04tM019*h Uذ f L!#L! S_%aƚq>S=w]><ت?u/u H z]A5QHC3#L<'%M~K_? `H"{ժw |~ńS7huZa "a NJ?hk|[ո ] oo]O6*o~hyx/`qUU0rCƆdtC05/~hyx0M8q) |~ńS7huZa&:DL!9*k_Ѯ`iC~)E# 2CƆ ltC45/~Ho_hb' Y]]KSA5QH0)LݡAc":AƄNJ?[@WZ_Uذf Lٛ"frTH&) S7huZa"aNJh*%6bbܐ 俵8 8ۯ=w]><ت?uG |~ň,n \trT俵/A5QH):,hpGH48C S_@۸( |~ň8n ,t RrT俵0uuH&)D4#ha䩯k@ cj C4&iS_@=_~ z|yU;xWlT.`);uVߔj)LݡAi0?c):,i N,5/~hw |~S7huXЧhSA5QHS7huXMh`%#~ 1TPz-qx;X.ا |~Ƅ):,l ل84R GhBC3 '%M~K_ۼY*(m Vl. W`bj ♻CӘIHL5/~Ho_=y)E#8♻Cƅ :AB'%M~K_C@K)E#aLݡAcD:A NJ)E#aLݡAcD D%!TSMTR>?c ):,ii'%Maj C4(H4(BrT俵6]aq~R GhBC IS_@ێH&)Jf 0ᣤ0S@Xe |~e3vQY#L%!~R GhBCã3'%M~K_@)E#n \tC̲rTH&)gS7huZf:D,)9*k_C nA5QHS7huXh%"_MTR>?cBD6aGH6aA5QHqLݡAi!'0%"`mjS7huX兎hr“tb vۯzVUذDC'"a 9*k_A@{ժx.ا |~Śn 8,$S_ ;uVbjhbC,&YS_ $F{ժx.ا |~ņ S7huZf"fNJ$7/~hH&)Jf 0c0IS@Xe |~e3vQYL%!U ):-0ņ0ņ'%M~K_@T[MTR>?b2C,&YS_@ 냞犺KMTR>?c):,ii'%M~K_@3ņ cu͊3_k `]OA5QHS7huX hqA5QHS7huX NJ)E#YLݡAcDltDi9*k_j \UXTW_~R G Cƈ6q lS_TW_~R G Cƈ0,tD5/~h$Dn[lSMTR>?b8n 00 S_ګlTqPd*+̓v?)E#YLݡAcDttDq9*h UAe3vQXX,)9*k_俵<ت?u4e_jn ,DtfXrT俵ߔjS7huXΎhp% ~K_8phUX׽Zw~R GYa f L$GHI'%M~K_Í qx rA5QH,n xaS_Cޢ0`׽Zw~R GY f L"e̲rT俵8 ޭ~q82^YH&)ƔD4)gGH4)g%au߃lUA:`8/A5QHYLݡAip4䩯k@w-`zÛy uH&)):-3N:D 2rT俵!kXq]~q 86UÊf h` 40brT俵8ط,O ˃]~R G03vQ8 8䩠,2MTR>?bS7huZf "f NJ?  ~ z|yU;xy/<* j8ۯA5QH,n   ӂ'%M~K_ۼm)E#0f NaGHÄ'%M~K_ʱ6U~R GaD×"sY9*k_俵8FX{UJf б hRrT俵8۷]cu͊3_ڽ[=w]><ت?u8Ϩ1H&) f 2 ٗ2rTH&) f 2GH6e'%M~K_ޠMTR>?cBD6aGH6a%W |~Ƅ):,l2:A,rT俵!k@m{_jaLݡAcf$tf!9*k_$zڨ |~S7huXСLhP%ajn 0IS_[_mH&) f 0#0 S_2uq_jn L3IS_Pb4)E#4™C㣤3'%M~K_ڛ] |~ƘS7huXم6:A i9*k_p_ߔjn 0 S_ |~ƘS7huXٜ:A819*k_ۃFVV,V8_Vv?)E#09LݡAcMttMq9*k_ۃFWA5QH0n 8IS_%aݽw߃lUA:5H)E# iLݡAcCtC9*k_nsߔj n  B'%M~K_ڀ%H&)YD40C!䩯kPSPMTR>?`D41a䩯kR@8H&)f 8H5/~j?)E# aLݡAcB С%TU |~):,hP#0BrT俵!kXqoa^n~A5QH):,hcH41IS_nX* |~CD41hcfNJ?vUH&)P3vQ i i䩯kXqoa]:cu͊3_-A{YpkA5QHn :A5/~h-hgՋUЅ3vQgGH6eNJ)E#4!LݡAcfXx̰䩯kEh;{ bmW_jYLݡAcfq % ~K_tP ^jH&)eS7huZa.:DY9*k_n6cu͊3_+v/[?)E#0♻CƚpxprrTH&)D4ӎiNJ?UÊf iiS_%AB0vޭU)E#, f L!GHC'%M~K_Í{o]O6*o~k65)E#,ALݡAcM,$tM,!9*k_Uup)E# n C С'%M~K_Q]x []:U8CƇ 8 2rTH&)f):-2"e 5/~h,~R G ҙCƈ:A'%M~K_׽Zwu7ǮǛPg󷎿?{uj OA5QHe3vQ\HsNJ?w]v*X%H&)f):-2"e 5/~h0ADj3 f L2,5/~k40m*X%H&)f):-2dt3 S_ Z! |~ŖaLݡAi8q䩯kP)E#,3vQ,L Y%@M@:/A5QH,ALݡAi :DNJ?BA5QH0♻C$t5/~o/Q' |~ҙC,HgL5/~h@ MTR>?bS7huZf\tid䩯kA@HUذJf LGH'%M~K_5lW_m ~R G\Ds::D˙䩯kC_˶ ~R G`RCƚ4tM5/~Ho_nsOA5QH S7huXСGH4(`䩯k@A\k~R GlDy"aq9*k_0$cu͊3_ۼm)E#0 f Na"s2rT俵/kW |~aLݡAi9'0% ~K_~ 1Tnmbƶߔja3vQ1GHNJ?ѕcmvU ):-96:D rT俵!k@Ro=w]><ت?uͻ@Xؿ8MTR>?c LݡAi@X䩯k]V8_1jA5QH2e3vQ1Nb% ~K_\Ûy ~R GaDGH%@Z20nmbƶߔj`RC8!q&pBS_0hUph[_mH&)):-3"g05/~hʱ6U~R GX3vQ2H NJ? TV8_1jA5QH0™CӘNb '%M~K_ѕcmvUɄ):-3:DΘRrT俵`h:2pb _je3vQ&䩯k@"/kW |~ƘiLݡAi0 a䩯k@ѕcmvUBDi"aq9*k_2Phg}m]j~Uه):-0ˎ0'%M~K_&@/k. 7{sn5/6UD 3NJ? PFUAګMTR>?cL4n dt0rT俵`PTFUAګMTR>?cMS7huZadt䩯kX5Q0vv@m:4 gOA5QH!LݡAc:AŇNJ? 0X`0 0  n ,kl_m |~n :D5/~ht`׽Zw~R GYfDC"a9*k_㷳/jD,L3j>#q2KI7ǮǛPg󷎿?)O-V9qaQ]~lH&)f  !q rT俵@U@n)E#0♻Cƛ9H4̜5/~j:2pb _j 1LݡAi̲NeNJ?  :2pb _j ALݡAiNfNJ?  ʱ6U~R G`@3vQ3H NJ? AѕcmvU f Ns "sbrT俵P!:2pb _jXBCәGH05/~ho]O6*o~mEu*nw,MTR>?` f 1 rTH&)f 8X4R GYJf LGHe'%M~K_Zw_j n  D'%M~K_׽ZwPB_j\f L!GHC'%M~K_phʿtb v |~ƖS7huXٚ:A499*k_俵=w]><ت?u8[;7 UJf  XBrT俵~R G`rCƚDtM 5/~o7{snA5QHS7huXل6:Ai9*k_і* 8V6MTR>?cM):,l ن85/~Ho_俵uV $m=q߃lUA:0$ec_j13vQacL<“%ΰ5yߔj13vQfHyNJ$7/~h/et]lcu͊3_ڻf6_j S7huX戎hsD%2 6U8RCƇ44tC5/~k^j7ǮǛPg󷎿?U@@-H&)aK):-3 "f 5/~j |~Ņ S7huZf80铒%UTUذf LH'%M~K_$7/~jFUAګMTR>?c 0n phS_@]AѕcmvUS7huZs tt)䩯kP.* UH&)S7huZs ":DA9*k_( !:2pb _jY3vQ0H–NJ? @BAjÛy:4 oH&)):-33'%M~K_){_1X.ب \F#,=iH&)ÖS7huXqb%@~ 1T`0en)E#8CƜrT俵ͻ@Xؿ8MTR>?c S7huZg\tYd䩯k]V8_1jA5QH4!LݡAiY&qf% ~K_ڀʱ6U~R Ga f L"g2rT俵`o]O6*o~o7A-W]uH&)ŔD4pP䩯kyۛw~q |~YLݡAiY&qg%teX|])E#0f LHŅ'%M~K_?0$(* UH&)S7huZsdt9䩯kPAPteX|])E#0 f NaHÅ'%M~K_ڀ B/kW |~iLݡAiDNb&NJ?0$V8_1jA5QH2e3vQ1Nb%Ah:2pb _ji3vQqGHNJ?h@n[MTR>?b8n ":D 5/~h#A]~R Ga3vQ6fH4ٚNJ)E#0♻CƚrT俵ǯe~ 1T^\U3vQ8! 8!䩯k]a<>]}H&)P3vQ `0A9*k_俵-qx\3~R Gi3vQ` `䩯kET]mj{YpkA5QHaLݡAcN.q 8%Q|EAw]vګw~R G™CƆ :A'%M~K_*+e6MTR>?cS7huXЧN:AN9*k_UT[/w,MTR>?`D40S)䩯kET_7^]~R Glf 00S_@/g߃lUA:@@U;uVߔj3f LGHa'%M~K_@tAvޭU)E#,f LGH'%M~K_?UJ/kW |~n 48IS_ʱ6U~R Ga f LCGHƆ'%M~K_*.%+n[MTR>?b S7huZa0B%[pQP4e]~ 1T^\oa\mhcջUgD4MiƚNJ?U]b2oA5QH,n 44tfhbrT俵zٮo٬. X8-H&)D6s::A䩯k]a^vڰaƆ8[A5QH,n haS_{ bmX0Cn |~ƖS7huXq NJ?kjvܳMTR>?cK):,l.:A8rT俵!kEUm{g_~ z|yU;xEh/k. ~UUs):,i ӌ,5/~h-hcջUf 9l 5/~Ho_X* UH&)S7huZgL:e%A 8&:2pb _jhBC8#L'%M~K_+ۛ~R G`rCƚ  rT俵MTR>?c ):,i K85/~j e`sw61c[boA5QH4™C8&qaS_ cu͊3_P`Uy~R Gqe3vQ8)q 8)d䩯kyۛw~q |~iLݡAiX8䩯k]V8_1jA5QH4ҙC8L '%M~K_?jh:2pb _jҙCәGH05/~j ȂJA^#oW |~Ŗn 2:D05/~hj7%A-W]~R GhrCAq S_ۼnp]/k. ~R GhrC@X@RrT俵(ѕcmvU):-9:DhRrT俵( `\V8_V,QT`׽Zw~R G\):-22'%M~K_ڇZ_ vQW_j13vQs09*k_]j~MTR>?c):,i  f5/~hXuu7ǮǛPg󷎿?R*ߔj C6aLن'%M~K_@X$P Uه):-0H`S_Z*Uه):-0GH` S_M EPKMTR>?cLݡAc lt i9*k_0 @8H&)b ):-3N.:D8rT俵`H@MTR>?bS7huZfdtq䩯k@ʨ P @;MTR>?cfn 2:D05/~hu6Uذf Lٗ"f̲rTH&) S7huZa0%@K#nl |~9LݡAi:D NJ?LHA5QHrC  rT俵 UرDN:D:d䩯kQ!2PUه):-0"a̜5/~j %H&)S7huZa"aNJ?B MTR>?cfn Ä "a'%M~K_ڈ!UAQAH&)S7huZaN:DÄ9*k_A@)E#6af L8@& rrT俵Eh |~9LݡAi.q&%Dz+@8<HjA |~9LݡAi,?cfn Ødt0rT俵)0-@H Uه):-00'%M~K_ڐ&Uه):-00'%M~K_ڠ EH&)b ):-3N "f5/~j UرDM3BNJ?@PA5QH2e3vQ0101䩯k@dbA@ ?)E#8ɔD8``䩯kMTR>?bS7huZf "f NJ?(A5QHrC ?cfn Ä "a'%M~K_Z%H&)S7huZa "aNJ?$ ~R GlÔDrHr“%t@PJ NUه):-00'%M~K_  P~R GXf LH'%M~K_Hɉ $ A5QH2e3vQ0<`y%E$A`dĤ THDjdf `p08RrT俵:, **U&S7huX NJ?ebUرD3CNJ?M:/A5QHrCa&IS_OA5QHrChHhBrT俵%A@ ~R GlÔDsg"a͙9*k_P"8)0H-H&)b ):-3C3C'%M~K_  H UرDGH%F0 $~R GXf LH'%M~K_ (( 8,UرD͎3CNJ?8$ @;MTR>?cfn Ú:DÚ5/~h-5Q:%h)E#6af L9L9S_A p;MTR>?bS7huZf::Dq9*k_ $@BRH)E#,Ae3vQhp&hp䩯k@)E#6af L?`Jf ӣӉS_@ 5/6 |~S7huXЦhSA5QH4n f:Af4R Gq3vQ 9H4,NJ?W|8]~b ~R Gq3vQ q9*k_5 ʱ6U~R G`P3vQ!q&!d䩯kP@4V8_1jA5QH 2C Y&S_bAѕcmvUDS 0NJ?FUAګMTR>?c):-0"aM05/~j2ʱ6U~R G`yDY:Dd䩯kP(AѕcmvUf L)GHS'%M~K_ڀ!@@./kW |~ S7huZs'9NJ?Ko]O6*o~o |~fS7huXH40@䩠,2MTR>?bS7huZa"aNJ)E#,3vQ(X)9*k_n[MTR>?`):,h` rrTH&)e):-0M0M'%M~K_?L.X r`Í ﭠ+V/]_~ z|yU;xEs uq |~9LݡAi:D NJ?M:0c_j03vQ8 A9*k_俵` EU(43Xu~R GlÔDaGHa%@M@:/=w]><ت?u8۷.U)3vQ XX,)9*k_qA5QH,ALݡAi ":DNJ?ۯzVUزD@L P䩯kC_s{@d¢;MTR>?aD4D̎hNJ?H!:2pX8. EpvޭU)E#,93vQi#L%@  @ཬ6ͻ@Xؿ8MTR>?c LݡAidL&NJ?H@ p:+Bѕ{ۯzVUسD@#L `䩯kE84 e;7&ߔj,n   '%M~K_ڀ$t`@RD. X 8UnA5QH0CrT俵`u7#aQ]~lH&) f "a"aS_ A7ǮǛPg󷎿?̓ Uf pS#pS S_w61c[boA5QH4♻C8ãL'%M~K_ʱ6U~R GaD3 NJ$7/~j @<V8_1jA5QH,!LݡAittq9*k_J`DV8_1jA5QH0C Y& S_ PFUAګMTR>?cL4n :D5/~jAѕcmvU&S7huZa"aNJ?Rʱ6U~R GiDcL0ƘNJ?PTFUAګMTR>?cMS7huZa:DL!9*k_tAѕcmvUN):-0"a05/~j* UH&)):-00'%M~K_ڀ.ʱ6U~R Gif L0P&(BrT俵TLb]P~6FY{.MTR>?i0n ň2:Aň05/~h4 [o]O6*o~j޶@.MTR>?` f cIS_o7)E#8Jf ib#ib S_[_mH&)`3vQ ?b S7huZe:D,99*k_jv?)E#0ҙCƚa 4IS_5ۘ~R G !LݡAcC.:AÖNJ$7/~mEuw߃lUA:HI~R G ™CƈrT俵 96KMTR>?aD4A 䩯k@Nb_j0n &\tDLrT俵`u7KMTR>?aD4DH4D“%wu_j0n ::A 85/~m C eؽlKMTR>?aD48p 19*k_ m{I~R G CƇ:A'%M~K_A _j0n  '%M~K_@ ]*[8KMTR>?aD4@R )d䩯kXe{.h0UAe3vQ`h019*k_^˱z;{s`A5QHS7huX NJ??)E#n :A̜5/~j S@Zsd)E#YLݡAcD  %ΰ5yߔjS7huXGH48a䩯kQf qr_j,n hqS_~R G Cƈ 8 2rT俵j,n hIS_-U'˃o 8[/A5QHS7huXH4@@䩯k@4uKMTR>?aD4AfGH4Af%MH&) f  (h 5/~j#Ab_j,n  '%M~K_?0UAe3vQ`H0!9*k_Lq)E#YLݡAcDltDi9*k_:X ]b_j0n  '%M~K_EAb*-V9q_j,n N:AL5/~h((v@x0wKMTR>?aD4@iH4@i%X`b~q |~ ):,h# 0rT俵 /)E#YLݡAcD:A NJ$7/~mE:̓Asw7{9]P@ް6,6u7ǮǛPg󷎿?cbE)E#`3vQ,!,!䩯kEs uq |~ n p@ S_&\cMTR>?iS7huX NJ?,cYH&)):,qaH8S_Eu 냺UaD8ˎqeNJ?g(KN MTR>?iS7huX˜t.d䩯k]ċ~R G0 f YaYaS_[1,$_MTR>?iS7huX  NJ?Mء-8*A5QH!LݡAc0a䩯kC_* `\qu MTR>?bS7huZfttq䩯kQ"U93vQ`H0!9*k_Zw_ۼY*(mMTR>?bS7huZf::Dq9*k_Zw_21QCmW_j0n  '%M~K_ڈo]O6*o~h0?)E# aLݡAcB6:ADNJ)E# aLݡAcB Т%vޭU)E# aLݡAcC.:ANJ)E#, f L iH@'%M~K_?8)(o]O6*o~h0?)E# aLݡAcB.:ADNJ)E# aLݡAcB  Т%vޭU)E# aLݡAcB ТA5QH0ҙCrT俵!kQTU;uVߔjn C С'%Majdf L `&0RrT俵!Q]~lH&)f  ! rT俵m:7׿8MTR>?bD4͎iNJ?B*-@5aƆw֫.A5QHrC  rT俵0C;h UW |~9LݡAi:DNJ?B@n[MTR>?`):,h`# rTH&)f):-0ˎ0'%M~K_ڈ!$ Vp<UnA5QH0)LݡAidta9*k_AAD׽Zw~R G™CƅttB84R GYJf L scL sIS_B hۯzVU1e3vQ $tCNJ)E#,3vQ8h19*k_A@(aƆw֫.A5QHrC Dt 5/~m[ 8خ8ۯA5QH):,hy 85/~m[-V-P.ߛ p6UA3vQ3"g%b#%ÖlW_m |~D4< 9*k_A@aƆw֫.A5QHrCrT俵Eh43Xu~R GlÔDpL8@䩯kQ!D0aƆw֫.A5QHrCY&IS_B=@ Tqu MTR>?cfn Ö:DÖ5/~j Z@ F 8bH&)S7huZa.:DØY9*k_A@$ 43Xu~R GlÔDsK0NJ?B"D ^jH&)f):-0"a̜5/~j ʱ~ 1Tp\FAۯzVUذJf LHK'%M~K_-ۯzVUذD3KNJ$7/~j ׽Zw~R GYD@#L a䩯kQ!XۯzVUسD@L p䩯kQ!MQ^jH&)f 1 rTH&)f):-0Ύ0'%M~K_V -V_jLݡAcC:A NJ?B (F{ժw |~Ř n "a'%M~K_VX8-H&)P3vQ `h019*k_ڷ{_~ z|yU;xWu6UسCDf:D6d䩯k[])E#,Ѕ3vQ@ A9*k_n[D T~R GY f L &@brT俵!kQFUհ ThUnA5QH n :D 5/~j Rj$ sw61c[boA5QH4)LݡAi`x8䩯kQJ sw61c[boA5QH41LݡAi`8䩯kjն*cu͊3_ڻ/~q |~ŚYLݡAi4t19*k_p_ߔjiLݡAcB4tB19*k_Uۘ8n`H A]OA5QH n L<ت?uͻ@Xؿ8MTR>?c S7huZg\tid䩯k]V8_1jA5QH49LݡAii&q% ~K_ڊ~ z|yU;xyۛw~q |~ n 48ӉS_2pb _jhC8б&qIS_%EUDа%~ 1T(;uVbj™CXhXbrT俵8[;7 Y.ا |~D49GH49%EBJу^j )H&)f):-00'%M~K_ړnCljmg,lSMTR>?`f )q rT俵9kv z탍\坂~R G1LݡAcC  C% ׽Zw~R GYD"fi9*k_QvޭUv?)E#,(RC00H00BrT俵^j )H&)aD"f9*k_jՅmg,lSMTR>?`f b#b S_*у^j )H&)aD3MNJ$7/~j*FUճo]O6*o~kh0P@20vޭU)E#,!3vQL!g%p\pH);uVߔj9LݡAi4,t4)9*k_B (F{ժw |~Ř n 6:D45/~k  *UnA5QH3vQXScL%p\ : ;uVߔjq3vQ`@&`@䩯k\QvޭU)E#,(RC0(H0(BrT俵 * ׽Zw~R GX`3vQ`s#L%p\׽Zw~R GXsf LGH'%M~K_*у^jH&)aD"fY9*k_俵q]~q_j S7huX  NJ?u7ǮǛPg󷎿?j S7huX  NJ?gyߔj S7huX NJ?'-{.8U8bCƇ84tC4R G1LݡAcC:ANJ?'-{.]qH&)p3vQ i9*h U8bCƇ 8 2rT俵uOH&)p3vQqq qd䩯k][UH&)p3vQ0 0䩯kC_ Euw |~ ):,h brT俵uV lU |~Ƅ):,l̜tfdS_D +`$e?)E#sJf XH8'%M~K_Pc5\FX{UJf fH4,'%M~K_PeXuY{.MTR>?` f b#b S_Vߛ/et]mn[A5QH):,hsBH49IS_Vߜnl 8Uno߃lUA:HʶA5QH8!LݡAi8qd䩯kC_VߜlHw |~):,h`H40bS_Vߜn lUH&)Jf hshsS_\V8_V,QT`׽Zw~R G\):-22'%M~K_Pg\Lb]P~6FY{.MTR>?iLݡAc:Aň NJ?ۯzVUسL):-22'%M~K_ڊ;o]O6*o~o7{sn5/6UɄ):-3"g 5/~k* UH&)S7huZgL$t0䩯kC_3o]O6*o~o7zZUH&)`3vQ ph819*k_ۃFs`A5QH4n dtfrT俵!kj \:+e)E#BCƜ,tN5/~j+B \9ۛw~q |~LC:aL'%M~K_P`w7eߘ+e埔jiLݡAcB6:ABNJ?cu͊3_ڽ[A5QH4n   ӄ'%M~K_+v/[?)E#8ҙCƅ,,rT俵8۷])E#8!LݡAcNtNJ?W5V?)E#49LݡAcf A䩯kAl)E#8ҙCƜ  rT俵Pn[MTR>?b S7huZe:D0)9*k_o:~R Gqe3vQ:b#t%H&)ƔD4)c䩯kF[^ |~S7huXЧ ЧNJ?6)E#8ҙCƅ,DtB 5/~m^jaLݡAcN\tNY9*k_FU/~q |~S7huXӃi%th~R G9D4 iNJ$7/~mAb)7ǮǛPg󷎿?y82^n)E#:e3vQ q q䩯kFZsp  `A5QHS7huXH48䩯kC_zٵ7ǮǛPg󷎿?_}]~R G♻CƇ0DtC 5/~h~q |~Śn 0<ت?u@U  7VL*+̓)E#YLݡAcD %%ߚm)E#413vQ !& !䩯kEvmU?)E#413vQ@ A9*k_bF]UqBW$U]Xؿ8MTR>?cC):-1'"bL5/~h#.ͪ+[anc[boA5QH n  "b'%M~K_,H˳j(JWxc[boA5QH n "b'%M~K_,H˳j(J5] ~R Gha3vQ & 䩯kEvmU ^zv,kl_mH&)D̎1NJ?Xf\P{ a ~R Ghrf LAs1̜5/~h#.ͪ+[Ã+c[boA5QHaLݡAi,,t,)9*k_bF]UqBW$v.(U,kl_mH&)):-11'%M~K_,H˳j(Jvxc[boA5QH2C`H`BrT俵Č6ℯ{O7׀~q |~Ƈ8n dt0rT俵Č6ℯ{Kvvް5/6UJf LA1L5/~h#.ͪ+n5{ wA5QHn :D5/~h#.ͪ+oͳ[ua~q |~ƇS7huZb "b NJ?Xf\P{ vuj(b] ~R Ghq3vQ Б& Є䩯kEvmU ^kwXf96ƶߔj !LݡAi4i䩯kEvmU ^kwXpe`,kl_mH&) ):-1:D2rT俵Č6ℯ{K])qBc[boA5QHaLݡAi4,t4)9*k_bF]UqBW%ۮ=`,kl_mH&) ):-11'%M~K_,H˳j(Jƶߔj"e3vQ"a#LD%$eٵW%bc[boA5QHqLݡAi&"f%$eٵW%$c ,kl_mH&)D:DNd䩯kEvmU ccF 5`,kl_mH&)D1 NJ?Xf\PlP&.)ݼm)E#4@rC0&"aS_2ګÍ*`,kl_mH&)DGH%$eٵW%'Xؿ8MTR>?iS7huZb2:Da9*k_bF]UqBXqB]v ~R G0D"b9*k_bF]UqBXqBoc[boA5QH™CpXpRrT俵Č6ℰbߚ^ƶߔjL!3vQ & 䩯kEvmU a +,kl_mH&)Ln  "b'%M~K_,H˳j(K6){EUlm)E#Cf L@S#L@S S_2ګÍ^zcj~q |~n t 2rT俵Č6ℰb'Xؿ8MTR>?i S7huZb1B%$eٵW%a.e{TTm)E#@3vQ (x99*k_bF]UqBXqKx ~R G0 f L@`& 0BrT俵Č6ℱjzXؿ8MTR>?in 2:D05/~h#.ͪ"ufƶߔjLf L@iH'%M~K_,H˳j(M@@ƶߔjL f L@`& 0RrT俵Č6׀~q |~,ҙC?in p@S_2ګ$k~Tm)E# f XBrT俵Č6ℴ6/{H{8 ~q |~4!LݡAcdta9*k_bF]UqBZz$nq`5/6UfS7huX:A 9*k_bF]UqBZz$g.|m)E#D8!ac䩯kEvmU hm ^zcj~q |~4ҙC,?i n  '%M~K_,H˳j(KCoPbH&)n 2:A 05/~h#.ͪ.6`,kl_mH&)YLݡAc86d䩯kEvmU q*&A5QH3 f бhRrT俵Č6BEUlm)E#):,pCCH8!S_2ګ`0 5/6UsLݡAcL$tL!9*k_bF]UqBl}60@Xؿ8MTR>?i♻C 3 S_2ګ`0 m)E#”D8$ 9*k_bF]UqBl}76½ ~R G9):,pIpI'%M~K_,H˳j(MO&{P5/6UsS7huX NJ?Xf\Pq(H ~R G9):,pCGH8! S_2ګ`0 6,kl_mH&)S7huX NJ?Xf\Pq){EUlm)E#ŔD8!ӎpCNJ?Xf\Pq){Aq*ƶߔjL f pRrT俵Č6K,kl_mH&)4n  '%M~K_,H˳j(MOa.e{TTm)E#):,p@#(BrT俵Č6Kx ~R G3):,p@GH8 S S_2ګ|\m)E#Jf ,,S_2ګn_vް5/6Ug):,p@c(RrT俵Č6℻[lW X ~R G3D8 P99*k_bF]UqB]qmlm)E# f 0H 5/~h#.ͪ.E ^˵c[boA5QH!LݡAc2:ANJ?Xf\PkwFU@Xؿ8MTR>?i,n N:AL5/~h#.ͪ7~q |~ aLݡAc  %$eٵW&v. ~R G0D8 `99*k_b]a1{.m)E#YD8 p!9*k_b]a ~R G0D8 s#9䩯kE5WFU ~R G0Jf <?c8n  '%M~K_ڐp8ͻ@Xؿ8MTR>?c8n   '%M~K_ڐ;&nmbƶߔja3vQ0Aq0Ad䩯kE^k`/lT߿ @p˴Ua):,qbH8S_13m*W |~ƘaLݡAi,,t,)9*k_}_ `A5QH):,hp#8BrT俵;~ 1T(;uVX..* o6UذDBHB“%j-V * mKx^˶H&)p3vQ0 0䩯kQ t`׽Zw`Ш2 8MTR>?bS7huZaN:D9*k_QUAۯzVqwPeX~q |~ņS7huZf6:Di9*k_俵;׽Zw~ 1T(;uVߔj™CY& S_A%ۯzVUسDA#L 䩯kUDT!n[MTR>?b):-33'%M~K_?%ѕclcu͊3_(Bn[MTR>?bqLݡAiq&XY%p\ : ;uVߔjq3vQ`@&`@䩯kC_﫠,* lU93vQhH4!9*k_|㵸т`l튀th2vjL8RC$t5/~hTTpmfjqLݡAcMx0䩯kRh * UH&)):-0 0 '%M~K_ڐ Vͻ@Xؿ8MTR>?c&aLݡAi0&tÓ%]dLb]P~6FY{.MTR>?i S7huX NJ? 8 N 8bH&)S7huZaN:D9*k_Ԁj wMlۼm)E#8Êf `#` S_ [hsw61c[boA5QH0♻C  rT俵:2p~ z|yU;x\U;uVߔjC2a#LɄ'%M~K_*^jH&)aBD3 NJ?pUTn[MTR>?bÆ):-3L"f5/~Ho_ԁCy ~R GqD8q&NJ? @ D p49ۛw~q |~qLݡActtq9*k_ԁ0(57{sn5/6U):,qH8IS_ Vp;o]O6*o~k65)E#89LݡAcB С%vޭU)E#,ٔDe"ei9*k_俵U65n[MTR>?b8n .q&Ys'%M~K_ڐ%P/g߃lUA:@@U;uVߔj3f LLS_.DUnA5QH8♻C0#L'%M~K_?[i{tb v઺U@BCƇ :A'%M~K_ÍaƆw~q |~S7huXCi%ag=H&)Jf  8X5/~hTTpmfjqLݡAcM1䩯kEf֫ r/{`A5QH):,hpH48bS_k\f+nY |~S7huXB:A9*k_( v`l`-4UÊf hbhbS_2pa{tb v]A5QH4)LݡAia&Y%[.zÛ6pm ?MTR>?aD4@s 9䩯kC_uVB@@j~R GYJf LΎ285/~Ho_nYz~ 1TXr~R Ge3vQa a䩯k]V8_Vp\p!EQ^j$ T,)E#.gDaGHa% ~K_-4̓tb v[_mH&)p3vQDtCNJ?[i{A]jz~R GALݡAcC  %vWZ^jLݡAcD %mvߔj8n   '%M~K_?X7 $e?)E#`3vQ,!,!䩯kE݂튀 +`$e:UaDD8 p19*k_cbaݺ߃lUA:ATen{KuH&)):,pA@brT俵56 z)E#`3vQ ?iS7huX pA% ~K_,cZ,6u7ǮǛPg󷎿?cbE)E#`3vQ,!q,!d䩯kEs uq |~ n p@S_&\cMTR>?iS7huXN:Ań9*k_zHg |~ n ń  '%M~K_[1,$_MTR>?iS7huX  NJ?g(KN MTR>?iS7huX6:AŖi9*k_kq":şjL0BCXXXRrT俵Eu 냺UaD8GH8%vg(KN MTR>?iS7huX2:AŘa9*k_俵+@0-@H"ͻ@Xؿ8MTR>?c&iLݡAi1&t%IT`k` n ,kl_mH&)S7huXq%j6VܳOA5QH8n  B'%M~K_.լpmf-4߃~ z|yU;xT3MTR>?c):,ii'%M~K_?%A@PZ057{sn5/6U):,qH8S_ D[hsw61c[boA5QH0♻C Dt 5/~hLlT޿f&_1X.ب \F#,=i |~n t 2rT俵ƶ߃~ z|yU;xyۛw~R G0ŔD8cXP䩯kmQu[bA5QH):,h`h`'%M~K_ʱ6U f p#p S_uVߔje3vQ`L%th2vj S7huXH40`䩠,2MTR>?`Jf 9q rT俵Z6A5QH):,h`c8RrT俵!kR`ZDUnA5QH41LݡAi`h,䩯kC_6]X3 3j>#4tdܓo]O6*o~hn_ɅEuw |~ ):,h͎h'%M~K_~ 1Tnmbƶߔj9D3NJ?ѕcmvU̦n 88S_%u Z6UJf pH4'%M~K_Ve_1X.ب \qjUa):,qaqa'%M~K_[,cXH\:4 gOA5QH!LݡAc":AńNJ?$XX] |~ n ń  '%M~K_[[%VFY{.MTR>?iS7huX2:AŖa9*k_z{ +`$e?)E#q3vQ0 X)9*k_z݀(Lb]P~6FY{.MTR>?iS7huXq%Ȃ$9ۛw@86_j3f L㍎345/~h=n,Tb]P~6FY{.MTR>?i,n :A5/~h=n„ +`$e?)E# f afGH8'%M~K_[`l튀th2vjLA3vQ0H8NJ?„ +`$e?)E#D8H8“%0vv@m:4 gOA5QH ♻CXxXrrT俵­߯uH&)P3vQ a a䩠,2MTR>?`f Б hBrT俵5Qpvv@m:4 gOA5QH )LݡAc0$t0!9*k_vTLb]P~6FY{.MTR>?i S7huX 2:Aa9*k_ ,n[o]O6*o~jSMTR>?bS7huZe$t0䩯kXqoQOA5QH4ALݡAi3cLNJ?kl8خ8Uع):-2:D˘RrT俵!kC_6]X33j>#?cL):,lΜtftS_%M%~U5/6UɅ):-3ttS_AѕcmvUɅ):-3::D8rT俵[uك6n)E#0ҙCƚdi'%MajaLݡAcfq Y%encu͊3_ڻ/~q |~CD41H41A5QH):,hcCGH41S_Ã9x oU(rCƆ0$tC5/~Ho_\v&_1X.ب \F#,=iH&)):,qN:A2rT俵sw61c[boA5QHbC8&qIS_lqx6U>* bf"0f|GQ %$`cu͊3_ڤPzؘTW_~R G Cƈ,DtD 5/~j:2pb _j 1LݡAḭ'2%Rd9ۛw~q |~L9LݡAipx8䩯kT!߃lUA:n ,kl_mH&)S7huZg":D8A9*k_FUAګMTR>?c& n :D 5/~Ho_^A +`$e?)E#3vQ00䩯kT`:=w]><ت?uͻ@Xؿ8MTR>?cS7huZg2:D a9*k_FUAګMTR>?cS7huZg6:D i9*k_俵U`߃lUA:n ,kl_mH&)S7huZgtd䩯k]V8_1jA5QH8C8)&pSS_%Pj6VܳOA5QH8n 6:A45/~j-7ǮǛPg󷎿?y ~R GaDBHB%teX|])E#0 f LࡣLࡉS_%P ~ 1Tnmbƶߔjq3vQpP&pP䩯k]V8_1jA5QH8ҙC8(8(rT俵!kTB/g߃lUA:ThUnA5QH n 8DtprT俵 @\UnA5QHqLݡAiXX4䩯k\U@Z0vޭU)E#,8bC4H̜5/~Ho_&_1X.ب \F#,=iH&)D8H8%Unpl]~b ~R Gq3vQ 4tB NJ?Dʱ6U~R GaD3NJ?Dʱ6U~R Gaf L#L S_!@@./kW |~0n …2:D…05/~j0SMTR>?i,n Śdt4rT俵""@zBA` Ua):,qfqf'%M~K_ڢ($ H)@ ~R G0ŔD8MqfNJ?DQDJH*(H,t_jL1e3vQ,,䩯kTED ` |~ YLݡAc0a䩯kTEDdAbR?)E#bf Yqf̜5/~j ,Jtg |~ YLݡAc4i䩯kTEDdAbUg |~ YLݡAc4,t4)9*k_E XP. Ua):,qfqf'%M~K_ڢ(%@P( EH&)S7huX NJ?DQDJ jL1e3vQ,,䩯kTED DP"Ua):,qs  5/~jBA@jߔjL1e3vQ.eH8NJ?DQDH+MTR>?i,n 3 S_(pP߫]P 1]H&)S7huX̜t2d䩯kTEDX&UH&)S7huXlt䩯kTE` [/w,MTR>?i,n Ś:AŚ5/~j{8E ]~R G0ŔD8KqfNJ?DQDJA5QHC9H8̜5/~jTߔjL1e3vQ.gGH8NJ?DQDJ X)E#bf YYS_(A5QHC0.aIS_("D E*@8PMTR>?i,n 4tbrT俵""AHĤ~R G0ŔD8qsNJ?DQDH)XA5QHC1.b S_(" $ ?)E#bf Y#Y S_("  jL1e3vQ,Yœ%QQ EH&)S7huX  NJ?DQDH(pJ(P@X)E#bf YGH8'%M~K_ڢ($8%PXU~R G0ŔD8qgNJ?DQDH(pJ(( MTR>?i,n ŝ8tS_(8 T% =3MTR>?i,n Ŝtt8rT俵""A@@UNpZ Ua):,qgqg'%M~K_ڢ($8%PX ?)E#bf YYS_(8 T%@KMTR>?i,n Ŝ:AŜ5/~jPAbA?)E#bf Y#Y S_(8 T%PHA@@~R G0ŔD8#XP䩯kTED  ߔjL1e3vQ,)q,)d䩯kTED  AH&)S7huX™ ˜NJ?DQDH*MTR>?i,n Ņ6:AŅ45/~jEH&)S7huX:AŅ9*k_cu͊3_ۼm)E#0DGH%teX|])E#0D3NJ$7/~oVm0vv@m:4 gOA5QHYLݡAc4$t4!9*k_~ 1Taݽw |~L):,hP8rrT俵{ժw߃lUA:eߘ~R G\):-2":D˘rT俵OUعS7huZedtq䩯k}~a~R G\):-2::D8rT俵!kC_AѕcmvUÃDGH%P"ͻ@Xؿ8MTR>?c8n ltrT俵=w]><ت?u_~l ]wm |~S7huXӎ ӎNJ?y ~R GaJf Lӎ3L5/~Ho_hgw߃lUA:m~q |~”D49H49%WX 8MTR>?b2C,&YIS_w_jS7huXhc%vޭUvYpz]`;mUv?)E#4)LݡAcf9䩯kn X f7UJf 0H6a'%M~K_phlH&)D6a ن9*k_俵8@2俵_~ z|yU;xWvܴ?9 |~ S7huXӍ ӍNJ? n[lSMTR>?b˙LݡAi84t819*k_俵p!`Í ﭠ+V/]_j C4&iS_lxx sa MTR>?c):,hSDGH4) S_lZU~q Uyw |~fS7huXŝ ŜNJ?@BD 43Xu~R GXf LЦGHL'%M~K_ڠ!V~ 1T`0en)E#8CƜrT俵ͻ@Xؿ8MTR>?c S7huZg::D q9*k_FUAګMTR>?c S7huZg "g NJ$7/~o6/_~ z|yU;xYpÛ/z Ƶ[spm *+̓)E#YLݡAcD6:ANJ$7/~o6mר}[/=w]><ت?uH6 ڨ0nvUذf L!GHCL'%Maj!LݡAi4!䩯kC_}~_߃~ z|yU;xMTR>?c):,i M85/~h Uc׷6UزS7huZa "a NJ$7/~o7{ Uf tH4'%M~K_7X0MUUÊf lˎi,5/~o60mیx0bn)E#n ltCrT俵8ۯzVUعS7huZe "eNJ?zsw61c[bn)E#,A3vQhcLtb vUbAJ |~n c S_P ~R GaDŇ3NJ?~R Gaf LBGHƄ'%M~K_ژ~R GdD3 NJ? UD 3NJ?!H&)BD3NJ? ?)E#013vQ#L)f%+B [MTR>?c):-00'%M~K_(E`D ~R G`sf L,GHY'%M~K_@RCMTR>?c):-00'%M~K_)@-H&)DPӎ0NJ?Z A5QHqLݡAi8 d䩯kU "UЂ f L(q&8rT俵 UCD`H`% ~K_ڠ cu͊3_P`Uy~R Gqe3vQ8) 8)䩯kyۛw~q |~n :D 5/~k* UH&)):-33'%M~K_?@@,sw61c[boA5QH8ALݡAi89䩯ky~ 1Tׅ*UЅ3vQIH6a&NJ?<P |~ ):,hH4AaS_smu9{)E# n :A5/~h P EX;uVߔj!LݡAii&a% ~K_ڠ EX\2V={/~q;uVߔj03vQX&X䩯kTnFޯA5QHbC,A&XIS_wbpkpZl`6v]P^teX|~R G ҙCƈ:A'%M~K_޶~ 1T}_j n \tM,rTH&)bf )q rT俵:A5QH):,hcH41S_uVBZ*@2$)E#.af L2L5/~Ho_nڭW |~ň,n ͘6b S@Xe |~ň,n ttrT俵o]q /o]O6*o~hP5QJƶ~R GALݡAcC::ANJ$7/~o7zٵ7ǮǛPg󷎿?Xؿ8MTR>?b S7huZe:D4!9*k_іqjU0BCƆ:q tS_%nma7ǮǛPg󷎿?w]vګw~R GpRCƅ :AB'%M~K_ڽnFް!@@-UĿ)E#.b f LcLIS_^ѕuH&) f 0GH6a '%M~K_,kl_m |~ň0n ":D 5"7Uk2Jl9ۛw8E ]Ȃ~ 1TauubZ V~R Gaf LGH'%M~K_*_*n~q_j ♻CӘCcNa '%M~K_VnaH&)`3vQ DtCNJ?ѕcA5QH):,h`8rrT俵!ky7 ~R GXJf LGH '%M~Ȃ4Zu̒l aۼm󍻒?ebڮ)E# n h`S_~ z|yU;xEU-/6UرD9 NJ?W:]~R GX f L#L S_[UرD'"f9*k_l _j ҙC4Aq&hS@Xe |~ň4n :D5/~kkXsp]( {ժw |~ALݡAi 4t 19*k_F6pmUرD"sY9*k_v^kMTR>?bS7huZf"fNJ$7/~k^j(  |~):,h`h`'%M~K_& 7W_j ҙCӘC#Na '%M~K_?a{iv:UÊf lGH4ن'%M~K_ڠ%W߃lUA:n ,kl_mH&)BD͎3NJ?ѕcmvU f L3̜5/~Ho_ ]pteX}[?tb v.`#n[MTR>?bS7huZa t.d䩯k\0 F{ժw |~ńS7huZa ::Dq9*k_B (F{ժw |~Ř n 2:D05/~k  *UnA5QH3vQXS#L%p\ : ;uVߔjq3vQ`@&`@䩯k\QvޭU)E#,(RC0&aS_. ^jH&)aDˎ3NJ?pZ( ^jH&)a):-3K"f 5/~k F{ժw |~Ň S7huZf:D4!9*k_俵A@jMTR>?`f fGH4<'%M~K_ڠP * UH&)):-3"g,5/~j FUAګMTR>?cS7huZaB"aBNJ?bl튀th2vj™Ci0 S_b]P~6FY{.MTR>?cS7huX t6d䩯kT&-7ǮǛPg󷎿?y ~R G`Rf LcLIS_2pb _jC88h88brT俵!kT&, cu͊3_ۼm)E#0)3vQpp&pp䩯k]V8_1jA5QH aLݡAiDtA9*k_俵:2pb _jae3vQL1e%P4qu MTR>?cLݡAc :A NJ?[/~q0cu͊3_ڀ&{ժx.ا |~fS7huXř ŘNJ?43";x8. n[MTR>?b˙LݡAi8* bfcmQguX Xܓo]O6*o~hPh r~ 1T^Zw~R G9LݡAcC  %vޭU)E#2e3vQ4Б 4Є䩯kC_~ z|yU;xyۛw`Íuۼ* j8۰]OA5QHS7huXӦ:AL19*k_nXZ* ]wm |~S7huXӃi%nmbƶߔjҙC8@H8@BrT俵!k@lT. X ^˵[A5QHS7huXD DNJ$7`کQ04`ͪ, 04t_rN6=w]><ت?ux 06UAe3vQa a䩯k}p& n[MTR>?c&S7huXM.:AY9*k_=xXk``)E#n  '%Maj S7huXNhpA5QHS7huX' &NJ?A @!/k. 7{sn5/6U):-3"g05/~h Hsw61c[boA5QH qLݡAi 8A䩯k@~ z|yU;xyۛw`Íuۼ* j8۰]OA5QHS7huXӦ:AL)9*k_nXZ* ]wm |~S7huXӄi%nmbƶߔj)LݡAi"q&p%teX|])E#0(RC8@X8@RrT俵!k@P7{sn5/6Uf LLS_[a V *oѠH8e~R Gp@3vQ2a#d%v@Xslz mv* 8۷])E#, bCiq&S@Xe |~ŇS7huZftd䩯k~ݘ\2jjn tM2rT俵[޶t eؽlU f isi̜5/~o/=w]><ت?up n)E#0™Cƚaq 4S_%9^pp[MTR>?c4n Ƙ\t0rT俵p @o]O6*o~o7{sn5/6Uf LLS_2pb _j9LݡAi Dt A9*k_俵p o]O6*o~o7{sn5/6U f L(CcL(CIS_2pb _jALݡAi 8 d䩯kC_0-7ǮǛPg󷎿?y ~R G``3vQ!&!䩯k]V8_1jA5QH n „ "aB'%M~K_? ѠH8euH&)S7huXˆqaD%0 hg}m]j~U&S7huXq%nA5QHYLݡAi4t19*k_&\ tT wz*+̓)E#aLݡAcDNq 9%ntb vMU)E#0♻CƚhxhrrT俵8خ8hgz~R Ga3vQ40x99*k_n6UÊf iciIS_4H&)D4ٙ fa9*h UÊf hS#hS S_UW |~S7huXfttM䩠,2MTR>?bÇ):-3fdt3 S@Xe |~)LݡAi \t Y9*k_oMTR>?c):,i:A2rT俵6VܳK.ا |~S7huXM6:Ai9*k_俵́U~q_~ z|yU;x@ jU~R G0ƔD8ӎqaNJ$7/~obnY~lH&)D4@  !9*k_\cu |~ƅ):,lÄlÄ'%M~K_cu͊3_ۼm)E#01e3vQ h 19*k_FUAګMTR>?cS7huZaB0% ~K_߃~ z|yU;xyۛw~q |~0n „"aB'%M~K_ʱ6U~R G`c f L)a#L)a S_%l k`/lT߿ @p˴Uf d̎q05/~h~ 1Tnmbƶߔj n C:AC̜4R G`cJf L)eHR'%M~K_?a[_MTR>?`f H41'%MajS7huXƗ ƖNJ?` ~ntb vFU~R Gi f L9GHs'%M~K_? nmbƶߔje3vQcL)f%@1a!ۼm)E#013vQL)%7ǮǛPg󷎿?906UAe3vQaq ad䩯kXqm)E#8ҙCƅ44rT俵4e_jn 0$tf`BrT俵x _~R Gq3vQ 0 0䩯kj cƻ]`+(ؿ8MTR>?c):,hY г05/~mA-W]uH&)ƔD4)hS&NJ)E#8ҙCƅ00rT俵%n[MTR>?biLݡAiq&YƓ%X @ 5/6UJf  hrrT俵ͻ@Xؿ8@2j~R G``3vQãL)%nߜmH&)ƔD4)GH4)%mն*UJf b#b S_2V={/~q;uV@PKMTR>?bS7huZe"eNJ$7/~o߃lUA:**ت5H&)b ):-3f:D͘rrTH&)b ):-3B:D 2rT俵8eb̓)E# 2CƆ,,rT俵`Í{ b]OA5QH̦n h`S_%Q [o]O6*o~m~U5/6Uf L)cL)IS_2pb _j1LݡAi04t019*k_俵~j`l튀th2vj9LݡAcdNJ$7`کQ4#mQguX KI7ǮǛPg󷎿?س,@tA04Z,u,UÊf hrhrS_7p˴U13vQ DtCNJ)E#,)3vQdH NJ?G~R G3f q#q S_UEA{Yplumw |~):,hPc0RrT俵.QPD DSET`׽Zw~R GpbCƅ ltB44R GY):-0GH@S_V 8bH&)S7huZa0% <Ûy ~R G``3vQ&䩯k@j,cu͊3_P`Uy~R Gqe3vQ80H!9*k_n ,kl_mH&)DSGHS% ~K_Q`teX|])E#00C lL)'%M~K_Qbʱ6U~R G`a3vQӣL)%+B \9ۛw~q |~S7huZaM "aM NJ?pH ˃aۼm)E#09e3vQ&䩯k@j,{Ypl9ۛw~q |~0n š":Dš 5/~kL{Pvv@m:4 gOA5QH n L,tRrT俵2*d`6ͻ@Xؿ8MTR>?cS7huZaf:D!9*k_@Co]O6*o~o7A-W]uH&)ŔD4H4œ%nmbƶߔje3vQeHYNJ$7/~h $V8_1jA5QH2C 0&aIS_ * UH&)S7huZaf:D19*k_@B+B \9ۛw~q |~8n <ت?u_~l ]wm |~S7huXӃ ӃNJ?y ~R G`p3vQ#L)%teX|])E#08rC q&IS_%iC~=w]><ت?u~R GXCƚY 4 S@Xe |~S7huXh`%Em)E# n  ƈ'%MajC4 x4 rrT俵{ժxPUس):-33'%M~K_?р$ BۯzVUس):-3"f,5/~h @aۼm)E#08C ph pbrT俵0,wMlۼm)E#8Êf h@4 BrT俵0,57{sn5/6U):,q q '%M~K_t;&nmbƶߔja3vQ4!4!䩯kZ$zW^uH&) f 3H6f'%M~K_߿ a{{uj {g |~S7huXС' С&NJ?@ ,n & 7W |~S7huZaN"aNNJ$7`کQ4cmQguX dܓo]O6*o~kkW߃lUA:i0?)E#, C 2L$'%M~K_*n~q |~S7huXL2:Aa9*k_Ul7̓۹e=w]ߔjn ltfrT俵zٮo+)E#4ҙC1q bS_ջUسBDaGHa%p\=[9h:2pbƶߔj S7huXGH40䩯k]aMTR>?`f  `rrT俵!kA*   *UnA5QH3vQXiHaNJ?ڨ0M8q)H&)aDI"a&i9*k_EdP*   *UnA5QH3vQXccLƓ%mv߃~ z|yU;xEfw |~):,hH4@IS_jiLݡAcM0,tM0)9*k_ l_~q |~):,hc @RrT俵{ժw |~ŜiLݡAi0!䩯kC_("P ~K_F Ûy ~R G`f L)#L) S_Pu6cu͊3_ڽ[pelܳMTR>?c):,hP# rT俵?0rA5QH4n M6:AM45/~Ho_B ! [/w,UJf aaS_X h:2p~ z|yU;x\QT`׽Zw~R G\):-22'%M~K_? cu͊3_P`Uy~R Gqe3vQ81 81䩯kyۛw~q |~0n … "aB'%M~K_ʱ6U~R G` f L(RL(RS_%x:2p~ z|yU;x\QvޭU)E#,(RC0)&`SIS_. `׽Zw~R GXp3vQiHNJ$7/~kn7P7P?0)E#8ҙCƅ8$tB5/~h  ~ 1Tnmbƶߔj ҙC q&,S_V?)E#8ҙCƅ44rT俵/kW |~4n …::D…85/~Ho_@tb v}~_xT2uq_jYLݡAcN8,tN8)9*k_n ,kl_mH&)&S7huZaB0B% ~K_uh;uVߔjtf LH '%M~K_a =*Ûy ~R G`f L(P&(brT俵 * 7ǮǛPg󷎿?pU!n[MTR>?b…):-3"f05/~k F{ժw |~Ň S7huZfdti䩯kC_H Ts` oXn ,kl_mH&)DP#L(Q䩯kA@ QTH%! :2 P%PT9ۛw~q |~ S7huZaB0C%0EX:2pX8. 8ۯzVUعS7huZe2:D a9*k_Ƶ[sU-.~R G !LݡAcC2:AØNJ$7`کQ4mQguX ܓo]O6*o~h&8aQ]~lH&)f  ã ÉS_]A5QHS7huXDi%q L*+̓)E#YLݡAcD82d䩯k\bqnwuH&)D6glNJ?Ɔ Wn偢[0@2<\ ` ~nA5QH8™CpXpRrT俵40H{8 0@2<=YUӋ):-0N:DÝ2rT俵40H=n$P5!PeX~qU/mU 7W |~ƜiLݡAi8?cNLݡAi :DÅNJ?Ɔ ķWoQP2 8*qgߛMTR>?cN8n Å2:DÅ05/~k [lkBFYA`mVV 86_jpRCq&,S_ ƴ&ګvU[6[,u~R Gif L8P&(RrT俵40H=n&ګ֡PeX~qU/mU 7W |~Ɯn Å"a‡'%M~K_C@M*l~k~nA5QH8ALݡAi :DÆNJ?Ɔ ĀU$e[x_gߛMTR>?cB):-0ጎ0'%M~K_CbF/e2 8*qgߛMTR>?cBS7huZaN:DÆ9*k_'0B 7W |~ƅ0n Æ "a'%M~K_C}q-ۉ V` ۮa0B 7W |~ƅ4n Æ"a'%M~K_C[ mvTVߜnl 8UnoH&)fS7huZaÄ0%q]PgߛMTR>?cBS7huZaÙ"aØNJ?Ɔ v]q* ۮa0B 7W |~ƅ S7huZaÅ0“%q]ķWoQP2 8*qgߛMTR>?cB):-0"a̜5/~k n% 6❅A`mVV 86_j9LݡAi:DÇNJ?Ɔ ]q*T,u~R GhQ3vQ@H !9*k_&v[0C` ~nA5QH n È2:DÈ05/~k 5kq>T=YUŔDq0&NJ?Ɔ ۵PgߛMTR>?cCS7huZa0% =q  F{ժw |~Ň,n ":D 5/~h$Dn[MTR>?b8n 80$S_@tAFUհ @@U;uVߔj3f LHa'%M~K_ V`7ǮǛPg󷎿?ʰ6p`_Yګw~ntb v[_mH&)):-0"a 5/~k [ mv |~ƜiLݡAi84t819*k_$7f\SA5QH:e3vQ&䩯k\h`zKuvUӎ):-0K0K'%M~K_C[Бq_jpRCrT俵40H=n% 6~R Gif L8SL8SS_ j(KcZ~R Gif L8P&(brT俵40O6$b_UХDpHpƓ%q]Ċ\MTR>?cB̦n Æ"a'%M~K_C[nޢj)LݡAilti9*k_%KcZvmU:UСf L8p&8brT俵!k}Yo]O6*o~hŸeߔjpBCpHpBrT俵40H{8 0?)E#4f L9Hs'%M~K_C}q>SMTR>?cBS7huZa"aNJ?Ɔ v0?)E#4)3vQ9q&9d䩯k\h`ۉjALݡAi":DÇNJ?Ɔ ]OA5QH n È.:DÈ,5/~k 5kq>SMTR>?cCS7huZa"aNJ?Ɔ ۵OA5QH aLݡAittq9*k_俵ۮa0B 7W_~ z|yU;x\h`Uvp%q>SMTR>?cN0n Ütt8rT俵40O7]q)H&)M):-0GHpS_.[0?)E#4(bCrT俵!kos`o߃lUA:$oOA5QH8ALݡAi ":DÅNJ?Ɔ ĀU~R GhP3vQ1q&1d䩯kC_%pel~ 1TQ|E?)E#:e3vQ pX8)9*k_ڃ/VTT9ۛw~R Gtf 㣤S_%pelܳ=w]><ت?uۮU0UJf !q rT俵2bMTR>?c):,hRH4)aIS_nj0n h`IS_UJf  `rT俵-V**X8-H&)D4)䩯km_^kMTR>?c):,hS hS '%M~K_?2:`+V/]]~R GX3vQl"fd䩯k\~q kUn)E# n hpS_@pZE^#oW |~Ŝn 00ÉS_U~ 1T ~R Gq3vQ hh419*k_FUAګMTR>?c):-3"g85/~Ho_,*~ 1Tp\+jsp]/k. ~R G9D4' ӌ9*k_ۯzVMTR>?cD4GH4% ~K_ UUE0C;h UW |~9LݡAi\tY9*k_㷳/jD,I#mQguX G@|vq}~ 1TC/ػ&ߔj0n  '%M~K_ p^\n ,kl_mH&)DP#L(`䩯k@z!FUճo]O6*o~k  *UnA5QH3vQXp&Xp䩯k\H"{ժw |~ŜqLݡAi`H0䩯kC_Vp: x0C;h UW߃lUA:\]wmH&)S7huZa"aNJ$7/~hEh0C;h UW߃lUA:\]wmH&)S7huZa0%E ƻW |~9LݡAi,Y䩯kC_Vp: xPaƆw֫.=w]><ت?u8MTR>?cfn Ött,rT俵!k@z+@8<[@WZ_tb vXoA5QHrCXXrT俵!k@z+@Z*{_jpbC0&a S_HۯzVUسD3 NJ?e[̓4SMTR>?cD4(` 99*k_@` @ZDqu MTR>?bS7huZf "fNJ?cW߃lUA:e)E#BCƜXHXBrT俵8%@@-`׽Zw~R GXP3vQacLB% ~K_1no]O6*o~jVU3vQ a9*k_u9{)E# n ltCLrT俵$mI^˷ ~R GY f LM3 45/~Ho_ P$FUճo]O6*o~k  *UnA5QH3vQXp&Xp䩯k\H"{ժw |~ŜqLݡAiY&ag% ~K_1zkX`b06UA3vQ$tDNJ?eEU*cu͊3_/V:Uf  pbrT俵 oArο)E#8ҙCƅdtB05/~k [/w,MTR>?c):,hSBGH4) S_%D )@H"ͻ@Xؿ8MTR>?c):-00'%M~K_2cjp -XA5QHS7huXٖ:A,!9*k_і6X8MTR>?`Jf # S_ꢒ 2b@( hqu MTR>?cLݡAc ":ANJ?U@H(4Z haƆw֫.A5QH2e3vQ08H!9*k_TRDLHa Z%PA[@WZ_)E#8ɔD8H8哒%E$A`dĤ THD Í ﭠ+V/]_jdf `sc`sIS_ꢒ 2bR$ qu MTR>?cLݡAcdta9*k_TAHpnmbƶߔjpRC0&aS@Xe |~ƄS7huZaC"aCNJ?evT2uqI~R G13vQ:fGH4NJ?e A-W]uH&)ƔD4)H4)œ%P ^jH&)aK):-3 "f5/~h @Z/=w]><ت?u$mUذDt9%vޭU)E#4Ca#9'%Maj™C2fH45/~Ho_іqjtb v@ |~D49eH49e%2kMTR>?` f cIS@Xe |~Ņ4n ̘h2aS_w_ߔjS7huX NJ$7/~h8E @Xs`[UE@ x:4 gOA5QH):,hchc'%M~K_21QCmXZj]~R G)LݡAcC2:ANJ?ebUرD3CNJ?TD   N:0nmbƶߔjC  rT俵:0. ˃aۼm)E#4!3vQ0X )9*k_PHV4UnA5QH iLݡAi3LɜNJ?e@k}w |~D44H44Ó%B $mUذ):-3&":D̘rT俵=ٵW{@XQEjҙCrT俵=ٵW{`8(o7ǮǛPg󷎿?U]b2np5/69 |~Ɔ4n È "a'%M~K_,KKU5X ~R Ghcf L@CcL@CIS_2ګa"6ƶߔj)LݡAittq9*k_bF]UqBW$[.{ƶߔj1LݡAi:D NJ?Xf\P{ ƯaNƶߔj9LݡAi":DNJ?Xf\P{ kn3QP5/6U f LAeH'%M~K_,H˳j(JE ^˵c[boA5QHn lt,rT俵Č6ℯ{H=n P?Xؿ8MTR>?cCS7huZb ::Dq9*k_bF]UqBW$uVƶߔj™CXhXbrT俵Č6ℯ{H=n` \P?)E#493vQ & 䩯kEvmU ^zۮ=`,kl_mH&)S7huZb .:DY9*k_bF]UqBW'Xؿ8MTR>?cCS7huZb 6:Di9*k_bF]UqBW%Un uX ~R Ghp3vQ ãLA%$eٵW%{]ƯaNƶߔj1LݡAi04t019*k_bF]UqBW%ߛf5c[boA5QHn ":D 5/~h#.ͪ+n PP5/6U f LAHK'%M~K_,H˳j(J[515/6U f LAHM'%M~K_,H˳j(J[Ã+c[boA5QHYLݡAi4i䩯kEvmU ^kwnRZƶߔj ™ChhhbrT俵Č6ℯ{K])zXؿ8MTR>?cDS7huZb "b NJ?Xf\P{ m)E#4Df LDˎ1,5/~h#.ͪ,. ~R Ghf LD͎145/~h#.ͪ,}Wlh#c[boA5QHn L3S_2ګvƌ0kXؿ8MTR>?cD):-1 "b&5/~h#.ͪ,8ء M\S x ~R Gh3vQ"b#LD%$eٵW%$U]Xؿ8MTR>?cD):-1"b,5/~h#.ͪ,8ء<^ƶߔjL BCq& IS_2ګÍXؿ8MTR>?i,n tt8rT俵Č6ℰbƶߔjL!3vQ & 䩯kEvmU a 5Q@%~m)E#CJf LA#LA S_2ګÍWXؿ8MTR>?iLݡAi \t Y9*k_bF]UqBXqK*`,kl_mH&)S7huZb"bNJ?Xf\PlRe{TTm)E#@3vQ )& )䩯kEvmU a/{O7׀~q |~n  "b'%M~K_,H˳j(K6){]: ~R G0f L@Q& (rT俵Č6ℰb&5/6UaDHœ%$eٵW%U{ƶߔjL3vQ 1& 1䩯kEvmU [05/6UeS7huZb"bNJ?Xf\Pm)E#fDL@`䩯kEvmU 3c[boA5QHY3vQ 0A9*k_bF]UqBAvm[`c[boA5QH\f L@rL@rS_2ګ[51{.m)E#gDH擒%$eٵW$teX|m)E#aJf L@sL@sS_2ګW9 ~R G2DᣤL@p䩯kEvmU  Ūc[boA5QHXrCDt 5/~h#.ͪ UAEWzXؿ8MTR>?i n .:D,5/~h#.ͪ UAnUf):-1 1 '%M~K_,H˳j(H5/6UfS7huZb"bNJ?Xf\Pޠ"6ƶߔjL f L@& @brT俵Č6ℴ6 [b<m)E#D#L@䩯kEvmU hm ,kl_mH&)̙LݡAc.:ANJ?Xf\Pޠ>Tm)E#D8 Cc!䩯kEvmU hm n2,kl_mH&) S7huXp@%$eٵW%0MߔjL3vQ4t NJ?Xf\Pޠ77` ~q |~09LݡAc %$eٵW%0H ~R G3D8!eH8!e%$eٵW%1{EUlm)E# f cIS_2ګa sW~q |~4C,,rT俵Č6ℴ6/{H=n2]95/6UfS7huXpB%$eٵW%1{Aq*ƶߔjLJf XrT俵Č6ℴ6/{H=ophXؿ8MTR>?i2C00rT俵Č6ℴ6/{O7׀~q |~4♻C00rT俵Č6ℴ6/{KsW~q |~4)LݡActtq9*k_bF]UqBZz%e95/6Uf):,pCGH8!S_2ګa.e{TTm)E#f `rT俵Č6ℴ6/{K+c[boA5QHhC44rT俵Č6ℴ6/{MߔjNa f cIS_2ګlVƶߔjNeD8!GH8!%$eٵW%ب)E#):,pCCGH8!S_2ګ`0 Wog5/6Us4n  '%M~K_,H˳j(MO'Xؿ8MTR>?ie3vQ 2e%$eٵW&'` a^Tm)E#):,pI 45/~h#.ͪ6>PXؿ8MTR>?i)LݡAcL䩯kEvmU  ,kl_mH&)n &:A&5/~h#.ͪ6>Pm0@Xؿ8MTR>?i9LݡAcLDtLA9*k_bF]UqBl}#[,kl_mH&) n .:A,5/~h#.ͪ6>Poq*ƶߔjL3vQqq䩯kEvmU $U]Xؿ8MTR>?iYLݡActtq9*k_bF]UqBl}{ : ~R G3):,pCGH8!S_2ګ`0/{O7׀~q |~8ҙC8Dt 5/~h#.ͪ6>R[uQP5/6UgLn  K'%M~K_,H˳j(MOa7~q |~8♻C lt45/~h#.ͪ.Xؿ8MTR>?in  N'%M~K_,H˳j(K }ۯzXؿ8MTR>?in p@S_2ګn_4e`,kl_mH&)S7huXDGH8 Q䩯kEvmU vajƶߔjL(BC lt45/~h#.ͪ.8mj6ƶߔjL3vQ Y9*k_bF]UqB]V8_1c[boA5QHC tt85/~h#.ͪ7~q |~ aLݡAc  %$eٵW&v. ~R G0D8 aA9*k_b]a1{.m)E#YD8 r9d䩯kEuj(H7,kl_mH&)œS7huX͎p@擒%&]V ,kl_mH&)…):,p@GH8 sS_% P {p6~R GXSf LÌ305/~h*MTR>?`D49a䩯kF `21QCmW_j,n  '%M~K_vq}Tʼn8TYD$$䝽l_~ z|yU;x@<2lUE@e;6L*+̓)E#YLݡAcC::ANJ?ʱ6U~R GX3vQ2̎9a9*k_@0$FUAګMTR>?b):-9dt S_z ʱ6U~R G`@3vQ3GH NJ?P0$FUAګMTR>?b):-9ltIS_z* PFUAګMTR>?c):-9Dtb S_zAѕcmvU f Ns"srrT俵AѕcmvUD6:Dq䩯k@=tAѕcmvU):-9:DprrT俵 * UH&)̦n ,t(RrT俵 B/kW |~qLݡAi0H`䩯k@=t!FUAګMTR>?c 4n S S_p0 ~ 1T`0en)E#8CƜDtN 5/~o7{sn5/6UІDPL(`䩯k]V8_1jA5QHiLݡAi :D†NJ$7/~hAh:2pb _jae3vQ0HÚNJ? :2pb _ja3vQ0ᣤNa%`H):2pb _ja3vQ1GHNJ? ʱ6U~R Ga):-9"s 5/~hA@/kW |~iLݡAia&q%誔V8_1jA5QH49LݡAilLfNJ?@h:2pb _jhC8&qS_tVʱ6U~R GdD2:DΙ䩯k@:+߃~ z|yU;xy/<* j8ۯA5QH,n   ӂ'%M~K_ۼm)E#4$f L(a&0rT俵/kW |~ƄLݡAi\tY9*k_俵hAѕcmvUГ):-0̎0'%M~K_h * UH&)&S7huZaC0%0 H:2pb _j9D"ga9*k_ @ FUAګMTR>?cS7huZs4%pteX|])E#0$f Nf95/~hjԃ* UH&)CDPGHP%pH* UH&)S7huZaK "aK NJ? teX|])E#013vQHS&NJ?X:2pb _jALݡAi4 i䩯k@8 :2pb _je3vQgGHYNJ? ʱ6U~R G`p3vQ&䩯k@8!@@./kW |~ S7huZs'9NJ?P* UH&)S7huZg:D019*k_4ѕcmvUDQcL(䩯k@8)@ * UH&)S7huZa6:Di9*k_ PFUAګMTR>?cL4n \t0rT俵!:2pb _jdf L1#L1 S_pRʱ6U~R GiDcM0ƚNJ?:&_1X.ب \F#,=iH&)ń):,q &5/~hu\HKpvv@m:4 gOA5QH,Cqq0S_\čk`/lT߿ @p˴U):,q 45/~huApteX|])E#4Ѕ3vQeHiNJ?* UH&)S7huZa6:Di9*k_ !:2pb _jhRC ph pbrT俵@BpteX|])E#43vQ)q&)d䩯kC_6]X'3j>#du\vq}~ 1TV(9ۛw~q |~Ƅ8n ‡6:D‡45/~j!n ,kl_mH&)DPGHP%V 0@TU7{snthgߛMTR>?cB):-0HPIS_@BH)P7{snthgߛMTR>?cB):-0GHPS_@@Fͻ@Xؿ8MTR>?cB):-0HPS_v߃lUA:{YpluH&)):,i:A2rT俵 _jn :A5/~Ho_Q=w]><ت?u/` (0vޭU)E#.gDa̎2ØNJ?ۯzVUذJf LÍ345/~Ho_Q `ʱ`(Bn[MTR>?bqLݡAiq&Xy%U߃~ z|yU;xy/<* j8ۯA5QH,n tN 2rT俵ͻ@Xؿ8MTR>?cKS7huZaD0%teX|])E#43vQAq&Ad䩯kC_ګ/uphʿ)E#4!LݡAcf?b…):-3 "f5/~k F{ժw |~Ň S7huZf":D0A9*k_俵ѕclcu͊3_(Bn[MTR>?bqLݡAi<ت?u{ժw_~ z|yU;x]UnU0%T ~R GXP3vQ`iHNJ$7/~Ho_QUB{ժw |~ŅS7huZf "f NJ?a u7ǮǛPg󷎿?U]b2oA5QH̦n .:A,5/~m[/A5QH̦n  '%M~K_-4QOA5QH̦n 2:A05/~hŹf)H&)yD49GH49% ~K_j6tb vvޭUv?)E#,Ѕ3vQXCcL%HjAvޭUv?)E#,3vQYGHfNJ?ebڮv?)E#n ::A85/~h(@Z`׽Zw~R GX`3vQ`&`䩯kC_T#*?)E#,3vQYcLBA5QH n :D5/~m.lT~q |~D40s9䩯km_^ko]O6*o~mA-W]uH&)ƔD4)a䩯k\[/w,MTR>?c):,hS hS '%M~K_?T@th ~ 1TnmbƶߔjaLݡAcNdtNa9*h U):-0GHQS_w61o:A-W]uH&)ŔD4GH4% ~K_j* 8MTR>?b S7huZe:D,)9*k_Q'@߃lUA:enmbƶߔjaLݡAcNltNi9*h U):-0HQS_k. 7{sn~qT2uq_jYLݡAcN8qd䩯kC_ڮ* ]wmH&)D4#pp䩯kUDp .XSMTR>?bS7huZe2:Da9*h UسCDf"eY9*k_Uѿxkۗ~A5QH4!LݡAi,!d䩠,2MTR>?b S7huZedti䩯km[p7w`bʱtzٵW |~D40A䩯km[pteX}[?)E#0)LݡAcM:ANJ?TA`B;uVߔjALݡAi4t19*k_QUAۯzVUذ f LLS_ہټ^MTR>?c):,i N05/~j][hsw61c[boA5QH0♻CrT俵AtD@p8ͻ@Xؿ8MTR>?c8n Ƅt 2rT俵pkbx4િ)E#8ҙCƅ,,rT俵 Pۼm)E#4Jf L(&@rT俵Q [o]O6*o~m~U5/6US7huZa0%teX|])E#4D`H`% ~K_kk`/lT߿ @p˴U):,q 85/~m/V 8ۯ=w]><ت?u2`<O] DPgMTR>?cLݡAc8?`f H49'%M~K_ڪ4B{ժx.ا |~Ņ S7huZf"fNJ?UPUn]OA5QHn 4?`f ) rTH&)p3vQ?`f  pBrT俵 `׽Zw~R GXp3vQlGHNJ$7/~h @;MTR>?`f (H 4R G1LݡAcC  BA5QHS7huXh%PD(UA3vQ 4tD NJ?UUA3vQ ?aD4@` )9*k_U/{ۀMTR>?bS7huZf "f NJ?9Fmۮ#kW |~):,i i '%M~K_ `-v.@L*+̓)E#aLݡAcD2:ANJ?sw61c[boA5QH,♻C  rT俵5=w]><ت?u_~l ]wm |~S7huXӃi%nmbƶߔjXRC  rT俵!kA@d@=q7ǮǛPg󷎿?p@K#nl UW |~9LݡAi:DNJ$7/~h( (t`Ǯ5ڀp\z+@8<WZ_)E#6af L9eHr'%M~K_ &@0C;h UW |~9LݡAi0,t0)9*ko]O6*o~hu6Uه):-0N:DÙ2rT俵!k]a8 '` ?~R GlDy0 NJ?W߃lUA:Kx:Ã+{p6jMTR>?cf n ̸2S_%uT[_lSMTR>?`f # S_Ã9x oU(rCƆ,DtC 5/~kbb]ŸeX: n r^\jߔjL♻CƜ`X`RrT俵@ Tqu o]O6*o~hu6Uه):-00'%M~K_?0.j^j7ǮǛPg󷎿? @R0aݽw |~M):,h`H40CIS_ F{ժx.ا |~ń S7huZa "a NJ?U]b2oA5QH aLݡAi<ت?uͻ@Xؿ8MTR>?c):,iΎi'%MajXrC  rT俵ͻCP`Uy~R Gqe3vQ8cqƓ% ~K_~]?)E#0ҙCƚa 4ÉS_V=׽Zw~R Ga3vQ4(H!9*h UÊf hQ 4(rT俵 lVn*MTR>?cK):,l\tg2S_B 20vޭU)E#4C S@Xe |~ņ4n ":D 5/~h)"@<V8_V,QT`׽Zw~R G\):-2"e85/~kV *oѠH8eu7ǮǛPg󷎿?^ ~R G0D8X`䩯k@`KMTR>?i S7huXqa%y/A5QH1LݡAc\tY9*k_'%H&)):,qa͎qa'%M~K_Ǹ%H&)):,qaΎqa'%M~K_~R G0 f Xp,8brT俵_jL9e3vQ,8A9*k_\]wmH&)S7huX‡qaC%~j_jL93vQ,Aq,Ad䩯kj,_1n/~l sqς튇6gA5QH!LݡAc  %~R G0D8H8%3%H&)̦n ň::Aň85/~hKޢ_jL93vQ,@h 19*k_|㵸т_jL8RC Dt 5/~h"_jL8bCrT俵v@Xkw_jL(C:A'%M~K_.wY~R G0f `Cc`CIS_պ~R G0ƔD8GH8%װ;MTR>?iS7huX NJ?`UbD8`@䩯kAqbjLAe3vQ0 A9*k_z ~R G1D8ˎqNJ?Ŀ)E#Jf afH8'%M~K_[B_jLDf agGH8'%M~K_[B_jLA3vQ00䩯kA%~jߔjL@RCXXrT俵_ |~n \t0rT俵hKMTR>?iS7huX 6:Ai9*k_^?)E#3vQ0ãa%Kޢ_j!LݡAc04t019*k_ޭۂ_jC``rT俵eUD8KqNJ?vjҙCi0IS_~R GpID8NqNJ?_j♻ChhhbrT俵Vf_j)LݡAc4Dt4A9*k_l /A5QHn L2S_~R Gp@3vQ2fH8ɚNJ?= |~S7huX&tt䩯k@CZ_jXBC02aS_\ĊpU):,qq'%M~K_r4cMTR>?c0n dt8rT俵A5QH,ҙCta'%M~K_okuH&)̦n :A5/~kZU):,qq'%M~K_~j_jXRCrT俵-H&)ņ):,qMqM'%M~K_~jĊw |~n ::A85/~h֗t UD8`P䩯kF/A5QH0!LݡAc ":ANJ?`&@ |~YLݡAc \t Y9*k_俵AbQXۼm)E#43vQ X )9*k_kq":ń݃@p˴UaD8H8Ó%v,cZFY{.MTR>?iS7huX::AŖq9*k_kq6pkbѠH8e~R G0 f YH8 '%M~K_ D( p49ۛw~q |~qLݡActtq9*k_R @Cy ~R GqD8Ёch@䩯k]z2 +`$e?)E#8D8ÃGH8Ã%$ R;&nmbƶߔja3vQ4 h19*k_Y\e_~ z|yU;xWÛy KMTR>?cLS7huZa0%p\n ˃_jn .:A,5/~kཬ6ՋUgD4NiƜNJ$7/~h)@ ~ 1T`0en)E#8CƜq 84S_w61c[boA5QH0C ?cL0n 8 \S_?tb vw61c[boA5QH0ҙC Xx XrrT俵/kW |~ƘiLݡAi,Dt,A9*k_俵?tb vw61c[boA5QH2e3vQ&䩯k]V8_1jA5QH2e3vQ&䩯kC_`:0!R F 8bH&)S7huZa2:DÚa9*k_R߃~ z|yU;xyۛw~q |~ƘqLݡAi4$t4!9*k_FUAګMTR>?cL8n \t4rT俵!kAJ߃lUA:enmbƶߔj`RC lL1'%M~K_ʱ`*^jH&)aBDN3NJ$7/~h)@" I7ǮǛPg󷎿?y ~R Gif L1GHcN'%M~K_?]`DEuw |~ ):,hBH4AIS_0vv@m:4 gOA5QH,♻C$t 5/~h(߃~ z|yU;xXq*2)E#6aJf L0ccL0cIS_UW_j03vQ4L0i% ~K_ P& [@WZ_)E#,Ae3vQh`&h`䩯kA@ * UH&)):-0 0 '%M~K_ `8* UH&)):-0'"aDL5/~kZ<k8E I~R Gqa f dGH8Ɉ'%M~K_l`/pe~R GXf LТ#LТ S@Xe |~ň,n ttrT俵6VܳK߃lUA:lW_m43{)E#0♻CƚrT俵QPub~R Ga3vQ4 4䩯kEڵ ,MTR>?c):,iNiN'%M~K_ڠ.լpmfjqLݡAcM :ANJ$7/~h(*E J4qu MTR>?bS7huZf"fNJ?x0wL*+̓)E#aLݡAcD  %(nmbƶߔj`rC hX hRrT俵W^uH&)D4H4“%teX| |~ƈ):,i' ӂL5/~k* 8* j8MTR>?c):,iH4S_2pa{Xؿ8MTR>?c):,i i '%M~K_ʱ6$bMTR>?`ƔD40` !9*k_P4B ˃aۼm)E#43vQ&䩯kA@P[o]O6*o~o7{sn5/6UBDcCHcC%teX|])E#4Ѕ3vQ&䩯kC_!sw61F6pm)E#4f L4Hi'%M~K_ @x0wL*+̓)E#aLݡAcD %vޭUcu͊3_ڻ;mU)E#8♻Cƅ ttB85/~h0?)E# YLݡAcB  С“%WX 8MTR>?c&S7huXL LNJ?W:]~R G )LݡAcD %w]~R G9LݡAcCttCq9*h U(rCƆ44rTH&)P3vQ i i䩯kEmۯzVUذ):-33'%M~K_5.Un"RLUnA5QHn  "a'%M~K_5Z9aP!T@P&{ժw |~ŅS7huZf::D q9*k_\ UɔD4LiNJ? jn 6:A45/~mfH&)YD41eH41e% ~K_ 7ǮǛPg󷎿?{_j♻C0A&`IS_% PteX}[?tb v.`8$UnA5QHn :D5/~k AۯzVUس):-3 "f5/~Ho_P,ۯzVUذJf L3L5/~kr˃7ǮǛPg󷎿?]jhkۗ~tb v[_mH&)Jf 0#0 S_إګw_ߔjn dtfrT俵׭ |~ƅ):,l× ه,5/~ka/`kMTR>?cBD6a ه9*k_俵 lV'7i0:Uذ f L$GHI'%M~K_+ۛ~ 1T6i0:Uذ f L$̎005/~hyx"tAd_jie3vQX@&X@䩯kF̓ÛAh slMTR>?` f aaS_w9ο)E# n 8S_% ~K_ a @!PHhg}m]j~UرD̎3CNJ?kjtb vk. 41~R G3f qGH4L'%M~K_Í qw_jYLݡAcg3c9NJ?vܳMTR>?cK):,l  ٜ5/~hŸeߔjYLݡAcg3#9NJ?hcջUf 9l5/~Ho_F. v p'MTR>?cD4#h䩯k]]_~ z|yU;xj lU0BCƆ88rT俵ƶߔjhbC,&Y S_~ z|yU;xj lU0RCƆ:A'%M~K_޶m~R G)LݡAcC  A5QH):,h`#0rT俵!kyͯA5QH):,hcH41IS_`[/~q |~D41#䩯kmQu[b)E# n  '%M~K_l튀A5QH™C4t 5/~k@86_j S7huXH40`䩯kC_4 o7ǮǛPg󷎿?Xؿ8۰]OA5QH):,h`GH40cS_w60Ua):,qaNqaN'%M~K_׽Zw  j%H&)aDH% ~K_%-.&[tAoA5QHqLݡAcN0<ت?u~qYᐻ^\j~R G3f qH4K'%M~K_ʱ;MTR>?iS7huXӌ  ӌ NJ$7/~Ho_F7_n ۮU1V?)E#8ҙCƅ:AB'%M~K_ h/k. 7{sn5/6UL):-0 "a5/~k֚A~g`=w]><ت?u8w_j03vQ1&1䩯kEu A5QHRC ,t 5/~Ho_Ph@pHۼUfS7huZa":DLA9*k_AޭCzsw61c[bn)E#,A3vQh&h䩯kA@ Cy:4 oH&)S7huZa:DL99*k_㷳/jD,IӌEA`Nt_rN6=w]><ت?u1zk06UA3vQi9*k_ۮ[i{ߛ~R Ga3vQ4 4䩯kAt?tb vw61c[boA5QH4♻C pH pBrT俵/kW |~ƚqLݡAi8 qd䩯kC_A7ǮǛPg󷎿?y ~R GiJf L1ӎ0L5/~k* UH&)):-0"a85/~Ho_] tb vw61c[boA5QH41LݡAi8?cM S7huZa"aNJ$7/~h.dAp^#oW |~ņS7huZf.:DY9*k_skUnA5QH̦n  ń'%M~K_vmUGW̓tb v. 9kv $9޶uH&)g):-3 tlS_6❇e N ~R GhcJf L8&@rrT俵!knͪ|?Xkۗ~)E#6af L0&@RrT俵F jÍ ﭠ+V/]_j03vQӣL9%4@U@-0C;h UW |~9LݡAi44t419*k_Uk`/lT߿ @p˴U”D8GH8%5X;w |~ n ":D 5/~m*ul튀th2vjXrC,t 5/~mV *oѠH8e~R Gqaf `YH8'%M~K_ PnmbƶߔjhrC  rT俵<~qTW_~R G ™CƈdtD05/~h-X1zk06UA3vQY9*k_ZEXsw61c[bo=w]><ت?u~R Gi f L0YH`'%M~K_^p0en)E#8CƜtq'%M~K_j{sT2uq_jaLݡAcN:A NJ$7/~mn0wcu͊3_*n~q |~):,iH4IS_p^a81H&)YD41shbNJ$7/~h-ZI"V8_V,QT`׽Zw~R G\):-2Æ2Æ'%M~K_{.ۢܳKߜm7{sn5/6MTR>?bS7huZs:D!9*k_ZpH)/k. 7{sn5/6Uل):-0N0N'%M~K_ V<wMlۼm)E#8Êf h@4 rrT俵Tۼmtb v[_mH&),n  "a'%M~K_^p0en)E#8CƜq 8S_ڮ* ]wm |~S7huXӃi% ~K_phʀ[s|;MTR>?cM):,ll'%M~K_phUXߔj!LݡAi4!䩯=w]><ت?uh)E#,$f L!HC '%M~K_N EW |~ń S7huZa "a NJ? p:+?)E#,3vQ&䩯kPMTR>?bS7huZa"aNJ?H@U2 |~ŘYLݡAi lt i9*k_@2*)E#.aJf LHb '%M~K_e)E#,3vQX&X䩯kUFw |~Ņ S7huZf6:D i9*k_X)E#,0C4!&hC S_%4e`1{.o[;FUճA5QHS7huXDi%4e~mۮ~ 1Ty ~R Gi3vQS#0%fUi~R Gi3vQc3%MۮMTR>?cL):,l م85/~k]~R Gi3vQ#3%6U f 00S_%l 8Un׷._j`C8 x8 rrT俵!og^ O,XEA`N::dܓo]O6*o~hA @!/k. 7{sn5/6U٘S7huZa0C%B`l튀th2vjXC?i):,i  Ӧ5/~hq]~qX&{ժw |~!LݡAi9Hs9*k_ѭr/{T-V_jLݡAcC:A NJ?$ T,teX}[?tb v. 8ۯzVUعS7huZe"eNJ$7/~h0W^v *U߃lUA:^˱z 8۷]UA3vQph819*k_^˱z 8۷]UЅ3vQGH6fNJ?[A,UЅ3vQH6fNJ?}gjZg |~Ƅ):,l  ٚ5/~jp6UA3vQ$tDNJ?7?n0aݺ.ا |~ƘS7huXم  م NJ$7/~hPFUճo]O6*o~kh0P@20vޭU)E#,!3vQcL!f%p\pH);uVߔj9LݡAi6q&ٓ%p\ t`׽Zw~R GY f L L S_. 8ۯzVUعS7huZe.:D Y9*k_^jH&)gS7huZf::Dq9*k_ThUnA5QH n 80S_. ^jH&)aDGH%p\UhۯzVUذf LGH'%M~K_?k}w@XTzٵ-Qu[bA5QH):,hsKhsK'%M~K_z ˃aۼm)E#6fD`L0P䩯k@B8M H#hg}m]j~UرDHÓ% @x0C;h UW |~ň,n :D5/~hku9{)E# n :A4R GXrf LЁLЁS_`׽Zw~R GXrf LЁcLЁIS_wQ`l튀th2vj`BC$t 5/~HokS $ృ6:,Ic _rN6=w]><ت?uZU0CƇ 8 2rT俵 @8HH&)a):-3K.:D,rT俵Z6vrο)E#2Cƈ\tD,5/~hp'cu͊3_*n~q |~):,iH4S_r/xT2uq`bjhRC,ãL'%M~K_? rthuH&)):,ii'%M~K_@ cu͊3_P`Uy~R Gqe3vQ80h19*k_n ,kl_mH&)LݡAi ":DNJ$7/~h(,{ժw |~Ň4n ,4 S_ $@Zt`nFޯA5QH2C4H̜5/~HokS $у6:,I _rN6=w]><ت?u EpvޭU)E#,93vQigGHNJ?SET_~ z|yU;xXqoa]H&)f (x 5/~k65ۯzVUذJf L 3L45/~kuvn UU3vQ Y9*k_n[MTR>?cD4(Q A9*h UذJf L 3L05/~Ho_mQ,8۷.%ګMTR>?cD4(iH4(iA5QH2e3vQ0x99*h UسD@cL p䩠,2MTR>?bÅ):-3LtdS_zbA5QH0n :A5/~h eϬ)E#49LݡAcfDtfA9*k_倠+ۛ65cu͊3_ڀ& & 8b |~9LݡAittq9*k_R `Z@* D PA[@WZ_Uه):-00'%M~K_ PPDJ00C;h UW_j03vQcL9% ~K_@ F 8bH&)S7huZa"aNJ?UPo]O6*o~k*  (0vޭU)E#.gDa͎2ÚNJ?ۯzVUذf L3L85/~Ho_㷳/jD,ImQguX V/'og߃lUA:ՠ@¢;MTR>?aD4@yH4@y%x *_1X.ب \F#,=iH&)S7huX NJ?ċ$mӂ_jL0BC\t,5/~h3ō\7Ua):,qaH8IS_ U7ǮǛPg󷎿?82^YH&)ƔD4,ˎhYNJ?ѕcmvUæS7huZg2:D a9*k_俵!og^ O,X3j>#H2KI7ǮǛPg󷎿?!V9TW_~R G Cƈ44rT俵AѕcmvUرf Ne"s,rT俵APteX|])E#0 f NbGH'%M~K_=ك6UЅ3vQH6fNJ?g#eA5QHS7huXو6:Ai9*k_"FUAګMTR>?c&n Ι&t'%M~K_@8$AѕcmvU):-00'%M~K_@R:2pb _ja3vQHc&NJ?./kW |~ƚn Nq&s'%M~K_Wp H&)n  $\[ %M,2MTR>?c4nt@pkJXe |~ )8Ak?X8.g[*laj4P+ .:b S`]PDW.$,H=c*k@nI0X ׀ / k|W$pmf>H>X>';Op./usr/share/man/info/en_US/xlf/html/lr54.htmp/$ Extended Intrinsic and Defined Operations XL Fortran for AIX V8.1.1

Language Reference


Extended Intrinsic and Defined Operations

A defined operation is either a defined unary operation or a defined binary operation. It is defined by a function and a generic interface block (see Interface Blocks). A defined operation is not an intrinsic operation, although an intrinsic operator can be extended in a defined operation. For example, to add two objects of derived type, you can extend the meaning of the intrinsic binary operator for addition (+). If an extended intrinsic operator has typeless operands, the operation is evaluated intrinsically.

The operand of a unary intrinsic operation that is extended must not have a type that is required by the intrinsic operator. Either or both of the operands of a binary intrinsic operator that is extended must not have the types or ranks that are required by the intrinsic operator.

The defined operator of a defined operation must be defined in a generic interface.

A defined operator is an extended intrinsic operator or has the form:



      .--------------.
      V              |
>>-.----+-letter---+-+--.--------------------------------------><
        |     (1)  |
        +- _ ------+
        |     (2)  |
        '- $ ------'
 
 


Notes:


  1. XL Fortran defined operator

  2. XL Fortran defined operator


A defined operator must not contain more than 31 characters and must not be the same as any intrinsic operator or logical literal constant.

See Generic Interface Blocks for details on defining and extending operators in an interface block.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l;X$Amf>H>X>';P-./usr/share/man/info/en_US/xlf/html/lr55.htmp/$   e"<>NTainorst -/=AEGILORScdfhlp,CDHPgmuy%().012:BVWYbvx349FMUwz+567QXjq!#8;_k\*{|}K[]'x ?).<#;0O$o R\a) Jy`S䌒> 犷})j}MSή$><__oխuiiiiiiiiiiˁOE#DCQHt\6ֵE6?EY€ =Se\VgmKWȱbB}By8pYp)@2͓3x+۵Z` .<_9AqºT[k_&8ٽI1Yp)-^6#o7 qSe^4_\mQi斯[ދgWd\ x,sήI-\kg)z!2l+\ x(p(\ B)5WqGFy׳{ym_jVo6W-XF斮@/5Zyq|-lm`_'\_Zg\_'_j3p/Zfy;\_1B#ˠSG:RY@-\2%țz18gErc9"3;rm1b A:<|!5ě^y'\_ s p83SG:RY@-]}'M/9߆`p)w), V}ø##\/9߆0@8 d$$]ɋcA#;Cf)@ fgR_ݱLŚ%ZCcbQ|BjmM`J-\kCmr3hZ, Cmr3hRbHp<=1P){zj5m@ Km|uZ@ c`;ÔY|l5k]|~iiiiiiiiiii.<GY |kORCzj)㔃x <ర0w\B18g@uV-\sIJyay`Sy'5Æ8,,,4 w\B18w@}m_j1oo p p y><|RO2R=&BM~u_R2RJ2R:S( y<|o}m IJyY߉<|kwbBzՁܧP%“P+N<+ )P:Es_WoJ{7m~FtgJ8VhW3Twٽk{3ߖw}[WڭyWW;oo<)}b+;ooͮSI=$`bB ҹ۷}KWَDYmQi斮<^-\zWnD0zH-c%ބϥsn斯kLǝW$'lǥ|TLGsE})jFI%dػЃ9vsݻgZvBMY* MۏJBMU1KT0y>8y5Aaaap@IJyl1d_L6ճ2bYߒm,ZZTV-PyrMsWL5CP'@V-\tj)f)RdW.[gԟZg\W:Coyrj*@JٽKW7pIcgtED+WΥhK3k{w ̈WEK3U1KWw[UkWsUhK:tճܕ~hGBA"[;^^!nNΘHynŊMZn#;X%_HO4&-\ ۅB;N}Loh)MZn#;czUm|fn͸QO1$`JYi斯}U[4}+HsȒ}m6ղ/OJ j1,IJyǝIe'4;Hs^ f2VY*Zj ,~Y)6ou*邳rZ/ҢZyǟ`V-_}co[}+nRcϵbZmdqB^bQ8:Gkk%zdqBt=i͆5lin=+Ε:GkgL}ՉgW %UKWXV޴cq)ZfV%UVǝ|)rs;%UKT_3ϝ#ϵLZίiIc>ϛmh1Wv (k|uZ<7vw)>pB!< ``B!%7Aq%<>c6U y:+̔wXVҳnJ\FJ}bwP^dSL^y6ُ:nR3E٥momVa["mLzg͆5lLw%!eYeYeYeYeYeYeYex++)jYeYeYeYeYeYeYeYe0>0z@p(\$ Awr#@0 0WE6kb-ѭy6ճo}g{*Md;ZP)#vrXߖwY(P`]+A+%XtkoijK:4tܩ~ՈQi&-ǥ~})jΫfy;\+ɝ3&r=*6;̎o;$z|{Woo::7mrQK4)tkmvh;ZP)#MVw'ڱ -668CՒE9u_$w4XU7m|p%bQ8oVJ' [VJ' xz)8=#MA% S;(D >2=GqE$N5H1EkPw@l?"m1tF$:rH\0I"kӔ;4 M qFqBuTmZ<̒|OrH\0I"kqǜ45H1EkPw@2=GqE&=q =EMp wDl,I4rA )Hld |EG rH]$ǻ<᧨A(\&޵O2C` $5Q@B&IwyOQS\14]Q!Ƹ t$}+!)Hld̑>v)B2R}8gxW&yŠ| J,g{ﭵ5~ YX]kWsSkOVJ' XJyD=1Q~'fw\fuM=Y(P`Z&XVJ'!jӯxoZcj3B5gJZxf;Ւ#g~&G|JM#17W )$0NBMfͯdqBGDhSVJ' ,% M@N(@_zQ8%5bQ8e=Y(PQ@SVJ' /Y(PTObQ8:ze;,P+;oo<VJ' J@o9$P|dz$5L{zቤ"5wA:=Y $ybx7C`ՒHN(@!|EG rH]$ǻ<᧨AD(\=QG!$5Z/p ,F2= )*2=GqE&=q =EMp HwDlwA:=Y $ybx7C`1@`IO1QF2C`$% S7(D >2=GqE&=q =EMp wDl@;G<1jPwAD@B^bQ8bΌdI"k"Mt8󆞢bi 6CphX;G<1jPwAP T$!|EG rH]$ǻ<᧨AbiQ!Ƹ4,zΏVBIkr^( @X;dz )*J@o9$P|dz$5L{zቤ"5wA:=Y $ybx7C`Ւ$9 PN(@!|EG rH]$ǻ<᧨AD(\=QG!$5Z/p ,I4rA%2=GqE&=q =EMp H "5`tzH\ū@nc#=@hIO1QF2C` $5Q@B&IwyOQS\14x6CphX;G<1jPwA$DaBJy:0yo9$P|dz$5L{zቤ& "5tzH\ū@nA$*STyу̐<)H $5Q@B&IwyOQS\14Q!Ƹ0=QG!$5Z/p ,zQ8 oZa+%)*w%F2=dqBE<`>_ҳ>ՈQiyN(@( yDdqBI VJ' SVJ' ,% < yD% @SVJ' /k>yՈQiy ҹfu_ϵbZm{7W܃7jVAtٽ825ҹp&wzUmnwُt 5 Mq=g~&G|r~Usv| f 7WfbLJ۝Gs 5VY߉UsvE<đbH#vrXߖwY(P`[V yD:"7Zu_$}+!+;Ւ#^bQ8}kpIَՈQiy Mvf)d{ެN(A$Da^bQ8~vk1ެN(A$DaT%+%z_tMtXKZg{ՒbwN(Cټ,_X&U+!7}1l%F2=dqBY}& Mq=zRMFIKZg{<kh`1T!!*dqBkdmc1Y(P:-b-ѭy/)pMο7fgyZg\nRǞ84ޙd\fu,{W}}Ϋfw\fuV-\ +,^y6Ϋ ;$|,=gz[;rq?E[q}[zeιWWw6`f ~YR%Z,^y6Ϋ2ϳ,Y )$`-(Nk`1y@q 5p1TL|N*9H)pMμeFijڭ0@ ~Y*/0b2>\U\KWNijֱټS>YeYeYeYeYeYeYe}Wc kZYeYeYeYeYeYeY`#x<|=CYeYeYeYeYeYeYeZ!xvYeYeYeYeYeYeYeYe<<>8y5Aaaap;H1G@0^)RK,dqBR=+%3lξUHh -6_Zijͮ'J6wp&O;UmמgM )$0gkؗ%VJ' %#bQ8?a0+VϞx";:%F2= yD:6(0zHE'b\7ϽY(PxyD:[>Z\<Jyj1EI1,ϦmzQ8)FIK%1Y(P^ygҾu'vkW:+,^yVl<ެN(AP 0%+%3&ޅF0 y'5ȍ@0 ta)x <"4 0 <àS>YeYeYeYeYeYeYe}Wc kZYeYeYeYeYeYeY`#xx w\f2la!߳|k:q 5\3.,K|k:q 5\B:+>d5NH1GN&1Z0pw(x$5p  g$@# Yjáy<Gd&2<àSLh`@@< lWY$(mf>H>X>';U[./usr/share/man/info/en_US/xlf/html/lr56.htmp/$    e-<>ARTainorst "/=DEIVcdfhlp.CGHLNOPbgmuvy(),0124BFMSx%3567:Ww!#+89;KUXY_'*Q\jkq&Jz|]{}[p rDw"H_528$!8kp{c"Ҹ Ԧ.:IHr/1+[+ꖺ<<<<<<<<<M$< W> ߆|$ּoْ5vmy斨W @'k^cV=M|q-㨦vofv/HHDr(^wbP^cQ8HQbIiVUuSxh;U `O7a` Y1(lEP1$6Z7 >H^\, f4,,;@48kp2)j  I36i}YD|4Jy `O7a` Y1R#]@x`05W7qE<1M\tㆆC'h$ qDR@ `^E(N66ǝ螨W3$fyқ\y竫R}WVtӽ&I%_m;e6̵*O}M0+x_~-6 /6o-W"]/-;d" }mK|IԻm]_T-^qD@Xp(R( B).B@`yOTͯĊ—9ÎֿWs:1:~2LkNc_lqZ98EIג:Jj|ygq챎Nyiޓ$Ƹ^7bN(WZZ<ֳ Xit9Eb(Ho<ȈHޜ$0y懐@Eo$h(,k][8EzL㓄^c׺C|$0yDBF9!4<@Dޒ,x9$$4AA`_"/6o-W"tJ/t$<$0yDBF9!6Dƣ 80I \LN#sF>WԞWǝ +6t_{Ry_o530Ic}1cy}/;L})j|Ey6o-_LΫ_ބ͹IEWԞW[}/;Liޓ$Ɗ1^/-;d"LymJnP3o1e)<Lb+2LoOsמ>K_%2xŔ}2rpN&5'Q"e~2LkNUN~})j'^Ҧ_VT|Υ6ij-ܜ"ӽ&Iq/c(N66L7+`KWn7bNU2l1M1KWLJ'Ic\rp-Z{7MWqF8жܗg|M~3w'Dپ\rpޙǝ|y ϦϾ*OνR"1)Dp@xǤ>HF!.8JQ Z|$/W:Ooyc=!Db1\p@xggJcۭky\R=!Db1\p@xǙ;+AF8{@sE#^kZֵkZֵkZֵkZU[#ZֵkZֵkZֵkZִqqbE849O4jkS; bSk1^B(UE_zS;lqZxǮ_]ZߕvIc}wU͹-ZluQ\B'2c0$cą pWA!`X ąf81E81PJmstI6$,' +K= د^e}-K+Ic7IJOA!`X@`48%JO`b[z=yߛvob`WVw}gnI$, 0!ah'1^t8yPаXa1Bu)ˎp/qkZֵkZֵkZֵkZֵD-VkZֵkZֵkZֵkZ/p|^c%_lqZ98E[;zer(zer)PJmre1UĨRN [8E&㓄_eKEyQ/;LM}1U 󪾋w'Dپ\rp1vwbtRlʼnIPJmsW+6o-_j&}1vt J$xx$\p@xDžyޙ\y'R\cƪ)^1ExֵkZֵkZֵkZֵ_eA=qJ2M(N60舑 ELy']W"D0Dy\RS;H>X>';X2./usr/share/man/info/en_US/xlf/html/lr57.htmp/$   -<>/ERTaenst ABNOSVcimor".=DGHILPUWdfhlpu(),1F_bgkvwxy!&+0234569:;CM78XY|#'*JQ\Z[]{}Kq D&QDB]]ִtr঵ȋӰ$8v@ ;Js Ndڵ ;N%BB OKI*%ѣF4hѣF4hѣF4hѣF4hѣF4hѾN%"KU 0 )FQVzLJLExXx x(`+AW";XdD>STRLf'JEYR(Aa]o<<|k0p( !`Ы+"Gd ƫ10 ;|&{+;2atnd3NM I (Ӱ w'ǰ%&f^RfYYZȷz+O) X٣++ QS,P2ʕeek"]y@^00`f4PgynBQ-&{ F4hѣF4hѣF4hѣF4hѣF4hѣF?xEEA' iv QKE̦4 '\4Y*ApA!|4Y@*$@H*Aw1:Uj~H4?xEEA^OӰ Dp ~Oh#PH0iv<"ȎA 0^OӰ Dp `{?N'\4Y($E4;pdG` '1/"?JsݍNIbt&կ^4y Dɸf'/(iR1:x̱ѥi/Ģdܩ֟,WƔXBkuk%:g#^YS:*%%ĢdܻyV&|Yf"B(vAv@ ;9r܀a7wwwwwwwwwwwwc;vm*AprNdڵcY/)݁ӿ%&bL8=¡ʱ:Uj;wwwwwwwwwwwwwv3wwwwwwwwwv0]݁ wv5m^4`MH92¢8ն'/MH92¢8ն!ŵȎ*Apu+yNն fi7Nv` ;Nzv%a=#Ҥ*VMPV5q;Gq8v)|?{F2` b2TzTi˰ϠNZUh0hۍKNzv%a=#3fAUҬV~#;N{?N'tx?A&n큯3fAѥCXKuƭ)$0+;[JsJƲ^S5mH +;/Ҥ*VM\jwwwwwvs; ; !YPn$K&ᡛ?N{k ՘σA|J,2a=Dt5jg%VybӱAvAv66Iv4pƎ%a=;ӰnP虉3 ҋMyNԬk%:T=v4GCpp#OPiE&PV5qv4pƎ%Opݸ5jgcPi7qONĴ':w=h#"$seDq;Gq8v~=N$܃ ;qMŵxFEI7 :d\jv]A^-f$̃,*Y6qmCi7Nv` ;NƎĴ'`Zv ;^4`MH9cY/)ӱw:ixpzHMH9Ƨk%:} IU*x^4qӔ=Ed0 b2IzI=aAY"a÷8=ovL` ah. CqzvӰq-; ~n*Appyƨ{iƎvAv@ ;9r܀a7woMH9cY/)݁wwwwwwwS5/3fAUҬVն!v4ݧc`;q~`zcGhZvӰq-; ~n*Apu+yN~#;HD~n*Av58=$GcY/)k1*y_CRUb'bWC(ijFt/phfY  縒n*@^n*Av4gVu-*c4v4pƎ%a=;ӰnPTV5q;Gq8v)|?{F2` 0Wd=Ȏ$bȎ!'JmZcO]}gXrҬV3AcGhZvכ3*P({xD:Bƨ{OeYeJ,$Gp#?(c⇿DIFXBkucY/)пSA g:%CߢQeh5C߼>KLCu"st,V%b&0i";d_SZY`~2`rNdڵƨ{nb>^'c,JdQ4`/pzHMH9Ƨ Ƃ2-8=$G&cSD~̷Dw*Av58=$GcY/)֝stj"Ԭk%:f&n!k ah.7MAv4Dt1&dQa ):d\j}LFjx.[ƔXBku9styN3HӑoQa )aDw ~HP8~'b_D~ #VM_JƲ^S&z2̨iZbxFE'q$TjpzHJƲ^S:^b"R1/H#b&3ľ({xD:Bƨ{?9R-8=$GR{"?}+yNNY#=V'JmZV5z^b"R1/H/C5/zءA gLKpzHҤcSD~X*ɵkXKu1.Y6NZ|LʘWO9R,0i";=V'JmZyx5(N~'*Av58=$GUҬVdP\+fx5(؟uXeP,>'r#R{"?}+yN9V'JmZyu5ULLKȷ$sݍNI2D~n*Av58=$GcY/)֝i؜#=V'JmZ{4 wwwwwwwwwwwwwwnn~5f3]Iۄi";(KN{;OhE9/{F20Wap` gY2iUiph#"Y>XBku4ƐD"80XƟa., ~Oh#PH04;pdG` iv1̴c2~uY2iWȷ,WƔXBku_`ߜ[Ճ̴c2ަ%bji/Cߪ:h#P ~P&Q WD4+e~({ԦYiuXY`^4ƨ{P~eX!@v%a";!S(?Y`s,,L3 R\J&M˖dNTfTǑ/)և0_~,^~({LętiE&PV5qk3Hӑa@Q2n]jrҬ]iȷ1/!I*n1>~/b\L&aBZv##=dS##=V'JmZV5Nƒ#HD~n*Av58=$GcY/)i";D"?aX|CE@hԟZtƂ2-8=$G&cSD~V5yD"?a\X`!4XjOGA}-Azv4Dv3#ȎH9Ƨk%:$Gq iO`b\J&M˰_⇿Wƨ{(L֧Tƫ Hb]V43Jeu*zr=LHA!CLʔYӰ_,neH9Ƨk%:eLKme:A(iR113arz#1 SՏSQ2n]SZTOPt 3P1)y\b~%Ģdܻ({|jq2j!< K3&|dk*z~HP8~&dW5e˰Ҋ>'*Av58=$GcY/)/pzHҤcSD~X*ɵkXKu 3!7  "/JET1. X̙Nd2=+yNONITjpzHп"?JsݍNIbt&ը_;G,4 JC߫T=CMcS(;H";_LkD7V>({|jq2j!bpzHч8f58=$G J1"?N~HP8~ ;H";_L52o/*|P~eqCNDpjpzHߊ^4qv4ƤKp7q ]ۦ[_Y4wwwwwwwwwwwwwwvơov=;H";"?\I7 #ұ{2e5!USlĉx43NDw=5C߸D5\je%X^T!CFtX~P&Q 5LĢdܺbejacIjDi";'r#R{"?}+yN'1. X̙*xpzH"; #ұC߫T=CUƦQ o_LkD7LKDɹSąyY}X1/!I*n1>S9VfT4-1"?JsݍNIbt&կcY/)aDw P虉3 ҋMyNԬk%:T={갹ɟQa ĸL;LK⇿d(ij}LFVfT4zbGUrQ2nT!S(b]VfT4-1#2^S;LK⇿D3,jF$Gq iOHbw#2^SLVb}2*i֟|P 3Pa+D<̱9?=&bL:4^Su+yN~O⇿WC(ijBLHX\dϐLeOSZ0WȷUՖ LFj˛2dWJ&MƲ=%˛YJx myNB(љoSZ&E|dk*z.njf&3/b]Pٚ?YzfE̦bMjZ~$tY6^ejW_͉܌yN3˛YU,fLH̕%fKuUY 12LCՏVMˉDɹS3C߫T=CUƦQ v%g1:UjՆ|MYZ~?=&bL:4^Su+yN~9iPt 3P_uX\dϐLeOSeX*ɵj,Ƃ4f\٢Ѭ gaj!Hĥ({xD3п^4cT=C߫Ƃ jBf[⇿WAX~ebeex2ϋ,V=5C߸D5\je޵=LKz_|P~eX!jz5)ZbV'VX3׍FxU,fL DɸT^44̩EbjaOS˪ip5cұmp3OC ϭ?S갺ha7JsWCg#ʐsWA_|NIq"?N`NT8=$GƧ;MH9+Ƃ +pzH NIw r"?@.58=$G߹ܩ=9Pg#MH9+Ƃ r#@O"?@.58=$G$sNTp?rsTrcIv%:j,V@j ÷D~\jpzH5f3Y÷8%asK>:NgeL:h#Ou)%MT:QTǥcY/)/ƞOpݸ5jgcPi7q؃5:Ʋ^S*7~jCq2j!oCWC1ӿ! _n&Q 5L4b)@g^4 ?NCSk%:l!CWCMcS(! ^4 Dp13ӿ! _n&Q WD7jgz#uAF6AvBcY/)וca B6L52oCFA0G #J: +n ;eX!! ׍C83E( Ƃ Ap3E( Ƃ l!CWCUƦQ h޼h"$b)@g^4bӆxD7~XKuACq7(LѽxD3n ;eX!! "uAl!'MC@wwwwwwwwwwwwwv3Vc> ݁n4ݸONzv ;! NʀxCq7(LѼb)@g^4 ?N5|l!D452oCF𑈥xD0+=8HRAr(+n ;eqC~B7E( Ƃ!\a׍AXCqjud^T7~jCq2j!! F"uA0G #J1Ƃ l!5:Ʋ^S*7~jCq2j!! Cq7(ƦQ h?N{갹ɞnq(7*v UՖ AzJU,Y=>Y< ŋ1P~K;p;ȆHPPI 焑 0 0r#r#r#Ɠ{'3Vc> 3Vc> 0md&i`<$0 @$0 ;~Y< 0WXf*t 0fC@*,A΁fC@,h]bŘ?ӊsOJ @"8i7Nv` ;N{[Ohi2"2`rpY6q4+Nzv{<_D"S"!!ps 8=$(Aqp?xWN̊4R3%:Ӱ_wřstnLKHV&U6f5Y;8%׍yJ%ea>,^yYD`yOŖb+w7( $‚֧Ld[I wĻ25Zb,^ Iۈ?N{2e5!)?YUҬV3֟H9Ƨ9V'JmZV5|f[?h#"D~n*Av58=$GءA gw; <.DB[~A||00/ /a|0w8 0<)ezE Et {wQ$wQߣȀ'GsqѬzeZ N'8`gG`( 0s*Aw =S58Q{9߸n*Aw =S5𐖄dBp4(((=x ܈T߁8=iEy}L-NiPq߁ x<8|0} s߹2=""r#Ɠ{'1.]&XZbB\љz`N>rd[pzHҤcSD~X*ɵju+yN3-׍d[pzHMH9Ƨk%:5cP虉3 X*ɵj8,jA&i`!p `(H9H9rpA0wQE*Ap; 组jp7ēqR{I f QE*Aqg~I=܊(H9;x`܈TE\I="sʐswqTH9H98`cIۄ ۈh2݂5jg65 Ɠ{ Op|?{Fp`rEÉBB !,iphfY2Yt!,iphfY Uqz+BXѢ̲ 1UA$``/a2'YNƟ eX$0Wd<#'zFe)?xo;ph1P䋇4;CmƐDP l q[$O)mf>H>X>';]^./usr/share/man/info/en_US/xlf/html/lr58.htmp/$   -et<>Rainors /=AENOTcdhlm",DFGHILPSVfgpu().01:BC_bvxy!+23459JMWXw#678;UYk&Q\{|}jz[]qKhjb DDD88(8ㆨ7PK9֐PI \kT"$\97H2I5![)ߊ΋W<<<<<<<<<T+0)_c9-Y&&LD ϫiEC iziwVrʺ3M!$IQ=P|+X9-3aJ@WKj3”+3Kz2/PϐU %KMW;J(ɽDqEC՜2f-=Y՜NIWb'Ҋ=4ro@&QGug* XK9l#/,ݥzipށ"M8M!6 r[Qzipށ"M8M!UWj3M!E=4aKj3KҊ=4Aӊ(]vm&z.h{wwwwwwwwwwwwwv-NHKwwwwwwwwwwwwwww`vM蹤ni7懸wwwwwwwwwwwwwwwdCMV3z.h{kIE󴢏M!"IRQQ=h؉穌V%7_RFQGM$ӊ(]9-VrʻՄ|L-/ l3bz0ZszA:tΙ"ӣ0^r7WҊ=4CQ&CQIFQGuLWb'=s;Pű@`hZ@k5bE!E!NAm&z.h{wwwwwwwwwwwwwho2܈x;)*r4oE&sI4={:m!. z.h{kIqQH55G sCZMζÓz9Whe]q  Zq7ZMζŧH0iuݸ1AkN&\kI9عM$#]9-iuۀoEƴ(4$hN5Ѫ9\Ҩ=Óz9Whe]q=ƴ.iTsFqL98lP4 _Y xށ!n$KNUWBrOQYl:ٰ 5 sFsJ"ɽDkg%8q8pѣ\S3A<[ k !E! P[Ho 24N ua*kN5&Q"A-:ADN*kN"5G4hFr:vgL-|Ev䶾tUWjh\A0q4q5*Zt µy3֜U֍Q=QGz7o gjx(k !Ep A `KO%|n3kIM%H  < 5z.5ܢ[6D(lg*QGi( -ڢwC&]$4`((`HhXP@PP@XPHPPHXP5z.5ܢQGXkN(H{$iEC`):Q=Yb,e Wb'Y%Cc9ά12*gr r[/Ҋ=4Aӊ(]w^t[(3½l,i`ff ZM踊J"=!!CphHh``P4ro@.<48400g}AH&4 7ȄZļ>_r[[br/0oc9-p`xױ.%3o2r[.LhȿVlf^e7Ʀ""n^ }^fMy^7M$j) 5z.5 sF懹zipށ"M8M!n3:ug* 49F֓r"p`7xBt[(3UD"cZqT -UH8q(bZrP{NaL1#S=ܴ|Wb'6D(lg*yܧiEC97HN(H{vΝYʻC*_Q|4N EnLqSrMc*nsk[)e 3NҊ=4ro@&QGug* /P{Y@1FUճrY_炻<͑(ʼ|񔲝zipށ"M8M!5YʻC*_)g%YʻC*yi\Wb'Y%Cc9W˜n bw 洛p9^97H "xhph``iX4+D`4(A%SARQ迠0400(xw$K<48400(Ȥ/zpiX4(@$hQF 7R& RICxށ"]0%D^j) 5z.5 4iĈ&I&z.h{wwwwwwwwwwwwwv-NHKwwwwwwwwwwwwwww`vM蹤kI懸=rDqE&`E2$_I-47jx( E0N33^N Pű@X0-}d[M_rA<[  )(-@I-'-mZrA<[AAk !"B%A q-9p4sZIr'XD 4kNLhA@q' k.\$Hmf>H>X>';`H./usr/share/man/info/en_US/xlf/html/lr59.htmp/$ Pointer Assignment XL Fortran for AIX V8.1.1

Language Reference


Pointer Assignment

The pointer assignment statement causes a pointer to become associated with a target or causes the pointer's association status to become disassociated or undefined.



>>-pointer_object-- => --target--------------------------------><
 
 

target
is a variable or expression. It must have the same type, type parameters and rank as pointer_object.

pointer_object must have the POINTER attribute.

A target that is an expression must yield a value that has the POINTER attribute. A target that is a variable must have the TARGET attribute (or be a subobject of such an object) or the POINTER attribute. A target must not be an array section with a vector subscript, nor can it be a whole assumed-size array.

The size, bounds, and shape of the target of a disassociated array pointer are undefined. No part of such an array can be defined or referenced, although the array can be the argument of an intrinsic inquiry function that is inquiring about association status, argument presence, or a property of the type or type parameters.

+-------------------------------IBM Extension--------------------------------+

A pointer of type byte can only be associated with a target of type byte, INTEGER(1), or LOGICAL(1).

+----------------------------End of IBM Extension----------------------------+

Any previous association between pointer_object and a target is broken. If target is not a pointer, pointer_object becomes associated with target. If target is itself an associated pointer, pointer_object is associated with the target of target. If target is a pointer with an association status of disassociated or undefined, pointer_object acquires the same status. If target of a pointer assignment is an allocatable object, it must be allocated.

Pointer assignment for a pointer structure component can also occur via execution of a derived-type intrinsic assignment statement or a defined assignment statement.

During pointer assignment of an array pointer, the lower bound of each dimension is the result of the LBOUND intrinsic function applied to the corresponding dimension of the target. For an array section or array expression that is not a whole array or a structure component, the lower bound is 1. The upper bound of each dimension is the result of the UBOUND intrinsic function applied to the corresponding dimension of the target.

Related Information:

See ALLOCATE for an alternative form of associating a pointer with a target.
See Pointers as Dummy Arguments for details on using pointers in procedure references.

Examples of Pointer Assignment

TYPE T
  INTEGER, POINTER :: COMP_PTR
ENDTYPE T
TYPE(T) T_VAR
INTEGER, POINTER :: P,Q,R
INTEGER, POINTER :: ARR(:)
BYTE, POINTER :: BYTE_PTR
LOGICAL(1), POINTER :: LOG_PTR
INTEGER, TARGET :: MYVAR
INTEGER, TARGET :: DARG(1:5)
P => MYVAR               ! P points to MYVAR
Q => P                   ! Q points to MYVAR
NULLIFY (R)              ! R is disassociated
Q => R                   ! Q is disassociated
T_VAR = T(P)             ! T_VAR%COMP_PTR points to MYVAR
ARR => DARG(1:3)
BYTE_PTR => LOG_PTR
END

+-------------------------------IBM Extension--------------------------------+

Integer Pointer Assignment

Integer pointer variables can be:

  • Used in integer expressions
  • Assigned values as absolute addresses
  • Assigned the address of a variable using the LOC intrinsic function. (Objects of derived type and structure components must be of sequence-derived type when used with the LOC intrinsic function.)

Note that the XL Fortran compiler uses 1-byte arithmetic for integer pointers in assignment statements.

Example of Integer Pointer Assignment

INTEGER INT_TEMPLATE
POINTER (P,INT_TEMPLATE)
INTEGER MY_ARRAY(10)
DATA MY_ARRAY/1,2,3,4,5,6,7,8,9,10/
INTEGER, PARAMETER :: WORDSIZE=4
 
P = LOC(MY_ARRAY)
PRINT *, INT_TEMPLATE          ! Prints '1'
P = P + 4;                     ! Add 4 to reach next element
                               !    because arithmetic is byte-based
PRINT *, INT_TEMPLATE          ! Prints '2'
 
P = LOC(MY_ARRAY)
DO I = 1,10
  PRINT *,INT_TEMPLATE
  P = P + WORDSIZE             ! Parameterized arithmetic is suggested
END DO
END

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kFA]$4 mf>H>X>';b4 ./usr/share/man/info/en_US/xlf/html/lr60.htmp/$ Chapter 6. Control Structures XL Fortran for AIX V8.1.1

Language Reference


Chapter 6. Control Structures

This chapter describes:

You can control your program's execution sequence by constructs containing statement blocks and other executable statements that can alter the normal execution sequence, as defined under Order of Statements and Execution Sequence. The construct descriptions in this chapter do not provide detailed syntax of any construct statements; rather, references are made to the "Statements" section.

If a construct is contained in another construct, it must be wholly contained (nested) within that construct. If a statement specifies a construct name, it belongs to that construct; otherwise, it belongs to the innermost construct in which it appears.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kL^$ mf>H>X>';c ./usr/share/man/info/en_US/xlf/html/lr61.htmp/$ Statement Blocks XL Fortran for AIX V8.1.1

Language Reference


Statement Blocks

A statement block consists of a sequence of zero or more executable statements, executable constructs, FORMAT statements, and DATA statements that are embedded in another executable construct and are treated as a single unit.

Within an executable program, it is not permitted to transfer control from outside of the statement block to within it. It is permitted to transfer control within the statement block, or from within the statement block to outside the block. For example, in a statement block, you can have a statement with a statement label and a GO TO statement using that label.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] t spec lu_$mf>H>X>';d#./usr/share/man/info/en_US/xlf/html/lr62.htmp/$   -<> =ETet"/ADILNORSacilnors.BCFGHMP_dfhmpu!,0123469:;VXbgkxy#&'()78QUWYv|+5\w{}[]zKU0iIrS&( CyJd=L|8 %2i2iM9jD8\~f|Қr`EAfj=֣.Y1c1c1c1c1cw N^&A Npa[(_j:`U[7Z CۡzCP0# Cu^⭰ȸ?Vߨt:u FTGXlJz-JH#9TA ]+u^­( y9w^$)#Bƅr{|0"ܕ-Ge׋?c1c1c1c1c1c!@t4URJ0-CCa66:/G40ۄ7 NQ8+ 䖑ALT zNJLXqڑ=ٮ6Qr"( z C9D z )1OeT#ךʨG{.^6{n˯Sw\tjhfW"z Qui n[a@rrY-& --ݼkG6"R UZۻ7Q(xxa --ݼk_9RȾށ<<0Kawwwwwwwww`Cno|?[ƶI"**۬mVQil0+7Q(l^EE[u|=,<<0Ka5Q*X mށ<<0Ka@rrbD '$hxQۇ:NI@Cau'("n NQ9$ECN= !@rHz C9D = " n#=ķ[G6"R UZ[az3E^$D  b@dY"%%Ԉp0d\w\*M6z(F{n DJ@b3G+Kpg:)Iiͼ4L"Dz.vDx{?WP>r rԫ 6a裸z)1DP4<@!-"9F$Vk"l^]"z˺|eʰ1R4a觰:NI@Cau'("Ca7[d**۬h-›dVFK}ɭ4w-‹Kwo&V+C4r{[wwwwwwwwwwwwwwwwwwwwwwwF% hN[ C9D z E=F{n 5UZ[az3E^$D b@dZI#I,= {2XVmGpSaMwa,,70i>NißʨGR!5P]qm5L1^>)Vd_YUD0沪Å/5P5!5PhfU?azlnӞ)xLQQqsnU0ٺUB;$זUB;߫9P݇!eT#Q =ywV+C4rwMXGi14"WӃl;vUB;$זUB;߫9^,bZn/2fblguZp[b 8[>/5PC^k*x5?]2iV|S mfaAOQuNvP 8ӂʨGdD0沪X ʿ{YU^XzYU~Vh_1OeT#ךʨG{.^6`;_@s b,6zin&_沪(HUB;߫9^,wV+C4rUYb{LSYUD0沪ˮ?W^Lna饸x-=ԋ沪ԈaeT#\~f Ӵ|hT,گ2m w\LSYUD0沪X -yvJ#!5PhfT'n骴6uÃ0沪&D0沪ʨGdךʨG{b3G*aMAu'(I-"9TP M7L= 0ЎFw˯f]r4N v;.2ÅΙ1OZH>X>';fl./usr/share/man/info/en_US/xlf/html/lr63.htmp/$ CASE Construct XL Fortran for AIX V8.1.1

Language Reference


CASE Construct

The CASE construct has a concise syntax for selecting, at most, one of a number of statement blocks for execution. The case selector of each CASE statement is compared to the expression of the SELECT CASE statement.



>>-SELECT_CASE_statement---------------------------------------><
 
 
>>-+--------------------------+--------------------------------><
   | .----------------------. |
   | V                      | |
   '---CASE_statement_block-+-'
 
 
>>-END_SELECT_statement----------------------------------------><
 
 

SELECT_CASE_statement
defines the case expression that is to be evaluated. See SELECT CASE for syntax details.

END_SELECT_statement
terminates the CASE construct. See END (Construct) for syntax details.

CASE_statement_block



>>-CASE_statement----------------------------------------------><
 
 
>>-statement_block---------------------------------------------><
 
 

CASE_statement
defines the case selector, which is a value, set of values, or default case, for which the subsequent statement block is executed. See CASE for syntax details.

In the construct, each case value must be of the same type as the case expression.

The CASE construct executes as follows:

  1. The case expression is evaluated. The resulting value is the case index.
  2. The case index is compared to the case_selector of each CASE statement.
  3. If a match occurs, the statement block associated with that CASE statement is executed. No statement block is executed if no match occurs. (See CASE.)
  4. Execution of the construct is complete and control is transferred to the statement after the END SELECT statement.

A CASE construct contains zero or more CASE statements that can each specify a value range, although the value ranges specified by the CASE statements cannot overlap.

A default case_selector can be specified by one of the CASE statements. A default CASE_statement_block can appear anywhere in the CASE construct; it can appear at the beginning or end, or among the other blocks.

If a construct name is specified, it must appear on the SELECT CASE statement and END SELECT statement, and optionally on any CASE statements.

You can only branch to the END SELECT statement from within the CASE construct. A CASE statement cannot be a branch target.



Migration Tip:

Use CASE in place of block IFs.

FORTRAN 77 source

       IF (I .EQ.3) THEN
            CALL SUBA()
       ELSE IF (I.EQ. 5) THEN
            CALL SUBB()
       ELSE IF (I .EQ. 6) THEN
            CALL SUBC()
       ELSE
            CALL OTHERSUB()
       ENDIF
       END

Fortran 90 or Fortran 95 source

        SELECTCASE(I)
          CASE(3)
            CALL SUBA()
          CASE(5)
            CALL SUBB()
          CASE(6)
            CALL SUBC()
          CASE DEFAULT
            CALL OTHERSUB()
        END SELECT
        END

Examples

      ZERO: SELECT CASE(N)
 
        CASE DEFAULT ZERO
             OTHER: SELECT CASE(N) ! start of CASE construct OTHER
                CASE(:-1)
                   SIGNUM = -1     ! this statement executed when n<=-1
                CASE(1:) OTHER
                    SIGNUM = 1
             END SELECT OTHER      ! end of CASE construct OTHER
        CASE (0)
          SIGNUM = 0
 
      END SELECT ZERO
      END


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  lb;a$$2mf>H>X>';h!./usr/share/man/info/en_US/xlf/html/lr64.htmp/$    et-<>ORainors /=ADEGNSTchlmu",.BHIPdfgp0123CLMUVbvwxy)479:FX_!#(*+568;JWYk&'\Qz|Kq{}[]jp|Ǩȇ Ŵ 4P=@ 0=@׸zܡPyᕥ̫1B v8,+[iiiiiiiiiiז @4pA 0T̐ [ukA,."+HD)oHOBP#?-[*^u@ $@ G8/V( /xH( B?ז (`#TQmpحm-h3`ynrLlXK W)|%åi{6\ּmoOQ,oZ9}%2mk^[6rL^jgZzے^fM]\DWZGIVi+Nz 8;VF9'/A%ICEZfUѝzԨ|:̫T$3eSFt?}M,%[e4gܳc)χqP=KgZuj4gVU~VW/yР:ys׭JiRޤګ2-iڪ:q(EyEV֨*W$ (hM1map/|gz [BE zj@@l%-BdQ4Xp_8P@@_  P0ynAC" 2ٕu<),P@-0G hAHÞ[E5#yq$̫qY_r[ bOR~^-2XTeUKp^wupzW t^7G hAoq<zg女:fO˯ZʜG9,ܳ߫g“'BLUiOܚH8ԌEZfUѝ/΄=Օ:e5'5|--i}[;R0I8ԌEeSFyPճ5#z 8ԌE-2,-[:Q{ECB')Cyn#yeS\dֵkZֵkZֵkZֵkZֵkZֵkZen0Pyn#}[e4"UdֵkZֵkZֵkZֵkZֵkZֵx_@|F(<{z >kրkZֵkZֵkZֵkZֵkZּYMbtk ab)q#4Y`([a-t@dbyn<5帋zp@c)0@輷90zyq@h [X-NS͔׹n0/q=Þ<|n1 t^[zq< 4Z Fϊ ?̫s:V!NK6S^{Ǩ{,%n1 t^[zqwn1߫K~嘝%grjF "R0IkKWF>˫i֜GaE ZW1_.ԌE&`/֗2Iճ5#yq$˾qgY[Vέi}*NԌE$>15#q'=[&3Z_lʻ&0o Fygwܮ+2bE5#yq$̫c=ilMH$^|bjF "}MB\V1:Ks[R0IHZ_lʻyS5#z σMH$_c)8Y3}%E5#yq$̫c=ilMH$^GR0IhE89E>*!9A||P-{ [X $<$ ΦYK[e5<-,PH@Þ[ {9帋[>嘝$qu]z[;R0IHeS|Kx)_;4k[XQ1o ZEw-B~qʄ۶;q?΅=Im-ʜG;7^W}1:Irc)yVϹf'I/c)R0IHZ_lʻ. 4Z [X"@0[שI%R0IԌE0h=ʝZe:yPTY-2Q\+VeSoMiճ/:JMY/ܚH5&`/n1"W[>+V}&+c)ytw&`/>15#qg1:KsܚH8ԌEZfU'=[eS~-^B8sվ-.-2א.4xVzܳ<rjF "R0IoN 4Z Fϊ &`/A#q$an1߫K|א/oKKq#,=YR߹f'InyN/R0I8ԌEeSFY]+̘^B8>ɩ$σMH$_c) =orNw&`/>15#VٕwVrjF "?HhEe G]ɩ$σMH$_B]ɩ$χG A&`/֗2߫*{+gհɌbt-2O,%[e7yHg y;WK;4k$( >($xdL[ܚH&`/q?eSF/pKwH < BPzÆV2Þ^[ET)R0IHZ_lʻխ/;I.ճ*E|.-2~NQ9Чճ5#yq$[e4gdP]SOa{bt-27"S֟kle|)Q,'BViPz-ZfUیg*zq_.O-խ6_|֕ܳn1N`[15#ywn1;Y$7Š璻1,lMH$^|bjF "i}*j\Jij֋5[xdpiZ[:ӫViG~j-{H<ԌEA@R0Iok9ӧճT)ɩ$σMH$^Z̫Kq 6_m*\ZK|[e7ΟVy1ԬSIg}Y̖gS=I[;R0IHZ_lʺ4A Y<%P? rvNzlMH$^|bjF "i}*k6Z[ʞKZf+̜>eS~-;yϫav g?grjF "R0IkKWFH=u;R0I MH$_c)V^)w&`/>15#VٕtYܸ`i4ΧrjF "q$[e7]ɩ$bjF "}MV>ҡL'lMH$^|bjF "i}*"^);-ɩ$σMH$_nԌEÁR0IkKWF|Yܸ`i4MH$^"R0IoLUڥ-&=oTղ%zin04`xkqe~Nf3fjւYkδT;4kFψH-ZzWVYkδq7@轇 t^<-&9oһ֐yq).z `i4[;R0IHJӐqZ䰜鄸og?g'啕n[:/a0 qx in04A-{δ՚o_d"f嘝0|+lZ9n#p;SaɇxSL@pw@SrhֵkZֵkZֵkZֵ;F(=^[ujUgZzw&`/>15#q֥zګ򶪹{΅ “Ɩ/pKwH < E6++MWmUr 8Þ^[ {9帋kRZmU[U\BnY/Ofڶ[*δ'l g?anMH$^|bjF "i}*lHoQlܴuV|^ [:fJLF}[99c)t{J3ԙzw&`/>15#VٕwI1Vvu@ճr֝ZM` ϫgrjF "R0IkKWx+V2t1,/l+%.ɩ$σMH$_խ/e]ҴS,%[e7ԟէrܚH8ԌEZfU+g$KzVI;:ӫZl_V;:ԟճ7*E|n1NQ9ЧճYK}MO<Ռ'lMH$^|bjF "i}*֕BV,%[e7K|Y֝ZgFrNz1lBڪ:'l2VK;R0IHZ_lʺ4{^G hx@@@P- bORVP8Þ^[=MեVVVRV}M+P?OgS=I[ rjF "R0IkKWF_+gLU]l}1:I}M.w*W 2-iڪ:jVTw a9 ճ5#yq$9=+nG١,':a.IN> bORV*RVԌE&`/֗2-^,yzf'I/n1ހ*δq=89E< {9帋Y֞rN_eS}UU_^vWRVJى.^ bO|9Epge}'ҥIkMWȈXհeWgZ}Z[jVTwKukMW*R~]ɩ$σMH$^Z̫ǫ;yϫgS/LUiO,%˾qe_oO/.O-OZmς;:ӫZl_V.tVSe9[U\BKqx%;pr|G@o!Eme6[:ӑUt({ yn;pr x8, {9@8zgrjF "R0I)Zr_}[<--iի4ўT%l2O\ىgrjF "R0IkKWxվw&`/>15#q9_[+KLUC<+K[U\BKqQlR]'lMH$^|bjF "%+NB+譲W\DWĤ9Lܘx煸t)׭J@P0j* t`8PG7--νjW͆0常9QHpB?$/--^ ҧzۃkm`GY:/-bsxG!8K 3$ĂJpg _ 5Aq 7`Tp`jCpG_ [#[P"ÃPyn"G h"Y`xP@([W˸Þ-b$ tÍ.!g>A$3(@0#o@ A"1  pB=A% @0 CI$"_4L<8Àp0 *aQPh)/x xpT)$/?A$ja9 i$ ?dbA%8 3DùbaŠ1A帋>/pwP| Ȧ z+OLq?/q|P-{!cVJufc9{4k  zX)c9{4k (jA%IeiM9{4k [X 8EAo!BX(-t@cLsqx=@זeH>X>';l5 ./usr/share/man/info/en_US/xlf/html/lr65.htmp/$ DO WHILE Construct XL Fortran for AIX V8.1.1

Language Reference


DO WHILE Construct

The DO WHILE construct specifies the repeated execution of a statement block for as long as the scalar logical expression specified in the DO WHILE statement is true. You can curtail a specific iteration with the CYCLE statement, and the EXIT statement terminates the loop.



>>-DO_WHILE_statement------------------------------------------><
 
 
>>-statement_block---------------------------------------------><
 
 
>>-+-END_DO_statement---+--------------------------------------><
   '-terminal_statement-'
 
 

DO_WHILE_statement
See DO WHILE for syntax details

END_DO_statement
See END (Construct) for syntax details

terminal_stmt
is a statement that terminates the DO WHILE construct. See The Terminal Statement for details.

The rules discussed earlier concerning DO construct names and ranges, active and inactive DO constructs, and terminal statements also apply to the DO WHILE construct.

Example

I=10
TWO_DIGIT: DO WHILE ((I.GE.10).AND.(I.LE.99))
  J=J+I
  READ (5,*) I
END DO TWO_DIGIT
END


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kvvc$mf>H>X>';m./usr/share/man/info/en_US/xlf/html/lr66.htmp/$ Branching XL Fortran for AIX V8.1.1

Language Reference


Branching

You can also alter the normal execution sequence by branching. A branch transfers control from one statement to a labeled branch target statement in the same scoping unit. A branch target statement can be any executable statement except a CASE, ELSE, or ELSE IF statement.

The following statements can be used for branching:

The following input/output specifiers can also be used for branching:

  • the END= end-of-file specifier

    transfers control to a specified executable statement if an endfile record is encountered (and no error occurs) in a READ statement.

  • the ERR= error specifier

    transfers control to a specified executable statement in the case of an error. You can specify this specifier in the BACKSPACE, ENDFILE, REWIND, CLOSE, OPEN, READ, WRITE, and INQUIRE statements.

  • the EOR= end-or-record specifier

    transfers control to a specified executable statement if an end-of-record condition is encountered (and no error occurs) in a READ statement.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kꮹd$O mf>H>X>';nO ./usr/share/man/info/en_US/xlf/html/lr67.htmp/$ Chapter 7. Program Units and Procedures XL Fortran for AIX V8.1.1

Language Reference


Chapter 7. Program Units and Procedures

This chapter describes:


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] > l>e$8mf>H>X>';o$./usr/share/man/info/en_US/xlf/html/lr68.htmp/$  aeint<>cors -ATdfhlmpuy",./=EILNOPRSbgCDGHMVvw01234579:BFUX_x!()68k#+;WYQ\|'z{}K[]`H(Lw <8&Ě0`ǃ GF4hѣF4hѣF4hѣF4hѣF4hѣy<,0 }(Z: Nw?*Hr@.P,P@ i1! %Fߜȑ< <0ws@;h$ 504) .*NWZcCM&KcQR udi;PN<CWGi1!^ )Y!yJݴ)e4֘xB4+ۧmɾ+B*; v504TpY>UR '\)oKpQZcw"pp@1"eDDODbx_O;o^.z+m|tZS{u]7S{u^on+giJ͈v ;}fDWw+V+B\o BЧ'0|"+Y~G`BZcw ;x_J2S譎~pqxez?Rά^8_ |wb\=UԭIryy ̊ŕTz '^+V/ PW|:  ծ#y{o.uF5GezO0X(y8@;XyFQ0Qʔ $Q"ca\o-)ͽ"F!HR'_tOmE|R|WP)tZSz c i;88p# X%sLa܉Æ-`ÚcN4H  kMx׸A:r%^WǺSNc(鼴6v 8EJ\k|e诩WJi{(OmqFx׸R{՘oz&Oҕ+U6qӤ<QR}fޮhcrE<$PWQ{ȉh~^.z>{,*zJi{(?#Yefޮh<83(4H< @X`xqƉ(yC`+"%Ȝ8ha@,kw"ppGA8,KX0m`h!;88p!e8O (84Jpť0DOD ҮUVʔ5A 1r'$xXD Z4Ȝ8ha@,  90X kN4HhY@Dq- M>;6v 9 i;88p# X %sLa6A`9M4M4M4M4M4M4M4M{Y~iiiiiiiiF 5 4hbo-)ͽWV/ S' {Qw=EopFN!T򄈆4(DžA PQHK%JQM&PsXh4M4M4M4M4M4M4MwǃF߆iiiiiii`e5c z>~J ʹnM?YӘ嫭CYqsT9tZSzxʕ'N[duՃTc Wa4x!X0Xi 4,h@ @Z4)!YEl'82S0Q`5ovJytZS{uf0X kN4HmJ tfޮ5A-1r'$3 D-`ÚcN4H  kMonޏԫx~1tOm{xe0E+r_Rº 0x&8h0DD@P'kN4IRg$8a-`ÚFT \N)0+7mEuVu *"Js;9b  ծ#y{oȊ~G`QT-ЬF㳴fE{ͨde`"+/ՃH- yZ]3%JN㼼%J0=E_|*!H] Fߜr] RшR7L}{s9@a|iQWf+1xʕ^c*ޏJܗ&9*|~%*SM~#z稫z/z>LgjЮ~;uhY&J >{B=瞣Y:w?6o#*1O(HcIq0  oҕ+Uuk!c~Vl|¼dyz?R#yx_N+Y~cm/GTdsռ/.uF5\~r^cm+S.z[/x 8_V[/~;Ψƣ*{u~;x_$~Ӟ\~] RB,~ؘ稫b, = =@Voiqύ+01u`R B^p mAu&Ӻ (`]e+7^{ͨdՃH- z ']X=ԂС]1X=ԂЯye&=)=Z9RxKw*sռ.b{ޏI|0.\E@WJUVɊxR5 WEu`R B)[砲/RE=WVu +X=ԂЯye&>Ψ'^?Rx1lF/u'|/uWԫ f&|%Ψ']ëZH+QR{ϩN1lc $A0G=[l_Rf7Q{?Yߔcǩ+֍!ЬE=7Szz>qC9E9/&d]EuH}+6_?RtOmJeJNcFPMԮϩWtƻ*D_;_Rf7Q˦ҙzx_Ә嫭CYzot6~xRs1Rsռ/^nwyz?9d']|+8eElv_ z+6=>xv ҟۨ{ǁiYw'1c|=K,i%JSR_WB)]hT򄈆6#Yڴ) P)'mԕR!_RRJ>qCJ~oWD'1w)=[l~T,B/ϩ\{4(Jv ;Vw?#Yt_N]Z"id}JwVVԴ +Mfޯޏrs7s1>;1{vߝF~ !YT+|*Mfޯޏrs7:,{5)=Z @{_ޏԫfG|*!H}]Z}J*~_8@{X@{o>]G~ t*!H}]Z.uF6Y:='L~ NTU:؅gY:¼`:{Ɋy/6ŕTQ,xYX<%NWGiyɊ]tBR灺R.uF4,Z51{vߞ+9PW]΅99yUYOExTUmRkF/W_%J灅߅ǿ+WB)Bz["=fޮfJ<Ψ'^oW*R?BV}Js%Ψ'^.uF6Y:~\?Bbա|z&jUO~?|*!H}]ZxMZdrLBԪ?^Bbծ|~` 1zUYڴ+â}JwȄrY:R2.z/{?Yܜ< <ԧzSW_%J&!P Cח:,{ϩNQh-^jnM~99!<99.z{ټ)ͽ_< oRxʕT12sl/#n {ͅmX=ԂЯqTcey)"x_a6j˫Myzʅ]Ӝ}JeJ8z?RH- *T}ԫmAurɽH}JeJ8:,r q*P?{9jxʕ>q~^n ۺ{BZw (84Jp0вP(ZR~wrB 9á[6Em`h%;88p!e &8ZWgiJpv ;xۨa`KLa64Ȝ8hڔ* 8%vv;6,sX04w"ppGA@KX0m=*4#x_ґ R}fD`@La#*Wz>|vvފAe_ f0, $LcT(1UVx)YnKUZDYA0aa#*Wz>xu)*Sԫ  hY& *yBDC&%|ᖢ k Pƅ`§$D1aS"г9 P)YJv !‰8( $Lp7sծ~^U; aS"вLT򄈆7qf0`Yc pMԮ_=QG,+.BarY:*PWRatZSz|:ot6~{ǁ;>\lu>^.z[/{㳴fùޢߏZ_%JGώҕgoҕv ;E zԫVdvvw?#Y6q^qCgiJs;oW-1)W_%Jc ] ԧ|L#>z (`]e+7yRLElvgiJL|z?R+7q{*SĦ?R^q]Y[Pԧ}zɡґ 5 |+&L.K'^Ux_RMd*?R+7;m,h~_%JG.J}ҟd}J\o &GgiJs;*+~_%JGώҕv ;Lԧ|vvw?#Y+UTqPVJTd\kWҕv ;}fޯ?RGU㳴f?#Y6q|rq>^.zz+95/՘l{+7v+U]Jvvw?#Y6qFjUTqPVJwW.J}ҟŘm+7vͽ_1xʕT1\luT5)ޅcL.K'B௩Wҕv ;LSW_WVWV R1q dWs;91o|PЯWծ~^;;JVo|;,zmAKCPz{QT׿WV}Qh=QR}fޯ?R§$D1d0  o\NU; aS"вLT򄈆7y1O(HcB< *yBDC㳴fq ds)W_%J8ddHw?#-e5CM4M4M4M4M4M4M4M4AsFiiiiiiiiF 5 4kAMa܉Æ B- r;JVoC?#Yfޮ5AM1r'$xXD i;88p# X %sLa܉Æ-`Úc xqs^;;JVoCYyi =eJG\N;Uja1m dLqF&0  hxu>^.z{)xB**yBDC$P0  h?L]ZEa6 ދ({wϋ9\NJ+R:eY|鼴6~yҟNcΨ'^Td\o =O(HcA@<"!R{ghߏZ^21vQPL%0`y/kԯ>^.zޏ§$D1E A PƘv ;EyQC  hLaS"y" O(Hc|vvw?#Y?RRUqF!A0Jh5**Wͨ+ Cޥy*sծ~]O(HcA@<"!R{c,N*8oK%J`4_hE*{ϩWs_R{ڂH>X>';s./usr/share/man/info/en_US/xlf/html/lr69.htmp/$    et <>ainors-/=AEILNOPRSTcdhlmu",.CDGHMUbfgp()0234Bwy!179:;FVXYvx#68QW_&'+5\jkqz|{}*[]KjczC@gY z =r =!1|Ay |N峭 b.|ŗuqٛiiiiiiiiiii/dAR e lh ]طbe|$T8Xw ]/U%a ^u I%HBi/|`N[IpLAem9:ۜ;@`q`xN1eg-+foiiiiiiiiiio,t yWP-2`Z)c<eBȦup[(@xՌFt yGTL`=Snaa."buV'-i 4JAL`a|׽Xu'ٖ˱*rYSfNxٙ2ylI̻Ogv*Vt)ݤWgI9̙uV'-i 4JA@â8@h84 :/4b>+ެN[:NV>MQ SΛt[TYu}$V)i8+ݜz"W;8Ntδ_&Nc?)-Ώߵ[s egH!Zy9['w/F|R_gI9&dr$y_X#lֳ[辻Y=_IgԐ69i1Dvp=iq^s]+q^tܱ91u`_ʌ2"wϭK|W9,:/q̦"`;V:g:yx,:+U2+1eM!n9PB'S6>s,:"U4DT]T^n9M1=[e51#PgR~^sV:ƾ"`ab)-vě_/wIJZNy[=+L17tv}}ةYЧvo;V$lGһge}ms3a:> .iӗ:,:/q̦&\"NlG&݊ wi=b<1'o{:Og&:y> .iӗ:,:>-2+ʌ"`:):}k;UgI9W۫o6z"-1#F/@g-02^I9UΒaIuvRZ+%R@uα/lٶߓ e2MHOEmRK0^ktܷ S-tܰW$#ڭ峭}k9ZΛ峭>-[73Y"KI;tTc>K'NZwIJZN ;7-{ՉgZ=SRLgOZ>+jk9ZΛ峭=N{M e>2'v8û:" SSbN/yZΛ^Kݣ8NtEyӈ56J峭=ZIko^brg6{Sg˾eOZx,:$V>,:>-2/+ެN[g{%I9uvOgnIv*Vt)ݤ_]峭qvDV)i8/wD`8ָ+'[vse6-R/ "KK?H$* r \BC¸9$7D=TȮG "QT*q@y?{WI76>SgU[A=P t y vV0aȣU/"Wk9ZΛ+YrJc?kV)oMlG/RֳeM!\G YuSHt|m2NyQ^dnKdI~öS[|nKq}QS6=w>/E ) ^0B0F _ `4l_(PEr7-G[ndB>^ .iDQE`>,:>-2nHGX,:%zi0HY] YuSHt}JA}lO$Xƪ ]TL=.i :>tx AsF`wvl _|TEPJO*|_B0Er7-wXc/rn؏g$ub[)9sJO*|_B0Er7-~V動2~˳;qvu?/U4ES"P1eM!˪CzC`b˪Cs)ty[Uegk-ZV帄0^ȯ0u m]L3O=8wv<h-p5SRx0LOe6dS8NtδD[b(FF/F F/4H9`,008LF9{:ӭoFy׽Xu[e<:/]9{:eԟ+YrwԷԟS4_@tܷz9n3'yvp"MXhgg Γ֞-v+Yr݉S1[wh1& }ֳm9o EZ+ެN[:eԟ+Yrwϭg Θȯctܷqwl'1۳m-E)n2{+ެN[:ktܷbTlBB7ۙ9"nKq[d :<Ǫx0- )0wD`@X1K;ԑLGO% k\&礸"M>2ܦ<hCCƪCOk.rg004H}t L`â|``#=_V lg$'mf>H>X>';v3./usr/share/man/info/en_US/xlf/html/lr70.htmp/$   er"<>Tacinost /=AEILNRdhlmpu,CDGHOPSbfgy-.023BFMUx%1456789:VWXkvw!();Y_#Q\j+qz{|}K[]'p0x" $B1 a 3<aזEy[=66+*Nme3a^4SdR = Rt*fU-iiiiiiiiii𠧖(+d$N`H8-vV,✑_5   () DRJvmZpI@(@@ N 1400; 0gPSpQ`7V +~x]bδ`3 yn-eBX_Fr[1l⵹ +O#PSpĈ f|m_g+9V_<A\J+ NQO]NZgsZ9_ yn'sd(֗';𠧖wHhOEXzP5mJlWwO$IlmJlW@eδ&66+W;+ me3+΁*qNH$ڔخ+(y¼|q &Ӕ+vv@QIqZ_)pcŏJ[|u%c˛;T( yn>qЁ(Z Fx@kA 1400;@8,DBHnJxo=( hW s`P4 -yn>qЁ([lOrǥҁ#sC `8%-`"V0dfJN %cBRwh %j/w3`9TCUj7Z2:VU]^+:A ^3cjSbn1Pyz[Ew$dFmJlWw-"܊:HɳI^u$ڔخ[Eu> 6[ْ[Vo:g$ڔخ[E$^["y@`@850:L$Ԧ;xUeWiO)_IUk΅=I ^3cjSb_FW%Oi$Ԧ{ FV 񢜒ՐGĶ66+i;/GkPsq&66+Fy%P)tmJlWH+us}$Ԧzi:=&V NB=\ck,Q;y%P(+\/pnRX$ڔدoy&owHj@q<8DZp(׸Þ[<|m"+g$ڔدyVekͅמa&=!.׍|{2IML':e{Ybruupc"A 1 c$80LzC_x\WO[޴X;#Ǥ5F HkKwHj@s^yn NݍFw ;,mBSS-UW$ 9. {UrA3A1S8GEP̒ڳy=wǓfBb(=ȠB΅>FJ]r:Q;ooR@%q]FW\lme3+|Vm#|giJdq\V;_6voR~=FW\R7 UUGb_6ŀ'B0eb j󿝽XH+˫;xeĒ+˫;x+:_4W5r>ҙpu 1S),$W']*v#_/;+U):F<\|W͝9 +0WzlKoYA^w.vV;_6v[> 璱+z2{Ybx{Zr閷?;ع,{v6V;_6vn̟K擌Zra^4Pus|oV/:+AEO\me3oMJ{12OusXe|IYQYX^Xv+mYPW"+˫;xeĒ+Ɗpus|ogK hgKįܳ+^‹X;x+;^r PS)z+ۓc b;ؕeW#y֞vV;_6v'P'v2o mfW{;yXe|Yn1yn 6󷌥-tX vi;V6/N2uc;Zrwv:{JN;4Ϭ[pz'=1[;R5!qȠ5#Z>"ހZ,z fz 8ևyTts@jF 9kC[kED55+^/N2d=A7 @g9kQҫN'wOƞti8$d';^޻oK-i[Av:xM {otynr( H֢x"ԍloyL=3x=kC`V;+{2IM {3R5!qȠ5#[p"kED55+^Yl-9NtX vi;=7[i{z\Η'g$d';^޻oK-i[Av:xM {otynr( H֢x"ԍloyL=3x=kC`V<;i( 26d=EOx8P 8a5Ǣ@dHh,6:{MْLmJlWޡ:{JN;4q&PD7E 8Z,z fz 8ևxTelme3[Ǻ9Ƞ5#ZoR5Aq =2&XC[ Z ,[|aiw-@cd{ts@jF 9k`=FW\e|Սج|^ҙq^+-YF$ x̯YX;*[EfV [g[(Rc;دN̯zW|K^4IK4Z[֋q"ج|]Yj7%YRuMJ-EŸP{EP{Abh0K NcPo93G“+FwH>X>';y5./usr/share/man/info/en_US/xlf/html/lr71.htmp/$    -e<>acinorst /=ADEINRTdfhlmu".BCHLOPSUbpy#,0123;FGMV_gx&+4579:Ykvw!()68W'QX\|Jq{}K[]jpʃ #Ǫ"C(4C4ԑTcp TWg8Ҥ j`@ > 疯 XXWcp Q7B!F/#RX^TO _cp eY 1{zXg!(q_k(3nJ-ECDy39B|BߔM(VHQ1&g)m 6YF'^if뾻kQʗfqg%ōYwXF+#RǘU?x' $MTSThI5QP<^ֶw YA :-8EOT" $$pԝwK|qE5N}]CXm:V@ bcQT=UIb BG lо/"X'xX$`p[p*Ǫ,DHHut/"  疯 H,8U?URX(TMTSTdp 疯 pH,8j#\.+sck yH *))^ELSVgyR`-Cu{YaP?%/3FiP_*" 3פvtJC;?d(~tPd81ƓTAGzp(cw4ʲދx![Ҽ/ qw{3:3[-liUqqqqqqqqqqwy?x' VȮ&J-4o! 7Mj]uƏ y<1?x' ‚CAB8[5 E5QMQ0бoJwگ" =4xcq3Q8ZHPH-4gp,[i1Ğ$z^UDDQhov_ضK<'T2d}_ դuffh-ZGVnaFa?mCOwگ*" [Wl;yml3>#|}VqG)Owگ*" -{EK3(Ŷ2^Q;ץLה>k83V՛WMHFOpcŶ2^QInDQ8ԞPUAm㾋^ֶw^kݍ/l+F[ͶunCg5Bkw x hO=DCCq](<((( y_/lo طyR|{8= q {UI=G]x_Z'ekF)蝯 [;#y5'{Aym$ͽiv= [;'w=DCBAQSAƞ8{@q'? NUhp^r 7הm迻aj:uќqz-B1v𠠠[ҝ;Rq׳=:o#}yFݦ~W|i;J߃v=إyjSc}*Zj*L't؅|!Dෘ =fhEkg85@+i.gq8 =yz7֧/؀;}5_}؅9j:u+rB~~KYAJv!~)nYi <-jFPr|#vυEkg~6Ej:uv!s%o:_n0A'O߅H N(gZ դuf+mZt'ݍ6Ej:u޵6tb+Yֶw&8 =Ƒ I걽GyF&&Z=G/?)j#/ we [;݈_ضK"m^)AzW Ш݈_C'KV=bo(v7#7]ɷ=ld ʓ2ׅ؀;|u7;WtgJwگ*" Zt-!XFYZQfZv<-,BxWL[Wo),;Rՠ`[WyRvcׅ7'x_Z>3Ev-Yko-'w)j#~ݥ1Ov4͝_ oZw o';WwO>~SxGyZ,_M/o-*_K\ZԌyRc:Wvռ-俕[ñK_v=޶ٹh2;aqz-bAAAA@o@Tm[ڵ)4_iR~MfQ[gl0y;ʳH|a>Wxk(WΓe)>SxGL*" 7krSg}ld ʓMU U&Sy/lI6{YGwگ*" 7kŶ2\qcÊl-/*Lg'! f`p ch z $8[MTTiY팔)j#44g>Z>b/(դufV:["[|V՛]wv<8k(c=V7LA$P(AIB#@jE1^ֶw,zMKSxGL*" BSg}ld ʓV OV򟇴hZSW6f,rդufpk|";TYw#7]cZ%ldo)Lq5T"HPiҽm$͆8ID^ffffffffffffff#5 giRyg54Ğc=^gp(<(((4/QP]SU E`fw }GQ@xq=$əɔo-ZGVn 3jreu}:b{Sg|}1ĞJ~;b>Kuim;սY.aj:uП+oMU @*i5T"/zȫwJv+2SxGzmTQwc={]"phXLd)ޭ z/@S\i=DCA!CBJ%Mq~8[5 b zz+~JO"pj18jެ ԝw=Ǩy٨ 41=M@(5OQQoJkh=n4k?x' K\L4[i1ƍ"14z$` O^ lXi$o;mf>H>X>';|K(./usr/share/man/info/en_US/xlf/html/lr72.htmp/$   e-<>ARainorst /BEINSTUcdfhlmpu",=CGLMOPVbgy().012DFHwx!34:XY_kv#+6789W5;\qQ|{}K[]jx4āDNȦhq.0H8R r`[::!-7knkP: st+jK]\~,Xbŋ,Xbŋ,Xbŋ,Xbŋ,Xbŋ,_s[w&'ZTC!`( NRe}&$(  t xM 'Q~KoZ =pz@W|j) RR n^`_~&,:+}+}v_s(].i%Ј xPPP 88X.YA#Hu$Q77k즪VT<[Ј<4P0yo#%}v|oE;Ww}[oS}1ٚ+ڬ5Qj)ڽ[LzT`f_zaR=cqnmvSVTLf:n$|[{)}ǥ~W߉ YTn'lթ](Rs~N\ ߕlWVu_fͯU~W߉Oo췝68پxxkT|_;m~Wz Z+ڶ)Z_|QvSs%|Qv[}瞼բm*֊U_ojw;y[ W|TNi_"^jqט7~W߉oE=f[K'ldfJ=+{nf|XŅy米}|x^`lij͎lWgkN\y Q>-{U&WlS4}+ܣlsئ3o>lWgkL[g}>_|QvS[}ɵ{Lv e>[oVWRk{S{_u>-{U&Wgk Ң6%|Qv{Wms_e}6=c"ھk!Lբm*֊U_ojw;ky[|a-`sZjo&Ŕ}\yҹ+)ڽ[|n#f@̝6`=_}+ҸMUR1Wo2Գ jZMU{W{Ww޵j/~7>;mp|zp'@0 0ys9s9s9shpv9s9s9s9s<`ۭ57Ŕ<[>'Y$t0MA!$pӥx / ɠ1#!yg A#z  ;ĿÓ@bGC@GDwpIoMAr:Aqgørh /ɠ0,\JAW8mnfG"GDq(/6YZ2.G"䅇&pCAɠ0#xɰͺLɠ0, d@l?0xxB#$<6AAA@`8'bXP`JdAA X`sV)ϮoJr7wq e~7knkP<4 |zp'@0 0)OJ(jSUnԝy=#]ZBK~j\ޕ^j~i5q3JkTSҹ+([Ww꺵+W7qE;Ww}ic4B֩EszWS{)} -`6z)6w+W߉x6z)\ޕ^jK:͝ql ߕA=z1" 6yM[;Wξ\QN@觥sZjoRuujW~WSkҹ+)ڽ[0)OJnYIֶ'+m5KGDp8ǂj"d7:JG>3<;\r94$y8TMDy$t08G Ap($pӥϊ>2_0>2Ď8 DyA/Ac!/668TMDj CB?^2l1J(>&_lMD62 cҹ+)bj%x> t"< cv|A#"Ex> pA!A^2l1J(B@7>'[##[h>=8X@pp,\(0%| G ,0 nJ꼃[y̌`x=8XA `B`#G,I᠐0 `#FԮy1Ԯ۬W+;ko<⽯RG;Uu_J([yıp _,a 8808G;Uu^}szWSΪZy-\< 'x']Zy2YZuWϔtvMMز[,.qJ]ZߕYܯ[y斯y(k̀[E3` FPr@w@yK "p>7U3KWk췌3֩E#52_jUY+rȢJ2E3`L /%ZeFPz)f鏕l>Wߒo+UY+ro%AW yla(%㏂KV;͝Q^w"S6o1̓%C3ٞT_{c}-(*S6o1̓%@$811->0> [RtW٭KWe yl=/E3`L|_~J[e yla(uWe yla(wߕl>W4-[ew(;\㼔e^f-"y(y^Qz)ǘfS%@3@nT$811->0>J2y(zcξ\QOfͮ+}*3}WۖQ^f-"y({_e yla(w[g{c}Kk_ξ\QBy[|8$Sk5Z+ފR "t /w(;\3Z)JDH=R >MELkT}+W;ulY@gRuט7| e0:Qyjgoڔ%㏁|m_RSUǝ}+Ҹm\W$u\Qvegޥc;\ eҹ+)ofͮ[|8G7kթ]W٭k'Q^xoE=fWM0Wݛ_~WKwT-Q^ EgoE8mvS{)}.gpíJ([y*;1_+)N4zUFWK\ޕko /%Ze|w(;\:U-UE)@l $sE)@l8Rk}_}gkL{-kBKy%}ފR 8ҹbb)HaԳ-QYמ9=5Qjjk\ڮQyjgoy^uWe^f-"y(zcնvS`WRJ2E3`L'X%㏀}E)@lTVb)HaԳ-QYמ9=5Qjjk\ڮQyjgoy^w"S6o1̓%CXuT"S61̓%C}EyRg\_}+ҸmZ-ֻ:Io0qyA`2:6#9s9s9sU}?#)js9s9s9p ##0->00xxB#$?f췟 թ]Wko<20yx2:ù'J) 9#<"A!Ó@bGCrGHyE / +kTx2z)H`fȂi1Az)H`r HJDYyRSq!nlWgk %AW yla(uTL|_~J[e yla(uWe yla(wߕl>W4-[ew(;\㼔e^f-"y(y^Qz)ǘfS%@3@nT$8k> /3w"S6o1̓%CΪ"S61̓%@WU_iW2\ */򽱾wLS60e:[FPUlb)O0e}Zh 0 ->0>E)@l"'@y$JDxϵX+oZli]W#52_ ;mp[|85F3ﭫfKVl> /j_F3ט7{JDH A1AoE)@lA#H&CE)@ly_TUF3ט7Kz)H`z @JD`%[eW;mqoy=[goErv`W;er^w elRyۄ<s9s9s9s8Gs-W9s9s9s9sFGA_~J{W}_|QvRuy=[[ފR  H瘊R  }*-e}6>[7U*ք0W" -+,Q" 6K25ZyݯZ+ΪQz)fVOk,RM_+{FPUlb)J2egފ{_bRl0W" **E)@l:e1k4z'_J-MTWże yla(mb((̀cE3` FPǟQyjgnZ3:WszWSJϦ;[uvuP<s9s9s9suU[hpv9s9s9s9#608,KW"`F #2#}88X.W"`瑙My>,K _,c $& Ljk<À|x|% 0%|NJ2HL"#6ǡ m ,hH>X>';X ./usr/share/man/info/en_US/xlf/html/lr73.htmp/$  -><=aenort "/ADENPRTcims0BHIMO_dfghlpu#.12479:;CFGLSVbxy!'()+,3568UWXYvw&Q\kq|{}K[]jp"bkUO\Tq [&Vs"vJ +Ir \Y;9OfX`V4EЫ{={{{{{9OE xyEѠ:@!3J4JᑼQ`[9O>tFc& aѶg,QE<>D0h m`|'3Ctd#a9 9p`mmmm'&u.bE%xY#&WcF`e&j4ޙlDy-mQƍh\%Ummmpn T٣, 9ie ͳt[b+Fmmg8 G"]*lpZA51%CA{mmm9ē]$yDMdd]5yAcTzANlXd,BE BEufr(js&8FxXʽqQ? Qt]#U@Z2%1 7X >q$G]uz`86h+2j.|Jp `ÁX0q$G]uz`8ϤBL&~&騻 8C"j4p" g8k.0 Dah4g2j.xTdMS !as'6j/> 6pipj.̄pdZg0b/Ʀ5frnfM"Gm 44$v+S84q#ىpɘ0ŧ*6f":SP2$vqdN@ȑ .DY;9Mɤ>ZrbfgG2dO+HK2$B` NU >3K8 NEqiV{{{{{{rM3E ( r bБsp/KFr,Z@6܎QI ,I*,3Af*P5MEd̲zA s"I7E (< }l+ẖL eSƩ2XܙWR,E[NUԛZ#nhTtFdqL êSbWBQ 9[p.dk$ܺҷZr'w|#5;lfXȒ(aXU3| v;Y;9ʬG?HlXd,BE Br 9VNr'w|#5;lf5 ՙȡRAS Ud?fGm2i((ٱTzAJoNc'g9Um5(VDF ŨʮAFj$v;Y;9.ַ #œQI)A㏷ rMH  >܂6s%mjLUdInZZrm$$^1GY1GfPYA%XȒ>XȒr-:fX b2A$ے^F0٨fXY*Zrm$$3qLGLnZ-Ib9±j2/I4ޑcH``;`>;` ``;yg#,3@`YA%88}XL+*"1nX^ 1Ɉl Vm/n#nEkX7Vg"JVr /nI+e @cq-+*RmjnZf7m%srHp@}e b<Af*Q 8pXiNcM2^ZބƢ9ax&"NX16pK,f43ube\Zk7XV-FU3fp@}Jܭ%mlʱdfMRe*Zrm$$^1GY1GfU ,EEYEO2i(lDE Ӧ+-Jܭ%miEV&*$7XV-FUrg96^ܒV/#,3@XYA%Q#5r-:fX b2A$$-g9[G5eRe\X3- g 5m5X"X+*tL%͚ ЖͨU4@*mʬ}?Dy,c&ٜ@}VN=k99 &(0 bIe\ۅXkQ 5m#y±j2b4j0fZ5eRe#5 ՙLpPVMpr9u& Ũʸ1,Z,WAS[BY &(04bIdHpPVQ' . aXT-ەY;pr+[K&5Xɶg/9Y;rssPfX&^k1 Juԉh2b9%8427L̊HS#ag9[qLQ/3E ( ^fe`^.A>r8Ɋ<4 1Vi36V#,3@hR#U\7|qyh84,Z &騹LLU 9AdyAf*Q"I ˟ddV#NA9$:&X/#g9ې !k8  kyk$mf>H>X>';./usr/share/man/info/en_US/xlf/html/lr74.htmp/$ Modules XL Fortran for AIX V8.1.1

Language Reference


Modules

A module contains specifications and definitions that can be accessed from other program units. These definitions include data object definitions, namelist groups, derived-type definitions, procedure interface blocks and procedure definitions.

+-------------------------------IBM Extension--------------------------------+

Fortran 90 modules define global data, which, like COMMON data, is shared across threads and is therefore thread-unsafe. To make an application thread-safe, you must declare the global data as THREADPRIVATE or THREADLOCAL. See COMMON, THREADLOCAL, and THREADPRIVATE for more information.

+----------------------------End of IBM Extension----------------------------+



>>-MODULE_statement--------------------------------------------><
 
 
>>-+--------------------+--------------------------------------><
   '-specification_part-'
 
 
>>-+------------------------+----------------------------------><
   '-module_subprogram_part-'
 
 
>>-END_MODULE_statement----------------------------------------><
 
 

MODULE_statement
See MODULE for syntax details

specification_part
is a sequence of statements from the statement groups numbered (2), (3), and (4) in Order of Statements and Execution Sequence

module_subprogram_part:



>>-CONTAINS_statement------------------------------------------><
 
 
   .-------------------.
   V                   |
>>---module_subprogram-+---------------------------------------><
 
 

CONTAINS_statement
See CONTAINS for syntax details

END_MODULE_statement
See END for syntax details

A module subprogram is contained in a module but is not an internal subprogram. Module subprograms must follow a CONTAINS statement, and can contain internal procedures. A module procedure is defined by a module subprogram or an entry in a module subprogram.

Executable statements within a module can only be specified in module subprograms.

The declaration of a module function name of type character cannot have an asterisk as a length specification.

specification_part cannot contain statement function statements, ENTRY statements, or FORMAT statements, although these statements can appear in the specification part of a module subprogram.

Automatic objects and objects with the AUTOMATIC attribute cannot appear in the scope of a module.

An accessible module procedure can be invoked by another subprogram in the module or by any scoping unit outside the module through use association (that is, by using the USE statement). See USE for details.

+-------------------------------IBM Extension--------------------------------+

Integer pointers cannot appear in specification_part if the pointee specifies a dimension declarator with nonconstant bounds.

All objects in the scope of a module retain their association status, allocation status, definition status, and value when any procedure that accesses the module through use association executes a RETURN or END statement. See point 4 under Events Causing Undefinition for more information.

+----------------------------End of IBM Extension----------------------------+

A module is a host to any module procedures or derived-type definitions it contains, which can access entities in the scope of the module through host association.

A module procedure can be used as an actual argument associated with a dummy procedure argument.

The name of a module procedure is local to the scope of the module and cannot be the same as the name of any entity in the module, except for a common block name.



Migration Tips:


  • Eliminate common blocks and INCLUDE directives
  • Use modules to hold global data and procedures to ensure consistency of
    definitions

FORTRAN 77 source:

        COMMON /BLOCK/A, B, C,
NAME, NUMBER
        REAL A, B, C
        A = 3
        CALL CALLUP(D)
        PRINT *, NAME, NUMBER
        END
        SUBROUTINE CALLUP (PARM)
          COMMON /BLOCK/A, B, C, NAME, NUMBER
          REAL A, B, C
          ...
          NAME = 3
          NUMBER = 4
        END

Fortran 90 or Fortran 95 source:

        MODULE
FUNCS
          REAL A, B, C            ! Common block no longer needed
          INTEGER NAME, NUMBER    ! Global data
          CONTAINS
             SUBROUTINE CALLUP (PARM)
               ...
               NAME = 3
               NUMBER = 4
             END SUBROUTINE
        END MODULE FUNCS
        PROGRAM MAIN
        USE FUNCS
        A = 3
        CALL CALLUP(D)
        PRINT *, NAME, NUMBER
        END

Example of a Module

MODULE M
  INTEGER SOME_DATA
  CONTAINS
    SUBROUTINE SUB()                      ! Module subprogram
      INTEGER STMTFNC
      STMTFNC(I) = I + 1
      SOME_DATA = STMTFNC(5) + INNER(3)
      CONTAINS
        INTEGER FUNCTION INNER(IARG)      ! Internal subprogram
          INNER = IARG * 2
        END FUNCTION
    END SUBROUTINE SUB
END MODULE
PROGRAM MAIN
  USE M                                   ! Main program accesses
  CALL SUB()                              !   module M
END PROGRAM


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] >CON ll$mf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr75.htmp/$   -<=>ATaeinort"/DEINORcdlmps,.0BCGHLMPSbfghu!1234:FKUVY_kxy#()56789;WXvw&Q\jz|'*+Zq{}][J Ty*'ʈ&s=$hyQJ E3Br$f %Bh{XW]וL_p>P2t^>oJ^lvc1c1c1c1c1{'@%d$ K2 u; hkkk-~\_rfCx0 |RƸ$tx9$?83ͭpÃ=wA| /5tu]8g {cMm7m,N[ ~RVu)'@%%-3lom7ճ{ݗɭ'@%-g\L]jκmf2ٽ[W[v_ {@,.mrU7ٮt('әDbp"`@܂Lxrea^wSFBDHJ'7lmjr 'DSN݅y7jnۍ`@1GI('R^ "N6ݗ;Q:""p:ˌぞmkAIt #ITW%`;Q:""p~3y8po ÃA'I('R^ "NW՛;Q:""qjg k\,pG ÃA'I-A2hh ll8z tfVd ͗[zo,݁,ca)`k#uh;hX[,gAܻXT1m]|gLՀkqms&3V&M:FhJ@NN@qX΢qv z9  g(Իp%jmult1c1c1c1c1c1{O2eE (9:N2nmձjZ{{{{{UFNUQ{{ {{{{{l|/&ڲ1uW[ yUQUTe)>)(<&(3lnO{{{{{ ]ʪ脠}ǓFNY:VPBRՐjBt{ͱ%5dzBEo JP & 3<:|g]|n{na@ RPJPm-sZp(u%5dzBWo׷` nZ&;{ͱeV6dMde 1 0`\/>@`</|xOUƂ#Mm)$$8p@YSK_&9mvf~_-e-` nZ>rtA @%)$S@Py5 !:LQvftJP= J!"ַ%Qh(,4ATS@">r3ؾ7Qn[۠zJNNY%)&ڲ1uW[SVC8MVZڷ^1]Ww:d`yj*dd3Q22HRiJ<Q22ZPE娪UD p<Q22&FH) L)F&FC=p7c6ׁj*ddUD*UD˷lg^ڸB˿bY}8lg5oVFط7vڲ1uvfc} Yޮ\٪\reb_ 0m{x&FEf#DU娪@Q22A"Y%娪UD$IH-ETLx&FETI:"-ETLx&FE$-ETLzw@Q22" yj*dd5+)nbv]ٛc~½zՓmYk]nMYvU>3qdɨBth*2n7vڲ1{iY Zg:٪½zdΪ7RYk&uVFrqnqۛ*͗o\z}}ެ\dLYث6_Y9v2~½zdΪ7kVJٽn8es]*߾9v2^kY3oV>ABfBt )Ǿ~6_Y9v2d{iW^5oUDȂ (-ETL3llgB1jwV.YqҔ *n~Yg8½m;cհG={1m[®^kY3lky4iIL0/5vpm||U/,XUq/]*:y0r)ʪfQɨ@C:OBt B'& 3C | 3AcG bX|es]+Ɇ9ɨ@C:Mɨ@C:Ox C܊hq !Н&UTd +(<'*|N- (`PLS-|jf>rO%Qh4:Eu`mVm.OUƁ@Njf>rO%QhpX[d ADt:Tv-c7lm9p'|4 klI Ir˺̢18~v(B3c'@ '(J   llm$9#mf>H>X>';./usr/share/man/info/en_US/xlf/html/lr76.htmp/$   -e<>ainorst "/=ADEINRTcdflmu,.0BCHLOPSbghp()12347FGMUX_vxy!#+589:;QVw&'*6WY%J\kq|K{}][x"dJ'Ȯ"KIB<\<].Eq\4T+ȦP5먹$ؼ?ʺZv3Z\]E'^YU~          2 "@$( mbY,c47=Dd x3-`mm*O *((> 虯 83(8 ́p< E__k83][]afgٱ8[wNMty)D q N;t@}.`t%j`$`Q5)"10ht1w MUUt5p+f,p @skS]Eub`%] j83^8po Aa95)"10hc2@V7&kpXh$^Up$~u=X<@O'#R/kh}gfIKZ}W"&n`QT7(0jZ/Εr- ;?d\~tlhʮN)<@L x=N7JqfӠ&Kҷgڥz* p$hPЧ'x_k83ҽ2{c5z ŻSα&MiٱyR~Solvl^T}sgqqokBV4h^s9\o5 @׮II5zAց(p1,f/X)k>P̀y<הY8Bffffffffffffffffff@n.>PbMIT>Po5Y8'C|o-;yRbc[CSyמQdk,! ffffffffffff333333333333333 7pa(Jw-YkBc[CSyמQdk,! |dRΖ3Z\}sgw(ffffffffffffffffff@nyמQdk](<փ]䓁)^(zKAV,f/X)k<5zI@z<ɇsu bxPTUJȬz7P.K1%΁Q!]ESyõJ &kI(<zx9c:Ě1C1x9kR=%ݛ׵}sg{vG=o}sg~^tͼpY> x6{ 4%珇VL=X4Ib#ugk+x\3g-;yR|gvlkFA/Z-;yRbc[r+@מzK% [@367ѯkV{khym>/<| @K)Ȭz7Pi"G :ѮV񾹳fL[Xv]מx͞1& wm/)|c񾹳js񾹳/Z:d׏@ %珁=$zKAV}إ,f/X(f5" yA礼P+ޏ"aC 1wRYEWMeJ'})Z1]FW=$zKAV͑K:Xh^pR׍͝x9kR=%]y@bjtU';Tn2nޓ1WXMTyU&=;SZvl^TfϳGo)y%(z$& z=TDS@ :=z$& :=z$& :=z$& tz05QMHL08tz05 }߳օ<ur+B-_jȭskʮ5D @^yU&=;O#)5z=2{c5z-}߳օr߼-RȭsUu!I]bjC񾹳^4нb޹׌}߳օ;t-jS|mobMITyR~S1-f(fS/ݜ4ה3-}3Z1]#n]~P|clgX=omaijziнbޤob-)kB8F~u4/c|}Qc}lgZYžfcYv?NVр ^/G{gZql5˵8+1WXLMtUO<TB7dY^R:Xh^s);S񘿵}sgiȬz7P0i"& "'AWX(1yWXygz<ɇsu 4Ia$WD<TB =$WE]bjAc6{VL=P (i"$$yU&I$I7Uu!=;oF~Sql:Xh^sΗRw>MQ&/<TB׍͝+?)k8m,f/X4הȆAQMÇ9܊ɇsu4&骸Xh$]͍Fٱ=Stнb}sg)wڵ4d\o+ޏ"aCCL]1"IRY0Ȓ<,{FBy]y@4Ib# ͝{bz0=+&(08i"G: kҤz0- kؼ?]kkcl5 '333333333333319PxLZ;JyN)^RŶoiٱyR|m?[j,h^RwC8f* QdQtLj UqC*OLME ;&*$]"f"D"a&i ]Ċo 7T$Ʉ *1&i LjU\H@ 7KLK*Au T$ɊI2&מQdkAVy@22(MB/Azk}yÀ~y@bYQr/=pޏ"aCA])ч+&pXp @Axo});g8GY0nѦ.K(I]: MyÀ珇5QM)tz05&EqP4G l(n$mf>H>X>';a ./usr/share/man/info/en_US/xlf/html/lr77.htmp/$     ein<=>acorst "-/AINTdfhmpu.CDEHOPRbgly,0123479:BFLMSw!#58;GUWXY_x()6QV\kv|qz{}K[]jhq䁂ByLL&;LTSxy @zcSE1AGkR%Fg~wJ#[S/c@btZdʭe6y$G&8X4II7Q~mgLOW"gc\'B|ony)1qr=Vv5hO/fƊMA4<"Ѳ˱fRLzIFUVuvRGA yi8x Dq+jƑI1&AO 1>C"!)1CM2G6veƑI1&D<(C`PPw ƊMA4<"ƑI1&EP!b|0((C"!)1Ƀbml#SJ&W4G0)OU%|7y'(ڌ)BeY^KbJyo؜j3;g٥~\q\/~Jim2=63U^)]W-N/[kLoE$ɢ#ZxdȤ ygS|#V`[eY^7ñ9Ffwjcc9 <Ɗ"7Y2dRRBE6,2)XV׽RWOҷbߛY"bkц4D^D^kH>X>';./usr/share/man/info/en_US/xlf/html/lr78.htmp/$    -e<>ainorst "/=AEINRTcdfglmpu,.BDHLOPSbhy01379:CFGMUVY_w#%()+245;Xkvx!&68WZ|'KQ\}*[]q{jx+HaCBsAkc<Ό6+z*<<<<<<<<<<<1tDUĘ't< c@f˱gzfP1:h "y@$$$,0o "BACK](y$E5E@YByA@ǡ@IHx8,04(< c$< 69py=Hi 7Qj 'VUBI (QU &#Pb0((8tp`g5i1-mF֔QqzkU ZHPQ(&=DD Q>3_DA!+ۥwlRƼMD`fffffffffffff#5otJwi-ogxܭݮ~+]شdj˭>!Jޱ  =!!Q@ l"*h%Qh35l y8<.C'@zBBB {;U C'pX`h lr1tDR 69pBUT=դZ.ד mvw2_kZ3-w[lYu7o{;~WZţ#V]og{{ԭvRkʓ]w[lYu֌]nW 2+ ej˭orѿokڄ7ƢKm]̞j\i'bo{;~Wk[|1u՗[~EƤd}[}-m]+>f7?{;~Wk:_65j˭ڕǏr[WvZ7o6RZW2SՈLy8%?rV]og~ԭqLxkj˭og5i1-_gV]ogs\^\gmt݋^5ewojVm_ūSg5i1-\y\Yu?Kҫi''V]og~ht+jbZbD܍bkaJF9Žݷmו)]656}oYu?Kҫ~sݮ]4Ǔ :h "y8*lŷF:ewKҫ!@MD`j"HU@T1$EA3c$&IQP: (==$FtQQb UT(QD@(I5R$xpw@Sb&~cA1U$1UD (HU@TgAE(A >P].--8:P`3yF<9Hpx'K탻#&Px cRC!*M㔁'J o7R׍a٭yR~׍hj9{kS失o+ƶҹor]-_֗&<[|1Um2QMrѿi񾷳a٭yRczWFsh7ܶhqo|m?ZEZ%Ƙpy zhZ8,IbqgMsюN,B CQjK]`N'u!(PѥٰOB7μ!9<֪ ZC&)lVюIg{H>X>';o./usr/share/man/info/en_US/xlf/html/lr79.htmp/$   aet<>inorsu "-=AEINRTcdfghlmp,/CDGHLOPSby%.02BUw138:FMVWYvxz#()45X!+679_jk'*;q|KQZ\J{}][pSŠ3*VyMy"18gDpbg8Ggjo Ra_SgwDY# "_=E3KV:#)%!{ DG0]u$pg'Q 8wR<֬TJ4ɳq^u-h#;{*{:i~Z&kլGdtۜk+YZh+Ytܜ(ӫV'kլM€/z7Ahd{grq<%L54xÐXGr:bdz)^CD2F.t6@  =3 a@ium[T(z)f Dpn|0,, H-8zgq@0`y|PS=,8`#`XX H-8zgq@0 '/gG9+8$ @ [qÏM4R-5s^64@2\WxEr6'*I)_-l |<0-IL3j+֔ti6p)l)_cA>2VNE0pSV4O׫Yc#X|U*Jr9O<['S GnrSTXjmms^dtaMW#ZOgRSQE\fGMkլӷ9+›*c:i~Z>Z=ҒRVZ?s^dwJ)Vu%9UWʐJ>ujDʹV;م4+u:o6ϹV;bk)x|5aKBtޭZhV:#J*Sklk#>3Uզs^dtG.sF=}zi{$/q^ cJզk#E8d}5|)۞S#>>Z=ҒRVZ?s^dw*gz[YXs^dw&)ЉZz)&c RQۄiJby<#me*Iy_rmB7OV R Go}q 4f )h-$L9$K{F=#I "C 9S;HQ00`ƴ -"C$SHz#'?oqc=*IyA]62yOyvZRJBDC#Ųy3o~$qW Ųy3oaT&%m9J}c;F=!M넑M!II3iDc`+p$SHz#Ri3oa(SѼR C~$rQϑٓ)LV{${ aaaaaaaa  7#HJ&aaaaaaaaC^$= I8)c#E41 Ç8IS֘gI79/;k)2)INyFai~Z8qW>[y3V'kլNSJUT1m#ALozҟu.@OJxYغ}&{y,JIH^>ǾZhnrSϬ^ST)ʻqW}8mgFH- b/qWZo%])%!{kXQN ZRJBRgR8bXO>qvp,SsgxO"Ao~$<['S:Ze=jDzcť<|*ZL+2}ɦ%4)&\%4ԸYšTG+B8?XB8VW|bJ>KzT]s4))DęMJbSTy"}ɦ,G M7Ao}Z?s^dw$S)%!{k; '}I4ԣ3%_ʸIQL IUyO*oRJBg5%#e5ZoY'gw'br}c=iK}c:i~Z8{g>dvOžI) WXujDzЮOs%olXSB8'*ǾZhV:#ս"@+ޥǒ<['S*Qd'*/zi~Z菐2|-)?gWaJVt 鱔< l%{fl.ܡ@S <aNyN H5 0 0 0 0 0 0 0 @4nFL0 0 0 0 0 0 0 0+H${A-ʽnr^v>{՗()_XgSg6ZB+c:i3oa(M!y lleMUHF?d,ssG3wKCSEp"[E415 M!Qpgp=ɀ8\pH&{ҟW6A pk)aaaaaaaWnh/܍!(aaaaaaaW {HA pk)aaaaaaah/܍!(aaaaaaaaW {H5'p;wDY4Z@ÇƤx(٘X`S (z)`$0aý^ 94wDY斀,  98-`X 98-`X 98ӗRgҤN8n|#ٸ[_)dqOgq:ҟ8 &`|ốs#|&wלP*Z;VO1_䳷t+bJ`<&\ZXV$Oc*SBlgW$nL3ڪ)O%%\׫YDx-[6ܘgg"pg0M!y p)=IOɽ_#J>{襳s1s7&T# %甤%{vx|56EϦ^E;HQ `aD8pHiDchՖw&ӄM!{c; LV ㄊA3֔hMVwt"k5+ԸYb+"3iDcAp)=JqDŽx)HF?!bQ~Zf%Ƥx(٘, cZHQÇM!xp)=p鷸G|wKf`1E4,,,zՊ D<'K=ik[;yqo(zlgV;م7!bQ'cS <ȐLpLI)i 8 {M- rU:d#֬TJ=K%x|5jmms^dvX<)SHz#(i)3CM!x̗ȏ/Ȏm|7SI)s}O8L% a{l([MUz y-b;2^ ["< \& v}8Tڔ % a{l(ΏwSklk#J{+X8g% = LU~JpGb ̗ϵ6W5G}'rPxSjk#>Jp+ 'mbIFq{sg)yۺSO~O qǠg=  8IDžt{Sklk#E41↜“=  8ILj*Nݪ+gg crr{p Cx>ٮj=2ekE412MiG "Cn J>oBqgY x)S-spbpׄx( {M- rU:d#֬TJ=K2Xjmms^dw,)Dʞ-ȩ $VyJy-5G|(SwJb\:,3]YҐ$)= HSM!VYOonBW)[M=i"C5eɴ$SHz#Q=%߬gT]sqڄsȯy-+"ŽEyN ^'4 g) ;U) p#@ =$NAȊ+G@`pEG'nrSҘ$OT¿Hp,rE~(úH  8$ylk#1^H5¹_ 9 @1_8pAhxGq|V;ۺS}\)H${q|5F.+w w;HQ00 0)h- aÃ-Ç'?)ۊ5iԔVڄW{~}NwMQh"CaÜ$iDcŠq;HQ a@pa=MYIs#g:0X+)ZSJy6a(8A#׀S 0 0 0 0 0 0 0⯒_t׫Y yN;p,K@Xb'<x63iDcE3MHF?J99Wqm) dx'UJ3o}Z?s^dt+S<)vp%]ՓiMFR[ۜt[,+%1Z8{qm) ֵ0B@s4glHlr[׫Ywds> jS¤r0e:ҟS1EpG35#FH cZIS=zz)IJ~S== x0 0 0 0 0 0 0 0 % 0 0 0 0 0 0 0 0 !p A鱝i2̃&sʺ#X wnHE~kW)N6nrS*3Uaҕk2[yիM5Gi*LjDzq5;p,KN3$ -&sA\Ґĕz܎Ip׸5' -1 /HY<&rcyÐ=H 8r4<_@Y8 _-1[D)ikJ:e H ,$5Gzdœ${5Lo8r4G@b&=4ǂ 4C Li r<`ǚZҎHp -Gr:S r/pƽɍ@b&(S="0 DGY}f(x9|ƚX`XIoq#Ȧy(销G ބw#8${5Lo8r4G@b&=4ǂ 4C%jiaa%H"8q斴RKz܎"<90 "@^){M,QzEaÐM1,PQ|ƚX`XIoq#Ȧy(销G ތ܎$H%1p{I91| Dg_9Zcƞp"ib Li r<`ǚZҎHp -& rG L-NDȽS&/9XLÇ 1KLyzDM,Pjiaa%H"8q斴RK{^ 8pq${-L_8r4G@b&,Xjiaa%H"8q斴RKz՝)H9Jb 1Kz)|p"ii _yH8 /PK -"@yÏ42$[ŮNDȽS&/9XLÇ 1KLyzDM,PQ|ƚX`XIoq#Ȧy(销G ޮ-ugJp$EJi=ɤ򜘾p"ibE3/M-1 O8Y4C4K{9E0p-iGL8 CNHI-NDȽS&/9XLÇ 1KLyzDM,Pjiaa%H"8q斴RK{^ 8pq${-L_8r4G@b&,Xjiaa%H"8q斴RK{^=GHkp$E1| Dg_9Zcƞp"ibK4K{9E0p-iGL8 #Gz"pה$H%1orbÐ=H 8r4ǐ/ή-ugy,bŠJ~!m6;HQ0 cZH,Gy isnt׫YapSAUXl%g J IG9)yd*e*Sg{)LVΤʾQM%g׫YZS9}?<=I+Q*'*.>)=(nrSTpU}*lu%9UW*>Zp=C<yԏ[3@)h-!@z#x =8IJ}\ۃ4JUBq{ug(S=@qgXi$yŜԏ[3 cZE3L`$MO(%gMMztep#@)wV4O׫YnyLG|#MK{&%mx-*I) WXjmms^dtG5G|)OV4Lk#X𧌷ɽlG|\"I79/;k~i~Z/|)-)ҡgAp$wV4O׫YQdQzi~ZX5g9)xSA[Qzi~Z/|)-) {ܘ )|ezUن+Mkլb)(ܢ>ߌܡɔZhV:#ALo}kլ- y"z)Hk#i ZSa(#{ y7mZhV; x{sdwžfJ^&pAPi2K=̔DurfJ^ZhV;O~26QR AKJ? )HJ">DV)իM5Gx|5~ur+]Ȑ 7զk#:̓XS9Oq]WSȐ 4+;HQ0ƴ ɏ o:&`HbG 9iOpfE8[V4O׫Y]=r+Z?%7' yc)VǒXέZhV;N\"N֜{Skls^dt+vr+8n+bZgSѼR C 0%mzԔvEgV4O׫Y -JIH^%\׫Y쟍>DŽXq^H3V'kլSS9%d3dw?Xt+MkլQN"C8I.1Y)?}F.vi~ZT"Nr+E848yа8 _KfaaLk@0z) x2 $S8>t׫Y yN;p,K@X {AujDz߬^Sdi{$/q^ c}JV; {,9}c=-Mx UMܘQN {Sklk#Rٹu%9UWզk#y,*[71g)Og6ϹV;Oq5%d{OotZLyO(Gr~;'yOߥISg䷥Tc~3dt )>Z=̔LgRSQEXE~ZhW5G{Uf,K$tv%1Z<)d*b?}|N xY?tšT7šW)GD}c< .K}c=}z{))(ܢ"V4O׫Yjk0+襳sզk#KD)%!{E|>ǿE-6ϹV:q{^L0 0 0 0 0 0 0 0 J{;QaaaaaaaaC^$= I8c:e+mIV4O׫Y1_gU*IyT)Ðy̳իM5Giڭ7E-qWq`wM!y"8IǕ)M!yÇrg=HF?JE8HZyG+YQN9Hp縃A#׀S 0 0 0 0 0 0 0KpTaaaaaaa`p׸I{<z {RٹjDz y-ybjnLGӳ_XVgg)B5mvr+K}c=}zЮիM5GJ=ҒRԩF.v3ڛ[g׫Y ,VF.vi~Z=d}c;9< l%m2dV#{쟝?\~Z{qtؽ𠏬gg"BRJB9?YR2b=JIզk#;&Ry,+qp${Sklk#;&S=Z?s^dwžXbs5GJjo%XG=vO~n|Tf+ oe>%\d3dw~sƲ;RT+E8[իM5G|)? !Qo<XG=vLGZ{Sklk#(ܟɈz@#K}c:i~ZMV-S1_g93ڛ[g׫Y90}ǵ6W9?YRJB>INyFai~;'k#E 3ڛ[g׫YEF.vvO8Gx|5~%E'R[4tpxg93V'kլjoc 93ڛ[g׫Y9>xng8Ji+ujDʹV;sƲ;{*)87lZǿ5D}AAF>Z?s^dw$S׫YJIH^\lQR3t"k5+'_XϷ5|{Sklk#E8[իM5G|)2~LG)B;RJB>>ZV^2KYx|5aJJs7(իM5G||39)xS=)kXέZhMkլ|>Z2kլYKf?qJUT1m3ڛ[g׫YQb GX~%E'>Z%IJIH^>Zu%9UWզk#Q>J^Q[ۜk< )G A2?vX+YRM6nPGܝ=ҒRVZ?s^dwG)%!{kXjmms^dt( $xAnJZ3V'*Sklk#K}c;sgI49A=2~O(GrtJIH^XujDz3V'kլXXB8c#!Wa(,VLVΤmܠQN tNicEp 5#FրaCLS!fJ^&s$Mqui|V;G 94AG,K$ujDz}}zcž٤YIJIH^>džt{e){dέZhV;Oq*;&#}}zi٤,s )>=LVϑٓ2R֞K{YIզk#$SK}c=ҒR6ϹV:[իM5GJ:z)Ó=_gRJB5G|)ԬIe){jmms^dw\Y{sgKJ>3V&Uz}̔鷵2ޥg;O%Šq795vXjmms^dwt{e){ GokO%3,K$ujDz<𧌺\WKu%Yx-*fJ^&sV'kլ.S=tJ>ug)'֔nrn׽3ZrkիM5G~MUzТAWd̔3,K$ujDzެ2%ЫU[CQ[HÒG|Em5c;sgKp C|)V'kլciF[ {M-Gg GYIզk#Ke,KJ>{ZlO!gRgJbt=X,O"rY{)Z?s^dwU)ljDz }b{P]62RY>UUؕwCQ[ۜk<pb"<{/qgXܵr`$0 y iqN{^S${ȇ<94?p8#xW##8pG&phtLSLJ&pH'GpH  A_CNHI8M@ GAE0@ R+)0r(&# AzB9Zgø$ _PO p ͬOqiVd z 8r(&#y# 4ÑHri,p9: a9_(I#: a8HȠI#D9 =|pjCÓA +p A{ <ƋHYe 4fƴ g #:{V'Κk#p#@)i~Z=LG3ڛ[g׫YVgܡk &PGmnmf#U󸀺vM^WM5GJ-ȩ/gnP6Z=ҒRgV4O׫YRJB(>3Ϸ5Bp=C<zlgRJB֝KQլ1J%%LVd~LVδ# 1+>Z?s^dtU6I5#[|)BA pk)aaaaaaah/܍!(aaaaaaaaW {H5'u*j\W^F/M)bJM䳒'd*`b‚;F<$p "CF> W;ѻ>ԏ[3րa88)=88 "C 9|ez7AhbiO۔#2F> W;ѻMkլ8A#׀S 0 0 0 0 0 0 0⯒_GaxGVR|)ܜ)SogRQN ui}LV}bҤ*#<<}oa>ŃmZ:YlGzӓ_XAN&PGW'~+yA⯶w'*y} 2t jZ?s^dvQdjF=}z^zT]rSզ%1Z(S=N6ϥI79/;jKe{$/q^ cV4O9)xUzЮVr⯞Sg6:ҟ-ȩ9)xRE'X{R<il`5h0-'%1Z:XO"QNxW)r) 4PbPE&i`&p^oJKe~25g9)yMUzTr,g"K+"PE&i`&s yN ^'4%9O% LV{V'Κk#p#@   HxE3("DD87$0 i'$0 Wg=.rC~z"ԇ&'!)(Gx"p(9B:@EW(QÇr!@#'[0WT…8w"tAȊ?t"`-ȩB'MBt<['S>ˑ 0W.΀(9\)&Pi`5}\Q+b8{Qd{W1|6<#5L 鱞-ȩ>ق)utAȊ@A`5}\Q+Ȏc,zXρقҀ'w&EA!8SH !MO< L8wD~xÎ 4@0+L9$J=e8XpW"K_E& 4@ =0(E")4<`pHÒDSHp;wDY4ZCB(5#FրaCLS!0M€.զZ$H;qgZ8 [$'4`p@[$'4`p@ -sqիM5G~{OqM€/q$\#զk#3 oR<il 8S 4ZDCRoqǑ Hxrh"{M!{MƲ;?q;HQ00,)h-#M qoqǞi$iDc$m5)ʻI79/;h(ΤZjK=;yqoɈAF UOgY,go|*1oY3E${3iDc8sM!YEJ;93O<8QN ^'4jH`lgrqΖmgER C&'=F/)=Gȇ  Ly'"~OCE>8za#WPS9HpjCÓA +rH7vrg6>oqk%0Y_D_"D, )w,h5#FրaCLS! -e$v܄+YKT8IpwM&%mxY}LV<['S<)O63 1%/A)IQW,$ ?omfc )wI79/;k |&aF1_䳯ORM+ුse5)XδfA:'PY&9z)&c ]=;ZI(|5^XSAc|N xY֜ڒg>9Uv=i])%!{ D( 9O=ܚ֦rRT~IEX{Og6#{ =m5޵bQڒg;sg<>ܜmJnr^vP3I7o/{Og6#{ k6y-ѼR AOABk<= 1^ cE41"H"ENE41gU0)&c )G A鱞IEXz#Oq"CI8Im5 cU*Iy^6#{ E$"aS)L3ѼR AOk:ӓ^RV'*U{$/a(#{ 猺7;J4[RMK?XE$"U4G%]xYO$(+\z7Ah)gbTE$"U4( $8sqJnr^v׍&aF1_5_#2x S[dBqh;p,K-!aa`p@/HQ05PS=H`zUg)֔YI2W'%1Z:XO"S6QN{zlgZL E:<+^yI2}LV<['S>ߍe63 1%|N yN; yg= {w&2PkX?XE$"aS*S)Hg>9Uv=iI) J"=_g-ȩJ47#>ǿDgd*gyGxO"xS;8FS9)yZv%1Zĩ6xP7Ahb>3iDcE4D$iDc#UyF |֬TJ>SRSv$rp* #Vs{*՗mLG3Ti}098)#H)ۜk<>{m`QN9H)֓,>_ά==iRLnrSTϲmaYMLŒbegY')'`yN[褛W7ž*IyB=_ J;p>CXw&|5^Y?g3iDc=$N$SHz#vp%]⯂kmg=jDz%{RMKզk#իM)LVd*g>Z>+YQN9rAnY)-l*c=p%F!dĨGrkZIR|>/|m3E41i'p)=8Ųy3Ÿe?RMK )G AG褛W4G6ZSa(O;RMK] /|mŲy3Ÿe+YQN9rB?XE$"a<xYغ}c;F=SIH)HF?J>OT }3;8FS9)y}b$rp褛W7(4d*g{xYWڒg;sgXSU{$/a(pRLXJ@9瑶#"C'Im5XkنPG3T }3CrqJnrSXE8H#<{'4HRc|jG-1‡C8-e$>_kǔsogxܚ֦SXJG'<#5L[mg=_2~o.t3E$"U7<=(3Tm:yOW=R$rD8򩷸G|#RM+#g-ȩ/^7Ah(SsgE8H=hNVspfXȈ[d*g:!M%c8Gm<['S>93ѼR AOMkS)B>*ܚ֦y-k?m:xGE$"aAF 3Tm:yOW=R$rD8MƲ;RM+#g-ȩ/gxƲ;l%1Z<"V{ɭjg$̔X@+w&E8H=>>ά:~3I7oRQۄi֔zTm c'=SHz#)$P$SHz#vp%]FH-/a(Omg;Vj) 3iɯ}+Vs<=(3)(ܢ"o~˱`+X)=AA( p)=8qWogw&K}b;8FP%1Z<)Ԕi nGx|5g-ȩ>xO"p2%eҡ#H)ۜk< )G A-iy՜Z2"<z)&c ]=%M*IEX|#؂}cS*%9WaG3Y)&A$OmN_L9Ov%M*IEXBp=C< I J[nP!)qCdqZoqqgX)i8Ip!"yN-ս"@+%8_ c^;'ԓM9B“= RM7(v8O;|\%0SAD8wDY DZa8Ip!"yN-ս"@+%8_ cdiG#4$JRM7(v8O;|\%0SAD8wDY DZ`rs$qHSyGuooȐ 7nNW6XIoq'x#J"ż 985'5q 496GHZ[ӓ~Kr8IwKf`ƴ[OiZ'??qjG-˜֋z8B 9R<il,0)h=E2ޝg<$;HQ0(1E"II2ބUC_qgXlXI)CG=F @#{  kq$ mf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr80.htmp/$ Recursion XL Fortran for AIX V8.1.1

Language Reference


Recursion

A procedure that can reference itself, directly or indirectly, is called a recursive procedure. Such a procedure can reference itself indefinitely until a specific condition is met. For example, you can determine the factorial of the positive integer N as follows:

INTEGER N,
RESULT, FACTORIAL
READ (5,*) N
IF (N.GE.0) THEN
  RESULT = FACTORIAL(N)
END IF
CONTAINS
  RECURSIVE FUNCTION FACTORIAL (N) RESULT (RES)
    INTEGER RES
    IF (N.EQ.0) THEN
      RES = 1
    ELSE
      RES = N * FACTORIAL(N-1)
    END IF
  END FUNCTION FACTORIAL
END

For details on syntax and rules, see FUNCTION, SUBROUTINE, or ENTRY.

+-------------------------------IBM Extension--------------------------------+

You can also call external procedures recursively when you specify the -qrecur compiler option, although XL Fortran disregards this option if the procedure specifies either the RECURSIVE or RESULT keyword.

+----------------------------End of IBM Extension----------------------------+


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l;r$!mf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr81.htmp/$   et<>RTainors -/=AEGINOScdfhmpu",LPUbgly().:BCDFHMVY_vw!01249Xx+378;Wj#56Q\k|KZ{}[]q*p50ȉ?@o<,j!Yf0؆ =!o)pktQ9gj7l1{p^8~Il+[-4M4M4M4M4M4M4M4M4M4M7[p`PD4 Hha]PP X&۫Z e @ǀ($` tCye/U!U#N"Q, E X7@ ,*;L ᕳUue/Hȱ1`6j/q nZr%~:k-W腈Yo)bTS-Fr- j-2,m[pγm֞N꒭۶{eWqn@yN_AC6K8eigtB8elO,wHGI5A|14zQ4[M;Vvˌo), =EVMJ'Et5@OUZ, ,@wGxiin,/&OJ&a 5n n@@P(yN>'pqga舚.)<J'EZc8j  @ -8@Ş"h;e҉DjKFp8/ո$PDXhn-%XbT#p+ڭ糭^JXpC@$W%%[rJM.LzVȐWZib2,hWl̉%)N1H =8 { yN {7RUo7ViS[sq $q֚N_>po VZiiiiiiiiiiiyN;p拍ZMq1#yN'AVDa6ep'֬NmUb~#A\bi }9MVٵtg$ӡZg/+rؼVl^tży9M) EZ=|Q\[Ξ]흫U\YaN0j/p^wjWn䮷"^V"9M_.vժ,ݰ5^S=mK^tWgZ_5\k{I\bi T:J@*-)F Bъ1H4d-Vt+g!Yi`OO_JbkaX h՞'IJط$)X#A`H?v O;eSJ]+F &Q>1H4A0ݬVkYlA6mq'Av{BogL}ktܦrHYY'b-ی W޽mڵUśyXl6,gp~qVuR*-"t:nZ$'v5jjV"t꿗iaMZ:+ؾ[|Ͳ?+mYT7~#AI(*.)+ND gOԀ%wDsVzǭ0 gLBW~ʮ3ΝZpķ"}Y7|Io>תĨG-*wNi b[ڵVm\u]O"tUh&ԭ0D^Wog}c;IM|bi -L{)V%B9{YgZ{쵻Qc+n/:OgZ{쵻הE.ժ,ݳ޶/:bW7l罖ユC:ة)[7l 7,B LϬgV_<]f+.ժ,ݰ߭ΘMyZJbkg[%+bݦt7,ˆUba=5nkSΛ^J!URR}b[ڵUś; ķj7le=|Q\[dXķ5SV{M/%p eJWy 򿗶/+UzБ>vժ,ݳe[ k,qnm&Z%<ܤ`H<984kR0M$g)%8s=tWp $WQ=3OJ 褘pt p8PA_zAApL|QH= ފQ>W@4z`o:8HaFG&$8hodQM"C&>(4zb@B )DΊQ=(c‚Ё@AnS{-y kŊzÅq"4Ё\t p $Q1E#q{9වYeYeYeYeYeYeYeEWնTYeYeYeYeYeYeYeY`+ {)Þ=oq>,ƭ oZ_q?|4Y+p5ol["8=phV!,k"ޖwq?|4Y+!,k 14zQȁ,_V۸ßOq>, cYaE jDD[Ѣ q? Ghksqi=@kVDa6 l&s$ mf>H>X>';./usr/share/man/info/en_US/xlf/html/lr82.htmp/$   ae-<>ilnorst /=AEILNRTcdfhmpu",.BDHOPSbgy()01:CFGMUx!#23489VY_vw'567;WXk+Q\|KZ[]q{}&jxqOGS10G0@PEY%֊lADOo9nŶ=VZߚiiiiiiiiiios[w F($ZX#p Ҩ+^&VLL0A 03T 'U 4 PI%0 s~_ᠠ`h`_sHpWEk_4GRRxb`0 3ΔbQmj:1Wgm[[ܯ?-g;mfJ[t׬UӉF/n3ĭ͵('^lf뾻k*Vs[w$w8qIV5f:q[n@hZ;pIÈ$(hKZ+7]z'"*DPHMIgw(UÈ$(hb걕ڎPc@zqIiil+ICP@N/9W<0 A@0;QB.< 4Ut!P4P}b/9W\0 A@0;QB.< 4Vp (zJ(\_ s0 A@0J?ܫZhVƐ Tf5,2bZ7&&A-^10 km *zNC|Vr@A'wv%o*H,y"| y8t4t x=zNZJ4Q97#['ץy\ 01/I0lN sקҫ[M4M4M4M4M4M4M4M4M4M4M4@8DE)Fš*0G&Q)=_kW^`0yσ9s9s9s9s8>r|s9s9s9s8 x<'(xDE%@8W投B p (zJP>Z.FWVngt`D y#O4RH,0*0Gh@X ,Ta-`tY%6BzڼgƓk0!oy% DP^a% jDbv: `z'"õ]^"~j^;_v .ox&xpd٭V+kΗmXao#uKoy% [$dW',lbX̧k;;jWVnak;;佛&hRύv6MХq}:ڋ7].͓j)\f+tV2+Z/fɵZ3a>-gg|vlUJ6yzRkUy:]v7lDP^`ux5x~Mov7l&{ux5x@v4$yaڮ?fXYjQչ2ojm迻[( z'" (!ڮ?fXwkeVkҬe=&hRkjoOҾ3|Wy:,W`Cy:]v7l&{X"zJux5xl0vwvEuf6Bl/jxV-gg|mVmnkҬݍRF3)ܶ#ފQ7+/e5oOݯerYQ&W':_ c{( D (zo0HB-LB9HQ=Q2 CXn0z(AF7IJ̧ƚ_zue*QvwnڷY$]&hR̓yoF tmJFݖ~O}eE\~7ݍ-LB"A=7ID$!JQ2 @Q r DID$!bMb(AͲ_(;;fИΗm[ ZWxDڮѤWZ7nڷ|ʔmƖH0l6+6ޱ]xv]+'ggzzO}c|gk|fƥ|gzvvI_yzg*U 1v@&JLp1_kBwgh֊lb(AͲ_(;;rs=?6BEmJF߫/γlWZ+7][E<$`[E= |^͓j)\fݖ:)z/-5"7].͓j)\fڼgxϼ=3*1v@&DI3@uFWVngtBE-gg|dڭ We_IJv7չmiijWVnaeV'xϼ=3*c q @hRoa|hvMnImV+PBY%6Bm0!`zJ&ya|mݍ-`zJ&ya|W':_ c{O=%E jDڭ՛xVLB=%-gg|dF+v_*QvwZ/pnoP $S[lICP% (ì,R-o3cZ/c}u2y/(;;۲ݯjkҬ9o{-"`0-"`0-`JKW c}vN7_ݍ-gg{|v7ߖ7%='|of֍3Jۚ'Ź=iGV.W/+?+UczvRkFe>YދXZ_ݼyRF/}'Z7x{D5 nx2Է-gg|]xepqz'#H>X>';(./usr/share/man/info/en_US/xlf/html/lr83.htmp/$ Chapter 8. Input/Output Concepts XL Fortran for AIX V8.1.1

Language Reference


Chapter 8. Input/Output Concepts

This chapter describes:


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  lu$mf>H>X>';./usr/share/man/info/en_US/xlf/html/lr84.htmp/$   e"<=>Tacinorst /ADEHINRdfhl-.02CGLMOPSgmpu,13458:BFVWbwy!#%9;UX_vx()67QY\kq|'K+{}][pcGDy@Xy8ш!:Q$Gr*6(#$@E8F u㢜H\/jW[oc{{{{{\/@Heu/Fu5đ(Ġ@`Zb/hW;\oMH^?'1삼ؕ}1aaa-$OF%{LZY՛ǓR(KVA<ㆍ (pXhpXHbPZ 0-17&QR/hƂy/ @P5đ(Ġ@`Zb/nRԊ*E+,qyFp8,48,l qXQ1nt6@^W-Jp.fĪ[Vo)ZBx&s_!$<oQl 06wfSAFE"w^L\c!޶y2 4qbF=8<< p|;3klGZ׵8h.9{W0qppXVlvv{{{{{{p5$\REq$2c2-]_o`kVHtPH CF4szJ q1qԊ*D84)Wgk|rCkI4A[| qHﳵǗƁFveؕ</gt3ƛ/Ul{/ﳵǕkss5^/,VjgFrAPqC"$ޒ=hdy5" l-run[88䂠kI4A68EM`Ph\Rruo}<4 3/Q^yQį)o%9W/JVi {\$˯ks{u1X#,t3msq1_6%yO;|y_|Pv:ͼ\&zq1;]oLqK9ڄ|if_6{/Lk;Tέ׽JoY3׵͉^S9?y$^ lq5 ]{\[gkbungo73U&Kqb5Cʫ|K>lJv;]nn^pv41)ҥ=mL^ά3?"h,HHD$< 8D`RiRܙ3!FwR` _7yO{Es{3KpJӊ0n㇧a׵ۙQ c}ZTbWDz,oX#*y_yҹոkJiy\*3Iɟ*[U{cgEzW˯k~ l',cze4L ;|rgħJǖ:e `8]ȣy5PEX]S ="'Lhy8ę&{G"$I l)|gbW_5E(:)sȦAGz*E[O"q2M&DsxhE'0h!擓lJvgk_bXa5Xb}vveJ͉^S%:T<JոwJVlʠOfLbua5vۉZ0̅uo,|Ҳd#ɳbW_zcɜ[ƬڬlJvlʠHGUbX1)ҥFp ,o=0gqXMB$RjV{S@85qkg>3,}Ft*=◦s63I,˯Fwծ:^(4>SQٖ3֖dno*}e/3,}B=m\ZT^-f*[2ΗWޕ-o7Fw,q=V,iٖl)Jqɒ(xN!QMDqXMBqXMBr3[WkګS4B=m fYbUX!eQ!:_kH5F㈧ #\RIX8>wU\RE{/HJ pСd`R㔑mqÁ}DAfᡃvM甑mqÁ}DAfG c%ɩTa vÎ> ?"k7 KATA`4OV-u[A8ps\PH4Ғ->hqD/0l lv$2mf>H>X>';G ./usr/share/man/info/en_US/xlf/html/lr85.htmp/$   aenst-<>cdhior /=fglpu".AEIRTm|,CHLNOPSbwxy012:BDFGMUv#34789;WY_kq!()+56QVXj&\K{}][Pp!  YcX8;  YJ " Z ,D4r>ED4rPJx6}ʖy d" 0 0 0 0 0 0 0 0 0 0:R 1424I{Dψd{!a:x{DnG`8@'JPJxUlw5|/04xpqÀ kƳbm7 JVRS#xpc\.o~x\"GÆG,#4<8D_ "88y^6rx#xa" CI{W"* aG0^Ц$xV@(i YJ"7" $<-;MÈ"`6 _x, ( P0R#H$p & BbXxqL¸$ PA G ZPDq0!$t(X/Db3\G @H0@"D U 0^Цk(LN}8* :W ~ %=0>g (on`¿>q#倀W 抟@p)< +ͅD;ARxPQb$@)EZ9e( ,HhZPo;l#Ə\CCJ,^EV(Rڏ!L[aaaaaaaaaaate(o`0@4ZXՔRfFNBղX`)e(0 Z  A@H,Ac`#( {ϬQcVk)CxpЈ b֢Ƭ B#<p(Z b}1:j/XkϮ}#Sj7'EW4E3Db}1:j/[& mFkϮ>rUpR MMY5MA ՔV!7鳩& o 8`D@8ydFsL,ef()EZGX{LcΦ&֡0ya"#@HpqCFQXQcVR Z MMY5MCxa"DH4"4,,pjIyc+1EYJ&c6u5d^!6=j,$ P4"8aH( E > Xi ,<8 x, pnOXƭE)B ~6r5~ỹ;MoyA.m <P} PߡMܟyߟ%B>oХ1#%o~R"G}ut#$K_gxG8+B0:2Hg N~6r5d3Mڍן^߹Qlmڍן]~߮:S!{/lWƙ(Aj 9j)JR)JR)JR)JRЏ)xZR)JR)JR)JR)HQ`ըi7ڍן]ڽy!_<ן^y9=GFuw\%yIW$ot5Nܒ~d}YG`( c2ͨW~Աן^p?@`v:c,ڎsgp';뫚'\U*Tp%_<@ -B-@ՀT)JR)JR)JR)m7xMҔ)JR)JR)JRjXPPȺ~BQ?:8x=oFM}St##Tg_ ߡMܟy7ī ~Mg)A ՔV!7鳩& uwB n{ߟ]]cTl#_]\4b}1:j/\iB#|sy>l#'WFߣ Qa֠V!7鳩& u}}>+w~}ut! G7ɻQiJ&c6u5d^!6!xG뫟9ן_6oх(Phuv#2hWu_W5~t!Mߟd"х"o wv#2h”Xh4zȺS_gx!q7=Ϯd"Tl#_]]5zTiFquF;jƙ+뫡e5w2o~}ud"Tl#_]]5{yІ?_ #LB-aW (&꿮kϮC|~}_' 7]\4!y0=j .t)4E\Mcƙs|cB-P~]5{LZ7ƙ>ix G7ɻQ)5{І?_ ȺЦ!³7Уx>!wDOAo>L[oW5”Xh4z}I;]c&Ga(Qa Ք0Z MMY5MCxpЈA H$ ,Ac`#( ›Q?}qefpX FjxW>4m;J,jX` b}1:j/X Gc7ЌomgFtGY!{Wo)V!7鳩& V!7鳩& $=j&c6u5d^!6Q(PhitՓQx70X " D<#BX9jXh4zՈM:ljɨBmj,""DacDEGcRIEYJ&c6u5d^!6=j,$ b}1:j/X{kj$u匬Jou_d.;5yaJZ MMY5MCxpЈC4,,py fyQ+itՓQx匬^r.d"h」<''E+itՓQxӼ9J!Ly7Uux!K|#ڱ2nyBo1gSVMEkI Ti(F_'*3us_d"!* )pb}1:j/]77WK|#ھj>u>>4E$%QBo1gSVMEkI$L[ +ͷ]|J_W];xGx_V!7鳩& JB-(Aj&c6u5d^!6L[tͦaƙX}u|TR MMY5M\Mcǚo}uu Xx"DxpA6vUu_W5~Bo1gSVMEkd.M* > ;I<@pr0-X{LcΦ&B;5d.M=3|7p%]}m4+#]B+itՓQx7īƄھ&wt'rz43B-웸olҕM:ljɨBmn9J_V1B PP5`)JR)JR)JR)JRxMҔ)JR)JR)JR)J@*EH,-X{LcΦ&֡8hDqD 8hDhXXkQcVAɾ]79͍I"M:ljɨBmrVguGoz6l"Jwi86l"K:9^6ryJ&c6u5d^!6ԒBM7 s^}|FNpg\5J&c6u5d^!6Bl#ѳaSM%匬 b}1:j/[!wLo6$vcRKY% wd"6?65$V!7鳩& j1+?j1kϬ}us`y}R MMY5M6׳+itՓQx YJ b}1:j/X W5̈́dGA֬Bo1gSVMEk"wsI~4E Qa֠V!7鳩& ~~!4EM#|iy)!QFLх(PhitՓQxǛpB- Guz+뫚i{b}1:j/[$đpDQ(PhitՓQxȺ[MyL[~y>+ fyQX•M:ljɨBmw Q&;oW5u_=oN^}saE+itՓQx匬+itՓQxXhjPՈM:ljɨBmd]\72utmokϮ]6̈́y)ݦԒVaJ&c6u5d^!6NyCC9WB|/R|DK(F~l#'WF߽R MMY5MGl#'WF߽S_;G*6ȺyiJ&c6u5d^!6EDŽ2utmc^O\1xNzr$}s^}aJ&c6u5d^!6ooGa~mGބ1XFO)X{LcΦ&ք1_y>l#'WF߽m7aSM%匬QJ&c6u5d^!6u(Dx,D!Ly"DxpAcÀ@Hy,Dlќy]E+itՓQxy7ī ~M Gorz5%qwQJ&c6u5d^!6 X@r"@<8 ;D:];y3GƥQJ&c6u5d^!6^}q7<3iay9Ẅ́dsU_jV!7鳩& >>\ן]~w뫲t|/Q$=B$H@pr"@<8 M:ljɨBmyJFp{ϯѷxtͦal"Jwi65$V!7鳩& Y~xG|HWo͍I/,efwpGPGJV!7鳩& *(Aj&c6u5d^!6.kya:675d.M=6%;ߛE+itՓQx匬=cx(g"C𜞍x2R MMY5M~~w#DO>\ן]~w먥b}1:j/[!wLO"DxpAd ($ JFp{ϯѷxb}1:j/Y>!wLo6ٰ)ݦԒVgd߅+īƥq~_)X{LcΦ&כ^X%W1B PP5`)JR)JR)JR)JG[| 8Sj)JR)JR)JR), @r P4"8aH(  > Xi ,<8 x, XڍXըe(Acor5~ytYDp71_|/\T3ac"4g}>'"Q0,yor5~y>c錳j<'1|A_]\ן]~nxT.ixygk(aӾu|d19HǛ}FkϮ錳j>c ,w^1^L[iZ oz;ƙBoI*՝RBx_iskHu7 E|匬l"Jwi>GK:;gh^Ρ0yψ(q@0`8A֡$ 8h9E Z6ޡ0yψ( F;IiG ZH, <"DxpAj,jƾ,^A.͝U{];6V!Lyor5” "@<8 4#X%WN/}f}tߛz׍2hW>lyux)}oW2h” Ю$|!c_cS$ȯ>oЦnOBPB$H A,D!Ly)sk-m7]ď3Q|i]>>H.$| E _DoWP<$ Qb$HS IQC_ ψSk\McdgN!׸iHK[MR7$c2ͨ$}}t~yB-7nOTFh7 U7Muw*T)$>_u߼HWc2ͨyJ~lх(Aj Vo 8`$0C!'ROo 8`B4|!'ROo 8`qBB$QcW |A @0XxqE^^( > ;IÁÀP"Di">B,j*,R @@ :EYJ,CVP~ l sw$YZmf>H>X>';<./usr/share/man/info/en_US/xlf/html/lr86.htmp/$   ent-<>acdiors /EINORSTfhlpu",.=AGPgm01BCDHLMUbwxy()23:FWv|!#'+456789VXY_q;Zk*Q\K[]jz{}hxb@y8rBXy[ ,XjA9!Y qMH@=0xkjFcr[V.K8u7Nt8pÇ8pÇ8pÇ8pÇ8pÇ;) hh<,i Xe= @p`A<' xDjtq?( chp|D nArLpzఐg~(Р14c8$0&$IM慈pi)g8lg$t\FB Iבֺh|б (]0+к% $IMgchqVP~yOV Ϋ.ICn*̀X  bCrIa"h8ZEq9#Hp}g 8a! @p,"SD HI",0MG %bba$ap3Z(`  bCrIa"h8]-*]EHÒ-qSB@@p,"SQH38^ئ [ <4} K*ɀP <i[)7JU}Wi7,(9GTXJ€ ՝IW29沺*~Nި+ӞkDoЛeSKE <<Ì慞7j΃*pӦӝ8@cB4Qܦlg3#ít.kÇ8pÇ8pÇ8pÇ8pÇ8pÇv148x5sK%JÂSCsCnhp  @8$$($($_@pj$5M&rF G%icÁn) ,8qM"|W|>)Lz9+cyLNЭMc[[rbWJdelj [I_,*X\՗]~;ͨލhՠPSIHDR梒A8ԇA,{sZB~i[I4sChp  @8$$($((_@pj$5M&rF b<ˆykK qM"䔾pS4-r;ئ1Wq*̸lx \6SMz 8:_/:FiRrV _>ttҚE)t_)w+_e{rVϿo)!0#qM5ipee<)懚h %dHLJ8YbM.K*-ƓYYB[<ˆyi:(hXF4/HpB9yYO9qM,<4<(y g^_TR@8&I ]~;-Z@4L8["a,{E4\CSH;?<@í0-ipeeXa Bia湡G% Z \6T]~Ea Bia湥rJ_tRk]6W^K׾K޺IPAuΝqL9Aޫ\$RRsUY yMᇈhyj) yCDp xxh I Xyhyj) y<1#O8p A+KE$8ia湡湨p8F-<)"sHcc1c1c1c  me'q)rsR@8k@;X=yzq 9&Hq )r ihpR@8I ᝨr85A<ڊHqph8Z) y'yJ. ;-ʿ' җ.q>)Lz'%lo?䷄?2{įȚE|'pۈޒ[[Ywb{~>+5\mxI9Rֺ':)ڊHqDÚZ) y'yzJ_ \6S*O[W=R/}Y})OȚE|'p߳i/7%o[YME$8N5 @ --<_'~kl|Ӵ@pb$CCP ,[A찑H/z)ZX=4Ϫ_haZAyFXaᠢEԸO2K|x"k+(KUen>IRʄ.)TK~SnzrVNX/iV(k+c>}j\'pۏ_%UVu+Nt"k+(K|'pO<^l|,i wE }o~̦A'@@zII &/*W|e/wRBoݸ)| W4}p@4R@;kʾfSQI RAI &/*W|e/wR+RɯQ"@4-31c1c1cO!x1c1c1c13K sK"i.hp0p|n, 6U.)K0pC@` qM"䔾9Å@,jL @0ϿIt޾KFw~}|?8O2Oq9jµKy;RdgKy;[Ny'%lkHP1 p 1c1c1c1c  me)Lztͺc[RQI (rM-<퓼޲Ԩ_%\zt?,ۦ=_]Jgߞ6W%lo^^Y[GSRT&O:pr!__Օw"Rs7 '(?e<\$,`}>Hq5#Z) yNR@8KE$8ud7:wQ;IWJ-u䭌ZRtF.5?_ՕwʾdqR@8KE$8ud4gU}.J~Rrݸ/}Y}񰄡}|V__hՠP0 P􅹨p8I =޺wi)q? Y^mzrtprSGnIa/qaI-;U}TiQ’[gAϪ_t|2ą~uUNP~yRKGIvT5e)\.edǾx{>DVW5< =AYWkym)POt}/ȖN&МXK7l+)jNZF t%z꾞 ><׾zTdqSH_KOʽi63*)qWwxV}9+}_}k8IqSH5zK w ,2}9+|MIQI #G4R@;kӨ_=U<8Hq bVUNt&Z$짜ߓҩ`s(>tN'KNp#<*7ZAGihw '+Q^QI ϵ<8HqtOR]NJ{=pb--<΅6?<: ? \\iuY"kHP1 p 1c1c1c1d|慈s61c1c1c1` ȠcE4UQ.pj<|BK ybN'Ӓԝo<"<4sKE$8VI9] mV~yDt~">Tzj) yq-<ߞ,lt2O<_$~XՕtgGAG+-.?Nt&Z$짞*_':_J2TK?>e6?<: ? \\iuY\'HO5ʍKE$8 I UNWNKڬ(%qpEg㚊Hq"I "ɦ\'HO#-^%_Gۥ{e6?<: ? \\iuYꮲ~yb>tie_o:zX"e6?<: ? \\iuYs(>tN'KNp#<*7/:DgGAG+-.?*R\'H봷[ߞ,lNJ߄2O mV~yDt~"ӄFEзc1c1c1c0б`VS1c1c1c1c@4-.hp1 `a" Dz xՠH,jL <9 @B`}wNl׏AJO&UicÁ) ,8nicSG8Yp0 Ǹr")e >&DiM"t~wW '^r ihw~G<jF4R@;~U;U퓼Kdk~U;`}O6X׽=}R+Rɯ^igoRK>O~}ޯmN_ Y[R\O<_ʧt퓼MzVުJsUYx/إ}>M%QI xRihwlULVXKwڊHq9A W?xz2TR@8-<( IJߖ}R_GSzhލhՠP SIǚǚKKO}cktjQiac.5>JNp_ʧt퓼џTM%j) yjM-<퓼'%U=W`lj\oڊHq9A W䪿'Jm9eo?T ʶ3):uVXK#kN,$P%q 9AR@8HzCZ) y ΄=O?*ЪoQWyR}Er Ry5ꨯu|/?_&E5<5&HqzhҚEWI ?&%t~ W '^p=R1A޺wSj#UNtjJ }R7E$8IA޺w}~Ox{/6?<: ? \\iuYt봷.ߝ)Iׯj) y@Ԍihwlk~O}VI1RUQ.pO__%tO8IgNJ}{W)<)YQJK5<jF4R@;_NzsRPSɿ`j) yjM-<퓼ޣSj#Ub4qKN)T&J'GKuWwyK郞AJO&|_+hwO]~;R7E$8IA޺w3S@:YJI$9j[ɯ]=Wi/!qĮ'~63ΜJ2vRNYqSHq& ihw)P1֤QlG찗/[O)!%e/i[){.zrVۧ/tJӉ[:ֽ<'y_y t)\t?!,%/}Y}~uYlTQ|6RӬS'-RYK^Kt\Jy #x>ZY<|BK ybs_V_FqYΜNNOӒą{ʭ+Bŗ澬m~)]k֝6S4eR:Do濃Z}$%m=.kߑEyRĦ\ռ%To)P1BȔz |>!%eWrF1xB\4WDø$ ᧕H0 `@c 0p0 ᦐ5"xq07 + =Hi H4=!@P 408zH(i=H P+a1Ք|} qc8i Hg߾ =i[)00+ypo4Wpo Un=%p;/tSOӒ4kX{ia湡W=^B^ߞYLz9+`ߪ_NJߕzӬSˏ~_R̖Oӕ+ >iRrV}.xdT)y #Jia湡6To|!u7Ӓ^-߿T%d,%/:Dpr!__t '+ޒtL)yR:DiM,<4<6?<: ? \\iuYv}֠ޒӒ^-LOTWZsRmV~yDt~"[䯯UNW$+ڊHq=-<Z$tOKɔڬ(%qpEg㚊Hq=-<Z$tK[NO=,~)"Eۧ|BK ybs_V_|_GS W:eI缋&QT*YlUU.}-o;?T~\'H+~}j\.2ER:DiM"S[ZuyqV+%}J[ߑtK>KdbrVnG "@H@ @@P5<`"(`PI =XV}cktk/(K 5#ӝiB9yYO1c1c1c0ianidP1"Eͪ(WZ]V~8:tBoݸ-՗'-SғF}R ZrLgGAG+-.?_NJߕ}o~ԑ%.\֝e}RPS&)q)YQJK Rud4oN|Nt&ۏO}Y}r>O):Tg,gGAG+-.?-ʽ|W}9+}i[)H]ƿT,!)RUQ.v ZrOӒ3NXzӖo}o~ϧ%o:e<Sj#URQI '9Aޫ\$NZ~{&/YW~ئGSj#Uۡ9cNYiRrVINa/~U;›UQ.tt/J\F}RrVӬS*donSH9nhD z`nJkyȼ9Å@,4y=#? `8phCTbuo"Vǻ{G AcT` a$a rOVͼڴ9Å@ SIpip CH[أKFSG8X\=0@X4)$  lx$ mf>H>X>';.k./usr/share/man/info/en_US/xlf/html/lr87.htmp/$   "T<=>ADEILNORenot /CGHSacdirs%-19PVWfhlmpu.27Fbgv,03468BMw'5X_xy:UY!#KQ|()+;Z\kqz{}][Xx ;`(  ,KA JY Vt 3I<]-~@;*?(4( bwӬVSkdpJc1c1c1c1c1 CJXPAcc0:ir$ꢦL- u4A=@#F@іQT}~ lf(+\IMtHH @ۻ4(#`a4(K !p.(V )` F Q0WTP6FVh1 D S@, CJX7Rm|V+Q4sdʺ#wwwwwwwwwwwwt@#@2DM2/SRMTHaRj[TQ4sd, R@4k/OD}&Bf/G: O# f  )`{nAiWe'🳣Cߡ'e@x'D'u@k#)dpZ.yOT B08@[QO)v)5]$.QC(+0Hzhv)  (WP@]jPd*BwpK)]jPd*;dm%u@m@,.eO8mU<_lQ]BtɌkFۂYO XS*!}\03d2Z;dm%p.6C$Ь)i.MmS +] .aLP a4,Ь)t &e).4!ӿňhgȏI[O?gfFK$ AEm&@(y,v,D Dc8$͒2Ol@µĔЀ0B@( AiKCݧRe'🳂L aZJh@ !  O4!ӿňhgX$WO?g@$. Py, %fvldUWP. ND؈e2#иe%SxyJ!a$RwABĀa@ dD+wtv/ !` „P RwGb avP Pe, )e=,Վg'nh - ™Q ) @AĬؾZmXZҖl.d[#Wuc1c1c1c1c1c4@l ;HZ欷4%B ìYZRŵb @ @ @ @" l꧋ @ @ @ @eڲ X.)gU8!v3}N`8 u`  ~H1~niI<]]Blhb U欳Rݳp2 Ֆ攷l :/@Җ-ƇCP Nښ@UL2Kshj &Y h)b֓5b?ITLrvSS_mt`pɐSk#)dpE#S j(qtxIMD_S"y/HJW(fm|L6ې$(qtxP L ]VR]R6 B]G t+ eD/څЬ)J `r-8ջfd>cC)A@0@8c)?atPp(SYnj8Җ훁gE0sV[Rŵ]!!K#qtx5l}gi3[,IY'e78лjYƈjKr>ڳ*Ŗ֓5ABj!tG-51ۑVک+"좺(VHK<'W(fm|GnGV֓5b?IB*Ŗ֓5+"좺:IK+kq}jw$O%IΫ3b6t>.U‰j8I<_SWmtpNH m$@TҖ-nٸwB8'A4?1쮎› "VD]$.sVX-ե/ 7AtVJ_M8O^юM8O;bqѱv)e_M:P юM8O;bqGhؿg  #VD]$/,欿WiKf2Wcf :|*{8HOhؿg )eڿ~Q6l@+F:Q6lӠ§;Fs8P]-RDG)d6 tS`GaB(dBIdsds `#6Rɐ9K/՗jmYv7 9VL I'8 ͅA!m3I<Ֆp-7 ΋`8(V[Rŵ]! rd-'}E Dw#v NNᛁ`"ȓxvr"yrlFMH3lYyO4v"sd jw$O:P͈h\8Rۑ_q{jG %X$RhXmN#}jw$O:A5s]-; C 92qtx5l}gi3[,IY'e 4.ڭ܏@Ԭ9;- u mYZLob?I ]nqv(-D.%Ʀ;r>U%dSWPRIK+kq}jw$O:P͈؎+#?Iwentgi3[ ,&kuRVE1Eu-tVHJW(fm|4}_mt`pɐS5vG)dJ`1DpIPr-Tb#иehI!vaMW*Y:(U@HF j8I<_p$WA}pOPlDJZ,@%eI 8,Z`'Kr>khX]}&Bڎ.yOPIdI i1\24VZr>`tmdI<_p;PrD ؍.MH3lYyO Z,@%eI \dw$O:P͈)bڵI!}M&"= Y&JTkB08@[QO)qEj+' IgsR%vqtZ,@%eI #W:‰njTtrd-9Z; h(E jeU)`jBLDz M$.Җ-Tb#иehI!vջfdހY <@,$cCߣ N)B(8@Rd-b'uV[mX.)~\ _ ZRtlB tlpwK/jtlҀWtl;Fs8P]! )21txʢd.R_ե/߮M8O^юM;/9)!=b9$?4@_fΔcf :|*{8H#l_3 ͅɐe,Nh)K Gk?p;P͔4rd,+ l&jj꤬c[jYeU,Z܏dpZ_ReZJ_](6q½(6w_isSRB{Fs8H~h_fΔcf :|*{8H#l_3 ͅɐe,X9څ;]92)eڲY~\ҊX;V훁gd8 : gP ?$@O?`?6 )4]$.sVYvl :/@'Җ-8ջfdY9!ʘ$=4v )Ynj8Җ훁gE0 欷4ier MaEu-*DmmS +8'|K%=;GT'qLT W6#t 󣉩SlYyO܏S DFC(+0HzhS nDu T~΀ lUjj5D_s'tP @KBCQ@ 7#iA@'T<{jm@/ d@Y`G [R&D@ ,2V%k7jm"O)k.FΦH &)bڳ [nAs|F4KlS *Ֆp!-7 ΋`8( 欷4fdx sV[Rݳp2 P75e,[]6[lSQBt.ڥmZ9Lm}Lv}gi3[  T)BwpK)=t.־JȦ9;%?r>v՟h,&kA+`)maMEj]jf4?Ygi3[)Nnqvm7v} @;+XrwZbKr>ڳjŖ֓5ABj!tG-51ۑV*JȦ9;(VHK<'W(fm|GnGإlhزfPZjŖ֓5+"좺:IK+kq}x'D ؍ VReš.yO]lGآJ`1D%AX.)bڰ[V훁gzd,Y h(cCߣ N)6[`SLO)ꬷ5eڰ]ZRCtJiKDٳDٳt3/gI !ш'b_DٳDٳt3/gIvpAQL),欿WiKf2Wcf :|*{8HOhؿg R~tlҀWtlA}AυOgIvpA٩uRVE1- I5,uQ`Kr>ڥ‰jj|^Bj9K/՗j)~tlB tlA}AυOgI !,{WJ&͝(hJ&͝tTqGhؿg  !m;Y-mc/6Rɐ9K/՗j)~tlB tlA}AυOgI !_fΔcf :|*{8H#l_3  L/|gBNjKOx=%$SWU%dS_P\&RC6#kjV~Q6l!?{F:Q6lӠ§p b_fΔcf :|*{8H#l_3 ͭKlSq}I5,trd,ReZJ_](6q½(6w_isSRB{Fs8H~h%,{WJ&͝(hJ&͝tTqGhؿg 5DmaM$Բ9ɐ9K/՗j)~tlB tlA}AυOgI !B Y~߮M:P юM;/9) ѱ(?6A-aM[$!SUʖ@LY~WiKf2Wcf :|*{8HOhؿg )eڿ~Q6l@+F:Q6lӠ§;Fs8PѪ'mS n/$| šTtrd,ReZJ_](6q½(6w_isSRB{Fs8H~hAK/҉gJ_1҉g}>=e$6/…E04rd,ReZJ_](6q½(6w_isSRB{Fs8H~hjDٳDٳN 2BEB(^ĺmS m 6Rn/!`r_/ZRDٳDٳN 26/C@%,{WJ&͝(hJ&͝tTqGhؿg &M#b8P (e<_G j[Dn p;H؎AY~WiKf2Wcf :|*{8HOhؿg Y~߮M:P юM;/9) ѱ(?6lPjV~Q6l!?{F:Q6lӠ§p8_fΔcf :|*{8H#l_3 ̈́ClPjV~Q6l!?{F:Q6lӠ§p@jDٳDٳN 2BAn0!QL(ReZJ_](6q½(6w_isSRB{Fs8H~h0IK/҉gJ_1҉g}>=e$6/…&B`!5rtwcN@MJȦ9;%}LrlF9K/՗j)~tlB tlA}AυOgI !D)eڿ~Q6l@+F:Q6lӠ§;Fs8P[sŸjC6#kPlDlNQdsd87(`Ѱ9K/՗j)~tlB tlA}AυOgI !B Y~߮M:P юM;/9) ѱ(?67GImY(e,MD&Π6U]r_/ZRDٳDٳN 26/CD,{WJ&͝(hJ&͝tTqGhؿg >4JXMTLrvKq}BAp3b6w8q{LY~WiKf2Wcf :|*{8HOhؿg JY~߮M:P юM;/9) ѱ(?7Ie4 Q:E'pEP™ZeO܏(+ eD/'qL ML\r_/ZRDٳDٳN 26/CD_](6t(6w_isSRAb9(P~lKC)|gIYB)6Kq}i; (VۑɐPWo ZHjy_P$ILQ43m @;h)mqM+"9K/՗j)~tlB tlA}AυOgI !A,{WJ&͝(hJ&͝tTqGhؿg d|6)Y~WiKf2Wcf :|*{8HOhؿg _](6t(6w_isSRAb9(P~lf5E09K/՗j)~tlB tlA}AυOgI !@P_fΔcf :|*{8H#l_3 q@>5jj꤬c[ \󣰦!b= (_qrNPE*lvS@$jV~Q6l!?{F:Q6lӠ§p (jDٳDٳN 2BEi6&MC8XM&JȦ9;$V/_h.rlFΡt#!mM]CI&J,{V_ի҉g +1҉g}>=e$'l_3A%,{WJ&͝(hJ&͝tTqGhؿg A45I+"=W(fm|YVҗJ&͜d'hJ&͝tTqѱ$R~tlҀWtlA}AυOgIvpA3e.  jw$O: Ko]qjZdP&#*M -JmMR궰 !`r_/ZRDٳDٳN 26/CD@R_fΔcf :|*{8H#l_3 ,KnL]܏FuK#܏C:лjA-š Q<XmQ [p;r>Bک+"얃Sl}`c5RVE1M@a ؍r_/ZRDٳDٳN 26/CDE_](6t(6w_isSRAb9(P~otG ؍E лj8"Hd.ȠM[nGI=e$6/…j8Sr ZdP&#!mKWo`*b&Q.,{V_ի҉g +1҉g}>=e$'l_3 _](6t(6w_isSRAb9(P~k*b&~3b6t`"ȓ͒h[PT #M]X W(fm|)m%k4v܏i;.MBM/j ؍+,<-L@=L_rlFʺ VI3GaMjDAY~WiKf2Wcf :|*{8HOhؿg )eڿ~Q6l@+F:Q6lӠ§;Fs8PmT #M]trlF΢]$BٲZdP& PvPn1|Wb]5\Wo]}GIl9K/՗j)~tlB tlA}AυOgI !B@R_fΔcf :|*{8H#l_3 ѮC6#kQBt.ڎ!l- (Vۑv}/aJ)Njjw @iYVҗJ&͜d'hJ&͝tTqѱ$$R~tlҀWtlA}AυOgIvpA>5W(fm|(^΅QD-%vEjr>ڎRʒN tG ؍M]NRΪ 'p'tReZJ_](6q½(6w_isSRB{Fs8H~hQK/҉gJ_1҉g}>=e$6/…j 7Dz &΍~P͈SP,KSWo+(E<dP& PvSPT #M]I5,tmcrlFΎ›P#mRDz |gBk8"HdY~WiKf2Wcf :|*{8HOhؿg (jDٳDٳN 2B|}%pJ!}E лi+(; [GI<]@܏);$[6n1|Wb]7OWq}i;r_/ZRDٳDٳN 26/CD_](6t(6w_isSRAb9(P~krd-{:mG͒PwO:dP&2L j8SH!mSUn1|Wb]7 YVҗJ&͜d'hJ&͝tTqѱ$R~tlҀWtlA}AυOgIvpAjKCP N; hx>:Dлjd>h#p@@9K/՗j)~tlB tlA}AυOgI !A@r_fΔcf :|*{8H#l_3 ( >8Q-!kd~›wO:y܏-mU A(d-)Nh5<܏I+"즧}lf53b6AY~WiKf2Wcf :|*{8HOhؿg  _](6t(6w_isSRAb9(P~oܙ)`NlvPܨ"sd5wmQ [p;r>ڪ(ABPQ4[U%dSjym> 7 l01+"즧}lKJ ؍r_/ZRDٳDٳN 26/CDR_fΔcf :|*{8H#l_3 vL/|gB9[nAwO*5<ԓ:Z 6/ @;*ReZJ_](6q½(6w_isSRB{Fs8H~hP$jDٳDٳN 2B@5ܙ(&t.lmkPZ @p($ReZJ_](6q½(6w_isSRB{Fs8H~hA,{WJ&͝(hJ&͝tTqGhؿg 'mh[IaT/'j\2ہۑQ@ Bک+"얃ShTLrvSS}3 rlF9K/՗j)~tlB tlA}AυOgI !EY~߮M:P юM;/9) ѱ(?7CP Nہۑɐ6v}D.mjA AD !mTLrvKA~} IY'e5;Gc0Ѭ W(fm|YVp.PiK՜jݳp2 Z6 BŠ5eiKv3 DV[Rŵڥm@,)55u S nGE ]K#)dr")K#(Y mS j(VGV֓5b?ITLrvSs lqhj ]JÓл7P[՟l+V,؆m Q >nq+#쭵RVE1Eu-w܏rD^ ,&kcCŖ֓5՟l+V,IY'eJY[_;GؤHK<'W(fm|Kr>ڳjPd*YZL#)S5u[gs֓5GP xIt#bq|rvTb;r>,&kcCŖ֓5՟l+V,IY'eJY[_;GؤHK<'W(fm|Kr>ڳjPd*YZL e<_SWUw8)gi3[:,GI)#)`jm[nA+w; mlld-QL)b'uV[mX.)~\ _ ZRtlB tlpwK/jtlҀWtl;Fs8P(TTLSY~sV_ի҉g +1҉g}>=e$'l_3_](6t(6w_isSRAb9(P~hv3U%dS_RMK#t)eڲ_ե/߮M8O^юM;/9)!=b9$?4HIK/҉gJ_1҉g}>=e$6/…ĺjC6#ko`dԓRG&B,{V_ի҉g +1҉g}>=e$'l_3_](6t(6w_isSRAb9(P~kRb]5\󸾡}'tq{-'tReZJ_](6q½(6w_isSRB{Fs8H~hE,{WJ&͝(hJ&͝tTqGhؿg ; C9[g6"K6Kq}- YVҗJ&͜d'hJ&͝tTqѱ)eڿ~Q6l@+F:Q6lӠ§;Fs8PЬ(E lK؉,-aB(g6KG&B,{V_ի҉g +1҉g}>=e$'l_3 )eڿ~Q6l@+F:Q6lӠ§;Fs8PvS@MW*Y;g6"K6Kq}I5,trd,ReZJ_](6q½(6w_isSRB{Fs8H~h@AK/҉gJ_1҉g}>=e$6/…5,v%PlDlNh)K GG&B,{V_ի҉g +1҉g}>=e$'l_3Y~߮M:P юM;/9) ѱ(?5͈/{#CG&BۑgSWP H q{-5 #DAY~WiKf2Wcf :|*{8HOhؿg _](6t(6w_isSRAb9(P~mz+"좺6ΑC(܏hXWPTL,l9K/՗j)~tlB tlA}AυOgI !)K/҉gJ_1҉g}>=e$6/…I+"y͒_P\' ؍5 I5,trd,ReZJ_](6q½(6w_isSRB{Fs8H~h@$jDٳDٳN 2Bk$TLrvSq}BAp3b6u5v C)jV~Q6l!?{F:Q6lӠ§pЀ_fΔcf :|*{8H#l_3 q@٪)Nn/_h.rlFΦp&9K/՗j)~tlB tlA}AυOgI !_fΔcf :|*{8H#l_3  AIY'e7/ C6#kSWSjHjV~Q6l!?{F:Q6lӠ§pЁE,{WJ&͝(hJ&͝tTqGhؿg 1IY'e7/ C6#kSWSjHjV~Q6l!?{F:Q6lӠ§p8jDٳDٳN 2BArt+"=W(fm|jw @iYVҗJ&͜d'hJ&͝tTqѱR~tlҀWtlA}AυOgIvpAQ)Nn/_h.)hP͈)eڲ_ե/߮M8O^юM;/9)!=b9$?4R~tlҀWtlA}AυOgIvpA*0PZA+"즪JȦ9;%me+3b6AY~WiKf2Wcf :|*{8HOhؿg Y~߮M:P юM;/9) ѱ(?4wc< ,IY'd%C ؍rd-@?Ox=!Ua 9K/՗j)~tlB tlA}AυOgI !pAK/҉gJ_1҉g}>=e$6/…@;nidzU%dS_L3b6u5u;A4Y~WiKf2Wcf :|*{8HOhؿg JY~߮M:P юM;/9) ѱ(?67 @ii;2!vSU%dS_b]5\ReZJ_](6q½(6w_isSRB{Fs8H~h $jDٳDٳN 2B]@&u;'O6#IY'dG/mšG [QXw. ƨReZJ_](6q½(6w_isSRB{Fs8H~h R~tlҀWtlA}AυOgIvpA۠FW:ΧIY'd `Bd@ )eڲ_ե/߮M8O^юM;/9)!=b9$?4_](6t(6w_isSRAb9(P~hV"uRVE1ɢS)Y~WiKf2Wcf :|*{8HOhؿg )eڿ~Q6l@+F:Q6lӠ§;Fs8PؗMW(fm|@ lešN@N@)eڲ_ե/߮M8O^юM;/9)!=b9$?4H1K/҉gJ_1҉g}>=e$6/…ā  ClyԬ*&K8SIdGCS͈wP͒ؗ@r_/ZRDٳDٳN 26/CDY~߮M:P юM;/9) ѱ(?7g!9N`!Y%w#-p̏5K#)eڲ_ե/߮M8O^юM;/9)!=b9$?4H@ R~tlҀWtlA}AυOgIvpA:`TLrvSC / C6#kGaMBN㰡3$PXjV~Q6l!?{F:Q6lӠ§p!%,{WJ&͝(hJ&͝tTqGhؿg .IU%dSm} zP͈SPԓRG&B,{V_ի҉g +1҉g}>=e$'l_3_](6t(6w_isSRAb9(P~h&TLrvSCP Nۋ \󩫩5 ReZJ_](6q½(6w_isSRB{Fs8H~hE,{WJ&͝(hJ&͝tTqGhؿg >45RVE1M @;n/_h.rlFΦp&9K/՗j)~tlB tlA}AυOgI !@JY~߮M:P юM;/9) ѱ(?5AIY'e410_q}BAp3b6tv/; C9ELY~WiKf2Wcf :|*{8HOhؿg )eڿ~Q6l@+F:Q6lӠ§;Fs8PQ3U%dS=W(fm|jw @iYVҗJ&͜d'hJ&͝tTqѱ$)eڿ~Q6l@+F:Q6lӠ§;Fs8Pn{5RVE1M L6_P\' ؍5 ;„PlLY~WiKf2Wcf :|*{8HOhؿg _](6t(6w_isSRAb9(P~h=+"즆@/ C6#kSWSjHjV~Q6l!?{F:Q6lӠ§p pIK/҉gJ_1҉g}>=e$6/…3 TLrvSCP NۋX9P͈)eڲ_ե/߮M8O^юM;/9)!=b9$?4H$jDٳDٳN 2B\񎙐` :|gU%dSh_OM]TLrvKq}Ck=e$6/…~MX5 Ifh4}!mM]%SxfnGmt&B)dp@,{V_ի҉g +1҉g}>=e$'l_3Y~߮M:P юM;/9) ѱ(?4LS$Bڎ/{#uw84rd-0[|\B],FʫX54m)b`dY~WiKf2Wcf :|*{8HOhؿg  _](6t(6w_isSRAb9(P~h0 H^G)5< ~&BgƓ` X9k )m3!m)eڲ_ե/߮M8O^юM;/9)!=b9$?4HHjDٳDٳN 2B\x3U%dS=W(fm|jw @iYVҗJ&͜d'hJ&͝tTqѱ$$IK/҉gJ_1҉g}>=e$6/…3fJȦ9;) \󩫩5 vEjr>JRcƅR,{V_ի҉g +1҉g}>=e$'l_3 )eڿ~Q6l@+F:Q6lӠ§;Fs8Pm'tHa[%鐶}l\@tpD fڂM/jKX%ex,{V_ի҉g +1҉g}>=e$'l_3$jDٳDٳN 2B|}2LIY'e55uRVE1- zP͈܏C:=u ? @;h)mq@٪)NYVҗJ&͜d'hJ&͝tTqѱ$P jDٳDٳN 2B|}n2P͈IY'eu 't9Z; i;„Pl,]Y~WiKf2Wcf :|*{8HOhؿg ()eڿ~Q6l@+F:Q6lӠ§;Fs8Pt=+"%U_:Bʫ9K/՗j)~tlB tlA}AυOgI !EJY~߮M:P юM;/9) ѱ(?7Uʖ@ĺjC6#kQBt.J„lwO:dP&#JM]39Z; jRFʪReZJ_](6q½(6w_isSRB{Fs8H~hA%,{WJ&͝(hJ&͝tTqGhؿg .U%dS_PĺjC6#kGaMCI<8lXɐ9K/՗j)~tlB tlA}AυOgI !EY~߮M:P юM;/9) ѱ(?4dK3b6w//{#%AY~V_(4j5nٸqϩhLlŠ5eiKv3 B9-)nٸt^@(Җ훁gE09-)nٸt^@( YniKv3 A<Ֆ攱mvES)7MEuu Rʓ!NM-I Sr>ڝŠYB I PԐ3b6Aڎ.eO(P&+#?IwenJȦ9;)ƅUw8^ہۑ'{%v!iH]-jfYZLCs d8nG[jc [I)em|GS"y/Hu\]-jfɌjfpK)K?IYZLփGnGV֓5b?IBjfYZL꤬c X:IK+kq}jw$O%IΫ3b6@܏&kLV,&kw/]">ڳjPd*YZL e<_PRڭƬ&k@<Ygi3Z,l#}MRYAP.} Q:/NʃGnGV֓5b?IBjŖ֓5+"좺:IK+kq}jw$O%IΫ3b6@)gi3ZdBYgi3[%}M]VV֓5GV֓5@z @:?IҰK)Ƭ&kgE֓5]BnGI)#؎՟i eiI;jftYgi3Z܏&kaZen@.55v D}Br>,&kcCŖ֓5+"즑@ лjPWSIl؆,VmX-v3āY h0>ƇF @SLlšf.yOUe,ՂҗUJ_ե/J&͜d'hJ&͜ {8HOhؿg ͍~@;J&͝(hJ&͜ {8H#l_3!!QL),J&͜d'hJ&͜ {8H6/BCcCߪ:2c!Zt)eYVҗJ&͜d'hJ&͝tTqѱ)eڿ~Q6l@+F:Q6lӠ§;Fs8 Y(e,aB(g6KG&B,{WJ&͜d'hJ&͝tTql_3,{V_ի҉g +1҉g}>=e$'l_3 Y~߮M:P юM;/9) ѱnjG %8'|K%3%3e.  i5SfjE;R~tlB tlA}AυOgIFs8HH~mReZJ_](6q½(6w_isSRB{Fs8HH~h R~tlҀWtlA}AυOgIvp$$?6Kp;T8Q-;Y- w͔4rd,R~tlB tlA}AυOgIFs8HH~mReZJ_](6q½(6w_isSRB{Fs8HH~hIK/҉gJ_1҉g}>=e$6/(Ύ„PvM\I5,lrDNjw/3e.  _](6q½(6w_isSR@~ѱR_/ZRDٳDٳN 26/BCAE,{WJ&͝(hJ&͝tTqGhؿgBCctpG:; C;A5r!$Բ9ZΎ;P|KCG&B,{WJ&͜d'hJ&͝tTql_36TjV~Q6l!?{F:Q6lӠ§pE,{WJ&͝(hJ&͝tTqGhؿgBCdjY-›7!(CS͈q!h)mN@C!`r_f2Wcf :|*{8H6/BC@*ReZJ_](6q½(6w_isSRB{Fs8HH~h IK/҉gJ_1҉g}>=e$6/шM-!@rDtv -N`#6Rɐ9K/҉g +1҉g}>=e$!!K/՗j)~tlB tlA}AυOgI !!_fΔcf :|*{8H#l_3!! ZC NoZ;]92)eڿ~Q6l!?{F:Q6lӠ§b9$$?6)eڲ_ե/߮M8O^юM;/9)!=b9$$?4)eڿ~Q6l@+F:Q6lӠ§;Fs8f!`#CP N` ͒jp jY-›7!(Χ})t92вy:;9K/҉g +1҉g}>=e$!!K/՗j)~tlB tlA}AυOgI !!AK/҉gJ_1҉g}>=e$6/0D vlU;iȄRnٸ DHu;w͔  hY<wHjDٳDٳN 2pॗjV~Q6l!?{F:Q6lӠ§p@ R~tlҀWtlA}AυOgIvp$$?6nBQ?<؎6IY'dG;"pp&e B2H,^6p2ܑ<_](6q½(6w_isSR@~ѱ|YVҗJ&͜d'hJ&͝tTqѱ_](6t(6w_isSRAb9 ͛OO6#@RVE1-;A4RajD!pjwٸ D);'r_f2Wcf :|*{8H6/BCo_/ZRDٳDٳN 26/BCAY~߮M:P юM;/9) ѱ5r!$Բ9[6ΧrDA;-BP Z&E<-Dz lJDR~tlB tlA}AυOgIFs8HH~mReZJ_](6q½(6w_isSRB{Fs8HH~h )eڿ~Q6l@+F:Q6lӠ§;Fs8A4$Ύ;S"ySA`]M6„P$RVU%(9K/҉g +1҉g}>=e$!!K/՗j)~tlB tlA}AυOgI !!AK/҉gJ_1҉g}>=e$6/ٸ D0L YM3Njw@LY~߮M8O^юM;/9) ?hؿg lK/՗j)~tlB tlA}AυOgI !!jDٳDٳN 2HH~l b&KG't;w͔4rd,R~tlB tlA}AυOgIFs8HH~heJY~WiKf2Wcf :|*{8HOhؿg JY~߮M:P юM;/9) ѱM-ONCP N;})thXjDٳDٳN 2pॗjV~Q6l!?{F:Q6lӠ§pPIK/҉gJ_1҉g}>=e$6/5 p2ܑ=e$!!K/՗j)~tlB tlA}AυOgI !!QK/҉gJ_1҉g}>=e$6/5 @v -N7!(9K/҉g +1҉g}>=e$!!K/՗j)~tlB tlA}AυOgI !!,{WJ&͝(hJ&͝tTqGhؿgBCcp&=G6SSJ')d jymS"y)eڿ~Q6l!?{F:Q6lӠ§b9$$?6)eڲ_ե/߮M8O^юM;/9)!=b9$$?4P_fΔcf :|*{8H#l_3!!jKfd%S"y@ jDٳDٳN 2pॗjV~Q6l!?{F:Q6lӠ§pA,{WJ&͝(hJ&͝tTqGhؿgBCcp&L-TTLtjGaMOO6#S"y)eڿ~Q6l!?{F:Q6lӠ§b9$$?6)eڲ_ե/߮M8O^юM;/9)!=b9$$?4P jDٳDٳN 2HH~ln,JgU%dSSH&D$G6KpJ'rDlf]LY~߮M8O^юM;/9) ?hؿg ; Y~WiKf2Wcf :|*{8HOhؿg _](6t(6w_isSRAb9 ͍P ZY ꤬c; iȄRnٸ DHu;w͔  _](6q½(6w_isSR@~ѱ|YVҗJ&͜d'hJ&͝tTqѱ(R~tlҀWtlA}AυOgIvp$$?67̓,6!n}NjDٳDٳN 2pॗjV~Q6l!?{F:Q6lӠ§pA%,{WJ&͝(hJ&͝tTqGhؿgBCcp&dS" I0NjwHAY~߮M8O^юM;/9) ?hؿg ; Y~WiKf2Wcf :|*{8HOhؿg  )eڿ~Q6l@+F:Q6lӠ§;Fs8'11p4nh(E O:EDg *R~tlB tlA}AυOgIFs8HH~mReZJ_](6q½(6w_isSRB{Fs8HH~h%,{WJ&͝(hJ&͝tTqGhؿgBChO$HZp2vMO Sm#mM]!YM.VGH&DRD7#'DTLrvKBl6/,_](6q½(6w_isSR@~ѱR_/՗ )bڳ [nAs( Ь)jKBTB(!ph[`QU欳 )nٸt^@(O5e-7 ΋`8(sV[Rݳp2 Q\Ֆ攷l :/HҖ훁gE0 YniKv3 sV[Rݳp2  ~jsJ[nApP$YniKv3 Ֆ攷l :/H'Җ훁gE0 欷4fdx A\Ֆ攱mvaLPH!ph[lSTe]GImXS*!}]TuJ7#XS*!}\0܏C:3vԭ#%gQI262@m maMM]GU45[KmS h4}b֓5t͐, FS#m,лZ+"얃Shj إh1֓5܏&kaZ u֓5;dm%}d>mkMM]VV֓5?I} GfN& Ygi3[]"֓5@z @:?I,&k@<Ygi3[ IY'd()]TҲKP,ld-QL(N&lo[u5uRVE1 .})5]$/u]TҲKPVQL(Rŵ2@.B E0eIʺ9L܏VہKBTB`#6ꕜnGBTB(\0܏C:3vԭ#%gQI262@.B E0VRjl)4>܏K?I:fdYZL#)Sz ]}TLrvKA~}5RfP ent#?IV=`eBenN2n e<_G<|dZSSWUw8՟lfb;BlIS,&ku RfXAYgi3Zşh,&ktzлZ+"r>eš#VRjm@,)#gi3['L |&=enJ)Nw#QL)'}M]3ꦕZ)X.)bڰ[V훁gzd,[Dw; hVʈ_E XS*!}쐸a4-QL)b'uV[mX.)~\ _ ZRtlB tlpwK/jtlҀWtl;Fs8P(TTLSY~sV_ի҉g +1҉g}>=e$'l_3怠r_fΔcf :|*{8H#l_3 &2%I=e$'l_3Y~߮M:P юM;/9) ѱ(?4] ؍M]C9Y@KJ6s6t]c?`63xP[ *29K/՗j)~tlB tlA}AυOgI !AJY~߮M:P юM;/9) ѱ(?7MQ5\SΡ}Nw lfš qx #Q;r_/ZRDٳDٳN 26/CDJY~߮M:P юM;/9) ѱ(?7B(3U%dS)w .}wc٪)NjX|gGm@vWy \ReZJ_](6q½(6w_isSRB{Fs8H~hPIK/҉gJ_1҉g}>=e$6/…J'$m|)m3!mа'r>2@bI)eڲ_ե/߮M8O^юM;/9)!=b9$?4HE,{WJ&͝(hJ&͝tTqGhؿg jjCCP ZvSr> U%dS_P\' ؍aLPpaLP ReZA,[V.jm  @ @ @BnlA`̀]Tq @ @ @"em)bڳՂvX3HZ nh,[)A@P$~HE`M]e[vX3( lgEeݧVL I'@,_6UYnnNu` 9?_XYnnY`Kv3xA8-YniK,Gv& k,>y$ mf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr88.htmp/$ Chapter 9. Input/Output Formatting XL Fortran for AIX V8.1.1

Language Reference


Chapter 9. Input/Output Formatting

Formatted READ, WRITE, and PRINT statements use formatting information to direct the editing (conversion) between internal data representations and character representations in formatted records (see FORMAT).

This chapter describes:


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] U%dS l(Mz$^@mf>H>X>';,./usr/share/man/info/en_US/xlf/html/lr89.htmp/$   "<>-/=ADELRTet GHINOSVadinors012BCFPchlmp%,.379MWfguw#()68:bxy*+45QUX_kv!;YZ\&z|$'K{}][TP$l8T{ ts~|mCl/ug/b#{)`wug//"mRe,Evg1{{{{{Ʒ`:!C< uTP ɰ0bSU@hY@(@X(0G/[lXeU@yǟVxh ܁V0`AxX`0  |ʃTD9v wUupXhhnffffffffffffffc[kr 8řm ɪF3e09;مS&arb\C|Ql, f37aR7EDI]nffffffffffffc[kp f8RjNꮶ.($Iȓ,TA|1d"C"J ]k% ˰T+333333333333/XarR(@D`wjb78 XD'`wjb7 XD'`w (K2EJv a8wO X`vֻ +v'YwLNf*YEoY,*VI&dofp$L3vXG|a֤ 9'ֽj+mYW\0 I&6ev`8kEҬ0ԃd'$*w>>(rX` :UZl$䟬X V{>>*rX,00+|a֤ 9'Ub@QN8(7 U(P0,jg,<:";B Q6UXPȒMa)/30uWXY\ 'a 0YPp/30MU.HB3Mv &0 k73]f.'eDI\.DɀB _9Y(Gj_ ]kɮLJTz]b@aB  _6$mRe,Evg1{{{{{{|@ /Ma$mm4_џ'鱡 m$=MC\rG +|zN튬X]#·0It@X`t<?N ·Bg{jۇE9 ,#|b6/SZV_V9 a}w0P!lQ&/p<5#Z yi5#Z yB'JO/XV9 a}w0P!lQ&3p<(0#~J+vp$L%!3=9P7 #*"΍M~i!l %rscCE (@IـNIEn;·άZV_V9 a}w0P!lQ&/p<5yֈgP?kD3H\kD3(SJO/<3h% xROkD3F@?>OF@<#Z yi5sOF@<#Z yi!3=9P7 #*"noEn(lMFqq M`~*UfU#N rYrVĮTJ &en%|+eme[Nk(e[Npy[cLN\b++q%-eXe!3=9P7 #*"΍M~i!l %rscCE (3LAZ&LQ[VէՎBg{r]ġ3=Tn(FTE9 :550`F|hykD3(SBi5sBg{6Pr :55,XFC I,(͍ (P[#tɂrJ+uVtBg{6Prtjk` F@?Bg{6Prtjk%8JԱJ&OɉYՏcq(L~~Ba{FEa6E@9 A&Q2`Uw/X:u`6r3pFя5'98hvH{,ʫ|џ9rVF@<#Z yQ[d `%ٶ2Z郱VKkD3r5)|OkD3¹ֈgPJяo$ +-|kD3r5:5}Vr䭜hxF@?,,+u2Kldb#Z ys:_ Հ0jiML~C블&qFZt_S_o]Ω7!3=9Pjv~Bc7΍M~7l_:T܄0>Bg{jۇE9 ,#|b6/SZV_V9 a}w0P!lQ&/p<廆Oc)O/XV9 a}w0P!lQ&3p<(0#}"g.Je1D]dBbe[0Ŗ1b+|L~C블&qj eʈG!0S_ńo0H{\B `!iHQ[VէՎBg{r]ġ3=Tn(FTE9 :550`F0ucX&qg!J8ߵ@ᲄeD_S_J؊ ٜ+eS(]rVb؛ŗ‹lV(*\UbWrW*%|&7/XV9 a}w0P!lQ&tjkXI~`4`Q+(P@{ @ɮ'$UaCV?έ?O/0>Bg{6Prtjk`F@<Bg{6PrtjkRYlYeXS[Q+5sBg{6Prtjk[TA[3%lLįl**UV]0A`%H ˯d"H'.Jŭ`u$L*]dB1e V?ՎBg{r]ġ3=Tn(FTE9 ,#Cߤ JƆ(Ph '+@Me0 AVꮲd9%:_:uiZy}X&qg!J8ߵ@ᲄeD_S_o59J[TA[3%l"I6#{1We[ت؞1b+V|UMlYDV% f VlVa2xEuk\(tcC5)~dԳXXi!l J>>XXēa27Ua#fH[<8п/:OӢ[y} >~(,·i`6r#*y}Zy}Sr8߳% aѨVn&/p<`%oML~C블&qFZt_S_%Ω7!3=9Pjv~Ba{FE TVէՎBg{r]ġ3=Tn(FTE9 :550`F% zOkD3#Z yB% y|L~C블&qj eʈG!1FAA \$L3vXG ݀I|L~C블&qj eʈG!0S_ńo0H{\B ܒUw/X:Bg{6Pr :55,XFC I0(͍ (PX*7ar$ 'lwUu96̒Up8l&Fa݅V(6d w/X:u`6r3k7(S% y|΍U+bEc$a27 bxM[ل&V|UMlYDV%]n`UkFa5of'WY°i4ض*bJYLUl"I6#{0YĖVCVS.+l* MemDEF~_6|t0H{UʁhdW+am·C I M X Uq&pb6CsCߤ J7ϰ:A1si!l J>>LNظ]kk·C IDPlhqXR,~_CtWA1o j?,Vt< k){$mf>H>X>';./usr/share/man/info/en_US/xlf/html/lr90.htmp/$ Editing XL Fortran for AIX V8.1.1

Language Reference


Editing

Editing is performed on fields. A field is the part of a record that is read on input or written on output when format control processes one of the data or character string edit descriptors. The field width is the size of the field in characters.

The I, F, E, EN, ES, B, O, Z, D, G, and extended precision Q edit descriptors are collectively called numeric edit descriptors. They are used to format integer, real, and complex data. The following general rules apply to these edit descriptors:

  • On input:
    • Leading blanks are not significant. The interpretation of other blanks is controlled by the BLANK= specifier in the OPEN statement and the BN and BZ edit descriptors. A field of all blanks is considered to be zero. Plus signs are optional, although they cannot be specified for the B, O, and Z edit descriptors.
    • In F, E, EN, ES, D, G, and extended precision Q editing, a decimal point appearing in the input field overrides the portion of an edit descriptor that specifies the decimal point location. The field can have more digits than can be represented internally.
  • On output:
    • Characters are right-justified inside the field. Leading blanks are supplied if the editing process produces fewer characters than the field width. If the number of characters is greater than the field width, or if an exponent exceeds its specified length, the entire field is filled with asterisks.
    • A negative value is prefixed with a minus sign. By default, a positive or zero value is unsigned; it can be prefixed with a plus sign, as controlled by the S, SP, and SS edit descriptors.

      +---------------------------------Fortran 95---------------------------------+

    • Depending on whether you specify the signedzero or nosignedzero suboptions for the -qxlf90 compiler option the following will result for the E, D, Q(Extended Precision), F, EN, ES or G(General Editing) edit descriptors:
      • when the signedzero suboption is chosen, and the internal value is negative or a negative zero on output, a minus sign always be written out to the output field, even if the output value is zero. The Fortran 95 standard requires this behavior.

        +-------------------------------IBM Extension--------------------------------+

        Note that in XL Fortran, a REAL(16) internal value of zero is never treated as a negative zero.

        +----------------------------End of IBM Extension----------------------------+

      • when the nosignedzero suboption is chosen, and the output value is zero, no minus sign will be written out to the output field, even if the internal value was negative. The Fortran 90 standard requires this behavior, and is consistent with the behavior of XL Fortran.

      +----------------------------End of IBM Extension----------------------------+

      +-------------------------------IBM Extension--------------------------------+

    • In XL Fortran, a NaN (not a number) is indicated by "NaNQ", "+NaNQ", "-NaNQ", "NaNS", "+NaNS", or "-NaNS". Infinity is indicated by "INF", "+INF", or "-INF".

      +----------------------------End of IBM Extension----------------------------+

    Notes:

    1. The ES and EN edit descriptors will behave the same for both the signedzero and nosignedzero suboptions when the internal value is non-zero. That is, the minus sign will be printed out whenever the value is negative.

    2. In the examples of edit descriptors, a lowercase b in the Output column indicates that a blank appears at that position.

Complex Editing

A complex value is a pair of separate real components. Therefore, complex editing is specified by a pair of edit descriptors. The first one edits the real part of the number, and the second one edits the imaginary part of the number. The two edit descriptors can be the same or different. One or more control edit descriptors can be placed between them, but not data edit descriptors.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] precisi l꺂|$mf>H>X>'; ./usr/share/man/info/en_US/xlf/html/lr91.htmp/$   -<>AReinot "/=EGNOSTVadhlrsu.0BDHILPbcfgmp,1239CFMwx%&()+457;UWvyz*68:QXkq|#'YZ_!\[]{}@Kjz r$9xqT@ㆪ7TDr `DHnAtTzѫ~ "naʏTf ؋~'Fs<<<<<<<<<],Xo^,À`zf x} Vknjl^¸Xppww`nEY1`W!"qcX%snB^8?7|F2ѝx=ȶ\r'X"7|BjD׬?FpTqۋnD9 3Ƒf,:x}'V'^%*njlw` 4NT7$ʼnW "nv]M\b$+ʼnVS*rl» +:ŰOT+R턁!^,J^ 5 qJS]'ʼnVS*JkbUW(MhW'B[/YRnp"'X͈˷rrT$+:lE]>,JP] *eBDWkJ:B%*&^ vXe2]n+ĥV|DqA>,JP7.IR`7.IR`%YLWbj핔nL$^ebg0I4b3ډJ,8dˉtjܓKAJNBMDehgbQVjyѲ˴0)r2ip7pbc@7 Ru)2qÇ:7x8lTT:kM KU`!5zbUb6^m9 0"ŋ 7b3R=4A%@(hX4k[e2scO@G@P7pP<@sI(h@h 3xqp&ǭ:wjuwkړKz ]-7טKҬſPxlzǗ]FoЧ]6Wmrunz)ۋyaXd,]EH%y:6\/I)IV%u9L )gD sn+-]ZzfVA5kʦbφ> )|]|^Ƿ"Եş j3Ö|7ev'XዷUϔnY˻^RQi\yOVc/r)(J-1ĤYs2?>g,hW1XrφlJVr)(ĥVx Y֣<9g}Y,9gx'յԦWiy.ub, 3svݨWO>%,oq^oՕgZ f>Ի%0&䜫8#φa>φ>j.92N׭>,kQ^ڗv&䜫=Yj%*ZWφa>a6Wmrunrз1bkΫT0)gD sΕ9X fԻv"!3AWwwwwwwwwwwwwwv)([^|8wwwwwwwwwwwwwwv ÆnFn0}wkJ-1Q+GFa+GqgD 7$\)qnn&5ؔM/0%R5A(Y\"N}~Rb3׭=Y5 v$VUsJ^tpWJ+ׯJk7*hIpܓsЧ^}'Ċʢ:1vݯ)()F(I(Iş [Y'=YqraJ7E`H9E`H,h^"d^_VcؑYWV2&䜫:Ew*f,il9g{+*+)qq zĊʽʷ)s]"Y1ĦWf<"NЧş -,o,|D,z]cPY,9g{j.9gD sq>,il9g|8Nf<"NЧ1bkWs1vݯ)('I'*OI^`O&NmJ E= zt[^S(R$+,il9g|8@>%,od^lz]cS՘)-v Np[W1vݯ)('I'*O>%,o$L&Nm\"R  %GASN pg*ş Ö|76>,il9gzDŽc՘;BNnk^sY.yIE9:M9W= zM4 k[( ýH7 ΄p34ҍ0J<9E`HqT/YR~=Yi# P ÔV t,^ME(^9XJ.Uuܬ[Kv˷),q&c?VcK^RQiYsΕ:P39:N~uqvݨ]څz1E`Hİi#yE`H (IbUEmȽh۝r"N4јr4%SۑzѱXGp0G'XRwwwwwwwwwwwwwwww`8f`iGGf?V Ѧ P'(I:J*OЧ1M$v6Ar4Nɨe T'"^ǔMPJS+L?Gj]ڀ0i#0i#Xrφ9WXE`H9E`H,hrφq)U1gKa>qKJe}Yӱez9yiNE-Sφa>כĢٔ)ؑYU@dXn%ۋ}Y,:[HQv>=YazdŒÈ ?Uf>Ի7$\)49J4$׵ܯş -,iH஫1r=v{r*KQ$VUsЧ1t(qnRM5<8.H+:ɯVbzφÖ|7"Ģߓ.XӔ|ZzGj]LzM1ȫ5-G+gKa>ؑYUλq2Իf@~f>,hNp[W1M$v0J<9E`HqT/YR|JM5D:Yf?V Ѧ P'(I:J*L+՘QX&:1,9E`H^l|QX&:0a+GLb.nEFSΕ)uf?V ÔV *"6^lV#7h* S#f;V3p0Cpwx:+(hXq勵= q%YLvs 0. 6Yz.ӱ0,,/`o 3#4#8P<`8Xbu5j.z: J_Iݩwk?p3 Yv!F/_vݯMڗvR>6AѦ P& %* h4|F%@$ `o𰰿 3,,,_0,P3H,XaXb 0(3,X`?ŅŅ003Aaabfq $H"_$H#$ppg ,Yq!a+GEa+GqgXÖ|74Ѹr4Y>( yl Dx<zuܕ'Л`ѺfG0DJb oyO4xc7%I+)n40i#Xrφ4Xr4Y0 M$tÔV φYfG0F3`R# #f>p30x=Hh$VS{*y*OYMwV r4Y,9gqE`H9E`H,krφ0x=Hh1 oyO4xc7%I&ÆpfYi#a+GB(I(I ͏:lE](Ii#,J1 "nv$IʼnVS+FQq]XQt(X5(cMlq.\eIĥV|Dq\?+GPÔV +GF+GBfXۉ99*O4QX&;ī؋ۑzѾMytm^cֆ/?)vQڗv9_*ķOPxA^Y|ׂz7Yr턁> ^~S.N.{RrUoB"XQ `z<ID)TG 3rT^a/JBE>n0L]Vcڌ՟':1x/ V. `z<c6"<@ h=:nJM 0yJ6[Ч1wkJ-11.Z=w9J7t<8l ,X08i#r49ī)gc,oewQ$Vr)"kν\2=Yӱ딬[ٱ)f4n Y"NEhL'Y0ᛇ Wphݓ~IȲx:} zR5A)L)F9<9g|Ċʠ8hÆ0d4U!5i4TwyyT޳E#"o4C o xظM3Tv⣻E# @z)hU1xx@xGh0Xy'(ӵYvNzN3 J yE֍&aʎTwyyT޳E#"o4C o  6[Ч@L'9Qۇ+ ab{E# @z)j7APx@xGh`0 n40i#BÖ|49Q =4 yyD9B hzd Uy`ct b$Yv,Dq@jpqrw@z)i7HULr<ƪ8CcwV (Ii L4/P3BxfFGAM$)9gqE`Hi#aʍToyyT޳E#U2& f>Ի%:)g@9gLrEg"&ؑYUZzJWЧ1D./INyf,krφ,h,h(/"I^uH=YnEYOVc؉9] S&J\Y|"NB|4 Ö|4QGT~?a3Rp,XX nī)ßī*MvR^a0Cpfxc7%I݂ᛇ!`URᛇ WphS՘;ZrQI.%2ǷbUEmȽhߓQڹ&#S՘יXĻqr3䚏ECQ/F11(< (VS)F/^H%ؓ\%)f<jRP8hÆ1'yƁM9f wn?5U5 n&qe2Fx8]Xs2f*bp4Vf*;R<*oYMUS7y 7Tq dv *;qQ@ASz =4bjxLa *7qQ@ASz =5Tț ACLa $)9gqE`Hr4Y>f4uVcE`H a+G|X{pr/Z7˷F':vݯ)(ǔY)FB~WkĢߔfVS[ҫTql}Yb$YvDq|1d5H%zc՘9FxEvOVcܑYȤ6<[~?F̈zӅj.9bŋ 'L~ڗv"NtbǸMv.Not(R$?Gj]ڊ34ÔV *"6^o^|n.^~S.N.LjNWʱ-S$^=WTŋWOVcK^]c ź>  `FaFş bEeP [>f3p VcgXÖ|7"u{+95^Ċʮzf<"NЧ1/WKJžQFaFş |9gLÆn5]vNu'"˵&^ؐFNHQ\4+ЧS՘i JeyJ6Y 8bA 1pѻ !`iCj1XiHH gG15ULD:e8ΦaʎTwyyT޳E#"o4C o lNzN3rVLFGAMÖ|79@x3TnqXiHH gGdMx 懦@,5Qǚ7PK|4HSrφ>9gLÕHH gGdMx 懦@05Qǚ7@Y؉Ö|4 v?v8r;afaʍToyyT޳E#U2&h^+GPÔV φY04#+GPSQX&;ī؋ۑzѾ]08ן.yIE_Vc$vv>=YHRDכNrzſVW~ SNכ+υ 'L~;RׄWi9qnǸMv.Not(R$3(KQFaUQX&:r4%^\&܋֍kϓmeݩvݩIV% zǷ [nWkѿ"˕l$ )ן˻SKSKz 'BڈW3Ԁy"J%e1H7<`@Nȕ7h߭: zU/) umyuRezzfV9שEw+|JpW3Ԁy#)TG 3rTBl8nuVcQy:ŲƫTOVc2הZcVc\zro%YL0yJ6[Ч1vݯ)(Ǔ73 a85}a0]*ww`Wy-bEeP8r\:[w؉åwwwwwwwwwwzj?̓<8\`Id.gXd.<8\`g3#49Q+ ÕxiGL4#5]>Ö|48fU7d_r,]{q.\dOVcQ$Vr)"kν} z+} zt\bn͉L0w Wpfφ"rep 3pwۏ1a>:rHbEeW= z]cS՘\bn͉L0w WpfφLa7ѻ':e/IuN>=Y)FWesYT pf a? 3 =4 yyUTMƞhzdUycu%^6.nEFÕHH gG15ULD$)9gLÕHH gGdMx 懦@05Qǚ7@Y؉Ö|4 v?*7qQ@ASz =5Tț ACLi Ö|79@x3TnqXiHH gGdMx 懦@,5Qǚ7PS|4HSrφ*7qQ@ASz =5Tț ACLa 6 >trEgqn,XbP8Pg- Bšb00Cp!3AWwwwwwwwwwwwwwv)([^|8wwwwwwwwwwwwwwv ÆnFn0"ŋ 7b3R=4A%@(h` npD"\JUfנ&^ 1*ep87L" M9f?4x 48Xq?L"7pGD(`HpH=]3QX&:!(Iş Ö|7V ÔV φ,ipfYi#r4%^\&܋֍$I%YL%F3vcbDLɺX[s~S[rl^lz7ɲk[Ļqr3&Y2"e8ή 34 9E`Hb.nEF5ѶzMZu2;R׵'+X2=BEۊzUf-^n+ߑekeݩvݯjNWʱ,e zǓbDL+Q@Ի%(߫1M$tCQX&;ī؋ۑzѾNrNUB^S2nf&CȠx^ƗWO8.HQqiM;+?"us]]cJYb^~*Mvvs"2E=Y\"Nto1f@~[H+ד꼦_r,\%:n%ۋ\f&\WXOVc:Źӱ QX^ǸMv.No~% Dz`؋a>6:ʓ]Ċʮ F?AiL԰6,8YG&Q e2s|QT0LuH y6,S5,G bŋ J\9Q Jke(e*LQGS˻P>%,o,ʷY^|'+4wwwwwwwwwwwwwwwwbn> V3p0Cpd4#([^|8?Gj]څ|Y,9gy5Gq>,hNp[W1vݯ)('I'*OVcڊWĢߡC k[s)7=iۉvg_VcK^]b+4wwwwwwwwwwwwwwhMBBյÁwwwwwwwwwwwwww`8f`3?4p,XY勵= qW||˻\9GAqKG4щa+G|Xe2NyOġH)F&:ŲƫTO3 2e;,,X?,P? (3ŋ,80^O@G bŋ,]Ste2R~Ázf;B^7j]MڗvR>6A΍EvqnR>6A źL ("Ab$H,P`b EH"B$,PX`i(4@ A9q!Gpumye݂ᛇ!a3 AaaA,0Ph,g%* hpܑYŀ['@ϰ(MϝYŀ[$(XAرBBřw &ǡN!F˻V3p0Cpw?4p,X0:kM KUf<ghbU8pn9gLt"R<`("<@ h=:nJ"VSpi#+GqgD i#i#a>+GF+Gqgc,o3Ԁy#)TG 3rTBl8nF+GEa+GqgXÖ|7V r4Y>( yl Dx<zuܕ'ЛaHiGUf?V (IbUEmȽh&:6\/IN]ڝGj]|P^a/Px1*e} yN+ ~R5A'=Ym֢OVbf(I(IbUEmȽh;ʼnVS+S͎N>_MPIVbcn= z+GPÔV 7E`HM$wʼnW "npC/)10g*} z]b x*e} vVDkW(Ts՘j.zf&b4r4%^\&܋֍cʼnVS+Sev'X^i 9Lm֢OVcE`Hi#,JMf I(h[1[]DŽWk68} j"}%YLÇI(h@hpX0ßaS՘QX&;:4(I:J*O*{(TS՘QX&;`PE9E`H/YR~Nw ĜJ,zZ5fzĻqr3'?VcK^RQiKl8e'yeUuf=nJ2_%X+z\}Y,YʮBUNnk^ǔ0Xd.Ppd.ş KY<8\j<8\,P] E8,Y<(#Y԰ ̓r' řr;b=a>כ'81E`H8r4Y!La>K_%YLǸh3|4 Ö|7V CQX&;gD1,o.|Xe2yf(IGQX&;>$)9gqE`Hr4Y>K_%YLǸh|4 Ö|7V CQX&;>$)9gqE`Hr4Y>KS"ī) LŸY'YQX&:GQX&;ۉH=YpG\h|5Ã3Rp,XfPG.NlbUO&muh%?"N bh axr;$pp3|5,9g@$pp$ppXPGXÔ(ş KY' dMv q}ysΕ8@Vc&Q'Z7]:x)u ͏Vc+LO>Ὀ-1bU(Tp3CL^0NPLGwGAM<9gA |4!rt%,!aʍ9Xn+ 3@z)i7HULr<ƪ8@@h0X(EpXPGm Ô<8\j$pv,jXrφI;UI(EpXPGm9@y0F*7R<*oY檙x5(y 7Tq憆W<9gA"gXÖ|4+|6xrφ,i,9g@'CLÕrVf*7R<*oY檙x5(y 7Tq怀1`] E8,^(# ş b bφY@ş %,hirwVLFGAM82fÕ1Q@ASz =5Tț ACLY yp8Ayp8,^(#X^<ر@=dZ.;axr;!aʍToyyT޳E#U2&Xᤰ @ 3Tnp^0f&b~,i,9g|M/0$Wş Np_)Fi#+GqgD1,o^l>Pfἥ3V (Iş ḢM$u 9E`H,lp f<"NСW<9gyg\])G1fԩX}YpG\hewyp8V$ppXPGXÔ(ş KY'8'8+GQÔV φ cYQX&:7QX&;>9g}wkī)2Nzsφ8rφ4(a+GqgD1,n(I(Iş Qڗv,J^M$u9E`H,h0 i#>M$w|68rφ;Rȱ*e|f=GᘳNḢM$tr4Y!La>+G@|9E`H,lp vݩbUʊcO@GCCw~w Blz*N 8#aN~Ի )~(I+%Ph7QX&;t TOVcE`HBmpi#bj-?';NE%YE'9:L#;Je|eVbi#a+GLV a+G|Xe2]ؔO՘X[f<NrX0JUgiy.zO՘U8턅re2|5,9gy( .VrGЧ1t(ī)s)F738zb$^|5,9g@T,P_fbφ+Pqrφw|59gpt`<LD0i#+GqgD i#i#a>ī)s՘-b40i#Xrφ4Xr4Y0 bUʙ@~4pi#Xrφ4Xr4Y0 i#a+Gqgc,ibU9{]1E`Hr4Y,9gqE`H9E`H,krφ40i#Ö|4ȱ*eEp<@~)gRÖ|4VŊ ͏>v r:s0d4U!5i4TwyyT޳E#"o4C o +)ƯWK*;qQ@ASz =4bjxLa xÖ|4(ŅB,l ,YXrφ N !`iY,9go|6xrφE|Y>Xᤰ @ 0@>%,mφYHa_|6xrφ,i,9g@'CLÕr9W p/H+[J7뒙S1E`HBmO+%Ph7QX&;.ۣ_""g_Gj]l+QX&;`PEBbUpi#W:%)YRnzv.ui#+GLb.nEFf4nHiGT~?a3Rp,XX nī)ßī*MvR^wx8l ,Xn&bEBW}7j]8p/L0CV]cQK_vݩ@ϰ(MibĪ %* h4|V,Jh$b,Pg$HXb D ,b?,Pg$HXh"B088P3腋 ,W!bŠ fFiGppnO@G bŋf@@ZlX`jX$  |lbU8pnSJžfG0DJb oyO4xc7%I+)nѾ^f-|!([^b:{+cv>_';QqVW~ SO>%,hW3Ԁy D)TDz\8Dڋ|Y,9g|8O) 7Vן `z<dfGASN pgBl8nuVc2הZc~4r4%^\&܋֍ι^J=y5h$c+8ؑYWV2]ٵ򯓝v^`KUs\K p+՘)vNrtb-ŏZrQ8Gw|4Nw\GZ.}&HW^yġH̔˻QFaN~S.B,hἳW*W[ey[#Fn U݈Qp2XpÈ 0?Gj]څ|Y,9gy5Gq>,hNp[W12Ի%7$\){Q]X[)ɲk[s)7=iۉvgS*}wk+Ea0Cpf SQp2 8#aU;RהZc~4r4%^\&܋֍trz ms12PE ?@$[|j+)^`Ka7\H¼z)-vEvq*dW}y5u(f>S[p;'8N-Ѿ^J8Vc.VrG~ǔe 鈑xzfHܫr^%*GkڊJexN-"|4Nyҽ'"aHܫr_Bzᥰ HO>[Y';NE% ^ly8턂j+)8Gq=Y\"Nǯ6 ş -,o]T<'4:lj7*3f@~f@~ɐ0Q Jke(e*OJnDXe2] y6,S5,T"@ <<݋W~3|4Np[Wş Ö|7^Jǯ6=Yӱ)L]o'8N-+՘;RהZcܓsЧş Ö|7iy&ev'X<%JgD ͏>[Y޻q8Nf<"NСf>S[v8@VcK^RQiNrNUBh%8M/0$lwx8l ,X 7P\vN?ī)2~ÁzfCqM$tbXr4%YLS(R$QINlq&(0CG̻(eN  0,04 ?!a 3#4#8P<`8Xb@@Mrڋ8W}7j]8p/L0CV]cQMڗvXXghŋ,,0X3 ,04 3w 7Vן]+q!2f0 $H"Db03 3#74wwwwwwwwwwwwwwhMBBյÁwwwwwwwwwwwwww`8f`3 I(h,X` 4:kM KUtY]OAVS+?pf?4x 480Y?L"sI(h@hp`a?L:!FC"E4n4r4Y,9gLÆ0~(I!(IbUEmȽhbMĝ\bUQc> Țp;2m:\^`K]-Q%)f&brWD0U޻q'wk;^q+:7Un!^ǹV2|U] ÕWz`U] +U]2q/U5)v,0}wkJ-1nIʹSrWD0U]c pAXrφ|4wx8l ,X XQsЧ!bUOwk?p3 2e;/L +(ND80^O@G bŋ,]S1*e}'vݮÇ#5ev?,ݩwjb$  È 3 I(h,X`f@@ZlX`jX$ 7Sv=%YLÇP<@w~[Y04#+GSÔV *"6^o&Nx*ey(J1ӱsЧ^a/Px)NnkQydߡ:n%ۋW1\v$VUsq28w|4KY)i"$\f2+φa>NؑYUλqbUyQެus]vgU*O~DŽWif>S.{RrUa]VcNؑYU%?Vc2הZcmf=f} v+*S՘Nnkcq.\eIf<"NǮ+8OVc2׵'+XgKa>c+O"Nwj(#eݨWş Ö|7uQ[~>tw 7Vן]+q!2fKP>%,o&([<ş Ö|7t f&Qڗv&䜫=Yj+_7K~96Wmrunv;&ǭ;q.\eY.xEv#Fn Uݡ6= q 7Vן]݂ᛇt#Gj]Lro4i#Xrφtrz8OFj7WbS*a&)FX^us]]c>)Fy1Dk֞НWk" J^tpWJ+ׯ?Bu]Nrνv 9nIʹPڊWqH(#Gj]Lro4i#Ba>1.Z=w9J6f(IOQX&;>%,hW8+՘$VUUL'I'*N{Q]ʙ>[YĊʮ yĜ\qvA^DZ"re|aĥVLj+)8GuYӱ)gKa>:|_2qDŽWi3|4KYЮڋ|Y,9g|8A\yO>[Y'8N-ӯ6=Yӱ)|X5/WKy9qnFU;RהZcܓsЧ rM/0'ev'XWn%Wm㞅=YrEfa:Nѯ))u"34ҍ0J<9E`HqT/YR~=Yi# P ÔV t,^MEB&d9XJ.Uuܬ[Kv˷),q&c?VcK^RQi%&*ɒsΕ:P39:N~uqvݨ]څz1E`Hİi#yE`H (IbUEmȽh۝r"N4i#,J1 "b!3AWwwwwwwwwwwwwwwv<`@NXpÈ 0)~(ILOQX&;t TOVcE`HBmpi# Ql?';NE%Y)FWЙ7[s~Ի!a+GSÔV φa>q^ci#+GqgDÖ|4+J>[Y޻:ZS+xEv+VcJr,oB|4KY޼f>n%̡NĊʮv;&ǭ;q.\yeYܽrDӱ){ s%Xf@~1vݯ'I'*NIQ%9 ^~,il9gLbEeWuYVcۑVjZW"=YEtiPĜ\qvA]Mzn?|4Ὁ\ǔf>n% iv֜:՘;RהZ`+mYnEYj9_>[YĊʮuۉvݨ00)gD sYi#iT +G{zʓRiJ&HXfЄϫ1M$v0J<9E`HqT/YRa^4щa+Gzc4рQX&:dX{pr/Z6bt\H1M$u<9E`Hb.nEFa0CpfЛ8=:nJa7#7GGᥰ s,hNrrUF=yxEvOVbdX5/WKy9qn^ڗv&䜫>,hἓK 0+:ŷq9*U>%,o^l|Yrφۏ źuǫ1v> 1bk]- źzGj]LrtrzA/Iǒiy&ev'X(#8P<`8Xbfk.\)1*e}'̻ßp^`wkQYva/0Qfa`wx8l ,X40@Mrڋ:}%YLnԻßp^`NeMڗv7j]ڙ JUg&@h44*?V}BmO(?/D?39q!Gpumye݂ᛇ!a3 `B$KD$`(_H_L_,8#Fn Uݡ6= q 7Vן]݂ᛇw4wwwwwwwwwwwwwwwc*N 8 3 I(h,X`x y6,0S5,CITTM]-;:z J\9 1'yƁw~S.Es1'yƁ3Ÿr"rrz:lE](Ii#,JM`b%up umyMn$Vr Vc'X͈˷rrTi#>M$wʼnT"6^o "Qcvڔ[Ԍ~?G bŋ Ю? 'X͈ȷrrT'ī)ß|R^ui55Jg4QX&;Īcpr/Z6W QY+/r(f?V M$wbj-1F)4h(r pTi#D(IßSf?Ǫ܋` ΋b8pxPRn>S)F/YRb:f3*;/r(f?V M$wbj-0Vcбy5h$e2y(J11i#>M$wʼnW "nrA/Vcė z1E`H(IbUEmȽhߓ"< ujU]i#>M$w Qٰy:/&MyNlqzzM\b'Gg_+G@|9E`HEmȽhخ<i#>M$w|4HVᾍ+G@|9E`H,h0 sdWq 7VןMyNlqzVc'X͈˷rrTi#>M$wʼnW "bhLw\q'^R^'"&eIĥV}Y. žKnzn:}Y^ `kϓmĝZ yNlqIg4QX&;ī؋ۑzѾ8^$RQ`QGUf<"NǷ]οn.:} zM\b'Gg_+G@|9E`HEmȽhb%61FejϡOVc2׷tm1mΦev'XVTY^l ]cn5uŏ)֝~5]%:Ĭ[ے䚏Yi#Api#ʯXę*Omzʳ^J zM\b'Gg_+G@|9E`Hb.nEFLi# E+G{^-QGUf<+:žNοV r4%^\&܋֍kϷĝaB”i JeyI5Pxכrd㜵738zb$^,k;%[rj. ĝcЧ2sQ V-׬X]8[Ry6Wmrub"NYqr${+bc(R-uFej˂È ?D(eX܈gY.ה^tKQpWUNڌ՟' 1FejϡOVc&Kɲk[ے䚈0 6Yz,w";K:Ź] rj. IѶ;QZ11̭Y)ןQ-~Ǔev'XmBÈ ?D(eXؓq'_:Ź)&஫1ĝc>NzfVxIEH%~(IÔV ĜJ-O՘QX&:ÔV WKFuf@~^~LMV,h8]y,k;n+[rj. ĝcЧ2sQ u^ebƁxsמXZS^c u%mJq]-:6ÞSf=GQu^ebƁxsמ""g^fV(8Á4#ן.} ŵ*L+՘l:;:QX&:+G|X{pr/Z7+:7uY'Fۋ6%2ԻKy9d\Xf I(h,X`Y勵= pWmru|>μ1*e}'̻ßp^`a(<=T  ?=%PE` σBX'(Q2sV2NpH%XڤʊFn% rlbX^Ǻ[gHiq!Gp&ǡN<`@NXpÈ :fP<`8Xbx y6,0S5,CITT]ee2scO@GCEsI(h@hphY?L"s#l73鈑xzf M$ta+GqgD 3QX&:0i#Xrφ4Xr4Yrφ !aUQX&:0i#,JMI,J^J5g+\)טHʄ~S[rl^lz7وD.n%ۋW1\D.bEe_'='B]w؀W}{((f?4x 4844ßaN~S.B,h὘IȲv$VUs|Xb^lrl12S[v]zʓ(߫1v>=Y˻^ԜbXWUDb$Yv+*?Vc2הZcmf=f{1]e1\)|X5Ļqr3'S՘;Hǭ=Y˻^ԜK ᥰ ,hNp[W12Ի%7$\){Q]X[)ɲk[s)7=iۉvgS*}wk+Ea0Cpf SQp2 8#aU;RהZcV L9E`H,hἝ&䜫8N-ѾZƢ^IQ%9 1bkWiOQLFu511IȲv$VUsJ^tpWJ+ׯوD.ф7*hIp&䜫:Ew+8$VUfY.yIE9J7E`HÔV φ -,oǸh0M$ta+GqgD 'ezĊʽʷ)7$\)ׯj+S1gKa>ؑYU\yO8.H+՘$VUUL18ɍEv%2'஫1v>>,il9gyg\+&N1c՘;Bbφa>( yQ+)Dx<q+)n6|4KY'8N-W3Ԁy#6"<@ hpVK:aw)gKa> źuǫ1v>=Y]o'8N-+՘;R’LrtrzA.Il Ī\sЧ1H:Nѯ)"N:<ş -,o'gD s1͏Vc+} z%:Źaz[t f?ڗv&䜫>,hἓK 0+:ŷa0CpfBյÁwwwwwwwwwwwwwwwv ÆnFn tyNJgφa>כ|4vqnyxEvOVc:Źь/WKy9qn^ڗv&䜫=&Kq^`I]-;`]cЧumye+q!GL"9f=Yi#`xr4㤨^ z+Gl h4(IXfPeI9/r)(f=]֪ X':ǗnSXL~ڗv I+tIg_ZrtWY&KQ]9L f&b4щa+Gzc4рQX&;ī؋ۑzѷ: D}Yi#QX&;Īcpr/Z6+4wwwwwwwwwwwwwwwc*N 8 344*i#IPeIf?V &@h7QX&;бy5̡zʓs^$RQ`+՘i Je} u='KP=1/WLV L9E`H,hNz:|QX&:0i#Ba>ĥVLş -,o]-)f<"NՕ19tO>%,o^lz7KfPbEeW;qqc֝n.Fuf[YĊʮ z7K~Nz҆4ecNRUi}wkJ-06^Ƿ"Եş -,obEeW:;RQqiGGXrφ9qn^44*i#IPeI)4%$Vtn, 3BUg՘QX&;F%@M$w*0VcE`Hİi#yE`H (I2,JMsO:WPI՘QX&:0i#,JMw Blz*N 8#a"ŋ  ,]SNW||˻\9Fhv,iؘ,?@  00CL;{ a7#7Gpt7h/㠀h\P\Mh_Ч"X5Åf-#*:"X5Ã3RQ"X5ņ fzi*JIc:?xt<֛3RpHj@QWSt|؈"挥@*e)ßa 0 , l,v}$Xmf>H>X>';<./usr/share/man/info/en_US/xlf/html/lr92.htmp/$    et-<>Tainors /=AEGNORScdfhlp",.0DHIMPgmu()123459BFLVXbw'+678:Ckqvxy|!#UWZ_$*;QYzK\{}&[]jxA0\@1D9a2@1ƚIibLOj #bpy!QBmV y ֛{[]ĔDЁ#gNG$[V8888888888t xpX(@rIp`5,mXuַZe5Ń!p@W$C1#z-Y)NI($xW8=p|At xpXWհUI]lm-h7t xskeYe\wK-95~Ro-V9!1#ez5e[)ZLkn/ԙVv1#k޹vښ֞5[{e[q~,@ǀwES uVg.p]iB$.lwscɡG@P8-4Q8a&J t*7ݩ]hW糡QvvB/= ZiAA_΅FW ZV_΅FWMJCzi[ gBx+զ`gB{Sqkd۶:xt*7uXujq WqfKe9iX7RggZrҰ3@_΅F(RggZrҰ0+Ш2nUp(ouڭ$ yTo7[8yToYZKnYN~/= 3+Im:iШ޽K5^-iJϋgBT\op7.jnme[֗ol糡_*.7XYkfei-ni}6x IṶ%-*/؛YIˍ)pf@gv ]HA_΅Ff@`" jTzigBxE7|xHyTo8HR3|B/= 囶lu\BشgB}vt*7t*7^{:yNuv$C}֓Yؒ[p_΅F&IIm/= 7ʋJp̭:զڭ ZuMZ*R_΅FxMVjmV/= 7ZuMZ t*7 ӭZmW糡Q#|D7ʋ^o=i&yI5b7ʋPgB|T-֒h+Ш>o=i&/= -֒h+Ш+[糭$W糡Q1ЉbQPu578-4Q8f?MgK4::w &Oc@ą]常 M(Nx{vdž@(8 &Oc@ąlOpZiEp+Lo!n0xAAq1ЉbQP0i9ۆH(82=Xa4>Ænկq0E2Vtp,3U Fuu+Zh34C?^k =x3֫U+5%b_B `+Ҷ-&!iɕgA^i4 5Xa4 c" h=zj8`EdDm;< X64F9rK庘l88888888888t y#ɠpհ%6+ O"9PyΦ1-4\ y !y#ɠp$"<bs@O&P\`cc 501)J^{˭iܿsc-Jc-OX-Vˎg=MKRy̯$]4_=X0,q)TZ-]΍^_|lגe7gݩ]L_.ݺ{:Y-ql+:Rt+sVˎ1  Vŷ˱6[z/yЯK6rkeK3Ԯ/Zokn[lZ_ʋyKg;k>׋{[[LYLūepKJb؛Yح}}l l[|[/q$>J왋zu6_/ūe q`0o֗v&yiql+:Rt+s̷+f[V,-cAnT\噕 ۷*@g)/֭)obmgbeWm-{%jWdݹSsfT+"nܩ ^{˭inδs6~[ Δ ~bղL}ە<9feB/6ʐ2m:{aiN^m=XuMūet_[/kcܩ3*ynTk:ե1m$[e:n/zūei8cܩ3*ynTlbղYLūe-R~-]g9/ke7ʋ}ūe}ە<9feB/6ʐY^zs6[gZuZt+Y-gJN}Xz`r,̨WEݹRūey<8a 4t yEXMBg$4$>֐CI$! T)n{vreYWQ(D ƉP 8(Q "F&<Ҋ!(#39s9s9s!EXIG9s9s9s9<<Ҋ!) M ǏT@HXx`t M(@=mVHTY)zu'+: gB$̭%,vӡ^C.O4<8a"c O?y4Hhx` LCq B`y(zYZKn[m:y0<>1Ǜ⇩ӡW(z|c614 yHEnUp\YlNZV|^{˭ix؞_ˬ̭%,cSܴVS|OR}VťbkKgZg8}XR}O_YPs̭%-ڞZʚ;"G j3R$"?rh9s9s9s9sy0yBR<#pWy0zb~ ǔ@-%jWgصJ`ł|bEѾW˭&`*/#2J帻9OzQ4]i75XHíRͬ{:]ZlO?Q#5`*" 2u{4Ql>ۖъشuR%Q>%[mNݪr[ob勵nuΝfei-c/o#VOYVSn7̭%,BZmmqT\ŪXSn;řܻm~ݪmRYwI8XYkbi#*δϽVǗZʛ֭6SW.X!fVۖ!f2;W{R\J*jYϔ=ӡ^ZAlvΆmilN/=ft勵nux(*]mWnM|_[pZYZKnZT_6-0f(BMZrk;ՊITM$a|ߵV*&0$(&U!#"pt/ww4`Wg8:M;;Lu E40xW%D00&3H0hʁVj 5V h$`ѕV rQ$MjY 1Qy<8a <8a"pyǟ< $@T4@24G@ᄈ ÆAHh0P8xʞk2\^vH/Zokk]a[zyѲy/g;Պ^jQ4bi#jQ4vO5YP/ͻr+nbi#!I|^{˭iq@etܳvcܩ3*ynTVR(xs9s9s9sc'R9s9s9s8 D`J(R<D6?y4DG< Ȩ`QA(!#^{:y ?y4Hh24G@ᄈ  O)*ذ+|2@(z=H=XHV*&0=H_lER<p1!sXHV*&0Zokovi]i7fei-n,.֍W0ZK.ԮYZKn[wI8J֓xU:,z-w+ϔrf/Mm:˗k|fؽδgO.X[1`YZKnXq)n;5zPt5uEk)"qܓk9ڴ-!fXHLyDFw^bi#"B(o5XHʋg zQ4V*&0Tsk-δx؞.79֩f[*{d^0֪fVۖMe<QD 9s9s9s9 /$"OܥZ9s9s9s9pQ<R(xs9s9s9s9ҧs9s9s9s9pQ!$ UXgJ(1PAAjY rQ$MiE) M Ǐ3Q#5aკ(-4QC@@ Ui5JKml^{:y ?y4Hh ,di1&   ><8a"ѐyǔlXy> LCq B=HhADFjQ44 yHEZMgbKml7P yMk^ůMh!۵V1DFO5XHozQ45XHozQ4 /=1|֛{[uM*|Ze4osi5-ҶosΛ4_>Kɫg>-I5hrٶ~,0,{@%=Hh@)R Ծ_A\ǀ|2&JެTM$`$U>/= |Zk| /&&:M kfSCz1H

Z_Y`9-PpiA@XXXXp8xYaC$Ň8,048aAł ? @ <8a"@<bs@O&P\`cՊyDF<=XHR5XHǐ!I*V*&01)DF bi#DF yDF|zQ4bi#zu6ZU/V;mX!^ůMh!۵VV*&0$UI ʞk2\^vHEV*&0V*&0ެTM$a7TM$`7XH*ʞk2\^vHV݋T-[/ﲶw9ެTM$aTM$aEՊ"&U>/=1nT\噕 ۷*A|֛{[_}g;Xje۱6[gZNGrEbAvO5YP/ͻr:}v2Yξ1:OgZzcBݩ9fVۖ1nT\噕 ۷*A{:ՏXlZ_Yα{[){:Տ$XݹSsfT+"nܩ&g;Պ"UIDMI V*&05XHoV*&0yDF` cܩ3*ynTfei-no=i~Zj*yrʅqx^mە Nʞk2\^vH7[gZrk/~CԂ4P!~V-}fTulųE)cܩ3*ynT[rݺ{:ʋg;XjeY iR{δc8cܩ3*ynT0fei-ob-ūeVXY1d-ڙih(Tkb& YZKnZV϶.ZؿyKoܷs[gZ{MX fZml7[gZ_6nKݠ/F&X6{e˵w{ȶy_͏lصlg'M bm5y4t yEXxj>!$4xAFMBg$H80hxAb&c(1 !y#ɠp$"! P]Z.Z, 4H>X>'; ./usr/share/man/info/en_US/xlf/html/lr93.htmp/$ Interaction between Input/Output Lists and Format Specifications XL Fortran for AIX V8.1.1

Language Reference


Interaction between Input/Output Lists and Format Specifications

The beginning of format-directed formatting initiates format control. Each action of format control depends on the next edit descriptor contained in the format specification and on the next item in the input/output list, if one exists.

If an input/output list specifies at least one item, at least one data edit descriptor must exist in the format specification. Note that an empty format specification (parentheses only) can be used only if there are no items in the input/output list or if each item is a zero-sized array. If this is the case and advancing input/output is in effect, one input record is skipped, or one output record containing no characters is written. For nonadvancing input/output, the file position is left unchanged.

A format specification is interpreted from left to right, except when a repeat specification (r) is present. A format item that is preceded by a repeat specification is processed as a list of r format specifications or edit descriptors identical to the format specification or edit descriptor without the repeat specification.

One item specified by the input/output list corresponds to each data edit descriptor. A list item of type complex requires the interpretation of two F, E, EN, ES, D, G, or extended precision Q edit descriptors. No item specified by the input/output list corresponds to a control edit descriptor or character string edit descriptor. Format control communicates information directly with the record.

Format control operates as follows:

  1. If a data edit descriptor is encountered, format control processes an input/output list item, if there is one, or terminates the input/output command if the list is empty. If the list item processed is of type complex, any two edit descriptors are processed.
  2. The colon edit descriptor terminates format control if no more items are in the input/output list. If more items are in the input/output list when the colon is encountered, it is ignored.
  3. If the end of the format specification is reached, format control terminates if the entire input/output list has been processed, or control reverts to the beginning of the format item terminated by the last preceding right parenthesis. The following items apply when the latter occurs:
    • The reused portion of the format specification must contain at least one data edit descriptor.
    • If reversion is to a parenthesis that is preceded by a repeat specification, the repeat specification is reused.
    • Reversion, of itself, has no effect on the scale factor, on the S, SP, or SS edit descriptors, or on the BN or BZ edit descriptors.
    • If format control reverts, the file is positioned in a manner identical to the way it is positioned when a slash edit descriptor is processed.

+-------------------------------IBM Extension--------------------------------+

During a read operation, any unprocessed characters of the record are skipped whenever the next record is read. A comma can be used as a value separator for noncharacter data in an input record processed under format-directed formatting. The comma will override the format width specifications when the comma appears before the end of the field width. For example, the format (I10,F20.10,I4) will read the following record correctly:

-345, .05E-3, 12

+----------------------------End of IBM Extension----------------------------+

It is important to consider the maximum size record allowed on the input/output medium when defining a Fortran record by a FORMAT statement. For example, if a Fortran record is to be printed, the record should not be longer than the printer's line length.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] st one l겦$4mf>H>X>';$./usr/share/man/info/en_US/xlf/html/lr94.htmp/$    et"-<>Tainors /=AEILNRcdfhl0BDGHOPSbgmpu%,.129:CFMVWvwy34UYkxz!#()5678_q*+;QX|\[]j{}Kx4tADP " !ݮ4Py>" pA`cA(+-У͊1I0u1Zkqqqqqqqqqqq΁h$`*X氦 8`nh'[X[@@H#p$ #{9J*^uM8I֜3Z,X?(4/΁:m2oD`Vց(003scG;>(/łzSW)|[Krӓ7mRm_0C:<s$Q< 7oS/u&Qwt xpM#\3V[:iVkrlj-ɊscG;$1"(%\Y8qA8,X# 疷 ,€@[ O.@Q99xqq9G-n,X#A,4Û U ++xV)*J1nC?o=hNd37C?Rkk,Y``3ի5o&̕C?z]}g}+bd֚LF47Ҷ+&@!1撈)$ c`cA֛ի5&|l2\>Jz۞ XHPHS^<ѐy;CQn?$[_88888888888@ǟQnPs*3-'Ol޶▞P'O+Zwb552YtLjTke9kb-ɊnZklٕw1椌h%(<ED ns9s9s9s9f/:s9s9s9s8ѐyTB yoXQPc6tjQ撊J9oR:}b\WΛ2޶1gɒ~mBpW=c-M™o[vjRjɟ%`*!s9s9s9s(f/:s9s9s9sED 01`UZJ[ɒՕ9<֛:ż~VTkelKذIf]|Wf'{|RbVXνYfO+abyq'GEcFc:JWrZ*oZJVNX'&K6e@XGVJ ݙ]*,cI=$a3ĭ%w-խ/m[^J¡TXǚ0zH,g^vVٕ}V%i+o;W|^-i[y,yQcjH#ӡNܵBrWVY-ɊSaTXǚ0zH,gUZJ[Z_eM֛)[_}iV%i+`jHJ<5c3+= y,_ /]δe`]lKذOEs5c3+=_V{G3ĭ%w-խ/X-Ź1_g^vMPթRfW`#(yQo"վڥQnKg8^-haYX~)=btu[=+kZɳ0z K"xt`cFgw\2/ J#9{c96e@_X3ܴ֗S}mթR3=Ii}4ǚ0zHmrެ<|δ_˓fTʂ[ĭ%w-O.ܱrdRFIW}-Ϣ-[Y_)O*y,RF4 yDRkl֗KfT-ż:g96e@_/FrMP+g:yuX帜/&<.l^tδi{˖ :/| 0?ݙ]:-5eg-3΅fwЏ*-ٝNخzجgBNrgIn,_e$Ϟ[aYNtyб}yvev<Խ7-y濡vYrd_%<{fnm [0E*z+žUU/kʞt,_{3y%2LWK:*Zm[;3t{Ȯzl1l^tδ_LO*[|X]YnujTie'}-{wZo&Yg.cy39ƨ(^حlK}+^Rzխ/QnMP~TһXJRzbTГFp[ɒ+grB䢡AJ*Lt>-= 0S$%V)i9{΅;EB 4T zۼT QPciP'ij yzlƕGPxbŁC`8Џ*-/nQl[+;δ OgBy sY`PKT5Aŋ6 2&xހ0it(ך|:+[aYl@ǑuJgZ*m(5-NZVk|թRҴt)2&|Y%a^ZVۄ|r֪żL[ȝD[{d1Z*m|Xϔ[/lV[*z{ryujT0ɕIVm"kc>Sgl֗S|~hS5L%@ʆe6vlVX'Ō" ŖŹ6e@]lYRzթR3Z_eMz &̨ E3)ԩYyQog-꿗+[,Ei2/~“'Bc=0حlI#Rjɞ'&KRy_1^lcmrd}|>1{͌a׭NLμ0bV֗SoZWT&zg=m׭g=Ke1c'Tw$4T {f޶7-I3.W)^i(^֩rlKe ++Ø庵T֪ź^ll-'yQPc59撊rجמ[OXrdzJ*Lt"@T Dz4T y[:qnLT,\#VY-Ɋq92_=-7-I3.W)^i(^ZTpFWrd{iZ[[\ޅgɒ+gwZ{@FZ{O:ujrqY`FʞY+.yʞ}Pg}rӶ+},_B<;Kqo+>*Zm[ fw[ΟXy[-0WL[ΟXζZbxT/:OgZ;2ԩj)_LO*[9RJ'gM_LUe&\%`*!s9s9s9s9Ȍ7)y֎s9s9s9s9 挃"x c,g^QIЧg=بRkkc8[[yPTť*[x4<ѐx cxĐa |TzHL PQDB1 ވӚA $Fy < Ii,-l1"zpy=$G&sCN(("zHL!oDi [x#b< lHQ$^^` %)psi"'|GDrg49₍'hF đ4,y"'D5z]yp40X;`! dʗ+猭ĦeXI=8<؏?#9'o=$G&sFH74H$؏9b"z|AI sW5ט7C:Ӏb+&z)=c$Db>zHL PQDB1 ވӚA !IsBŃ$D(@Zk0n lZ!eY=i1"zpy A8x"93[Ǡx$sC$$؏9b"z|AI sW5ט7CL4Ӄ͈>#y"93o=$G&sb@xhqđ4(X;`DOO)$jh`vRb0@-4Ӄ͈>#y"93o=$G&sb@xhqH< Ii,0@%AO @ǚHlI#9 EzABG48@$Fy < Ii,26O x e )i"'|FDrg5$"zHLā5   H,y"'D5z]yp40X;`e )(l1HCd@'RJ 9֚b0( x `x c$Db6zHL椀|[OIɜؐ"=Ơ#A !IsBŃ$D(@Zk0n l 1HJ 9֚1H@R-'lHoPP !IsBŃ$D(@Zk0n l x e )(l1HCd@ǚHlI#9 EzABG48@Cx#b<態lHQ$^^` Cd@'RPH>X>';6./usr/share/man/info/en_US/xlf/html/lr95.htmp/$   -et<>ainors ./AENPRTcdfhlmpu,=BDGILMOSbg"+01Hvwxy()23459:;CFVW_k!#&'67UXYq8Jz|*KQ\j$%Z{}][p4A01zdHt@8]hhȐM=Ȑ{8krc {Ѓ8k#:3 ȫLzdyn.+pN):+_ŋ,Xbŋ,Xbŋ,Xbŋ,Xbŋ,Xbŋo-%xИ )EE# >Jnj#ܕc9]݆8яq{܋r/px);qŅH<44484<",-L_YBL P[Ѓ8k|oxliq৖^֝[M7i ɦƠ[DQ8 L Da-[ rBAZH{zk-e+ +4h/ AM M&#+n0' _<1ei69)M4 9DɦI$?aKKqΝ9F! Kq\[)kp ;3yA0zRS*+!(' x]qR:T@{@{b_|8k2i-ƐHr/$_9L+J2+淄d{N^Ԝ2o+ZYEH)N]™Ԝrj5Iʻ iEE# ķ%XWwwwwwwwwwwwwwwwa4cj) I[M4 9DɦI$?ѹ^Ŝkc9u_ q4$ 5ƓM"Hx&޴M4 9DɦI$?aKzc][DQ8 L Da-[ rBAZH{yea%x-t͆!OX+6+8a('|.Pgwk XV+/q4$q&&D]9--ƐR:vgL-Ɛp o$y6R~tΙr yJIL5 Cq^&(s򜠟dUM`g;6Yf|zEh nS؅tA0zRS -Ɛ&h2<;M=54~+(1|%|uai6-Ɛδi]/ AMy /&LRtWwQH*+J0ڱRy=1IZ^Ԝ2o<:YEH)N]iq=ȽȤ{1wwwwwwwwwwwwwg_5y[g+15{{{Hc.#:m!. ]cGynE3`g%B\v ܋Y%c"r+比a[i@s<&I$?ΝHHM4 95.bZ8ZtwM"HzI$<7-9r|mZt8kIKkL(qI_52i'EExI^%ԜpQxR nS_W&VdoQxR nS4iqM|Mr[_1S qA7Μ'7W<1RlެS߹Fc(nX{o#]Mq[ =4 ""pdž]ݟ%|nJhǸR=EB^*QxH*j$ 1RlS< 11W^L>2i0"δϚPg,B 7xKM7词Aܷ" I3?$ri=ɍ{$܊GE8bE*PghH_ xR)?\Sc9qox)ulTZڊjWñ 1|3| &+EErW_):bqwI8BG$zS[ MBJ2v#][Řnu&SKk淌b6WtW(]Z"q_}_:HbmgW鯝6,s6Z[_5\D1_mgRڜeJи0ԆS r/pH(34$rO񯄼)H hښ0WɶJeI_5=1I^bb1_!\j΂u:qoK(!BAZ+=k~M ᜷8Ǎ@h,-4H1Ԝ[)^R3W֝ (2+4bn540"}_;$=@y4i4$7+سmlg/EhF:AM"Hy"\i4$wM"Hx i4$Eh:Fc,^b?)IR^QH+^S4G2^SSrIʻ m|)iT܋ǭ|&DY*I$?6ZO63}Z"qQ_W(3FYZMxI^k;A32é %XD0a)e r/r) xeWnj<8J3ecGȽȽȤ{1wwwwwwwwwwwwwwvXl<)+P|*'-eWXVJjg;xDX[_YSA18c8p)Ɯ%Fa|GV:k |-IJ@O™iܗ{.m[0yΊ r/r) xeݏG%*r qQHbO-ȼiI =3i4$7oq{5[S+ٌl5L6;YN'-eyAb5(3Zl11Wyӳ:g):+^尌"mMVj+Ju(0]1I^尌"WV!UG+مC9%:c;9 oٗLS"!Pgwͽi]3è)7)J@O9l#(ȯ2߫0cmLgL%zfxR3`'gƘ5V2+"|fm|aVSi@siLM4 9 rZg&jBRrW)7)!H+Kob+%6ʯ}y 5Xl v2Eu51a_VOKk-#^;bybZ‚g)%J@OWΙxK.1䶦9{<2+0H4ȋqH)1ȽȤ{1wwwwwwwwwwwwwg_5y[g+15{ynEH)N]MVzӧZ,gY,WW-H4ȋqH)18o<&D&{&D gW1W-YQkslg.( gj+I^bb8(' yBW-xg()(1]P+S+W_Wς[mPORrؕnmׁa0V^^NUKkڤmLW:xuyxuM4 9O <M4 9bZ9N#_ÈAniI9DH!iIuqyA2봛KExS;T1\WJyA?!\j΂$^ .\eIA]_=1er[KrV- RrؕnmԸ5:&S9n;qŅsr/r) xeݏG%*r qQHbO-Ƚ9evS|1z{N9XdUzEa?n&DI$?լR+G)i@s"z4i@svOq=#""E4ǍL<-&DǍL=ƓM"H{9,[O37qƄ{ӧra`PPqIcƦM"HzcƦI$=ƜF{sͭc{Hc.ϒkqķ%XWwwwwwwwwwwwwwa4cj)"܋S޴Ԝ2nn1cQxR nS9Wa-Qr޴bcrBA^ܧ1HR\N[IW):+^#-Lr/r) xeݏG%*r qQHbO-ȼ#:|ܤZ,eEr}\Z coz{|k!OxXȫ޴bF*MRrF_WLϯ zbͽi5 CseEvWiIHn4i@sZ"r}_ q4$Di4$7h#ΟWiI@Lxi4$7+سmlg#܊Gwwwwwwwwwwwwwv|[G%*r qQH^Jnj#ܕc9]݆8яq{܋r/pzOpǀ;xDXX X( [ӛ^kt`WialP 1}d-#6с\q?~zGE@hb[-8ӟ?q=#"ؠh$ IA0g!9nKjNp bP,H>X>';Y./usr/share/man/info/en_US/xlf/html/lr96.htmp/$   " =DET<>AGHILNOR /25CPSVW%1BFt#.34XaehlmrMUinos()-069cdp78:Ybfgux!,Q_vwy;K\|k}[]{z@ fK40-.xA A,C(1#rPUtkuؒÃ2( F  `, "  0hh5kuؑ`H"@X(, Df!h0DUUUUUUUUUUUUUUUUUUUUHt`Ş׀CD( x@4 4 pt PIHP"[r)2x0D  Ch( ׁ *d( (p0fff@%#&@r,H( I`<"4 $2ffffffffffffffd R: eA" aA" p8"\ CA`:ACDAA0DhDt$X0DAb f!Ѣ 4hh1fffffffffffff@%#&A 840h( `h  C@ 3333333333 H`H+5R2MC@%cDCѲ`,"Lt3U/P#+A?q\@ hޑTt'ӫ  t@%C@h @hhAHHTt'ӫ< y.~<4IP#$@PL(p/t3U,0 ! %A@ P*d( @`Fj8\4osC$@d@(@8P@_H7@CFH\hh @ .$` <  pp480@< !$ C@AC0Hd݌A=i`݌=v v0z h0 "ѡ: J( ZQN2$t9hD  bP`0Dh`.@‚ArGAbP-(T@_N&    !!IAҁqH vLo"ѱHJվf9Nj\\7`ۮ\+erJhF(Jվx9Nj\\7`ۮ\Oz'hh4h`XF(Jվx9Nj\\7`ۮ\޲% 4 A@( rhbQ9}rrվn\8+erJӡ"X`|40hhh,h#XJ6)r5oNS嘫ț\8Wz' GW0@pv\TABҧ:T-؂FQ*sV#9}}Y˃{oY\qJJ6Nj\~|5o31W6ppOz',tmʜվx9Nj_`gb"mr'(OHQHە9}w`rվ,^D¼W$=(T82x eNt SոFQ*sV#9}}Y˃{oY\􅎂6ҍS/')[ UM\޲% mʜվx9Nj_`gb"mr'(OHX#m(#blR:6Nj]3|5o31W6pp'(OJ, "( MjңMjނFQ*sV#9}}Y˃{oY\􅎂6ҍS/')[ UM\޲% mʜվx9Nj_`gb"mr'(OHX#m(#blR:6Nj]3|5o31W6pp'(OJ, "( 4@voJ;B&P- 8! H#m(ە9}rrվ,^D=IBzG@mr5o^?r>NS嘫ț\8'erJ:J6Nj\~|5o31W6ppWz't PFPF(ؤtmʜվf9Nj_`gb"mr^Om+P*Y\Om+PFQ*sV#9}}Y˃|W$=#\R6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GWP츖EEIlTT^PB:J6Nj\~|5o31W6pq>Om+P.)AiFܩ[뗏܏yf*&. {oY\􅎂6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GW`츖%RGAiFܩ[뗏܏yf*&.'erJ:J6Nj\~|5o31W6ppOz't PFQ*sV#9}}Y˃W$=!cQHە9}w`rվ,^D¼W$=(T82x(  ˉp A!Imr5o^?r>NS嘫ț\8'(OHnTGsV<yk=IBzBAiFܩ[뗏܏yf*&. {oY\qJJإSv ')[ UM\+erJ҅K#+ eĸ vA6ҍS/')[ UM\Oz't PFQ*sV#9}}Y˃|W$=!cnTGsV<yky=IBzG@mlRGFܩ[oyf*&.޲% BE 4@S_\kA H#m(ە9}rrվ,^D=IBzG@mr5o^?r>NS嘫ț\8'erJ:(#m(ە9}rrվ,^D^Om+P.)AiAbѷ*sV9}}Y˃y=IBzPdpepB ˉp~k8FQ*sV#9}}Y˃{oY\􅎂6ҍS/')[ UM\޲% mʜվx9Nj_`gb"mr'(OHX#m(#blR:6Nj]3|5o31W6pp'(OJ, "(PH@pv\K:KB:J6Nj\~|5o31W6pq>Om+PFQ*sV#9}}Y˃|W$=#\R6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GW(( 8h;.6WMTFQ*sV#9}}Y˃{oY\qJJ6Nj\~|5o31W6ppOz',tmʜվx9Nj_`gb"mr'(OHQHە9}w`rվ,^D¼W$=(T82xE eNt SոFQ*sV#9}}Y˃{oY\􅎂6ҍS/')[ UM\޲% mʜվx9Nj_`gb"mr'(OHX#m(#blR:6Nj]3|5o31W6pp'(OJ, "(P4@3:l4Dt!Imr5o^?r>NS嘫ț\8'(OHnTGsV<yk=IBzG@mr5o^?r>NS嘫ț\8+erJ:(#m(#blR:6Nj]3|5o31W6pp'(OJ, "(P ˍ56FNS嘫ț\8'(OHnTGsV<yk=IBzBAiFܩ[뗏܏yf*&. {oY\qJJإSv ')[ UM\+erJ҅K#+p $tmʜվx9Nj_`gb"mr|W$=!cnTGsV<yk=IBzG@mr5o^?r>NS嘫ț\8+erJ:(#m(#blR:6Nj]3|5o31W6pp'(OJ, "(P4@k'6ҍS/')[ UM\Oz',tmʜվx9Nj_`gb"mr'(OHnTGsV<yky=IBzG@mlRGFܩ[oyf*&.޲% BE eŸA}7HdA imr5o^?r>NS嘫ț\8'(OHnTGsV<yk=IBzBAiFܩ[뗏܏yf*&. {oY\qJJإSv ')[ UM\+erJ҅K#+$P@pv\l[pvIk`6ҍS/')[ UM\Oz't PFQ*sV#9}}Y˃|W$=!cnTGsV<yky=IBzG@mlRGFܩ[oyf*&.޲% BEH@pv\qN8A H#m(ە9}rrվ,^D=IBzBAiFܩ[뗏܏yf*&. {oY\qJJ6Nj\~|5o31W6ppWz't PFPF(ؤtmʜվf9Nj_`gb"mr^Om+P*Y\Om+PFQ*sV#9}}Y˃|W$=#\R6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GWHP@pv\q#!Imr5o^?r>NS嘫ț\8'(OHX#m(ە9}rrվ,^D>Om+P.)AiFܩ[뗏܏yf*&. {oY\qJJإSv ')[ UM\+erJ҅K#+$h!Imr5o^?r>NS嘫ț\8'(OHX#m(ە9}rrվ,^D>Om+P.)AiFܩ[뗏܏yf*&. {oY\qJJإSv ')[ UM\+erJ҅K#+$r-,sj $tmʜվx9Nj_`gb"mr|W$=#\R6ҍS/')[ UM\޲% mʜվx9Nj_`gb"mr'(OHQHە9}w`rվ,^D¼W$=(T82x@<ޜ})#nTGsV<yk޲% mr5o^?r>NS嘫ț\8'erJ:(#m(ە9}rrվ,^D^Om+PFPF(ؤtmʜվf9Nj_`gb"mr^Om+P*Y\B:J6Nj\~|5o31W6pq>Om+PFQ*sV#9}}Y˃|W$=#\R6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GWH4@}ӏΔZ@r@-#nTGsV<yk޲% mr5o^?r>NS嘫ț\8'erJ:(#m(ە9}rrվ,^D^Om+P.)AiAbѷ*sV9}}Y˃y=IBzPdpepD4@}F^^A H#m(ە9}rrվ,^D=IBzBAiFܩ[뗏܏yf*&. {oY\qJJ6Nj\~|5o31W6ppWz't PFPF(ؤtmʜվf9Nj_`gb"mr^Om+P*Y\Om+PFQ*sV#9}}Y˃W$=#\R6҂6)F#nT݃7sV<yk {oY\R!" {`B܂bRe@6ҍS/')[ UM\Oz't PFQ*sV#9}}Y˃|W$=!cnTGsV<yky=IBzG@mlRGFܩ[oyf*&.޲% BEP@pv\qӏB.6ҍS/')[ UM\Oz't PFQ*sV#9}}Y˃|W$=#\R6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GWIADqN>qP!)#nTGsV<yk޲% mr5o^?r>NS嘫ț\8'erJ:(#m(ە9}rrվ,^D^Om+P.)AiAbѷ*sV9}}Y˃y=IBzPdpepDaDqpy8q^$tmʜվx9Nj_`gb"mr|W$=!cnTGsV<yk=IBzG@mr5o^?r>NS嘫ț\8+erJ:(#m(#blR:6Nj]3|5o31W6pp'(OJ, "(㏾}ɠq'ZA H#m(ە9}rrվ,^D=IBzBAiFܩ[뗏܏yf*&. {oY\qJJ6Nj\~|5o31W6ppWz't PFPF(ؤtmʜվf9Nj_`gb"mr^Om+P*Y\NS嘫ț\8'(OHnTGsV<yk=IBzBAiFܩ[뗏܏yf*&. {oY\qJJإSv ')[ UM\+erJ҅K#+$ ez Μ}΀1)#nTGsV<yk޲% mʜվx9Nj_`gb"mr'(OHX#m(ە9}rrվ,^D^Om+P.)AiAbѷ*sV9}}Y˃y=IBzPdpepADqx!FtA/l@ -#nTGsV<yk޲% mʜվx9Nj_`gb"mr'(OHX#m(ە9}rrվ,^D^Om+P.)AiAbѷ*sV9}}Y˃y=IBzPdpepDaDqpy8ّ6ҍS/')[ UM\Oz',tmʜվx9Nj_`gb"mr'(OHnTGsV<yky=IBzG@mlRGFܩ[oyf*&.޲% BE ecƻB:J6Nj\~|5o31W6pq>Om+PFQ*sV#9}}Y˃|W$=#\R6ҍS/')[ UM\޲% mlRGFܩ[oyf*&.޲% BEADq@GN?bB:J6Nj\~|5o31W6pq>Om+P.)AiFܩ[뗏܏yf*&. {oY\􅎂6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GW( 8h;.8pA-9NǗ!Imr5o^?r>NS嘫ț\8'(OHnTGsV<yk=IBzBAiFܩ[뗏܏yf*&. {oY\qJJإSv ')[ UM\+erJ҅K#+ $ 8h;.8RGAiFܩ[뗏܏yf*&.'erJ:J6Nj\~|5o31W6ppOz't PFQ*sV#9}}Y˃W$=#\R6҂6)F#nT݃7sV<yk {oY\R"BB{{p/r/SB:J6Nj\~|5o31W6pq>Om+P.)AiFܩ[뗏܏yf*&. {oY\􅎂6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GW4@A LZ@r@-#nTGsV<yk޲% mr5o^?r>NS嘫ț\8'erJ:(#m(ە9}rrվ,^D^Om+PFPF(ؤtmʜվf9Nj_`gb"mr^Om+P*Y\Om+P.)AiFܩ[뗏܏yf*&. {oY\􅎂6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GWB0 yz=)#nTGsV<yk޲% mʜվx9Nj_`gb"mr'(OHnTGsV<yky=IBzG@mlRGFܩ[oyf*&.޲% BE`츮oJ;  X,4B:J6Nj\~|5o31W6pq>Om+PFQ*sV#9}}Y˃|W$=#\R6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GW epGJ; 0hh $tmʜվx9Nj_`gb"mr|W$=!cnTGsV<yk=IBzG@mr5o^?r>NS嘫ț\8+erJ:JإSv ')[ UM\+erJ҅K#+ l//pX `,0<A H#m(ە9}rrվ,^D=IBzBAiFܩ[뗏܏yf*&. {oY\qJJ6Nj\~|5o31W6ppWz't PFPF(ؤtmʜվf9Nj_`gb"mr^Om+P*Y\Om+PFQ*sV#9}}Y˃|W$=#\R6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GW( 8h;.-YђD48@4h( B:J6Nj\~|5o31W6pq>Om+PFQ*sV#9}}Y˃|W$=#\R6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GW4@tZ2@wX( B:J6Nj\~|5o31W6pq>Om+PFQ*sV#9}}Y˃|W$=#\R6ҍS/')[ UM\޲% mlRGFܩ[oyf*&.޲% BE eŠۨ!Imr5o^?r>NS嘫ț\8'(OHnTGsV<yk=IBzBAiFܩ[뗏܏yf*&. {oY\qJJإSv ')[ UM\+erJ҅K#+ ( 8h;.-x[kRGAiFܩ[뗏܏yf*&.'erJ:J6Nj\~|5o31W6ppOz't PFQ*sV#9}}Y˃W$=!cQHە9}w`rվ,^D¼W$=(T82x, 8h;.-~=-~(!Imr5o^?r>NS嘫ț\8'(OHnTGsV<yk=IBzBAiFܩ[뗏܏yf*&. {oY\qJJإSv ')[ UM\+erJ҅K#+ Dqk-~)#nTGsV<yk޲% mʜվx9Nj_`gb"mr'(OHX#m(ە9}rrվ,^D^Om+P.)AiAbѷ*sV9}}Y˃y=IBzPdpepA@ 8h;.-~FDb6ҍS/')[ UM\Oz't PFQ*sV#9}}Y˃|W$=!cnTGsV<yky=IBzG@mlRGFܩ[oyf*&.޲% BEDqk/4bךB:J6Nj\~|5o31W6pq>Om+P.)AiFܩ[뗏܏yf*&. {oY\􅎂6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GWP4@Am-Nt6ҍS/')[ UM\Oz't PFQ*sV#9}}Y˃|W$=!cnTGsV<yky=IBzG@mlRGFܩ[oyf*&.޲% BBE eQ!I H(A:J6Nj\~|5o31W6pq>Om+P.)AiFܩ[뗏܏yf*&. {oY\􅎂6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GWP츂!`gH" v $tmʜվx9Nj_`gb"mr|W$=#\R6ҍS/')[ UM\޲% mʜվx9Nj_`gb"mr'(OHQHە9}w`rվ,^D¼W$=(T82x ˈ"d`_H" vIy`RGAiFܩ[뗏܏yf*&.'erJ:(#m(ە9}rrվ,^D>Om+PFQ*sV#9}}Y˃W$=#\R6҂6)F#nT݃7sV<yk {oY\R"  ˋ/P#u)#nTGsV<yk޲% mʜվx9Nj_`gb"mr'(OHX#m(ە9}rrվ,^D^Om+P.)AiAbѷ*sV9}}Y˃y=IBzPdpepE e9GK.sF6ҍS/')[ UM\Oz',tmʜվx9Nj_`gb"mr'(OHnTGsV<yky=IBzBAiAbѷ*sV9}}Y˃y=IBzPdpepE4@遘6ҍS/')[ UM\Oz',tmʜվx9Nj_`gb"mr'(OHnTGsV<yky=IBzBAiAbѷ*sV9}}Y˃y=IBzPdpepEaDq=03[!Imr5o^?r>NS嘫ț\8'(OHnTGsV<yk=IBzBAiFܩ[뗏܏yf*&. {oY\qJJإSv ')[ UM\+erJ҅K#+( eE@ޓ3r(!Imr5o^?r>NS嘫ț\8'(OHnTGsV<yk=IBzBAiFܩ[뗏܏yf*&. {oY\qJJإSv ')[ UM\+erJ҅K#+( eMΓ 7B:J6Nj\~|5o31W6pq>Om+PFQ*sV#9}}Y˃|W$=#\R6ҍS/')[ UM\޲% mlRGFܩ[oyf*&.޲% BE e52 ~d " 0 B:J6Nj\~|5o31W6pq>Om+P.)AiFܩ[뗏܏yf*&. {oY\􅎂6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GWADqk5&A܌X" &P- 8! H#m(ە9}rrվ,^D=IBzG@mr5o^?r>NS嘫ț\8'erJ:J6Nj\~|5o31W6ppWz't PFPF(ؤtmʜվf9Nj_`gb"mr^Om+P*Y\NS嘫ț\8'(OHnTGsV<yk=IBzG@mr5o^?r>NS嘫ț\8+erJ:(#m(#blR:6Nj]3|5o31W6pp'(OJ, "(  ˉ{da^堅&P- 8! H#m(ە9}rrվ,^D=IBzG@mr5o^?r>NS嘫ț\8'erJ:J6Nj\~|5o31W6ppWz't PFPF(ؤtmʜվf9Nj_`gb"mr^Om+P*Y\NS嘫ț\8'erJ:J6Nj\~|5o31W6ppWz't PFPF(ؤtmʜվf9Nj_`gb"mr^Om+P*Y\NS嘫ț\8'erJ:(#m(ە9}rrվ,^D^Om+P.)AiAbѷ*sV9}}Y˃y=IBzPdpep@  ˌpcFQ*sV#9}}Y˃{oY\􅎂6ҍS/')[ UM\޲% mʜվx9Nj_`gb"mr'(OHX#m(#blR:6Nj]3|5o31W6pp'(OJ, "( ˉ; 5GbRGAiFܩ[뗏܏yf*&.'erJ:(#m(ە9}rrվ,^D>Om+PFQ*sV#9}}Y˃W$=#\R6҂6)F#nT݃7sV<yk {oY\R")!Dq7ZΓq^j7B:J6Nj\~|5o31W6pq>Om+PFQ*sV#9}}Y˃|W$=#\R6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GWBBn/IyxFQ*sV#9}}Y˃{oY\qJJ6Nj\~|5o31W6ppOz',tmʜվx9Nj_`gb"mr'(OHQHە9}w`rվ,^D¼W$=(T82x 4@nѡCDAcd` A@ZRGAiFܩ[뗏܏yf*&.'erJ:(#m(ە9}rrվ,^D>Om+PFQ*sV#9}}Y˃W$=#\R6҂6)F#nT݃7sV<yk {oY\R")ADq7U/V imr5o^?r>NS嘫ț\8'(OHnTGsV<yk=IBzBAiFܩ[뗏܏yf*&. {oY\qJJإSv ')[ UM\+erJ҅K#+X@pv\Mn6ҍS/')[ UM\Oz',tmʜվx9Nj_`gb"mr'(OHnTGsV<yky=IBzG@mlRGFܩ[oyf*&.޲% BEP 4@A"N u6ҍS/')[ UM\Oz't PFQ*sV#9}}Y˃|W$=#\R6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GW 4@p1Iz tRe@6ҍS/')[ UM\Oz't PFQ*sV#9}}Y˃|W$=!cnTGsV<yky=IBzG@mlRGFܩ[oyf*&.޲% BEP 4@TWӪPB:J6Nj\~|5o31W6pq>Om+P.)AiFܩ[뗏܏yf*&. {oY\􅎂6ҍS/')[ UM\޲% J6)r5oNS嘫ț\8Wz' GW@3:t!Imr5o^?r>NS嘫ț\8'(OHnTGsV<yk=IBzBAiFܩ[뗏܏yf*&. {oY\qJJإSv ')[ UM\+erJ҅K#+P@pv\tahx``P0FQ*sV#9}}Y˃{oY\qJJ6Nj\~|5o31W6ppOz',tmʜվx9Nj_`gb"mr'(OHQHە9}w`rվ,^D¼W$=(T82xH츂^<:A/l@ -#nTGsV<yk޲% mʜվx9Nj_`gb"mr'(OHX#m(ە9}rrվ,^D^Om+P.)AiAbѷ*sV9}}Y˃y=IBzPdpep@P@pv\A&H$A H#m(ە9}rrվ,^D=IBzG@mr5o^?r>NS嘫ț\8'erJ:J6Nj\~|5o31W6ppWz't PFPF(ؤtmʜվf9Nj_`gb"mr^Om+P*Y\NS嘫ț\8'erJ:(#m(ە9}rrվ,^D^Om+PFPF(ؤtmʜվf9Nj_`gb"mr^Om+P*Y\NS嘫ț\8+erJ:Jإj: JP `,<  h4b 44@44!!h C@ GW Dq# gh" lP4 `XH`     h Cd0H hh`4q"X`|F  E(2K#+0h000` XjRdK#+ 0D4@ XjRdK#+ 8hK@h00&@ (T82xH@prN,   A LPdpepB1KA`ph A LA#R2` cXoJRGA`!(!rG 5GbR ki$t mf>H>X>';t ./usr/share/man/info/en_US/xlf/html/lr97.htmp/$ Attributes XL Fortran for AIX V8.1.1

Language Reference


Attributes

Each attribute has a corresponding attribute specification statement, and the syntax diagram provided for the attribute illustrates this form. An entity can also acquire this attribute from a type declaration statement or, in some cases, through a default setting. For example, entity A, said to have the PRIVATE attribute, could have acquired the attribute in any of the following ways:

     REAL, PRIVATE :: A     ! Type declaration statement
     PRIVATE :: A           ! Attribute specification statement
 
     MODULE X
       PRIVATE              ! Default setting
       REAL :: A
     END MODULE


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] K lo$mf>H>X>';I ./usr/share/man/info/en_US/xlf/html/lr98.htmp/$    <> "-=ALRTert/DEHINOailnos.1BCFPSbcdhmp#,02349:GMUV_fguy!()5678;WYwx%'+QX\jv|J{}*K[]k&1ɐ< K$HwM4Рq;[F?c)&B4Hn>Ъo:bř!B!B!B!B!B~ "p8x9T!R  Xk%mʰ[^AbÆp8h(nb R/+fUa~"Tx9 ?͸`XXoRp,@8<@p_߭3Fl{Gr XR갸W=+-쨹{Vk`**VRIKʨ<3[\g-%߭3s^Mٟ:{*V-樹{߭3٨W,0eeJuX_nYVJ#Y+z=D|N%ɕ/R Wa{Bn_NL0r ^H&Jle$F#f#҈r'acluD8 v-ti!a4-z'IRLi? 'I/{*PbUe-Vz,U.E 5+v^r_W`Rg {&T+^<T,3Yf z[PJ]V uNM!4&B;ٺ~ŹA-[*T2fFYT]s^f^*E_k(2տ*ܥzEkT.KYA[4c+@NM!n-">G)=>z%3u!D|{W^{{{{{oxS{{{{{ۯ{ߊ+{{{x { o#~+-[ZY.fEVUx4;pOpD|-é?pR3 5+qU1\4R3 :^u W-_RZMJݸin:#=-Qj,*u U5+Fz4~SpVz 0@jT*/S65^9eLUvUavi-ti8i:M4uKh^MJߕQuؿ)^2«޵/^@&ogRPgf~=5*-5_ܽ{%X2auo ܿz'IE4tiTA+ܽz=5*T/ 3~RF))jV֩aVKf\4R36ѭ-DH:Z.(Qj7(1z0`ʗTn_ܽ|e$F#o{*Pbch">G=9|IrxF⑒")AL9[mܡ2DE(:GdPu$D!n$w#Й`8,p0ӈbQ$0p#$w#Й`8p,i{ @霈Er"GMcd܏BgX0E*CҦn$w$z<ACKJM2TE4LM( ;[mܡ2DE(:GdPu$D!n$w#Й`84tMHi))[##-a`%Ji'p8$(AIx `COHᤦ~ nHGgUKtWb/HG[r%܏Bgp`0ӌ`Pg ;Gr= FZ``%I22d#Cs<طFQ# ;Gr= FZKJN2d![##-aÁ#KJL)&Aq![##-`H0ӌN+,U. wR GrHG3X80i{ @y@V֩g. [##-`Xx0ӌǀ7lVY]BWP [g0`ύ U{[##-`KJN2d&$I`P0ecdr-'?@z<F ,*IAzh$pG3X<4;IZR 3(/\6;L0r^T#~IAzBgX`0A4zTvBW-0c #-`Hhp0E#I3T#xa#҈p.*%cGp?p(%-h@S k[$Mmf>H>X>';M./usr/share/man/info/en_US/xlf/html/lr99.htmp/$ ALLOCATE XL Fortran for AIX V8.1.1

Language Reference

ALLOCATE

Purpose

The ALLOCATE statement dynamically provides storage for pointer targets and allocatable objects.

Syntax



>>-ALLOCATE--(--allocation_list--+-----------------------------+--)-><
                                 '-,--STAT-- = --stat_variable-'
 
 

stat_variable
is a scalar integer variable

allocation



>>-allocate_object--+-------------------------------------------+-><
                    |    .-,-------------------------------.    |
                    |    V                                 |    |
                    '-(----+----------------+--upper_bound-+--)-'
                           '-lower_bound--:-'
 
 

allocate_object
is a variable name or structure component. It must be a pointer or an allocatable object.

lower_bound, upper_bound
are each scalar integer expressions

Rules

Execution of an ALLOCATE statement for a pointer causes the pointer to become associated with the target allocated. For an allocatable object, the object becomes definable.

The number of dimensions specified (i.e., the number of upper bounds in allocation) must be equal to the rank of allocate_object. When an ALLOCATE statement is executed for an array, the values of the bounds are determined at that time. Subsequent redefinition or undefinition of any entities in the bound expressions does not affect the array specification. Any lower bound, if omitted, is assigned a default value of 1. If any lower bound value exceeds the corresponding upper bound value, that dimension has an extent of 0 and allocate_object is zero-sized.

An allocate_object or a specified bound of an allocate_object shall not depend on stat_variable, or on the value, bounds, allocation status, or association status of any An allocate_object in the same ALLOCATE statement.

stat_variable shall not be allocated within the ALLOCATE statement in which it appears; nor shall it depend on the value, bounds, allocation status, or association status of any allocate_object in the same ALLOCATE statement.

If the STAT= specifier is not present and an error condition occurs during execution of the statement, the program terminates. If the STAT= specifier is present, the stat_variable is assigned one of the following values:

+-------------------------------IBM Extension--------------------------------+


Stat value Error condition
0 No error
1 Error in system routine attempting to do allocation
2 An invalid data object has been specified for allocation
3 Both error conditions 1 and 2 have occurred

+----------------------------End of IBM Extension----------------------------+

Allocating an allocatable object that is already allocated causes an error condition in the ALLOCATE statement.

Pointer allocation creates an object that has the TARGET attribute. Additional pointers can be associated with this target (or a subobject of it) through pointer assignment. If you reallocate a pointer that is already associated with a target:

  • A new target is created and the pointer becomes associated with this target
  • Any previous association with the pointer is broken
  • Any previous target that had been created by allocation and is not associated with any other pointers becomes inaccessible

When an object of derived type is created by an ALLOCATE statement, any allocatable ultimate components have an allocation status of not currently allocated.

Use the ALLOCATED intrinsic function to determine if an allocatable object is currently allocated. Use the ASSOCIATED intrinsic function to determine the association status of a pointer or whether a pointer is currently associated with a specified target.

Examples

CHARACTER, POINTER :: P(:,:)
CHARACTER, TARGET :: C(4,4)
INTEGER, ALLOCATABLE, DIMENSION(:) :: A
P => C
N = 2; M = N
ALLOCATE (P(N,M),STAT=I)         ! P is no longer associated with C
N = 3                            ! Target array for P maintains 2X2 shape
IF (.NOT.ALLOCATED(A)) ALLOCATE (A(N**2))
END

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] LOC kh$ mf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG.HTMmp/$ User's Guide XL Fortran for AIX V8.1.1

User's Guide

XL Fortran for AIX
User's Guide

Version 8.1.1

Document Number SC09-4946-01

5765-F70

Note!

Before using this information and the product it supports, be sure to read the general information under Notices.

Second Edition (June 2003)

This edition applies to Modification Level 1 of IBM XL Fortran Version 8.1 for AIX and to all subsequent releases and modifications until otherwise indicated in new editions. Make sure you are using the correct edition for the level of the product.

Order publications through your IBM representative or the IBM branch office serving your locality. Publications are not stocked at the address given below.

IBM welcomes your comments. You can send your comments by any of the following methods:

  • Electronically to the network ID listed below. Be sure to include your entire network address if you wish a reply.
    • Internet: compinfo@ca.ibm.com
  • By mail to the following address:

IBM Canada Ltd. Laboratory
Information Development
B3/KB7/8200/MKM
8200 Warden Avenue
Markham, Ontario, Canada, L6G 1C7

When you send information to IBM, you grant IBM a nonexclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you.

(C) Copyright International Business Machines Corporation 1990, 2003. All rights reserved.
U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.


[ Top of Page | Next Page | Table of Contents | Index ]  lL$mf>@>X>';p./usr/share/man/info/en_US/xlf/html/UG02.HTMp/$ "<=>AEHMRTeinot ./3CDFGILNU_aprs#-01246OPScdglmu5789BfhXbqxyVWkvw),:Qz|!(KYZj;\}'+J]{[p 4(tE8r*&xsMNVDP;QNiW[j)NQBI@gwqNJzw`܆"s{{{{{pxh 2j(D ؑ Y#^!kw#`O`P_TY 9488xm4|ݦɪɪ ;Y-p7Dcab;n ~A{itƲxH@@Gwwwwwwwwwwwwwwpp-?D>k5vr&r!|r=F7v6sZfl i< p]w7vݽ < p7p JO5\G 'ʵ~jpP܉Rw a4&wwwwwwwwwwwwpp-ԕӵY0~a fǍVVBP[ 7} 888(@q?IZ=;Xpyu_Y"GJ\ZBDcaAIZ=;Xpyu_\ƫi+g-`-p  PGRVN@dW ᫷xm%l/   ‚>}Iv,6i5h2MXbldRx5 2'pn Ew8# „2}4OMn`"o`wݝ4Q`/+Yp&$ E&"-Ə(g(@`[`g|CD LU95i`^A`4&5-?K$zw`܆"s{{{{{p-cI?W _c10YHL tLLV4?~mL u$-à9D򱤟ddd@B jƄ`ƒG+u/,ځOUJBʔ(@WI] ]NGMm38'vl`B`[ZuA0tyXOhdd;P4ЪQ 3o%U95#v6UcXIU[A0rcI?:d@B$&ryZ"TƄRJܢpsl c$F%ƶƒG :2viY @ n`7:cI* rcI?:2viY @ v9C i#Rn60-'G$\HHH@1NKW[}0Qwo^hqnQ8:2ID򱤟: d@BX@g|'Ad<~EZ` N~3wiD򱤟;u/ d@B&>C Λrox&l`[N+ImӬN 4+5,Gx$DC"Wke5ƒG(u/ d@BX@b|5M0Scx\l`[N+ImӬs'j wnI74@Kloˍ q@`ƒG(u/d@Be?l3$fyʷIpNGMm2cI* rcI?: d@BX@b~0]ڿo\2G{`67g{h YmUhƒG(#u/ ځfŌ,2K~?E;1`Nqn6UhƒGpHHP'j ?M5rMVdZK|n60-Ԓ@(V4=sNEB;P4Ь X(τadXk ߂XoqnQ8:4@/1l`[N+ImY"Y!BLhTr~Er $aw0oMx+Mph++Mcx\l`[N+ImӬ&N 4+5  @7pnC@d1aޚV\:i< ݷƒGpHHP'j}@XQ6>k6r $V ] \8'*Lg5M0QIU[N+ImHHPANK2Kr:km1nxxWkD`n60-'G$\G$_$( ځvݥD|FpO%魴x GiGMm39i(V4=pQ?Ӭ'jAǍ>8'*LgwkD`n60-'G$\HHPAM Ϡ]$nƳF2EƒG /u/d@ӻn8&ֈݮ \Lg5M0QƒG : 2vi݂7ipP_d$?E67eD򱤟낌dd;P4Ь X(? #]8'vl`[N+Im(7$_$( ځfB>U95 +J;cܢptyXOhAY"Y!AN 4+50Gy 3~c$xsW!r7 k;Ƴ$qnQ8:Ӫ62KBdu1we޻aw&GMw(QmD򱤟: 2viUee,|d,A]( ݧƒG0HHPAM Aԉ2KJ/J^4E^\;@MmD򱤟: 2viSa\Lg; kEIZ!vN60-'G$\`/$_$( ځvݥ2!Cx.i魴xsZ$qnQ8:2KvXi߇cܢptyXOhNEG2viQ1% ` 8'vf]2<~c$\l`[N+Im0HHN 4*>@gLdIpaqA4 !G,2K~&GBd rcI?: ځT@!S\p8+A4 !G,2K~&GBd rcI?;u/8AM @WLdIpaqWY>hC| ݾYdl.LƒG /u/8ANK a\5Yo]?E 1.60-'G$\u/8ANK %ZkS/i41S)wƒG 3u/8AM 0*1% ` N6a$nnۍ rcI?ddd@ӻn ܞ2$ox." 1;8'wƒG : ځf傘!dSN60-'G$\#u/8AM aD D$V c$d(m"Ud)'i%VnQ8:2KW!킗n60-'G$\ G$_$p'j#vA,kY)|VbwmIU[N+Im@/$_$p'ja0'vlor{`&lN60-'G$\ g$_$qN 4+5'S[iJ=R A k-I* p8&Q8:`4uk-V4֚@Is#\ T,d rcI? HHS'j􆎰we[|2Ic$zm ]ƒG$@HHS'j>we \~22ID򱤟: d@B c|~O~?E;wk,ݦ7eD򱤟: d@BT@h gx[WfNiW[܆H܋ q@(V4=q"DNEG 2viY @c_l`lXgx[vU95n60-Ԓ@(V4=q"DNEG 2viQVUp5YƒG$HHHN 4*5Y|ˍ rcI?$HHN 4*A?<5YƒG$HHHN 4*0_8` rcI?$u/8aM Ɵb S/6W"yfCk- rcI?$g$_$p'j T8-{8(V4=q"AY"Y#;P4Ъb"; OL(<5YƒG$H?$_$p'j@F`Ex8k- rcI?$#u/8aM |> rcI?(G$_$p'j#v(G8(V4=q"NEG 2vi݂7iq"(V4=q"NEG 2viP? rcI?(HHN 4*9 rcI?(_$_$p'j M$>8(V4=q"Y"Y#;P4Ъxk;Ƴ60-'G$\HӬ hT%4Gkwgl`[N+ImNEG 2viPW^ rcI?qӬ hT%48(V4=q' ddd@B~Y5qnQ8:v Y5qnQ8:qW@-<5YƒG$XG$_$p'j>r<>@8(V4=q ?Y"Y#;P4ЩckH gxyD򱤟ddd@B'Y`G \_k rcI? :0ځd<8awgl`[N+Im?Y"Y#;P4ЬSv'Y5ƒG$`HHN 4+ -|k3wgl`[N+Im`oHHN 4*+[l޸k;Ƴ60-'G$\H0?$_$p'jM[(5/p>3z%Y5qnQ8:3/Y5qnQ8:ڻnGkr։ˍ rcI?(#u/8aM | HweD򱤟8G$_$p'j#vpp8Y/k.60-'G$\QY"Y#;P4Ш"߀p8 (dvkk;Ƴ60-'G$\PӬ hT%4[k m]<<,魸(V4=q@?Y"Y!b hT0_g gx[5  adIU[N+ImQ?ӬN 4*8W gxyD򱤟: d@B`p8|5YƒG(HHX'jO4@-60[5YƒG(_$_$,AM ƧY¾4@-60Xkipwgl`[N+ImPHHX'jUF ,5k;Ƴ60-JܢptyXOh : d@BB@j!p }M u$-'G$\P?Ӭ&N ;F.(`4D;򬳦cm$q@`ƒG(`HHX'j <-wv魴yzcx 㵌5mdhL u$-'G$\PÿY"Y!g;P4Ъ#NR"OLo$v"cI* rcI?0_$_$,'j#v0_g\~ rd+Mc$.cܢptyXOh ddd@ӻnDCE@sW! 2mD򱤟3u/qM )mNRHȇak<LqnQ8:DCE@sW! 2mD򱤟: d@BX@`|$FCj05X&VI* rcI? +u/ d@BՕC=<S[itW$[I$3=d cx[qnZD򱤟;u/ d@B|ܝo% WErG%(V4=q@Y"Y!`N 4*ڍYT>pS#%\ItkM6cܢptyXOhNEBLw`\P0/˜ `c$hv&O#qnQ8:  =7B=魴xk;L7eƒG( g$_$ (ځf>M$w o)p"l`[%VnQ89X`W#[ecI? :2viQ+5CƳ\)Dc=/ I\Km3G$\P@?$_$ (ځF05'p"8Ӝl`[Nm3"ldc0tyXOhNE@hVɎ;dl.SMW}4W1<i60-'G$\?Y"Y QFN 4*4u4u~ /4k-I* rcI?8@HH'j:ԉ gx)5uh`^3~\y6o`^3vl`[%VnQ8:c,ÁUhe[%r0.5XV4=sddAhVɎLt~ _{Iv4)|2Í q@(V4=sNE@N 4*4u|IpfZ&)ǰLn60-Ԓ@(V4=sNE@N 4+15>q8.]$RE 6+(V4=sNE@N ;F.po1qnQ8:T ֊)cI* rcI?8u/d@BX@"~ we[%r0.5XV4=sY"Y qfN 4+5+`j8(V4=s?Y"Y qfN 4+5ww]`v-]ƒGp8HHYM aX.[{\="Í rcI?8O$_$,ځfA~ ) `j8(V4=sNE@̝hVk$gwv]`v-]i%VnQ8: c ; Ek<!k<{ɶcI* rcI?8u/d@BX@B>7"W$7eƒGp8?$_$0ځf+Ƴ+ݷƒGp8G$_$0ځf|,~=iƒGp@HHaM a4ADI* rcI?8 O$_$ d@BX@B=2G 蓍 rcI?8 W$_$d@BX@@ 4 (V4=sdd w`\e|TP$@oMC IU[N+ImY"Y p'j#v8 _@ 2N60-JI* p8&Q8:VXw1\[ɱk=x%ܧK FJ_;h NqnQ8:7eD򱤟: (ځfV_܆RJܢptyXOhŊddd@BX@$Zkv`qn6UhƒG,Ӭ;P4ШDfaZhƳջ:k|>7eD򱤟8O$_$$@'j +HiWj!~rƲcܢptyXOhŜ+u/ ځf{ YqnQ8:7eD򱤟8_$_$$@1M a?E67g7gH}oˍ rcI?p/$_$$@9M aƳgH}oˍ qAJ:à:6\a|4 !- vh8(V4=qgNEBD2viXC9gx.Wl#wol/[iGǏa+6mcܢptyXOhŋ: qM +cx.Q\(;8g508(V4=qbNEBD;P4ШD!\ _5Ipւ/eGƒG,YӬ# hT}Cfd2K5M0QwlqnQ8:HFIߎOy5#wqnQ8:@>X>'; ./usr/share/man/info/en_US/xlf/html/UG03.HTMp/$ Figures XL Fortran for AIX V8.1.1

User's Guide


Figures

  1. Main Fortran Program That Calls C++ (main1.f)
  2. C Wrapper Functions for Calling C++ (cfun.C)
  3. C++ Code Called from Fortran (cplus.h)
  4. Storage Mapping of Parm Area On the Stack in 32-Bit Environment
  5. Storage Mapping of Parm Area On the Stack in 64-Bit Environment
  6. Storage Relationships without the -qautodbl Option
  7. Storage Relationships with -qautodbl=dbl
  8. Storage Relationships with -qautobl=dbl4
  9. Storage Relationships with -qautodbl=dbl8
  10. Storage Relationships with -qautodbl=dblpad4
  11. Storage Relationships with -qautodbl=dblpad8
  12. Storage Relationships with -qautodbl=dblpad


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l$mf>@>X>';./usr/share/man/info/en_US/xlf/html/UG04.HTMp/$    e<=>adinoprst "/AEHNORTcghlmu-.1DFGILMPSUbf#023:BCvwy|!,45689VWXY_x()7;Q\kq'}[]{zpjaɡTLqGAGpFU$G9ERD`Pz5+:kgeԚgW@E qo&֎gZzxY7r_ ǔ?4(&Zf[aA@~0`h`аY1ĐT T1FӾJ4r@}‚```c*"ȕB99l`6u@3Zfhˀjyh[e gX"3X aVf 噊@ g2+gC}+v g2(Gf ڋ ) QPy cEɍALnK2ޛq:N^p`(Xcqz0qqkØ(] KߩV{{{{{{ ?y$jA2q_M>9+91cRDdHHjigZZ4b4_e7F,GJ׭Zfgo5j9t3=Kbѧ( Z4言`qleFMD f<ݵ:8qf8$ $ ED<ң"TJ#T&@<8& m5qETM!qíV6vOY8[ƳḏXgET;L`^uv-y1/ţHIm3-6Af8$ $ }hӷc{言Tx`$Z* DjHHUD@NsHZQUH|qlm֟53զ^kEDˉ|vjZ,g>Xxg [|-[;<@MbѤ0j3>k͜[֫V;~_qsﶭ֫V1Ok{0chOY}v-B4k-vU3h,DDFrzF&h T@s*<0`U$UɪP8&N%QUH|qn6ٝhchOY}v-Cզ^{7ѶmK}ѼYgY՛OR,oqYX Z DjTR&Q4*EUD|tLMcFrzF&hV7}qqHhOY}v-AV7,Ft_վo}8m/z^%VhchOY}v-@,((+1yFrzF&h*F8;<@MbѤc{言A(Q2h$lQUH|&N8&8?k7 c-5E7-/:lEVM8c~3Ȑqqv-y1/ţH*Q5c-5@aJlQUH|*(>8x7f4ckiFrzF&h2^4ώ1Uδ";mi/xύm~XLv-y1/ţHEj#7ɶ}|B,XYȳFrzF&h88`cV7,Ft_D}vEUe;٘ i)ly*F8*Q5Z DjQ dHUDRQ2$\qETM!qwճ1 2tn֫V;̉|jZtrlδ3ȗȌoZ_r4fn,΋׸& MUDklqnoδ1jL1!!X* 9qA(PJ&D Tشi'hn; ⊨CU%"D zCBAUD|<}[3}3Z9yқ~knZƒUӦ2ffqU,mӷKՖv]O&|y3 Z>4VD7Q{5Z,"_,^Ʋ_Zo|xf8$ $ ED8ƃT` k($_ mf>@>X>';_ ./usr/share/man/info/en_US/xlf/html/UG05.HTMp/$ Part 1. Using XL Fortran Features XL Fortran for AIX V8.1.1

User's Guide


Part 1. Using XL Fortran Features

This section describes the features of the XL Fortran compiler and XL Fortran programs.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ] H khu$ mf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG06.HTMp/$ Chapter 1. Introduction XL Fortran for AIX V8.1.1

User's Guide


Chapter 1. Introduction

Partial Table-of-Contents

  • |How to Use This Book
  • How to Read the Syntax Diagrams and Statements
  • Syntax Diagrams
  • Example of a Syntax Diagram
  • Syntax Statements
  • Example of a Syntax Statement
  • Notes on the Examples in This Book
  • Notes on the Terminology in This Book
  • Related Documentation
  • XL Fortran and Operating System Publications
  • Other Publications
  • Standards Documents
  • This book describes |Version 8.1.1 of IBM(R) XL Fortran for AIX(R) and explains how to compile, link, and run programs that are written in the Fortran language.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] #7ɶ lꀓ$-mf>@>X>';./usr/share/man/info/en_US/xlf/html/UG07.HTMp/$   aet-<>inors /=ARTcdfhlmpu",.DEGHILMNOPUVbgy01:BCFS_kvwx#+23459;X!&'678WYq|()Q[{}\]zKx4b`Ya܂dr yG&yS&Lx₠s&L@r#`s"!!1/5^9<ȦHtxp5rj:XAAAAAAAAAAA@瀎w #@(@Ohb @081.#W7⩐J X_@|@瀎wA9%2DD( ?9poEpH@@+𐐠PHP,#΁ FK"ONNh49#aH_k9(+#lWi59#ˇqIWEMzQ4׻:<szྫm1/c9yӫ3+&9#LJ#[(*'-J:"ON ty1ɣ"Lr8 48W *Q1@UMlO5Kf䯮9-)W]F-1L-&94y, %LX+(≠+pOO_Y`^\#Y A&94y, moqQ\0DM@V*/z-SB\$$( &94y, p¥Q4"@78$ BBA!@hcGM2 0j4ʊJ&8h ! E@&X==JT *4 + :܍bNA^l7;Ŵ+&;Ģ! &̱j-ut:3l-pD:3l\UAEFX>\yDI@Q.  q&,Bb_g:kƼ.syZ 3zӧ/>%r8u᳦ԛ-E$΍zXӉGWtH^FMq~^}{0F3n6t\j5Ke6)yh&kbK_k}+ܕK_:z2k}_:eLvUR6mlg*%z>sZtئG=f]0pGLa-׍yCƾS߫iS>ϭ+W9Ip¤"xvb3x\x`$T_ƽI1_}_9BWLF˽A! .< A2`rR"LpP᳦Je/c#\8w2TWƍƧ v25gM˵IQg<5~|6u=WcWfL. 9b2y[9_rW\)[9_m5Ov&%R;lEJZt'l 0PR͇KCl0Ps@6enGUR+Gs䕯"؍uE( \{Ӎ;˵I\؍woFk{t\j{&eÞZ\]-vg.BWLʋHO6EOWzF/t7)_u]7o穹m9=QcC-\x+HpjLs @8ܶ٪[5y%HWܶTk֤b~4jMk͑}iģ#Gjڽ_ob2s˒ID18D`SZMh9wL͏+/rWg FRy&7%FkswL͏+/rWu&7%}MlL'-{،a<<&pփzdR+{}I_'-NZgڦmױ`Þy"0y"0M|sSZXwL͏+/rWϒWog)6Y*0HHRٯަ嶦Kc(}Y}^ԛ-1{䶾t%\_8 kAsMfl{$|sSZ:36d]jmErẔ5+Jr~k:e^X|:#0ss9s9ss9s9s9΀ ƃ3Ml 6K^|`w9Hty\uε&)ӳ:g5|7r- 񗳫s@#[0/9k}_=v:k.qjps$:)6Y*+g|`˜7bCMן89s9s9sh890 n4Cg%>0p w;$:疁uyirZs0sƲ̱CMן89s9s9sY!<Ʋ)1/ff#vR+{nm.]WyQyLRl_=v|wÞy"0y@疃yDI@Q.  q&,P'ly؟5Ke@Y!-?iЃ&X9Ԝ-ys yp!p!scόsJ#]y9Xqό 7>0Q 1s,#-5L߫V6jϺW9@#ܧa)^*P|&XEJÞy"0y"0-{6y֝;"^]k0Ps$F$FO|Fo:ӧyR:wE(yJ{֝9y[`ؿܧ#l7iӼ)AGaN^yRÞy"0y"0-{]wYm:wE(c0PȭͿܧftϫܼ nm[}I9Yj.0HHKrW#l7k{]wYa+gyRZt9Jp=^yREnnm;3}^,6x/}뽦Mo̗Qq&wE(0P7-?߳0F3n'֝;"1E( gK^z0yp9s$:,HwyRԜ-yJ<)ByR/<)@WE(("טE(*" J"(E(c0P!wE(J#]yJ<-δbbQkb*_=MlOoqs\y"0-}_8M"p=eyɤT 9##ܧ#l7iӼ)AENUۖREQxu-:3rSӫU^ֱ2q+7_ls$F$F 햘39vW*P|Y&R/946M"YM"M<*P|&R&ЇEJ*P|XGEJ*P|X@!&R,&R&cM"_xri(>l, &R/946<*P|&R<*P|<94MEJRl22e^k,pӳ:alv屶=fδXʋy|u&7%kٳ|vgLn;fXϫܾOWT_i_w$85EǂA&L@jD `P -E᳦Rfl@>X>';./usr/share/man/info/en_US/xlf/html/UG08.HTMp/$    en<>Iaiorst -/=ACELTcdfglmu".019FHMNPRSUbhpy(),235:BDGOVXvx!#4678WY_kw;Q\{|}'K[]zqx <y0 3]:T++Κ?<omrQL`gVk|ݹJV%?-()3o+nW-z{3{s<æ龕N˷K;\^^0o?KS\0yӦ޲^;%ӥM IE$" @P$Dya}1k(MdEu󦋁$r+,PBDZt}1k(MdEn3*.CIEVX$M1+b$Pȋ^80044puz V0xEafrW73nUOZZvMe+zyM3-_8>WX٬$۝zIOa"}bp`` phǃsV0zՁ)+@JA`Eh",pZ$='z\U",8+IrkP.D\@hV$.VǠ8K*E0ĀQ1pZFFztA(p ޗ"UB. 8 0ĀCĘz`$UapA(pz=.M"J",: )&\P9IX_8 kAs kRw$ mf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG09.HTMp/$ Chapter 2. Overview of XL Fortran Features XL Fortran for AIX V8.1.1

    User's Guide


    Chapter 2. Overview of XL Fortran Features

    Partial Table-of-Contents

  • Hardware and Operating-System Support
  • Language Support
  • Migration Support
  • Source-Code Conformance Checking
  • Highly Configurable Compiler
  • Diagnostic Listings
  • Symbolic Debugger Support
  • Program Optimization
  • Online Documentation
  • This chapter discusses the features of the XL Fortran compiler, language, and development environment at a high level. It is intended for people who are evaluating XL Fortran and for new users who want to find out more about the product.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] R kꬋ$ mf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG10.HTMp/$ Hardware and Operating-System Support XL Fortran for AIX V8.1.1

    User's Guide


    Hardware and Operating-System Support

    The XL Fortran Version 8.1.1 compiler is supported on Version 4.3.3, and higher levels of the AIX operating system.

    The compiler, its generated object programs, and its run-time library run on all POWER, POWER2, POWER3, POWER4, and PowerPC(R) computer architectures provided all systems are running the required software and enough disk space and virtual storage are available.

    The POWER3 or POWER4 processor is a type of PowerPC. In this book, any statement or reference to the PowerPC also applies to the POWER3 or POWER4 processor.

    To take maximum advantage of different hardware configurations, the compiler provides a number of options for performance tuning based on the configuration of the machine used for executing an application.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] t.

     kꮫ$mf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG100.HTMp/$ Header Section XL Fortran for AIX V8.1.1

    User's Guide


    Header Section

    The listing file has a header section that contains the following items:

    • A compiler identifier that consists of the following:
      • Compiler name
      • Version number
      • Release number
      • Modification number
      • Fix number
    • Source file name
    • Date of compilation
    • Time of compilation

    The header section is always present in a listing; it is the first line and appears only once.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k:$mf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG101.HTMp/$ Options Section XL Fortran for AIX V8.1.1

    User's Guide


    Options Section

    The options section is always present in a listing. There is a separate section for each compilation unit. It indicates the specified options that are in effect for the compilation unit. This information is useful when you have conflicting options. If you specify the -qlistopt compiler option, this section lists the settings for all options.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l$mf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG102.HTMp/$    e <=>ahinorst"-./AEILTcdflmpu01:CHMNOPRSUbg,239BDFGvwy!#()47;WXY_qx58QV\|6@k{} 'K[]jx8đ$T54 {myUm|v)]Ǿ,G~mJϯF4]R*=m|;3|Xŕq*f3|kej'Ȑ Y<ȐV̵F6YJ]}W'puʿƫ}ҹJDz3ߋ7uwsxK{(LBDȍDGQBdHGK깠㼢ȐB%IEP&DH(D1"@B.f{ڽL璋rF&8A`fqD1%,4 2(ċzy =p4( 2/=䢒3"@B&1f"@B>f=+u\~gqy_]Joո3?śئ3J;={$_q9g]u*_{ճ-QfjWqR3޽bTq*Dy$=4]R瞚QziE+Uj+,ڵ+|zak>WJw<ҋJ*O~gqО%:+>c8_{׳ XJ.3SH$"禔TIP3ճ-Z\mziE'[okw}sM(4DvȟcDueg$_\J/M(=Ў~g, ޅ3߷瞚QySziEN.y(B2e4gsF?p'7A1Wx !qqqqqqq9` Ip: RL﬙&__~g*U]]#&6/{6y䉣(YÔdI_DifH#8h¢9ADsH#8h¢2dTf7~68yG=qDB0iD(2)Um#ǹrF +H\H(=8 ӊ l$mf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG103.HTMp/$    -<=>adeinopst /ETcghr"01AHILNOPRfl|&,.29:;BCDFGMSUV_m!()347@buwxy#+58QWXY\jqv*6kz{}K[]'` L Yt2Hˌ&%YACDO$LyIba$"M9_;o!ҡ*=  wNfΊЁi;#&Q8 y$%0'}*4E1J+u_<ȓ0afxU-zJ/UE*+ {ZֵkZֵkZֵkZֵkZֵkZ[ad9ThN#ȸ EP[Ja80 sH Ą"`1tGd ( A!`,x"c4Tm'hxyRl:qU}Ø]̵_>PjJ>i6Wpj9֊݇s-WϔqUr*G3CFՍh_x3E{5^6s-WϔqUs]p,PjJ>i6W#FuRcZ+~Xys8]̵_>PjJ>i6WPlma.MW s-WϔqUwxwH<s-WϔqUwxy2|A(8_7g2|A(8_7œ02|A(8_7)ryeRQN0qjnx&A`h+nU`l>|8PZ(5%4a(s-WϔqUwgQj|Ԕ|ӌmگa ]r*v3EFyRy֊=q.a2|A(8_79srDbQQQU`l>|46OC8#O<ִZ(5%4aZ(5%4a9vPb&,`X$DbQQQU`l>|ݜU`l>|ݜU`l>|ݜU`l>|\aSEx$s-WϔqUw 71L(DT%OU`l>|┥Iۏ9 IG8}pi`┥IۃR&2PjJ>i6W┥Iۏ9 IG8}pho&[*LdR1xpq̵_>PjJ>i6Wɘ&TM@9Rs-WϔqUwH$R1 A)JP+n *Ld~G2|A(8_7DU`l>|ieRQN0qjnsTLL̵_>PjJ>i6Wij|Ԕ|ӌmگD "- S9 IG8}9 IG8}9 IG8}^R rpW'*6ʓ9 IG8}RF%8U`l>|ݜU`l>|ܵkZֵkZֵZֵk_ֵkZֵkZֵkZֵkZֵg2|A(8_7gC)^SUIG9M=F隥+6a̵_>PjJ>i6W̵_>PjJ>i6WsPD4HC@IeF jF jF s-WϔqUvq<s s s\[ ("4c#EޜG9WӋ"9# 4pᡄ˽8.#0G  $JwEٽrFhQᡄ"y3RwfEٽrFhRXa$EBBf @ DG8"xG*DYƋ.9@>X>'; ./usr/share/man/info/en_US/xlf/html/UG104.HTMp/$   et <=>ILainors-/ATcdfhlmp",CEHMNOPRbguy.01279:BDGSUvw!()34;FWX_kqx|#58QVY\z6j{}$&'*K[]@hHǔqt 8$ǂ8y!cH F/i=BD{ݴ\u{We)FcM8^t2Ie\FJs9s9s9s9s9^Ɓ7$ ,400D…ւmĹc>i S\^Ɓ7k`l*p#-y֜ "H N^4,,00@ 4ױcMq:˩$xz[:o 5hy2malH+h/r2ܴKU|OD4 iTS[-Eo+MĹYSo^Ɓ7.іδJwEZų/;rk11CE8*bF:I<Hղ_^ƑG`Aʉ ㉒@y$2[cδF/5rYgBz6m&#\K%:3}ivNOѿTiѭ6SWy[}Stꪵ :ilFHLo36{<%Vb>Ֆδ)=hxdJ9IlTϔiуSgFS:5%+gZVbLڂ O:Og%f_Tϔ鑿T΍kdIn_ť`%yv ¼jcU/*%IK̦Lo3Kg]Y#~Nܿ+1./=SɍA\ӐA^ S>Sg|7ѭl-[:ҰC.xr<+?glϝN,iуSg50#$yƔ{H{D^ݧG0Bɦ)"1UTIƜ{O@c B Dc[S$_q>*&@ǒ/8iQ   $Y\O7)iǿO 8``(A !"$$<@ |(qӄ_#ȏp<`/ӏ{p1 %8b ku$R mf>@>X>';R ./usr/share/man/info/en_US/xlf/html/UG105.HTMp/$ Object Section XL Fortran for AIX V8.1.1

    User's Guide


    Object Section

    XL Fortran produces this section only when the -qlist compiler option is in effect. It contains the object code listing, which shows the source line number, the instruction offset in hexadecimal notation, the assembler mnemonic of the instruction, and the hexadecimal value of the instruction. On the right side, it also shows the cycle time of the instruction and the intermediate language of the compiler. Finally, the total cycle time (straight-line execution time) and the total number of machine instructions that are produced are displayed. There is a separate section for each compilation unit.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] э:0{c k$mf>@>X>';./usr/share/man/info/en_US/xlf/html/UG106.HTMp/$ File Table Section XL Fortran for AIX V8.1.1

    User's Guide


    File Table Section

    This section contains a table that shows the file number and file name for each main source file and include file used. It also lists the line number of the main source file at which the include file is referenced. This section is always present.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ro kv$fmf>@>X>';f./usr/share/man/info/en_US/xlf/html/UG107.HTMp/$ Compilation Unit Epilogue Section XL Fortran for AIX V8.1.1

    User's Guide


    Compilation Unit Epilogue Section

    This is the last section of the listing for each compilation unit. It contains the diagnostics summary and indicates whether the unit was compiled successfully. This section is not present in the listing if the file contains only one compilation unit.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] >T k$& mf>@>X>';& ./usr/share/man/info/en_US/xlf/html/UG108.HTMp/$ Compilation Epilogue Section XL Fortran for AIX V8.1.1

    User's Guide


    Compilation Epilogue Section

    Except for the header, the above sections are repeated for each compilation unit when more than one compilation unit is present. The header occurs only once at the beginning of the listing. At completion of the compilation, XL Fortran presents a summary of the compilation: number of source records that were read, compilation start time, compilation end time, total compilation time, total CPU time, and virtual CPU time. This section is always present in a listing.

    Related Information:
    Sample programs are shown in Appendix A, Sample Fortran Programs.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k@y$mf>@>X>';./usr/share/man/info/en_US/xlf/html/UG109.HTMp/$ Part 2. Software Development Topics XL Fortran for AIX V8.1.1

    User's Guide


    Part 2. Software Development Topics

    This section contains instructions and information on topics that are not directly related to XL Fortran features but may help you during the software development process.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] HTM" kj}$ mf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG11.HTMp/$ Language Support XL Fortran for AIX V8.1.1

    User's Guide


    Language Support

    The XL Fortran language consists of the following:

    • The full American National Standard Fortran 90 language (referred to as Fortran 90 or F90), defined in the documents American National Standard Programming Language Fortran 90, ANSI X3.198-1992 and Information technology - Programming languages - Fortran, ISO/IEC 1539-1:1991(E). This language has a superset of the features found in the FORTRAN 77 standard. It adds many more features that are intended to shift more of the tasks of error checking, array processing, memory allocation, and so on from the programmer to the compiler.
    • The full ISO Fortran 95 language standard (referred to as Fortran 95 or F95), defined in the document Information technology - Programming languages - Fortran - Part 1: Base language, ISO/IEC 1539-1:1997.
    • Extensions to the Fortran 95 standard:
      • Industry extensions that are found in Fortran products from various compiler vendors
      • Extensions specified in SAA Fortran

    In the XL Fortran for AIX Language Reference, extensions to the Fortran 95 language are marked as described in the Highlighting Conventions topic.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ؽm kh$ mf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG110.HTMp/$ Chapter 13. Fortran-Related AIX Commands XL Fortran for AIX V8.1.1

    User's Guide


    Chapter 13. Fortran-Related AIX Commands

    Partial Table-of-Contents

  • Working with Object-Code Archives (ar)
  • Printing Output Files with Fortran ASA Carriage Controls (asa)
  • Splitting Subprograms into Individual Files (fsplit)
  • Automating Large, Complex Compilations (make)
  • Run-Time Profiling (prof, gprof)
  • Translating Programs into RATFOR (struct)
  • Displaying Information Inside Binary Files (what)
  • You can use some AIX commands with XL Fortran files to perform several tasks, as outlined in this chapter.

    Related Information:
    See the AIX Commands Reference for full details on these commands.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] [ @>X>';o./usr/share/man/info/en_US/xlf/html/UG111.HTMp/$ Working with Object-Code Archives (ar) XL Fortran for AIX V8.1.1

    User's Guide


    Working with Object-Code Archives (ar)

    The ar command performs operations on libraries of object files that are used during linking. You might use this command to create a library of support routines that can be linked into many different programs, as follows:

        ar -q ~/mylibs/graphics.a raytrace.o shade.o illuminate.o
        xlf95 spheres.f -L~/mylibs/ -lgraphics
    


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] P k}$# nf>@>X>';# ./usr/share/man/info/en_US/xlf/html/UG112.HTMp/$ Printing Output Files with Fortran ASA Carriage Controls (asa) XL Fortran for AIX V8.1.1

    User's Guide


    Printing Output Files with Fortran ASA Carriage Controls (asa)

    The asa command translates the output of Fortran programs that use the historical Fortran convention for ASA carriage-control characters.

    The translated output is suitable for the qprt command:

    generate_output | asa | qprt
    

    The fpr command is the same as the asa command.

    For a list of supported carriage-control characters, see Formatted Records in the XL Fortran for AIX Language Reference.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] A> |  kꌆ$ nf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG113.HTMp/$ Splitting Subprograms into Individual Files (fsplit) XL Fortran for AIX V8.1.1

    User's Guide


    Splitting Subprograms into Individual Files (fsplit)

    The fsplit command splits the specified Fortran source program files into several files. You should only use fsplit with FORTRAN 77 programs.


    $ cat fsplit.f
            subroutine sub1
                    print *,'Hello world'
            end
     
            subroutine sub2
                    print *,'Goodbye'
            end
     
            program main
                    call sub1
                    call sub2
            end
    $ fsplit fsplit.f
    sub1.f
    sub2.f
    main.f
    


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k$. nf>@>X>';. ./usr/share/man/info/en_US/xlf/html/UG114.HTMp/$ Automating Large, Complex Compilations (make) XL Fortran for AIX V8.1.1

    User's Guide


    Automating Large, Complex Compilations (make)

    The make command allows you to specify rules (sets of commands and options) to use for processing different types of files. By keeping track of which files are out-of-date and need to be recompiled, it can automate some or all aspects of the compilation process.

    If you use make with XL Fortran, you may not want a .o or an executable file created when the compiler encounters errors. The default setting of -qhalt=s prevents the compiler from generating the object file if it finds problems that it cannot correct.

    Important: If you make any changes to the default configuration file and then move or copy your makefiles to another system, you also need to copy the changed configuration file.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] F= k$ nf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG115.HTMp/$ Run-Time Profiling (prof, gprof) XL Fortran for AIX V8.1.1

    User's Guide


    Run-Time Profiling (prof, gprof)

    The prof and gprof commands provide different levels of run-time profile reports, which you can examine to find performance bottlenecks and identify the subprograms that are called most or least often. This information can help you decide where to concentrate performance-tuning efforts.

    See -p Option for information on compiling for profiling and an example of the sequence of commands.

    The -qipa Option allows you to feed profiling information back into subsequent compilations to enhance optimization.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k$nf>@>X>';./usr/share/man/info/en_US/xlf/html/UG116.HTMp/$ Translating Programs into RATFOR (struct) XL Fortran for AIX V8.1.1

    User's Guide


    Translating Programs into RATFOR (struct)

    The struct command translates a FORTRAN 77 source program into a RATFOR program:

    struct fortran.f >ratfor.f
    


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ts. < kޜ$ nf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG117.HTMp/$ Displaying Information Inside Binary Files (what) XL Fortran for AIX V8.1.1

    User's Guide


    Displaying Information Inside Binary Files (what)

    The what command reads information encoded into some binary files, as follows:

    • Information about the compiler version is encoded in /usr/lpp/xlf/bin/xlfentry.
    • Information about the parent module and source file is encoded in each .mod file.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k$ nf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG118.HTMp/$ Chapter 14. Porting Programs to XL Fortran XL Fortran for AIX V8.1.1

    User's Guide


    Chapter 14. Porting Programs to XL Fortran

    Partial Table-of-Contents

  • Outline of the Porting Process
  • Maintaining FORTRAN 77 Source and Object Code
  • Portability of Directives
  • NEW
  • Common Industry Extensions That XL Fortran Supports
  • Mixing Data Types in Statements
  • Date and Time Routines
  • Other libc Routines
  • Changing the Default Sizes of Data Types
  • Name Conflicts Between Your Procedures and XL Fortran Intrinsic Procedures
  • Reproducing Results from Other Systems
  • Finding Nonstandard Extensions
  • XL Fortran provides many features intended to make it easier to take programs that were originally written for other computer systems or compilers and recompile them with XL Fortran.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] 8` kĎ$ nf>@>X>';! ./usr/share/man/info/en_US/xlf/html/UG119.HTMp/$ Outline of the Porting Process XL Fortran for AIX V8.1.1

    User's Guide


    Outline of the Porting Process

    The process for porting a typical program looks like this:

    1. Identify any nonportable language extensions or subroutines that you used in the original program. Check to see which of these XL Fortran supports:
    2. For any nonportable features that XL Fortran does not support, modify the source files to remove or work around them.
    3. Do the same for any implementation-dependent features. For example, if your program relies on the representation of floating-point values or uses system-specific file names, you may need to change it.
    4. Compile the program with XL Fortran. If any compilation problems occur, fix them and recompile and fix any additional errors until the program compiles successfully.
    5. Run the XLF-compiled program and compare the output with the output from the other system. If the results are substantially different, there are probably still some implementation-specific features that need to be changed. If the results are only marginally different (for example, if XL Fortran produces a different number of digits of precision or a number differs in the last decimal place), decide whether the difference is significant enough to investigate further. You may be able to fix these differences, but finding the correct solution may be time-consuming.

    Before porting programs to XL Fortran, read the tips in the following sections so that you know in advance what compatibility features XL Fortran offers.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] yM3 k&$5 nf>@>X>';"5 ./usr/share/man/info/en_US/xlf/html/UG12.HTMp/$ Migration Support XL Fortran for AIX V8.1.1

    User's Guide


    Migration Support

    The XL Fortran compiler helps you to port or to migrate source code among Fortran compilers by providing full Fortran 90 and Fortran 95 language support and selected language extensions (intrinsic functions, data types, and so on) from many different compiler vendors. Throughout this book, we will refer to these extensions as "industry extensions".

    To protect your investment in FORTRAN 77 source code, you can easily invoke the compiler with a set of defaults that provide backward compatibility with earlier versions of XL Fortran. The xlf, xlf_r, xlf_r7, f77, and fort77 commands provide maximum compatibility with existing FORTRAN 77 programs. The default options provided with the xlf90, xlf90_r, and xlf90_r7commands give access to the full range of Fortran 90 language features. The default options provided with the xlf95, xlf95_r, and xlf95_r7 commands give access to the full range of Fortran 95 language features.

    To protect your investments in FORTRAN 77 object code, you can link Fortran 90 and Fortran 95 programs with existing FORTRAN 77 object modules and libraries. See Linking New Objects with Existing Ones for details.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ips kꦇ$"nf>@>X>';#"./usr/share/man/info/en_US/xlf/html/UG120.HTMp/$ Maintaining FORTRAN 77 Source and Object Code XL Fortran for AIX V8.1.1

    User's Guide


    Maintaining FORTRAN 77 Source and Object Code

    You can recompile existing FORTRAN 77 programs from XL Fortran Version 2 with XL Fortran Version 8.1.1.

    You can link existing FORTRAN 77 object code from XL Fortran Versions 1 to 7 into programs generated by XL Fortran Version 8.1.1. See Linking New Objects with Existing Ones for details.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ONG>xl lJ$%!nf>@>X>';$\./usr/share/man/info/en_US/xlf/html/UG121.HTMp/$   T"<=>ADELNORet /GHIPSacinors-01BCFVWdfhlmpu%.25Mbgvy(),3489:UX_wx!#;Y|$6Q\kq+7K]{}'*[&p + !6h 7I=is6i`cA26+Õ(Dz伕c eQ 2u cQ"x? Qv{{{{{ĉDA A }RR!  0 8)!.~O(DD 0ʫtI* upB2G<.Sje+}j Dcٽ 0 $ڻ:Yv2rȈdaL!@!\eJaEV0U`cg&`jg dNxWg]{sM'~4gz$ y=.Xyκ? , (ŋm ǟ`j0  m]u ~(Y(P'  =?u3U26^ԓcŋmK@OD#Tel3P0Pkc?쫕WXer)Yqe 9TI8XQr P%Ȗr"SβLg]laPyu`es q2Z@D p8gE{C`a5%@ǂ q[0q !p $OyL‹E{{{{{XHall`ck8`,G4p1<.Cfx$ o>N,~AH)Ev2rȏ\aL!\l`O Cf pX(P!qFq˱[\eI9v2kYȗS,}&? 2]3"7_$4'G.S,V9v2k~? 2pPP`~"~kr;ڧ@H "S*aƥN.T0\U]o%~IWUk)?T\Mr˱Vo #e5V>IR݀D"IW/ (Gg$.PV1EʕMb?+ȑ'6; zS[.4|og1pJpD(HʢyUT.$G{+aLrKWtȑW*$ܖ:+Koj Bc paP0'ȸ9eʫ%OaL!?S]~eU0,(_L+K,g; y<&EƏ(_ %N:s: 8Զ#ܖ:qmScWcU.T8typ 1򼐼H "S*cضU]g`a5%]*:fa2UX? gdEe* x3.zeʫ#IO q˱[ar%!_I>pV~Ic.pG9pzu[8gTO8#[9%\ e0dp# ٽqL L88 PWF7):y[(vpMb?IV8:re%Yq ve'^S v;OUkx[Г6A ih`4n4e7O u^Lv:hn5 =m@KO{Cq˱["1qx;oUkxo>q6A ih`‘Kia7elh{i1>4@꽻d[Ϝe;!-= R)j7@|vf8ݔnlh{i1>4@꽻d[Ϝe;BZ{(%Ɔ8ݔUkxo>q6 o 0PK`7e1/ u^Lv:nN=mAm l D-^8|o"GO21헍:m&;[ƈWlytѶ[y%[9i3n7omc^4@꽴o u^ݲ-2{Fڂ!-= %Rnxc|h{vȷ8wIjBZ{(%Rnq(8ݼxc|h{vȷ8wIj o 0PK`q(;eDIU"|)'mA ih`#yx헍:m&;[ƈWlytѶKO{Cnxc|h{vȷ8wIjBZ{(%FFRp1 r0p:> ۩<-ÊctcxғJX?l3XxUa5B+.V\l`FA/I2הh{i1>4@꽣-`$BZ{(%IBx"\-ni4@꽴o u^іݰkz{Fځm lc,&HEe*cvv;eDIU"|)'m-A-$cA/ u^Lv:nN=m@KO{CPcA vƈWD۶ESOhP[y%[+'1헍:m&;[ƈWlytѶ[y%[:(17e1/ u^Lv:nN=mAm lGF8ݔUkxo>q6 o 0PK`P1vv;eDIU"|)'m-A-ޓVvPvƈWD۶ESOhP-A-[@h`17e1/ u^Lv:nN=mAm lG@U8ݔUkxo>q6 o 0PK`PX cA vƈWD۶ESOhP[y%[ F1헍:m&;[ƈWlytѶ[y%[:n7oI#21 6onS@[atcxғJcu U.4e=5'Xq˱["e4d21-yN1x?ƈWD2۶ oBOhP[y%[cxғJcu U.4e7O u^Lv:hn5 =m@KO{Cq˱["1qx;oUkxo>q6A ih`–vPvƈWD۶ESOhP-A-7@|vf8ݔnlh{i1>4@꽻d[Ϝe;BZ{(%Hf8ݔUkxo>q6 o 0PK`cA vƈWD۶ESOhP[y%[ ́7elh{i1>4@꽻d[Ϝe;!-= #tfcAv#)8``cٽH  ll`cٽH 8G!{P8,(601ٽ1h4bAGh 4  ̃i`c,R/Pkdր5|r[{TVdj[{Tr*2>WŠjO&©=k(G`2Y5^4.5ɭN>F7):yYƥN(tڧA4ҘBIƥNdkuHBi0\k%Z .9` MVyX™TC$Y'eqYL6~I-tqmS(vq%O9-tJNVqmSȪʢG-tJN)-Tj[{TEV0UQFKoj\z ]UqmScr[{TVdj[{Tr*2:LaDz%~I%NR5-t:,L1-WX(#%NB+e0Koj r0plFR|e)x;e r7!5"\LaTÊ`QVrU"D$H"D$H"D$H"D$H"Dsj7 q(8ݼne' r0xKoj ̃KojEV0U*]JS K(C\>F7):+8ԶUc eQ u%N1iIӥ1KojEV0UQF+Š'Ь8ԶUc eQ R[ *HG Qv%X%N1iI5-t:w%N1iIӥ1KojEV0UrOPe!F9 K;ڧB RڧCU)D1.P~I-tJNVqmSȪʢxaYEʕ[ ꬡBUX?xcU)D0\E O9-t+25-t9X™TCvsñKoj YƥN(傾UQUMeX+w%NRڧCr[{TJ܁Rn5-t9E,cxl*qLu+$>7ɕxl*qL*\hr_$ܖ::U)D1ɦ SdXaU|Kojnj[{Tu &]u|r[{T#Ɣ;7:Bgr_$ܖ:'NN5-t9X™TCF%|g eUgWE)mSoRtLnjRڧA(gp@>X>';'./usr/share/man/info/en_US/xlf/html/UG122.HTMp/$  "<=>ARTeinorst /DEGHILNOacl-.0127CFMPSVdfghmpuy#(),3458UWXbvx%9:BY_qw!6;kz$Q\j|*K{}'[]x(&RÀ*CR*4GBKpIwDBKE%$b{J$0h/չcN[ؾ #,ߔ8l3= +E zdsV!B!B!B!B!BDbr`!pW`Ł{44xLYBbU[,"8ϘX #[gul_P/vwƍ *'+0ll`r\2ogvx( 60gz*ֳU[gu͙o\pn߂P9/ :xnjs:y[o;3q_õPX;/Zihk]o6ku-N*'+R^H3R!, @ dؿ(TOy$.% @{DK"9/Ǐob [/X렟Q=/r,Nx🳦u/}냑btձp.ncf~իsEr_'V~{u7V^΂xDfvuX'%{l\ 'L̈_vMW\?Ou {L?OuV{_u1\rݼLEr_'Vxg,SX9}zjEr_'V{FY-n_~Zk67gbtձpfvu"9/Ǐob>LW< Dȱ:NKD[ظ@O7_uθ=y6^L#btձpBrsx\r,NxQ=.qXI}/sȱ:NKD[ظ@Ok-me%VUɊ_yfskvȱ:NKD[ظ@O Tb~m}Y\ݱ}pr,NxQ=.[voUK*rY,k`IR ÝFAÃԚD`8ph;4 3 Tbq Tb|yLA< !%ޅФN',k$FdQn%$RH8 wU) :(n[ƫ\Yn[ݛ.mgm Y'!'ƪ\'rܳ;ABGeS^Y"4w+%Mx:wQ)"AXszH8p`|HBǎgfFeUH%%:/+)ĥr%fٹn7mM^6jޞ 'yJMӈS[:mi]8ݱ~ww9We/}ub>3_MWm,sU:nZb7ޅ)Iq = {/ۮ9_u1\ub5y3~sU=Lq+5^%\~\}7^mjy߾7kSmK {x1fol~U~ @_m)Iq}"w2Ykub7ߨo_&P)6޴ Rl.}p|gk:nZ=_[f{EȒPrdr #&4hh(H0@9E׳rޖ5_<ݯ]= E(N(n[ƫ󃛵렟뼥&Ķj@&'&ƻ   Y]8s^MWZuwopG89^{EȒPrdr wRi44Z$ N tXٚasvt%TOy8< mz }yJMӋvi]8#rt'F{:=)6N%9/@&'&w[= w]8SO@&'[;-5]j-׳;78#ݯ] =uI(9JZ4ɍ-J'L$ s5Ի')`/gl7]= E(N$qoݮc sLf׮.3g&+e K}X~]8ZՀz {/ۮѺb~זvN7k+vnXb2ޅyJMӈVjzWRatovu޹7V\ٚ.~ח~jzܷkQ> }Y'˯"IA#2lN;4ɍ-J'L:+j.]5p=v o9O8jfܷ[woվkryU,s5Д^Q=~w9D T\m3_MWݓUg] r8Gc~כ e][o_fk}՚Xj/͵mgv϶flf~ײXl_ٚLA|3~ٹnGYk675R3] =~w>fovmw3 T'Xշ}%j)IqHBMy, Rl.~j޹|gspKuvٞ.]5\ǻ&3^ @)Iq7bf`ѻ7k{EȒPr̛nM"0prcFR!a#: j1]oz]yCMiJ/A@q[woV-]}W{kpp5)Iq .)Iq7bfY3V͞ixgvFk8mnf~U_3\RI#w[fm o\j.#& RFdI$NTtQ8m4sfkȷwkO룍_3\uДEqzQ|$3&0`cHѡԡ btHX`DZ1nY ձ}= E(N" r87]sk{l__xL970q?[fm 䙹߂fkձ}vs_vh/e9ZSgծX'sxY5|lsw[g~eX4n:Y3SB1徎4gOug-;7dָK5 Chapter 15. Answers to Frequently Asked Questions XL Fortran for AIX V8.1.1

    User's Guide


    Chapter 15. Answers to Frequently Asked Questions

    Partial Table-of-Contents

  • Finding the Date and Time
  • Efficient Static Linking
  • Here are the answers to some questions that are often asked by users of XL Fortran. Many of these questions are answered elsewhere in the XL Fortran documentation, but they are also collected here for your convenience.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l$nf>@>X>';+ ./usr/share/man/info/en_US/xlf/html/UG124.HTMp/$    e<=>ATaiorst "/DEGNORScdlmnpu,-128CHIMX_bfghvy.0349:BFLPU!57;VWYwx#()Q\|6Kjk{}'[]qxL 2!@D4

    y?^+ұmky8㫸uK8 q{WkfخfvuPBkteux2/wQ5Qr"hJ*q'4S4D6*6w5f3G/bףBzp OnblwsVk?r-z4'6*6w5f3G/bףB{mU}mjrgҎ^ůF3VWF&~(ZhOխ'1UѶ;5ɟJ9{ʱL?YL:QصОYխ'1UѶ;5ɟJ9{36*6w5f3G/bףB}o6*6w5f3G/bףB}sVWF&~(ZhOS;1UѶ;5ɟJ9{Zs_}c\tkѡ>_nblwsVk?r-z4' mU}mjrgҎ^ůFխ'1UѶ;5ɟJ9{VWF&~(ZhOw OnblwsVk?r-z4')NINdoVUW[_5b{6ZUl8 VI87:+fa?5k}cL*koQY$o`15Q@R 8LfT̹q'4S΃ry|#^Ņ  ,(\| )D&:ΰwsE9V'9~0 ',0`Y5Q@R 8LNh8z~N_ ņ tMyg.>s"@o;Q9rȞ7,0$X`k֘,=.l΃rz45D|5Ka^/Fk[lgLYs+-h U  ͮ3E( +f+2Άvv +f(,_!]24֘,=ǣ$"׆lzfׁwN kożo1yyKǚ(]m?!B!B!B!B!B!(TM|r"&Rb-E&xn8;V5^=XxȾ]9FAT%4CǪtHXq"NÉΈu[b/ g}cέkϔ^x5Ȋ08 :/>Q5Ȋ08 :/>Q5Ȋ08 (tEAC#_. H`А9y򉯗NDQ$0hHӢ_. H`А_. H`Р_. H`СgE&]9F@CϔM|r" !BNϔM|r" !BϔM|r" !BE&]9F@@D˧"(4(t^|kӑ`q 4D˧"(4(,D˧"(4 t^|kӑ`q t^|kӑ`q t^|kӑ`q  :/>Q5}_~,VoLl|խtkѬ|y;ڡSyZ5VkK K]صUl|9Efp?~/3Xuѳ\U;Sg[>mڣf}oå^`fد}ѭc~oJVw[co}ͽ ZuVjq~;R򮶾kfW供55B3/z7G/bףX/L6er_)mk"!!ӉAiiFyMUJ&"ٲZjQ5!5TM(zUD҉AiiEg^zUD҉AiiEխ&֚&MzEMUJ;zUD҉AiiDΓyMUJ&"fi7Q4kB/ZjQΓyMUJ&"+^zUDҍsVZjQ5!5TM(F)yMUJ&"sVZjQ5!5TM(+^zUDҎpZjQ5!5TM(i7Q4kB/ZjQZү=iiDנ^Q4pZjQ5^!~KƯٿfǪtf@q=VEPI4f@<%bWF95ɓD/eoy+(_{1$í|ލ򶿑\>vt[_^xF<ҬХ}:QصxC~寚gxuѾ: w/bףMUy;ף~o}5MUJ#Í^zUD҈%4I4 ́^zUD҈FZjQX"LpzZjQo7xҗ{s^!V/ wˏUNP1 ӣ;9WPG=D:,`H8:"->QO|Q) 2'E=PG=D:0|Ȁ:g}o:pˏU"q"AR "kNJmG 5Ȋ086&Rb-E&珙Rl. kn$ nf>@>X>';- ./usr/share/man/info/en_US/xlf/html/UG125.HTMp/$ Efficient Static Linking XL Fortran for AIX V8.1.1

    User's Guide


    Efficient Static Linking

    Dynamic and Static Linking discusses the respective strengths and weaknesses of static and dynamic linking. A technique for static linking that requires relatively little disk space is to link any XL Fortran libraries statically but leave references to other system libraries dynamic. This example statically links just the XL Fortran library:

    # Build a temporary object:
       ld -r -o libtmp.o -bnso -lxlf90
    # Build the application with this object on the command line:
       xlf95 -o appl appl1.o appl2.o libtmp.o
    


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] jQ5! kv$ nf>@>X>';. ./usr/share/man/info/en_US/xlf/html/UG126.HTMp/$ Part 3. Appendixes XL Fortran for AIX V8.1.1

    User's Guide


    Part 3. Appendixes


    Appendix A. Sample Fortran Programs

    Partial Table-of-Contents

  • Example 1 - XL Fortran Source File
  • Execution Results
  • Example 2 - Valid C Routine Source File
  • Example 3 - Valid Fortran SMP Source File
  • Example 4 - Invalid Fortran SMP Source File
  • Programming Examples Using the Pthreads Library Module
  • The following programs are provided as coding examples for XL Fortran. A number of these samples illustrate various aspects of SMP programming that may be new to many users. If you are new to SMP programming, you should examine these samples to gain a better understanding of the SMP coding style. Every attempt has been made to internally document key areas of the source to assist you in this effort.

    You can compile and execute the first program to verify that the compiler is installed correctly and your user ID is set up to execute Fortran programs.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k겯$ nf>@>X>';/ ./usr/share/man/info/en_US/xlf/html/UG127.HTMp/$ Example 1 - XL Fortran Source File XL Fortran for AIX V8.1.1

    User's Guide


    Example 1 - XL Fortran Source File

          PROGRAM CALCULATE
    !
    ! Program to calculate the sum of up to n values of x**3
    ! where negative values are ignored.
    !
          READ(5,*) N
          SUM=0
          DO I=1,N
             READ(5,*) X
             IF (X.GE.0) THEN
                Y=X**3
                SUM=SUM+Y
             END IF
          END DO
          WRITE(6,*) 'This is the sum of the positive cubes:',SUM
          END
    

    Execution Results

    Here is what happens when you run the program:


    $ a.out
    5
    37
    22
    -4
    19
    6
     This is the sum of the positive cubes:  68376.00000
    


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] XL F k&$nf>@>X>';0./usr/share/man/info/en_US/xlf/html/UG128.HTMp/$ Example 2 - Valid C Routine Source File XL Fortran for AIX V8.1.1

    User's Guide


    Example 2 - Valid C Routine Source File

    |/*
    | * ********************************************************************
    | * This is a main function that creates threads to execute the Fortran
    | * test subroutines.
    | * ********************************************************************
    | */
    |#include <pthread.h>
    |#include <stdio.h>
    |#include <errno.h>
    | 
    |extern char *sys_errlist[];
    |extern char *optarg;
    |extern int optind;
    | 
    |static char *prog_name;
    | 
    |#define MAX_NUM_THREADS 100
    | 
    |void *f_mt_exec(void *);
    |void f_pre_mt_exec(void);
    |void f_post_mt_exec(int *);
    | 
    |void
    |usage(void)
    |{
    |    fprintf(stderr, "Usage: %s -t number_of_threads.\n", prog_name);
    |    exit(-1);
    |}
    | 
    |main(int argc, char *argv[])
    |{
    |    int i, c, rc;
    |    int num_of_threads, n[MAX_NUM_THREADS];
    |    char *num_of_threads_p;
    |    pthread_attr_t attr;
    |    pthread_t tid[MAX_NUM_THREADS];
    | 
    |    prog_name = argv[0];
    |    while ((c = getopt(argc, argv, "t")) != EOF)
    |    {
    |        switch (c)
    |        {
    |        case 't':
    |            break;
    | 
    |        default:
    |            usage();
    |            break;
    |        }
    |    }
    
    

        argc -= optind;
        argv += optind;
        if (argc < 1)
        {
            usage();
        }
     
        num_of_threads_p = argv[0];
        if ((num_of_threads = atoi(num_of_threads_p)) == 0)
        {
            fprintf(stderr,
             "%s: Invalid number of threads to be created <%s>\n", prog_name,
                    num_of_threads_p);
            exit(1);
        }
        else if (num_of_threads > MAX_NUM_THREADS)
        {
            fprintf(stderr,
                    "%s: Cannot create more than 100 threads.\n", prog_name);
            exit(1);
        }
        pthread_attr_init(&attr);
        pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_UNDETACHED);
     
        /* ****************************************************************
         * Execute the Fortran subroutine that prepares for multi-threaded
         * execution.
         * ****************************************************************
         */
        f_pre_mt_exec();
     
        for (i = 0; i < num_of_threads; i++)
        {
            n[i] = i;
            rc = pthread_create(&tid[i], &attr, f_mt_exec, (void *)&n[i]);
            if (rc != 0)
            {
                fprintf(stderr, "Failed to create thread %d.\n", i);
                fprintf(stderr, "Error is %s\n", sys_errlist[rc]);
                exit(1);
            }
        }
        /* The attribute is no longer needed after threads are created. */
        pthread_attr_destroy(&attr);
    

        for (i = 0; i < num_of_threads; i++)
        {
            rc = pthread_join(tid[i], NULL);
            if (rc != 0)
            {
                fprintf(stderr, "Failed to join thread %d. \n", i);
                fprintf(stderr, "Error is %s\n", sys_errlist[rc]);
            }
        }
        /*
         * Execute the Fortran subroutine that does the check after
         * multi-threaded execution.
         */
        f_post_mt_exec(&num_of_threads);
     
        exit(0);
    }
     
    ! ***********************************************************************
    ! This test case tests the writing list-directed to a single external
    ! file by many threads.
    ! ***********************************************************************
     
            subroutine f_pre_mt_exec()
            integer array(1000)
            common /x/ array
     
            do i = 1, 1000
              array(i) = i
            end do
     
            open(10, file="fun10.out", form="formatted", status="replace")
            end
    

            subroutine f_post_mt_exec(number_of_threads)
            integer array(1000), array1(1000)
            common /x/ array
     
            close(10)
            open(10, file="fun10.out", form="formatted")
            do j = 1, number_of_threads
              read(10, *) array1
     
              do i = 1, 1000
                if (array1(i) /= array(i)) then
                  print *, "Result is wrong."
                  stop
                endif
              end do
            end do
            close(10, status="delete")
            print *, "Normal ending."
            end
     
            subroutine f_mt_exec(thread_number)
            integer thread_number
            integer array(1000)
            common /x/ array
     
            write(10, *) array
            end
     
    


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] pa k| $ nf>@>X>';2 ./usr/share/man/info/en_US/xlf/html/UG129.HTMp/$ Example 3 - Valid Fortran SMP Source File XL Fortran for AIX V8.1.1

    User's Guide


    Example 3 - Valid Fortran SMP Source File

    !*****************************************************************
    !* This example uses a PARALLEL construct and a DO construct     *
    !* to calculate the value of pi.                                 *
    !*****************************************************************
          program compute_pi
          integer n, i
          real *8 w, x, pi, f, a
          f(a) = 4.d0 /(1.d0 + a*a)  !! function to integrate
     
          pi = 0.0d0
    !$OMP PARALLEL private(x, w, n), shared(pi)
          n = 10000                     !! number of intervals
          w = 1.0d0/n                   !! calculate the interval size
    !$OMP DO reduction(+: pi)
          do i = 1, n
             x = w * (i - 0.5d0)
             pi = pi + f(x)
          enddo
    !$OMP END DO
    !$OMP END PARALLEL
          print *, "Computed pi = ", pi
         end
    


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] o  kF$ nf>@>X>';3 ./usr/share/man/info/en_US/xlf/html/UG13.HTMp/$ Source-Code Conformance Checking XL Fortran for AIX V8.1.1

    User's Guide


    Source-Code Conformance Checking

    To help you find anything in your programs that might cause problems when you port to or from different FORTRAN 77, Fortran 90, or Fortran 95 compilers, the XL Fortran compiler provides options that warn you about features that do not conform to certain Fortran definitions.

    If you specify the appropriate compiler options, the XL Fortran compiler checks source statements for conformance to the following Fortran language definitions:

    • Full American National Standard FORTRAN 77 (-qlanglvl=77std option), full American National Standard Fortran 90 (-qlanglvl=90std option), and full Fortran 95 standard (-qlanglvl=95std option)
    • Fortran 90, less any obsolescent features (-qlanglvl=90pure option)
    • Fortran 95, less any obsolescent features (-qlanglvl=95pure option)
    • IBM SAA(R) FORTRAN (-qsaa option)

    You can also use the langlvl environment variable for conformance checking.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k΅$%nf>@>X>';4%./usr/share/man/info/en_US/xlf/html/UG130.HTMp/$ Example 4 - Invalid Fortran SMP Source File XL Fortran for AIX V8.1.1

    User's Guide


    Example 4 - Invalid Fortran SMP Source File

    !*****************************************************************
    !* In this example, fort_sub is invoked by multiple threads.     *
    !*                                                               *
    !* This example is not valid because                             *
    !*  fort_sub and another_sub both declare /block/ to be          *
    !*  THREADLOCAL. They intend to share the common block, but      *
    !*  they are executed via different threads.                     *
    !*                                                               *
    !* To "fix" this problem, one of the following approaches can    *
    !* be taken:                                                     *
    !*  (1) The code for another_sub should be brought into the loop.*
    !*  (2) "j" should be passed as an argument to another_sub, and  *
    !*       the declaration for /block/ should be removed from      *
    !*       another_sub.                                            *
    !*  (3) The loop should be marked as "do not parallelize" by     *
    !*      using the directive "!SMP$ PARALLEL DO  IF(.FALSE.)".    *
    !*****************************************************************
     
    subroutine fort_sub()
     
      common /block/ j
      integer :: j
      !IBM* THREADLOCAL /block/         ! Each thread executing fort_sub
                                        ! obtains its own copy of /block/.
      integer a(10)
     
      ...
      !IBM* INDEPENDENT
      do index = 1,10
        call another_sub(a(i))
      enddo
      ...
     
    end subroutine fort_sub
     
    subroutine another_sub(aa)          ! Multiple threads are used to
      integer aa                        ! execute another_sub.
      common /block/ j                  ! Each thread obtains a new copy
      integer :: j                      ! of the common block /block/.
      !IBM* THREADLOCAL /block/
     
      aa = j                            ! The value of "j" is undefined.
    end subroutine another_sub
     
    


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] =ch lꪔ$nf>@>X>';5./usr/share/man/info/en_US/xlf/html/UG131.HTMp/$    *etainor =>T_cdhlpsu!"-."x3C0l#qkH@9BAbK #GɽL5JZTc<<<<<<<<<<<8,H3#0L@%b0s.R @% D!$"B$P<`BbEr@`f-4i3i֦1f=Xjb/#Z@Y@B%&x`  D,,M33333333333333333333333333333333' M.` ãMڱ:AhsVeg<μrfIg;4Ml+Ho+7)#cI!_gUɫANa7xV׌ ŦfffffffffffffffffffffffffffffffffNe$jFj!5i ca%XTIqJv6I{V4bvwjjcMQ&'=۸ڶ~a%XTIqIV^ 93a V*PzEڶ~a%XTIqI=ZեwQH( T8) &wjjcMQ$Mb!X4@9 `Bt 5!'ƭ!vI{V4mRRCnw qB81n ˲nڱ..TpӍ6Mu8V!m]xx[u N2M-Jw5]uڵ..dڲ" a%XTIqIV^ 93dBQ,&$CbխեY3qqvnŠH 1(]vo\Ƥ) Rw7mҝjvl=Zka5iFVs lb05ڵm{V4`Gi:Ս5FeuczmYl%āI{V4mRbVa5iB!b!F.RV(YZ=ZNٺ!q/խ8)[9X]f qD"(Xffffffffffffffffffffffffffffffffd᳓i֬tU5M7g*s PV1[ c[}j 1VoMu ҟg.oeR' mEW1myՍ5AhL06uپՂlܶ6:Yf۠x9}iBpġuڭKڱpz 5ׯ JcogMNY?^}N33333333333333333333333333333333'f^Ս5C5POڱmz0i$i'4mz0i$VwsV\Iru8ViSNQ?l\Sz1yգDa.ձv.1ڮcaX2zԃs栣+PV;Uڴlm~^X2jƚ2;VkA6ըi0wa-Uڴh f6D#A]FLyz53Ji4a6w #M.jSZ5qf/s̅w ry;^v^sN='l;7C9% $$ĊD!Ly% $pzEDTP&X @|;5Vd @*Ս5MJ16m VjB&ƛ)m="Z-Zjƚ2zV0?u uNt.iu+\jƚiקKRs{_ VwՍ5B*ՖmS5Fyִ75MacG~P]Nh1,YbTj7M;;5i lKڱnRZ 3t2wX !'gÕpzA27^745טwY6+)ЂjB&Z^VZ @5e|,^^ї1uPGa*3<Μ~0[dH]g^Ս5DZWIvXT Ѵ֦°h rA ;5i lKڱpz 5ViLvXTV^b05t5 ZZW;n°ee2CF\iBgՖ$j&5쮒\ wٺ;5i lKڱnReA0xAnBNXTݴZmp1{VcY( @sFZWքk8Agxs4m5epNxIϺBaQ'<+.n$ڶb5GgՖF  `NxHI6/3n}f5qB8J@1Ȓ&

    @>X>';7@ ./usr/share/man/info/en_US/xlf/html/UG132.HTMp/$ Appendix B. XL Fortran Technical Information XL Fortran for AIX V8.1.1

    User's Guide


    Appendix B. XL Fortran Technical Information

    Partial Table-of-Contents

  • The Compiler Phases
  • |External Names in the XL Fortran Shared Libraries
  • The XL Fortran Run-Time Environment
  • External Names in the Run-Time Environment
  • Technical Details of the -qfloat=hsflt Option
  • Implementation Details for -qautodbl Promotion and Padding
  • Terminology
  • Examples of Storage Relationships for -qautodbl Suboptions
  • This section contains details about XL Fortran that advanced programmers may need to diagnose unusual problems, run the compiler in a specialized environment, or do other things that a casual programmer is rarely concerned with.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kz$nf>@>X>';8./usr/share/man/info/en_US/xlf/html/UG133.HTMp/$ The Compiler Phases XL Fortran for AIX V8.1.1

    User's Guide


    The Compiler Phases

    The typical compiler invocation command executes some or all of the following programs in sequence. As each program runs, the results are sent to the next step in the sequence.

    1. A preprocessor
    2. The compiler, which consists of the following phases:
      1. Front-end parsing and semantics handling
      2. Loop transformations
      3. Interprocedural analysis
      4. Optimization
      5. Register allocation
      6. Final assembly
    3. The assembler (for any .s files)
    4. The linker ld


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kꔁ$" nf>@>X>';9" ./usr/share/man/info/en_US/xlf/html/UG134.HTMp/$ External Names in the XL Fortran Shared Libraries XL Fortran for AIX V8.1.1

    User's Guide


    |External Names in the XL Fortran Shared Libraries

    The run-time libraries included in the XL Fortran Run-Time Environment are AIX shared libraries, which are processed by the linker to resolve all references to external names. To minimize naming conflicts between user-defined names and the names that are defined in the |run-time libraries, the names of input/output routines in the run-time |libraries are prefixed with an underscore.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] utodbl l$1nf>@>X>';:0 ./usr/share/man/info/en_US/xlf/html/UG135.HTMp/$   eort=ains "-<>AETbcdhlmpu./1CFHILMNPRUfgvy,0239:BDGOSXwx!#48;VWY_k()567Q\j|[{}'K]qzD "9PiU9IK";TTx %(PD$HU"%UdKvH+#Q˓u-DbU$G"AFc.Bg-K1?{{{{{ 8$x08D64hH$8^ji g p ,ND?G"A R] n\(QTJ'pΛ‚BB744 88y,"OrGG"AM|v*u|WNᵑSrܬ~r!AD Un'T"L 9yGaܽb3]_*{_i ȁC '+ėfu[_xuD8x 5OL<TKUBA(7SGdź#Q˓u-kCbzɺzA(7S=#& UAor~Ю^s=#C7 380cC˜v7 m; ;ڣƸ* ;"Ʋ‚\Wf<wjmPophwj,ophp9JI(Ȍ a"" HCDzYhq1y"'`cEDa["A* VrԽ{{{{{{$r)QnL#HH H|AرH 5# Y$H$|dy.  (=,U@zJ\Ly rbu$j9rnM$F HJ"K^د~\Ly u"gs-W1/}L"bu1e7? ź}IYۍP /NY̳9׶ߝ]ŜTfdk7!.Y [G.MԷ}jDXMTTjc5!nHrK|$LJ3U#T׳YnVCc#>f7cu;12gjSSczhvHl[R57R 1d623n{MYȕIi"(5y !gˈ AR`rp  =%vPku?}fgdn57RF&#r)Q Dbi|dyC 0 zHM#*gdźug2W^jc[}}1ZЏnEᱹu&<ՃYdMTw5~j+d25?z-e!nY̳9׃MSc|}%`*ӗ(YȕIVk N;$6-כ9g 2 dיֶ/kT7}̶^q2\}%׶܋Ux4>;$6-ug2tD,"PA!v%KKU/{b]{2 d61YR^k ׳Y7Vs,A}>VaaOGPJ ymkkF#(n\k՜3l_UF@ϕ;hO4v;$6-כ9g ^ 5#fY̳9b2,J |ٷZcŎ#>Pn.n&K܄fr f׹j+tOُ ue71|uQ_zFuݓE,LGcro9eSG"HJ^Pnulv2a/{νˬծ7}1S28}%3o fyAj+d0ߛ9g سHH"y w2ne^vKn\R:k ה Va7Vs,Aغ8ѿsYjulv29d,F"# HJ"P{nL #K}yT5v| #K}y*LP3HM.S (= AR`ulq+f8ԶhM.S (= AR`r刔PL$e="2bQ\9DɨïA&`fIr#C"0$p k.$Fnf>@>X>';<F./usr/share/man/info/en_US/xlf/html/UG136.HTMp/$ Technical Details of the -qfloat=hsflt Option XL Fortran for AIX V8.1.1

    User's Guide


    Technical Details of the -qfloat=hsflt Option

    The -qfloat=hsflt option is unsafe for optimized programs that compute floating-point values that are outside the range of representation of single precision, not just outside the range of the result type. The range of representation includes both the precision and the exponent range.

    Even when you follow the rules that are stated in the preceding paragraph and in -qfloat Option, programs that are sensitive to precision differences might not produce expected results. Because -qfloat=hsflt is not compliant with IEEE in a number of ways, programs may not run correctly. If a program gives unexpected, incorrect, or unacceptable results when compiled with this option, use -qfloat=hssngl instead.

    For example, in the following program, X.EQ.Y may be true or may be false:

        REAL X, Y, A(2)
        DOUBLE PRECISION Z
        LOGICAL SAME
     
        READ *, Z
        X = Z
        Y = Z
        IF (X.EQ.Y) SAME = .TRUE.
        ! ...
        ! ... Calculations that do not change X or Y
        ! ...
        CALL SUB(X)         ! X is stored in memory with truncated fraction.
        IF (X.EQ.Y) THEN    ! Result might be different than before.
        ...
     
        A(1) = Z
        X = Z
        A(2) = 1.           ! A(1) is stored in memory with truncated fraction.
        IF (A(1).EQ.X) THEN ! Result might be different than expected.
        ...
    

    If the value of Z has fractional bits that are outside the precision of a single-precision variable, these bits may be preserved in some cases and lost in others. This makes the exact results unpredictable when the double-precision value of Z is assigned to single-precision variables. For example, passing the variable as a dummy argument causes its value to be stored in memory with a fraction that is truncated rather than rounded.

    The speedup from this option is primarily for POWER and POWER2 machines. We recommend that it not be used for programs targeted (through the -qarch option) for PowerPC machines.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] o l$3nf>@>X>';=!./usr/share/man/info/en_US/xlf/html/UG137.HTMp/$ eadiort /128<=>RTclnpsu!"(),.0346AEGINOSbghmx-579BCDFHLMPfvwy:U_q#Xj*;@VWYkQ\|&]{}K[z'TPQ@@y\1< \'%ʲ!LaDkc!TR*vCJ\ru{0@<m>=:npr8|#8qTY.iUTP &g$pbڝ",,,,,,,,,, @\(r<J"UI% Xy6ҷ؟(L!䱄I ˅`@L΀$ݸ]r 2˘(4#ºI$Ct :H@Lmõ{tdոnoaJ˄ "*(LFri&qؑõ{@ETP &zq}+)ΜdM}-MVAQ@cE2A_nZARܸ@v::?]CS0P8*9 LdVM3ɻ7k);z_KnxD Ùګñ6YMǎ׳wQ+8°lL)C+nؔw&e7n19qaM{Nx?Y|ݬT8%0Y*`Raa3rAv&L2T+ 'jy vz괞"$-t*L1C X[LdV#Gi@$R&-t*L1C X],FV$/ 2aXX]$; vdHE "`AP⬔d<KeeKx^d%L2P>Qi @DŮzk -<20I&*+G`ˎD?ݛҬv!P&"RN4:|!۝ Mʂ=Q6 :` PA+õnN@*@@iUU¥T P]BTBnWjm΋ 6-p7 +H9NB6DBnUuQ]St_AQ@W#\#tضH,,,,,,,,,,, "*S0P8ٛc"`kET1%]=~QQ It auC]RVP@k! , Y") d8fa b@.yXVSs MN q6Ie789>8%UARV\(MB`Uz일Bm1)8szڬ۴|#VSr M߮vb]N e& .M&`ɂv^|nbX=\dq#vn=IÈ;Ie789F2p]P+S0P8.0T-a`RLxc!({3 &-vnۙ5Q(]Jf XYp5 -uQ( .՝ r[pdꨗ_7us°l)m²•8F49o FCl`ɂ˂gmX2`ݬZJ=[AvOtYMǎghvo=#mJf XYp5 ]TJ.BlFj\F }-VSquTK;;&;[gl@Bگ'SA\ui3gK7/%mGs=N#߾i7Bd !t+Y,=6 qRP6ݏ=:UD$Χa^UV|38v-=)aXuvWmv[ϷY8sگ'I(r=ʸn(؟~Ie78:rjn=X9Wb0mxwn vjg^”ø9A#h'm'+I8qn<7SvvoBWT)\`EQ]TB]P4L\ 2UTM2i ,s ,UQ4L\vX2`K (&`ɂˎuM2 (@J&`ɂˡ3`=WR,FIn#UD(5tD4ꆗ]R1ugIÝN½N3`=\ݺ*Β9' Q7o6ynnSp~=~#SNtAש; ^gHJU;In<̀^z权W1#8s~SSY,㰤9ۅe7;'zPz݈N7nJnr{= 9XIˈ.t:ݎ!”mr ,X2`&@je& .,#i , 5TM2ެ)^vzF4͉׃!ݞ*1 SLdeULdeRi3ӭǃS=}DyC;=nUb`ɂ˗ULdeEWK݄cqޟS e& .\bdX2`+r:`ɂ˰1"UD,0Y}ɶ Wz!x~>ջ\BtpBt= Da[=nUؑ4w<%IV8'NBa^On޷+JdhU~&w rqIon~r Cjgnό$7>. Hމ?9[9tJ LjGaH5[?xr(D@WSlbCL Rv@rcL Rv@oݤNeכM?DHĆiI2 r+r{dHiI2 r+r{dm"'N@WA @+r{dĆbmؿ=F2phbcui&D(=F2pnGyt6Q`* S0P8qX^PK"<1-0\?K \.GU r-VSquJU;gmmED!uB]B]RųL, ``,\,^P5R .\Io=&mCͷ6OVS(5jgM zDBH Vtm²۝sr{vF=_T+ F op Kz#qD#PznE yt0j. Hމ?\ބlby(11 n hbcPڙsE"cP$LbCu9[݄c' +D&7[LzI=F2pdIP$?V&zuOҗm"+r{dm2+r{dĆbmؿ[݄c' +&7[dI=F2pnGyt6Q`* S0P8qXAxcB,@CP@r8, q^gHnx{Nx?Ymhl]TBT!T!.[4J`ж & YXX\?KL1k*U+Vm6!S>On޺G+ aJΊpr9޺G+>?$=$Ȓ& :I$ L@p9ɏI2$I(dIP@jngYMm4)q@W}Ov驛CݤNeכM?DPbCu@I2$I(!ݤNiR  Ln"H2&D)0e?[SsM?J\Pr(*{WAP]RV#0T-a`R d8 d #\?K ?5Y/bۅe7;'^ĥS q66۰%Q(.C C \8ilLYXX\?KLat\N!#v9otio[vaÃT=Wi6?Yc"maCPy'HzI$ L@x"H2 5?u>0. $7!Clby(11ߐ&8HtgH+);9rOn޺G+ ooٻۙ89Rio]n#HcdIP$&=$Ȓ& 1i3Ӭ6~+ >1i3Ӭ6~+ML؝mb. >1݄c'siK(11t͉! >1݄c'siKc(5nJ HoF2p6~+601rPbcNOҗ?܊ UT=uBT`qU2I*)bG2 `d\?KL~j^ŷ n1!&D)0eǤ@QCplbDH" 91&DA?NV](7) @rdEh)t`C"mرL QhL鹢\QϨ:%4ۑC|&d :ݟ61"cz$La!rr1AHjGaH5[?xr(D@WSlbCL R`ĀǤ@i3Ӭ6~+D$7[HzI{dm4)q@WD"7[LzI{dm4)q@WA @v9ͦ.( (0m2aÜiR l\ 'NOҗbL Qr{dm4)qC>n~rU .L1k Yc"`k7ya9jQ|uJa XXDI d8ZMQ(0 , Y"* d8Z,pQ(0 , XcYHف7+nUQ(0 , Y"DG20\QP i2-rFϪEB * d@ -uQ( d(.! kt$anf>@>X>';Aa./usr/share/man/info/en_US/xlf/html/UG138.HTMp/$ Appendix C. XL Fortran Internal Limits XL Fortran for AIX V8.1.1

    User's Guide


    Appendix C. XL Fortran Internal Limits


    Language Feature Limit
    Maximum number of iterations performed by DO loops with loop control with index variable of type INTEGER(n) for n = 1, 2 or 4 (2**31)-1
    Maximum number of iterations performed by DO loops with loop control with index variable of type INTEGER(8) (2**63)-1
    Maximum character format field width (2**31)-1
    Maximum length of a format specification (2**31)-1
    Maximum length of Hollerith and character constant edit descriptors (2**31)-1
    Maximum length of a fixed source form statement 6 700
    Maximum length of a free source form statement 6 700
    Maximum number of continuation lines n/a (1)
    Maximum number of nested INCLUDE lines 64
    Maximum number of nested interface blocks 1 024
    Maximum number of statement numbers in a computed GOTO 999
    Maximum number of times a format code can be repeated (2**31)-1
    Allowable record numbers and record lengths for input/output files in 32-bit mode The record number can be up to (2**63)-1. The maximum record length is (2**31)-1 bytes.
    Allowable record numbers and record lengths for input/output files in 64-bit mode The record number can be up to (2**63)-1, and the record length can be up to (2**63)-1 bytes.

    However, for unformatted sequential files, you must use the uwidth=64 run-time option for the record length to be greater than (2**31)-1 and up to (2**63)-1. If you use the default uwidth=32 run-time option, the maximum length of a record in an unformatted sequential file is (2**31)-1 bytes.

    Allowable external unit numbers 0 to (2**31)-1 (2)
    Maximum numeric format field width 2 000
    Maximum number of concurrent open files 2 000 (3)
    (1) You can have as many continuation lines as you need to create a statement with a maximum of 6700 bytes.
    (2) The value must be representable in an INTEGER(4) object, even if specified by an INTEGER(8) variable.
    (3) In practice, this value is somewhat lower because of files that the run-time system may open, such as the preconnected units 0, 5, and 6.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] H="50%" k$Vnf>@>X>';CV./usr/share/man/info/en_US/xlf/html/UG139.HTMp/$ Notices XL Fortran for AIX V8.1.1

    User's Guide


    Notices

    This information was developed for products and services offered in the U.S.A.

    IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program or service.

    IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to:
    IBM Director of Licensing
    IBM Corporation
    North Castle Drive
    Armonk, NY 10504-1785
    U.S.A.

    For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:
    IBM World Trade Asia Corporation
    Licensing
    2-31 Roppongi 3-chome, Minato-ku
    Tokyo 106, Japan

    The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law:

    INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

    This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.

    Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

    IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.

    Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:
    IBM Corporation
    Lab Director
    IBM Canada Limited
    8200 Warden Avenue
    Markham, Ontario, Canada
    L6G 1C7

    Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

    The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us.

    All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only.

    This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental.

    COPYRIGHT LICENSE:

    This information contains sample application programs in source language, which illustrates programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and distribute these sample programs in any form without payment to IBM for the purposes of developing, using, marketing, or distributing application programs conforming to IBM's application programming interfaces.

    If you are viewing this information softcopy, the photographs and color illustrations may not appear.

    This software and documentation are based in part on the Fourth Berkeley Software Distribution under license from the Regents of the University of California. We acknowledge the following institution for its role in this product's development: the Electrical Engineering and Computer Sciences Department at the Berkeley campus.

    OpenMP is a trademark of the OpenMP Architecture Review Board. Portions of this book may have been derived from the OpenMP Fortran Language Application Program Interface, Version 2.0 (November 2000) specification. Copyright 1997-2000 OpenMP Architecture Review Board.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] s lz$nf>@>X>';E~ ./usr/share/man/info/en_US/xlf/html/UG14.HTMp/$     e<=>Tainorst -/GHNORScdfhlmp",.019ACEFILMPU_bgux2357:BDvy!#4;VXYw()68QW\kz|}'[]q{jx5A!ґB|`d"" H>A JE "R&B)PM42j0q7z%"d"sǟ4+ٱ!B!B!B!B!B<<,$%:QnF BȊXz{T;oc`;]P@G@ <IpVxM9LhH^7vX<|Nx<}eA8]^y'4oy9coކZ=p`W'E9IoIVwofy Ÿ|Nxe6ͮylmf_:VZ9|Nxlh[-_k)۶ _}α<1V.ְi\ki œ}y9HwJR*y TswDq'" 3YqO]S<BF0DNyBҔ@,Hbyq'" }`O7vX0`X@q"sT1b@SA8oA,8z3-^Vp:bf(2+ɭZJ1fPSZJ1'V;uNu Qd?iZ *#֦K\Q+5ҽ2jn~Zߍϳ=IUF&dނUDшm^OAi*hIZJ16#EZJ1޴Q4bmF/pQ4b'i*hl /wQ4b'άw%TMm%&N^9::n}ZJ16/Ai*hOzUDщ--%TMZJ16#B^UDшQ4bPSZJ1V;֒&Y&zqՌzcJ8X[`{4oqo?gzqWkp ME +,k:-SƵ0ZLjcs^9:`?*gZJ1@>X>';G/ ./usr/share/man/info/en_US/xlf/html/UG140.HTMp/$ Programming Interface Information XL Fortran for AIX V8.1.1

    User's Guide


    |Programming Interface Information

    |Programming interface information is intended to help you create |application software using this program.

    |General-use programming interfaces allow the customer to write application |software that obtain the services of this program's tools.

    |However, this information may also contain diagnosis, modification, and |tuning information. Diagnosis, modification, and tuning information is |provided to help you debug your application software.

    |Note:
    Do not use this diagnosis, modification, and tuning information as a |programming interface because it is subject to change. |


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k$ nf>@>X>';H ./usr/share/man/info/en_US/xlf/html/UG141.HTMp/$ Trademarks and Service Marks XL Fortran for AIX V8.1.1

    User's Guide


    Trademarks and Service Marks

    The following terms, used in this publication, are trademarks or service marks of the International Business Machines Corporation in the United States or other countries or both:
    AIX IBM PowerPC
    PowerPC 601 PowerPC 603 PowerPC 604
    POWERserver POWER2 Architecture RISC System/6000
    RS/6000 System/370

    UNIX is a registered trademark of the Open Group in the United States and other countries.

    Other company, product, and service names may be trademarks or service marks of others.


    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] Zz lꄝ$=nf>@>X>';IA)./usr/share/man/info/en_US/xlf/html/UG142.HTMp/$    <>et Dainors"/ANTcdhlmpu,.2=BEIMOPSbfgy-189FGRXvw0CHLUkxz()+347:VZ_!#56;WYjq'Q\|{}K[] I!_$   hkPo @My @t smc5Hnz5[(qYrY.IO 0` 0` 0` 0` 0`8@E@G= hx!HGBBB& -ĹB\@0aF@ҙSnJo8 z y` -.,{HH?-8 &+'x-;_ !aa@E@G9Ea=t4OxD" grKJ(KwAJ(K&'ZQG^NSP>$p'B1'螣 ErQE,'8 z9 O9Aű\x-'<r`X0's֔KIʉ ɉ8" S$'zݤz|`iE)8[g#z҉W >X\bE7ĚeS|Ĺ\Ċ9h'(/,_ \O*kј=t^p53z<B|zypO%8c~%'YE_HX;^0t`&*Q;q a@Xeѧ[(@p[!v\F*2\dJN/t .)k[tJ]=Lx8a@.D4O 40]%t.Ic'QnjMm ?^ļ|2ql5%t.E\ EQnjMmy;Sz)}NX71ib+[^Y=F+u#k[eF2ޛъ)w(^Ky,|0G@߱bQ5%t.&<0 YD"xmYF@8F= WDE5 e6֡tko^a>Q|eު=S[EK~σQ4>`.FDH=\>F5]5y֔Qį`]r^ OįwZ/wJN/ȧEa\AHS(ֶP "z8pf]@89i4thaк%tJ] + =QnjMm'7oK&S'<[$| |+SδNbFDv"֔KIʲtkPklZNWnދgF0+s֔KIʉBYPgyQiDeF['@!,*b_ےbҊ8ɉ)LS(ֶPxܔQnjMmx9\+ъD'r`xy.YHriEIy`"MunK0S9IcwrMsrꬣ~EZ/}wZ"9&> =n%y1^ rFD N#%WQ :Qe6֡t7L!L:҉i9U_G@-SvϯA.75%t.&<0 YD"xmF@8F= WDMK_F.;̼y#GxBy9ļeԈK u_S2kn]5 '$_dLdF5]5wg_|a7oOd:}HiejCl?SCYF5]5w-W)NGrSgSRc֔QėO ,;s+^LS(ֶPoRQnjMmwrPr{%Svh2S$^OSEl-^{';!9WR#k O<" ]l# %Ԋ.%{W\QL*DŽB)d籖%᎗τ%{We縨L#*1X5%t.|&zҊ8ɲtkPkl22:,*dTKįZQG^Y1=(% 7֔QėLOݬtAQϱ~ZNTS(ֶP "z8pf]@8 eM'D.]jCmG?YF5]5z2nwu"QLUܗZQ-'+?G5%t.ڏ7$4mѭB魳҉i9_|qPC'єg0a\A)#%"LZۢWMBm%9GA(ѷF ·^v0;p{AB'd[yc oR.IV0-֔Q2Qm+t6oG!< 8+vQnjMmF_S*S,J.-< ZQ-'+]?ĹBSδZNU\Qm+t6s֔KIʲtkPkm|iD^߱qь6QSJ%{2kn]5 'ɏ 0e4g&qn "zD]5 {e6֡t<C 2BFDۄt!]R.vQnjMm]RQK1K*]`o+*O%Ϣ1f['W+yh9E?7wA=/N)0C%;srQXY"~k[$|a_}yh9Gr806:dJ?,ZY<@~)O; +kt| wC(~$I( '܆-w|ǭ(,k59ErRxoF*_LS(ֶP "z8pf]@8Ei4thaк%tJ] G:Ҋ99Se6֡tN<ú~Ӄ3(e:4 8:qꮦiE&*S|0O?,+O:Ҋ99S)e縯rJt6%,K{׈;s$񂏆 ~ S%>NStǂp?Hn򲊼0r ZۢWMB0rc tM'&Q"xmѡOB+t6qgGF5]5籓g+wdݽɽ,È>Zⱑ~Q}u)d5B>G'X\bE4Owg_|a7o^y>v0b1QLGq.| w,E;__}zJ"t'(’tO'Z Pv"^x0^RLZۢWMBms;'e6֡tr=Dr.uq ғngKQĻ&qly F@8֋/=v u<؋ʽk=v Qm+t6֔Qė2tkPklUY}v0wB KiDv"0US;U0w%\~\_wdMq%{nJS(/,ՊKiEIy`wrPriEIy`]J(K˻]CyU0\҉i9^X>20δ$~c s?D"xm=F@8W!5%t.&<0 YD"xmeM'D.]jCnxFlF.A<&֟^nܔeJ+?'#)> bWyt!+<|%|a\l=`?CeQS(ֶPsS1fQnjMmy;Sz)}NX1Ue3qBklSWxku<59cyh9IݿSg|d E2kn]5 8ޣ~tkPkl2W'unW~|*WV2J()'A/%{WzUt9Lsx˩%J('S` ]| yF;ܾ?K'q+Gc.,W9t!1sw}Oe縯R19٩盕ϱSJ(xy^{ejCnk=E9(ZNWO>gǪ`S'=8|<)A/ZQ-'+ᘔFN=[9XɒϞ16bFD۞2tkPklZQ]oG'Ugݿb[5+FDۚ%QnjMm֔Qė}M>Dr@8 8 IDn+rXUĘ堮C|ۊ4S(ֶPd˪l R99LF.'ɐ$)k[tJ] )0P(ѷF O8ÈSyh9I\.P|7%%K9lIۉ ejCne2tkPkmu2|e<.0+W!&0"M>犺gFLZۢWMB0rc tM' IDۣC+WMBmr$4mѭB魳1QLG_xJ()y$],ܒOy֔Q,g+3؊W;r%?1\M?4SėS_cSz)Y8$r~kt\Q"6}K|ULZQm+t6皏GF5]5t;!)W}O:Ҋ99~(Qv\eמwí+*c`\⻒wrBS,bBzҊ99~z69E"GS}t|]GzVZQG'7^߯WS wrb]G5%t.d1QnjMmA^nܔK!*_UoQOVz.UW!Iu1LZۢWMB0rc tM'1i4thaк%tJ] dRQnjMmwdr_S 2Sr. Mr;00LSz)͚x9\+<ɑ o=tt_ wYL,c/%K'k=ܒ)OZQG'7=[ȸ%֖O!%Yrd_Hp e[&)k[tJ] 7(ѷF ΁ݽ^Y5rҌ~#K,lwxXc vu<}WɮÈdݯ&²SΖroMu4OM>rE[\QL.rכY^q\[_wϺӞK_}Mytbw;@O`S^q\55eQ+Pu80a*ql2Њ%y'4 0`hH(,A^|euw `04$ E e[(ӯ/(8p`bHDeg^ 7!N @HR )h< eXN6(y 0lt"T$eѧ[(ѤZn @l $'x l겼$ؒnf>@>X>';M./usr/share/man/info/en_US/xlf/html/UG143.HTMp/$  <>i "/2AHelo#().136=DEFGIMRTUXanrst045789cdfgmpu,-bhOPS_qvxyCLNkw@BzW!:QVYj*+;JZK\|$%{}'[]"@(مHY"d9 hl$CNimXUG**[6`Kr6c.W1AAAAAAAAAA"(EQP<` k^\2!pG A@px.].ఘr%*( 8\rEF:-M)ƀ0X1cp~%e[8%He E 1c1c1c18?C@w]tqDwq댊Ϳw}=+!w_#bZ1c1h*dw\w/]ע}Ec1c1c1A@px0 xe..odBqc1c1cp~*XMl[H1c1c1cp~` THˏVXBO_b,%^{$8seՒb A3*  12Q+ ! hv4 hN4.` TIۂ~<VXBI *5 h(hhN4.` TJޔ@0 @+H *5 h(xhN4.@_~-D@A;,MX,%\d@!$2pl!c|4(XF1 ,h(XF1.!lX ,#n\|xb]cˏ/.eXf`"] =:;F/8˨H#o.hyu[r#rjQ8 0ݘܸl'hChⓃ#k2{ˣPAAAAAAAAAAA"!&2@:zcyG_gczelombd]PJ6]$Г*abX $r*)5loC[U…B]$Jh(Ypxl[u}} n.6>ITZ  lơ"UE@MG;Їc>t$-6Q vP*Ѡp˫o *A@(qHQh8jK&;t$-:Q vP*ѠpK=} n.6>ITZ  Q vP*ѠpkqqBJP8`KU.KfC[U(qHQh8ckqqBJP8aKU.SfC[U B]$Jh0um5%Qh(0D%ۍBDF +o *A@(qHQh8jˀٷcEpQ vP*Ѡp\fC[UrKU&;t$-FQ vP*Ѡp˖ٷcEpJ!.j%TZ4)p o *A@ᓔB]$Jh2r&;t$- (qHQh8p.;t$-6Q vP*Ѡpˀ o *A@(qHQh8zKٷcEpJ!.j%TZ4pfC[UÆB]$Jh8is6\l}В<ơ"UE@˙ٷcEp!.j%TZ4pm5%Qh(8D%ۍBDFÈ.;t$-(qHQh8q2m5%Qh(8D%ۍBDFÊ#fC[UQ vP*Ѡpo.%ކpwkqqBJѠpen5 - .oۭ~oo>\86KpV=yCwc\6]$Г*yabUE | y{:6xmceM 2Ǚf%TZPP(P㋸9BoעR`E^,DOǿ. lI&T62,JA&A&/g^yCwc\6]$Г*yabUE *\U^ν ?1]mceM 2f%TZ4@$){:6xD^G]!I4$ʇeXQjM6\Ui{:6x Ǹ]!I4$ʇeXQjM6pp.Ck.hI<0*\Uz<Cq=$ lI&T8,ĪT @Kס7cB8k6&P̳ -P- @4z<Cq=Ǹ]!I4$ʇ2,JhA(PbuhceM 2̳ -(Q(ul 8@C}ȃlp.= lI&T8,ĪT @ס78k6&PYU(qFq{:4v&PYU(}Cgn?D^G]!I4$ʇeXQjC.*C^ν ?F"<$ lI&T8,ĪT qT ul x$o.-23-1F.6&Rf%TZ4i^ν ?0V,h˃|q[F/ lI&T -xzK4/g^6]$Г*yabUE | y{:6xm18]mceM 2f%TZ4@ 9{:6x86&P̳ -P(`0bul EFP4EyǸ:#z ? lI&T -xR<@ul 86&P̳ -P(aR0uhceM 2̳ -PAK/g^yCwc\6]$Г*yabUEli{:6xwb,n-mceM 2f%TZ4Hse$9p"<$ lI&T8,ĪT qT ul >"/#~.rAːˤeC2,J@ˊPס7$EyݎH?rXtBLqYU8iqT 1{:6x}Cgn? p  !.= lI&T8,ĪT qT ul 8/#~.rAːˤe@L -PCz<Cq:?v9 mceM 2`YUQQpA/#~.rAːˤe@L -P0Pul 8!{oD^G]!I4$ʇeXQjD.*D^μ lI&T0* "\U z<Cqo9ȋ6&P̳ -P(KQ4/g^tXLEyݎH?rXtBLAFYUqF i{:4v&P̳ -P(KQT/g^6]$Г* eXQj @„Gk.hI2,J@…KaBׁI4$ʁf%TZpeP8P6]$Г*80* \U z<Cqm?v9 mceM 2Ǚf%TZCM^μ lI&T0*4qT<Ӌס7}؋6&P̳ -P.*uhceM 2Cf%TZ%P@pCd_D^G]!I4$ʇeXQjqT6Gk.hI 8AabUE i/g^.^"<$ lI&T8,ĪT4iס7"/#~.rAːˤeC2,JCO>\U
      !.Ck.hI<0* l(uhceM 2a&YU8qTI{:6x5"<$ lI&T8,ĪTP@ס7q yCwc\6]$Г*yabUEP(qTQ%p@Kx~"<$ lI&T8,ĪTˊ 4z<Cq ?v9 mceM 2Ǚf%TZ .*41{:4v&P8s,ĪT<)xSׁI4$ʁÙf%TZ\U6p@KpEyݎH?r%d!ܸmceM 2Ǚf%TZ >\U(ip@K8;?v9 ȕrᵍI4$ʇeXQj4LP%pG!.Ck.hI<0*)CeR4x;XtBLqYUIIpG^G]!I4$ʇeXQjqTCgn?yCwc\6]$Г*yabUEPCCgn?6&P̳ -R.*8ul 8#}!.Ck.hI<0*(pyqTס7 EyݎH?rXtBLqYUCˊ^μ lI&T$0*%PPz<Cqrt|EyݎH?rXtBLqYUCˊ^ν ?a`6&P̳ -Rˊ/g^0ۣA׈!.Ck.hI<0*( LP@ul 8#ۏ|qv9 mceM 2Ǚf%TZ.*<9{:6xb8k6&P̳ -R.*
        \U8ul 8 wń^G]!I4$ʇeXQjPTAEp@ ^HEyݎH?rXtBLqYUqˊ^ν ?;v[^G]!I4$ʇeXQjIqT8Cgn?Yb/#~.rAːˤeC2,JCC/g^ EyݎH?rXtBLqYUpcPGk.hI qabUE\U ^ν ?F/yCwc\6]$Г*yabUE \U ^ν ?>q?v9 mceM 2Ǚf%TZ`ˊ`Cgn?r?v9 mceM 2f%TZ4HjK4HjGk.hI<0*.*/g^6]$Г* eXQj›.*š^μ lI&T 0* BuhceM 2`YU))6]$Г*80* lul 8 .6"<$ lI&T8,ĪT CeP5 /g^6]$Г*yabUE*\U^ν ?q?v9 mceM 2Ǚf%TZjR\URpApdEyݎH?rXtBLqYUP5Cgn?;nxh6&P0S,ĪT4 z<Cq c>DEyݎH?rXtBLqYUˊj^ν ?ǶEyݎH?r%d!ܸmceM 2Ǚf%TZj @^ν Y x {ż=pCxވ!.lHg7VyCwc\6]$Г*yabUE8,8){:6x Ab/#~.rAːˤeC2,J@dž@dž/g^X.EyݎH?rXtBLqYUP1痳Cgn?n6"<$ lI&T8,ĪT xqT xuhceM 2Cf%TZeP@%ˤeCB2,JAKס7 wr[^G]!I4$ʇeXQj@Cgn?I8".= lI&TqabUE \U^ν ?D^G]!I4$ʇeXQjR\U{:6xǢ7wI4$ʔeXQhK4@EˤeJ 2,JhK4HSס7=]mceM 2f%TZ4@$A{:6x6&P̳ -P0@bul B#=ۋ.ᵍI4$ʔ40*ѧ .(/g^6]$Г*eXQj\U<1{:5dV{U5vjXX }ܸ>?KnadVz<CqF"<$ lI&T8,ĪT L$z<CqEyݎH?rXtBLqYUAAyDe6d 6]$Г*eXQj@Cgn?Eg qu8ŷDi8ܺk.hI 2,J@.*4z<Cq2/;?p^Ɛ1m@`aI4$ʁf%TZsKsCgn?Eg< 3m˃Gy {. ǼC4 hp҂ۃ"hsD4rGwI4$ʂ2,JAϗA/g^ ߻Dn]@$S˯ۑwluކ6]$Г* 40*IqTu ס7! lA 9 lI&T8,ĪT $4z<CqxSbr6  lI&T8,ĪT (T(x;XtBLqYUhQ2hQ%›d#>Ek.hI<0*\Uz<CqxSr6  lI&T8,ĪT4(YqT4(RuhceM 2Ǚf%TZEKECgn? t^"\F/ lI&T8,ĪT iKס7Dž d#6谘mceM 2Ǚf%TZMCB^μ lI&T8,ĪT4вiKס7Dž d#>Ek.hI<0*IqT m ס7dž1ۋz%&]@{pˤeCiC,ĪThqThul =OᵍI4$ʇ2,J@©.*Pz<Cqx`p~8m׈n/^/ C. lI&T8IabUEtq{:6x_ v팋H˯k.hIeXQj@ƒCgl㡯>\\l}Вh1KU.;ټpwCH"!/peXCqٙ"F/ lI&T,ĪF \QB/g^6-$Ȼ]x#.7.G#aI4$ʆabUE \U^ν ?l`nz9D}}h' lI&T8,ĪT T(z<CqѾ B2Aˑ؃Aa^XtBLqYUppۣz|]ۃ"EǾ B;ζ>XtBLmf%TZA'^ν ?oqr9 lI&T45 -PH$@bul @Ej3ݸxmceM 2Ǚf%TZQP(ꀊWi[ 6&P̳ -P(P(ס78>?HaG^-`7.co Ck.hI<0*.*D/g^7d[oŷ]l4["G˷d[o\ APlv񌋆6]$Г*yabUE>Cgn?EᷞB^˂?.XMŀ˃rxx_u"(,^}6mceM 2f%TZ48eQˤeC2,JhEK4QׁI4$ʇeXQjlPAa7{/. ˣp]bM]}܈yۣ!I4$ʆeXQh.(^μ lI&T8,ĪFYqFRuhceM 2Ǚf%TZR\U("{#ˤeCCP0*.*D /g^ّCgn? B EE..dr/.=8 ^.Ck.hI<0*qT:Kס7ͻy=Ck.hI 4,ĪT$4z<Cqۢ|x]mceM 2f%TZ4@K4@Cgn?tqq0cy I4$ʇeXQj@Cgn?tqqw#ȕ?qv9s7.}q]vCk.hI<0*>\Uذ/\pˤeC2,J@.*h z<Cq6."6&PL -$HqF(z<Cqeŷ[C>vCk.hIeXQj@Cgn?0ۀ1E! lA "XtBLqYUKc^ν ?E\_]hſr9H_u"mceM 2YUxzK^ν ?o~؋˃|q[F/ lI&T -xK4T/g^:ۂn4rA lI&TyabUEhqT<\-8>?n-ˤeC2,J@O@O/g^<^.:qr9 lI&T45 -PHR$@ul An:.px!qxm琗2{ˡw lI&T8,ĪF *\Q/g^{ n/.9qodF.6&PL -(вhRul t6x ѷuh}ˤeA -Pˊ/g^xDel6&P2,JA"Bˊ!Kס7 %_JL )ᵍI4$ʆ҆YU$ӥPICgl㡯>\\l}Вh1҈KU.m˃Gy {. Ǽ @"ۃ"]}܏xw#l|6&PIYUxx8m[x6-E= lI&T$0*| uhceM 2f%TZOCĞ^ν ?Aېw"v% @mceM 2f%TZ4H`9{:6x[xǸ:!qv rA-ᵍI4$ʂN2,JANAN/g^ oE̸]}܉r.wI4$ʂf%TZˊCgn?^\}"[uoׁAqptF.@|&XtBLi2,JAOAO/g^`  H 6]$Г*yabUEqiǗCgn?b߻}z-2/_yˏ>ۏ lI&T8,ĪT40qT40ul l[t^Hn3߈˼- ]Iaz"7?w\6&PP0*&\U$z<Cq,%[݈l$yptB.{6-ˤeA'f%TZKCgn?b߻xxl[#hyu[r*  6]$Г* eXQj6\Ui{:6xWb4hn-XtBLqYUi%PӄCgn?;$3ݸxmceM 2Ǚf%TZSˊSGk.hI<0* 8Tpul 𰛋H<-ǐ7xmceM 2a&YUHqT$Q{:6xXI`hs6]$Г*YU$I$I X0*@ 0#=ۋ76]$Г*yabUEqT41xn6"<{n 6]$Г*yabUEhqT8%xȰ'-2$_{฼D cᵍI4$ʆ1abUE 84 81{:6x[]";>.Ck.hI40*Ѣ6\Q4z<Cq/#/}"㑱.ȍ^XtBLJf%TZ4xyxu.Dn]6-=mceM 2f%TZ4H`){:6x^F^9 !I4$ʆ2,JiNiN/g^6]$Г* eXQj@⃗Cgn?Gbۃ"-]^"ۭ~ lI&T4f%TZ"%P@yd#6谘mceM 2Ǚf%TZQGKQGCgn?x{./Ƃ.= lI&T,ĪF4qF4ul ۃ^9 ǡ$گ}yCwc\{f@+= ?B1`3 Ez9 lI&T89abUEE .(BCgn?0"ZlDWi[ 6&P̳ -PPס7<.G.ˤeJ 2,JhK4Aס7<.DnCo-ˑ"/#~.q?6]$Г*AabUEIqT&yCphs6]$Г*YU$M%PHCgn?yݎ=Ck.hI 2,JAA/g^ j^=lHgqxm琗2{ˡ?v9 Ǣ7.^\}mceM 2̳ -(HyqFz<CfG ??v9 ǡI4$ʇ2,Jhˊ4PKס$گxWM O"#\z8ȑpe݈xۭ~ߋ7϶ؾx. ٬ CH"!/peXCq2߸mceM 2̳ -P(SeP(SKס7.|6]$Г*yabUE \U ^ν ?b/#6~=\6&PYU$DE ^ν ?b/.>qpt}_7!ˤeCf%TZ4P 1{:6xn]=Ǽ9ȏ6:Ck.hIeXQhBi.(Bh^ν ?b/.>qpt_ EyݏqG$.o\6]$Г*0*Ѣ hBס7rF\ rEX 6]$Г*0*Ѣ hKׁI4$ʇ2,Jh&ˊ4PKס7rF-!qw"mceM 2̳ -(PYqFz<Cq7. 6]$Г*0*Ѣ.(B/g^ ˱r}qEo\z%&]@{pˤeCiC,ĪT@&ס7Ek.hI)C,ĪFqFuhceM 2f%TZ4@(){:4v&P̳ -P(`0rul 7-ptrAˏCH"!/peXCq~z ?p@N_6]$Г*yabUE8L8I{:6xWi&.Exrz6]$Г*PQabUEDlDi{:6x0#&.Aݼ=ˤeC2,JCNu ס7ގA7u2D pCd_EDo lI&T8,ĪT82qKס7ltr ˽pFpv8n 8!ۆ6]$Г*yabUE L I{:6xn0e܈@. 3[ˤeC2,JC .*z<Cq o d 76&P̳ -PࢥPࢋס7z9|`˹\A8mceM 2Ǚf%TZ .*49{:6x>[ c#Ck.hI<0*($DPHul 8# ;GގA7u2D p@6:XtBLqYUA%RCgn?Mw >[k.hI<0*($LPHul 8! 7r ˽p@Kx~XtBLqYUCNJq{:6x[Mw 6]$Г*yabUEPK {:6xoz9|`˹\A #1 lI&T8,ĪT4Pӎ/g^6]$Г*yabUEpqT8EpCoxr ˽p@ᵍI4$ʇeXQj"\U8A{:6xmގA7u2D p@6:XtBLqYUpseP旳Cgn?xr&.E8r#}pt6&R -$вhRul ./D~]_ mwykqok.hI((0*ѢMDBul t6x^\GXMŀmceM 2f%TZ48(A{:4v&P̳ -Rˊ/g^6]$Г*yabUETQ{:6x^\}-2/>^?wb7.n2ϸ6&P0,ĪT&M ס7&r7uܺ6&PL -(K4Q/g^ ˷ᵍI4$ʁf%TZsˊs×Gk.hI 2,J@ˊqKׁI4$ʂf%TZ͗A^ν ?"7.n<7.mˏCk.hI2,JC6\U4ul ȹ㌶2$[v#͎pˤeAT2,JA.*Px;XtBL*YU 0iqT1{:6xY@H?qhȋ A#F*-E7u.DoˤeJP0*ѧOBul "/#ǶmceM 2f%TZ4H`1{:6xY w}^.px!I4$ʇeXQhF.(F^ν ?ר"4JL )qxm琗2{ˡ{A7]:w{Ž lI&T62,JA4.*h z<Cq1}ŷD|\ǡI4$ʆ҆YU$$28l @)0"/P"Fߗ @$S˯ۑ [~XtBLm(eXQjht nݸۻw/\[#D^G] lI&T4(c,ĪT qT ul _-E#b/. ]mˑ6&R2,Jiˊ4Aס7~-E#b/. ]mˑ6&R2,Ji犗i/g^`d6o9ql6&P̳ -P(2Hul bMmceM 2 2,Ji抗i/g^ x%`I tX4[pdEf2;܈ކ6]$Г*P,ĪFC}/g^ '-2$_{฼D cᵍI4$ʆ1abUE 8< 89{:6x`P 3ݸxmceM 2Ǚf%TZˊCgn?y 7u.Do+#=q?v9 Nj6]$Г*RYU<9<9 ( .#H-ˏD@X~\.XtBLm(eXQjh| 28kϻvt$- Q vP*P8`vm˃Gy {. Ǽ፾qmceM 2f%TZˊCgn?6q@n-hs6]$Г*YU$I$I፾^qhݻo{[#aI4$ʇeXQjh\U9{:6xcow{I4$ʂ2,JCC/g^EᷞB^˂?.Dn] A7tn]ۂ lI&T8,ĪT $D z<Cq2}r6XtBLhjf%TZ'ˊ'Cgl㡳7} !phs6]$Г*YU$HyqT$9{:6xcod.}ȧ_uED 6&PIYUxePFCgn?6ۃ"Fp[Iaz"7?w\6&PP0*L uhceM 2 eXQjC\U{:6x* vY(=4 lI&T6 -PHsePHsKס7~z|]ۃ"EǾ B;ζ>XtBLmf%TZA'^ν ?D)\Dgqo&ˤeC2,J@ˊPKׁI4$ʇeXQj .* ^ν ?h`hhD`F6004F`c! ǣ6E6&P̳ -PCh z<Cq0 "8u݆6]$Г*yabUEC.(Cgn?286KpV=<^~\6]$Г* eXQj .* ^ν ?#"DWi[ 6&P̳ -PCCнz<Cq2GxumceM 2f%TZ4exP"8w:XtBL()abUE4qTi86KpV= aI4$ʇ2,Jh(@ul  1qz9 lI&T8,ĪTSRO/g^ّCgn?\kdpEwxlE8r#6]$Г*RYU4"/ \yt7ȼGD^G]،I4$ʔabUEO\Q ^ν ?z,&$|%˱ŷD lI&T8,ĪT = ס7]Eăov8[w6&Rf%TZ4K4Cgl㡳7/oE.6&PL -(1ul ˹Gqr9 lI&T45 -PH$Hbul ːv~"/#~.rAˏCk.hIeXQjB.*B^ν ?rE! lA ~XtBLqYUiePDCgn?Ut6:Q`U@`4F{o lI&T8,ĪT49hsס7=ۋ7zGy {. Ǽ 6]$Г*CL -PHP$(bul t6xg\xFqǼ:Gy {. Ǽ|_ A?v9 mceM 2Ǚf%TZaKaCgl㡳7=/l]G$_Fk.hIeXQj ACgn?{4^}! jjF6qy|;f@+= ?DTH \Dgqo&ˤeC2,J@ˊPKׁI4$ʇeXQj.*^ν ?dG4r=n]Ck.hI eXQhˆiDCgn?dF.Aۋ.DmceM 2c -P9KsN/g^6]$Г* eXQj:\Uq{:6x(\Dgqo&ˤeC2,JCO6\U
          xwA>.m"![ lI&T6 -PI%PI ס7n6?g~\Del6&P2,JA"DK" ס7n6?g~\G#bۮ zXtBLqYUhsPCgn?l= lI&T8)abUED>\QD^ν ? q./.G#bxyqqxmceM 2Ǚf%TZˊCgl㡯>\\l}Вh0yD%ۍBDA@˒ٷ7w.iD^y% +n?w.n 6]$Г* 40*R"/g^\gx[AJDr3ƍp]ވEw"mLPXmceM 2Ǚf%TZ`P0p2 w?^J 4mݻE1"ۃ"ˤeC2,J@@/g^\g"oCk.hI($0*Ѣ(\Q(z<Cqqz/n3˰ˤeJ 2,Jh h /g^]1xD#$8 n}Ck.hI<0*(,P(RuhceM 2a&YU@qT Q{:6x qDwDo? lI&T8,ĪT pyqT prul @+ "/>wx"\wrzXtBL*YU  rA-bCH"!/peXCqx`p~7pqiD^y% +n?d6JXtBL,ĪTD z<CfG ??>ˤeJeXQh.(^ν #o<c~] PHmceM 2 2,Ji.($z<Cq*bˤeJeXQh .( ^ν ?@@0ZXtBLCL -}K4 /g^ l"6&P1YU))*)ˤeJeXQh.(^ν ?a`** lI&TYU<1<128l ˍ=ˑmceM 2eXQjDA"DCgn?.XiD^y% +n?@ ʀpˤeC2,JhK4Psס7Ep 3 # lI&T8,ĪF\Q/g^VVeҪ hmceM 2ƙf%TZ4PqA{:6x,Ck.hI40*ѢhKס6dqH4"/ \yt7" V- lI&T:YUxYqF<){:6x h6&Rf%TZ4K4Cgn?X k.hIabUEElEi{:6x5H` lI&T8,ĪF "\Q/g^4I4$ʇeXQhG.(G^ν ?#4&׫\ᵍI4$ʔ40*ѧ.(/g^4& r.{ˤeJeXQh iᄗCgl㡳7hmᵍI4$ʇeXQj>\Uy{:6x?Fz}ȋ{I4$ʆeXQj.*^ν ?ݸn..px!I4$ʇeXQhFhCCgn?v"n,D^G]ܻ lI&T89abUEE .(BBCgn?v#͎ˤeAFf%TZDKDCH"!/peXCqhpҁI4$ʂ2,JA͗A/g^)mceM 2 -P@p 8Rul aI4$ʂ2,JA.*нz<Cq/#~.rAˏDn]=ˤeCf%TZ4P(I낈ar6#r߆6]$Г* 40*l8ul yCwcypt6&Pд2,JA).*Pz<CfG ?l]";>.Ck.hI40*Ѣ .(F/g^$J H vMᵍI4$ʇeXQj\U <9{:6xŷD|w#l|6&P2,JA' A' /g^\H;ζ=jkfEǐA܎ulHg7 .D%c lI&T8,ĪF1nFw Ȅ]mceM 2a&YUP9Cgl㡳7 xm lI&T8,ĪT qT ul WE1x]mceM 2f%TZ4@R(Q{:6xો"aH;ζ<#.7.G#aI4$ʆabUE *\U^ν ?*ȿq G:mceM 2ƙf%TZ4H$A{:6xો":/"CH"!/peXCq2}r6XtBLhjf%TZFˊFCgn?ȾxEw}w>\w6]$Г*ps,ĪTxyqTxrul t6x&jQ`U@`4F{o lI&T8,ĪT4AhKס6dqןw.n.6>ITZ4D%ۍBDA@Ꮧ'oo>\86KpV= ""<{n EᷞB^˂?.Do!˞mceM 2L -PPס7.|!I4$ʔeXQhhCgn?pMyu[r/>ۃtdEy {n 6&R - huhceM 2f%TZ4@qA{:6x̎:<Cq4PX2XtBLAFYUxqF.m"![ lI&T6 -PI¥PI‹ס7n @De7xmceM 2a&YUAA-3tcb6&P0,ĪT(qT(ul C/{=ˤeCęf%TZ.*q{:6xo}^/\[#D^G] lI&T4)YU I IΉ #o<c~] {轒.6&RL -""ס7 t{o lI&T<9abUE@}Cgn?_6]$Г*PQabUED:\Q^ν ?qzXtBLyYU}Cy{:6x$_ EmceM 2f%TZ4@2(I{:6x=qmceM 2f%TZˊėCgn?FUގ_ |%"`؍˱{$]x]mceM 2(eXQhĝ.(Ĝ^ν ?#& @Xn mрq`7:"ܺ=/XtBLiYU(ס7r?mceM 2 -P.*BuhceM 2YUyˊ^ν ?_""<{n EᷞB^˂?.e6&R - prul . #O.nEpcn!mw6]$Г*P1abUED&\Q ^ν ?#'_u!qxm琗2{ˡ?v9 Ǣ7. 8c~\zXtBLps,ĪF*\Q/g^ s6]$Г*YU$U%PHCgl㡳7Ɂaz"7?w4q?#.6&PP0*.*B/g^'_u"(,4"/ \yt7<sz ;r#r6&R - 0qF z<CfG ?@7.`ضȍ _`De7wI4$ʁf%TZs.*ϡ{:6xi;B8qw$_/ lI&T $0*\Uz<Cq4 n p^F.6&P0s,ĪT, z<Cq4[pdFz'-2$_{฼D!ܑܻˤe@L -P8Hbul 1m@ }"ގF^\㈺"7xmceM 2(eXQh.(^ν ?A؋2XtBLi2,JADˊ"Kס7H<-ػqvXtBLIabUEtq{:6xim뭂ᵍI4$ʁf%TZq!P8I(0*@ 0#=ۋ76]$Г*yabUEP)@Cgn?pAqm"#w6&PeXQjN6\Ui{:6xk1^GmˤeCM80* .*/g^ xѾ o~؋˃|q[F/ lI&T -x2<@ul 8^"\FCbˤeC2,J@N@N/g^&jŢ4hn-XtBLqYU@RECgn?p[EᷞB^˂?.el6&P2,JA"A"/g^cxˀȍ˱06&PIYU n\%ˤeA'f%TZeP@Q%28l t5˃[U(qHQh(0r6f #o<c~] ~#.|t#XtBLmf%TZePH`؋2XtBLi̳ -P@KT/g^#.2/.G#bxyqqxmceM 2Ǚf%TZKCgl㡯>\\l}Вh0D%ۍBDA@˭oo>\86KpV=Z#`U@`4F{o lI&T8,ĪTeR/g^qr9 lI&T45 -PH$Pbul Knv?˱F۸_mceM 2f%TZ4I%$2}ȋ{I4$ʆ eXQj>\Uy{:6x&퐋\>nmceM 2Ǚf%TZZ.*hy{:6x&qȹ؃eᵍI4$ʇeXQjP<@2[qt{o\x#.7.G#aI4$ʆabUE \U^ν ?q^\y|#.7.G#aI4$ʆabUE | y{:6x'/ŷwxlE8r#6]$Г*RYU>!I4$ʆ2,Ji慗i/g^xmۃ" lI&T8,ĪT ARס6dqןw.n.6>ITZ4Tơ"UEp¥ϻt4"/ \yt7b7wk.hIeXQj(&\UPI{:6xk.hI40*Ѣ\Qx;XtBLhjf%TZB%PHf jj}_H@5Yl h>~"waI4$ʆeXQh\Q{:6x6z|]ۃ"EǾ B;ζ>XtBLmf%TZˊƗCgn?I$4hn-XtBLqYUJJP){:4v&P̳ -P0Hbul $[w w\6&P1YUeP9Cgn?0"ˤeJ 2,Jh.(4Ck.hI<0*6\U4x;XtBL ,ĪT0"A܄bކ6]$Г* abUE8qTqq=|&?vXtBL@YUFmceM 2L -$HyqFz<Cq./]O[pdHqxAr9k.hI c,ĪT$5 ס7ʁ86KpV= ypn]ۂoE϶ lI&T4,ĪFtC8x;XtBLqYUCe*Gk.hI<0*( qTס7n,D^\G<A1FCk.hI 80*ѡhqAׁI4$ʇeXQhTERˤeC2,JJ .*z<CfG ?߸ȼD#$8#7 lI&T8,ĪT`@ס7xFH?r9pCo=w_6]$Г*yabUE@mCgn?p<^xȑs6]$Г*@YU$1$128kϻvt$- YD%ۍBDA@.fl}ܸ;qxm琗2{ˡH߼^xȑs6]$Г*@YU$0iqT1{:6x̎:ݭ *FID%ۍBDA@$;ټpwCH"!/peXCq~1q*b>< lI&TC,ĪTqTul l}߻Ck.hI(0*Ѣ .(/g^6]$Г*yabUEPCGk.hI<0*8qT8ס731x&6&Rf%TZ4i ^ν ?#pwkqqBJѠpơ"UEpٷ7w.iD^y% +n?Hr^&mceM 2L -PEˊ/g^Tp}~ 1xmceM 2 2,Ji.(4z<CqTP8 \Dgqo&ˤeC2,JJ>\U( ul pv8\9 mceM 2ƙf%TZ4Qe(%6->. #w]˰ˤeAFf%TZ.*(y{:6x 8c!_6]$Г*iabUEC.(DCgn?ۣE! ǣpˤeC2,JCIqT:/g^aG^#}ȼbhqCk.hI<0*Lul tuAzXtBLqYUARCgn?@ \mˍ8m[xm˿wI4$ʔ40*ѧtO8ul EG2AAr6"Ek.hI)C,ĪF qF ul D^Gm86KpV=mp`>=$_6&R -$Rhul 2#rq#ߋp #zXtBLpS,ĪF>\6&R -&&ס7c"p_8#.7.G#aI4$ʆabUE t q{:6x. ]"_6]$Г*iabUEE:\Q^ν ?3ݸxmceM 2Ǚf%TZ.*y{:6xA9x* qmceM 2̳ -Pˊ/g^c.%}^.6>D@X~\.XtBLm(eXQjM .*M ^ν ?rAh?/:XtBL9abUE<9{:6xER`E^,DOǿ. lI&T62,JA&A&/g^c 8nB2Aˑ؃/.G#b 6]$Г*yabUE&\U ^ν ?ذrD^G{7.gwn|BCk.hI((0*ѢN.(' /g^6]$Г*yabUE"\U^ν ?طr 8  H;r]{.k.hI((0*ѢChKׁI4$ʇeXQj6\Ui{:6x{bn ۏ~\6]$Г*PQabUED.(!Cgn?6/.G#b6&P̳ -P!P!ׁI4$ʇeXQj .* ^ν ?߸ n.G.D׋oE_u"c lI&T(0*l$ul Ȑw#lx4F\o\Fk.hI C,ĪTD z<Cq=pd6&P̳ -P(Q(uhceM 22,JAˊAKס77wqxm琗2{ˡ.ȍ^-qx˱q.= lI&T -xp<8rul ?#<$;w lI&T8,ĪT8PqT8Pul c4"/ \yt7Ƈ h=(7uܻy^XtBL(,ĪT4z<Cqhp҂w]˱wluᵍI4$ʂ2,JAΗA/g^M67uܻy^XtBL(,ĪT<z<Cq-GDoDn]6]$Г*0*ѢDh!Kס7<$F؋ˏc lI&T89abUEE .(BCCgn?/y^"}ds1m̾wb->XtBLpS,ĪF*\QD /g^=|\[xlu7..y]mceM 2ƙf%TZ4PSe()28l c86KpV=4E<sz"=X q.XtBLJf%TZ4K4Cgl㡳7s6]$Г*C,ĪF*\QĊ/g^EᷞB^˂?.kwb-=mceM 22,JA!MA!M/g^ w#Aۂ$^&qlZ"]}܆6]$Г*P1abUED>\Q^ν ?#po;wr9 lI&T qabUE%P=(^μ lI&T qabUEqTAEr6 lI&T8,ĪTK(z<Cq?{d#yᵍI4$ʇeXQj *\U(Q{:6xeZI0*@ 0#=ۋ76]$Г*yabUEPQAGGk.hI<0*.*/g^W:>w^n 2;ŷR`E^,DOǿ. lI&T62,JA&.*M<Cgn?`hy#b/. ]mˑ6&R2,Jiˊ4Kס74Pp;y#b/. ]mˑ6&R2,Ji熗i/g^ A϶n9ypo"o\ᵍI4$ʔabUEO<? lI&TYU]>1qvXtBL@YU<yCgn?>]wˤeJ 2,Jhˊ4Iס7*@ yCwb3ݸxmceM 240*.*B/g^6]$Г*CL -PHSPHSס7*`hmceM 2f%TZ4CK4CCVHg^^ogfE˾#6xUh.Uǟo͸\6&RL -y%y ס7(ՋF}ܸ>?Kna4"/ \yt7<XtBLCL -yeyKס6dq0bH?rXtBLqYUAA2d#<<6&P̳ -PˊLJ/g^9 ȼD#$8!/`F!I4$ʇeXQjqT6CVHg^^ogfE̹xD#$q͚6x̌2,<]zCk.hI((0*ѢN .('/g^9 ^"\F]ᵍI4$ʇeXQj*\U 4Q{:6x/d#yᵍI4$ʇeXQj\U(){:6x̹xD#$8!/`F!I4$ʇeXQj<@2r6 l#6]$Г*yabUE l i{:6x̹w9݋B2Aˑ؃BXtBLqYUq%PCgn?ˏGnވܻH_u!I4$ʆ9abUE | y{:6x 7^"\F6]$Г*yabUEP9@旳Cgn?GB2Aˑ؃BXtBLqYUqPCgn?H?d#<<6&P̳ -PK/g^9n,B2Aˑ؃BXtBLqYUpp2;`wA2}r6XtBLhjf%TZPPQEod^}ps {biqmceM 2Ǚf%TZNC^μ lI&TqabUE(<(9{:6xdIu4hn-XtBLqYUpSPৗCgl㡯>\\l}Вh2rKU'.lϻt4"/ \yt7@2@`U@`4F{o lI&T8,ĪT8(qT8(ul BqooCk.hI((0*Ѣ.(/g^6]$Г*PQabUED6\QB^ν ?@E(O ml#6]$Г*40*.*‡/g^d 7^"\F6]$Г*yabUEP=%R^ν ?C߼EyݎH?qmceM 2̳ -P(ZKP/g^g2br6 V lI&T8,ĪT 4z<CqX D-VTp}~ 1xmceM 2ƙf%TZ4PzK4PzCgn?@*@fF7pq[wᵍI4$ʇeXQhAK4Pp"P8 v,UD  rA-bˤeC2,Jhˊ4Psס7Ep0ddJ7pq[wᵍI4$ʇeXQhAK4PqE!d#<<6&P̳ -Pˊlj/g^e˃ H9 {#ˤeCCP0*\Uz<CqRau@`U@`4F{o lI&T8,ĪT L $x;XtBLqYUqˊƚ^ν ?˘/yCwb|6]$Г*$0*ѧ.(‡/g^e{̋">>!I4$ʆ2,JiOiO/g^e{r.=^ˍ=ˑmceM 2eXQj6\Ui{:6xB,p}~ 1wI4$ʇeXQhA͗h旳Cgn?AD#$8!!I4$ʇeXQj"mːˤeCDf%TZ4xPˤe@L -P8P8סqxm琗2{ˡ?v9 Ǣ7.k.hIeXQhBK4Pv#qϸ[w w\6&P0,ĪTL $z<CqoI4$ʁeXQj@Cgl㡳7@+ DWi[ 6&P̳ -P)ˊS/g^6]$Г*yabUEhiqT8 @-@HA lI&TqabUE *\U^ν ?.=}"㑱.ȍ^XtBLJf%TZ4%xzr"<mceM 2M2,JAA/g^e#F*-E#b/. ]mˑ6&R2,JiCK4!ס7"/oCk.hI((0*ѢhB ס7Ѹd# mceM 2Ǚf%TZˊCgl㡯>\\l}Вh8YD%ۍBDA@ˀ6f #o<c~] D#$8.XtBLqYUHqT $Q{:6xd#6谘mceM 2Ǚf%TZNCB^ν ?!G! lArˤeC2,J@Ɗ@Ɗ/g^ld^,%{7.~3ݸ.=vlXF.6&P̳ -P1Kc/g^l`ptr6#} !w16ErAːˤeCNeXQjD.*D^ν ? pt^ ػH"!/peXCq2}r6XtBLhjf%TZi.*{:6x.9H6]$Г* 80*.* /g^ّCgn?6x,#\zXtBLqYUpqF8I{:6xn>ס$گ}D}}6xn1Ew}\6]$Г*iabUEE*\Q^ν ? ۯwst$ lI&T8,ĪF &\Q /g^mˑxFH?r9pGnXtBLqYU@K^ν ?6-[pd}pq^"6]$Г*eXQj.*^ν ? 1qFt]7wA۽wA>LAH|&XtBLqYU@RCCgn?;n-`Cbb2}r6XtBLhjf%TZCKCCgn?D}}.Ck.hI eXQh‰iDCgn?}ܸ>?Kna6&Rf%TZ4ex`! lAAmceM 2Ǚf%TZJ ^μ lI&T8,ĪTˊ4z<CqBˣp]㑱8}۾HᵍI4$ʁf%TZp%P8atn]ۂo /q! lI&T8,ĪT6P /g^6]$Г*yabUEpiqT8-GŌCk.hI<0*.*/g^rxEptrAˏCk.hI40*Ѣhס7.yˏG#b7wI4$ʂ(eXQj.*^ν ?!w^! lA "XtBLqYU99-ʀ"4hn-XtBLqYUuˊ ^ν ?!.4}b@$S˯ۑV`HL6&P@S,ĪT<0qT<0ul 6ܺ<"<v-|\_6&P̳ -P(2Pul z>sEېv]r6XtBL,ĪThqThuhceM 2c -P=@6&P̳ -R.*rul m[Del6&P2,JAF.*u蔞]}܈ŷD{?v9 mceM 2Ǚf%TZ(&\U)A%DqXIrR`E^,DOǿ. lI&T62,JA4 ס7P"DWi[ 6&P̳ -PCz<CqC.Gk.hI YU$)$)upt_Z"]}܆6]$Г*h,ĪT$- ס7P V`U@`4F{o lI&T8,ĪT:%P/g^6]$Г*$0*8Dpul \FŸ^-~ŷ"~ˤeCęf%TZC ^ν ?!>sEېv]r6XtBL,ĪThqThuhceM 2c -P=ˊz/g^@eZ]cEᷞB^˂?.Ub2ˤeJ 2,Jhϗh/g^{ pˤeC2,JhAe$PRul \8[w6&PL -$Q(ul t6x^|~]~CᵍI4$ʁf%TZqAeP8.^| - FdYq lI&T4IabUEO *\Q^ν ?%*K P %G. @8 yzXtBLqYUPyqT (9{:4"/ \yt7<sz#r6&R -$$ס6dq! lA ,&XtBLqYUPiqT (1{:4v&P̳ -PСPСס7 <4^"\FۢaI4$ʇeXQj.*^ν ? @Xbr6  lI&T8,ĪT4)hSס7{r6.ݼDcod.6&P̳ -P Ch$x;XtBLqYUqK^ν ? .-ކ6]$Г* 0*qT>Kס7r.=yu[r/d 7܃w˰ˤeJ 2,Jhˊ4Hcס7F.>#.6mceM 2YU ]v0_rMݎpq]jkfE![}6-1٬ Cgn?;wEۼ {#ˤeCCP0*\Uz<CqA܍ۃ!I4$ʔeXQhhGGk.hI 49abUEli{:6x8v߸ȍ6,@TS,#.7.G#aI4$ʆabUE 4qTio6&Rf%TZ4R\Q҅ˤeJeXQhtOo]".px!I4$ʇeXQhAˊ4PpoF.6&R - PyqFz<CqA܍DŽ=}"㑱.ȍ^XtBLJf%TZ4"%x+c.k.hI($0*Ѣ(*\Q((z<CqA܏u݋n">>_}q Ean6&P̳ -P0a0ul r?/\Fcod.@|& ȿH?rXtBLi -PH$@Rul DfA\4}b@$S˯ۑV`HL6&P@S,ĪT<8iqT<8bul K!d#7mmceM 2Ǚf%TZQ&ˊQ&Cgn?>q.#0/ lI&T4L -PIˊ/g^"r6 6&P̳ -Rˊ/g^݋B2Aˑ؃tXL6&P̳ -PMCM4z<Cq@v/.G#b|6]$Г*yabUE4qT i;B2Aˑ؃tXL6&P̳ -Pi.*Bul E! lArˤeC2,J@Ɔ@Ɔ/g^ݣxFH?r9pCn 6]$Г*yabUE41{:6xB2Aˑ؃"ᵍI4$ʇeXQj.*^ν ? t^"\FۢaI4$ʇeXQj\U 41{:4v&P̳ -PCˊ/g^:/.G#b|6]$Г*yabUE4<49{:6xhD#$8!Ek.hI<0* 4qT4ס7wAQxFH?r9pCn 6]$Г*yabUEiiCgn?r6 ȹxmceM 2Ǚf%TZcO@ƞ^ν ?#pwkqqBJѠp!.j%TZ l6f #o<c~] Pl[t^Hq~#.|v%&]@{pˤeCiC,ĪThqThul 0# +`U@`4F{o lI&T8,ĪT8qKס7?wk.hI<0*(u%RPx;XtBL,ĪTCP=/g^ّC^}ܸ;%Qh8zJ!.j%TZ Ir6f #o<c~] 2.cv>FmceM 2L -$I$ul 3#H?rXtBLqYUA2A%[㌎m fH]r6&PAYUyPCgn?J~Do?0#A/ lI&T8,ĪT pqT pul U06&RL -yK4N/g^.@B<[ lI&T 0*\Uz<CqU \[pdWJ!BK%ˤe@f%TZsCKsCGk.hI2,J@@/g^;vG lI&T C,ĪTT (z<CqU"1ۋzXtBLqYUiePӂCgn?J P҈3ݸxmceM 2Ǚf%TZC^ν ?vȰD#$8!!I4$ʇeXQj .* ^ν ?v|%mceM 2L -Pˊ/g^.`U@`4F{o lI&T8,ĪT81pcKס7Y^ lI&T8,ĪT85%P/g^6]$Г*yabUE41{:6xیn-pt}_H@ˤeCf%TZˊთCgn?ۻw$ypt[tqq 6]$Г* 80* .*/g^;qv#pEpt6&P̳ -RJ(z<CqD}}.Ck.hI2,Jhq"%Hul @\Dgqo&ˤeC2,JCC/g^;wb/#ǶmceM 2Ǚf%TZƈC^ν ?vuȋH"!/peXCq5܏!ˤeAFf%TZ A^ν ?G<szXtBL(,ĪTpYqTpRul t6xXtBLmf%TZˊǗCgn?"_EᷞB^˂?.w ǡI4$ʇeXQhGh×Cgn?AˏCk.hI40*Ѣhס6dqH4"/ \yt7[w6&R - I$uhceM 2L -$2xuhceM 2L -$A ul rzXtBL(9abUE*\U^ν ?,\wEᷞB^˂?..6>G܆6]$Г*ps,ĪTxiqTxbul t6x.9q G:mceM 2ƙf%TZ4H$IH:/"\\l}Вh9҈KUÝ.lϻt4"/ \yt7hr^&mceM 2L -PEˊ/g^X0*@ 0#=ۋ76]$Г*yabUE,){:6x Z0"/P#.7.DXMŀ˃rxmceM 2f%TZ48QxD#$8#7 lI&T8,ĪTq@ ס76(]?r!-3mceM 2a&YUIIv eˤeCh$0*\Uz<Cq_ˑ":XtBLAabUEC>\QĞ^ν ?#t4hn-XtBLqYUpzK^ν ?xXMH?rXtBLqYUpqF8A{:6xa7GB2Aˑ؃BXtBLqYUpPCgn?o 3ݸ.XtBL 9abUExyqT<ՒYW׼[٫a`** rA-b5Yl ma pKnHrAːˤeJeXQhiGk.hI40*Ѣ*\Q(x;XtBL 9abUEyy痳Cgn?qˤeC2,JC>\U4ul ۏ2}r6XtBLhjf%TZDKDCgn?!nNp2.px!I4$ʇeXQhAK4PaE2-^8qw$_/ lI&T8,ĪF IqF Bul }'-2$_{ฐw"06]$Г*iabUEE.(ADCgn?&7uܻ lI&TiabUE"Cgn? 7!I4$ʔ40*ѧqFCKס7Gnކ6]$Г*pc,ĪT}%PI/g^<۷&߈ކ6]$Г*PQabUED .(ECgn?ѷqr9 lI&T8,ĪTsR/g^Q0*Q{8!I4$ʁf%TZp%P8qˤe@L -P9P9ס7eTc>ƍ㑱4PT\`\6]$Г*yabUE1nFw Ȅ]mceM 2a&YU28l 9 lI&T qabUE8,8){:4v&P0,ĪT(qT(ul 9ˌw1xFH?r9p@+E6]$Г*yabUE<,<){:6x /P,^7mceM 2f%TZ4Q(EˤeC2,JJP- ׁI4$ʁf%TZpˊp痳Gk.hI 2,J@牗@/g^=;q~Ȃ[ lI&T qabUE6Gk.hI2,J@R\UBul |7$]G lI&T8AabUEli{:6x> .#߈n/]mceM 2abUE YqT@{ˍ=ˑmceM 2eXQj\UP){:6x^z|]ۃ"EǾ B;ζ>XtBLmf%TZ%PHa燷EG :xFH?qlA<\6xxFH?r9pCk.hI<0* Bul `,4"/ \yt7.7.G#aI4$ʆabUE %PU(^ν ? G:/#~=ˤeJ 2,Jhe 8ul ͏!ăcކ6]$Г*A&YU$8qTQ{:6x̎:<Cq[w[}| F^\㈺"7xmceM 2(eXQh iCgn?CxFH?r9pC!_6]$Г*yabUEqT81ˤeC2,JCC/g^=?ˍ=ˑmceM 2eXQjl 5l^"\F !I4$ʇeXQj .* ^ν ?\J H vMᵍI4$ʇeXQj .* ^ν ?{$]pqyx˃rx  lI&T4,ĪF\Q/g^=.F/ˤeJ 2,JhDK4I ס7d lI&T,ĪF\Q/g^EᷞB^˂?.c ?:/7Wz9|&܉aI4$ʔabUEOIqF& Do˱p#{I4$ʇeXQj "\U(A{:6xA~ lI&T,ĪF4ذXtBLqYU6. B1qCk.hIP0* .*/g^.Ck.hI40*ѢR\QPx;XtBLqYUqF q{:6xpcnw.G EhvzXtBLx,ĪT>P /g^ˤe@L -P8eP8Kס7>2/.G#boˤeC2,J@BˊQ!Kס7>2 EEdynI4$ʇ2,JC .*z<Cq. ދB2Aˑ؃<<[o\z9 lI&T8,ĪT L$z<Cqu׎<6&PU -P@ceP@cKס7?[x|6ǂ|B.{r}mceM 22,JA'A'/g^]P 0*@ 0#=ۋ76]$Г*yabUE$L$I{:6xoq\Dgqo&ˤeC2,JC.* 4z<CqؼD#$8 n2ˤeC2,JCECE/g^<灢AE. ˤeC2,JCC/g^6]$Г* 80*|(ul ϺD[pd6&PO2,JAˊAס7 G:oz/9|& 8c5dV{U5Wsz>rMݎpq]holHg7 G:G/lupt6&P@,ĪT<@qT<@uhceM 2f%TZDKDCgn?"H\#.7.G#aI4$ʆabUE iqT@爍hdG/ؾۑ0lr^E#zXtBLJf%TZ4&ˊ4&Cgn?"4oFؽ.F.6&P̳ -PAPAס7=Aq؋ˤeCf%TZ4PK4PCgn?\ ؔv #pSq˅E)mG-? lI&T62,JA4 .*hz<CqZ@b4hn-XtBLqYUpRpEc3"8u݋H˯k.hI <0*ѡ hqBKס7DŽg.8g?w[lZ"]}܊DaI4$ʂf%TZKCgn?.+w"t#.7.G#aI4$ʆabUE yqT@n w.dDel6&P2,JAT>\UPul l {#ˤeCCP0**\U(x;XtBLhjf%TZAT^ν ?x킢3cދn ϶ކ6]$Г*eXQhCˊ48o?q B1qCk.hIP0*\Uz<CfG yrcE@J!.j%TZ \;ټpwCH"!/peXCqd/ qط.G#b U ? lI&T0*tul :{b}˃D^G{7.k.hI<0*>\UXtBLmf%TZePHa%}ۃ"1\ǢR`E^,DOǿ. lI&T62,JA4.*h(x;XtBLmf%TZKCgn?wˍ=ˑmceM 2eXQj*\UPQ{:6xqz|]ۃ"EǾ B;ζ>XtBLmf%TZ¥PHaE}ދ"phpt]ϻvXtBLpS,ĪF\QD/g^0Wp}~ 1xmceM 22,JhΗh/g^6]$Г*C,ĪF<4Ex;XtBL(,ĪTD zGy {. ǼyCx lI&TYU<5%xjCgl㡳7DemceM 2f%TZ4MK4MCgn? F^GmˤeC2,J@CK`ס7:ػXBXtBLqYU ,E ^μ lI&T $0*|
            ۏH"!/peXCqX lI&T8,ĪT8P/g^*XtBLqYUhqhq@"XmceM 2Ǚf%TZǛ.*i{:6xPˤeC2,J@DK` ס7]7zXtBLqYUhphp2P(mceM 2Ǚf%TZ\U>28l v"϶qr9 lI&T45 -PQePQKס7ϻlKˤeJ 2,Jhh/g^>EptH]ѹt{n 6&P̳ -P0QR(ujk-?+o\٬ Cgn?.}z%&]@{pˤeCiC,ĪTT (z<Cq,wmۭ~^\y}mceM 2Ǚf%TZˊCgn?Ϗ~-2.eY ؃e6dqןw.n.6>ITZ4<ơ"UEpϻt4"/ \yt7b7wk.hIeXQj .* ^ν ?#^GmˤeAT2,JA.*\86KpV=[Do=n">>BpˤeA'f%TZˊCgn?- D"! ކ6]$Г*p,ĪTxqTxul 'O= lI&T,ĪFqFul t5˃[U(qHQh(8pϻt4"/ \yt7 ]| lI&TiabUE"Cgn?vs]6]$Г* 40*P4bul pd6&Rf%TZ4@P1{:4v&PDf%TZGˊGCgn?uXJ/>wz$y7xmceM 2Ǚf%TZcˊcCgl㡯>\\l}Вh8D%ۍBDA@˚ٷ7w.iD^y% +n?LDX. H vMᵍI4$ʇeXQj"\UPA{:6xJSU0*@ 0#=ۋ7Y{8.XtBLqYUP5Cgn?Xn r\Kn ݆6]$Г*eXQjR\U{:6x8{[pdAXcbˤe@L -P82Hul +p;8a#pPB[pf.6&P0,ĪT <z<Cq 4n r\Kn ݆6]$Г*eXQj.*^ν ?`}Ѐ8[t]vˤeAA̳ -PAAнz<Cq 0bcb6&P0,ĪT*U ס7.(]?r!-3vXtBLqYUpq2pq%ˤe@L -P8@bul +p;#Fw Ȅ]mceM 2a&YUAAVŷwxlE8r#6]$Г*RYUۃtdEy {n 6&R -  ׁI4$ʔeXQhϗh痳Cgl㡳7 y=CH"!/peXCqۃ"7xpt6&P&YUxjK^ν ?w lI&T,ĪF IqF Bul ܻyC`,H;ζ=mceM 2f%TZ4A \|G#b]}܋϶yCۂ lI&Tc,ĪF4qF4uhceM 2f%TZ4@p){:6x̎:<Cq ;"/#ǶiD^y% +n?pdF/{6]$Г*$0* tul ˼- mceM 2f%TZ4@c 1v"<2Xw#l{ˤeJ 2,Jhˊ4Aס7ظ&F<m2"<=XtBL@YUhiqF41{:4v&R - 8iqFz<CfG ?hL@0*@ 0#=ۋ76]$Г*yabUE8qT qD3ݸxmceM 2Ǚf%TZcˊc×Cgn?X(,Ex #o<c~] n C/{=ˤeCęf%TZ C^ν ?w lI&T,ĪF8qF8ul . #O.nEpcn!mw6]$Г*P1abUED\Q ^μ lI&T,ĪFtD8x;XtBLAFYU\|G#b]}܋϶yCۂ lI&Tc,ĪF4,Dx;XtBLAFYUqFi{:6x̎:<Cq Aۃ!qxm琗2{ˡw lI&T,ĪF lD4z<Cq7.^G{X szXtBLAFYUyy\|G#b]}܋϶yCۂ lI&Tc,ĪF4qF4uhceM 2f%TZ4@zK4@zCgl㡳7 ᵍI4$ʆ 0* .* /g^7$o~؋˃|q[F/ lI&T -xR\w%}^XtBLCL -xaR<0uhceM 2ƙf%TZ4Qԗh^μ lI&T0*.Ck.hI40*Ѣ .(G/g^ّC^}ܸ;%Qh8qRKUÊ#fl}ܸ;qxm琗2{ˡ1Ew}\6]$Г*iabUEE.(ACgl㡯>\\l}Вh=en5 -}}yrEᷞB^˂?.! lApˤeC2,J@‚ˊaAKס7/.G#bˤeC2,JJPqT/g^[ B2Aˑ؃l6&P̳ -PB%PB ס7蕋3X4} lI&T8,ĪT qT ul .*:Q`U@`4F{o lI&T8,ĪT qT ul t4 e@'cI4$K  [ys!ע;XtBLhjf]'E[}z cI4$ʁheX2˘l#Fˏע;XtBDQI8ĹW\Dmbdp 8חlـ@" 흘X k$<nf>@>X>';h<./usr/share/man/info/en_US/xlf/html/UG15.HTMp/$ Diagnostic Listings XL Fortran for AIX V8.1.1

            User's Guide


            Diagnostic Listings

            The compiler output listing has optional sections that you can include or omit. For information about the applicable compiler options and the listing itself, refer to Options That Control Listings and Messages and Chapter 12, Understanding XL Fortran Compiler Listings.

            The -S option gives you a true assembler source file.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] Z` k($#nf>@>X>';i#./usr/share/man/info/en_US/xlf/html/UG16.HTMp/$ Symbolic Debugger Support XL Fortran for AIX V8.1.1

            User's Guide


            Symbolic Debugger Support

            You can use dbx, the IBM Distributed Debugger, and other symbolic debuggers for your programs.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] age"> k$% nf>@>X>';j% ./usr/share/man/info/en_US/xlf/html/UG17.HTMp/$ Program Optimization XL Fortran for AIX V8.1.1

            User's Guide


            Program Optimization

            The XL Fortran compiler helps you control the optimization of your programs:

            • You can select different levels of compiler optimizations.
            • You can turn on separate optimizations for loops, floating point, and other categories.
            • You can optimize a program for a particular class of machines or for a very specific machine configuration, depending on where the program will run.

            Chapter 8, Optimizing XL Fortran Programs is a road map to these features.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] l k$nf>@>X>';k./usr/share/man/info/en_US/xlf/html/UG18.HTMp/$ Online Documentation XL Fortran for AIX V8.1.1

            User's Guide


            Online Documentation

            |The XL Fortran books are available online in HTML,| PostScript (PS), and Portable Document Format (PDF) formats. The |documentation is located in the following directories: |

            • |/usr/share/man/info/LANG/xlf/html
            • |/usr/share/man/info/LANG/xlf/pdf
            • |/usr/share/man/info/LANG/xlf/postscript |

            |where LANG represents the language and location code. For |example, en_US is the language and location code for US |English.

            You can use a browser such as Netscape Navigator to view HTML documents at your workstation. To start a Netscape session for the XL Fortran books, use the netscape command. From the File options, select "Open File", and then enter the path of the HTML book you want to access. |You need a suitable PDF viewer for the PDF documents.

            |Cross references between important User's Guide and Language |Reference topics are linked. While viewing a given docment, you can |access a linked topic in the other document by clicking the link. You |do not need to close the document you are viewing to access the linked |information in the other documnent.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] CH lh~$nf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG19.HTMp/$    "<=>ATaeinort -/CEFHILMNPRUlps.01234DGS_cdfghmuy#59:BOVXb!,8;WYvwx67Q\kz|()}'K[]{qpb0N+h-U8FxexEw'EFcl(FHi\wy/p"+Õg[qFF q.oNؖtM1c1c1c1c1cq6ST\\3b@ %؟3L(Ȁ(n2 ^Hv.#-];m8 $OYOJ0r +J']؛lL Ą,HPFdi>(Ȁ(bEzEjn$'qbD ,%6 #IFDi@ؾ/:bEzE+7渱"B8AC | G˖`n$믑a\KEo*)WlO)]znW4o.Oe.A,pH3̷`[3 ʖWt^ *1ҀX`T\S8%=|g[qg^jp8B@K)tpOj6%w1c1c1c1c1c1#a>F/\"P+gF1Rih]\zblfPLT>F/Ls$L l^"'E$ U\`BW ;|긁LTYe鲊Q{CċP|zPvJqcn,H*>F/b@;l^bD'Em 4hC -m[=+S]8a-8vFdWjFU% 1{E)E$BtX1̦Б#FoN~[]k{l+n@˻x9EvlRP^k#LD`E(N9$h@ V%BUS:}gn,H*>F/b@O鲊Q{CŊLs)$HЀ G8/loW{vuv䝁UIB}y^2e!:,ShH$p muzgyL]8}Z੊ a3*>F/b@鲊Q{CŊLs)$HЁ:&[{ n!jnvY9T'ךS(56QJ/hxBeQɁQ9bW(f+Zub[Ό`r]d۷S39T'ךS((F/b@/鲊Q{CŋLs!ʤC IjסStݺV=|lYڑUIB}y^2e!:,UD5EQmE"[NK:ޫL;݉*>F/b@o鲊Q{CōLs-0=Eiº;xr,z8mYڑUIB}y^2e!:,N"4cBW~K:ޫm;||lYڑUIB}y^2_eLs!)rw_t +cYn݁UIB}y^2鲊Q{CŀbfR|1_}f)Õg[q#`zȮԠčk7[[ ϼFKWoUvUS:rcNٲ:6;m;|Ay|Þöש"Y1v9^uW= [0f]8k$LƭkwIe|-wy"sv \or`쵸~rZ [39;nlAbT-wy"sv%\zyk63yR˶k!ػe7]&|%S %]hAbD2^%>[F nÿVL}׺ahö-c>f}\q{v)Ǯ2_ԙ{Ut 1(&̠ MR"J\)ة[@ˁ>鲊Q{C'E&5`]aJ\ MR,H佁T| E(EN(>T{v)7lm9p'}6QJ/hx'EʋD8 M>J`>r ̈́Y/;"P+gF@貲4  l.$?nf>@>X>';oq ./usr/share/man/info/en_US/xlf/html/UG20.HTMp/$   et/<=>ailnors "AINRTcdfhmpu-.1EGHLMOPSbgy,029:CDFUXwx!346BWY_kv|#()58;V7Q\'[]{}Kqp8j@cx$ kO{Zw֍@!pt rG@lKex|>qV_l{*jG@l pP ҧS-e/{{{{{ C)H(*XJ h8 GZۊr*D,@0 (T pP rZpz$(z`0 Nb($$ `08OP1QBڰ^,$xmlmh@E N~,/b ')rҌڬeI  qeSxOqN-*8 (WubrN;*I]9=i'*_P1QBs򉭊3<ᵦ)ᵳP1Fw@#^hFD(o $CPIʗrogN):#N"4Xx(ټ[ӪJyoZxzfVެ︿(t3D`o>|i`xhl ϑ"[,DjGq$LP xCkMhH$5nm^`GMh(`C "5#&(h< yw7A!$AXG 1nDjGq$LP xm`4 A'ipsA! ~0````PY1FwD /7ؕH$5iHG 1nq́(,ߥǛ'N6I/8\LZ4-p3ح岭T~8~׈_-w44éT_)V_KV3VΝWbS}gVgƅb}+O/՟usJ6ULh_‘ܿ/Vz,f),12k՛{+[gRoa3vU9>6#ϥ3vU̔44{4S-}3VΫ3bOfխ}*ceZF~WDlګ[:EYV/IZصAS/V{0(qWcʗ2ʴգUdiq,՛pKOud`*_c9eZŪVxŘp=^^ |v#O%ѡlR6FG"ճ)N3)Q$I : flasUăZӃ'5\҉"I1b4Q sniNg:xпRVU;./:c*_ʊeZ}Z;Փv#O%ѡlR6Ffjpm*%E;VeEY_][-ʱ |Q$I : flU($i/l[Fˋ1 |@8H@tٰD櫚Q$I ::c*_&Ĭ4S)tXf)qf9IHY*'6T4H@t:uTճʉ͕3)=zĖktMb-iGx[mNsH>(${6r*N^҉"I֛RVξ^-8gRYO/h `}m;7ˋ1 |@8H@tٰD歷g4H@t:uTճř_/xΜv3n3V;79RDѧb-hqf9IHYuljSsJ$$CZleK[:u]O-׍;-c@8qD$5ٷZ6Ư6TV 4NjsJ$$CZleK[90lw_ahZrDѧaqVc@8qD$5ٷZ6Ư6TV 4Njm^niD$tMgZx益jдu[mN%g$㲭.,4qy(֍ bb4$$AͺѶ5xѲnP QsUVt&5($i/l1b4Q sniuNczU~m NW[42VrN;*sH4@ q8]^X/l($9-5K9DՔjlm~9)KgqD$7574H@t:'~i/l֊ȳ6ʴ1YO/'%dҦxO-ZOJ+zM:V/epp`L =4J * 'lq-iFŏH'lJߓlsNǢ4= ,zDM'Kct8?=4@pHPҨiJ%grw4pqz#Chp0LJ"zDA9Sӡ ØA5a%A[ t sA$psGD mnent.  lN$5nf>@>X>';r3$./usr/share/man/info/en_US/xlf/html/UG21.HTMp/$    et<>ahilnors "/=ANRSTcdfgmpu,.1DEGHILMOPbvy-03:BCFUX_w#2469Vx!$%5;WYk'()78K\q|JQj&[]{}*zp 0baAzdHsA8N8b8 1$E51P׆Vwm Jգ9MZP+Oox'>Oj^SμxUr+hZYq> +67r+hZYq=l^ n'0B}>ɜ A/-+V7=BEHOPABҵhSyhZP+<jD Bn&sխh' D Z' D [jќдVx'IhhZdz y$5D8(442ܦ]7EAy::ak+p$,טCTCQB@80[ihn,o &QP@XOb‚Efzl-,7EAy 5nb‚Efz֥l0* ECN' [,XPH@,ט]3c399߅һݳJ99_ʝo1yQoVkܚDsX4+v!&D]HTule۞*|NaF8C^Ɐ LxV58Am`ռL>+ kה[p QA8C^c=H v{'>6>WPǫQY-]QMD9\rj$M9EmOxچɨ4G<ⲡmQ"hx -9=㓟j+H#qYPoDs:(y ECO4`@Iqi@TxcQ"hy٪*ubTqɨ4G?TyܚDsToJ6U&D" N`WRcovY/%{wze,iUJZ(sV(nw&DMZxQ"hrj$Me\rj$MyO5g:Ҷ+q]Hᅡi@|߱L3ch(xmm٭ʋeZx{(ZVo- Jg9׬QQ%Efa<9AA@ ,‹_岊 ׅsE8sFrone9o[{^<2 ,i8sFrone9m*0Ƙ㈐{yeQn2PbDžZP+:#*1ի,‹_j9ݩ"rs 8C^EG2"E2(<󛽎InABn:r*u's5i3֫mPDwDePy8C^c=6exP- oHlHOa1Zz۹5&, MD9{Vi- ުvrՆub*_a9ŒqG|iZg)-(_Il9Ÿrceϕ̕/o -ف~W:]|Sz?c7|Fߵ8?c+VZŒqGqؿ/O-+V7 ުql|W /V7zϱHlHOa1zݬVK^7w[zr+ +ieo {Qo֫m˵Z-*1jќZ  `Scy( Q yCSMS1 Q1鵊ye=!!?8Quo^c/0 g,(߳V~:eO-EyujR-ڵX#+ bһS|[֟c2򧇜{5Y[zrZԧ2M^SF8pෑ P!8෸==6Y/,6U' 0νm9L^fՆq\դ-)]|Wo9ի-Jyo9_eF.(0cQ!( 񘼩VzukBkʴEv9nah+c!iormmm դ-)]|Wo9ڵUTcsn{":(0cQ!p[pX_s[3 ^[yQ‹z76ZJЛyqF'c+дVyOxAW/]q-8beO-nD4ZԧvV-n+@~ rOժŠɗͿrj$M" q! qɨ4G? +bkܚDsL{MD9⺑b 1UA7Srxule_7|ܷʛEjmc*1ɨ4G<4H#׭'>@~ rqF8y(ECO4`^y(Q z5ܸWqoq2=@0ż{zmb\rj$M" .95&iZg)-(zZKe9hM\͎w&D("9&D -w&D!95&iZg)-(\Q( p<6BZԧMNJeZvV-oՅ)]U\ g/x1Xl'V/olK gX 3 6NWQ"AG9X*pz&D%&D_s `+&a>V&0$02+YQn)Y x_sOr앬i8bһS%<'WL 1"Q8abp[qnBeZ8෸==q <"PxćA`קvTcsn g^7@u$rY{A⹎(;(5㲙hOXfTcV[p[*1E* Jr7qlc5yQz٘lOoz0V# 0Λm5[oFrBҁY(ukEqpq{tP$4GHxp@@$ Ǥ44C  9E* kȐ (ºy*1ȭb<) rq^cHi, 59:(y& ECO4`QqɜԯnܚDsȐ (rj$M>ɜ_H32PZVv_aZa*{` nVŻwyȭierj$M9ȫMD9F8C_ʲԧ[TLf, Nn:r*s%֕r'7{99J6KEEy^r*K眊_Ox3i[Y oV)?3~;V=yQk2(U3 ȫ%"C‹yȫ%"Pvj[^swӑS.$}c(?? jDYDyNENdҰHQNELU[qDxtV)۶}7sEm 1ɨ4G>r* ఁPqɨ4G?TMD97{9qɨ4G?WZVv/qc%OH#DYDQ"hnʌ 9a_o R> V)yod'2rql~;Q"h|T5aQ"hy[Bph0F ;Q"hyA$Q"hFrBҁYzA_pťlWkb⺑έYjSumܿ^Sfj^S%Efap<6B:_)տfOʴ3c V)F[H#Yqn95& `j3~)ꪭժ*1Efa<ﵶ-OmZ1ڜ[y_[/٭aOZgMNJeZ ߼jsv9S.pqLDy"ALF9ܚDs A'DshZP+<1v*19ܚDsSK.Q"hykeZ 1  ϱժ*1Efa:+ʴZKiJخ۷|MD9*M@^gR rj$MkeZ}kSٗ2g>>-Vб~ժ*1ה [-*1cq ժZKbŒqH=H<@}rЛyrj$M(04arj$Mi@s n)ojSž9AU\V)ʌ nEeNTcJ[}ʴc"A88qGxK܇ECO4xć@$=!8X,P )P$רH ~X/*1JخSjO.{ECO4`H^yC!@`xP$kr1tP$4H  r <ł ^y(#< ЧV)庶n_ѶJW[B_[vf*0beN*WB< ЧMNJeZvV-zn_2m xd7ٺ}9׭:zŸ=ɨ4G=5P93a `Q"hxx7=9|y gjpWZVv/ܚDsZqɨ4G rj$M"bH(PZ3Z /e2g/^g5&燑 D95&On A'^SH3CHhiHr$EF3*1e@>X>';vO./usr/share/man/info/en_US/xlf/html/UG22.HTMp/$  e/ailnoprst ,-<=>bcdfhmu.ADLNORST_gx"079:BEGIPqy16FHMXkvwz*2345CU#()8WY|!;VjQ\{}'[]K8H7FXA`q C0H7p$(jC@+t uV*0Qj9s gQ6y J3NyyyyyyyyyyyYi14+Z@r`ꁀ(`Xx Q (s'4@er@#8(3M@p$::0 8@pXx x ` 'P,4@!9AX3m]P,4[9.`LV5\)i澘+DP,4 #s ].t]+7%[O ֙ipn^OrM3u|hҳrUDM@p"cr)+i³jUΪh+9 5 < 8q$xBQ(WF} AI(SJ0QjQϳ4bM(G^m G>$t iڍ]Ҋs|eWFi/JgQZN}Nj Zȯ[4Qy5@AąDM Qn4#$8bYgKM 4 g $ ,@^IFH8q#=f$$`  YBI"B& C'`X8#$8$/)0HH80 @AąDM YY:w@ 8pGmLBr8 ` 8 4;Z*P!GK6e kXIV_GUрfi[2jT3HruT3dTJ/4^ԁ_MDa#5/H¦gf Dg0,b,R0_װcpDgY,@ 9F@r3C,4: jw<O<<<<<<<<<<<5 < dLzZR9,H.04rvs d 8A 2  @HPF < 1Q!)zV+8T`/6цs @@d 8^8X(80  sYADŽ H g  0 8B0Z/,x@Xhp(G^m G>JrnͫU('>KVXWlAXm)U;QQ(WF}qDATU IB0"Jm]ur(PSg|ׄaQjmc8rWSh6Vں0N0Z\ꫥ綮:%7J=f-G>f'' ooj5wJ0QjQϽ]ppPq``8 sY(0sfwIZNk'LN+º̀.tڋti{V KZqSJ+IϹ]PN+4O6ҭ=iF 8m]j9 Ҋ6 Ӫ@N쫩W@iEe+F}j}}(Jr}"W@G,}c[-H::Jv3zyI8=P, 9I8= (`fY$|3iA^XXl{"1a2e^XY gոbq_Ei9=x's[fn.9V>2 [܌7] G ;Vޔg;*+,x`p$gY(7$C Y(4AJޔ`/6цzQZSUj֟JӬprI\N+4O6.dn,P$(FHBmSUnx綮0*+,'C- HN>8E ' U)tޝ](G^m G>>5 3-(Oh2sc>tf'sx]:QUoIVZQ(WF}, )VMQZN}ϔRm[(ͳq\^3בI;hm7V˪De&zP"Hj9+$Ԍz4{KJ2 E7(WF⾫AFԌN.NR{WF8E "a^ըm:\63UjUt:zQ(WFجALN+E7('[ҌqEں0sf/󾪶WץI5+g{­E"D$$@x Bs9I8=3 ڝ\j:`"+I+:t`nIZNPM)["H-"PaD@͂b9 pH* (I @'(qD@'0DѵZ tgk8Sm}U;LN%&Ֆt DWڒWJuUV>SDZE^9$iEesUo8"jaG0"Ut`+$m"UVv.QwS6\(Qg0`IPZE^XIg050 ZNQL$Ws ڝ\j:`"+I+:t`nIZNPM)[,$*I$@x4͂x9WD50D*0V6BG򪳶LXE(λT(0b $-"P, ,s@#+I:D*DѵZ tgk)Ds @ᄐ85U$Y @ $ FVu8"U$s SYI8=U$s Ч)G=)R3.qD@9I8=2E8E@98` +{Q^oj|TW)ܧʹ%wSjͫk&ZM{=HQϺw9WoIZNQt]EWveD9I8= (0bpHWY @ $ I[ڍ"|Ux5kUoYVs쭤ZQϱY%lVYNgzsp6q)6NUsQg0`@ᄐ85sP9 pVHz&^ Z[*gQN k, (0UFU,s@VӊeWFkw]kOtoJ+IϹ]PHIVfjF}j}J+IϹ]m{w˟Uц/ѫYo+$u+t[kiSQk=((p{JuUel6̢\+{DE`Uo+R]'ƖWE/50es @IPm 98` +{Q^oj|T-d_sY1P8a$ AY @ $ 5ԭ85k8ʮ)Vlm(֟XRE>2 jFzMаr;3R3VͺQZN}όl |eWFFe[ԮmҌmn NGٯOQ)V׫AM2pjE:ۥm}U_{JwZz"zq]$jں0l=GA=֌J0pXKmfWUM8ʮ)=U}UW(Ul ѽ2UtaMHIVfjF}j}J+IϹ]m{w˟Uц/ѫYo+$u+t[kiSQk=((p{JuUel6̢\+{DE`Uo+R]'ƖWE/50ee"t]hm KmfWUM c[.}UW(Uo8"h9I8= ('>Ut`+`ۙW^R|eWF;R@s0sDs @IP…`H0bVnN*q]SKfz"zQYfVI[ҊseqJKUnUtaMܦ'nvUmn0EejFweƪʮdu6ֳr+i~uuV͂{ -IҊFץUtaM ҸVm'+Y1P8a$ A)J2 sP9 p Y8UtaNg}.MkiEeC:FN)])i艖qDA)H$@x6rW}Uêl^ 2*0UZȯ[Niz6WלDJR9I8=2 mk'ėt>8WzzUl4oJ+IϴDXm+zvW}xʮ)wD4 9I8= rJ mJ t zz]O8"h"H`Wp3 J+Im]j}UZ.*+$ԌαҊsQϺ`URUn}QGtL$`I"H}e]%[WSmk7"ot:e(͵tayI8=D8"HiEi9>2X"3-hAHfчg$@x (0"gKx$p ,<0H@@ !D8>Ut`s(0bpHRQG,s@$]EW&[G>toSWJZz"}U .SN)])$R"H]R3t iEi9 #:ͰVNjg$@x0"(0bpHh8g050 %o(ǝp>uU[]= /RsJޝ]"HD$@xs @IPQG,s@$]EW^XRRE=G>Vl來'(Om7BKԵj5wu3 6jY1P8a$ BSr4,s@8"hӘD*09W$Kfz"zQYfΪ%i9A>&R覆\[fMHjiFm)G>.SIj , (0E#6B`j0a$12UFmUmvi@q)6NWҊs2ΪU$TZG0"ʮs @IPV5,s@"|Ux5kUoRm[ng6l .җUr(X9['Jr}U$JƧ0"fqD@*-#D3 \eWF`Uo|Rm]qSQupmΎ)N*;jt,$"Hj9AE9Y( 8^8X(8H(Hb$@ D@`@HBVnF 8m]`>2, @@t 8EJޤ^j}SoQ99&J0QjQϰ̳H j&٧#:ͰҊsez`Hgny*L5^c zEiX"N*9bY)G>/*0JNKqosi`f6J+IϹX/fٺ漫 0וz5T{c܋%8f5l{dLŸ); /Ԣ(%倸"3 ,'J+IϹUK?H{f맟P,$^Uk0פ_qQF5r,⣟ih/IETs22 $Uz;k!8-0}&$P,$66 Ҋse/fٺ漫 0וz5T{c܋%8f5l{dLŸza'-^N F) Ls); /Ԣ(⎃_#:ͰҊsez/`p i"Fm~kʽ@ yWaX^)G~~h=ȲS}aX&ǹJqQϴʮ)~h"ƎنQ0&͡eYhGUс픮 _za'-^N F) LshW{V̠cRdtu+pd"j`C ZnPQB(IExe"n*R37tmVs-@^~084#6O?5^XI0׬aH܍??4kY)G>0Ѭ^c܋%8eeWF?4JGDmh^B4JQW/D@Xm{d#G4H =ЫfP1ЩX2W::T2}0}!-7T((!^$"ш<2R qosi: ~6J+IϹKOR3b!FV%e((3Ir3lt^*kʽC yWi^"Sr4Ѭ{dLFzMr,⣟i]S(Ds AaM{C ʳ0h0=83 "P,$E)^!iq0*t*ٔ t*V3 Ύn _mLsPE50Ƚ4b TB\Ϊe:ǪmEiF вP=z_@E:EN$*%XSI9?c܋ %:#6O?4kYUgmNP,$5^UVvaX^T{c܋%8f5l{dL-'ngc܋*^U0ו}kUgmN5Uх?ih"ƎنQ0&͡eY_hGUс픮 _hW|"|R h␴8_hW{V̠cRdtu+pd"j`C ZnPQd"dd^1R*Vy`.UU]2cYS6R hYWNa/`p i")r,Ju '1Q/Jur,Y)$D(XQ)$D{f맟5r,C yWNfP_*;jt0׬aH܍??4kY)G>0Ѭ^c܋%8e܌7]3FEVva*I^UkʾH_*;jt0׬aHŸza'-^N F) Ls); 0*;jvy`.U89W{ XVvͣT((ZU$/ҝ"ħPsd_"ŒBITKNEBITKnyX"ʫ;jt0וza$a* 5򪳶C zN*=FETs3 6=ȲS}_i=ͳu?4kYUgmNP,$5^贌/5򪳶C zʮ)~h=@ i^uU)=U3h/J+J0V G&+d:RʽBs ץ $_SXNb_NE%:Q)=ȰSI9r3ltFEVva*%Uf ژkʽ@s0וzUYS4S |^"8#OǹJqQϴ4k"N*9ZOr3ltǹUYSԕUt&VjaP,$5^贌/_*;jt&VjaU:k0פ_eWF?4JڝaP>8f%FlD6faRWFR'aE^XIWSH2BaE^PQ[2Jaԭ¡q )iAA/ljazhH[ =tg1zMU1IdpaE倹WUwuUgmL5KҊҌ.DxɵJY%gmNP,$ƒ5IN{bSI9S{bN$*%D_"‰N$*%܌7]<Ѭ{eU:kʽIUYBiEi6P,$/^UkUgmNҊmL5򪳶C zN*=FETs3 6=ȲS}_i=ͳu?4kYUgmNRUViКQZM '3 yWa*-# |КQZMUVvaX^Uх?*OZbAR> RwgaUVv2Idp?4Al|¯QO];& /,ʽ@':tڙj\+L #Ȉj²Jڝ)e^XNaA_=ȱ)$DY)=ȱdPsS{aDPsFm~h=Ȳڝ 5^ӡ4S yWNfP5򪳶BiEi6UYSc zEiX"N*9bY)G>/贞fٺ韚5r,C yW*4M(&^U漫0ו}UVvM(&_*;jt0׬aHŸ); 0*;jv$Ӳ`8 6>RaWA'bi!"30s6 tmV]@$3ץ $_ͳu6>Rdbc܉b)2RREk֓5ڦa*L5^c zEiX<l{dLFETs3 Ѭ^c܋%8eeWF?4IIݞXI:: lhɬ@tz ^c&JV*Q: =t켰fUpDgYXNk2֑W/fٺb)2RRDFzM)XF"H^amS0וza&P^"Sr4Ѭ^c&JV*Q=ȲS}aX"N*9h/IETs22 $Uz;k!8-0}&$P,$5AQpddkFMfNb)2RRIe倸v6ꫂ$@X(+Fh5љkH ^~084#6O?4kImr&5l|JJ6ǹ:F ׃j 0וz5T{b)2RRETs3 ǹJqQϴ/FzMr,⣟i]S(Ds AaM{C ʳ0)F)\0*OZbAR> "P((B@Bc0\VPE8P Q{` S F EJT0]UGA5O];?4Al|JJ6A'!"30s6 tmV] tڙj\+B֑WgK?H_=ȱ)$D?c܋Ju '1Q/S{aDPsfٺb)2RREVvaX<l{0Ѭ^c&JV*Q=ȱ0Ѭ{eU:_k֓^ da*I^U_kUgmN^"s0פcImr,{HSK܍??4kImr,⣟iڝ /4kImr,⣟i_h=ȲS}aX&ǹJqQϴ{f~h/I%+(YUgmNX<l{06>Rdbc܋# Ѭ{eU:k֓^ daP,$5^贌5򪳶C ׬Nf5k1l|JJ6ǹ=Ȥ)UtaODf$P,$QtUJ6Nvkdk_Nb)2RRIe倸v6ꫂ#:ͰtmV] tڙj\+B֑WNa/`p i"ҝ"ħPsJur,Y)$DNEBITK{f맟5l|JJ6ǹUYSb)2RRDFzM)XF"HFEVvaZN'3 x6漫 '3 yWaU:k'3 z^Imr,{HSK܍??4kImr,⣟iڝ /4kImr,⣟i_h=ȲS}aX&ǹJqQϴ{f~h/I%+(YUgmNX<l{06>Rdbc܋# Ѭ{eU:k֓^ daP,$5^贌5򪳶C ׬Nf5k1l|JJ6ǹ=Ȥ)UtaOD@Xm{d#GDf$P,$QtUJ6Nvkdk_Nb)2RRIe倸v6ꫂ$@X(+Fh5љ`@NFzQZQ´-iz/ҝ"ħPsd_"ŒBITKNEBITKnyX<l{eU:_b)2RRD4kImr,t4kYUgmNZN'3 x6 '3 וzUYSbs0׬aH/^^c&JV*Q=ȱE!M/8#O6>Rdbc܋%8lC Ѭ^c&JV*Q=ȲS}a5r,⣟ih/IETs2IFmX<l{eU:_h/I%+(L/4kImr,t/4kYUgmNs0׃j9_kʽ@s0וz0ʪڝ /5c zDaH/I%+(X"]S*;jvB h}h kVUhGUс픮 _za'-^N F) LshW{V̠cRdtu+pd"j`C ZnPQB(IExe"n*j.F֍lt A' 6>RdbcNuU$f@NFzQZQ´ ^"/IFmX<l{eU:_b)2RRD4kImr,t4kYUgmNZN'3 x6kʽIUYBiEi6P,$5^贌/_*;jt&VjaUYSbs0׬aH/^^c&JV*Q=ȱE!M/2 %UgmN0%'vza&82Qs[&]w~hImO];/Idp?4Al|¯QO];& /,֑WNfotڙj\+L #Ȉj²Jڝ)kH '0z_@E:EN$*%XSI9?c܋ %:#6O?4kImr,C 6>Rdbc܉b)2RREc܋*^NfmS'3 yW*4M(&^U0ʪڝ ژ_kUgmN^"s0פcImr,{HSK܍??4kImr,⣟iڝ /4kImr,⣟i_h=ȲS}aX&ǹJqQϴ{f~h/I%+(YUgmNX<l{06>Rdbc܋# Ѭ{eU:k֓^ daRUViКQZM '3 yWa*-# ʪڝ ژ_UVvaX5k'3 zFImr,{HSKŸza'-^N F) LsUYS/4IIݞXI:: lhɬ@A' 6>RdbcNtz0b)0cNɀ14‹uUe:ǪmEiF x"dڥp@ Z* (3^~084~ǹ%:%:~ǹ,Nb_Jur,(Nb_ͳu6>Rdbc܋*4kImr&X<l{caX"ʫ;jt0zq9kL/^UJ:J+I0וza$a* /_*;jt&VjaUYSbs0׬aH5_^c&JV*Q=ȱE!M/8#O6>Rdbc܋%8lC Ѭ^c&JV*Q=ȲS}a5r,⣟ih/IETs2IFmX<l{eU:_h/I%+(L/4kImr,t/4kYUgmNs0׃j9_kʽIUYBiEi6P,$5^贌/5򪳶BiEi6UYSbs0׬aH/56>Rdbc܋R2 %UgmN0(Ds Aa$׹=Ь3 h0=83 "P,$E)^!iq0*t*ٔ t*V3 Ύn _mLsaKM /E50Ƚ4b TC EuTt(9ѭY$ӿD<ltz$Ӳ`8 6>RaWA'biTVZ0ӵUх H3?b)0b. Kf&_:EN"_XSH?c܋ %:L{bSI08*%NGXSI08*%DR`p#r,(L $Ӳ`8 6>RaWA'bIdF~hI^vLJ@ؽ&L*% i l|¯Q RR麟^c&zEbnSؽ&L*¯Q(eI^tU+ؽ&L*I1}?b)0b._tO?b.Uх3@2 AUS?b)0b.Mj,@ㅂ  sYADŽ @hp"3S5:{܌1<$܉WNbs =QE9Y( Hd"c&"Җ(ˊJYs (HLE, C9IAXx  :iK9Np@8x@ 2Q$_|T· C9IAXxI$adȒ@BNʜh``jg 1` 9`$(j kT$C nf>@>X>';C ./usr/share/man/info/en_US/xlf/html/UG23.HTMp/$ Determining Which Level of XL Fortran Is Installed XL Fortran for AIX V8.1.1

            User's Guide


            Determining Which Level of XL Fortran Is Installed

            Sometimes, you may not be sure which level of XL Fortran is installed on a particular machine. You would need to know this information before contacting software support.

            To check whether the latest level of the product has been installed through the system installation procedure, issue the command:

              lslpp -h "*xlf*"
            

            The result includes the version, release, modification, and fix level of the compiler image installed on the system.

            To check the level of the compiler executable itself, issue the command:

              what /usr/lpp/xlf/bin/xlfentry
            

            If the compiler is installed in a different directory, use the appropriate path name for the xlfentry file.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] saKM kw$9nf>@>X>';9./usr/share/man/info/en_US/xlf/html/UG24.HTMp/$ Upgrading to XL Fortran Version 8 XL Fortran for AIX V8.1.1

            User's Guide


            Upgrading to XL Fortran Version 8

            Here is some advice to help make the transition from an earlier version of the XL Fortran compiler as fast and simple as possible.

            Things to Note in XL Fortran Version 8

            Because XL Fortran Version |8.1.1 is highly compatible with XL Fortran Versions 7 |through 3 inclusive, most of the advice in this section applies to upgrades from Version 2 or earlier levels of XL Fortran.

            • The xlf90, xlf90_r, and xlf90_r7 commands provide Fortran 90 conformance, and the xlf95, xlf95_r, and xlf95_r7 commands provide Fortran 95 conformance. However, these commands may cause some problems with existing FORTRAN 77 programs. The xlf, xlf_r, xlf_r7, f77, and fort77 commands avoid some of these problems by keeping the old behavior wherever possible.
            • Fortran 90 introduced the idea of kind parameters for types. Except for the types complex and character, XL Fortran uses numeric kind parameters that correspond to the lengths of the types. For the type complex, the kind parameter is equal to the length of the real portion, which is half of the overall length. For the type character, the kind parameter is equal to the number of bytes that are required to represent each character, and this value is 1. A FORTRAN 77 declaration that is written using the * extension for length specifiers can now be rewritten with a kind parameter:
                     INTEGER*4  X   ! F77 notation with extension.
                     INTEGER(4) X   ! F90 standard notation.
                     COMPLEX*8  Y   ! *n becomes (n) for all types except
                     COMPLEX(4) Y   ! COMPLEX, where the value is halved.
              

              This new form is the one we use consistently throughout the XL Fortran manuals.

              Because the values of kind parameters may be different for different compilers, you may want to use named constants, placed in an include file or a module, to represent the kind parameters used in your programs. The SELECTED_INT_KIND and SELECTED_REAL_KIND intrinsic functions also let you determine kind values in a portable way.

            • Fortran 90 introduced a standardized free source form for source code, which is different from the XL Fortran Version 2 free source form. The -qfree and -k options now use the Fortran 90 free source form; the Version 2 free source form is available through the option -qfree=ibm.
            • The libraries that provide Fortran 90 and Fortran 95 support are libxlf90_r.a and libxlf90.a, located in /usr/lib. A libxlf.a library of stub routines is provided in /usr/lib, but it is only used for linking existing |Version 1 or 2 object files or running existing executables. When a Version 1 or Version 2 object file calls entry points in libxlf.a, those entry points then call equivalent entry points in libxlf90.a (for single-threaded programs) or libxlf90_r.a (for multi-threaded programs). If you recompile such object files, the result could be improved I/O performance, because the entry points in libxlf90.a or libxlf90_r.a are called directly.

              Fortran provides the library libxlf90_r.a, in addition to libxlf90_t.a. The library libxlf90_r.a is a superset of libxlf90_t.a, which is a partial thread-support run-time library.

              The file xlf.cfg has been set up to link to libxlf90_r.a automatically when you use the xlf90_r, xlf90_r7, xlf95_r, xlf95_r7, xlf_r, or xlf_r7 command. A single, combined thread-safe library, libxlf90_r.a, is provided to support both single- and multiple-threaded applications. The libxlf90.a library is a symbolic link to libxlf90_r.a.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ance, a lꦃ$ 3nf>@>X>';#./usr/share/man/info/en_US/xlf/html/UG25.HTMp/$  "<=>NORTaeinorst /ADEGHILSdhl-.CFPcfgmpu%,012379MVWbvwxy5BUXqz!#)4:Y_k(68;|KQ\?j{}Z[]'htF Fa:i a1t9>acj3MDNymSL%+kaK\%+^?8^&=/J֊>U!9s9s9s9s9s,[h,_*GΤ-HH PB.CwUx!Ky~ ` ; 1,F ul_1 J`7S<( /|$$ pb[@Abq(+[} 8wib$447-/6$]W"UTgN+}U^M6~  t0%\ܝos*y _+[z-/5P~R؅7l_=[h\lCuW-/Ӈ-UJ^7hC|N[q?o-ތs*?  ! @XHǖoFs,$fV8gn`Jg$$ X|cŞʊkqτ)~)! @XHǖ&ةJ!1pN%k& X Aj\U/cVݱp#GX\G`G ((;+PP02q@ _bU{$/'[[`G2Nb [LR`Jgp{H02Vx%>;i~G `HG`m^hsRʺs9s9s9s9s9so-{<D BUca-lZb!/-D)7N@ =tdx0Hhf@8ǚ%+kaK\%+^?8^ {LD){hRKpJ|v3z拮+h@ UCSv^N[#a ) j澙 אZ%]{_S㱝kWw_z]^;ir@z\Z֦ -k'L=)5ZV~[[r&Rvn%l}j'(.E)9F<9F<`cLRr!duuq2kjli\Jew_W:/&sQ*Ƶa3+O6}ofOw\ЏK7) >ЦW fA,Y^Sj/g+Ԟ^B5%k}^'(.D4!)9F?9Ft^$gO\:ijMhO_xgy}sb^hO-4#l36pSI9qMA gH1Z*NZ6$ )Rz+RXDWծKj'(.E)9F?=NQ"`:]Qɜ9=l榒sJ9bO¸ئ6)<9l 4\f=NQe,7l_W=4'(&sdO-;HALg548gDN>J9bK8GM0  ¢~m}X)s_z: C|N[Su)sRBu5}Ոr W5!EתE~_QM7URd{fw54ji!2qΉ|s0q.`XX3~֯j`ł)1I0A7l\>s'( 򁩴'(n:z/xŕZlH*3ek;lֹ/}^;i~;ir@ܦpB}o뉭M\t&s36pSI9tO4䣘6)$tsCd{LgsSI9:l榒s'iG0lS gH^'(Cb`m{5!W.-LgsSI9:l榒s'iG0lS gH1Wjݱ~'( .D01־1 ɜji!0ig548gDN>J9b[8GM0$0kd{LgsSI9:l榒s'iG0lS gHk ՁuWDu!zfߢN_`K/\-LgsSI9:l榒s'iG0lS gH1Wj9F>L榒s'iG0lS bW50-A# ǵI0A8:\y%7bvvEzLRrym2g=NOl36pSI9tO4䣘6)$tsyr\pK4',ОUx<4C|[x~[~*CuWH$r&S8:zDZTNd{fw54ji!2qΉ|s0q.`XX3*2^UȮֵ -LgsSI9:l榒s'iG0lS gH1'ɜ9=l榒sJ9bK8GM0  jݱ~Cmznؿj`Ŧ)9F?9F>L榒s'iG0lS gH1Mt[Li9J9bO¸ئ6)<9l 4\f=NQ[׏W=4'(&sdO-;HALg548gDN>J9bK8GM0  Ǐ f7Z+u~^F[W VԆ2]6η)RwkRrxѠFn}q3Y=*RrxѠFn}jXm\)MojR6^5!03ٝM$ >>L榒s'iG0lS gH1Mt[Li9J9b[8GM0$0kd{LgsSI9:l榒s'iG0lS gH v.7O}`y/]|]v9F<|TJiFiNQ)R#j W"y믵zhB+umr_kWMam2g=;HALg548gDN>J9bS8GM0,,jkW9FkE}E-亴9/]rkj`hq餤b`y_X֦֯4 v3冁KLH:moIkS~؉#ZuU~/H]yJkc i9Bbg8y{:'qQ™:ha`zĩPEz9F<L1I0AxZ[ͮH9F>'U 33Y=}M¥HU_𺽪NQǦiNQt|F0L i9Bbg8y{:'qQ:h!ym2g=NOl36pSI9tO4䣘6)$tsz'^7Ruu}U ئz!R)*T~%j؉ߵߥ+v3}E(L+w>5׭ q֭  fFr=ZԹ*##$zfnU'וW)b_vu ؅ApWl]_~֯VhU}}.+Q>7N+*B i9Bbg8y{:'qQ™:ha`xտ_z_rtK_2݄l+E-亴9/]&RԱ;moڤ Eȴ'(&NTgH )MFbꕯ= ծIz T#{T,(Ƙ /֦>틖G4 *&RFt`!K dRrxCBb`{T(3LRr!du}.+^'( .D01)9F?_ f6Y]Wj.V#e롅ɜji!0ig548gDN>J9b[8GM0$0kd{LgsSI9:l榒s'iG0lS gH'\؇tU}]+L\N +oN[S,v3>ձ~3wK_ؙEN7l_]Hȃ J{_mlZHnBkW/kj`Ҋ6m1I0AQr?ZUU_\x%>;i~\ؿ ֶok2^yLJ+PJojoj[#\+h@ UCSvدНAj` [Ll榒sJ9bK8GM0  ǛubW)_uW}=Jx.ǵd7We g4v]}XfUqz%^%E_kS}j WvPUyd pX߶y jMjy{u:%m5[#Z>֦֯tU} ]/]{u0?6~);i~\ؿ ubWkU}uRmam2g=;HALg548gDN>J9bS8GM0,,3bqzvkWw_KLu~+q]T^'( .D4!ڱ+P]s /U2z)R"+`:]_+|o~ֶ nؿԍ ɜji!0ig548gDN>J9b[8GM0$0kd{L&h3[NM:ohU\2N.4;a{N9Î{L97B|lC6o-ёBAp <8ѨpLr8>A`|DP?x #uL5{SI7#9F#0  zr^En.v'_/kioFGsA8DFNjQ{S^%7l]bi=ёB`b3Q:Gf|NjTSuJnػL5{SI7#9 ftDX`շl_Ħ틴^[LM'4z2@>X>';./usr/share/man/info/en_US/xlf/html/UG26.HTMp/$ Running Two Levels of XL Fortran XL Fortran for AIX V8.1.1

            User's Guide


            Running Two Levels of XL Fortran

            It is possible for two different levels of the XL Fortran compiler to exist on one system. This allows you to invoke one level by default and to invoke the other one whenever you explicitly choose to.

            To do this, consult the Memo to Users for details.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] u k$Ynf>@>X>';Y./usr/share/man/info/en_US/xlf/html/UG27.HTMp/$ Chapter 4. Editing, Compiling, Linking, and Running XL Fortran Programs XL Fortran for AIX V8.1.1

            User's Guide


            Chapter 4. Editing, Compiling, Linking, and Running XL Fortran Programs

            Partial Table-of-Contents

          • Editing XL Fortran Source Files
          • Compiling XL Fortran Programs
          • Compiling XL Fortran Version 2 Programs
          • Compiling Fortran 90 or Fortran 95 Programs
          • Compiling XL Fortran SMP Programs
          • Levels of  POSIX pthreads API Support
          • Creating Other Compilation Commands
          • Compilation Order for Fortran Programs
          • Canceling a Compilation
          • XL Fortran Input Files
          • XL Fortran Output Files
          • Scope and Precedence of Option Settings
          • Specifying Options on the Command Line
          • Specifying Options in the Source File
          • Passing Command-Line Options to the "ld" or "as" Commands
          • Tracking Use of the Compiler
          • Compiling for POWER4, POWER3, POWER2, or PowerPC Systems
          • Passing Fortran Files through the C Preprocessor
          • cpp Directives for XL Fortran Programs
          • Passing Options to the C Preprocessor
          • Avoiding Preprocessing Problems
          • Linking XL Fortran Programs
          • Compiling and Linking in Separate Steps
          • Linking 32-Bit SMP Object Files Using the ld Command
          • Linking 64-Bit SMP Object Files Using the ld Command
          • Linking 32-Bit Non-SMP Object Files Using the ld Command
          • Linking 64-Bit Non-SMP Object Files Using the ld Command
          • Passing Options to the ld Command
          • Checking for Interface Errors at Link Time
          • Linking New Objects with Existing Ones
          • Relinking an Existing Executable File
          • Dynamic and Static Linking
          • Avoiding Naming Conflicts during Linking
          • Running XL Fortran Programs
          • Canceling Execution
          • Running Previously Compiled Programs
          • Compiling and Executing on Different Systems
          • POSIX Pthreads Binary Compatibility
          • Run-Time Libraries and Include Directories for POSIX Pthreads Support
          • Selecting the Language for Run-Time Messages
          • Setting Run-Time Options
          • The XLFRTEOPTS Environment Variable
          • The XLSMPOPTS Environment Variable
          • OpenMP Environment Variables
          • OMP_DYNAMIC Environment Variable
          • OMP_NESTED Environment Variable
          • OMP_NUM_THREADS Environment Variable
          • OMP_SCHEDULE Environment Variable
          • Other Environment Variables That Affect Run-Time Behavior
          • XL Fortran Run-Time Exceptions
          • Most Fortran program development consists of a repeating cycle of editing, compiling and linking (which is by default a single step), and running. If you encounter problems at some part of this cycle, you may need to refer to the chapters that follow this one for help with optimizing, debugging, and so on.

            Prerequisite Information:

            1. Before you can use the compiler, all the required AIX settings (for example, certain environment variables and storage limits) must be correct for your user ID; for details, see Correct Settings for Environment Variables.
            2. Before using the compiler for a specialized purpose, such as porting or performance tuning, look at the categories of options in Summary of the XL Fortran Compiler Options to see if XL Fortran already provides a solution.
            3. To learn more about writing Fortran programs, refer to the XL Fortran for AIX Language Reference.

            Note that you can substitute references to libxlf90_r.a in this chapter with references to libxlf90.a. This is because a link is provided from the libxlf90.a library to the libxlf90_r.a library. You do not need to manually link with separate libraries depending on whether you are creating a threaded or a non-threaded application. XL Fortran determines at run time whether your application is threaded.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] HREF=" k,$ nf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG28.HTMp/$ Editing XL Fortran Source Files XL Fortran for AIX V8.1.1

            User's Guide


            Editing XL Fortran Source Files

            To create Fortran source programs, you can use any of the available text editors, such as vi or emacs. Source programs must have a suffix of .f unless the fsuffix attribute in the configuration file specifies a different suffix or the -qsuffix compiler option is used. You can also use a suffix of .F if the program contains cpp directives that must be processed before compilation begins.

            For the Fortran source program to be a valid program, it must conform to the language definition that is specified in the XL Fortran for AIX Language Reference.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] REF= l$.nf>@>X>';./usr/share/man/info/en_US/xlf/html/UG29.HTMp/$   e<>Tailnorst "-/=ADGNORScdfhmpu,.EFHILMPbgy01379BCX_wx#24568:UVWkqv%()+z|!'*Yj$;@ &?Q\K{}][xE@bC8!qDi#x!13 [Du)ۓWSٷ'MzJ|{6׳nN:m%;WfەX-FE:1$hO0>&īgQ8N'e']_ M 2ȡF$@`i:ΰgQ8N'pރ` Lo"2(qщ#F<yЌHqO0m+PP,,( 2ȡF$@`ihqO1idW 9~ pXXP, d z|sO3:' a"&r/k`ԪSX-v/Ȟ-Gs_Y/8&@ pL K\KfɸZh/nTBW&l5_ܨ-- @d yÆ  :f^Ե0 CyWkph(XPͫ<Z]_q\u|ۯfܝ7m|U/vft 5t*Z*PUQ4ٝ7Ǥk}}_=p\ǤWι~Dإؾ>_3]JZ޴UQ4'FDn󖊪&wTM( ё<墪]EUJtd4$F9hi@WzUDҀ cZ*P[֊&h F9hi@WXZ*P!<墪nUco[L3fܵvi2w޴UQ4#qvyEUJŽ|uUNu`{3Yo%RJ|ȝ7ەn>Z:l;WfەXR+gznA|+JDaFD c!0 CyWF3x}nUc9<<9X@g*`[ |GtI3 0lLI3R1Pz'88z1yA!Fl;T|GtI3 0lLI3R1Pz'1=<Z!eڥ莃;@zIabg@zI`rL<ш  {SxjgjʓRtGA =$03P =$09HB&q`zppb8C BuWෝyV-G@zIabg@zIdT$g1F*@(G`P`dUQ4'FCB^rUDҁo:(G@zIabg@zIdT$g1F*@ gF#0,,2;Nu-E>(I3 0lLI3̊ V<ш  _7xhIo:(G@zIabg@zIdT$g1F*@gF#0(021:2.E`z6&pjEBFqDb`zqAEUJtd4$F9hi@` =$03P =$2*3#X 3ǘ':z6&pjEBFqDb`zqB-_d$o*Б^mԧ\g[k2vXxs-_d:z6&pjEBFqDb`zppb8C!I!"7"tQΊ|Uo=L 85L"#8"1U0=BFppb8C :2#pǜUQ4[Ί0|Qg@`ؙg  Ayш  KyF=L 85L"#8"1U0=Bfppb8C!cgx_7xhHxg$;j&1$<` =$03P =$2*3#X 3ǘ L tU |Qg@`ؙg  Ay 3ǘTM( ѐCZ*P-E>(I3 0lLI3̊ V<q@qsΥ&y &yPpǘ88z1ya`!k z6&pjEBFqDb`zppb8C!I!"[Ί0yV-G@zIabg@zIdT$g1F*@(G`P`dUQ4'FCA7yEUJ&y &yPpǘ1=<.q9Է` =$03P =$2*3#X gF#0,,2j&1&wyW{9gRqogQa̵}[Ί0|Qg@`ؙg  Ayш  &LN\yF:*V(I3 0lLI3̊ V<ш  ֊&h F9hi@` =$03P =$2*3#X 3ǘ':z6&pjEBFqDb`zqB-_d$o*@xg$;j&1$<` =$03P =$2*3#X 3ǘ L tU |Qg@`ؙg  Ay 3ǘTM( їUQ4[Ί0|Qg@`ؙg  Ayш  KyF=L 85L"#8"1U0=Bfppb8C 5Eb tQ@< @<ȨH8bUcPG`P`d)2btd4$\yF:*V(I3 0lLI3̊ V<ш  ֊&ȍrUDҁo:(G@zIabg@zIdT$g1F*@ gF#0,,2;Nu-E>(I3 0lLI3̊ V<ш  ZɌITV* YJ|uƳ'iIEw2LcHyo:(G@zIabg@zIdT$g1F*@gF#0(021:2#qr-E<X =$03P =$2*3#X gF#0(02Z*P"7 yEUJ&y &yPpǘ1=<.q9Է` =$03P =$2*3#X gF#0,,2j&1&wQX|00WFg<3Qa̵}[Ί0|Qg@`ؙg  Ayш  &LN\yF:*V(I3 0lLI3̊ V<ш  ֊& yEUJZ*Pf`cZ*P-E>(I3 0lLI3̊ V<q@qsΥ&y &yPpǘ88z1ya`!U`ao:(G@zIabg@zIdT$g1F*@gF#0(021:2.E`q-Ρ/,ٶV1ڐG~ZͩK N8B߇5yWZ*P4!yEUJ{6s3E|RJev !"I{6vǵ|͛frW),[ > >kzmoإfn>ZI<墪]EUJÈ-TM( Z*PD墪EhiAb$ -TM( EUJO9hiC;G~o26[ >8BF`D oC=8$< [@@kr͍[2wTM(RdhH-TM( O3Kͻ֊&)2btd4$G"󖊪&'y\oZ*PɉѐБZ*PǗîmdTM(RdhHE-TM( k{3TM( ёkQ-TM(yr[|u۽hiB&'FCBDn.O9hiCٹfkʔ+ĚwkKzUDҀ Z*P޴UQ4'FCBDn󖊪&wTM( ѐ@rUDҀ:2cZ*P[֊&ȍrUDҀ*޴UQ4'FDn󖊪&:mU - L ȹ<墪,֊& yEUJxck*|۽hi@N墪uԧR[׵YGo,-{Rǭ׮3fk0JW:Գ]>m׵s:N>Zo^ͷ*ͮZmfdIZ'Z{kKzUDҀyEUJ֊&ȍrUDҀ:2#pǜUQ4+ʬwTM(2󖊪&~|=vR%X=hiA_!9hiCfەXhi@NrUDҀ:2Z*PV zUDҀ 1-TM(urr)y7ͮn޽-_|yW>3*+ԫط[޴UQ4'F^rUDҀ:2#wUQ4+hi@N1-TM( .UchiAǜUQ4s* 9*EUJ yEUJ{6ܪTM( ѐЗUQ4+hi@N-TM( -EUJtd4$F9hi@WzUDҀ <墪]EUJtd4#wUQ4+ʬwTM( ѐ@rUD҇;{{6ܪ;6^͹:Nmm~;umvrw3EUJ󖊪&=Q|yvmvy_K&QЯbl܉nLOfەXǕXk}߯fەXǜfnYǕ1ngoDkn}Z*P!/9hi@WzUDҀ Z*P\zUDҀ cZ*PٶV1V>Zߍϳ=EUJtd4󖊪&:2Z*PV;֊&h F9hiCfەX}^ͷcgJy]|mʼ4ٵۖqٵ̻35Ў߹lbdy(k2vTM( ѐЗUQ4+hi@N-TM( EUJtd4$F9hi@r[ڬ۔ m|U?XЦ,+*[̝E|EUJtd4󖊪&wTM( ѐ@rUDҀ*޴UQ4'FCA7 yEUJ{6ܪ b޶^fofܦhW-ok |fUbW`_+g}wXJrW]{6JykJlRMbKÒ%RRJy0;VTٷ'Mʬ9*zJ5/;JägjIQ4![1;Gy phCDY7Ѓ4}lܙެb( +l I6o8 [A b¾_jRSOwjnf9ڸ_}ݭgR-or)y6().nUcmΒ;ZͩK N|Td4M_<@b1BQX6`ܩ.JhxhN2Jo%fN?Υ1}vk6^-o'^͓eھ̖ݛ]U}H<YW|ò rlllZJ7oڴ+ĚAXֳ{[gjȝ;} };;_fܤUμ#+6f;W_蜛r+ڴ+;^B'ɽyEUJI~oYSdA_ז<^ͷjtk:Mإدm:˕XV>Zb`Wfty߇5yWZ*P"7yEUJ֊&ȍrUDҀ޴UQ4'FCBDn󖊪&wTM( ѐБ<墪]EUJtd4#wUQ4+EUJtd4#pǜUQ4ZmUewgԧJ3~&'׳mʬcʖ-|rKrW),-o^͹:mmإfo["K;GqV FY*Si0"Y+q*bjdzUDҁ 6Z*PԼzl^U 9͒-ozUDҁ 6Z*Ps3|׵@;_3x׵t3~&'Pgjrmy[;6JTM(n<墪_-il^aǝ~ZI=Úٞ_hiC I=Z*PwΥ_3eP"^{Uv^y(ZNVܷ/bxS_g-o hPhh'2kz79uݙ/d+p/auۓU?^/&[‚BBŅ ̪Įsv}; ~Z:2#wUQ4+hi@N-TM( oZ*P!墪nU`_knSErwghÚ* 弒 'FCA7d[%Jo8P_-:2g"-Td y( 䯞[?-_dî9kW[޴UQ4'FDn󖊪&:2#pǜUQ4+ʬwTM( ѐ@rUD҇^ͷ**{XJʠD_hi@N]9hiCj2Yٝ7{foKî9k-ozUDҀZ*P޴UQ4'FCBDn󖊪&yU:2Z*PٶV0\[׵rbu)To% DaEU"8<#8F Zy[;׳nNħZ:mU۸jA.oq0~TM(9{hKZ*P֛sBl^,oZ*Pd4󖊪&:mU_-ocYì1?:3yyE!JwTM( e-TM(yUc^rUD҇fty_~,fܝ%ڢZ޽rtۓ}Λ:co6JWٶV=']dz瞼[g:6g|YۯEfܝ6هWyWkM}1oDٝ4W>NxO-y|:3ghi@XלUQ4}K>Z(oZ*P]rUD҇'Sfܝ5|GX-׵s)}kڐG{e?ٲ޴UQ4-UQ4/HAIgXͮܳ;T0[w9QO0 9C2N8_7xqFZ_\by@Yo9`![B-ozUD҃8uf&󖊪&fe;W5!**0i  QȪ0h hCfvBVm5|v&;}~e-"JF0xt&|〢,L-A#=`)޴UQ4.9hiC:n<>g;fܝ6fܝ7-oŝٝ7Z*P9hiCfەX7X~ZvJwTM( Z*PΛ^U+޴UQ4.9hiC:n>Zy[:^_,ysٝ7śf~ZvyEUJU`TM( Z*PΛ:هWϕX+~'y\bwkp,kkܽu}ǗROWw2'Mw.;oD`+u>3Ao8:9{4(U  Ec j!:R9yU8F Zj2YΚ󐇕Xk{4E(UX4i4!Yfb}G3;U!^rwi˱6Ys,LYo9`Pz1à1߭gn〢,L-A#=afܝ6V1RjfzzUDҀ<墪[kd,zUD҄󖊪&a~-o1ܸz'ٟb`Wft|,_K?6k}'P~>?m[!<: %c6rP[F0z(-ozUD҆0,M-TM(yg77sS]mkkԯ{|6gvSuΥ:k,'gs|kuk}ˎ:hMۯf7{6^Z߆}cؘ%Bu^yw.;oD`+u>3Ao8:9{4E(UV$ uW3Ao8:9{4E(U yь:fvB4E(U"(Tn1;WyU8F 3xloerl(R 󐀲r("BF`DAA!އM#0z"A o9`Pz1àJftތ.6t0-hi@Ѓ2󖊪&=^ë=ݩ{ܽ7ά3{6wRٝ7w{ٝ7MrXk~,N9~Zv;ʋz1àY8k,颾7{4E(UPn󐀲r("BQAƶN~Λ_x5`鵓z+x-A#=`=V9͒-ozUDҁ<墪rt9ڢg{0O*z:oft_-o!׳nN~ë< 2>XƶNrgngMd_jfzzUDҀ^rUD҇ŝٝ4_*[̝E|XƶN;u:n;R[&:o<֗;u:n<Ǔl_bwkz$ cA]qfnY yyE-އ H,,tHG"p2s3^rqʌyĂE(U >u)qo*WKɼ< /ͮܳ;WھY7:kK1}Κ+w9QO0X$XEU 9گ9 -"r$ [E<`ٷ'M!ZߛɉvZ9͒NnU`N]\ S^k}oa*cI ٵ)a)ԧnuwe* 弒! sWΚ-q%F@yWٜzY۴ܦi"Ú+ֶ\3aRA|Td?!jkq] sW{3g;0o8 [@[}Y&ڸychi@ <墪\Iמ<'RgjU[g{\I4Z*PPZ?-of)};; O3eO+u~3yԦ Ju6_Yۯ]_-ozUDҀU@,󖊪&:mo؝|#*fWϝ|Wj:EPw*RKeokI{_δwfڿ-oěI|R޴UQ4PuMMvZg[6W=:ojXԫ]ٷ'Ifvvȯ9ڿΥ<8Ne_~Z]vϞ ^͹:ko26{Ws5y=c+TM("=Q 󖊪&=R}YݮgOXgΛ[_\ΝEUJ Fx4cZ*Pn^1y(EZ*PRJ1erUD҇^͹:mw3ò 8kZ[33g[ٟ.rtgjkXy(Ekݯo*|*FvwOW<+\֖ͯ a-TM(urUcʥ}߯fەX^TvNrtgjq:-kMvg;hi@sZ*Ps3E'j2Yٝ7hi@ ёkQ-TM( ^n,z3(ڽE gz]f䯙%ʠDbJXK^l~nU`Ngjܞ%k-^Δk-o1uJmrmh6y[;U}']ǝ~Z:2yEUJ@{2[֊&ܮp%rUDҀ/JŜ?$aы91 yĕJxû׳mʬo$~'FCA& 4Oqܽu}YԦ㻍rQll*22gM`ëDzΥ0/:1m[3ۓW[qo*rt^O}&ەdS[瀤{W7)wq:x Bkq," 0%,w/PU[ܐXRX^ëYo%qoɆY7m~y.k}]lٞ=mĚXMcڹٞ'nK:{6K]fN>Kȝ5^Ucʔ#!V>Zj Q"D`Z/8.KfܕJΥ86^ v ,:Չԧ~Z%"@kw|y_{o2nX^]k[1Iො`QkXRےN+w?-i^Žm};;[=KřȔmc|uvmY۳k*[&<׵WvDpp,3|u^O{YK;Z޽rt5ͫN떯[Z璥{fƱɕkg~6z"yȣHAIgXͮܳ;T0[w9QO0X$XEP"d Q󐀯<|F@ԧ #vmIٱ8<|F@WXk{dJr<Iٱ8<|F@Yo9`!J@I@79Jw/f_q׳Sڴ*\;W{6ݫo*SZ0oZ*P4!k9hi@WXkkEUJkZ*Põy;k{̝p[6zUDҁ ]vrUD҇1o&Y5;LkTM(˵לUQ4V zUDҁZ󖊪&|EUJ%uyEUJfv=ʔjYucX[@{?-o^͹:N;r]|L[n|SίozUDҁ ]vZ*PS<͛fBίsԧfkzmu([r]En:k,S^͹:m_gR7{4E(UAP@Є]G3;U!*L[hi@9hiCʬwTM(!-TM(wjCT`$ :$@T8zJT9گ9 -=V߹{Ǖιڱvmz۶3BJW.W]W˷ lnExy0ǵw_}kqfv>m֖;yfvftߋ|,y=^[d3ٵB׳nN\ -pz4<ȪHr`1 0`"%@@ԧk:n>Z([+뗲Z9mܖ1ٝ7-^Δk뗲Z倯Z*P]rUDҀ /hiAwyEUJyWΫ7>{7;lΛǵ{ۛ5y=cj<L^by*rtgj ו|w6fOI3˹Sz&䫉ڦy(m|UʽozUD҂8󖊪&>mܾ{/ǗftOYfܝ'R"y[;}-Sڻ[fԧrq-TM(y*SX_~Zl_\b[B6ʔZ*P]rUD҇fJWΚ+Λ,Oْ޴UQ4,kZ*Pdz߇5yWZ*P5UQ4gj%-EUJƼ墪3MUQ4,kZ*Prsm_:nޱ9g{3TM( yEUJ6o^p5`l墪\Is[^rtwo[g^lk{֊& a-TM({9ڢZ\',ftY7xn1;4&&&&&&+\IPVo8ǕKjUu+|x5abwy>Z޽qZ[֊&"D#yEUJjV^r'M6y[;ڐG}m5y=c˄eGwk$^rUDҀۏ9hi@_w*H#-osoXy2^lJ|EUJ󖊪&:mogj'ZۉO+Λnu|{< )W?6_\cʬv-l)W?6^:b`WϵD齙p+^lk{֊& V&|墪g3;TS[@׈m|Uq޴UQ4<墪ͯٝ4W[ܾ{/ůħJ}ny-EUJZN󖊪&;wqVSsW%~Z8F xec+޴UQ4<墪kTZo*Yۯf7_O-ys׳Գ޽Y~-ornEK^N}']dz={16θXcim}֖-']yEUJW;ZI}]l-Km׵Xgjʔ*\czcE:JmP|sW-_d s6(>u`P )^Mv<_)AaLM'jL Bb(>eιқp:x(Zη2egHbdI:Soۂ%7"5u}, blmT%И` "Ka#,NbY1|vmM`fו(Zb9@nY7?530`:gbͯ*P@si:`,p@Yp`P0 X;6c;regHbdIm؎ZɌ1`]4V&` ۟c;rٷ?V;M|j%ܕJm;̝@W/00YBb R-_dbٷ;/bg ZɌJy,Un`1Ն,X;6ڱر` ۟jrW)/ڰ[$P[w9QO2T=DP# j >by*p6,yBu/-ox5`BU(oMokZdhiAwyEUJ֊&q:3yEUJzUD҂9g3;W9hi@Yo%֊&墪|?}r_q_O-|EUJ-TM(yU޴UQ4h9-TM({9ڸ[!<: %c6rP[F0z(m8F 8yC=qʌyĂbDr*M+EbdՍyCrއM#0:QR)A!prh<"B@ l$sinf>@>X>';G./usr/share/man/info/en_US/xlf/html/UG30.HTMp/$  eot<>ailnrs /GNORSTcdfhmpu",-.0=ADEILPbgwxy1:CFHMUX_k#23456789BjqvVY!();W%\*KQ|}'[]z{&p R)B<1@|p0 $Y"YP P4q(M "PDV8 tr|rH IXSo \ŋ(h"Y䁁+(R bk||m}.@}3:6t%^RL_,[p/'}lV^ivD^/bk|:+RS,tK*ʙ,[p/^Si 0 Σ}\e0~+ Lqa5rjf6MD@g"'_  7X(F0ث H\Q HA$J '$D,p)B^N3p(X2; )* wW^X̷/n ㇽ^k$P %8{p#  ĽyDpD@p@5HHx@( =@xiIB^ㇼzۭbQ$P=Y&H{0s3L4jZdW_%,/Yr<Hq2O!yZ\/5E.rj$(k&I&I37&Z}k^ }v̷k#=/ًUY_Y( )9EFrK8nXz)nF{Q\7OKrښ^2+}KZ* ㉒{zmZ\/|kcW^^:/5E%rj$qa5y'‘ (<)GdIxrj$Wrj$YV ` hѣFQ$P=rj$YV04hѣFIx\q2Oq2Orj$\Iw"m|Lb#uNeu?_Wf[33R1̷* w]zQʙ^Si Xa8''* w_!\3/vS[ky'‘ (<)GdIzѢ95Exv~ _<1xk&I&IMD@4hcMD@ajACyxWL^2xX\"ӎMD@kck&I&IMD@V4B1&H{O0 !+ڦ/ZܼuYMD@hMD@kck&I&I1^:/aMmeurj$C95E0Lpq7㉒{xV2etަkϔJW}|f[\O"PxR5=ɨ(r1%(DZI9DS$)pZ Om5 (&H{ėMD@MD@.Q$P=⻓Q$P=bUe"ܚ"&D(Q$P=rj$\MD@MD@95E+k{t 8q2Orj$\)pZ95E"NQ\4 0 X@,MhQcjMe45$$&H{ɭb 25&H{)a{[3ܚ"&\MD@SE2A浬Ry A}Vk)a8'o5$$9[zjs=ɨ(r1*ӎMD@~2eIxuYi&H{㉒{y%o[&H{ŃdQ$P=zjs>1JbKvpC(  &%oqb赱ɸk&I&Iqoܚ"ierj$]>5ɊjՊMrj$\K"k&I&Iqoܚ"c4p>ܣMD@Wzjs&5E.F%kMD@5$MdドLpq7F|y ]+ MnK1tZn[" ֱK,Ё@`]օ/}-ڦRrj$;u"7{k}υvk>}v'_b4 0 X@,MhQnQ\P tr| 0 +/o(GMD@%Z)pZ Q$P=Q+HPȮc2޸ckc(S}b)ax̷WfX'|ʰʴHF4h,DF 4hѣy҉Sۮ.F$,h /Ī\\&x*!N.JrkXjy3]5HqG@`]օo]HWj^:!H/FrK8bS R K7_/ +3q0 yxXI|Ub 24drj$kI|TėkXWj295E#uU0 X:dڶYM|ʙ&H{k-Qqɨ(((dg f R^+8bS R a)Zɨ(L\rj$^۟/ +AV9>|7%u\f̱1)>}|f[ qDKqeX qeZP$iF4oU#L4hѼDFPfvLFar1%(DZr1%cD)ėbUe.LS<\%MZ. TA\eo&\;u+V18D^k=F/^%69>e}bDB <h 0A‚&H{νT\bqɨ(=5b}k^ |Vn[3|kc 3̷jVjQ69>^:/5E,Q$P=s8Vb 0/] /oFn qGw $$±a5ҵ5mPOZEL_>5a(^G a   $8 $`b2`P$ Kb1n Gza:%Aë-±a5p+p#  ĽyDpD@^ㇼ "8I"@@5HHx@(=@xiI^ㇼzۭbQ$P=Y&H{0s30ޘiN0 ȮJX_[4qZBy'‘ (<)GdC<}Zb_rj$]I^P,0LLgoULbּ)nF{_{M^2@#QS\r<qotSc2ݬnV4e.VsjU5$$ڵb__%,/'_ ׌u_rj$K8Iy,k\O"PxR5=ɨ(eX 8IxIx(4@ѣF5&H{Ix `4hѣFqɨ(]ɨ(eAg"k&I&I1 m]WoW'3]}v3kCJ Q渙'5Eޭ4h 3rj$S R b¾yb0LLܚ"eZh@f8I_)ڦ7{T+[5ɨ(m8Iƶ91ddIyeiDaQ$P=|jZg^Sn^:,&H{ŴY&H{5Ɍ5$MddN3}bvW_&H{n:Q*Q$P= q=<+j2xMoS5g%i FkCJ Q渙'5E.F$,kMD@MD@Urj$Wrj$\qɨ(]ɨ(rU&H{xMc\"&\MD@!(ӀC8ϝɨ(r1*ӎMD@f_/cܚ"-8Iƶ90 0LL/}/5E,+'"&+իV+oٍea1(&QGՖ3r5gdf[ +-FPxX\"qɨ(lrbo 1vF{_Z7%,Fb7AӻPǒX0ZKら(E|Z"&n/n0{p#HA<1"!c P4QL Df#0dwiNPm.2e~KpeMg=80 \?<4$/qk$P$h5HHx@(%8{p#  yDpD@(5vXI|qɨ(2&|b )6޼eusƙ6nz+f3\O"PxR5e}ɨ(U8ėrj$5b}k^ MJkyFb7Olruz-JQ69>^:,&H{ŀrj$[g~~A]q+/oF6Qa(}D"V2&zV歸J_)ֺHɛb1ƶ9:5+?<4!0CF((@^Rf['_[c,k8qW$3ݭ<1^:rj$K8Iƶ9:bKB_&h^Si x7-}XOjɵ['_q+WfXFvqDbKYV!- q`׌bIpX )}b<5HqGq+j׷:ZZq'Q^+morj$X9&H{5WɛMD@g",k 5+?<4!8CF((@^Ū#9)x+|)qR,ێyDpD@05I~gjՊ~}ɨ(`1"Q$P=\eLW/3v`gnnf#6޼euf[ U̷j/{t^ ~S4Qc K eou5utR6+uۂ7hf3-:U3W)KW}.j0y%~Qf[L++g \6{/nX7أZ1ڰn~M]on 7_HFQnֺU\ecJ&H{Ń ێMD@kc}XO[&H{ŕ ێMD@Fb7CqOuX_]V'$,ŕ J2X@f" SD'ogTAaak( =ǥrܔ3 L%( Ĉx01@aA/=97=⻇Ĉx01@aa97=&pC( DKŃ EMx\qq {p#H4y2HO HX!ǁ# S /'e_Tjyxc2\p+qG$3 Ixqɨ(]>ڻ׌X8Wj2x~IFJ'~O6g~Q-^: Wzg5\ex< m!>]+ l6߹䥅2yQF,a|/)VnI|Tė"ƹ5E(1%cD(295E+oz>Ik 3&H{$8I/c)vYXa)W—څkk}ϬY3k?_fJW.Uc/ܶ3-ڦ}b_>gXxZa{C6p1DP(DpCqG'e J*dgիV+|/)Q$P=S\drj$D!C>B_f#Ю-{ *gjɵ2Xlrf5E.F$MD@5dExH ״&H{ėqɨ( bw[tŚ2et,kz!X((gƾQKn m]5x3̷{[߬_GtV b5̱;va)moA+\Q&I3\1[Pmx+7XKṟS R O7z~||r^Si Xagf7-vy|yoن]}[uX_3fXF/bfZ3"8HqP$4h v3-nbԋ7kc6*(RF~}ɨ(k95E{` sZbq+}xX $8( `b0  DX8ėz-lrn8{t #^2Vo+~㪱k}ϬY%[b<7Rk=<|1eu7QX|/) tr| lr$P/c]~ q2ekr>|< m!>]+yX>nSt$Px\Q&I.7Մ@YX WkZn^:'HOLHF O,/tbڻ3 BV!2ֱ><.O 5d}XNyQrj$qɨ(eu7mXMD@495El&.O IF`~/I{K.Q$P=xo3ip[ܚ"ierj$kp|/).OF|b% ^A\7Մ1A+!mXMD@4G"< m!>]+NK1t4uA+!7եmn^:rj$4G"IF`~.hy>Bc qȓy(^G -tDĈx01@E0(@ Qf[|c2܉UY_ { x2Ճu_f#tU[kkŪ]|+6\7Մ1 f#]{1j++WX6Tj^2.7Մ(0.Q{eu7_j7Ymnc2X\"Pqɨ(lrc qG_߇jZgko> ztVk|`#f%b-u_[WQ\7<;VXR23؀>-FW ׌#1s8Vmk1j++Vl+wm7xv.}\e3- '$,0c' fPb2 %!Ie/̰3SWna _Ub1~gc#B{C#e2!LF.o7|xuV.c>aY[>3耄Pl1o$,睗fr|F:1a:&k('co_l|_]~Wj2 bm\bZͫu7X2eb͊F> A"&f =ǡa.8AG_-_1̷z;JZ#"w ][{t^ ٷJe+5kN01t+X䷞ou3 _ ]#sVyFb1ay(^G `pѠ`XO HX!ǁ# S / fpf*Mnb'ep+p#  ĽyDpD@@5HHx@( =@xiIAB^ㇼxy>B~3ӵL-H3_7>b5teLmWv7^Scfpf*Mo]_(F3,pq7d@Uc2ݛo/__)߳t%gu+ -kr\}ajAJs;>g-FWڦ7XubVn~BJ—383a)moinajATZ׃rќy31V(FS R oוֽhGը+~[^5Kl 9K'wڦ3)kyD!HFAFe1̰YyX9&gիV0j<fXrk*yxQ+HPϦ7gQ3ف|<> ]XJF|1-H3_ltTԃ5~fX-oLoc;_fu>xJX_mԂ3mX-o()/cKf#qG-X7[k3(F3-__Z׃r\7vx,v98K[M'&0LLlUc2ݛo/__))zc{znT3ӵL-H2i[WM/ًUY_^2z{ Fb6jZfXOo55c{4< m!?()Σg=Fy[ݺ}bFb6S R Yo RZB}1)Մل Hc{Fu=lsq7ڥ9:Ϫec2pfu7 m]3ڦ_xO~?"urk*yx%i 3 0ԡ3"8H 0AFƁx?"f[c2+&׬#2ܜf#qFu>v`g7}\elٲ}X]!oS5gkz7?[?'֊.{`fWHlf[vqGVQ$P=ʸIf#t'_q+Wf[3jm6*R3 m]WPk$E?Vu, JS5VFY _Xby(]sիV+5ɨ(e\rj$(&H{8I{QG5Esu҉S\0ӎMD@]3Rva)c2ܼu_rj$ėMD@MD@Ix\"1%cD(Q$P=⻓Q$P=$,h.95E+5EbKqɨ(_)ܚ"1%`q \rj$qa5s\Qq _nn>fuDW3[Jի̚Ix95E{Q$P=rj$(\"9DЎ 8Ix\Q渣bQ$P=θQ$P=R__J3ڦ+k7K!7N0 ɴ5n3@ Wzqחrj$ei&H{Zb__v3bnٱesڦ#9(' > sq^j#(Gfxy>Bf%i Fث H*+>-{[]=Lm():FA~ Fb5XO6ZB\Q"/cqmAb^Si D!C!&N/*߄GL*0 EzMD@frj$kIzn8Ix\qq LLb<7N0 zgb%#"v"5x7-a3>pf3,j5v'#> 5#?saV(FS R a8''EX83uJk|* w]~OY> 7XC}XjsVׯWFpeXـ83urj$Q*bKƌMD@j5o>mEXm&nڻ׌WVW3ܚ"#\5&H{w}\eMo(㉒{&\QqyXIxuqɨ(lrbowoj)ax̷HvjNs[^QWkX~mp2\|g^Si MoS5g%i Fpq>iAJ<$oղ35v9>I{0rj$W+j'HLխx?sdgɨ(aISynajAddC<{uO̸O奅a/83u7џ/cf5W)c9)M^Si D!H}.@}J^pfn lgXMD@95E0LLgonnXR~f+n3|/)V7'>Q+HR7QL^b*nX/s[io XI|qɨ(2&LϔJ _f#kxskTԃ>[EXoZozO83uqVիc|%\o|7CZk&I&Iqvzպl#>L,[T|V1q"'S`R3>}\e+,TGkzUajA83u7np1' 5$\gLE'ɒ=A!y""L O(8Hh xy0e)kp'Ѓ6kP1P3&H "RA TQ<B&9" ^b?)lTԃ=3|T'<[5(Or<(C&H "RA*"PO "<$)ax$A@@@KVX9Br8d@p((E!<L%#I1B&9" _fkPr=$\<#$( HO$zA<0RLpI  A/&9Br8d@p((E!<L%#I1B&9" _Bk Oq"\q2Oqk<}XRn^ys[[+Loc;uۚyxޚe~ p7|7N0 I_MyE]xy;/%i F+ڦr[[ɖc7c{߄Sm[𙞮2eb,yFb",ߺS)Q/֊.{J'_zc{Un3/ߔJ3 m]5xrՅ-v;u_VWtrX8/ ΛVW35xxXR}ұW׍+xOY@>X>';_./usr/share/man/info/en_US/xlf/html/UG31.HTMp/$    et<>Tahilnors /ADGNORScdfmpu",-.=EILPbgvy19BCFHMX_wx023UVk()45678:Yq|#';Wz!%&*+j{}[]QZ\$KhS#cHr ¸f}JeSx.ki)JD-Ŵ஫,NJCeZz۫+:ݛg_m%7-Ŵo4=5#3Wd'">V۱jw+}m]xQ[ @n_ZboIwSzH{a&@‹Zԫ3WE$Sa9#39-ZUuEFqxzA|VNJij/ꢌW+VzQϱŪN_+)%ʄ;A|ʑmM"f&@ -\՞)<;;A~HnZT'9؆ Jyo 8;SR@oZS ք>+ e|֟cJ(s0am"z$3 X< 4H,H01pT(NT'Fk``)Ŵ_vnQ_fiIPb'h.+l;SzH{`boIw^!O> b'h/*}ul'jEFp]s7bm17Uׅ_l+vf -\!E2~Ғ>ŪN\Wb{v@mM17pcj>:նY i4044p!rX$O HpX PdžR/Px 䙥%B|WUv%xS'{c- Y,[)kUr_֜B2R?cx[ R) i[>0)RR_9P-RvUv%ë%e7ܭV(ʴ՞)*}%!9JWsjE}XVfh/du zH{(joItHFw]i$P=r%hZYq7r$#5A&@y_֓+阮+b'h/ P!m(X3-yVHMJy9PPgjoItHFk0(4ޒ( *[SzH{"B3Y*2 17IW[sjR)B[9ڛE,;UIM&@zqrf 19) i qE%mM"EuFA&@ Ųko HpX $8'%ʄI|7ʙ~mÈpm 4]֭usa)֞r%hXW+RYqoZAy) ̯ {;A7[[ٕ9Èpm 9-,c- #3=q~7K<79o dm׭o)OΥWbSʴ+}. =%!9b'h/B-V2*+sՌ6T&.os™> f+}{|QiV_|OԪJpVoq4繡.K' |l6U\{qO3ౢAgCH08V^JxQ^d!*eBm0 -sa[H4ށ +q<1!cDCHAX%QLxw#A[R+ªZaiz$yX%0z$yX@ Ka-\!m)ԪJyo +9,WjJ^Wb"RrZD%B~\ AŴu;d:[x"?V`\Y,8 Чe*Ӂ=mkʴ8HpQejRNW9Zor_{7ChS2וilYø3-yV  ӕ6#3%V۱j[L = =Ȓ|SzҞzFE3D HXR )NZTg+Vzn*\)HMJyo )9,Wa0We),>9ւ GjRV*3kپ}7Ԑ֔R2)r%hXĽs^TܲSW^W֜Ń2וiq3)p}ŸT=x :[L".jVL~ 2M".T=FA&@rXmyPӚ<;2וiqd[HgWD0XW_m%6UiJ^Wb"RChPߩUJV[h-  (, 7)˕=yR )o0]%Zپ+Èpm pfZ }R 9,TW|Jб^cAmQllmV#siVc j$̦ar%hXR lrcAmWcclo}VWA[i _s[lK9ԪO7<brR*ӒfS!-:[x[d4}+…{dVR@m vTlZV-(\v+mi~IOx?c }lmV#qxP*GԐL~ג_-[ܶ+miU)Vc u*+%eM™;8[d4_ciRaHlOLolrcAmWccl,#m9Pq`OŠ66+~i Zl'%!p6!N~W3o+p3Y̦ NJCeZrE{7 v@`M17WjoIp i$P=½l[SzH{f@`)&@u*𢢽0-/9δv66+~i i%M^J9,WŠ{eoʴo*-$P=3X>17WjoIp٦&@ joIpzH{]xQQd[H4ށ +<1!cDCHAX%3AoHie(E&ʹΕMV܊)v6+~,1[kL500o@D88 kiCG  + +Y)o,1[ha9AŴ2ʄi9BR*өUׅE|U }u*X}x0Ūť |UJдWʊMs)շ ,1[ir%Vhpbxrk ;<0hp@ R8rN-Iŵ@h' < ED4Op!H@4H@pR-<1xg4$෉H=BQ{ ǜ4HR$"xs %$Jд|T5@h' < ED4Op!H y $e\r_3@y @p[a!(膉$)8A(<; GS'e+mKi sLzNkqesH=H x 4%p$)xs1.-$P=3X fEД[SzH{f@fEД[LykzD<i4K"'4&4HR$"xs %ŵ7ȑ!EД[H)8@92r$#;4ޒ(愤E Iŵ7ȑ&66+qi$P= IŴǜi4IozD"x`NcD"@'<0hPb\[SzH{f2l0`2TRlKLM"hJN,ܭYc{SzH{KLM"joIqM JMp< boIsBRq`,jϻ+ڛE,@vE4%'s$O@y HჍ8rIOx` Xp8  , QXYRcsLzNkqmy@h' <z$DƜ9$Ɖ D8B KjoIp i$P= Iŵ7FkboIsBRqm19;@y @p[a/D8Ӈ$!H y $ޒ('"FNDf@ dboIsBRqmM"2r$dHFw]i$P= Iŵ7ȑ!=J4dboIsBRqmM"2r$dI dboIsBRqm19;@y @p[a/D8Ӈ$!H y $57oc&c%E&ʸ 4ޒ(cs^w4$෉H=^<0qI1B  y $ 1.:[x[LyiI1愐E 9 4Ha 4H,H01"\OP! f[t|{] qm7hhG sL5Ŵށpp8@ Ka-\M y֭c y^⼑_ p.Bj9ڛE@i$P=W7 517 JբM!i@ūl#3?ŪN\g- 4H.iqm7hhG sL5ŴUe>7eB(RVo) J՛v-Rv3W p9,Wڬ쩝$P=͝T&@}ob'h.U!WbS{%a % {{3A{%ՍiY'PZ/R O/oصTYu!9 leOŪN\g- 4HH4\[H44p#B\ qm"o@D88 sL56!Ov1I,Ws8]m=ʴP"ʄi}yBhSyHZP%<ڛE@-'Di$P=T@L4$^LM"[H;o@DO'$8,hY(`c@)(< Ĺ@-'DRVoBҁ)L500qm";SzH{ȑzm17 JբM!i@sZbX*a -ob"BZհŠT&+Š{Ii) i귴(WFW%,S- 3g uqIڛE@-'Di$P=ܑ^Bcju ޒ(mzH{]xQ^l4 崊Cbŋ,Xbŋ,Xbŋ,Xbŋ,Xbŋ,XbgÈȑzcEabŀ0bŶN4/ceZ L,XuceZ7eBbŋabX` - =a`3]7X@8 _/9Ŵڳԅ=$_V6UQ_|ݕ ʝ) 筼!Rg x*%8P~KŠ-oΥgZ_ŠN_%صJav+RQ )joIpq9/M&@z=ҡ>i.\%S՞7ߔRu}|ʴJի$f hZ6joIp@;LM".|s JբM!i@HWG)9صI k)Vik cju +Ee.r !‘ "hS[HqGaS|GgqQjoIrFr!sLM"Zb/H_.+=HS|-$P=ęYlM&@{3A{%ՍiY^c+- Ssu.^|+BFsofz+õ7!ƜzH{7Js+BF luaLoֵWJyE~:q Kw)M" x昛E]7Js䳭6oW՝_δou*͕iwn/ќr8YlO[ OViO/O|l?ܵp $\Wܲ'q^Pq^WέS. |ݕ 9ڛEIJboIw*Ŗ7֟cϥXZҞ\g-\=nVexq#2iPZ9) i-՞}+R{uVvTޒ(zH{׭6oΥiMcyIuoԜ4崋dXVVݩ$P=ęYlM&@x[%3ke7 KpZSV-sE9hKJx ̶sӎs.B^|+BzWz6b<+-Z_:l[q >3Wһ)%v@eeҡ1%<zH{XVKcm)صI aղ+E#jҬߏ1ÎsL8m"VsObx+hSŠj_ VcjN%M}VWʌ38\}9ׄm)صI d0SpXg|r8WYS= ֙Mya.TTWkTuZ •弩O,3. Ч^b'h.rE!Ε7 P`)QlZT2YeB}*pm 0l((@n9jBsXűiSxd ^Tu0`.@P P݀QlZT3O`*p )qLE0 /(m0Ci{JgeL*3E(Hs,W8O@=YTd\YJRY(ʛH XX8/ZTՀQ)d >TC @`_4+eA]Y0)%$eB}jU8_u!E[겠 @ 9F%)w-\>3Xl:ҞpTZS 崊CX$ K@Q`89m0Ci>9ׄصI 3KE{7 QiO^'*QYP>=vT'joIp_/x˴ޒ(g-sN{pWղVcL sL9i8.EeᲭ< UV2וi֭+3ౢg`, \` \a8p(ʄwnq|ݦ I0ySpxuV܄(MΖ-)0({8g *-[/ iJjoIpSyi$P=ܤ&\Wgi1!cDX2: 9 @ \a8*V[*WE7 ˴a9*}vxuV܄(MΖ-)0({8am0 o@D88 %0۱ y*5H„W2B-=ͻT(Op.(愹F/U -_8V%|ymT(Op.(a-_8 ܭKSzH{ va0N{%zH{%sv!O%FP*=]Qf嗕2c|ٶzKk6+BsRv!O%FP*=]QM" " x+džboIpEͻT(Op.(=%V6UշjoIr2_zH{-Vsv!O%FP*=]Q8i4繷bTj e؅З3||-4۱ y*5H„W2BK5Rc|[ñj\ZTʴ[|/m؅<aBxv!G_3s({8܎YjxQLᰤ M%qx isN{v!O%FP*=]Q ud\{qm؅<aBxv!G%ͩr_U;{(]mťIlOUqrv!O%FP*=]Q%WghPqùղaH[n)# \˱ 8d4am0.isn)# \˱ 9._ i.i=86BJR0a?r_U;{}~o/BJR0|-4۱ y*5H„W2BK5Rckfo +V귇bS/qϵO|mT(Op.(Q_r_+{c([/KcFml-U2-bTj e؅ +9 oo/[rVFSWj\W*0݈SQF'ibsL84È844p#ĹsЗe[eVrM"h-ԫL&@KL qm8^T-9Y?v1I-,W+9ڛE9$ޒ(v1I-,YZR8-^ޒ(5&@{Iieض_)B9O |갵<-JYlO+fFz$y@4\[N{쵃TXjoIsAn+i4ޒ(TZ`Ki8zܭY_ٚ /lOM"ZboIpŪN_j+{b))Z(ʄ)ǘq| l}*[SzH{x֘Enޒ($5&@{Iie3fz+sj/` |*S,WMiEzʌrU/ rUnZإJeJy֭tvT'ڛEܥ ezH{׵7]&@ +ڛEݖ}Ji$P=kڛEJޒ()ԃ7ΥhS-yV-jk {Zz$yH4\[M8hB\ qmT(Op.(s۱ y*5H„W2BhKMV@"A[KL qm86BJR0:6\YY of?ޒ(ܢLM".쒫*=v-Rvj C"DЧ݈SQF'ibp\L)ԭ)n+֭.Rv!O%FP*=]Q+SzH{ xPBC84ޒ(@{@{Z)VfysHp\6P(^\)%2*G1, WTW/`um"p@{`,m"dbJrҾu` ʄ:Ҟ >:՜!*VTPE@[Ad8R!M {i|s쒾77#i$P= ~m9)R.^K:շAYPai+V|-'2e1_δj۶BJR0=J^%W-JҘ8Vzzs[sImlV7_֔ŠeX}ukfߵmBQLFsHs+֔Υiy+~גϱx/iO<+[>=upE|Ҫ+\g- 4H 84\_|Y9P% jR>z֪z>yԜ47R8{_x/zRJ`[N 4%Wp i.i=8*_Սiԅ;1lVJl O=n0qiw-\>Yb'h.+=HSҢbX]옞v@"Dr 17aSo0ԭ6VK-o) Vc$P=&@v!h/${|!6poޒ(4ޒ(-ro0]%ZUrU.r7 M"\VE0+ʀW{pޒ(†10zH{V!Ofi9֬Q Pb'h/#jϻ+9ڛEܻ3+JJwJޒ(ʴ9m"I47ʻ"9 c+T W.lORWpW%Ab'h/ ]^7CGboIw::X2+V Fp6!O}پv@RbWbzH{:E6Uǵ7!Dޒ( ք/9ڛEII]LM"Wcծ\W~q_lRW(Oc֭:Ҟ -sa[M8h@.i4%օ@!$P=S- `-17S- \[N9ɱIie9;;Aq*09P(WceZrEzBe71I"boIwۖBs @$j"4ޒ(!-mM"e.+7#P99&@u!9WM"4Bx昛EbڛEpHD(׎i$P= q^c$P=6X=|O.zH{ʴ/kڛEJޒ(XBW^^|y~mԭ e*[_Š][j/ gS~saEae~Zշ a[Hεg:Jv'M"R2i$P=^|ceZ}mM"+i$P=Ws7F boIw*{SzH{VE3)p0VK8ZO5JXi\#eiR+mxH2`l|%S/i>SelceZ{B~TՒS3]ʴ-xX~7k&@ ig {Ibcju 3A{%Սi~!-joIpqHEޒ(%j|򐴠Jxro@D88  sL5Ŵi[N{@]HboIsL qm8'6cGfr?X +ԋ4Yپ+ή-g]/;Gfr?Xϱg݌RKi2vobZ zW|'lz7{Uʄc<7UؔᲭ /9m"[|{ȝ1_d<:YlSz2ºQYP> YOV3Š"9پ*3ZXW.ʴ[pUʄc/E~%o*-6rgJ=Vܴ6U-Ru\X>mV0jNB-iqFW%[rVi{v!mʴRJW9m"‡ =Z2,}V塲/erY`A[Ŵ)qm"/[e/l"t~ccl lUl$I+Skԋ4o-CeZ\gpdϱA[7Ȧq N}JsrVNlB-i iq. kyPR,* 38ZZWmr-ffSԦZ9|(`d8QIPZlzշlO+ޒ(ULM"a:쒫*Ѧ I¸r9*/lҦ+r֬Q AŴsЗ57 -*KJޒ( h0ԝF 5' sӎqԴbaIŲ-CeZ_o:Տ g%W"W.T!mʴ!) g;^'LW~>n3X_;eZ_c3m[ݒJȤ|Eo0ޥi h0ԝF 5'ynZ*8Z]c{A4a8WR,Z}(p<+`nZ*Ŵ>TT؅[*ә 7jrܴ6UrE"9OA^KJx+~Ez֪[rضB:b[eq}[<-ԋ4ʟc B-h(} 7/9;R O:f޵blNŲRJrcl isN{@*V^J4ޒ( h0ԝF 5' sӎs[ʴuάI\Wʛ^Y6c V SjNL塲/ Dg+V|`S=+bZXh0ԝF 5' Ez}u[@zerY`-CeZ_X?cl- iqÎsH= sSzH{%qVE!\{q|srV[εcՑI+SkصI/yɕ^[h le?%_h UA4a;εcrVAH8+V|`S=+bZXh0ԝF 5' f{BlZ+rhlAsiZԋ4+M~8yѕe|- i~g+` .[ʴΛ$s9MEoԭ/+Ņ@zerY`-CeZ\>x=\X>mV7塲.0qi4繡.joIu%boIpjNL[L sL9i9-CeZ_o:Տ gVE$+MR,+M 5'Q IrVd:bH@mڬQv)PIkBh326)@oPGfr1zc&UA4a;W纑YOV3bZJBs+eT.Gfr1pZ]c{A4a8WR,~!)ϩZl%B‡ =Z2,}V塲/erY`A[[ʴ: D _:bU/H@mwWҢh0ԜJuP]Ԏ*Bc`0Ԝ[L84È;.+V|`S=+bZXjoIuԎ*&@ f{|ߵ-$P=R83li$P=½eB~TUGfr1A9hKq^>VeZ0%0繧ۯ[gʴ9˩i1=V7$8,hc#PÒL(0q\ޒ(ƒ 9&@4]ՕMLhPpq[mNmBف;Bspm unhB& KeƘ=044p#\ qm0.isB\z%2/0Ĺ@3{lULM"a:`KasN9ɱIie:ޫ} ߀0jN՟,bYZnU!)ٕ[!RV,NJK~KR h39Šεm 5'Q`0ԝ~iCG z]BQ_g+BV ru.T-ĒfEBZ'ao&`OpgN$7*,B" 18;*֬y֠PZUYlHO8l [+7<"q_lS9&w^c2М;)eZz8]qqG)6+<.+z]v2(ʴe2Jrcl'HN[0߱gl ^FwWnv-RW.Y,vvS ʴ[sܭ*m*eS-jp06U[Hޒ(vboIw4_}+)![Ks Iev 5'}q\B9l0jN) c jwczշ*ӵ7Ji$P=8>z+iQ^![KUJ99{ *nSeZBs+!} <<:8Xix#3~a:_.+G-Ru] IW!6saY.bZXZceZv@+[ޒ(8XVxyP󯐤Ny{nZ*g|s(Oc귂'K` Ne/ZZe[\g) $P=bTLM"3|({dN}HR޴>x>VY5~:M%rS vKU!$Wsjmc dscddYd9)>״jN+a;ˊam0jN+}7>bZXZceZޒ(ɫvE3[e~Rg;A2LELqQ_cclJs`am"eub=l[aV G|PlO[q ԭ/+V-ju 1p3HpCH4-5!O![x3j۲@]R17ѕeV%8*Xl Z_*x{ jjoIr8LM"erYoU|%V]P{ -q  Wy,u9NVY5~:M%rSsHrXC~< T{1~kڛEVY5nzH{\[o_.0@{@{+`o/ﲜ+e:f'_c i"AŴ+MZceBcV6U~g:\ -\Ӟ愹$P=bTLM"փ Iev 5' sӎpr 5'Q`0ԝFW%[݉R-[g+,;ㅫA) j۵7Ji$P=WM"boIpa9\Ӟ愹$P=eV17CZ 5'Q`0Ԝ2`KasN9gh0ԝFWiRw=\[nVY5obնx{1ŠεmڛEVY5nzH{ڛEi$P= isN{@+[ޒ( h0ԝFWiRpi.i=8G-Ru] IWerYoU87*,BPjf{BlZM"W'i$P=W@ 0qiqm"򿇻>Rg:շjoIuؕ.zH{(joIqYdջLM"-B_VgR<䙹Qbʄt+e9OK(Wr]id7+}rgUWcʴQ )Ւԅ=~)%YW|zr[ی崋o*_aE0W<: !0"vT'9|ceZ_~ ZD%B`g-R!m3HV^J p3݉RA eVA)qm"eٞʞϱA^[dNR,rԭ/+Onܴ6UAHLܨKeB|B9Og+Xl ^F.jRپ}|IZ_)-(_72# $^<4sLM"𢥵7 8Ddži$P=kgc,l( bo 4xw#Z^S8l)xSy\iC9jۯ[gʴ{rJyq繡.EiHxQ^iibZS ӎpVzf+H/%;ҜO} BlssUؔ\RWh^ױ BsjصI }=XVjR>׫R2 M"b/VE+7lmfLM"EKjoIsҞ-lboIp[N o@D88 ĹE9hKE-^517kA2Li.i=8&)%%W:|RV,D8d~AH֬uپ.iBs*3[>$P=BeYzH{ׂ|)+Z0\YBМr8$WsUؔBSQ*v!hNy1ή-g7eB~W9_B?-Zs2_o  9h(;'<-Y|9Tg-\IHNeEv@1 lmfLM"oYf_- '  h]JeTgReZySñ BsuW2}ׄEK/` }QϱjS{Wʟc*lBМr0V/uY|Wr(Nezշ%b-[/ ) iCG !rضY ⼑_ΩZAy)صV3W ey, - 'Z39Š7eB~WG^SVW_!IP|.u3+e})9_JQ^[5y,-ZN@'i57lmfLM"Sol)zڛE-^517am7hhGa9\Ӟ愹$P=ZJxi$P=Z 5'Q`0Ԝ[L sL9i961I-,Z3PLjFJGεc5fjY%yn+-RSj)׫^T- ZZPܦ^j۱ Bs-(LV9 ՋSñjBuaEr39Z^!~k|J^!-bRSj)ʄ*Y,--Z!hNy9lO*{J3߂8;*}y֬ 곟jZYlSzyQtg|rصmZ阯}_=\ZkU~^ ,YM"bZSŭsLM"_ZgcRg.+sY΢?l3ۖ!)E @{ڛEŪ[昛E~9-U9Pjb,+ /U-;zG ꢌے nŪ*+ŲM[L = =M"bZSŭsLM"Z~- ' 3^%!9WbSq N|uImm)+K_ gQFsHpSzH{Vk`zH{"V/؅9q_vd'2_ԪJyn!)ϒνi-_2}v9o_> [>*0@{@{ڛEŪ[昛E~N })os0O$09Ox(+jg^دυ2{A4a;cK\Tam04[7UiO17S")@+^쯊- EK[l)k]ϱJ NŪ*w'% Jy|IibZOεbZ#؞ XZjϻ+8[SzH{!E&@uelSdSaÎsL8iqm"z$3 X< '$8,hY(`c@)(< %ȱ #PZ/ S˴\N-\ZD%B(RVo) J#%#le\Wʟc2KŠʊ!՟Vjs(ʴ[ Bs* -\[N 4%Wp i.i=8[>bX%]joIpqHEޒ()+V7S +N@% JբM!i@WEi)+V7Sϰ1\0qiqm7hhGsL5Ŵ 4Ha"D5<1!cDCHA\i PZ/ SƘk``o@D88 sL5Ŵށpp8@ ki>9ڛE܈i zH{PZ/R O>RVW)ipTپU=\[oA[Sεm9GgeZz؅9˶iqr_jui9i 4Xcabŋ,Xbŋ,Xbŋ,Xbŋ,Xbŋri m0C[HzܭY_ JբM!i@{SzH{,sLM"9%j|!O@+z6+-/֭O Bsɗl'*o u}RYM=V+}feqV%j|򐴠Jy$P=fLsLM"+H/%<vo7+Qf{BlZM"D4yj i$P=WM"z@17ao[WܭYRb^݌RKIOFW%[mVk R)*+>3W+V^J} *WhEώv@UvZAy(zH{%j}7/ض)RoڛE܈i zH{PZ/R O.h`44p!$i&<1!cDCHA.D4zxEJx sL [M8h84\[M8h@4\[Hޒ(CH979&@|IZ_)-(| O/nSe-ZNW\g|sܭ6>WZD.rE!sD=ɼqEaoH8X,Xbŋ,Xbŋ,Xbŋ,Xbŋ,Xb_i m0C[HzܭY_ JբM!i@{SzH{,sLM"W Bs+ O_9ϔ)+V7"qޮ1:#{de>[mVjs/brqV%j|򐴠Jy$P=fLsLM"W Bs\ex*0s\Z yHMVݩ$P=Ȇ@rosLM"joIpYzH{.|s7|ei$P=쒵YS>[rgLmM"D4zxboIwEBҁ)E z$3 X< '$8,hY(`c@)(< %Ȇ@ćr|u JբMZP%bX+z6+~!-%]joIqRxaɴޒ(*=VM" iH6E%j|򐴠JyE~ joIr!C1!ƜLM"BhSyHZP%<9ڛE܈ia Hq&zH{EBҁ)rbQLM"4>A[ޒ(+U3~űLW(z}v@"D=Xh{iɴޒ()+V4Jx0sju O=Q C=HS7s7!CNM&@)+V7S3)v[oD4z$8ӓ9Ŵ 4HfA\x@'$8,hY(`c@)(< CH8Yu JբMZP%+b"z}/ڬjoIr!C p,昛E%j|R O=m9ڛEܘP`d4ޒ(V6Uc$P= "zH{PZ/Bҁ) +sAﺑY}*y_77M17Wf{ԋ4you9BT'֭:ҵA[Hs4@'8ަJr0~b1m0C[H~_7~:՜!*Vc !vA={]\[oA[Q^׽-vck+zhlK*}v@LM"X i9H@h}s-~/*_2S -sba8pZ)%Uv@&8Y17ՍijoIpqHEޒ(%j|򐴠JyE~;SzH{ "P`d4ޒ()+V7S_c7!8@sLM"BhSyHZP%<n_lS) i>9֬Q P.񨇍D9Zԅ=~;SzH{ "P`d4ޒ(%j|򐴠JxrE!+m膑L(0q<< ė,V "P`d p„9Ŵv4H}XE`0'\#x wM $x(01\FRUf L57$8,hYHdžr# L57$8,hYHdžW(KSUUiML57$8,hY8(`c@(a@Ԟ%]]iCG ]E`0'\ qm0%4džq` I k$4 nf>@>X>';4 ./usr/share/man/info/en_US/xlf/html/UG32.HTMp/$ Other Environment Variables That Affect Run-Time Behavior XL Fortran for AIX V8.1.1

            User's Guide


            Other Environment Variables That Affect Run-Time Behavior

            The LIBPATH and TMPDIR environment variables have an effect at run time, as explained in Correct Settings for Environment Variables. They are not XL Fortran run-time options and cannot be set in either XLFRTEOPTS or XLSMPOPTS.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ޒ kv$$nf>@>X>';$./usr/share/man/info/en_US/xlf/html/UG33.HTMp/$ XL Fortran Run-Time Exceptions XL Fortran for AIX V8.1.1

            User's Guide


            XL Fortran Run-Time Exceptions

            The following operations cause run-time exceptions in the form of SIGTRAP signals, which typically result in a "Trace/BPT trap" message:

            • Fixed-point division by zero.
            • Character substring expression or array subscript out of bounds after you specified the -C option at compile time.
            • Lengths of character pointer and target do not match after you specified the -C option at compile time.
            • The flow of control in the program reaches a location for which a semantic error with severity of S was issued when the program was compiled.
            • Floating-point exceptions occur after you specify the appropriate -qflttrap suboptions at compile time.

            If you install one of the predefined XL Fortran exception handlers before the exception occurs, a diagnostic message and a traceback showing the offset within each routine called that led to the exception are written to standard error after the exception occurs. The file buffers are also flushed before the program ends. If you compile the program with the -g option, the traceback shows source line numbers in addition to the address offsets.

            You can use a symbolic debugger to determine the error. dbx provides a specific error message that describes the cause of the exception.

            Related Information:
            See -C Option, -qflttrap Option, and -qsigtrap Option.

            See Detecting and Trapping Floating-Point Exceptions for more details about these exceptions and Controlling the Floating-Point Status and Control Register for a list of exception handlers.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] CH lꀄ$-2nf>@>X>';Q#./usr/share/man/info/en_US/xlf/html/UG34.HTMp/$    "<=>AEHMRTiot #-./136CDFGILNOPU_aenpr2Scdlqs045789Bbfghmu:Xx!KQVWYkvwy,;Zz|()\'[]{}Jj` b\Y^aTC RH=\Y^0-"ŕ+I"!0${om+iۼ)w;p5t[3 aZHneޫqьc1c1c1c1c1TQ\TD Xp f4$ YLH_- {#8⊑ +>8|~t`!Et4qp`^⊑ + 4Cېi:Р⊑ +4o?[ r-G3-?`oh7 wwwwqEH̊;d{?o^p~]" W2=^m:w ct,pa !vbfvې"!jb|H @$^AuE5Oo:tȈZW`̨ӻqݕ5?]lQlG'f@ha=#PHH8QFq ʀ<|E.(#Ctƚ881>0TP[[PPPn49Ɓą|q ʀ<}K}.(#PPP~49Ɓą|*Ӷnv`Dm\)mp{C?6?CDv#k@!fFl<A^B;n`Ł@;  wwݔ9> @HI+I(" ( .| ZoK4``nܠ`\tgU8]z|`1c1c1c1c1c1⊑-;R?<0s(9 &GGb9 "Se ӵ#F뱅XWoD $H4@=_mCBdkΝ:-9@ʛ" ġ>Zv}iމGLIuʼnƐ0c{ pێ| 2" (OcAމGLrToVAAA m7s Zo!5w:>NDBYT'Nԏ PWoDp9uʼn7Qeo:t`=woo(;!5dDRP-;R>4FVJ>g\Xu`Ww:?S hsж:?ˈY9T'Nԏ ѠVJ>g\Xu`Ww:?t0|AE˽d79T'Nԏ Ѡz%e3ˮ,MQWcKYt;tg"`pv]UIB|H  woDp9uʼn7cKiݿG.pxÜ'" iڑ14QS8fcK <'" iڑ14QS8o:wt,ʶpau;qӣdDRP-;R>4F[()]qbjav0+ΝCcYw|t:NDAU% ӵ#cH4h(GoDp9uʼn7U`v0+Νo|+.@Ȉ*>Zv}i }.5F$`Ww:? ;7!5Gv7yt JjGƐhPމGLrTn|{yӣ` snv嵾 '" e2" (OcAM}<ՐPP`H5ſ:?s Zo!5w:>NDBYT'Nԏ Ѧ[()yuʼn7avVGQ<Ν9T'Nԏ Ѧ}<>E˽9T'Nԏ Ѧ[()yuʼn7 Q0A|Ν9T'Nԏ ѦVJ>g]qbjx7.zNDAU% ӵ#cH4iսǗ\Xp@oA[Ȱm>mќP`tUIB|H iսǗ\Xp\| lnw;2r" (OcAM}<Ѵ7Mm]N JjGƐhBz%e3.5F!"om>(0AH, tUIB|H hWoDq&.WPc˽ށUIB|H $QS8W$P`pg.`dDRP-;R>4F7QS8W$ߑA/{yӰ2r" (OcAD}<"t@Ȉ*>Zv}iwoDq&Bw;2r" (OcADVJ>g]qbjMHo:wdDRP-;R>4F}<(g.zNDAU% ӵ#cH4hz%e3.5Fj&Ȥw;2r" (OcADVJ>g]qbj˽ށUIB|H $'QS8Tnj|H f1.]N JjGƐh!_սǗ\XpP˽ށUIB|H p/oDq&-D.zNDAU% ӵ#cH4iVJ>g]qbj7{yӽ'" iڑ14?սǗ\Xp[RܻΝ9T'Nԏ ѧ[()yuʼn7 Q5E/˽ށUIB|H p7oDq&Zt@Ȉ*>Zv}i8QS8Tnl|c{yӽ'" iڑ14z%e3.5F|{{yӽ'" iڑ14މGLˮ,MQZ"n]N JjGƐhӂz%e3.5q>ѧp]NȈ*>Zv}i8+QS8WpWȡǃro:vNDAU% ӵ#cH4h0/oDq&j1_"67-t@Ȉ*>Zv}i7QS8To5TMoCyw;2r" (OcAAVJ>g]qbjt+(sot@Ȉ*>Zv}i;QS8TnLP_"6<{{yӽ'" iڑ14QS8ToZv}i}<-A_" 7.?{yӽ'" iڑ14'QS8Tnguhȡ|ko:wdDRP-;R>4FVJ>g]qbjЭ~E+{yӽ'" iڑ14QS8Tn" .zNDAU% ӵ#cH4h9սǗ\XtC" Ѓ͋.zNDAU% ӵ#cH4h8މGLˮ,MQXTPC xhΝ9T'Nԏ ѠVJ>g]qbj OP၁ܻΝ9T'Nԏ ѠսǗ\XtQR" ]N JjGƐhpމGLˮ,MQ*^`8f_p^˽ށUIB|H oDq&TZE7.?{yӽ'" iڑ14#QS8Tn|1|Ν9T'Nԏ Ѡ?սǗ\XtXA_C<,o.zNDAU% ӵ#cH4h8WoDq&ނ9y]N JjGƐhz%e3.5F)_C4FooDq&ހ!PP;ro:wdDRP-;R>4F'QS8To@F)uEpw{yӽ'" iڑ14z%e3.5Faiڟ"8 ۭ9˽ށUIB|H x7oDq&$Xȡ{yӽ'" iڑ14މGLˮ,MQJ(ȡ3{yӽ'" iڑ14z%e3.5F+4E w.zNDAU% ӵ#cH4iսǗ\Xt^x84n.zNDAU% ӵ#cH4i?սǗ\Xt/6>E ܻΝ9T'Nԏ ѧVJ>g]qbjҽ)(pk9˽ށUIB|H  [()yuʼn7IUbx84Dhכ.`dDRP-;R>4F[()yuʼn7ȡ.zNDAU% ӵ#cH4h@މGLˮ,MQWȡ.zNDAU% ӵ#cH4hAսǗ\XzI\|<4nw;'" iڑ14 QS8ToQBM_CǏt8o.zNDAU% ӵ#cH4h@?oDq&JR"et@Ȉ*>Zv}i?QS8Tn(;.|Ν9T'Nԏ ѡսǗ\XuSg"e{yӽ'" iڑ14 'QS8TnUtE˻]N JjGƐhЀމGLˮ,MQ`R"eݏs{yӽ'" iڑ14$QS8Tn;/7˽ށUIB|H ooDq&iF>Eq|C{yӽ'" iڑ14$OoDq&Y:" mX]N JjGƐhГz%e3.5FщOCs6.zNDAU% ӵ#cH4hH7oDq&614$P mt JjGƐhАމGLˮ,M\lchH?ȡryw;'" iڑ14$މGLˮ,M\lchI" cO.`dDRP-;R>4FVJ>g]qbjPV>Et@Ȉ*>Zv}i }<.>Et@Ȉ*>Zv}i }<PΝ9T'Nԏ ѡ@սǗ\XuWLPt@Ȉ*>Zv}i 7QS8Toi-K| $A]N JjGƐhС?սǗ\X{+Pcw;2r" (OcAB}<@E8C ro:wdDRP-;R>4FVJ>g]qbj(C40f_t@Ȉ*>Zv}i }<Ql|.{yӽ'" iڑ14(މGLˮ,MQ̪)C7n>!˽ށUIB|H [()yuʼn7\,!C{t@Ȉ*>Zv}i }<1u;N.zNDAU% ӵ#cH4hPWoDq&v0"iC ]N JjGƐhH(/oDq&݄R9ၼΝ9T'Nԏ АSz%e3.5FTR$ȡˡt@Ȉ*=쌈pd< njGƐhH(މGLˮ,MQ !(s˽9T'Nԏ АSz%e3.5F/||.zNDAU% ӵ#cH4$QS8Tn‹yӼΝ9T۽ۡ mB|H }<z%L!_C}6,?{yӰ2r" (OcA VJ>g]qbjdel|8^].zNDAU% ӵ#cH4$#QS8TozMQJ_Cqt@Ȉ*>Zv}iVJ>g]qbjDȡϸ,E]NȈ*>Zv}iVJ>g]qbjF>E}Ǵw;2r" (OcA&VJ>g]qbjN"m]N JjGƐhIVJ>g]qbjLȡt@Ȉ*>Zv}i'QS8Tn)@_Cro:wdDRP-;R>4BM;QS8Tn*UQX/ȡ4~ro:wdDRP-;R>4BM}<Q<^l|?!}w;2r" (OcA&VJ>g]qbjYȡt@Ȉ*>Zv}ioDq&R |?B/s{yӽ'" iڑ1hGoDq&S * (p4hg9w;2r" (OcA&VJ>g]qbjb!)J|?o^w;2r" (OcA&VJ>g]qbjb!)JYtYVE/yq43{yӽ'" iڑ1$QS8Tn+Q )(p{k.]N JjGƐhHz%e3.5FI/C˽ށUIB|H 'QS8Tn)ȡ^yt@Ȉ*>Zv}i;QS8Tn("{Bro:vNDAU% ӵ#cH4$H7oDq&xZ;al0kΝ9T'Nԏ Б սǗ\Xp&ȡ}83{yӽ'" iڑ1$މGLˮ,MQZ"lE9w;2r" (OcA"B?z%e3.5F쬍8Eюo:wdDRP-;R>4BDVJ>g]qbj]"t JjGƐhHމGLˮ,MQ+ ,ȡ.tg.`dDRP-;R>4BN}<8BN8 mOt JjGƐhIVJ>g]qbj +485hͶ˽ށUIB|H 8OoDq&L(p$4ka7-t JjGƐhIVJ>g]qbj (p$hh@G.`dDRP-;R>4BN}<H(PHР^]N JjGƐhIսǗ\XpB-A_"Fo:wdDRP-;R>4BN?QS8Tn8Ν9T'Nԏ Г?z%e3.5F\RP  .zNDAU% ӵ#cH4$މGLˮ,MQZ+{yӽ'" iڑ1pWoDq&"˽ށUIB|H }<?"t@Ȉ*>Zv}i[()yuʼn7gP.zNDAU% ӵ#cH4$OoDq&o:wdDRP-;R>4BA}<(t@Ȉ*>Zv}iVJ>g]qbjLro:wdDRP-;R>4BAz%e3.5FGȠ3{yӽ'" iڑ1 oDq& o:wdD fP2YA ӵ#"4( ߔ ~Gۏ;NeYT o Ѓ:<{5vm܀gsbt;}A"=mќ/N(k[{.;͆hG}8xn_{CbOo:t bJ $\yˡ|ANa8ذ5Oo:wB}[()yuʼn7 |smk9/o:th7mCBdko:t| "*c*Ȉ1(V\ПVJ>N4Ka|Aa@ˀ?B}[()qužL>rN\މGLr|pa d>}D\Xi h7ӻqݏ~QS4TnЬN(02rq-;R>kL6ND@e++"ӵ#cH l@4$inf>@>X>';./usr/share/man/info/en_US/xlf/html/UG35.HTMp/$   "T<=>ADLReinort /EGHINOSaclps%-.BCFPVWdfghmu,123Mbqwy#045679:Uvx()8;X[]_kz|&*@KQYj{}!Z$J\'+haj-$F 4NƛI<ơ{P:y~G=B+=Zh-|g Fܳ^ofZo94Bh *Jk;s9s9s9s9s9v!Bh84bDaRYHC!A@(00y=ZS-ڒ + tP o,:XRKE h(A1`@f  Bc@(Vc@MvqRs ѷ¹@h7wwwwwwwwwwwwwwtP ]}J;3L(H^ʫRЖbΏئ2#' )4Bh=M> bũl=a*hKgRrΊ)4Bh="/Uom4YY{_Qf8GwwwwwwwwwwE yZzD~Z.4m*tB+ ѷwwwwwwwwwwwtPӾNw! E9Nѩ%K,vkbv3[ِdbD'Vf*1c5 wƭ{g]zئծYL,QjnJW淳;r{r`tW!:N)wel6f+:1U鍻Γvf+:NT.PlSU-1|jh[ T.PlP'i_Z,t^^)՜lKKQU)FBukbv3[ٝ'|j׶qu׭1KQU)FBteRd'Vf*1՜ kbv3[ِ'|j,¹uWDBt񶠆T6d'Vf*1c5wƮT6d'G_¶ wƓ^()1u5@'|j[ `.۱̄Rʖ[t݌ AŕcWcnk{{bp n(N!:Nئ*,jmo`Z^ u*ئP2Ʉ;VlSrV1U鍭LYUS 淰N9Lo,Z%BA:Jb+ ۇ3uj,W6f!:Jb+ծYLmofy44i{\SZ4x4xISGP}Zj4=:k7Y}S [nJYKTVVSnOrVv3[ٝ}.5[.nJW1esPB uCBկfjJT9znjZm 3T #r1rT:!|z-u['UKeqf4{ڀc J;I1j8sx`$ZAofwʫ{g_Q4m1U醛cGRibA{Mw]{V6f:2t[;ծYLml|tJDT0Zuu^긦FY-Vĵ/E*5Y D'VXifk+VĶ+LiEN,v^1{F>t]\Жbwes[F=Rj8sxX4ZB3@A@/<3mق^?U-l5 9B3L9鱚W:Zw%i淳;rz|_::і1/iha=ZmofvPÝt#1sc5wƍfCr"`X)MZkj4%Y^ qf4dcGjP 9/@(3/M W:6.f s}Zhۖb 6iѓy ۣNo7IwHBDL7 (w 獹bؐVoco "zN;HBHbpEడ<4Ɯf }IwHBDL7 (wBFVXoco "zNzBDL7 Oic;byR=R1i7IwHBDޘN+1aBy{)Ji!7~/oa$OI#iIwzcP::j; "}pXPxs,4ߋIwHBDޘN3HA ρ"LJپw7ܕEp]a\w.\4W:>i{Ŗ&4~d^O@yh8VڲεOiaM#+VL$Ϋ-Gs}Zk4W ]'|kT.\j4=Nёf ;⚱Z,7%iMRIW[7hΓ6Yr䩪ؖOieIM#a:FBw%i\^Պ`-U#5+ 䨽|[,rTu^J՝a\ڳ:]ړܕ*Z[j֩M#ފCd5Oigm|BKD+Pn|XW%EZ4xYrT0W!;77ܕOiaM#ߤrԶUom'|nJIS*vv%hc)/LhcBj_ 1ii*fqMfb$ 'u׸lSoT8Ƨ-h scd5b-%\Ql&4"Zi*f7%iܾڲcM/l{T486YrTcM/i4ߋIwM't"tw N@"}pP,O=&ppi{Hl9M#߫d^폽T4яi1zWT&uW/Af462y7vDD?$;15S'1@'ZFu;rzUp٦ .(RկfrN䪹2lԘrũlYծYLj,ZΒ(j"Ol}К9{Mܱj[:mFt:+kV4B+SGTqMZfUBdYX&#,îY֩M# aj4=Vukٚ(Ks}-(fqR){1-)JqM|Z{/FY2; hr{{ I,QjAaֽ1rmYܕMRI(=:>i{=M#SGG>i{[֩M#ޠhZj4=(b׳5%LP(j(Rd'U^)]V;|4qEP78B;qM|Z Y֩M#ވi|H%SGT$F YbThKE(* ծX-^:Bb!\֩M#ވi|H긦71kٚ(KIW[5Qf462y7vDD?$;15S'1@,(O/OANܕOi4xNOi+ 5Oij4=ɃAV5Oi4xEr`SMSG'Z4xEr`P4xNbZ>i{+j4=VęlHA'+Mj4=ɴ>i{u|HW&aM#SG"0+ƚ4xNbF5Oi`cMSG֩M#N0TծX$ȳlb<ƛ{~; "zNzBDޘNۤQ  ЌLof~/i7IwHBDޘN+1aBy ,-7(>,-7~/oa$OI#iIwzcP::j; (w 0j7aѓy7vD8w='w?jr "}p$(O=o+MZ嘪ƈJUp٦5zU}Zg*,]zb*b׳9Vd'Pt[c7!:jU«fsئЕsثՕ^V9*[4ƩL0j&V*jU«fd^폽T4яi1x\r̘c4ߋIwM't"tw N@(w Bgw C@FaX9fu63[٦4ߋoIwHBDޘN+1aBy L`T[-7(=$FM4ߋIwHBDޘN/1aBy&0*-I4Eѓy7vD8w='w?jr "}p$(O=F(I֌Zd1.5[mÀgIzm񹾳,ZhO4]lSrVȍGnOrVji:FE鍌15KsM{cplc4ߋIwM't"tw N@(w Bgw C@Fipof~/i7IwHBDޘN+1aBy d`ГFM T#BM7~/oa$OI#iIwzcP::j; (w tZ2o1$Q΋FM4ߋIwHBDޘN31<@3+MZ嘪ƳK3\!M%i*6zg4;[m-FE鍌15KsM{cT#BF462y7vDD?$;15S'1@i{$TծX$W%iUm;Z:rUz`1embZZ淶rܕ4۱m+M >淶7%hcT\MSGVbؐ=cE j6'|W54cl}^)3;煃Et#4@$ p2`tuW-6lK[ BgwЌI1=63[ٝFl|o+MrUzaild2o1яl5(C A"63[ٝTbT6WY\gnOS/ GUz2`17߀19c} ='t!$OI1?{Qjr "}pXPxۖ, mMM1o'ÿ$;'oj1w NA}Q 1Li)(j7{} ='t!$OI1?{Qjr "}p('2*k{}IwM'a59{HA Rꔡ7{M7ߎHG't"tw NA]Q Hƛ{~; "zN;HBHځЉQ59F>,(O<9co$;p! "zNLjB'MGpEP O>TT!FuQ]j2 k7/1rE֡-֩M#޳ 4>i{vg4Tܙ3[ܕazcc'>|hMRF=B_ GIz3b䋭BZ#SGfi|H긦 1/ii㰒''!$OI@D=Q  ЌKSc5lcMߛoa$OI#iIwzcP::j; (w 犾&*Z4&1^ߎHG't"tw NA}Eడ< `Xi㰒'ÿ$;15SgnF>Q-Ru:Rw6|Àd'hr Ue^n_ Pu^Ol}К9{M_Ur1/ii㰒''!$OI@D=E`{aLyေhxh>xlfMiߛy$;p! "zNLjB'MGpEడi{&Tcc'>|躹-F淰9{Mԥ5&pp

            ׻j1/ii㰒''!$OI@D=E`{aLyေhxhb'k{4<ƛ{M7ߎHG't"tw NA]Q <h @o$;p! "zNLjB'MGpEడ< `Xi㰒'ÿ$;15Sgic;@/J(.f(,ƛO1^ߎHh='w?jrF>'j8sx`,ZB3lfMiߛy$;p! "zNLjB'MGpEడ<0ѓy(ѓy7vD8w='w?jr "}pXPxs,4ߋIwHBDޘN31@z:]ZmÀgIzi;Xzؠ1{F>4&uiclbblPY61{McM='t=! "zNLjB'MGp "}p0O=&pp|hMRF=^p#p`kc81\!3ZNܕSG"0h!M#SG"0h MSG'Z4xEr`@cMSG'Z4xEr`SMSG$ƩM#\4aM#ؖOi+ƚ4~rŕ&@mUnl.-'|nJZ4xErm5Oi4xEr`Vj4=:>i{+ i|HT& 4>i{u[֩M#N0T1k,2,ƛO1^ߎHh='w?jrF>'j8sx`,ZB3AUYof~/i7IwHBDޘN+1aBy Uz Hdc9uCU`. hɼͲ/WZ2o3X2KFM4ߋIwHBDޘN/1aBy' &@@SC ЖY\«$@Co$;p! "zNLjB'MGpEP O=F(I֌JU^,ZܞW*Àe NuPI 1pYJj)jJQz2++Mj4=E@4~bF5OiseM#߷c5ՕSYbThKU-W_:XK&P"٨BIPγL)gZ4y^,\ Y\«>i{ MgKBe1T;[j,[+!\R*.rMOU-%V@g8Azcc'>|hMRF=^, X9u|*61{McM='t=! "zNLjB'MGp "}p0O=&pp/*X'jODn_YbT Xf츎ofw%UΫj,Z37W_X]\ 2/uz#rZtPx,+M%Bj_;Vu Xp^ےh|4Wڭt \SUpHA\PW$ildo$;iIwzcP::j; OnF>'j8sx`,ZB3ơ+61^~oo7㰒'ÿ$;15SWic;„,pkHBo%Fi!7ѓyrTaB~\ [.iMi!7KFM4ߋIwHBDޘN/1aBy̰~/oa$OI#iIwzcP::j; (wypIQomT:+MXUlg5Y=Zi:Fw%Uά`I݌Ե@s[ّzcc'>|hMRF=ec.TausL-l( cM^c'~/oa$OI4OCHBHځЉQ59{HA l5 9<0- ,Pi{佨Tiw%hcT*Tiv䮳L(ȳlb<ƛ{~; "zNzBDޘNE`{aLyေhxhlw,(O}&o$;p! "zNLjB'MGpEP O>t$]j3c5-P1\grU\l(4ծJ@ =cBj_ 16>/kr*Lildo$;iIwzcP::j; Oic;y톡3;št#1ZUllfMiߛy$;p! "zNLjB'MGpEడ<$2o0P}Lhɼƛ{~; "zN;HBHځЉQ59F>,(O<9co$;p! "zNLjB'MGpEP O<~.*3z-'UΈW%v'|W5ԡ*w 1RX 25 h\-9u_@X i|zGs}jܕ%lShru^Ol}К9{M1lb<ƛ{~; "zNzBDޘNE`{aLyေhxhtGϞ(<&161^~oo7㰒'ÿ$;15SWic;„V.v3[ٖBxѓyrFM4ߋIwHBDޘN/HA'b 搄p뱚̴I4i㰒'ÿ$;15SgnF>ύ3LΈJ;ඕBT ْwes[ٝ{݆u[1\aQ][.Ji"mKT W5[Zcs}aRZ0jY$a%r8YU^eV+M-VY"Ol}К9{Molb<ƛ{~; "zNzBDޘNۤQ  ЌO:`o7c~; "zN;HBHځЉQ59vF>,(O|hMRF=鱚k{3٦FVY.YgU|vt(^XGU-J3sVsUcM^c'~/oa$OI4OCHBHځЉQ59{HA l5 9<0- x of~/i7 oa$OI#iIwzcP::j; (w c'LW@kV*cM='t!$OI@DHA'l17vD8w='w?jr "}p('UesFt@2Vm|JX +ٜ٭βV%ٚc4$br*:#+MZ嘪=cBj_ 16>/j4= +i|Hc4ߋIwM't"tw N@(w Bgw C@FcpjAb镊lfMiߛy$;p! "zNLjB'MGpEడ<YUg*d`]ʮ9U`-&o$;p! "zNLjB'MGpۤQ 1&{~; "zN;HBHځЉQ59vc;@<=1ENgrU\JVf*1]}-[T@k9U`/KJhZb1vYrcc'>|hMRF=vK*Ulb<ƛ{~; "zNzBDޘNۤQ  Ќ hsYUg*lfMiߛy$;p! "zNLjB'MGpEడ<Y!! c5i!7-7(>d 7~/oa$OI#iIwzcP::j; "}pXPxs,4ߋIwHBDޘN3HA  +KivhKD+>i{+T ֩M#\cMSG'Z4xEr`@4xISG"0h 1M#SG"0h( MSG'oj4=ɃA@V5OiZ.:|ܲ0]z/P1\ۓv W[4%+W^ W5{݆u[0esB̄%+MX6b5U_ROl}К9{M`ƛO1^ߎHh='w?jrc;y톡3;št#5G?,Ʀk{4<ƛ{M7ߎHG't"tw NA]Q 0P{9VFM *Z2o1^ߎHG't"tw NA}Q 1O#}&MO#}&o$;p! "zNLjB'MGpEP O<2_grU\KT W5W48GrV)0$'E& AoVĴP}XT˱+U|hY[f3'8V m񣯌[h4cL*XY15KsM{cJF,(O<>hN8M7Z2o1$784d`jqhɼƛ{~; "zN;HBHځЉQ59vF>Q-Ru: V+LnJVf*1]}TZbJG_¶а@ q+jfn Ft+Mj4=(+jf4>i{[֩M#ZRU+QeM#emVm-rEף"ldя ]|hǴP{9ViJ#lb<ƛ{~; "zNzBDޘNE`{aLyေhxhO#}858rA[5(Z63[٦4ߋovD8w='w?jr "}pXPy*@ؑu[٣&[ UlH٭ѓy7vD8w='w?jr "}pXPy7ߋIwHBDޘN31@yB;ծYLi<\L V6$]l {ݍZ`Ђ˱k{2/|݌Ե@s[ٝ,SZBy{2:4,i2V +lfvFb0`D ے5\SklХ1S׸݊a\d!uMZmlH٭qUC"Ol}К9{M[ UlH٭cM^c'~/oa$OI4OCHBHځЉQ59{HA l5 9<0- DoqUVċڛ`o7c~; "zN;HBHځЉQ59vF>,(Oi{u|HW&`T 1|HW& Xi|HTL i|HTL T lKZ4xEr`PcMSGŮX$ȳo$;iIwzcP::j; Oic;y톡3;št#0&t#KSc5lcMߛoa$OI#iIwzcP::j; (w {Q! ^l4&o$;p! "zNLjB'MGpEడ< `Xi㰒'ÿ$;15Sgic;@/a ؓFM4ߋIwHBDޘN/1aBy"QhɼēEѓy7vD8w='w?jr "}p('ZFt ]|u ePlSU-[xm(!uW*it|V5]cZ⚲,Ol}К9{MlHƛO1^ߎHh='w?jrF>'j8sx`,ZB3E^-Miy7{~o1='t!$OI@DHA'`25(ѓyp25(ѓy7vD8w='w?jr "}pXPy:ihɼēMD@sFM4ߋIwHBDޘN31@z%gX ۓ lKYjh8V j%[h4cL*Y1@-ئVuM'|hL\S5(KV*[4ƳVlHqDY62{chƄ.A4cl}^(< .@i;rV>i{+j4=:>i{+4>i{u|HW& X4>i{Lj4=ɃAM5Oij4=ɃA@Vj4=:kTL  i|H,Y[gU#e1vjSI֩M#\MSG'Z4xEr`Vj4=:>i{+ i|H>i{Ƀ5OiVĵ|H2 4>i{k,3j+jئrŕ&uemkCavhKI.S grU\׶U .)%z-@Af462y7vDD?$;15S'1x25)61^~oi94{ڀc J;Ơ;PÝ"8((MgIv1|hҴX j%qr+b6i<Əyӝ ^{MhjP 9܌@ph0iyӝ {Mw]{V6f:V7//RA:J lKV1Ebг;[h@y:¥lKVVʡ hUBM'Lji{_9¬4>i{t3Eؑb [;VUuk{2j]Z%Z`BXZV_ۗ,Əx,vi+Fic5PVlXYjnoU/BԶBu\aQffNUp٦ ds9lSI-QEe*\3:bZ긦_-UBړw/bZukbsRlKJR¹Oi?5Oif,옮wj =cBj_ 16>/kVf462y7vDD?$;15S'HA l5 9<0- DCu63[٦4ߋovD8w='w?jr "}pXPyѓy/[Qk^-7~/oa$OI#iIwzcP::j; (w "4dbIHr7~/oa$OI#iIwzcP::j; (wy1ENgD %i'P k7/ڽmFtB+vծrЭW1kbЖQ\Жέrũl/Lldя ]|hǴP}Izڌc4ߋIwM't"tw N@(w Bgw C@Fc>,(O,(O<À4dbI&o$;p! "zNLjB'MGpۤQԦYnDX`.);ಹZ^ 1uH(a*̄$_P1K-FBu[$]zi%rw%i]0bIS4[:ZW+:ػ,,WW5t8GK[ܕ&V淰1{F>4&uiclbA9XcM^c'~/oa$OI4OCHBHځЉQ59{t1,(O<df&K]e-7c8hɼƛ{~; "zN;HBHځЉQ59vc;@<4jڌUsb5kbmEj1ڵJJrf sRV.S QjT!Fu]j4="j4=JYU@-+C1FXV6k{mX62{chƄ.A4cl}^(>&sX1/ii㰒''!$OI@D=E`{aLyေhxhtAp`o7c~; "zN;HBHځЉQ59vF>,(O|hMRF=ʪ\61{McM='t=! "zNLjB'MGp "}p0O=&pp,(O׭K7~/oa$OI#iIwzcP::j; (w [2 cM='t!$OI@D;HA  j檯P2X|hK@0N挀rzoJSI|ܲU^o,QjUr Tb%[rV,S%v%hcHBo+@Uri!7+Vta}{iqUC;U %'|SC[T'[P|m*azpf)]Z>i{ʥv4~݌kj檯P2>i{t$TЂѝJ꺒(`AUU-ZkTM| T۱;\Y.5^IR٩1 dKڶj(KZ4|΄j4=WT9z3p^ۚ1{F>4&uiclbAm\_7X&#jRW%n_:&AW/FBxI+MZ嘪U^eܕ\6WCsM=TnY\mg7¥)e1qf462y7vDD?$;15S'1-7nA9&7t h 2o3w@df 挛7Nt@$hɼƛ{~; "zN;HBHځЉQ59vc;@<4jڌZWWV RU%pK@;Y.02Ʋ\9gnOUr+@!{2]|;m{-{ +e/Qԕ-^^ձMf5kؖ7۱JUu!XZ'|VQzcc'>|hMRF=V.sK#lb<ƛ{~; "zNzBDޘNۤQ  Ќ s._Sc5lcMߛoa$OI#iIwzcP::j; (w (=UhɼA*ѓy7vD8w='w?jr "}pXPyB 7jB 7~/oa$OI#iIwzcP::j; (wyJ`-'|jױ;ಶZJT4rs-][.Ji*RTjNgm{-{ V5ծJj}䪹W^ukk؝Y[-FE~/oa$OI4OCHBHځЉQ59{HA l5 9<0- s`o7c~; "zN;HBHځЉQ59vF>,(Oi{Xi|H[3[54XhHY61{McM='t=! "zNLjB'MGp (w Bgw C@Fj"٩LV563[٦4ߋovD8w='w?jr "}pXPyC"׵2o3@dѓy2-7~/oa$OI#iIwzcP::j; (w [2 cM='t!$OI@D;HA  ʥw%i{gnOIP8BMZʬlN,k{mmz-'UNbMZk5)'+Mc)K =cBj_ 16>/]u8Uj*;ಹ6E4@-\^)]Ե@0JܾtR`&NT.PlS@1 䮊( V4 uʮZ흹33Vr{[ +[nJn[:NY61{McM='t=! "zNLjB'MGp "}p0O=&pp$w4&uiclbA,cM^c'~/oa$OI#iIwzcP::j; Oic;y4d~/i7IwHBDޘN+1aBy [QkWFM4ߋIwHBDޘN/1aByE#hɼēG(ѓy7vD8w='w?jr "}p('ZFt@2VuЖrZN-gD+[j\khVQ\ЖγrZSU-Z嘪$W4%9Vuk-Kezcc'>|hMRF=p1/ii㰒''!$OI@D=Q  Ќy"sWΦk{4<ƛ{MHjl5(B3 PLyထhxhh k{3U\8*أ:hmeRe5ǘ1Ԡs@/` J; C961Ԡs@iyӝ {Ml5(F 8P4lgB)c5T0ZJծYLk"QWW9Oik4~t@.$ܞ淶پ5zؠIؖW;ծYLi+ѝT:Gi_J:JdY.Zr{۱m3;FcPDoftcƍ+Eئb[(R(`Y[j}c$]jj,W4eRdY7hǶNwx A63[ٝFUlKCh*-6iѓy ۣNo7IwHBDL7 (w 獹bؐVoco "zN;HBHbpEడ<4Ɯf }IwHBDL7 (wy+bf7{} ='t=! "zNڌ]S'1<)MJ}ߛy$;p! "zNLjB'MGpEడ<@so$;p! "zNLjB'MGpEడ< `Xi㰒'ÿ$;15Sgic;@/J.Se-FYTqMc$]jcM^c'~/oa$OI4OCHBHځЉQ59{HA l5 9<0- Ly`o7c~; "zN;HBHځЉQ59vF>,(OW9FM4ߋIwHBDޘN/HA'd?cdbIm7~/oa$OI#iIwzcP::j; "}p('ZFt@2VXZsT8i\-=Zj*_4lHűvY)elۓܕVs[62{chƄ.A4cl}^(>W961{McM='t=! "zNLjB'MGp (w Bgw C@Fp,(O/kVrcM^c'~/oa$OI4OCHBHځЉQ59{HA l5 9<0- ?(=zMiy7{~o1='t!$OI@DHA'`nZ2o0P}YFM4ߋIwHBDޘN/1aByI=1ѓy'$TFM4ߋIwHBDޘN31@|i`mFt@2VY+q Zk4kbr{@0#\^۱[nJkbNoh mofE4h mofvYrfJݚk,Qj m+MZ+bZmM4qEP.γrܕW:) &0_;[nJW9 =cBj_ 16>/kVsv2cM^c'~/oa$OI4OCHBHځЉQ59{HA l5 9<0- =1YΦk{4<ƛ{M7ߎHG't"tw NA]Q k&4ߋIwHBDޘN/1aBy̰~/oa$OI#iIwzcP::j; (wy@-w%i՜4Whu+b(hH'qBe=Zk4kbr{|5zئ݌d^폽T4яi1|kbVu\uKjODn_YbTa=sYN^d$Af'p1|d'ErZ;|h(LY61{McM='t=! "zNLjB'MGp "}p0O=&pp,(O40Z: V+LnjZ);ಹgIUTFܕ-[* ծYLkUfOl}К9{Mf'slb<ƛ{~; "zNzBDޘNE`{aLyေhxhz "*lN`o7c~; "zN;HBHځЉQ59vF>,(O40Z: V+Lnob䋭M$淶_gY+q ئ c)KmY«EPbZV:)c5-P2鍌15KsM{cF/c4ߋIwM't"tw N@"}p0O=&pp|hMRF=vn_ PƛO1^ߎHh='w?jrc;y톡3;št#5iAܾk{4<ƛ{M7c~; "zN;HBHځЉQ59vF>,(O|hMRF=Vr`vh|4Wlb<ƛ{~; "zNzBDޘNE`{aLyေhxhb'k{4<ƛ{M7ߎHG't"tw NA]Q 1^ߎHG't"tw NA}Q eƛ{~; "zN;HBHځЉQ59vF>*ܕgnOrV1UomUenJljj$c R0ܞU,W5kb*v4XhKCw%iB+-rŕ!zcc'>|hMRF=_Xb*:)b䋭BBildo$;iIwzcP::j; Oic;y톡3;št#2A Miy7{~o1='t!$OI@DHA'(7vD8w='w?jr "}pXPxs,4ߋIwHBDޘN31@U5\(;r{ծYk{hp,.lSrVeKSU#W ivWVf*1\-UsghBZ#+MY\1k, +FiJ4%늠FʡIȽ1{F>4&uiclbb1FYeJQW1rE֡!f462y7vDD?$;15S'1t]\Жbwes[F=톡3;:vtdgnOSZcTg4,MVgJCs}.5ܞ6f;[j8sf8zcNzlf:N\mFY4?s}UbBM{ؠ/[gqFKuka\9zhrWodY61{McGZ4xxP5Oi'|ۓܕ ЌLofꫳ}cTծYsP\rWH) i0(O,'2*k{}IwM'a59{HAJhJPƛ=ߛoa$OI#iIwzcP::j; (w TnH9w4&iiM4ߋIwHBDޘN/1byq !7L(HBo i㰒'ÿ$;15Sgic;ypIQVک|ܲZٝ=ZSk5E)Qj[Ius[l]us[ٝˇ/ALbUڭmװBlSI\r(Ybʮuofw7sK!LbU6ܞ4^Cs[d A˂Btr(N]I T$'o$ E鍌15KsM{cTnH9wZ61{McM='t=! "zNLjB'MGp "}p 'j8sx`,ZB3?ӈs_7$k{4<ƛ{M7ߎHG't"tw NA]Q 0Pz/[Qkhɼƛ{~; "zN;HBHځЉQ59c;6Hr7cFQ&o$;p! "zNLjB'MGpۤQ ƙ VgD %iZj,W7Z-P2ױ*淲,WW5^"Ol}К9{MړҪ)EN%+Mfrmo`oYIu^"ildo$;iIwzcP::j; OnF>l5 9<0- $R9Nx^:`o7c~; "zN;HBHځЉQ59vF>0(Ol5 9<0- %[",.:`o7c~; "zN;HBHځЉQ59vF>0(O,'ZFw%U4:I=biMWTEWPU ]\ЖUjZd5\aQu\SqBt, j%k(γrQf;{nJC^ę21FYΓ5٥5\aQE鍌15KsM{cclb<ƛ{~; "zNzBDޘNEO=&pp|hMRF=rL,cM^c'~/oa$OI4OCHBHځЉQ59{HA Ќ0,O<9co$;p! "zNLjB'MGpEhy.ܕfrzrKqrM=|g AFlV0~. i+M9E%SU}Ct@-]lSD+5OiKіWi|H{4ܕGp#im^b!\1|H^%i|H1{F>4&uiclbAeslb<ƛ{~; "zNzBDޘNEO=&ppk{4<ƛ{M7ߎHG't"tw NA]Q @i9!7RecM='t!$OI@DHA'l17vD8w='w?jr "}pX4O> qt4 W9]j/3SVUuKkfsEIm-|g 8̋֐eKQB~՝WW9ۓ1uH)Th¸W4%&-ufEBEMΫnqEsBZ;R{XbkmV5Oi:iBM5Oig*慩lmUb1Uom/jC[ծYBBf+a=|k$_*Zױ5tB+|hMRF=zseKPƛO1^ߎHh='w?jrF>l5 9<0- P ;(>Rof~/i7IwHBDޘN+1By 4d`^(ѓy7vD8w='w?jr (w瘊_$hɼēE/gdcM='t!$OI@D;t1`<'Z3*tFem4)Lj%ܥVU}*z3"(5lHrhZ"Ol}К9{MWClb<ƛ{~; "zNzBDޘNۤQD Bgw C@FhLx+ܦk{4<ƛ{M7ߎHG't"tw NA]Q [esHBoi!7~/oa$OI#iIwzcP::j; (w碗BxphM! 1^ߎHG't"tw NAQ L+Mfe6 ]|TE/8TlKZ4|=MSG"Ol}К9{Mfe 1/ii㰒''!$OI@D=QD Bgw C@Fh"3lP2`o7c~; "zN;HBHځЉQ59vF>0(Oױu0Y&o$;p! "zNLjB'MGpE<^tZ2o1$^tZ2o1^ߎHG't"tw NAQ )bLb믫W cs}ՊV1^[ghceےjɌ*4%"(\-]65k!KV¬Fw7Ѧ/e[ّzcc'>|hMRF={]|ildo$;iIwzcP::j; Oic;Q0(OqV2o0P}{S8 7~/oa$OI#iIwzcP::j; (w瘚G|ѓy&G|ѓy7vD8w='w?jr "}pX4O</3Ub>i{MSGWrV1UKXaRڮuz*vZRfW,Tm5Oig*慩lYh|АN!KmIJka\ծ^ڲ` ^폽T4яi1x^qV ildo$;iIwzcP::j; Oic;Q0,O<騏@FMD9((ѓy<HL@4dcM='t!$OI@D;HA vkJIzkLjܕĶ%i4@-ʻVtCic'cUOiǜMSGYʹj[:!\_Z4xGM'4>i{(I֘lKrV-|b{kTSTЂmSG9EM#߷ƵOiz@dRi|HVLe-Ru!zcc'>|hMRF=&vܕjzZL35|Hx.s[Sc5lcMߛoa$OI#iIwzcP::j; (w (<=kZ2o0P}-7~/oa$OI#iIwzcP::j; (wS7` 50z^ѓy7vD8w='w?jr "}pX4O> -F25|H+MSGV*[4^t[c7ƀmSGZj4=&ɂ]}UZm9P1Eomj4= Tt[c7TV4{HBoi!7iMiM #\Az/lꫮcTV4~ЕsثqML1fVw%i%BB5j4= Tt[c71{F>4&uiclbAz/l1/ii㰒''!$OI@D=QD Bgw C@F` 50z_:`o7c~; "zN;HBHځЉQ59vF>0(O0,O>gBJ"36#2HBo i㰒'ÿ$;15Sgic;yS,JIPγP2rz>i{t$T ֩M#$ps,pTE4j4=&5Oi񩆏;MSG'U-j4=L2G[2 508i|HAUёzcc'>|hMRF=EWfe 1/ii㰒''!$OI@D=QD Bgw C@Fs:Q⊮@jlfMiߛy$;p! "zNLjB'MGpE<BC!U5& Pm\HѓyvUQ&o$;p! "zNLjB'MGpۤQ 1H88JZddN|Z2o1$ԁ2o1^ߎHG't"tw NAEhzQjܕ5Kg7¥).,;WʯqUC"P{*(`UQʮN(=Bq*TfgrVJ.u SGO5M#j4P}ʡ k4;\oSGL6֚4x1{F>4&uiclbA*(cM^c'Q-Rb:(=BwƵOij4=:>i{+T ֩M#\cMSG$ƩM#L i|HSG`1M#߹.Y\rVB+rۓbؓ"i㰒''!$OI@D=EO=&pp4&uiclbA*0,ƛO1^ߎHh='w?jrF>l5 9<0- FUcSc5lcMߛoa$OI#iIwzcP::j; (w (FM /bT&ѓyr%Bm7~/oa$OI#iIwzcP::j; (wJ'hɼē4dcM='t!$OI@D;HA Q-Ru: V+LmK0Vw",V6 *r*ZY)hHY%ؕ UBܕjm YܕOiCGG4>i{fJU(hu7%UΪgjYs\е-E鍌15KsM{cؕ c4ߋIwM't"tw N@(wy톡3;št#0|hMRF=v՝L1fVvZU\*iEc4ߋIwM't"tw N@(wy톡3;št#0tz|AkQ\Uof~/i7IwHBDޘN+1By+٦s[ecM='t!$OI@DHA'p0&ii!74ߋIwHBDޘN31`i{+ i|H%SG0i; cMSGVbؓ"ildo$;iIwzcP::j; Oic;Q0,O<C &7@ jR$S5&7@\ TnJ&o$;p! "zNLjB'MGpEh|i`mFt@2VܕrUzcX%Fw%i[h44u+m^ /'a:Nթ[jEܞ5ulP(/Lldя ]|hǴIPβ\:f:)ԥH /ؖ_7%EW^i;rV>i{+j4=&5Oi+ 5OiVĵ|HW& X4>i{]es[Vbؓ"u񪮹Zck`W5k,2+M%Bj_:p뱚긦ԥH /ؑrTUulb<ƛ{~; "zNzBDޘNEO=&ppvtdgnOSZcTg4,MŘc4dcGjP 9/@((Clf:N\mFY4={FM72GnNq:o17Ca$OI#iIw O0bHA rŕ!R4A6D8w='p F./1@<4Ɯf }IwHBDL7 (wQ<ѕV3[ƛ=Hh='p F.EO=JSGR4A7c~; "zN;HBHځЉQ59vF>('(563[٦4ߋo72G<Ə{P {a@4rDLyထhxhhsc5*tm]}llP yӝ B61Ԡs@h_=4{4^Mέ{g_rV 5|HIM#߫\elKX֣,ѓ.[:Nѝ$_MZ嘪淰R婷'+Fic5qMaVY-71|HIM#ߪؖmcZBZ#+MZ嘪ƫUuŘkՕK;[,rT֩M#޹&4~݌gomZj,W5k,jLʗfծYLk KT -ۛJW`Ym+Mʡ'UOii|HlJ+3*w%ic5e08GrV>i{$TծX$W%iUm+M壯[j,Wm}Y[N%mlN,k{j/Z3Mے"lN,k{i;rV5Oi4>i{k, 1{F>t]\Жbwes[F=Vj8sx`,ZB38'('l17vD8w='w?jr (wQ|hMRF=⃊AUe-Ru-%i^Pom'U,ƛO1^ߎHh='w?jrF>l5 9<0- Bx⪯Miy7{~o1='t!$OI@DHA $YV! ʖM! i㰒'ÿ$;15S_ic;y̰~/oa$OI#iIwzcP::j; (wQ<<;USnOWcU[5lKKQU)Ft:ʡ Izj4鍌15KsM{c}^6F2,ƛO1^ߎHh='w?jrF>l5 9<0- 8D6⃗*Ʀk{4<ƛ{M7ߎHG't"tw NA]Q  (8JPsHBoi!7FM ,EiM9-4&hɼƛ{~; "zN;HBHځЉQ59F>('l17vD8w='w?jr "}p(Q-Ru;ʄjXmT;rz MfSI1rTW* ؖV-KgI.S gD ܕP2r{f՝Tůfskl=cBj_ 16>/rյ k9U`/U-$UXUjmYWB\GW,Jm 4`N) QXlSomZj-\ZiviF"ildo$;iIwzcP::j; Oic;Q4&uiclb,WbZl*'XZ)hru^ildo$;iIwzcP::j; OnF>l5 9<0- [Sc5lcMߛoa$OI#iIwzcP::j; (wI!7iMcM='t!$OI@Dt1@< `Xi㰒'ÿ$;15SgnF>rVZBZJپt; gYbThKCw%hcTMSGnk{ =cBj_ 16>/j4=gPm5Oilb<ƛ{~; "zNzBDޘNۤQD Bgw C@Fc>\Rof~/i7IwHBDޘN+1@|hMRF=vhίVsB[[kTLZ4>i{Řc4ߋIwM't"tw N@"}p 'j8sx`,ZB34elU1o''!$OI1?{QjrF>Rꔡ7{M7ߎHG't"tw NA]Q   "HBo1^ߎHG't"tw NA}Q  [2 cM='t!$OI@D;HA DLj3%Ùr_4]FʡIz3١-$_Cf*X5kb|jL s+mf1komJJZ4x>i{fNt3LΈv%h Z嘽l⚩2t[4%:>i{ i|H=cBj_ 16>/JZ3MZ嘽lJjrVN \u^;1|H>MSGi`q{qUCN|cM^c'~/oa$OI4OCHBHځЉQ59{HA Ќ"xx`o7c~; "zN;HBHځЉQ59vF>('`! k؝JDiM7(sHBoZ'RQ:FBx9&7ZB{9Vb4&8ʶi!7dcM='t!$OI@Dt1@< `Xi㰒'ÿ$;15SgnF>:ѝVڪ,j{BW5WN5`1]4 m+Cԡ|+N'oJ1{F>4&uiclb+MZ'Rk{i:M:>i{ͦV4"1k(T lKrVU,I%iT6%i\elKrU\4Xh5kbildo$;iIwzcP::j; OnF>l5 9<0- DC63[٦4ߋovD8w='w?jr "}pP0O5eP5zK3M,)BԶuk8Ol}К9{M5zK3M,)BԶuk8ȋ9mmYCt ]|},]Zw%i\^۱>i{i|Hoʡd,ƛO1^ߎHh='w?jrF>l5 9<0- ,y-61^~oo7㰒'ÿ$;15SWic;y IF#2HBohɼAFRfeѓy! 8G4eѓy7vD8w='w?jr "}pP0O<)3P27&іBxѓy7vD8w='w?jr "}p(Q-Ru;jSnOklU}c)Kk9)MWUzcc'>|hMRF=PcM^c'~/oa$OI4OCHBHځЉQ59{HA Ќ"z\IjlfMiߛy$;p! "zNLjB'MGpE`y*-Bhɼ֐9-4&i㰒'ÿ$;15S_ic;y 85&7@69-4&&o$;p! "zNLjB'MGpEP '*YܕZ흹=-B䪹ܕrUzcU]{hΈ)wjءENjEV٥Bv3Rofw7ܕ:Жع`cnL.8G4d^B ^rz(+U]{3c5-P1\rMU,]bZU+(IJܾubX i;Wjzcc'>|hMRF=*-B @PET"Z(+Kؕ1 cM^c'~/oa$OI4OCHBHځЉQ59{HA Ќ`YPjof~/i7IwHBDޘN+1@i{[Ul]M#,Ə{T ]|j4=(=ܵ-~/oa$OI4OCHBHځЉQ59{HA Ќ eeMiy7{~o1='t!$OI@DHA ޵1{RecM='t!$OI@DHA eƛ{~; "zN;HBHځЉQ59vF>ܕGYbThKCw%imom%iJY\Б\-EHBoZ嘽lHBoՕSojm񥯊m:8'V A&7:T'Ct W W d'V1FXV77leKT ke'rV7X֣,;ծYLJE(a*,аrN60. «Uqj΀h ܕ4,0+M^`˱LJV*iJZW7N4:%L%+M^逝bf ."/Lldя ]|hǴPc'PNԞaUU]}Z嘽l,ƛO1^ߎHh='w?jrF>l5 9<0- 4&uiclb+Mΰ,Жf.S gU5Vt^ ild1hGo[M^愶ܕ{BW5W6HE𰎗(Ze mofvܕrŕ-^l*4%5z Cl{M4ߋIwM't"tw N@(wy톡3;št#1G(k{4<ƛ{MHjl5(B3NQLڄ ƁA@o=63[ٝajazf|jW΋\jX 4==6Nw#,slca@4r1{Ml5(F 8X iyӝ 963|4^MΫmÙ4J|huWnOrVNq ء̃ƃ$^tu)m]UKCu[j昲Bjέ{3RT no0:0/AUuw%jΕU)ft@--\ЖZ)bnk{VwauV-ښ!\tM)KS fjW5_I\cM/lym,QlJ'A 6ՋrVN)ؖ䪹VVC1BPnJX[;[nJI|SD+ZeWږaU_aviEdh>O1яJ ipShHz#rJ]jۓܕ4۱m՜4] z3ƭrUus[VX!:#r[\L+no+M5ULY\!FuVuګ:#rB-V:Kfbг;[nJI|PYZkTU)bM5Oiduom=j4=ػ5of4~U- hpSGVkYM#,ƚcFM4{1톥ӝިr9rРzUs50n3M5+gEX,JlF=&#F'87ߛo'ÿ$;'oj1w NA]Q  獹bؐVoco "zN;HBHbpE`xcNQMqEP il$;p! "zNڌ]Sgic;@(|hثcMCa$OI4OCHBHbp "}p '))Co{~o1='t!$OI@DHA 0PzU2o3wZBzLi!7dcM='t!$OI@DHA 0jI&7tiM2U4dcM='t!$OI@D;HA Df4jγc4$ΕUl+C *bzXJ;V*[4ƭ{3mu[K\8YۓկfrՓ-`#3`^ ^ZieB5,\K]'|jU«f0 *rgj΅P `X! `X ^ hkm \Z/|4.[Wd5bULhA\UP՝ 48G4gkc`AΖ* +FiԵrΫj*"Bdu[qMK-:BK\B Ԗ|eP\r,ΈW%u\,䪹կl[jC+b1^ߎHh='w?jrF>l5 9<0- BsU\/KjlfMiߛy$;p! "zNLjB'MGpE`yE&ѓy7vD8w='w?jr "}pP0O<ɜ46I946i㰒'ÿ$;15Sgic;@(zW\jX 'Z3i#bʯc)K3B[,_ !EEڂ.S d'KMZkTAQ4>i{ H'D b.*3U%pHRױ;lSDۓ7XB. X&"fJE݌ ܕrUzcKg:,-MUsGX֡"r,_ !Az6䩥)ja\w5SX֡":YQFY2jkb֩M#3$i|HA gDn_s}e-Rb&P"\GD b. qM/jo$;iIwzcP::j; Oic;Q@>X>';T3./usr/share/man/info/en_US/xlf/html/UG36.HTMp/$   et<>RTailnors "/AGNOScdfhmpu-.=DEHILPbgy,23CFMUqvwx(0145BVX_k|#)6789:Wz!%'Yj*;KQ[]$&@Z{}+J\^?hdA!|A$94h G4r8q4xㆸpxNceZ__gᵶ4]O-ceZ]qmpf8nNR0` 0` 0` 0` 0`  qmp,2@`AደH$ e8O[u%t[l✙_8QBKأ3Zm)j܀0;V 8 01H];Ii~WbSz.chppцVP*B7յy/Mh%z@X(chppц2‘Pb<s $@(;  ሡ@aO\-W@H:q!C<4a&ĭ3"!% +ŸP  H €[R";V0azjw, lRT'9`*kF1Nb[* 'z͝/, )%%5`/R:ζ90֚*VxV` _Zh,E R"9Ŵ[Aj:aqNm $X$X%Zkh1'grE 㨧S-߉_ 0` 0` 0` 0` 0` 888p!V%ci-.Xߞ̔ƚ<=h4Æ 謹VXV8ӭc:ħv-R;瑾쓾YGVխ lI:_|SͥBUؔ㲭}Mo[:u]O-o9P!oN4|SʅUʑVJZճ(=piA{XV( 1Ep'ʅ88 ѧJ%~Z6=IOolZ -Սi~ԠP=‰V^IԠP=4S(=pwZ6jPz(gZVW7[I8 [)ڔQ;vIԠP=WU'h&q=cN3_9P!*m~ VS| [)ڔQ5 +6TbԘ 69P!u +8eENvN6Tր%'8oղݩA{P"iA{R@ 'ulQ {lZDK/'%eq)jVԠP=¦R@V6U㲺92VvUVB}ӞwMzضN{ŦN{S[+b{[5@JZճݕUm Zh4uC|ޭY>=YO8oaweUd' 9 9j:A_Ly~Y?VktM)jVLޤlTYm${3˴ԠP=Ŵ_=XVv#{I[ٕ_gjPz(R@t4S]-UE5'^t"x>`8Kr>;lKճTei2&_[ԠP=ӑ9ȘPԠP=To_*ѦeÆ@h8(14N-Ӻ`8 84a煂p J A 9Mhz,lNNsMIJEܑZlDjPz(I(ўme[96 9-xNINJ/lNKZգW%rxmV9P!,ԠP=Qu]xNgu1X=19~ )Bl֊ȣ6ʴx/Wƅ|@[U׍F4kV٬ڜF3g )l徭}[8f}Z;v19+,S+le[96 91Nx\@SjŖNjPz()(T0 &8Q5&v!qۨV^Is*'%JԠP=‰5#iA{O9P!*v-Rl3Pv>ղR|O1K[ U9/-0=TO+ڔQ5'}a-jsVŪR\_}ZWceZ}S3UwK{,} 8Z N[תnkl%حNL[/헫6O/խ NZZSOȦ^2b)hovIjW򿜗k`?v2ʗ<[I9A{FWmjPz(I"Ov19*W 7F6)R_ VhaqZ3,R]yP 6408Ym;pp si 0pP ,,4Ӝ[N8a`Nqm$<-;ppcD=FxX(XPx$D豲;M94x[i'5(=rEiiA{i'ODԠP=ptm4=5(=qm48pܲ_-$JZJS'kՕ;FZ;l.brVXlJE*m5(=w*Ym$E0KU)QZxFq{R@ 'mMJEv19+,P'ٚ /rBT)9i'e;7<ӭK4OeZq)j%eR@ &ZEy&R@zضNFأMJEl56_VYbJZհ6Սix쮬NLճݕUh4]A=޶-ӞqiӞ|6J؞}6MlP'ǫ)leUd&[A=V 9j:A_-wVhOVS%-[]UY N{ŦN{Z1Nl/W%ey_VhOհl:eFrJZճ+b{[w ` " |aI8$Nw)!)heiZ_V*Uʙ*ճ)*!>O%B&)խNjPz([ĥ9Q}[>FӖ[4ٵ窽A{miA{NjPz(㸧!Eke㲭jPz(I^*+[/iOeՍip|LfY+TNZ'mhapg^Ӹ ` 4S'}>*4 -[Gt02HP$=FxX(XPx$(cdEhNsMIJEw(lvUMJE[I9,Ӹ ` )(T0 1ƒ:,lNNsMIJEܑZlDjPz(I(0{R@4="خ[(ruf\'صJZ+Lw/[R@$@*ӴӜGsR@$V6x LI[I8G)t=IOzumU< {7~A{MJEZu]xNm*bPKVʴ z3W-A{զyխE5͓άi'T)lJE*5(=w*ʝ:NTʴRջR@ M{Ԓ岛[}[;R@ MJEՔ_!OJ8yZӍ &WUؔ֙Vlue<_NjPz(㸧!Eke㲭jPz(IfvǼphQ^^*ѦeÆ@h8( si 0pP  14Ӻa@((4Ӝ[I8 sN8aƼ@q0B8% !@(oEiii[I9A{+MMJE[ITX sT ySWU(hP/ 5jlP9-5J}|=4c*'5|Z4NjMRP(j_ VءsTZj*'5~TI[I9A{✅ʴiA{i'4=FxPPGx@   pc7گ 6T)lᕢ(ͣ8l4|bq/l֛ӭFmiՔƊ}j{Ԓ岛ﱠ݈Aib4tlyĥUT)lJE(5ceZ -t0A@Pci-t0A@Pci-t0A@X 4Ӝ[I8 sN8aƼ8 `y`cC )ceZvshNjPz(b&R@OE  ?{R@4="4{MsMJE[M$-~S-0%W'Y>dLIJEw(lvUMJE[I9,Ӹ `yP,|Q^PqDO1p% J&b:[*'6Tά ؎ZLfVά_U׍0Ym$-Zu u%lOkiem&(OJS,hWZVg)ɕԠP=ˆ4ԠP=6w*_-ሇ82 ဗ$Ӻa NtΛ6Sz'^V_-$t[6wiH9H: gRV+Ėgճެ֛Rzi 0pP ci-[Gt0^q0B8% !@Q豲;M94x[i'5(=rEiiA{i'pa8bi'qm$䬲V[;KE+Slzd[.,sR@q')(T0 Dz,lNNsMIJEܑZlDjPz(I(A=J4s[M$-F_ʟVv19+,S+b{[r'hYG|mbrVX&W[R@ MJEʴ+՞DK/e}[:Y/Bڔocg"m5(=pO+Vzq+L^ԠP=ˆԠP=ެlKZ;ج~uN;*[=ul6\_gxԠP=H 5(=wբM1NxĖkyߕ>brTFɭ؎Z6_}/i'5(=sٞ]-V6UNճ(=tiA{u]xO)JlZrex8 ѧbi'5(=sqSV5(=qm$;N84a煂ŏp (FTJ88 ѧ%jWM9i 0pP  14Ӻa@,14N-Ӻ`"g <,,|RP`< 1§ceZvshNjPz(b&R@OSh4!Zh4縶I[I9,[/lcFTJi񢝧q085Pcʁ Pᵶ4Ri8Ym;pp Nqm;pp Nqm;pp Nqm;pp Nqm$<-;ppa3xц >)(T0 1豲;M94x[i'5(=rEiiA{i'ph4縙]˴iqi DD 8iq2iӞI[I9&19+,ճ@nzMR3Z-LFi'5(=sٞ]-Czz2<]L!Sϵsʟ"ݒlZ-|Ӎl}z^#J$^f=kOalZ-3]6+ﵴJgV’u6i'5(=pV,nR@Nbfz)6-Rh߂!\]ħ?v"lXG[I8YSҿ*'ǧUؔV|Eke՟U~Ym$~N;rV^;*Ѧ-ԠP=„.ħ; ƚV:ЧV_^ԠP=I[N8a8$4Ӝ[N8a8Qi888p pNqm$<-;ppa3xц >)(T0 1‘豲;M94x[i'5(=rEiiA{i'p@!ӞMN{$IBK s<ɴip <#ڔAIBK ƚ暔I[I9&19+,[5l^@ntuSUؔ㲭brT/doֈzW{٤jό_v19*W|wUؔέm#}ueO>_ :ħi2hSEIZWceZuk9JVd}ceZq)RtEg$/Y=ƅKVV6Uuꤕ)ɕJE)SMJEӍ9_=X/ 6;*r}Zۓlv%3jFV^;*YbFQԠP=„ԠP=ެl@ԭ3~rCqeQ;do*yO_V6K ʴį+]˳=򧊊KeZFeV^4OTTTy*Zrex8 ѠIJE8N+jW Ū){R@/Z :R@ueהe]صUYm$FrgjPz(L4ԠP=<;彋UFSl'KG e}w)*Z-u]ORջR@ `MJEصTe՚mO,]U%"geLN3(/lv%<18{m]ʙȦ$صJZ+)j޴ϫGzql֒ݒv;*g[ /e>T)JxeB|Z[{burVklJEܽh.MJEn۱y(15B-6FjPz(ւδԠP=YONjPz(q]jPz(I=Ŵ8\Nj@)L.i*`Vtv-UK ݀XN(Bw`EbVS u#,t'vY`; ݀_,\Nj@)\T(-R.`U,t'vY`; ݀_-Lx9buv-Ue9PR;Bw`E: ,НQei'qm$~N;rV^;*Ѧ-l򢵲VZrO)lJEŪMJEE;ni֍ b۱9A{1jR@t v@*-[(4eÆ@h8(LsM9ŴÆ@h8(si'ni 0x׃q0B8% !`A6Ui9 qm$H6"m5(=qm$sHiӞSA=Ԋv 9(G(=sC(+MsMJE[M$-_-[hӁ@[pmp(صS_Iʘ6/VHWlfqbOfG}֫3SU]Rr(/sHiӞ+bOfV=;LN.,sR@=jPz(I½LV,B{R@ v֓+⪸DZj3lWlsxBӌlճ+YyՔe<գ6ΝiLOqNLmJEA!G4ԠP=I[W6<9S> ^UVsږŪ(ͲTIUrM6O:\'=vo3{7ϫgjPz(Bb-5(=quceZ -ԠP=X+65(=qm$-A{;MJEʴRժЯTXbbҎbOfp0ymileryoU|9SsxVi{ D푾x._jPz(ZjPz(N{4s'%ezE|Iw#h)ɕu}UZ/T4S2_|koV[x6ˋJE)h4纑_.A=brVYgW˄wʖgZ\'^Ū(ͲߵLEYƞbrT^ϫFUKղʴ-2:mY%݋UO;^B3xkoJŪ(ͰYm48sR@?'9 +[/hR@NK3=F1„$z,lFsN-Ӻ``x$, 3xц >)(T0 Lp*Ѧ<-Ŵ8)QZxFrYq0@c 1„º,lFsN-Ӻ``x$, 3xц >)(T0 pceZ4ӜGsR@?'9 +[/hR@NK3=Fx(,|Q^8( ]6UM9i 0pP  14Ӻa@ 14N-Ӻ`83xц >)(T0  pQEiii[I9A{+MMJE[IKf%^eM1Ny~JO;7>}ճ+)uN;*_ t'݌NJJEZA"H[MJE[M5$捃 sR@4=h{jPz(Bh14lѣ\BI8_-[ӪJqVKoӭ62 VHO7 ZIlN2)$ O+ڔR@ -4i'5(=sٞ]-uN'WF1YSղV>jQolW-O>euʗe|- 㺌_e|xW1YS LVT}mb)KLs $صJZ+OgQ+b%W{O=f3FWoڗG}&ŪR\Ym44$;i1NO ֊}[9:E/ꯍהe׭9e7U0_gWbSϫJ쓵YS8nԠP=„#9F)V7*#iR@xY}[$'_/cl :`pP  :`pP  {߫amJE܂'<" yM5(=w$ʴsIBOD0rIs9 :5Iŀ_lOG}+kD"_)f#9iņ%B_Z%o9JVE(S~דΥiJZYޝ;*,حb6J/b)h/#08x @ _S-/ !> A| X,q, `,g(/|$Sεc|SZX#)ͣKʅ=n_8$'A@ /8 7\ g6J)E_QNKiSxZ-i9ŴSh'ҿʅ<]e)jPz(jPz([vf[,)|hO[N')xE(S}UZ%o2_֟V[[eZq)jҧճZleIP0B]̧=U_'LqOXgN)TRS|g".qLVDrufFˋ-sF:fSh14lѣ]l{ʴc%L{[x+U|ziJ6;7 xbufSm6}@)Ė[-oJb*)*lD)ӪVMtصJZ+i-]':ħq)jV7eBWڔPg"})MJEʴ}ZمݒuceZ_F2Ic8obʅ<}4R6S(^c:hAeѣ\Nh9R:ͣ2h14lѣ\A_gjPz(GYfR@{NlOU~A{e=iA{XVW.brVXO0Ue#}*x=8ovUVI)SӪVMا>uF~3J/NHYp'w%3rʴel_fџR4ufFkoR`'h dm*}[<]hNezzl-Zu }9֨<,U=U}z2<]SZuVJ>SlWʟVi[E-)Ӭ^[>ĜYm=ŶƎ{l$@a z #"g 4a`xE(S}Uv+L_XΝWbx&\lgR7^WbmUU_gWiH9H: gb*)*4&q=wKJ;+լQ,S+٤O+*_-[9<)*J=Uuek^,tSzȦ^,yS٤Ae$Cȸ4kh.-4i'5(=si'.R@NڔZjPz(vIՍiԮ_һ⪸ЯٔeblJEp|:jPz(H;VV6BV@~kRB .6Φ];H)NӸ `y@,|Q^D@!D푼SkU0)j܍JI8σk6W@|hKm&%B4 -ԠP=qNBeZ4ԠP=ŴEYƟrsWƞ6JgjPz(q R@xDW7-EUq=92A{Fr)AMJE+V|PVpmJEp|:jPz([v E=$G  ݀@1ճWPVw GyЃpۢʴi8_ҿO޾TJVUUmUGb]IOn,88p Nqm$<-;pp<=FxX(XPx$cFɭceZvshNjPz(b&R@OBk h46Min'h4縶I[I82VwKI5})K[:u]O-Ӎ9LZ;bѡIPհ1X=ƞKjc,lhrl^EŪ)Ngգ8֓+4wcO֕2i 0pP 14Ӻa@ 14Ӻa@ 14Ӻa@si 0pP  sM9ŴÆ@h8(&9w@ 4Nqm;pp 9w@ 4 LsM9Ŵe|ݦ-d_[vN{d֖zͱN{mYmEŴ6h1gki 0pP$ci-F53^;$9f{g~6Min'=UtPҦ 7e|գVςx;*ej|)N|}[=xܽ[:u]N;*ej|-sF9A{5(=qm46hѮg{3Ogs5L~ՒygS3%yZ'%JԠP=„šjPz(|qyZ'%J[;R@ M5(=w*Ɗv!&MJEʴ{Re~cbUBE-TٔUovkj<})K| '-5Lgi{0< XƼB8(-7-p*<6FT8(Q9oAZ_)4uknle;N v MdXVgjPz(B α֚Սivdg2Y1OZxNiJ'Y1BꪢVYdԿ'nYZx<%Q, r^[N8a Nqm46hѮg{3Og6v$YO=iBDă:ѲQv'V\$Q9Sվ}Z;l|S֟VpSaiKz@8)4Ä́A H6q94Ä́A 8 X 8 "xXKni֍ b۱;D PO곬9*et֓+՟v19*WӪJyoV6UmJE(@4ԠP=?VϱL_D引Dă-TٔUw_m$_VӪ֟k9(Xg^)*e;N84a煁85F81hnyPᵶ4BxբMi;[u3c)_ҿMj<ճřY.brTjPz(B8)i'AlJEj)zMJE:=Uv iA{XVW.,W8e~jb8ҕO>jb,݈Aib4qm4h46m؍<ѡLQv#G4Lm؍<ѡLQv#G4Æ@h8(sM9Ŵch9Fb4PbkF1GZm؍B,(Q9o^`ObQN':b4PbkF1GZm؍Gz+ӭ62*3-w̧/խ*euel-b4PbkF1GZm؍Ym$݈Aib4q p(U0'jyR`'ޝTΝi%BlHϔXZI݈ܶAib4t})KZ;ĥ93OZp(XgbqkeɳZpD墫I-b4PbkF1GZm؍YmZ4)8"nhhѮi'4l۱y(15B-6Fh10 -b4PbkF1GZm؍ӺaH 14Ai`݈Aib4p=8ٚ}[> lI:zƅx N[TK,H3(%amZ4)8"nh'V\_ҿ$ʴƜ{=8NWbS yS '--b4PbkF1GZm؍TM{eٞʅ=IOzuS:+DʙKOeZ_gt݈Aib4u:Sܞ-IUrM^$SٚzӅ '-%$[ni֍ b۱9UhѮi'4lcph14lѣ\*N4fVςx;sά^pSaiMiSgi{0

            (9Bk pQ>*Ѧm͌qeѣ\Nh9Z8)2h14lѣ\*N4fVςx;sάRސ l 6sai8M׊kJ/w <>(9Bk pR}6UM9Z۩NiFѰsA[N8a $4Ӝ[M94kEYƞOgbNyՔ֞4+TK,H3KR$;fy'uel-UY}[9*ep Z[y.|ޫŗ/hһض_)TղܕDăjbUEFsI9`m;pp A&9h14lѣ\*N4fVςx;sά^I0sm"xWZ6PJ6؜uZ{N,> lI:_[}[/U^%zuT.TٔUzW|Dc)Ĝ֜Dă=q{[ WDq)jVo}ml+׉_fi׭u^O7ו*̧/l3VY(U(>,\Ym4h46h1 X+ӺaH$(4Ӝ[I888p A!f9h14lѣ\*N4fVςx;sά^I0sºѲQv'V\Y`N,> lI:_[}[/U^%zuŢ/hW|Dc)Ĝ֜ `NJYbA*'6T rH{ į'ʉv#'O> l)NJYbAѲQv'V]b4PbkF1GZm؍qekoRB9OʴZ-zg6ϫGyZ'%J[=ԠP=„#diA{vT)ĖrgUؔS[_-YxZ\YժErC-E<2xf{L{ՔV N)JZGdNyڔPl5(=wnʅ.՟udйhI"N6ղ(h}[;ekeD^ŪR^TܢVcLҦ_+ټSFJ MhЦ(Meejh N;z/ }[;N84a( 80xԠP=„kcMJENw;xцƼz01JE(AjMJENw*i'>Q)2kɱ՞'%3-[{7ϫJl@/.-H8Yb^6+ӭSk׈C<{KE~%%2ezDؓcbڔ:R@yZnŪR_rd'֞3mZ4)8"nh*_^Ū^3̯ Wһ'%JЯjPz(Bk4ԠP=޶-q0x=9A{k4ƚV6U-LV,}aoI/VΝW^d}U̧/ꯌصS޶ii +VxiYb)h֝z>zݔZ-h\i٥aqN۱y(15B-6FbO/z'6Z-+Ռ6vU/iH9H8VŪR_Jsyپ)OyP֕38ӓlN)⅓klT)پ)OW-޼SZTv19*Wq'<-A{FɬR@{P_YPz(.Ū#yE<[42kD푾t}/W>brTճ(=uR@ԠP=ָ &R@pRm5(=pOjPz( iA{{R@'(=p4ԠP=!%(=sV iA{}mv#O%&hSpE݈JEM5(=w$ʴ jRL>݌NJ#hv!jPz(ʴ[M"A"Ajͻ^hZW';ekeD'=xv#O%&hSpE݈c1FXW>brTճņ-V-(v!&MJE:3qNSZTrv#O%&hSpE݈ɭE=J$/v19*VT)ڔPl)Ke m؍<ѡLQv#GllS6T)"x+֕3Js򘬷վv-Rw՝cALVTv#O%&hSpE݈Ҧ/!Z"9M™n319eiTK,H3ܭOb)hG{y{*LfZqB* b؜*ӈ҉9mz>*SxNVR(=p50m5(=p9$@ 񢜒 ` Z-hlZ׌2JNx)brN#J$zT)<ű9^Us˖Ūw^Y'<=Uv!vMJEʴ u_:$%-[(=p50%`'(=p50%`b4PbkF1GZm؍E;R@ XcV4ԠP=۱y(15B-6FjPz(Bgj9P؊Սiĥ9.Ū# `NI0s‚y6wһ"x[ni֍ b۱;ƊrH KI5mDă;y{[M"A4NTٔU)jǍq o/e=iZ/ULv%)(T0 BceZvshNjPz(b&R@OB0ڔSMsMJE>SN(D,4cA=iӞI( E("4VêO[r5.lvUiܜSYTV^;*ƊyRfSVݛʅ>{U3M\'-Xblx+>6lbPYm$ g݌NJJE(B;iA{UܷjPz(BݰYjPz(gU̸DT)}صTeVJ-l.TܲӌfqVu+L 8pY'<ű9^UIJEܓ$ʴMJE[I: gjPz(Bgj9ԠP=쓫*IUrMGpkض_,#khlvU֓D)L{G|mUz)nTSVZ;l-t0A@Yi888p BsNqm;pp 9I[=vT)~VN~g:\ iNh95(=sCJh{jPz(h14lѣ\6Jb^EO&q=գFﵴJ`rO+[:Y-sF9BsAi`VܿVuʅ1YS}IOohT)<ű9^U2w7t)꯻)L{~V'؞ D8暔։_R`'ۀ_-xb!Ď ijPz(84ԠP=WZqOJE 3MJE,DD1DGb^}jPz(C 3MJE,DhyNҿ$ʴelճ(=tLNjŦ;FzT(\@PYm4h46h1[M94kZrY;*eM&q=գ6ΥY'<ű9^U<]P V:u]Wݔ&q=hyq# D"@fUz)A{8 pH4ԠP=iH9H9A{$Dp85(=wS{R@"Hp5(=pii\[I: J쓫*VԠP=ӑ19MJE"vPʁ PhѮi'4lc'2h14lѣ\Uʙgb^*VPM5(=wJEܡ9-5(=qlei'Ai_ݒuceZ{`2_ڔr&'5X_ABR@xBڔr&'5X_@qiA{NѴFm*Aeѣ\Nh9(NlE@Qm46hѮ%V^VxUzKߵ(=r iA{hb*_Ԙ b~4JE<iA{o%~zufjv+{Ȝg)JZlZqOR`'ۋ崓:=A[/lJE9/qiA{hmJE9EAqiA{NѴFm*Aeѣ\Nh9(NlE@$ sM4h+[/gWŪvUoڔBsZjPz()؊&q=X*_M쓾o*_޴Ds+v- Fii\[I8WyPjPz( R@z۵(=rT4ԠP=SZTˋ- f'o5hnv>W-U븧QLP'o퓎ʴcKV.[D T<գ6Ūwb*)uWһkTʘii ճkhv"ukoeMb اխVJ-l+}ʘ[R@/ΩԠP=?Vy'%e}jPz(96j5>!Tڗӫ4߫g=}؊y阦)ŲMv+*ng[~ŪwlEE1AeÆ@h8( 14HsHq|iMy'fNiJ'Uz)qfly_ҥ"e1lNWi'%dWgRT/$=i~@(^:ħJN%oģjJ:{Ħ - Vzzu]O>vUf*x-RJZճ+mJE(B,T'67eB+ʉ֗)A{ER@|ݕ \'|v!zՍiĖtSVliH9qm$~N;rV^;*Ѧ-qL RfyQZxOZv-U벭{QIPO%0͜.8K&/E:WzdWbyp|Ӹ `y XƼh0Lq؞/N762!v%j]iE9(Qew G{E"1„-EhNwS.O/JoV6UգJ_A JE(B,T'6$le|UWn/G|m1X= QOX)Ԯ_һԯ TRT(/W>brT'][ڔP3iA{hհ!vMJEʴO&W(=pPjPz(e*'i 0pP$,(4Ӝ[N8a!af9I;xц>("408i#*%B,(P2[Э$KL{e<S Ɗ4ӝMTZ_k׍WTxUg"vRՋ0VSZ;՞WbS8nԠP=„"BsiA{ӺaHX(4Ӝ[I8 sN8aƼ084a煂p J A@9 S[:,lNNsMIJEܑZlDjPz(I(A8 ,{1Qh4t'v"_,@Bw`B%ӭcA=ɕNyv 9 ݀4s<ɴipN(DLiq2iӞНP 12iӞНP* 0`E0Њ@,X -xNINJ/l5Z+";*ӫ[xY'OgeZuҦ . gN)7ZW򢵲Vkgb)h+[/'?.'(ezsXc-iGzq'fSmp=m 9':h4^Ū^Rl^}UGchN4|u#5Ym$ g)Q/qOfW-UWܭZ-M)}'&➴VhoKOeZz۩N):YfءjIUrM^ճřN7J婊re~A{k4ƚP jN4c~֍}wWӊkguWbS}N^ű9_&W1YmUF$ٜmӊk`d㸡ucdK-[}ZWceZ}Z"9BWОVپR;瑾Oz[R@ E 񢜭Y}seLvjPz()ڔJ5(=qwdXV[I9A{fJdLMJE[I8qm"AjR^_96wһ9l19pv19*WL+Vz,!J - h߯[gգOZgU5'|#hԠP=„kcMJEʴ^];H|kyL_ +Vz9/- /kQOleSeBJZեV6UO_[gVoRZ6{I_gR;S[>zļ:qMl[M"A"Ajύһͳ_g88{ l+}پlvB92s}Sl~O7rkֈ{|5zدգWo}Z4^Dsμ|)X=V\ROS[>lS-h6)Vqe$CȸsR@$:.R@Ѥ\[I9`ީh4續O,A=Ŵch9F&19+,ճ7rFZW_gN)_-HsF8[M94k؞^,1t[M5$捃 p$ sM4h9ꜣΜS[ iFѰsAh4纍4s%ch9FӞ4ip(ީ;!54kh.-sF:,Ki4ѰsFqW8ez'%dN):YfV[:u]NT(ZMiS{_߫gO>_mԠP=„kcMJEʴR˧iϑMo<ɋ-sF:r h4縙]˴iqm46hѮINJ/l3@nzl5Ym4h46h1א 9bew.A=Ŵch9F&19+,ճv3ZW5Ym4h46h1U`a4"E4A sM4h$'%e}*zӊkgգV|ݕ _ņ&WB|oլQ+|ሇ82-H9A{jPz([vM=:NT:O*_l{*ӧiijPz(5(=wR@(R@ukogR;S[ iH9H9MJEaz۵(=tjPz(mļ:qMl- EŴѣ\Fqm$~_m$UjPz(Ijϻ+lV q͜VtӭFmiofil-T6]fճS#8{ ˄o=:apx -ٕͭ v S[jPz(V6U&W{Ėrgwwc~A{-]iA{XVi'5(=p85(=qm$W4YZx<>oӪLSʗ2ʴHKzqMlKeӊkgTPJNQOx< 7|hZ7, &Ws9S.I|R!|P(A8 Ҭ`L`$ s0` {1]YO[M$- f+[/'ZܭRվWrwWN)=*ԠP=„kcMJEʴi'wsT HB Wx3JmJE<ɌԠP=]XT@ TeN)40hԠP=  s0`P,{1]YO[M$- f+[/'ZܭRվWV2R2fJ(=pR@z.I|R!|P(A8 jPz(* R@mJE<ɌԠP=]XT@ TeN)J4ԠP=[R@Orc-5(=py0 *`Xc TI[I9A{✅ʴiA{i'%w G|ck4΋*ѦӸ ` WbSʴ2T-Y fV_Ɗp(նgYyխ6O:WvXbPYm$řjPz(I[:Y_(=pӜiA{v!uUiA{XVW/Y1OZ/'bA{R9S.R@ -ԠP=qNBeZ4ԠP=Ŵ;xцN@kj( ECN{+E%#>Uؔ㲭h4繦*}[ h4縌hQ:xSnA=5UvmuknqqdcBĦwlxC@sӺaHXci-t0A@$4Ӝ[I8 sN8aƼ0y"98 `y`cCPc&mWbSʴ8|jN43U3+e}lf)p=Mo0% J;R@!5(=qw/ۄUg֭&& tۃ}:76Ք4SL":ħiĖ[-U<-ԠP=Ä˴ԠP=Ŵ9#HA@0xiSA1Nyqj~ ,p` DŪQc[M$-BV v'=:ħ*Rժ[;R@ NM5(=w*K2LNq\4ԠP=4SJ_|xf ]NT)ĥv ZjPz(DʙU4O/ꯍ%[2ʴ:uS=NV_KeB:ʴwJZZNƛ~O~6(MYq'TI'OKV_6Il[/yV[I9A{I=ivqm"D+՟v19*WڔPzU5(=w*Ɗvo=5haI֗K6-N%-[ڔN"R@xأ+4T} *%[(ԕTOeZy_0yY9奫tKi5hni}6_Mh)[Z_cMqv'O*}[=Qm^L窿Vl)+[Ɗv">x)jŁj'-)Y--[Z_cM8ySewZZNƛ~o|SJog 9<6FZۜ@ƅLrDxNӸ `yHXGx@ 8oyP:_)½[(zۃ lf4Ӝ,88p A@Qi888p A`Nqm$<-;pp84a煂p J Aaf8PtXV<-Ŵ"؉ԠP=Ŵ8PpjPz(懸P*24=5(=qcAjPz(懹FiiA{i9ŴP4ԠP=Wyօ:[;N84a(< )ceZ4Ӝ,88p A`Nqm;pp ŒsM9Ŵh4ÆE5|Z%olrDO)G/U/{*ruf_UVVTZ%n,sR@=jPz(I½LV,B|{73։^iIDG:_)yVLNqvNʒBciD+x+_ʞ>b)hEE5|v+*ng˶+' ZWZ~gE5|x+lW-O  }[8f__ab1Ny~ѡLճ@nzlVTZ%EHsHtlIOZ}[8m(_ޜiySkDSm\%w #buN31Ny~if>Me*iH9H8eMVTu*v-R8wZ"9ciDTJ6J'8;[\Ym44.-ԠP=Ä˴ԠP=Ŵ9b4PbkF1GZm؍BOD0rIqH۱y(15B-6F 9yy  ŶFJ MhЦ(M"A 8 ۱y(15B-6F 0 v#O%&hSpE݈@ 0mZ4)8"nh Q-b4PbkF1GZm؍eFJ MhЦ(Mq!s@(m؍<ѡLQv#Gy!'*oM E,݈Aib4rg?Flm؍<ѡLQv#Gy!'*oM E,݈Aib4p[M$-t0A@X(4Ӝ[N8a Yi888p A`9i8qm88pxi{0eM؝JR@n_֓*^A{q&P[Z_cMcN;*RڔPlMJE_(=p%lOd#$M}iA{|hO&WřOհtKiA{R@y_wmLSւi'5(=q(MMJE[I: gjPz(B'ƚՍiĥzWsܤp9_Zh46UT}`W݌NJJ؞GriwmKbtKiA{Wzѿ'Oژe|{UԠP=„)U%lOd#5(=pIJE܅w.R@<1GAŴ3=ԠP=„=4ԠP=4S(=p UI[MJEʴB8V\'=86RVB9SdU_ ]옞}qe$$3z;A=J؞GN{Ӎ9דWbStM-I[ii(S-ӭ/]*Kd#iH9H: gMh)ZA{5(=pOjPz( JEjPz(ԠP=f5(=pImJEԠP==A{4ԠP==:B|h'8!Ӎ)]o?m"2ŧZ_cM[M"A"AЯdN6SZySP[Z_cMգYȢپq)j|ceZ\'=8oV*qkVx!Z}[:u]xB*`[|O[I4P[;R@${8ip3MJEԕ=y_ȥ+lPYm$~N;rV^;*Ѧ-gճVvǼph'`H x`ԠP="9i8%lOd#Tvmuknqw#f%0lxC@sN:V_*'[[߶Bni}68ӔeģjJ:{Ħ_[uL:6϶)~Y'<ű9^UNƛqeʴW/]U\Ozu4)jh$X @ [>2S"+_H@ @  7 }e9PRE%W_7 O Bx_/JO:S-|f3^TŪ^F/쓵YS:&_3eVI;yVGc`@ @ olhrNK|[GcA"@ @$/єBI_lXG/ťMyP'W ү񢜯Z^JeNW-b)h/0s&_q&_QBi'qm$1lN)?VKE~ťMճY΢R@,x"@ @ @ H@ G"@ @$ᥴOIZROGxnԠP=„a6Omű9^UqAe8)QZxFsN84a(8>1„"Bs豲i񢝧q0x׼qR S(B@ntXV4x:rLf)lolKZ;Ӎ ^xԠP=„a6\ԠP=„a6W{+VK+Z[_eՍiqeÆ@h8(si 0pP$ 14N-Ӻ`H0{0JE Ta94ԠP=ō$G{R@4="4a暔I[I8Z;*:Vg~N7=ilJ+>J'2qlT8A@niپ}gճlzͳ_|ؓue<[I8 [)՟v19*WڔP'6Սhlv%<*:jZBySDZjWEYƟVvokYXA|eb}8*gc,lhyQZx@vS[|^+ټJ`OV.N'YO/h+Vzu]ORվ+NjPz(OeZ]-*]_v19*WڔQFՍiĖrg݌NJ-A{(siA{ӺaH 14ӺaH 14N-Ӻ`aćǼph  *(C.X΋*ӴӜGsR@$V6x5(=sC(C.Xƚ暔x W.Xڔać44ԠP=#DrA[M$-_Q/g'n#:kFOriPxyijŧZ_cMOIoS. 5ho}Sަ];I,Ӎ9ӭ7yZ'%J!JӋR@[98u S^q5haeu1X=P7YVuk9JT(EŴT)ӪյWul ѧN)徭/lB ˧3m,,DDQ9S15hk7w NT˄P֍庑؋djVXV?VZl,19~``F3g.NeEmܭ ԕ=_*}[;KEp׈BT)hL+m[M"A46%ilS݊eB:V1'nMh)ZPb7)kUvhѡLP'݌NJJE(B˧1գV½JJ)Bbrf-h/ӫ3Sw;R@MJERy0Z6{LճřnʅNjPz(q]jPz(I=Ŵ8\qzhu%0ƞ*ճ՝a,]8˧0Z!  ML R@i`sT qcX'S3ʮħi<`A`HX$eWbSʴe4Ukn.Xj,^"Ζ_,\Nj@(B˧3Ӌ-R8=xʜ`uWUv%8N  , E *vU)ϫ[ue4Sx)1YoKj❌yټP$DYm${3˴ԠP=ŴV9$ҌlW-N%-[(=p6_gDzAĹlW-N%-[(=p;MJE,pjn*y{TcN$Sr:WT)ӪJxbRջR@ m5(=p9$`a^'QvE1A|ߓ…NZ/ۋ-Y΢RNtY{*ӧx8#VvT%P^yH(Ol@@H$`pH $z`pH $08$ _-xNjPz(q]jPz(IJEw(lvUMJE[I: gD|NѴ6JaSKVpqNWbS ᵱkEke㲭=il}6\'3AèRT̴SƊrl}&Iڬ쩜6+խdxNW-Oi -t0A@14ӺaHsi'ni 0x׎@0xǼph  *(C56Ui9 qm$H6"m5(=qm$!zJE pOSX CR@8 =A{`iiA{i9ŴͿeXI%BTV^;*ӫ[t':ObOfeIlKŪ(ͳe˄NTfyԎ_#[<@[u3q=-y]xkeSo~WbSʴ[~LfOJTV^;*Ym${3˴ԠP=ŴޝWbSϲ_{R@ =M`MJErVYgNDصS+*KeZ_Ɗ{bly)ת:؋-vʁ_{R@ =M`MJErVYG|Sc?e|ĥ<^c}֋؍*L 9Rվ:v+E%BFW\2Sn\hգLNqvUUuNNuL!)ת/l֗)i 0pP$sM9Ŵh4ÆfNg/=UySm*^IZeŖNjPz(QvrXmϫgbOfJZN.,sR@q'+>8j[R@:ԠP=WOYWT)lTdʘ]vIڬ쩝LVTuNNuL!G|m_-A{R@8 5(=pOϫgWH7+}'jHsHrm{U2V=\QfjyU|hWNTfyՔ -b4PbkF1GZm؍q& vhZ۱y(15B-6F8~  hZ۱y(15B-6F)صJZ+۱y(15B-6FI lI/hbQ{2Vxvgճ)*F}TŖN +V{7ϫgjPz(B ŚjPz(WbSz}i2VԘ )գ6MOxoJYħVeA~ eZ|jf[R@ UF,R@gj5;7-30VSSDZjWZ[~rBT)ĥ9W|bYZx)(T0 f8P:,lNNsMIJEܑZlDjPz(I(AY 1ӞH^6)*4ip@8h 9-bM[M$-BI8_߫gg}͓ŪR_TO6O:4P#9c[:*gP,tzd[/'%eq%6vT)lv%< NYU*0e4S(=r@R@t[R@ Vك 5(=wLV,zճ(=p 5(=pOjPz(9iA{KjPz(9jPz(ԠP=sT ԠP==A{ ٦ 񢝩A{ iA{N)qe8)QZxFrYq0x׆p(A[ftXV4 -[}[;|;xцN@kj(`IqVi;_Jfj˄vǼph'`Xpx׏@$4s!嗕#1e(=p&>VխݩA{+8^4ԠP=i'5(=q(MMJE[I: g奥|G'~V_΢Y}^-4i'4lc[M94kQZxHϯJe-~ 8ʟV _VVfRA%g~{7f3^}+ ̭4+ʴ+Vm؍Ym4h46h1-F5cBĦ {Ħ\'ݔի|Z2)٢oamJE(BqIͦceZ [ QI'oyzVVs8У1)Z_l{qeѣ\Nh9 Ai`26SJe-|Z֊KeZ_޼- ̭=iNV۱hO&[;KE+>mlOEFsI9`ch9Fu[uLqkV:IlKZ; ʴ.jͻ^! v-R:؞lճ.T)صJZ+BصIĜ>O> l(,4kI4Ai`G--jۯJe-|Z֊KeZ_lfVʴ+Vm؍zgճjW'Ɗ}[=eBTbRlkeuN;*_gZEY}ϫamJE(AhZjPz(|ݕ }^! t[jyOR`'ެIlNraeѣ\Nh92[M94klN9h|n^)N;-jۧZ)-iGKb#߫gN)庶:eFeB¾ ̭)OZrf݈K'՞iӪJy՛v-RiF"w@ 4 Nqm$4-Ѱsni֍ b۱9Ai`݈Aib4rq||KJOޜi9nO9LZ;re|hT݈Aib4r|nhU+*ŰG)t[jv#O%&hSpE݈JN%eB|S.G)䯖uff#9ZhѮiHtԠP=„J4ԠP=ެlOQ_ƅ{R@ hRb3iA{l[R@ bR@z/'%e -ԠP=qX=MJE[I: gS3ޭmi_Սi~ԠP=R@{V+].4+ƛEke㲭#>^)[I9A{✅ʴiA{i'%w Gy<4!8ФgceZ4ӝE;N84a@c@X, 1S-} pqN:֭v^)i8Ym;pp Qi888p @Ai8qm88pxiN{0brTjPz(UZFYm4h46h1]Yh{U-F51,t4ٜvU2`SeBfJ:Rx)brBMe*4S+N)ʅ:vT()ʛԐ*ӓ+f{&'$㲭8blŪgճ!^o^Vxq5!sVڔY쩭5(=w$ʴY;*eM*ntAZ\_-cAj$|A!.-$vIՍi*nQLS[{Y'qVZIZvT()ʛӌfqVDG8BMh)ZW'q|;6gϫ:eBvg}KV>LVT=B꯶1lSc Ib؜*_پzi_ՍiĖtSVʴZ-׉^Ū)]jJ6P_K0Ǽph85 # MjI8ύ͌U~PtbV{ceZ4ӝխ,FsI9`BԠP=u*BiiA{i4ѰsFrLf)~86gi*x\_FA{֚'+VhPʅ''+ʴ&ŲiZL[)l˳=klSʛRڔ"5(=w_8K-sF9A{MsMJE>^*Ai`2Y;*eMi8Kc}xNm)ͣɕT(ZdʊyRfSVKeņ-V-( [;Nyԕ⠌i)Veٞ߯O> =_ F3oZέbӌfqVw+[/xN)/UUgr[M5$捃 u#KjPz(懺iv暔 sM4h fdެe/hk1JFrNP19~B($zZ;՞iپv mJ1'i_Սi+VmصJZ+ѡLճڬIP^g&Wƅz\'ݔ&WT)lJEܫͻMJE[x6}[,%+OճjWįN]ŖFsI9`k[xG(=sCJ֚暔 sM4h$bU㲭/ɕ'BI92Vl3U|K1{Vĥuٞɉ8NLճqVqclt_-tjQoJ쓫*Y1OUU1X= ceBA{"R@ڗZvi,zӫ:eB)VuWxʴؘBT)r'6եXU~ lBAeѣ\Nh9B$煴ch9F ڞ魉%BZ'%e|OVճSjWգM ([R@$@5(=pImJE'5AjPz()ڔP iA{jPz(kmU׍ڔPiA{lbf{խA{iA{{R@ P(MJE[R@ P(R@P- JE'5@X>5(=pOJE'5@X>CMJEZu]xK-ԠP=qNBeZ4ԠP=Ŵ;xцƼ48p(AY 6UM9i'5(=pMJE F3o *jPz(ekmiGVٞfV_؜eLSʝq0(-m\5P 5N{mҫ6O8mlM4ӝOghap8 ѧVr1FbS;\Q)(T0 &8PўXV<-Ŵ"؉ԠP=Ŵ8Pўh4#iӞǜFvN{9iiV 9i9Ŵڱ~OjrO&q= ''< [ެ즷[bQN}[ jPz(B LFm5(=w*_WʊI8v+{ȜҴbؓyƅL-:fSۋ-sF8H sM4h%B|S./l+E$w>ZշNR[*VQmel.)OZrf݈By6wصJZ+_e9kbz,4kI4-F5íjۯJe-|Z֊KeZ_lfVUu+Vm؍zgճjW'g~vgNŪR_ŪN$We9yOgqAeѣ\Nh9\ sM4h%9lkV|S./l+E$w>ZշNR[*V`2U9Znmk׈C>TN'>4Sf{*Z-Ռ䯖dS[/lqV[>Zհ*]MhЦ}[ jPz(B FzR@{SzgճUؔ݋UFSz8eZյŖFsMEŴn+giA{i'Albf{~ԠP=„ejPz($[lm:ħګS)ʅ4P!JԘ ƞ9kILJE(AhZjPz(eÆ@h8(( 14N-Ӻ` 84a煂p J @(AjEiii[I9A{+MMJE[IjPz(HԠP=Z۵(=p5(=pIzt[e|jPz(H4ԠP=i'5(=q(MMJE[Fqm$捃 tmhb*Ai`-:ħRSƅ|mh[-[Er[:+'eƊq)N}ɕKGpG-YoMjq} kD2JeyT#+kD>:T^zK'=[!L|tS[։^%)ϓTSʛ-FW'W|Ym$f'oӞ4iwiM–f,E>EN#ٞɉUy2kDM?J$9ࠞۂ@qeѣ\Nh95(=sC#lCR@pDq=i4ѰsFtΝWbStAߧʞe/hV_򧏝jǭ )s|_x+qclt'q1j@o*m|zqڬ쩟V_ʟVԠP=ӑ19Սȝbq>f3?l33$[[ѧN3MeB"vg Sę[I8Yc{R@ Z2iA{~:ħeZE[)/m]ZxKεb4S։[ldX/ 6;*IltPy_S928w^#m"vU2ڔPт85(=w*ӯ*ճlNWi+VmصJZ+{l3ו>U'%JJE(AjTG٦mJE(Bi'5(=wVΚѡLb؜*E49dYm4h4Ѥ\[I86}[;R@F։V"MJEE;R@F։V"4ԠP=ެlKW& mZ,J=mAyDWe "OexYZnWbS;KE~J-UO;4bؤؓ{eٞYm$řjPz(IŴ4Vw+[/ -t0AA@4Ӝ[N8a Ai8qm88pxH=FxX(XPx$ 1„ދ*Ѧ<-Ŵ"؉ԠP=Ŵ8PV{=A{BVzCR@= 0ԠP=rH4h{jPz(i'qm$I޳})ɕvZZjPz()ڔZZjPz(:/ճ=F((AY;ceZ4Ӝ,sR@?'9 +[/hR@Ng6ϵȩw < x׆$98:"r^@lSαPU7+[/'4xNӸ `yXƼzA`cI'񹱔ճVuZz,lFsʴ'VwM)v)I=iU~+ӺaࠠHci-t0AA@(4Ӝ[I8 sN8aƼzI y8 `y`cC c-{Ф,lNNsMIJEܑZlDjPz(I(Akޅ'=A{B׽ M,zI yJE @-4=5(=qm48r$YbqO[;R@-{ФjPz()ڔZIԠP=ݒuceZ__gi{05Q:8Pwʴi8Ym;pp si 0pPPP$4Ӝ[N8asM9Ŵh4Æ#lc6$瞌O,,4kI4QAi`՚)QyQQYRZTYm4h46h1Ħi4ѰsFsQ(Nٿ%EFsI9`\Ki4ѰsFsQ(N,4kh.-V6UE1NmپySUʑVJZճmvIڬ쩝A{biA{mUVuV֍ J>fJ:S 3O_gYNTϫG|پ)խu]Olij>V'؞َʅ:u4߂l[/yVe5n[R@ ,R@0+*{|4RT)תZN)୒E=Z;*w+ڔPteMJE^6^@lvUSbڬIP^`IJEw(lvUMJE[I9,Ӹ `yXG{@iK'SVhSULi8'=Fa1‘豲i 񢝧q0x׆DB αދ*ѦeÆ@h8(((14Ӻaࠠ$4Ӝ[N8aNqm$<-;pp Ǽph  *9!*Kz,lNNsMIJEܑZlDjPz(I(BTT 1,  I[I8:! ճʒF~7SvUYʛRWT+^_xmm8 6F  -*N4>+>׭cΩsƊud'صIգ6Σ9yPbbrVI͜ cE%By jު[;A=`(=pghR@z|'<_%2%Jbly-JFrqNԠP=q҉9wٚ}/o<6Frוib"!+>ʒFrsSXew=U%0Ym$vT) 9[18A=kܵ~R/hx1Nyai#lSklT)پ(/UjWhs %kܵ|hR%[8Oa_gt_GVv-R-xUC_a_gwՍqNMSKe>|ml .XqʄSsqQ'<| W+~ŰG)e5^ZյŖN|w#J$RgzeٞS͜O^! P瑷գ4T3qQ'IbrVI͜ cx_$$R[~ml-`͜iӞ|Ycz}Z4\;,ziKnlv%:JZճY΢ROV6UOճUؔ݌,JSʒFrc|ol-`͜iӞ+օ2V8WRE%m$!*Kb`!5Ki9Ŵt[ʒFrrV#J$VD؊J>sܶ c6qN{n*}[:q__gl l :8'ƊvaqQ'<fhvT)l8xϩ"*}[:qzlMciD  ";b/9-{l=84$@aaC01 8@l08J$煴s`?D 0 z #"g 4a 3x` c8[M4=̓[`7D 0 z $4s`b$A&p0`,saHa`5̀q0#`gD 23pHa 3x` c8֛8i{o8a3N"@Iǎ8h0HLa0X M-k$@aG 8d$g8ᣞ"g 6p`kM[M4=̓[`7D 0 z $4s`b$A&p0`,saXa`5̀q0#`gD 23pHa 3x` c8֛8i{o8a3N"@Iǎ8h0HLa0X a`5̀q0#`gD 23pHa 3x` c8@ Zl li8Dsi'5(=sqSV5(=qm$;N84a( # lZ\O}MF$gZ;[_VRJZ7 ehK+OVM™kSǓS,E#J$m#$pd[HsR@DA/#J$- y)ڔ`MJEciD$$ԠP=QiA{V< Q'ׯSc*J:u]rҥKVLwJuko][-VYm$Vz(f)*)ڔ88t=/)!&䜴 j^i}6Vg6(MIJE8N+Zu |O}+֨s˄rџNƛpMy'pKV_6I Ta6 hK}hIհ֍ bLV,|S- 7IBOD0rIrA"@bOD!t%@q8(((,, H,$<ȧU}ZSҿNƚ,.3 H@%؜Sp[,o/xAp x`'_9iIF6I l  R@4A7JEA)(T0 A8PEiii[I9A{+MMJE[IJE)[MJEʴKe9Z'%J!&"R@ ,+*v-ceZy_2brTS[R@ DR@z;fA{I4ԠP=nUf[ekeDbۄgxc~A{;MJEʴԠP=PMJEʴ'E/lG+)fҡOV6K ʴ.4Sʓ%B[UyPj3l^31e<#["DDc~A{IԠP=ެlOZruվ:ħ4ST{1UKճ6VʴA{զx/fҡO9P!* ԠP=„$ZjPz(V6UN,/ӪO7=liճ6VqViH9EŴգJg݌NJʴRջR@ ZjPz(gN)RJRWbq+*2TV^;*ݒwrV@rCqei_'oVΝWbSu+s+ӌ8Ym$:_)iA{i 0pPP(ci-t0AA@Ii888p sM9ŴÆ@h8((ci-t0AA@Qi888p f9w@ 4 sM9ŴÆ@h8((si 0pPP( 14ӺaࠠPci-t0AA@Ai888p &9w@ 4 14ӺaࠠXYi888p F9w@ 4 si 0pPP,14ӺaࠠXci-t0AA@$4Ӝ[N8a`Qi8qGvouk9JT):/fҡO-N)୒Z7/Ѥ\[I9`ԠP=uIOZh{jPz(IOKi4ѰsFrLbrVY~$joseLHOR`'ޝT*}[=IOKVSˋ1ROgjPz(VN'5(=w$ʴƞ쓾ƛ(eK(y#ӪJqVde}+S- z8uSZ$wah+hYc{R@ IRՋjPz(VN'5(=pOjPz(VN'5(=wJVؠ[I8:ħ*rBT)leSlWYSxVμeNŪR_[x&ĜjW 6+m;x6έm"vܞ+[g rf݋T[R@ iA{FsMEŴ;|ճY΢ROvIՍi~6 ym@Z7/Ѥ\[I9`rیh4繋U_.A=Ŵch9F&19+,-TFm W-$Jհ-RΝWbStOV6K Μg;ղصS_խ8'+r^Tʅ=#/{9D0O'śճ#.٬ڟklZ--Ū(Ͳvoޜg?ղ݈n]Uv-RV:u]ORջR@ iA{FsI9`*NTJ0UXViӞh14lѣ](=p 1LR@t8BӬAW#h)+瘟ʓ3Սipry:|"I4Rr jPz(懺,Zh{jPz(YږAi`䬲Ilղkx쓌Wʓ3j3lhѮi'4lcIʘ2r^Z1Ӟ2 ^U*/i_$+s'%y_ 7 'ZIls v-TFmvoؼeA}Ӟ2_.A=U7v19*W]'V6Ui_e6'؞mOUUIPVbOf][-hӫ[v$-5(=pO*[R@ *NTd$ '*`V,EԠP=Ŵѣ\Fqm4h46h1ҽg4sŪ(ͰHiӞh14lѣ\_ǧU׈w^Ū(ͲV=+:ħq)jŵ(=p 1_%j3lգYc|o̕8(gbOf~%-ZTJ8}5*_R庒'+4+N2ciDYm4h46h1ƃN{96 9-F5srʙgfꯕ7,Ū(ͣ?Feo+OV6K ʴw屖V_mG"H8 p sM4h _֓+ו$gM1j3hƑ[4SՍcFsF8[M94kͩZyRrP'KqO7fVOSU^SBiF`[M94kYf-TFm#΢^4Sri/'%Jʅ jPz(HjPz(+fB1S~݌NJ v)񢅵(=p 1Ym4h4Ѥ\[I: gS3<_(=p%[M5$捃 t} +)"4iwh{m4=5(=wԠP=ӭ 4ԠP=[M94ki 0pPP14NINJ/OVuwWPVSHFm*yʁѾSG)z8*Fe=A❛ʅ>KV}[;R@ 5(=wճ(=p 1v%<*Ɗxuճ|%lO~J_Vut_ +VzRVirR+M{Nl@ajbf{Ք+;m$ g݌NJJEumiA{~`')=*dyâO,Ԝg*::,{{*6*'6T g݌NJJE:УMJE^bxSVa⢒Vkl86vU#jJ.Z$N'[(pRr['ƊrQeZpK崓+՟v19*WڔPMJEE;R@ 5(=w*jS5lO He2ܿ;aD\6wVSϫG}DrVhWB:"}i jZ"9VluerصS_gwUؔN%-X!&"R@ PbOfh+V}䬱O/pμJTyIԜgciD4SFWm+ӌZ.^t)ĥv!&"R@uWμTέ*x/pصS{9֌,4kI4'-h{['-MsMJE[M94kcZ;leNűLVT=ʙ~i%7Rվ(=v nR@{NlA~ gbOf`ڔ$miA{KjPz(ԠP==A{'-iA{|hjPz(|o|ԠP=iFѰsAխR1 ԠP=u+["h{jPz(h14lѣ\ԠP=ڵ*\ -5(=w4ճѕUFќVEKZ;l."1NxoYb^ir 4s/s܃MuپyحM™a}A{]Z.R@u+3OFќVEK. JW ̄c<4S֙gkdT[M5$捃 s4RTisx6}"]N{i4ѰsFrLbrVY9_}UZ/hһӪJx[R@ iA{Wj3lc(=p 1ՍhתTձf)}fl/vIՍh]"\Ym${3˴ԠP=ŴmMe*6vXbS[}[:%*dXVhy$rۖHsHt9S iH9H:uV [M"A"AԬ9S iH9H9m$$x$$ iH9qm$b'Z 38UmLv4Sv{MɳA֛ۗ8۶v趛8i{o8a3N"@Iǎ8h00 1l Ba`5̀q0#`gD 23pHa`A 6 cMlr^Tf'W؎ZbrVX&TT(a ᵷ8'v_Zl %)ϯMb;o6pOl ME;anffe[M4=̓[`7D 0 z $4s`@g 6uҡ@Zl l"@Dpl ӈ=AFq9 0 p 3x` czۯ[gikelGw-Ov19+,S*[a_m*iWbx;@pi˖A֛ۗ8'varlwv趛8i{o8a3N"@Iǎ8h00 1l B 6qm6\  z "86piH #8 8`6w^:~NiE=_ul ):6pli8Dsi'%*'^4OeZzE|PNb?Vl(ol[/yVvdg2C7RվE=\_ v'%(=p 19SVMJE F3o!&"2'*`kQeԠP= eZ{R@ Jʓ0a8٦KlգA{5(=w˦弩9SԠP=`KMJEڔs 5(=pOJEN6Mį'ʓ1AepWbyvtέg:J> v'TJjrg"oN)現oYO/ĥ*nYUxYO/ĥ*nYU$miA{9mTOwڬ쩗JESKMJE[R@3|?m) 񢝩A{XxR@x=l^g$mQ%mXx -xNjPz(㸧!Eke㲭jPz(If}[;N84a(=)*ѦӸ ` qLD|Z/ПyQ;doT-yӍ=SM fv@eãHfJcM !zi_Սiĥu%t*Ym4h4Ѥ\[I: gjPz(Bc)5(=wN)XV_e*'JZ %eZyO߬ڗճՍr ֑Eެlh\G'׉^z -[Gt02H 3xц >)(T0 AF8PN4,lFshNjPz(㸧!Eke㲭jPz(IfvǼphQ^@8PEhNpIŴx[w@ S, 8 `y`cC$cNDEhNsMIJEw(lvUMJE[I9,Ӹ ` )(T0 @s(Br&o!>*Ѧ<-Ŵ8)QZxFrYq0xא$q!&#ceZ4Ӝ,88p  Nqm;pp A&9IŴx[w@ 5H%8 `y`cC$1„'+Eiii[I9A{+MMJE[IFWPh%24Ǽphb85 ,"L{UM9>4S=Fa1’豲i[N8aNqm;pp BsM9Ŵh4ÆWPVS[ze}x➬lK[/z^@lvU*Tko؍I8ۧUؔ㲭NjPz(:hIlN)ʅ 3jW bqO>lO*rf:YfVYO (=pjPz(^V(ys92LV,ENjPz(㸧!Eke㲭jPz(IfvǼph p ճUv%LV,}窾u)$;ԠP=„'RE)[bi 0pPPsi 0pPPsi 0pPPsi 0pPP14N-Ӻ`888=FxX(XPx$ B M|_ʴ44n-ԠP=M-9„ƃN{]˴iqa 9bew.A=1m48q/-ճzMW~t[sqܿZSYZyPwcL'EJsՍc/Vv19+,SѕU,!)ԙ]ˋq͜Wu%eZ}؄3vS[|n\1K)jgzkba PVۋ-ԠP=qX=MJE[I8vSMJEyVx# u1X=JE(AxԠP=7eBW@P/VԠP=‘ iA{X/ 6;*ra?VΦ+g7eBWr^[p8H ,sR@=jPz(I{Yb+՚o|^+*]UroVt[KNb6&oV6K ʴ t[g/%3Ɗ{b/VΦglh,tXVhҿW߂iNW'*GeZq)jVԠP=‘iA{*Ym$1lN)ʅ8nԠP=‘ iA{yZIS|7ϫg+Zu]Olξ^)TٔY^}/e:u]NT)ĥԠP=‘ iA{yZבE1O}9xyo:ħib'o׊kJ/ﵴJ`mJZUxP ۭ"eKbv<_gN)eZtM3+g׮k}SNh1Wr_i5<1GC0D2)yVJ+^WգVl3Pb)hX>O=Q,C}i2|/hճUؔ8ҕެ+Z%B[zm[,.Ū#x, Nʅ>r^[Ԯ_һJez}Z;l˳= v-RJsX_!^FwӪJyo+y'<^uaYY]TG;ekeD_a_r-H9,ݕ x3Kzѿ}0vB9Uq=Ke:u]NT)Vlue(D!Ţ,l*<6FR^4 -t0AA@P$4Ӝ[N8aNqm$<-;pp`bFq0B8%  PQ 4ceZvshNjPz(b&R@OB N#ڔ!JM;4ԠP=ŇԠP=riiA{i9ŴQI'ճUؔIlղ5ho9nZ3֗nsKV-:mxKzt&6OE={B2Lmm~hZuTdL Z6{f8p01 >NgMh)Zi'Ai_Սi*nQLS[xvU}dgĥu#k=2qFbS}Moie^Ū^Vλ3+Ԏǧ[[ٕfiKOoճΩxXVY(ճ(=q=AZ_)F6I=mӌVԠP=ӑ4jPz(ڔq4ԠP=geLlT)ӪJqVi'5(=sٞ]-:)ɕWǮDt֍弯ӫ4S=:͕,sR@?/{*5(=qm$W"$u# y88f}jPz(G=#ԠP=}/yZԯw7T< j^EJ'$j\d֍ gR;%-[IL9,19'iqeÆ@h8(( 14Ӻaࠠ(ci-t0AA@P,4Ӝ[N8a4Ӝ[N8a 4Ӝ[I8 sN8aƼ88p8 `y`cC(, ^BxEiii[I9A{+MMJE[I6ml%lOkbi'5(=sqSV5(=qm$;N84aB85P, 1<6FuwyvsN/lᵶ4P (6)l&*bTvǼph'`@PsqNm cBĦwlxC@si[I:ȩlJE-zR@ueE 3Mh)[~E5ҡOe|-ԠP=Ȧ)jE9 +[/hR@Nҿ*Uq=2SohUحOU|hW_gVDBԘ _'>ѴSܷNƛp։rVWLO Mh)[Z_cME|SZ_cMJ5h`9奫i}6 ʑPT3 ['%?Xӭ/߉-r啊yΩ<#N$ oE=|b{ʴv+|P2[/N'{eٞ͜V_ڔ0yiA{hmJEp`R@ySm*^IY{*3zFg>ѴSܷbkl_RlFWmMy'fOg%eZ|b{ʴIJEgiA{i'Ai_ՍiԮ_һZ4)Vד’S PPYm$ܷVBrOZ-ZյyZӍ:kF3au1X=,ԠP=„*LzR@k/IlղVŪR_V kb{2|+*!ӭʄq)jVԠP=Š4ԠP=ެlNmME=dIPIJEIKԠP=ŴÆ@h8(,si 0pPX$ci-(=p=iA{XV8G-i)VԠP=„*LzR@z|hmJE(B0MJEӍ=Dr֒ڔPўԠP=i'5(=sqSV5(=qm$;N84a煂ŏp FWPh%24xNӸ `y@,XƼxx IOzXʴi8Ym$ǼphxגrC1[8eWbSrKFvsI}֤lvU:VΝWbSѾ\Ym;pp LsM9ŴÆ@h8(,ci-[Gt0^84a煂p J @$ 3m&:,lNNsMIJEܑZlDjPz(I(BʹԠP=p VʹiiA{Ey\#ڔAP$CR@Iv-QcdOLNR[*3&_ƊySlg)+OgqNT|OeZ\Ym$W|䆆k9K|b_-  ʮħ_=m9l6O:_ʞ=Tl-A{0Սh/阧RVԠP=‘ iA{XV>-bh_gjPz(HԠP==A{" iA{}mڔR Սhխ%eZ W݌NQSeZ}ճUؔެlKZ;Ւپ}N)ճ)yvffYRW[Z-ŖFsMEŴ$$jͻKE~BVx:ħceZ_+[`O&֍ amJE(AԠP=kڔP *R@ ryoG{R@ "R@ԠP=¦R@OzZ69P!ceZ\'Ɗrgt֍ gձ/V4_!OJhN)eZ[ v'ĝDp[I9A{5(=qm$-UYO<؜S)xvU)'>[rM)}'*[Vu0% J|[M"A"Ak]v%<4%^W-ʴգճ+mJEHhhiA{'_{|%'I՞Ds|S[R@ Š+MJE:>ש+Q]ogmUZrBEke㲭HsHp=voճ+o:ħceZ_|g>WbSʴbZظ#ml6Z-ul<ޜiJ%+VmصJZ+mlOfWƊuWSuޥD/9[7eB}]Q9Sƅ}aEdQGeZue v'_-9/K7 AF6I [o$44iCŪq=+ʮħ3VS)jP * _sT B ('D/)$ZYOՔ,ZӉKV{Fޤv""@]#,x}YO/ĥqB (PP/aEBBEՔ(ZYOŪX v-RUQ/fiՍ-hӉKV; T؞u#ҬI8Ym48py_ǯ[gĝmςq]i'p rCCFselV A=ƱjOAJŀ2)^U~YO/ĥqB ($YP(0))>je< VSj-+e'-v%m}+}'UؔVlzZ $47Ԙ )YOB|P *"Ք-^Bx-R^FTxVR`'ެՕ#?ʴ_sT e<VSux.YOB[M$-ԠP=qNBeZ4ԠP=Ŵ;xц x׏@$mraᲞ]Ӹ `y@PGx@  p8 ѧEaᲞ])w <xעJLr,l*ᕢVZ4MiPM9i'AlsSU׍O>I[دjPz(Y '5M'*4ԠP=>6#N$ZۯDSڔѤR@u%lOkbYm;pp 9w@ 4 LsM9Ŵ ";x @1Ŷqmq0#`gD 23x`6u(N{H4s-6qm6\  z "86piH #8@l0cmׁjsZrO*+[/iޥrl^9lGbZ\ګ[;A=GVWƚ 9J؞B}mյWv$44iԠP=ũ+b{[WsujE|iӞ+W}䬱@[umU6ml%lOkb^ԠP=Ć ||pS=x3hS/Vʴ؝WbSzYO.l-UYNT)Eke㲭:ի|y+^;$9xY}[ MhЦ_3ܷճjW΢B٧jPz(eXQV}VصUBTV^;*ӫ[}[>Sela8Ow-՞B"N4Z4)w5BOgeZt6Z۱mUv-RV,J'UؔAe sM=ŶyH q0"H cA#FWCA=GVWƚ 98l=84$@aD 61~/QصUBTV^;*ӫjl1Z_h4绩+b{[ .ګ[;R@4jPz(lW^isթN{]cKVΛ6Sz'_%{R@4jPz(+W}EI#*v-Ue9PʴO/lfK税YlJd֍ gճjWVrEŪ^%#* 崓>+-R*[UؔBJZjPz(B (SMJEow-Օ%uBKVrCC{y{komM,19'h/W=:eFpo*䆆)j4a8Ow-)*JEܜ4aEZjPz(VپlN)ly~%-[(=pTR@ -klG888p @Nqm;pp si'ni 0xגQ3xц >)(T0B -yQZXV<-Ŵ"؉ԠP=Ŵ8P ^TV#ڔ!JEjCR@HzD G{R@4="HzD E-xN^T%V}O*+[/i~WճYyR3"ŧUؔ݅|[I9A{✅ʴiA{i'4=Fx$,,XƼ*[Z7˴Ӝ,݈Aib4sN8a&9v#O%&hSpE݈;pp 14Nh6FJ MhЦ(Mw@ 5Ǽph  * B I>*Ѧ<-Ŵv#O%&hSpE݈JEܑZlDjPz(I۱y(15B-6F ē]uceZ]N{%x[I9b4PbkF1GZm؍(=p$MJEӪJyoV6U)Gro-iQLc(SxeTv#O%&hSpE݈rDoGzq'TZ6{ UKm؍<ѡLQv#GjsΊ2ܦߓpP [;R@N6)5(=w$ʴ-b4PbkF1GZm؍΢W{ U~'<+Mmד8ئ[ѧ@ /i\݈Aib4u'V6UQ+lQKe^O=fs+}Z4we&T݈Aib4vA{g6ݒuceZ -۱y(15B-6FjPz(B I1^3MJEgS3ev#O%&hSpE݈1RNԠP=„c'ƚ[=|U\O|o؍*-b4PbkF1GZm؍ԠP=‰Mm5(=w[;R@MFU׍[ni֍ b۱94i 0pPXPYi888p sM9ŴÆ@h8(,(ci-[Gt0^I=FxX(XPxP , bދ*ӴӜGsR@$V6x biu'V6Uh4B=A{B4ԠP=ŒE;A=dXViӞB=A{$CR@IO-꯫*ku]z][,XmmŪ(ͳ-[T:_e|݈ܶAib4tmSp[V0_FWmoz()ĥ}*O/̶݈Aib4tlQU}+ISp[V3٤UWS+i_Սh,sni֍ b۱8>OJlNJޫ6ҥbOf:y]xkbFJ MhЦ(MN+ڔPjPz(ւ9mpZ:[ni֍ b۱:[q0 [WGz$ cCiA{i/*}[;C@sK ѧVr1FbS;\Qc;Wy_݌NJ&q=գ6Φ'8RռxBTP*v#hPkxߵ(=sD jPz([v D85(=pOW|UWPYm$:_)iA{i'Al%q͜V+v 9|ሇ82-H8u1X=iH9H8 - EŴvgiA{i'Ai_Սi/*er'0oլQ+|x ǢL{8D 8 *'x㈤@H N9Uq=,PB (PB (PB (PB (PB (PB (PB (PB (PEE"DłE`#D 8  P"@o"1`aBq8$q@/8 pP q@H XCGrOA"DD b$Dp;q"#pP D885a1DG1DGH D88$i9Ŵm,12kMy'fK|ሇ82-H84TDUZ7ҬgSmhFWof/Jį'5B&WڔP3iA{vT(,DD_XΦ'8;*ӫ[xʛiROVvo%-ĥ}[:Yyճ5Slii\[I: JlO+Srbk9K?kحjWf:ܭգhRJoS3y~mԎ_ v'׵(=p dgyR@V%jiƔ9S>lKbOgjPz(Bgj9ԠP=ެlOڗqgjvI*9ʅ{QIPO:?VԠP=„-MJEʴF/WeÆ@h8(,, 14Ni{2v EƼ 44sg%E|ܵhINJ-v 9i;ʟVB#kmiխ܌hQW-OhawRWM/V3E|ܵŖӺa࠰P 4Ӝ[N8a@Nqm;pp si'ni 0x׼p`{84a煂p J (B؛6豲ii[I9A{+MMJE[I)():ZyP_U{7 {blصS\_ +V}_gjPz(BٳMJEʴ tXپ쯟VЯbOfӫ3SlM^B8/UL2hNl]6mybOf~Jy痿UrhyPհx@9 *%[)9JY_v19*WSٕKI5x6 &ͯ![I9A{ v'iA{i'p[:%*lM^B9f@,_SfVX> _S-Պ{[J3/J=87ղՊ{[J38$OkiF|gNSQP$/(DUV)m(̾XƜ{`^@C@_x@8׎H<:fp,_6myU':OkiF|@.7 e^ Pg_ Պ{[J3z TVhʴ=ICMJEڔP iA{KR@+[h4ԠP=:hv-RwZleOlM^B9ӌp'%J!J"8R@}^! u1X=%38,W1eÆ@h8(,ci-t0AA`Qi8qm88p{E3xц >)(T0p cXV<-Ŵ"؉ԠP=Ŵ8P@ `zqbŀImJE mVCR@đ| d 8GFH%,ԠP=rq$_暔I[I8nnYyS/Ė[-UFS϶.lvU1[m֨SQ/alZ-؍94SQ/:Ջ=X/ 7[I8Uiپ}[;R@]v'+MJE:>ש)o>x]UZ-ɕ'IPճ΢B9?.lvUVzqakTKصJZ+23ԎƊ}[mTJT)֨sXK[/ -ԠP=X+65(=qm;pp sM9ŴÆ@h8(,sh.-ѰsANWw@ 4  sM9Ŵch9F){Tmy*wj_Q/gb)hr؍9} y_jx'ZE=ulucdK;ekeA|Q9_JeVTVw8.Tv-RVNO:RJ^O:|UY',ZW+m,JS&WŪ)J[;R@ 4ԠP=ެlO+Sz,4kI4嫳 sM4hTebrTjPz(B+miA{oJNlK崓SE%|jϻ+lJE(BmW֚ՍiĖ}[ jPz(B]Սi*|U\OB|{Tmy*R4V4Sŝb6瓐ilVOgc|KjPz(HjPz(R@ <Ɍ iA{oV6K ʴ!lb֚Սiĥ9Lw>mTy*yOas -*]+lJE(BR@zڔP֚ՍieZѥխʴT(/f'%J[ jPz(B]ՍiS-m'ѥխʴT)b؍9ekeD󯗼JeŖNӪhճWP+TܢyӪJq'<ԺW|SjN4>4m' 6;* 崓;>PcD/Z[ebrf)p~IPKi9Ŵ^Ū)珜NVgvokg'][Fs ʴεcV^4O[ITRIeB=T~%-[\BĦyLYm$~_m$UjPz(w@ 4 si'AlJE(AYģMJEʴƞ9kILʴ[I9A{✅ʴiA{i'վ%*]cD_*nZVƊF\'w Gy<4!8ФgceZ4ӝ׉^O:{-9V魉%BqFbS NV^4OӺa࠰XQi888p sM9Ŵh4ÆWݒuceZ_gYWsfev#O%&hSpE݈[:YkoJlN1RyPFeZvo -b4PbkF1GZm؍[|OyZ׉_L>݌NJJE(Bƚz9'ϫg'DFUuW<8v-Rv4ԠP==A{>CMJE[R@ V'(=r@R@NԠP= 5(=wN)~Ds(=p GjPz(+)+glO*v753D樴(R@}b|}[ b#*~Oaeuk9JT)N+<پ;y.SU~P#lOZZB8R;X,xz'H"G /È I"| ; /(@0!=#JqpxxeiAI)(T0 1„.6Ui9 qm$H6"m5(=qm$!tJE'44ԠP=#גvI)(T0 1„.g;StXV<-Ŵ"؉ԠP=Ŵ8P׌}aJE ng;S44ԠP=i'qm$䬲V[:u]O-ĥ9I/ 7=);7LKe+{ȜYm;pp 9IŴx[w@ 5>8{0brTRJoZ4Ry`6ϫG~N'zӭ62rCRվTIJEw(lvUMJE[I: gb:qfU~ lK:t"x;N84a煅x׏`Iᵶ4f%OVi8_i{0(rHy!Kg9P84iƊO,Nw|OVhIhᵶ4.[N8apAi8qm88pzAđ%8 `y`cC@Y!u豲;M94x[i'5(=rEiiA{i'p  h4쓫*4s%(=sC(B44ԠP=ŴOIŴÆ@h8(,si 0pPXci-t0AA`8Yi8BI8_ޝTujxVH8[./lbfz\UFSΝTέm٤S޶5LŲYc~+V6UOճUؔ؝JR@n_sJ؞G/ĥ}[>E eu4ۖԠP=MJEڔHiA{|hjPz(M5(=wI՟v19*W[R@UvjPz(vIՍh -&WڔNjR@ 5(=pOjPz(9iA{KjPz(9jPz(ԠP=sT R@NԠP=sT 4ԠP=TqV:hˋ;UN3_9P!O_gխPUtSn/Ӎ;7lJE(BR@z8ogjPz(9R@P! -A{ iA{{R@* 5(=pOJEܭm@R@yPFeZt Vg]'brTճݒuceZvbզ gjvI#hy9VWͩUU 񢞴^i})u`)ĥv-Ncd#I[mFs  [:u]O-՚nZVԠP=]ݒuceZxBlJE(BR@z۵(=p ȳiA{'V6Um߂lNIfTYbtr[;R@RgjR@{NlO+%؜Aeѣ\Nh9S/=ۄ{R@4=ԭ2؍h{jPz([N8ap4Ӝ[N8ap 4Ӝ[M94k+՟v19*Wڔ}F5(=w$ʴ tX#hy9~ŲLls/b6֗2߁ڔ8xZjPz(ڔ8zC AiA{a~ JTNle~u:fSۗG|m}8iS:*[ɳ3{g;׭֙ZOZ<}ӫN%7b6瓐 崓գV%؞/OU~A{PlR@{NlNrӪLl豔%kmi$@_ +V}_J쓫*']"vo{|*_[}[=2v$s"Dq5ƊԠP=ĎyH#MJEӭ/e=գ[پ)խ(yPmJEHD-5(=wNٔiFѰsApjPz(懺44ԠP=ܶ88p Ii888p Qi8 sM4hW>brTեvIՍhlv%<+['v'(brTR@(B2-- -JE&LMJEӪJyoV6U+Y1OZy+՟v19*T!JLMJEE;R@  4ԠP=iH9H: g&WJH :'϶Bo+!ĚjPz(|}DG,YZӍ=_ʴE eOvIojPz(B J؞GjPz(ʴiiӪJyo+ݜ*%yZnTΝi/BqFbS NٔV+]֊ճP8 ѧ8e$Cȸ88p Nqm;pp &9I1ROJlN$S;-TA1O޽LVT[ jPz(z$ Iᝋcy{xj^;$9 RվF3g h4(A-4sĖky_|USݖT)ӭʴu]N;*YpZW;W^+*bIlճv-Z[y_ʂ5bi'%w bQ^Aሇ1VKeZF|2)eZ4isM9TiqУ1)t|ݦN{kEzl !ᵶ4ƅLrDuknmTV^;*Ym4h46h1cxG(=sCJՍiiA{m;pp sM9ŴÆ@h8(, 14Ai` [;R@  jƴԠP=쓫*brVXOճUؔJSRgX# WڔP`e+V5JEiA{XV{Yb%|1Ny~%)ey}ճ(S,,4kI4&S]#ڔmTiiA{i 0pPX 14Ӻa࠰ ci-F5ZWdXVbrVY~$jolM^B9Tvo}dlZrJZjPz(ǐÈԠP=:fSۋjϻ*^A{TiA{'V6UOխS|{R@<E-:fSޭ*}[:i=o4JE qKO~FVx_ g݌NJJEJΩ.R@EI03S4ٷ=Moyk1Vi'Albf{~ԠP=ԭ0|B5(=pO3BiFѰsAjPz(릶(iuXV4si 0pPXsi4ѰsFtԠP=MlQMJE::q؄3ƅ}i[:%*.쓻$ʴh.-ѰsAjPz(説-*R@@ƃN{A=i 0pPXsi4ѰsFt-GeZ__:Տg%W!)ySj[A=ery`}Uȩv 9F-ipi%B(=p`H {MJE+>[ʴ7ѕT["o-GeZ\Yc݈e[! ճ4umUT3R{ȥ1NmV~gztf SmV?VgխSBg e8tfb6lO*Ke̯" Һ[Ȩ,t%[<؍[*ʒFs+{ȥ1OcO["iv're~lwGFsI9`ԠP=Wm5(=p h4纍4s<88p Ii8 sM4hAlܴvUUXu$#%1O*mzk3@uT vN{A=rV+ 9MuJ'Ov19+,P'OgMfhi֗^ԠP= 5(=pO,nZ;*FW'P~l売./N9=}Z/lRղY/ObRu_zR0q/,WT q*!lRS9խRMg>%[:ѿ'OE) -A_["o<|7SUCJsBOQ&Wƞ)pZ=h}Z;kdT:seѣ\Nh95(=qFd(R@@ƃN{A=i 0pPXsi4ѰsFt-GeZ__:ՏgRB2Sױj^ɕ^3[4\i^TY=窽Ӟ4iwjǖ売/lkbKh4纍4s֍+e=䬱@gS3#Z۴sF 9-GeZ 崓uekMfh֛RA{"AjPz(=\XUAܴvUѕT["o-GeZ\_IwrY/ӭ/+瘟(=p`H {MJE+>[ʴ>x}\XUA*\.[ʴr{!*_{ȥ1N!ZxZR3qeѣ\Nh95(=sCfi_h{jPz([N8aAi8 sM4h$'%ewY%B3)[KV_Js󩛖^Tc<'%dg2[_N{*䟺kbT(A=m$ gYbӞ4ipOճ4_Js֛P @iA{ery`}UrV2<>kdT hK,tS[ȩE)z=U_:k3@-+_)Q*xߴsNuL ][frF 9[I8?VEO+yxO-Feuc6SfT$[:ql;*^`l3K$Qm:L&WުnZ;*T/V:Ձ|9LZ3 uQlճl)խA=iӞl[εb6m' 7+i_ݒuceZy_һ'%egb)hĥ9oVΦ+gF3g;A=iӞတ@ Ym4h4Ѥ\[I9A{5(=qm$EŴW>brTjPz(B][gգOZ'?VŰFUf*3wdXVv-=O/QNLճݒwr: nʅ-:ħW/]ZJgb#*vIՍiGyZ]Q~ gW+9խG-yV!uiA{jݒuceZ\~LV,}XV{G[M"A"A1ROgjPz(MJE:[/3<Ռ񢝋bxQ<[I8pWby%;P`e+V7D,Xegߵ/P`e+V4Xe: [M$-8N+ v' 9'-啊x,N%jР>6)8) JqV+0H,   JqVXxVybzi'qm$~N;rV^;*Ѧ-gi{0(YyUM9i 0pPX 14Ӻa࠰$14N-Ӻ`H$R){05B*v-R&ʴ%❋TI*[)vgګiV6K b)hq}&S[ZvUmrdFqfl+AG N;!_9n3|Sٙ 8p bZLYm${3˴ԠP=ŴjݩA{"R@ԠP=>JE(BLEU'Z%*cdK>jby{!}֚3K(Ӻa࠰$ 14Ӻa࠰(ci-xb!Ď i h^%zqfOi*ӯ{dmhЦ(/l-:v+E%B6U^E޴Xc)=I*[)ʛOx;*ů"ow4ٷb gN)SK/yRK vSXYʴDDgXPS7ՌvU+][/ϫgS_Xf xWtS߫J)O+-)(T0 p 36Ui9 qm$H6"m5(=qm$jPz(懸POeF暔x Vi'mJE% Ç"5)A @pȍ-xNINJ/Ė[-lv%<l_g ѧ Ë/$_[}[;R@K3edMJEE;R@K3&1.R@*mK>Tfyq| [)՟v19*W(=p 35(=pOհ[Euk9JT)Ym"D+ly_Ɵ6UVq)ODZj3lw|հTFg ugW9hA_S9mBbT-TFmVorTFg ug8ӓOre$$A_e4&1:O|Z|د6=Ug7 eDr΢^e.\#Yʅ>TQUsˋ-*ϺfjxJ{RNԠP=„/ze=hR@vi v'RվA{_m$*({*ѦceZgN)底W{eke)N#J$瞬lipMYZx˖%-[ڔP+}|)FՍhlv%<^%{eke˫%eZ_޼JrV|^4'U~TŖӺa࠰(ci-t0AA`P,4Ӝ[I8 sN8aƽ 8 `y`cCA@(B쪬,lNNsMIJEܑZlDjPz(I(B쪬4sV6U˲iӞi'qm$䬲VzdR{ճU׍3ʗ܊S[R@ QiQx/i_Սi/Zپ[*[e*y|S_Rպ򤗌buꤕqV_+=UZrJZ^IROamJE'5EF)ྍ&W֙O+;BKV^mMYO>cNjPz(Qv"I4F4svUVBm4s[M94kŲ 9*!6 9-m% 9Yx)YO]UMFsI9`Q]UMAi`1lvN{ʪMN{eg vN{Lz)YO]UMFsI9`q]UMAi`1lvN{ʪMN{eg ito|\¯Vl VSWeUd&A=Ŵѣ\Nh9& 9*!6 9-F5bl]UM{c6VL-Ӟ-Z[ Yx)YO]UMFsMEŴ.R@.-H: g {Pq Rii^쪬q'ЯP,DD_|ݕ ukoLeUd'ĥ9%3ӭbRT)bSʟVԠP=sTZjiA{ - uջR@ *!6ƊvR@x=䬱@ԠP=„.ʪM.WZy_-nʅ8?Q}[=vT)OamJE'5EF)ii\[I9A{ v'iA{i'TƉO-9毈@G!vUVBcaP I[I8JSN,>ϊ[CC$UؔWBV6O:_KVeUd'biH9H96j:VS)j>쪬U@@ii\[N8a4Ӝ[N8a 4Ӝ[I8 sN8aƽ Dg <,,|RP`<((( ,1l,lNNsMIJEܑZlDjPz(IŴ9b4PbkF1GZm؍(BŲ()u..X`=5^$݈Aib4sR@4=„)[ݦ,I[I9A{FWmjPz(4-Ѱsni֍ b۱94sJR]pJPRŋ-4s[M94kv#O%&hSpE݈2/lJN%}UcOUؔ|S8ӞRip [ni֍ b۱:^^)vN{JPR])J ]um؍<ѡLQv#G ,Zh4 9)AKMy_%0݈Aib4u\X_}ae+諾|S.FŶFJ MhЦ(Mx:Ym4h46m؍<ѡLQv#G4a{-F5ͻZ4)8"nhaeyQZxHϯJe+mv%8NŪR{Bv#O%&hSpE݈e4U͕h,sni֍ b۱: JV6UZ7U֞4+֭{Ħ_amZ4)8"nh^[hѮiHsR@"@(lvUMJE[I8={YʴOfkW=DrKdו z2<:ħ-|S./^4+Ӎ?VN){Ħ_ZleO%ح4Eke㲭OWξ^)֛SʊeZ}Z;ղfFniUɕ)JŲvgby֭mģjJ _/xFFm*v%8@-Ɯq^VI=^FeuZI%2Uw{7 v!vXb{ԠP=yi_VhЦzxmm:{Ħz2<ŖHsHt#N{]v 9}ƅ~lJHʛ2%-["P7-[+HsM"IJE8N+Uپ}[ D"|wm"lxO|brN[M+z=UTIJEgiA{hy$A_g?Eq/j{e1]rU4S_-ڱ~O7U|}My}Mo-UZjPz(*}[9Œ+[/'L'=vo:ħVNŪR^JZmJE(CII*R@ -ԠP=qNBeZ4ԠP=Ŵ;xцƼ(EhNpOi{05c#ceZ4Ӝw < >( 7 PSy NpO;xцƼ1G@ Nʴi8Ym;pp sNqm$<-;pp8i{0lp -(=p Z1FՍiԮ_һ+lJE(BDq.lA~ gjPz(B#5(=w*݌NJ/bkhΜ{U|Yگ}Z۳|Sm(\_!NS)y:ު[/ՍiL>דO2h}Z^*N`IJE73۴ԠP=ŴPlMJEgS3ޭmlJE'5@@>5(=pImJE'5@@>CMJEڔNj@}jPz(ԠP=sT 4ԠP==A{>5(=pO-A{>CMJEӪƊ\Ym$w@ 4 9LbrTSڔPlMJEʴ]/ڔP'&ԠP=%ƊrezY[;A=i)Z_cMiӞԠP=iA{]:PYm;pp Nqm;pp Nqm$<-;pp8=FxX(XPxPPck4΋*ӴӜGsR@$V6x i 9OlvUMILS[}[9*ep Z[ -sF:,Ki4ѰsFqW8ez'%dbO/zV3_gN)ʅ ^)*`C|ovWZ;l'>PFVoճ+ճUؔ㲭>PFVhhѮi'4lcm46hѮyV}fVrHصS޶hѮi'4lc ech9F g%eZ_bZ"xWI21i0,4kI4[M94kz^@lvUmY)խ `v-T/NjPz(&R@y_ܭ+BknԠP= X) ԠP= X)l[[[M5$捃 sV -F5[=X/ 6;*6ϬVI0sy{ԠP=„#d f1+jPz(W'*GeZq)N|S-ΝTϫG}hY:ܒ `NI0s]ULS[}[9$@v-T,4kI4rh14lѣ]Սc/l1NmleVLS[}[;MAl 6qlZ[ fvǼphp ks`6\[I865g*4SʊeZv#ml6_gB~PFVhIw;xц  x= p f2Q豲i ;xц  x=p f2D,lFs|hi{0

            DZlfqZ[6VNǧUʑV[ jPz(Bk4ԠP=4S(=p fR@z./lz/l-IxS+'eZ۫:eBTܥ#TŖNBNkbT(}[9LZ;uҦyRfSV_akNK1Ħz֍me5oӊkg񢝉1%B%(=p fR@tO%صDsV^4OIF4%|Sʝ:NTʴRվA{"R@zN:zY(MhФSڔPLiA{vT)׉_U+[/'g]S&Ĝ'zѿ~*'Kf|ؓtNO ,Kio8a3N"@Iǎ8h0H`JdRA{Fɬ2,ZjPz()ڔPLjPz(VپzIJH׊kJ,sR@?/{*5(=qm$f'oأ)ʅ81PPl/e=i~J0v2Ɖ=uld<+U2w Yԯwv`JWiA{'V6UVZ-^RA{k4ƚSA{SMJE,sR@?'9 +[/hR@NK3=F< [ʴi8'=FÃ1„kgEhNpO;xц x׆80y JrNm"x('D I0s‚}mTK,H3VݦeÆ@h8(14ӺaPP$4Ӝ[I8 sN8aƼ=L84a煂p J 8P4S豲;M94x[i'5(=rEiiA{i'ph+=A{B4SiiA{@hJE zG4ԠP=ŴOIJE(A)ԠP=Wyօ:[;N84a(1™豲i[N8aAAF9w@ 4 14N-Ӻ`A8 `y`cCA@I -YϢʴi9 qm$H6"m5(=qm$IԠP=„9ԠP=1b4PbkF1GZm؍ԠP=tYڴ4ԠP=#'x UZ|I[I9b4PbkF1GZm؍_-[KVs xMJEZ΢X[ĥ9eKc,l[ʴI)`pp pG8$'AA q5: [M$-A_gN)kVfl[eVoZlv%<{huw|l9 ̄c<հk9JT(OG8$'A@O /n3/g!9j%OIJEw(lvUMJE[I9,ϫg ZZQJ؞G=i٥9ʅIMh)[խ=͓խZ-knWb;"rxmm87-yV,sR@ b5(=qm$a^+g?VΝWbSxuyq֍OzdTu+ӀbOʝ:͕~ E/TܳbrTճՍiڔPAm5(=pOճެѴSܷ#KRyZ6{:M t6W-+Ss,}%m-U|:2J=iĖgճI֍SM\Ym;pp &9w@ 4 sM9Ŵh4Æ4S(=u+zUZjPz(|}DG,lu1X=qze{792VԠP=sT ԠP==A{ ٦ JE'5@X>CMJE[R@ P(R@P f'ƊvP `!uE.ĖkrdVff:ħ%صJZ+Ym$ۯ9.:vD9i^mصJZ+Ɗu##V<6Frוi~ ('ڔNjԠP==A{>5(=pOjPz(9R@ԠP=ʁCMJEE;R@+[h4ԠP=:h7ϫg VPեrʴ[I8Y(~קUؔƊ{3OYصJZ+߳D֍ bUI>+ԕ='Ɗv݈Aib4uE4yp=LV,}vT)AyMRڔ0ҠയNŪ)uZ>Zյ[)RT)յWe5zy+l}A[/׭m-FVup3~,NIeBV#kmikʴ\-V˻$ʴW/]U\Oz'y{݈Aib4umȮ*)VS8oԠP=EA5(=wXYm4h46h1תW{R@4=ԭUiiA{i4ѰsFqӝDڔR@xNԠP=c@sMJEZ;*Ilf+o-ixo-(؝lfo-ig]瘟&ʅ92A{5(=pOjPz(ZjPz(([R@NckkaHIճ(=p00ƚ݌NJ-bBA{4ԠP=޶JE +MJEӭ6՟%Lv[\_!3Kb|_"SjƊ}4N;*_օ=YО$[m_g ѧᵶ4P/cE#eFsI9`Z7{R@4=ԫk֚暔 sM4h%ճE-__e|}&ŪR^JZjPz(A!.*{vImխu]rҼJZᵶ4ܵZ/i_4]MʴY'V~O25BVv-x,4kh.-ԠP=qNBeZ4ԠP=Ŵ;xц >(Dc zۆNT))hNxi[N8a@8 4Ӝ[N8a@8$4Ӝ[N8a@8Qi888p pNqm;pp Nqm;pp Nqm$<-;ppq(g <,,|RP`<(,c P(ceZvshNjPz(b&R@OBsT  3A=Ph4僈@8 9nʅ.A=i9ŴZ2S/0lN9NZWKVyƅLګqN ^U)ĥ}[8mm8HNmleOUyƅL[I9A{f{vtΦ+g쓫*Z۵(=p9jPz(1S֟V*8BӪƊ}Z;՟v19*T_ A{ iA{{R@ P(MJEE jPz(9jPz(W^4R?VΦ+g쓫*6ԠP=בJbnZ5(=w-A{LTjPz(|6uljvUN)pgS3ۗgjPz(V)LP U񢝩A{XS#96Ym$:_)iA{h.-ѰsAjPz(懺)LP UJE)jAi`ṹeLZ_VԠP==9 DUZ4Ryy)푙``|[}ᵶ4ܵZpX$'(=rD@pH0iA{k6)'xN (,/i_Ţ#*ۧZ+[/q)jkmiGƊF TH'^VRVڔP/"ܵZjPz(WbSz{R@$@f5RKe80`@@~OnhlXmm8 HO)~iy_rĥ}[9Ç{hlVHةjαP+*o/$+hVvx㈁ 8 R@u#/J<Ghrm7-_aHsj崓:TqV:hԠP=„iA{'V6UգYcEWbx {l1=ŶH q0b0!rFI 6 cB5N;*ӆUuE P#: i8a3N"@ FD8@h"g "ΰΖ`=6s`  z "86piH #8 I 6 c'5@Ym6\  z "86piH #8 8@l08P$X i{o8a3N"@Iǎ8h0HLa0X 99^E)j`5̀q0#`gD 23pHa 3x` cE i{l=84$@aDxㆎzC D$ 1P/P e+y([M6yH q0"H+[Սi9?:u+ӂ|\f-xǓh V9S<֍)zdU0Ym$řjPz(IZWceZy_7{R@ D*ejPz(LS3П)*eoaiE=p&Ӭ^NOzd[/ll7-:S|L-)ճ(=p9ʙvՍi*)eo(=p'*ejPz(ٙS STZ;+ʅ8P[:uVN)eZt֍gzճZ)-iWbSʴE=p&-PLN)XVW._9d'{՛'ZqetE%#>WbSʴE=_q0E8PTyא)VRեOOzd[/صJZ+N%-ZT֛*3{՛'T|=:IlHϧUؔ㲭ѴSܵ?}+OJʗ<[I9A{ v'iA{i'Oq]窾*'i 0pP( 14ӺaPci-[Gt0^ zFq0B8% ‚).*ӴӜGsR@$V6x HI[I8)iڔ]jPz(wj|fB1SK[ެ<"6FfVSe.R@N}ZWceZy_݌NJ t[jyg[ެ<-YO/Vuwʗ܊Ԙ 4'' 9^9У1)[(4eÆ@h8(sM9Ŵh4Æ_/ղV-A{UjPz([I9A{f{vp0S3ПgN)弩f-+oհg D/AM񢝰4A6Nr嘶n)~A&ME=Ԙ Ym$~_m$UjPz(I[="__*mK;پy9S΢Yd|Ke;R@ iA{BUq=ղR[:u]O-׉_7JZYߖmpɳVΝWbStKL'VHW-TFm /VK9'-UPg:bi'5(=sqSV5(=qm$;N84a$ Ĉ jPz(Ĉ !*}[;C@sxmm:8; 3ߊ岉M ![I: JW{[oV_^ԠP=„MJE/w GxzGB LWʴi8Ym;pp  Nqm$<-;ppi{0]eZzluE/8wVr\أ+7Wob7\Ym$q^T }[=YU~+:q[&+V~ש^Tέm[6gtvUhyq# DţYO/lf#HsHpwՍig>*'ZS[qiiQ.m弦mzN)eZ}Z;Ռrii\[I9A{✅ʴiA{i'4=FH4 z,lFs%8{R@ iA{y6wzW|Sc9'\hW_gN)eZ{1qeÆ@h8(LsM9Ŵh4ÆrC,cʋ-BV}SY΢ROgjPz(@cMJEʴ ױ߯[*kl.rC,ilN) 7uENTV6U~ ojPz(B 5(=w*%؍}^;$9Ѥʁ *JZճ+sܵoӪJyoV6U}Mo"R@z۵(=pjPz(}ٕ. ̭A{5(=wVԠP=RmjPz(}SӭFmhZi'W>}*gMh)[+3_g9S]XViPOb؞)VΚѴSܷ0,sR@O.R@NK3=FxP,|Q^H=8oyP Ɗ #*gEi5? Ɗ]eÆ@h8(si'ni 0xׁq0B8% @(Kʴ44n-ԠP=M-9„i9Ŵ+JЪZw Gxi1„JtXV4 76A{+8^4ԠP=>Ų %RT)EؘBT(,88p Qi888p Yi888p 4Ӝ[I8 sN8aƼǼph  * 8Q^*ӴӜGsR@$V6x *fh{CR@p_{#@pvh{٦*3~G-PI[I9&19+,ճڬIP^gVt[{7$SfvT(Zu4ެ bb{ʴ}/+fB1SK[;R@ f4ԠP=ެlAee|ݦ-t0A@$14ӺaPsi 0pP( sM9ŴÆ@h8( sM9ŴiNh95(=sCF暔 sM4h>O/iFѰsA\ sM4h>OʌʊʒҢiFѰsA` sM4h>OMQYRZTYm4h46h1im46hѮ}Yj%)ܵEFsMEŴ8)QZxFrYq0x׃EhNw;xцƼ4'@ VuXV4 -ԠP=ŠԠP=W{[oV_^Ӹ ` 86scm;pp+UL14AiEŀKL l$nf>@>X>';./usr/share/man/info/en_US/xlf/html/UG37.HTMp/$   et<=>ainor "-/4AEHMNRTbcdhlps.26CDGILOPSUfgmu#0139:BF_qvwxy!,58WX()7;QVY\jk|}'K[]{Jq!$0LayǠ A0&6 0AD#`!MWRGyҾ|b'MBLev0A)?azWo/ƭv1c1c1c1c1c1#`<4, 8 x b: @j7mnuF' ;|*lZswj Ae<A`@ ^zX88OA>F yqxN.ּ#`<л?r4k*7՞7_g'[ Wϑ*S^2ʿ}zs_y6c_?lѩ-_kN7|oF<1'46em]#Ms W>FTKL \qCK0Dሞ7D){TWNU603ʐ"pWr{oai%Mf"vt9;?c @QH* u`H8qK0DV6]'ŃaGH* u`H:!L;$ N +ptx@@XH@XlM0LrORi%Mf"qIta!bŽ(E?odN}ha!OSzT/a h3NN~KT/͗w h_xH7h޸Ń$Y\/`1Z7p/17@c ~MH#`:P $8 ZڳNe8tdxmyk_@HA@76cվM_1c1c1c1c1c1#`Y%SYE̾( *\_Ѽ H(DY%S\0;a8qbaPf,48Z )ܿ+~/dxm}+"{4ޝD){TW`R H$q80ŊQAӤNwMwcڻR6 Y$%*N&ņ DwQtbqQ J026!MgrOg{9C/=kJF A.Ja ;a8J026 :C<2r6C/=kJF A.JauL6'8TAˍ$1!0Om-Wk_"{4ޝD){TW`R6 Y$%*N&ņ ]0؜Tz aPe.:GZ%#`DY%Sذ`guL6'8TAˀ:GG{ij ]dN'bCN.lN*=qJ02Iq,(;ng=|JF A.Ja]0؜Tz aPe.TY0Px|ӑg{ij ]dN'bCuL6'8TAˤLtr7|b-rOm-_"BPKlXhp@úDR* *k& :Gng=|JF A.Ja)E G)FPrY5 :GnYZ%#`DY%Sذ`IE G)FPrY5#r7|b-rOm-_"BPKlXhp@QE G)FPrगXb'HޣZ%#`VF A.Ja]0؜Tz!aPe.H0 eޭ VF A.Ja]0؜Tz!aPe2mÅ:Jٳ.(e} H kU5l$q8XBJF.JD(Y҂ Hg~TBLewͶҭ_&*_'Vk_;י|6f]έ_{5JXG.+tiR7 !F:/j'nao1=V cFw;ױ{\O;jo{׳X\s̿ŸOf޵+wMw  Vٰz?i|o|b'M6́xl˸_Auo͛gf۾e}1٦3|㧳 "9ѩ-^J|w.Zmg  6Ż^z_/K3eZiR|b'Mmk~#o-k&g2nc3~f]طM,h͗q]3Jҭ"{4f@k_n{b'M7;6]u ^5r{|[beѩ蟵}_7]og~f3ِ/Z1=s9k:iR,z{sӣmݴ,h6*G$4#`D=o ^5\lU&a:'ֶw|1ȟMvw>l"BP"BIq74gf˹rolUfױ>7ݣ7n1٦w8]Z$%$$ {4߂Xѝ.'ɿVfο^G\V 0%.Ia{ijl"\s}ZF|s.S7iR X|r-X(.#G]W9c:fڱfDk_督SZ|Q,>W|b3\(+1`F$ 0%E Q,>@.IaxF0@ X| X|0@ X|uo X|gm 0%˿wwů&DztQ'(( Ka8<Hq9äŞ-̾A']E G "w XJ\x%]0؜TxH$R*t-_ R.ŊQAӤw=qu Ka8BE( \Óa%:D* AK*N ,NeAl $8 QH@$V k7$ nf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG38.HTMp/$ 64-Bit Large Data Type Support XL Fortran for AIX V8.1.1

            User's Guide


            64-Bit Large Data Type Support

            The 64-bit Large Data Type (LDT) Application Binary Interface (ABI), or 64-bit LDT ABI, increases scalability for 64-bit applications, while maintaining binary compatibility for existing 32-bit applications. To accomplish this, some system- derived types are increased from 32-bits to 64-bits. In addition, a new 64-bit magic number is being introduced in the XCOFF definition to identify object code files using the new 64-bit ABI.

            The AIX 4.3 64-bit, non-LDT, ABI is no longer supported on AIX 5.1. Object code files with the old 64-bit magic number will not link, load, or execute. Pre-AIX 5.1 64-bit applications must be recomplied in order to execute them on AIX 5.1. Binary compatibility will be preserved for 32-bit objects generated on all earlier levels of AIX, regardless of LDT support. Mod-level 1.3.4 of the SMP Run-Time Library (xlsmp.rte) must be available in order to use SMP functionality on AIX 5.1.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k.>$ nf>@>X>'; ./usr/share/man/info/en_US/xlf/html/UG39.HTMp/$ 64-Bit Thread Support XL Fortran for AIX V8.1.1

            User's Guide


            64-Bit Thread Support

            On AIX Version 4.3.3 with the POSIX 1003.1-1996 standard pthreads API, XL Fortran , beginning with Version 5.1.1, supports 64-bit thread programming. You can specify the -q64 compiler option with the xlf_r, xlf_r7, xlf90_r, xlf90_r7, xlf95_r, and xlf95_r7 commands. For example, you can specify the following command to compile and then link a program in 64-bit object mode:

            xlf90_r -q64 -qsmp test.f
            

            AIX Version 4.3.3 supports the POSIX 1003.1-1996 standard interface in both 32-bit and 64-bit object mode, but supports the Draft 7 interface in 32-bit object mode only. That is, the libpthreads.a library has a 32-bit and a 64-bit part, while the libpthreads_compat.a and libxlfpthrds_compat.a libraries have 32-bit parts only.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] Bot l\ $Knf>@>X>';W4./usr/share/man/info/en_US/xlf/html/UG40.HTMp/$   et<>RTainors -/4=GILNOScdhlmpu".6AEPbfgqy23CDHMUvwx,015:BFX_#()*79WYjk!8;z|QV\'J{}K[]&p L* X2!P K0aq GaR^SQt֗+oicmjќȡF2#:p̒o VZqqqqqqqqqqw,Y|(@)8@ 54 @)@uk@y?5/hx ,|Se*G_&Z8  Q, A $zӁ8_EfIl+[-88888888888e pՠzdG yN :`_ yN  p&8YxdNxH(2! (  xUYjlemlK46hS\`Ǹ!NX8 $%0cp|Ֆ[խi|l[ΟW]iruoz+WB1Q Ј/xRaE9Zi&u ŚXգ9M)"܊ ̍Vujr?WXգ9M_.,Jգ9M)"܊ 3:g_5|ՅK=zYBDrin,SE^S=J>VuIbg}>{hSx *!m+}4+*킼W]iF Cz`n΄oVWVWˊ_=Z֗ڭ[{٪{U:yqf>{hSExF {$H<Ֆ+VZ֜|UʋԎjn!=_ܤ`GR#=l@?[7,+Wϲ̕^t^[|![c8cٺzQN)&lebi L4p"uc|G-EBM&=_Μ$ ҙ(r(>+[I7ΛrݪΛ;x{ ,|UQN1PxHAc羣W{5Y2Vέ[yӄ>{٪(r(=F {$Hmruo ̄o9H4ydBbi[w)&,\bi*-C}yw7SH ШS H|Z3+NC\umlORWœ`G0`ƅDX`GjќZr;p $8A""0`S %xBM=[`NJ)"܊ri 5)&ȟ~Z[;HH$!)&SE1=vt#~BR0M#Y)YUbi+gV-3OWR0M#Y `GQH߻XR0M#Y `G|a 6)&,1H4cδNR0M#ޭYqF {T[mR0M#Y-nH>lNBR0M#Y `G9H4{BqF {AE|R0M#ފaN1H46ӥ毶kvܤ`G4Mbi&E8P{E8sܤ`GhiR0M#SIPxuB<$ ޭYjlKgZvjyQoݝ_8@'ʯ=u`/deW9 )הAEQ5|9ի-MlNV?WG7Jtbdb_)à5JʮsM+$%+*ָdS8sҮ\ؕ7gBs@{{^T#WέYjlKgZvj}ic砲98tY)YUiydB9deW:ldSWf}^[+2B=F {$,`G?-i|[ΗQ\ SHH$!)&SE^St8J`@ K`ǔ)/pΐѧ 4O iC D4A^Y!f֝ { yN)&P6B.1H4yN,]vO5UyP,.Ԩ#m`Xk \:^S<zZjrW,ze-i{5[<H毖9H4ydeWqF {Zր~nY/|+UL8Uic`*{&Wܤ`GBqF {Z֞tZjrW_=GVma?:n-N,}G2*-yo4:_lڻ:Ы S--Ņtyo'V2'ի-M ,||Z3ߵ%ŚX3ہ}i 3O.,Jգ9MF {$,`Gխh({H 6)&)Þ#=iJsI1H4l!&|ݝZ؝ 9H4ydHӌ@B>T[}CW}_ ri 4%b9`GݱkgZ}#KsŚXD.<`1ETC~#=iԫmcR0M#Օ8k k2zicR-=i @*->({HHYRJsI1H4l!&|ݝZ؝ 9H4ydHӌ@($WQVd _ ri 4UXi6)&l}Z֟k2zic羕hġuf@ri 4%b9`GyZ[YBbrOVpZ_ԇ;޵}+mXplIS=F {w`G#“ 0*/)Ƞ3vt#~BR0M#Y)YUbi|ZԶc!=_H4ydH[,|ܝq"ܤ`GRYqF {q"ܤ`GRJ#=8P{AR*GxqjT{HJVUsiR6qF {q"vO5UyP,.Ԩ)&,4ҢqF {q"ܤ`GRk6N1H4yN1P{HJVUsqfqF {q"ܤ`GRk5W`Gr(=F {%+*X%)&)"܊riJʮsB5)&)"`r/)"܊mR0M#Y)YUbi|ݝri 5)&NR0M#J#=q"ŚX3Vmlt,|UQN1P{HH$!)&ȟ~Z[;HHY1H4xb(=Ƞ)&,\bi!6ZkgV Џn΄y ا)&,1H4x9i:^Y!fJʮp@$:^S+[I7ΛrݪΛ; Ǔܿ8K=lSE!>VgJiTFlq| q/YeTm"8zۄ8GOr:&f UYlOZ}_:&a^+LFlZl/:ӏt[T#w#Eo8?qa%x{̄flZ'0 mkHVʛ~])GrbT[M=Nj&sW̄flӄ>{٪+|Flϕ"~yo'VVTrb`<p q.(r(>+fB3e|--iիtBOZ_lڻ[yŸZ}ի:+lkpXI`<AE|FlUyZJ[Ӑ3#ܢ_&Df̷'pAC\WِmPC%w-խ/ʋ{>Wo@kK쩷e:_&st!jU;v(,\$# AE|R0M#ފaN1H46ӥ毶kvܤ`G4@ H0 )"܊ruo|R0M#Y)7X{,=R0M#N,{5[[^nSHJta)&^ժw;HF6)3R0M#F {J#O1H4![8{t#vsfb(=Ƞ)|e6m1F {$,`Gխi+gn=iZ̨bt?aN}c/ClW+M40YNE9H4ydsmcR0M#EHHYRJsI1H4cδUZkg vwR0M#Y!f#=lK)"܊ri 5)&SLMYcδVط`GB9Xi6)&ri 4UXi6)&~e=fBxM[V1]=_,!;H4ydLO.Hpr/)ȠF {ؕkbivխiN1w Qo!E8P{A_;HҬJsI1H4cδ;($PHb(="b(="b(="9R0M# jK#=89hQyNE< vW[9Z[q W,z!qy[=+ZԶc!=\f>{Z\xbWn+4ވ\xbWoՕ)]:BK= D.<`1Qf+ 0?! SE,z!qz1]e Ži @*->(ǁ߫lBzՅK= D.<`1w?;zӌ@QE)"܊ic+3΄xK=*M4ՖδreA~{be}t;PO*C SEUc8 )rc/նKqn!=_ܤ`GB9Xi6)&*폫[:ӫ*Rn![zVYjlKgZ M+0LZ\Jf6rc/Օ)]|[K=ǫVZւq""lOIQn@֯lYB٪ͱ[;V|ż-;b[Ɇ1`YN1h:*k`tUx|m1y߷|[ΟW"J#M_vY&T-δlOK=6yQnVm&\|Ֆ[M Meam_=fBxZvv'&sze-ilBHHY1+&8#=6#&Zcd>E GUfBypYNa,ӌ^epQf;@kEZy΁qn!=_ܤ`GBqF {Z֞;*ի-M y+Ɇ 䬪ಜ:^bg +N5iمQ\S)"܊%W!|*[δ vUW<֭9{Ȏrhc yNEZЏ'@4جUέhA,xbWoO*)=Hqq"n-lG{VKz*ic=G֜b($r({Z\xbWoN1q@@*->(qb(="9R0M#4FL])&)Þ>;-1YjSb[:߲_<k#L^<࠳dN,HG,Z͗,Jq58sЧ2e34ޭYjlKgZ}^[V#VZr6mz,|YU縮lD[>iyoF x(,F/AF/8^^PY^^8^^(r`P6S@k$,Y)YUV@kpOdL`ܤ`GR#=lNhAri 5)&Jʮp@'HY89 U󧗻cδЏ#=o,4Ү1H4(BVG࢜9SFL}^[U*!p?H4ydeWqF {Z֝ZЃWo'#=kR0M# 8tB咕\`IN0txUllm=vt#CH4yd%+*4R0M#E:"8(|WB1Q Џ[ig/yoV6%M4S)ß;$S~S@kX <o.&)הɻri 4%b9`GWζlo_)ի-MЏ<~Z 1w m5[h9/yi^ջ+eN?:ezӌ@QEp xGxB9Xi6N0txeD0?,{ecgB>Wy  TwJqSzӌ@H)Þ>Xb:ɉFL廌wl^`ic`1< vT[ՅK=z1]~!6Z6yS[zʄcRbYN`CHY1+&r(EH#CHYRJsIJ`^s|W[r*{֞w8^^({H21H4yNE9վ+2F {%+*ָG#=lN!=_|)&,HCR0M#n#=kR0M#δSEAf1z21{#hFk|,|VY+m5[n-g[:ӐHJVUsqfHܧ)&,L:j1H4x$g[:ӐriJʮu,\bi;)&,L:j1H4xb(="9R0M# b[t(Bf[:)&)Þ 5yЅl̶u>F {%+*R0M#ի-M[:3@h4!DŽ0. %咕_δq( p@$K`ǔ)/pΐѧ C(O iC D4BļZ0\Y鵳;9R0M#ޡ:l\bi:^Y-nu,@kpϋtVlKgZ_uD2Âk#Ur)Þվ+2F {%ś'`GխiruoɋݬVd PU!|*. 89hQyNEH4ydeW:lbib(=Ƞ)&,4Ү1H4yN1P{HJVUs.1H4yN1P{HJVUs)&,ujSbt#O*x(,F/AF/'}@bb(="9_;HK[k6N1H4[:Wζlo![}_ riJʮu,8#=lAE8sܤ`GķPl̶uR0M#S<kl ٙlOZ}_;HK[8#=Zz8dNxHA 䆉ydgMhXbVu|#“ 0*/)Ƞ)&,ZU)&)"܊riJʮsM*HAEH4ydeW9ZHAEH4ydeW:M\bi̇V6'B>PPY^^8^_N8P{E8sw)&,L:j1H4[:Wζlo![}_ riJʮu,\biVu9R0M# b[t(Bf[:)&)Þ 5yЅl̶u>F {%biYjleZր|2A <$XȆprCDZ3δq( pA^<yN {t8H`\HYxdNxH(2! ( DBkgZw100%8sܤ`GBt#=8tB?rilOI WVbYjleri6])&)G r(>+[I77gB>wR0M#Y*TBV\biE8P{A][ʝH4yd%j 5)&kgZyӏB =YVˊ)"܊ի-M ĈU*!:-i~!=_΄+fe$L"9p_)G r(>+24g)<[(}H4z)8#=tNkB`G4Mbi+NCE8P{A_nac(}9MSE^SEg+VY-|R0M#Y,W\biVuI\تm ةXl7*΄EA09pdc 4p5hx/Z!H8g iC ED4K[VH8g iC4(2!^"8?~2A <(2!$j%3ԇ 7)q?pӄ 4$PdC@@ Xp=HD -.0cn0St8H2L@>X>';#./usr/share/man/info/en_US/xlf/html/UG41.HTMp/$     e"<=>DETiort -/AGHILNORadhlns123BCFMPS_bcfmpu%.046:JUVWgvy!,9XYwx#578;Q\jkq|()}K[]z{'k,:U "5Dwyң>uJGE_#`H)(%D'#aT%=,<T$l荜k :Ve1c1c1c1c1cq6s 4A5@sMdPC$9~V n3~̔\( +1`(Ϝt㸅 p  3(P`AA?#`8N:aC _ fpA lm~5Ա]qgc;0ۼ.cq?r1?89p]n/g;w+ga;󎑰wwA&V3k͝*3sγ 89tI!ЙHZɖs]18G8TR/^d,hbuIZtw LboAaRd˘{bw Lbo]p[?\.}s/!JҭH@ 90uι&c_,hb7'Lal`pPVN|^d,gY5G  c  (0X%6)T:U&D+Z+X~, qa!!\P_#`BCZ:@ra~L[啭^I8H'cXHH (0X%6 R"f6/΃ryW]||K8ip hUx.k(3C8Yń[|rT s';63|a-w2p3l"C;vUIҢ0\@+vfu)rA0W e1.l=-a_J c1c1c1c1c1c󎑰C Ek&E|z6 s;3fv*F%uP!H) N/Axr#P@#[&,,%`ymBBP=!r6uP!H9 #БC E, |z6uP!H9 +Б#*^7 fDΗ1q+3L1|g>ZU]eQCh:-:@U]eQw Lbo~o 7-o22Ŝp[=`u+b2L{2loU]eQCh:-:@U]eQgs/g71ZW?77wY+c:GZl UuFK UuF_\.}ss6P%UU,46LӤB y*6P>u'9_[lŽ)l]6rBuʣ%uIZtd y*6P>u'9_[lkq 8qKgܠr>s6eV9[1fཛྷ~ZΖ`y-^XZ6pDۖk| UuFK UuF_\.}sU6pGܷ[J2XhmTHJ2w 4IYg6W#( B}X(ޓU`{zY-甶y{ཛྷyA?͜-A&Ai(6PP?6^F©tMb(>(*VV ()A9(`waRd9-l>JKhAADV/jYAo ΩESo(*VV (1A9(`wzY-c6T꼡Ul+>^=EXJN,T#.;6rgQ4UԠhb/Q rQx ^0`;0Y-`}g(V}EXJz &}V"%YA ΩEG9@(Uy ϠhAADV/_Ң()A9(`w``}g(V}EXJz &}V"%YAo ΩECR6rgQ4UԠhb/Q rQx ^0`;p0Y>W &zWMbE*!:.J/R |YMb(>(*XTBt\^9e':R6rgQ4UԠhb/Q rQx ^0`;pl꼡Ul+>^=EXJN,T!Ʌ9B(*P}_Q4U(r NuJ/0V7&P &zWMbE*!:.J/R |=`}g(U)#`FDi[V3k[wYswϖr8no=kM+w XDͮ-fKq3,c6g6q"(J28 䪺ʣ#`z '(* 䪺ʣ#`z)(USYy~ ^($$W*ADV/R&\VT (Vr6d%UU,46LӤ%UU|߳t[)lgyV0%̻\v*mw-g_=cr-ows8#X*A&Ai*k~l_}{8%rfp#>X.aq;51oLgWYTd2 N+Z7]1-w9> UuFK UuF]mؾqw>ʣ%uIZt䪺ʣ.'s8w[-:gky[1fg<4yKg:9@(TI2C%:^O/Axr#P@#[&,,SBoy#& _J2FŽ)lL1|gc:ϳ-o|g 9ݓ--fߖcj k&-)N>p#խaGx8a^o]0%-ou`w4`[<}0/vLgc5g;0m+Ll+Yeك[,}*ٖtXTdd{Yw32`񟖴а[=Iױc5g>Z Gw`g e&9fҹ A%/:K|^ Xu{XIzÑ J"8+\˼;З|/Axr!B]`G`zo%>/D$XBU *Q-]v.!^E J4j΀d|q%6uP!HmMbȰ#BFL(H)#@,L: kꈽ$nf>@>X>';%./usr/share/man/info/en_US/xlf/html/UG42.HTMp/$ Chapter 7. XL Fortran Floating-Point Processing XL Fortran for AIX V8.1.1

            User's Guide


            Chapter 7. XL Fortran Floating-Point Processing

            Partial Table-of-Contents

          • IEEE Floating-Point Overview
          • Compiling for Strict IEEE Conformance
          • IEEE Single- and Double-Precision Values
          • IEEE Extended-Precision Values
          • Infinities and NaNs
          • Exception-Handling Model
          • Hardware-Specific Floating-Point Overview
          • Single- and Double-Precision Values
          • Extended-Precision Values
          • How XL Fortran Rounds Floating-Point Calculations
          • Selecting the Rounding Mode
          • Minimizing Rounding Errors
          • Minimizing Overall Rounding
          • Delaying Rounding until Run Time
          • Ensuring that the Rounding Mode is Consistent
          • Duplicating the Floating-Point Results of Other Systems
          • Maximizing Floating-Point Performance
          • Detecting and Trapping Floating-Point Exceptions
          • Compiler Features for Trapping Floating-Point Exceptions
          • Operating System Features for Trapping Floating-Point Exceptions
          • Installing an Exception Handler
          • Producing a Core File
          • Controlling the Floating-Point Status and Control Register
          • xlf_fp_util Procedures
          • fpgets and fpsets Subroutines
          • Sample Programs for Exception Handling
          • Causing Exceptions for Particular Variables
          • Minimizing the Performance Impact of Floating-Point Exception Trapping
          • Floating-Point Processing on the POWER and POWER2 Architectures
          • Precision of Computations
          • Invalid Operation Exceptions for SQRT Operations on POWER Processors
          • This chapter answers some common questions about floating-point processing, such as:

            • How can I get predictable, consistent results?
            • How can I get the fastest or the most accurate results?
            • How can I detect, and possibly recover from, exception conditions?
            • What are the purposes of some of the less-frequently used compiler options?
            Related Information:
            This chapter makes frequent reference to the compiler options that are grouped together in Options for Floating-Point Processing, especially -qfloat Option. The XL Fortran compiler also provides three intrinsic modules for exception handling and IEEE arithmetic support to help you write IEEE module-compliant code that can be more portable. See IEEE Modules and Support in the XL Fortran for AIX Language Reference for details.

            The use of the compiler options for floating-point calculations affects the accuracy, performance, and possibly the correctness of floating-point calculations. Although the default values for the options were chosen to provide efficient and correct execution of most programs, you may need to specify nondefault options for your applications to work the way you want. We strongly advise you to read this chapter before using these options.

            Note:
            The discussions of single-, double-, and extended-precision calculations in this chapter all refer to the default situation, with -qrealsize=4 and no -qautodbl specified. If you change these settings, keep in mind that the size of a Fortran REAL, DOUBLE PRECISION, and so on may change, but single precision, double precision, and extended precision (in lowercase) still refer to 4-, 8-, and 16-byte entities respectively.

            Most of the information in this chapter relates to floating-point processing on the PowerPC family of processors. The section Floating-Point Processing on the POWER and POWER2 Architectures describes the differences between floating-point processing on the PowerPC processors and floating-point processing on the POWER and POWER2 processors.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] TM#HDRF l $W(nf>@>X>';'./usr/share/man/info/en_US/xlf/html/UG43.HTMp/$    e"<>ainorst /0=ADEFILNTcdflpu',-.12CGHMOPRbghmy357:BSUVX_vwx%&468;Wq!#()*9QYz$\k|Z}[]{KB ET&*<z2|$QHd%NGE]I,u]JVԮyA4J'+#+lծ?EQEQEQEQEQEQEQEQEQEQE0d0g L YΚxѱ, aF-ڵDvs~g puHcpe Z3öPb0b7xzz8(:  rx`zd ]^y/#2GD30g8muz5Ʒ;zMr|sO$t@18hg#aMmsq-uZ gHcph;FZ ;l?}fk:.o: b]$ƌoͬ*dX,!k7#MFR$MD`P0d!ae,yޙ2ksFRя_Z)j_nϗwF=}jf|.o:(((3uJJ&p/έUV_blq_zئh#rMׯyҮRɱ~byUV6/_ǥ\ib5n{`_ VnҦ;`_6gVݥLBGD2Q!#vɷFQQtO'ɧA}37( BGD2Q!#nyae5}# BGD2Q!# 4JFQQzz8@ょ&)rLTbHjDޥ 0ʌ2'}# BGD1)u>M:'!#&pR\v3FΦ53b_u,w\W,y2Ǡ,j\h-\M^ ;ܵr0Kh`BmsStpRGDJ$Q0*GD.Qrj$V^X?:'jQ<.Q/ysԫ|ͽ-ZQEQEQEQEQEQEQEQEQEQEQE0d]+3 DtIn6ȿF'#HH|a"j#IT(9"*H$06 < ,u]JVԮyA4J'(H|]Lhoϓ;AfT( r9Wm<Ҧ+&4j'Y%VLos:;g9 zg睦=syڿkTrs3bS\`oV斯~Lns'+kuQNN;տ;&Mnh=k_ɝK,۠Lc%0FC;i'2Xe{=ZT(bv1؛S8kkσ_6|ݟ~]7ڳ{J&tck_}w<)S&w1#!VO dF˵cOQݹ{4FD֔WZK9ڱ*cS&|C,Q2P'2Xd/ҭ:{g}-_K`qѬK`ӢzJ'#VQ$(HͽHD9"*H$06 < ,pTú3έwta[T-^7_DHdDŽ DtR$MD`aQ=) Q,xJ'#VAm|uV0z1KWέwtc֩ZFnYE9\7kyտ}zgZ7|R(0v 3@!$AC-"7bxrEҗ~LRAm|u9_^u0o-mlO *Hi+(R$MD`I2({0(0 "4$B؀H&YE j޶0b"zRtJɓ;QE>3:;_.{vzHHdDŽzR:%dJwF=}jw\膯&U" 讴wҮRɿL{msL/LpxAH_A :'cLO4JJ&1_qη˛33ޞsT-@PӢzJ+$(bv1؛ׯ[/LDjpxAH_A¼ZzUUQ^"[8L/LۥliĬ%;q&ib4j1=׷L5g3ؿ}Zz;L^X56һ*cGs=;zksowZN VnҦ;c٦>Ls&4kKWGDZGDe$Sqk_fy!J/_*B4_5J Π~cN7<ϼ\b\  (gRBsqR 9}_gPo< H  Lzw-^ƍ;lp-x@Fn< #7_ pJE[sKW袉Â0 rKWaZ;DŽf 8wkTFn 0 &16 ;[(]f;~h޷˛^\b*wbjnw8 M'6vyk&kw8\ Ӷ+7iS5D򥔑+(R$MD`Kf@x$H I2L*͈%׳KTa)շiSbzRtR$MD`aBQ=)dQOέWq;yM{4{Vt-\|{SiΊk蕔SfQ @ *@a<.Q=6eӓ&w֮>yc7ܾms:'VQMD.A&eW( :''̢rK3už M~L>Ny}ׯ[ǝM*`dNQ+(̢ PDY5r(Rڠ^FnF|4螚rYE6e,rK<.Q=6eӑG-\y{w-sZߵxqܵ4gw8=rŝ3JJ&RRɱ}__ϳgWLO4Wۍ:'VQMD.K0zD:''̢rKcO?o:^ko˦[պTԮofk[VLD׳KWGnocFQ1=4^GD㷹ֳ;&ֽZFv&t߳M?q|3ro[g3SkTmfBn-^իUTɓ؛2o&wpsJu͹}65<ѩ鳩W-sZ36i|ݟN/޾&ֽZ7R>LϘ2sV4=ZjnzW7qF.b5Gn/Gru v6h:.oZij3n/޽}l(蕑 -#VQ R$MD`Z(+ 32 nw8su׳KW2gέ*d͟fyTR.ҔO BH貐ZpbɲIA48YBɨZGE:,.*8rKE`QJY4`@&$`8$ _Ή쒔Y%]b,#UpX,,'hEÃMHpH(#q %(KXF 0.YFY(NdсÃMHpH {w=R$KE`aeM("lF@Аmhޝ%(KXF 0.YFY(NdсCMHpHZ3v%(KXF 0.YFY(Ndсa&$`8$ -]Y:'JQ=ҋ%qe>a.Ç$XF +IDPb0 Qqœd0%׳KW̻[&x\(IuQVaÒ]b,#J$IX1(pbɲI BK0=S.*8rKE`BI5 #,$4$57h~/:'}%"0]EYIu(V&``@pbɲI BK0=S.*8rKE`BI5 #,$4$:'}%"0]EYIu(V&``@pbɲI BE[{)'ZQd)Xuf9%"0dXrJ$,$4%(&ֽZYw[r:'}%"0]EYIu(V&``@&$`8$ ֶ@/[|}L5oZ\NQe>a.Ç$XF +IDPb0 QpxpbɲI BAjn _4_oĩ<'o֮'DSYOXF 0.% ÒQ$,\ Y6I# hI{w'DSYOXF 0.% ÒQ$,\"lF@Г>N(IuQVaÒ]b,#J$IX1(&lF@Бk?V}r얔Oe ԑMyE6e1lTO OME4Mon9pǝlb~ۛ4?673<6əmvη}gVVlo K,4 4$BIT%+ 'ֳJ}SWm<Ҧ+Zij'.\fﵚZnԩ :'zk蕔IB"*FlG Lg9Y؞K,4 xLDig/\eFA' 1yfcbzR.H(I`#6! 32ﳜqҗ)rEUI`!$,j2fa%މΊ]zR:'L O$5p  k$<nf>@>X>';*<./usr/share/man/info/en_US/xlf/html/UG44.HTMp/$ Hardware-Specific Floating-Point Overview XL Fortran for AIX V8.1.1

            User's Guide


            Hardware-Specific Floating-Point Overview

            Single- and Double-Precision Values

            The PowerPC floating-point hardware performs calculations in either IEEE single-precision (equivalent to REAL(4) in Fortran programs) or IEEE double-precision (equivalent to REAL(8) in Fortran programs).

            Keep the following considerations in mind:

            • Double precision provides greater range (approximately 10**(-308) to 10**308) and precision (about 15 decimal digits) than single precision (approximate range 10**(-38) to 10**38, with about 7 decimal digits of precision).
            • Computations that mix single and double operands are performed in double precision, which requires conversion of the single-precision operands to double-precision. These conversions do not affect performance.
            • Double-precision values that are converted to single-precision (such as when you specify the SNGL intrinsic or when a double-precision computation result is stored into a single-precision variable) require rounding operations. A rounding operation produces the correct single-precision value, which is based on the IEEE rounding mode in effect. The value may be less precise than the original double-precision value, as a result of rounding error. Conversions from double-precision values to single-precision values may reduce the performance of your code.
            • Programs that manipulate large amounts of floating-point data may run faster if they use REAL(4) rather than REAL(8) variables. (You need to ensure that REAL(4) variables provide you with acceptable range and precision.) The programs may run faster because the smaller data size reduces memory traffic, which can be a performance bottleneck for some applications.

            The floating-point hardware also provides a special set of double-precision operations that multiply two numbers and add a third number to the product. These combined multiply-add (MAF) operations are performed at the same speed that either a multiply or an add operation alone is performed. The MAF functions provide an extension to the IEEE standard because they perform the multiply and add with one (rather than two) rounding errors. The MAF functions are faster and more accurate than the equivalent separate operations.

            Extended-Precision Values

            XL Fortran extended precision is not in the format suggested by the IEEE standard, which suggests extended formats using more bits in both the exponent (for greater range) and the fraction (for greater precision).

            XL Fortran extended precision, equivalent to REAL(16) in Fortran programs, is implemented in software. Extended precision provides the same range as double precision (about 10**(-308) to 10**308) but more precision (a variable amount, about 31 decimal digits or more). The software support is restricted to round-to-nearest mode. Programs that use extended precision must ensure that this rounding mode is in effect when extended-precision calculations are performed. See Selecting the Rounding Mode for the different ways you can control the rounding mode.

            Programs that specify extended-precision values as hexadecimal, octal, binary, or Hollerith constants must follow these conventions:

            • Extended-precision numbers are composed of two double-precision numbers with different magnitudes that do not overlap. That is, the binary exponents differ by at least the number of fraction bits in a REAL(8). The high-order double-precision value (the one that comes first in storage) must have the larger magnitude. The value of the extended-precision number is the sum of the two double-precision values.
            • For a value of NaN or infinity, you must encode one of these values within the high-order double-precision value. The low-order value is not significant.

            Because an XL Fortran extended-precision value can be the sum of two values with greatly different exponents, leaving a number of assumed zeros in the fraction, the format actually has a variable precision with a minimum of about 31 decimal digits. You get more precision in cases where the exponents of the two double values differ in magnitude by more than the number of digits in a double-precision value. This encoding allows an efficient implementation intended for applications requiring more precision but no more range than double precision.

            Notes:

            1. In the discussions of rounding errors because of compile-time folding of expressions, keep in mind that this folding produces different results for extended-precision values more often than for other precisions.
            2. Special numbers, such as NaN and infinity, are not fully supported for extended-precision values. Arithmetic operations do not necessarily propagate these numbers in extended precision.
            3. XL Fortran does not always detect floating-point exception conditions (see Detecting and Trapping Floating-Point Exceptions) for extended-precision values. If you turn on floating-point exception trapping in programs that use extended precision, XL Fortran may also generate signals in cases where an exception condition does not really occur.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] n.)  lN5$)nf>@>X>';,./usr/share/man/info/en_US/xlf/html/UG45.HTMp/$   et<>Tainors "/=AEGNORcdfghlmpu-.3DFHILMPSy,012BCU_bw!'()4579:VWXYvx#%;kq*68Q\z|+K{}Z[] xjaC"| GҧRkV[:0(gMiWZδ͉B (W'N?$[_8888888888@E @h<8A m5008"խYmŸ_5YEx`9P(\[YEYZp8QVqgZZm9T[ʋd+-*-qeEEZulͬWc4FvUj;l Ztc[\HD>1&) @q4TJpҊ D7zk:@?UZN@(((0HD>1&) @q3PJ'łX3hXX  I$ 2 J(%ipg=pаO   o$Ob7'l=4Q8’Ю n ၀сa-""Үanos XrcB<3RUYŸVր!+էwr_A1_mdB j&֚*UVɠ^By6olܚRiHHh&4#ZoVV$Ӹdxm*unyQajAV-QB[-b8888888888;HHdjkdi- !|f<-ԃdž$j& 8qCE j" 2'xm*u*et&ulKGo?y$0Ѐh(`,$Rqxh,a)b:1U-:1UlyHHaP di-$  | y# qA@ Oo?y$0Ѐh(di-YϬ]ӣtZZMrw*ud_YQ4_64TM$`\yHHwͻ)I{Uݝ2\MvO+ZE}WU&&bR*&0]攊ؼy9EZulͬo)IlN-R*&0żTM$`k:*-R*&0wr-y"i#+ZE~56[[.hg8tuڬt`S7eʋukMZ.aeVv-gMZtcZmWs֑_cyMo)I.Z]P0JEDFT[TM$`hw-@C)Iy[=|+5y8ZiΌ}X -@àG@#!&D0d#!&*JgxY|Qnf)Èrj AH$H:&pqH"'H@iD0 6#0`.Z]P0[͈>#H"@tLȐE#N1LӌLi@lG`1]h |GȐE#"Ǒ Gb#9pyqAJEF9* HIXyR-"A0gD)dS&gPPD0 6#0` ;yo<R8(yqLzAB8<؏8c /l -l$H:&pqH"E2fq5 `zdFy *Q9YkSlFH>*@o<R8(yqLzAB8<؏8c /l -l$H:&pqH"E2fq5 `zdCLb< Yo6#` GE3"A2)3@(P"0 6#0`)Whډ_=*,yR-"A0gD)dS&gPPD0 6#0` ^M_b6yqP88$H"380=2!pyq@^[͈>#yH"@tLȐE#d$Rqxh,d Nn`"tcWhB֭O28BHiyYgYi5ﶖn̨SvN|kQo]g,[^Mw5eӫ&ulI5ur֗oZguzզ':1ﶖ˃yo#$L!Sۘy7WiijEF yHAH@n5"W>vNy_[bMg;Oo yHAHA ]N}f[濽[jEF$Rqxh,dݴeYΥ]ӣV;5"i#@L1攊=\ց^̷ʅKV6Vͼɥ]j[:sM]ӣyHAH@+)IZͼґQ4UsgZz)I WjךR*&0sgZ{2շ&[\w^oʅ}\ٷ0-i} vvjEmES%ljEF;u[>׉GV+["B4@ y8ۍ`W+W{saշ&yw-V-&S39Lyz8xLA!@5sWh%U'=g3V*-sji7խ/;SZ+ݾ\U,+j)ƝyzWUy5M( fNߊWjӭfʌemWhu[[&-Ayz85pE5IɌ2rci'=D` H$d So4:<]Mqrc >Ƅ`Gđ^ k9$ nf>@>X>';/ ./usr/share/man/info/en_US/xlf/html/UG46.HTMp/$ Duplicating the Floating-Point Results of Other Systems XL Fortran for AIX V8.1.1

            User's Guide


            Duplicating the Floating-Point Results of Other Systems

            To duplicate the double-precision results of programs on systems with different floating-point architectures (without multiply-add instructions), specify the nomaf suboption of the -qfloat option. This suboption prevents the compiler from generating any multiply-add operations. This results in decreased accuracy and performance but provides strict conformance to the IEEE standard for double-precision arithmetic.

            To duplicate the results of programs where the default size of REAL items is different from that on systems running XL Fortran, use the -qrealsize option (page -qrealsize Option) to change the default REAL size when compiling with XL Fortran.

            If the system whose results you want to duplicate preserves full double precision for default real constants that are assigned to DOUBLE PRECISION variables, use the -qdpc or -qrealsize option.

            If results consistent with other systems are important to you, include norsqrt and nofold in the settings for the -qfloat option. If you specify the option -O3, include -qstrict too.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] h lR$nf>@>X>';0./usr/share/man/info/en_US/xlf/html/UG47.HTMp/$   eort<>ailnps -=Tcdfghmu"./AEGHINORSbwy,12:BCDLMPUvx!03459;FXYkq#()8VW\_z67Q|{}'[]K`%*3>H4Giw-XdVdZKzsM`㸜']Γ.k|=s?9 q܁apx,qr;?UDxuiLpŀ<*X_(M<\YFӅ_;ݏVz!=;Μ-t~k -zݯgo>YhӅ_:a5ܵpE8[kI-}'9Hy^寸f7r-}[M`r( $p&HnNu~7g.T׆ϻ+Q]NRX@ɫ^WR/<]U<ůz|'ܵ< זZ幇UXY i4J rB{d@BdpE8[G41Y*@18kY hkrcG,x8, kiiɎxAP(([X4sM+];,⧝#h]5⎾?iV^kk3 LA@PV T2 ɄsX4J 5ܵ(9I⏛<0wSV^A_qVR/Z._.'gV;_q>7-%ѯ,_:כ5 `M`&v@Bd *P^寸Rk}*PRT@Bd ^*U*tQi*BR/<ad &AG +@BdnCov>\ϚT׊OX}Uve|K3Z4y:*.+_{o|i݆zw̤w-Lrޅi| pkҷ} *s}}\!Rr,_7yk(V|],1sk/oRt|qVFMxlQΒЬ7g9/iVZJ7*kf3&}*G|!GK)-tbO)ubp 7-xUgݕ範;:ͤj=+\(e"6}Fo).*BR/=jZυ}c91B=gnMZ*~kwWV;_q ,R5Y*AK T2 -b?F*rnZISܫ\3)QOסTjZԪ)>*{tUv9||ͯYjc m~γ]+ZghF])Tf0I+]*P9H0id &Akk=ruӼ>O~Yjc/Hy~q kSS`Mye">-tQt^f3e[Mxl3zir􋗝{Or:He"zEν)oIFkWTjZMAZ,R58kY oZ^]8[+:7Jɾ>\ɹI.⧬ΊASyR8Y_[^ u5SgWovWF)YҕWk㢥{Oj7S'N)Y̪c `M`1&Eө W+twf=g+=NjKHoqe#ϻy{^); n)?_qO3k](95*P9H0id &AKJ ᯎid &A_ad &A8k@Bd{ RkW_;Y jpX4J 漥9ZIPەcw&8Dy@m`5M%5,S=ʱ{ T2 ViX4J b!?(@Bd *P~Bw漥9ZISܫϘVjVxQE}NJ: 7K*BR/=jZɰ]g, :YHoNc~7*Gi.szZ _UF⎂?ލR;?-xIw"Ooj+Tw:֕ 5M`kGnu o6^uZ,R5Y `(L|/rBMOq3 ͯYjc8ϖZK]F)S^3L?UvEP31PDHpr 5-Lre4)YѸVoJv)]8[o;JV 5D 5-Lre4)Yѵ&s Q^}үEJ|Tye"0 $h>,1uUMxl/]̤v~ZJ~oegNЫ('3ѵ|Tb!GK)(/SA鑆h&hM`PVbR6m~ꯟZ0WЮ-FϧyםrxB6b,1-Y>ʑzoDJPz.f*OF~YjcO0e}V6k.r;XџvWFDg$3kewot!׌V-Lrƾ~k\^;ye[-%ѩBvS^>aZ3k_U|͚ZO^uY jT@Bd9!@>X>';2N./usr/share/man/info/en_US/xlf/html/UG48.HTMp/$   et<>Tailnors "/=ADEGILNORcdfhpu.HPSgmxy,-25CFM_bvw%()013:BUVWXkq#489!67;Y&KzQ\|'Z{}*[]@p9@qpKD7Yh:qpKze< zOp9#vn-/hԨ;NPpPʛ 5.=p^8n-[/0 0 0 0 0 0 0 0 0 0 3<0 "'`S$0{@z WZ e$| gx(w y.aA\[r3kʴPr)r)oZpոX  P  y.aA\ h9mlmh8AO% (+9Hs;lXKҒK>;g~2k-}X y.aA\7Q,7/W/ۋd9 ()pe'SVNnImAO% (+4i8ՙ۞pmYmlЯ\| y! +NƶU{vTeM V݉;*VTПƶUf4^rygٍ8'E*hyfƢp:O =EG)ZV<9(ASFpxѽy[ `Oa ZoeL {*-6hADǍ4 m)B V [V [|`7Z^[*Y`E[=ťlRb%Y/olZYnŪeg c[*ӭZ/-irDٔ+ZLIiPws$=#7ՎY|h %s:eAMVTlm3qmcrެv'X8)ʚN[VjylK(2YDxiGJp0(eD{t_,&-U%%'ʂQ T[Enz>Yf+f;؜Gy\g;VDZQVǵj,gձg=oصG{U7֜|HWxq6c[A[@º,r5oƛ!J6r4'-lOUn jZ4Aحilc9|AlkeZhU׎e!ԌᏃ9!Ԍn#hf~dz/<[Sx3y剶-Q|vU[߬-gHƋg=;}g;VDy"l>Heq]FUvmvǴוڜH*&NTgsiظOU]Xu5vUI5Z6VޣYvU}f;տvi0DW%<‘8 {5cq3C0NRy.]uëmi֨<zʃpj؊ҜYrXlq9k=;* j 5:բVu=O,KZS/Ew>eg-lK-ZpǸX%7hy/"X@,ŪxqB x2  <6ڔ;#/ح-p;* YSyƶUYqb/%<‘8kq3C0N=Ś\1OZpz\:F-lOMJzԧYժ:g p*h<("mX*h?խiE?:#*GeZz؍ZVwʋMlQ4ō&x3+;wZk-iKvTeMAlkeZ_ƋLw/6 Tю,lQ4!ԌƶUVY %UDxPE-8UD^o؍ZVw[[.hg="?/p 5:բVëo"=O[zdzբjbNZ,ƋT%bu/buAlkeZ\'}j5ŤzfTM>S9جQ9Pp+ኞM3Xѕ1:f'Q0VR"3εGR.,b x~LUAHX*h?jߍQJrPQֈ\]DK,WYb>Cڭ4/׮_һ֋wZ3&Lr5oݬZLm\'޾3Qiyog)վ &‚,Oviō&6+Feb>Wwb-CڊlvBY2$΢b+n[mleƋg5oyQi}g p*h>Cڶ-+TM#VUYUDxPE-8UD[*W27lFlNN$oB?mv鲟sjGdVg/}mMjhK> ^WQv_Տ-5jf|_>u.%ThlKE&G[Vwe:_>jZڔ~'-d &‚,Oviō&x2Yr*-6r7!F}ʙqD{EZ3Jjgdz/<#}n{~lK~fsʴ[>`jش,lQ4؍ZVUDxPE-8UDx\ZHŃy.\1:\X-Q/0%z,r5nݫTu?e;vTeMAlkeZ_eA݊ؖm6k-ip޾b`p*h<("qc`vjʴcTZmlQ4JYUA4_lQ4J{tX*hSVťyVլvU\1IlFlKTMXӋTM=lr4Ew-ؿ#V׏`#V֪9~lQ4WͻTM~UD{ ͻTMUv=[h;-l'YZ3 c[*ӳ/9Pw[>-5jiGp &‚,Oviō&vTq\ {o7w)N,[ZZʗTMnUAhw'YDgfq`;[v'X8)ʛʴj^8KUAA'hUAlN&SQJrfժ:ZNS-Zvŷ˷=-lKv N2/NxO0b($PFDFy35qj$\1 {y ȯ <8b< e=FPwFvG[_[xZ-5*ӬvT2-lK^ł^Ky"p<,0{5ޙR' ^Ky"p<,0kpǛוmq#[=iʴhԨ;k֌k-{mVTUD{ mӋTMnˉ|[Ibuʃ-lK~;)UAQ@8a,lQ4!ԌƶUVY ն4UsFm3׭IʟYħTM\_ a+mXS,lQ4KUA4 m)6  slQ4Bl0Ѓ{)UDU۞ %rlr8/Z;*#}oeLc[FuZ;D6ȯ*uZMlOV;UA4!N,lQ4( |ģM쿫YZjՊQi.%ThlKEV4#֪탣e痿Y8sq4_Y{_IZڔYviF~lK%Ťܒ/GxZ;TMEᇸUDR3Os#[VmnF(/q`ĞK> ^WQv_Տ-5jf|_\46%"3Tu?fǶ>[) c[*Ӭ,y_v.Mh(/rH Z3 &ÆASF8UD[>n`R_:ƃƋelZڔ㲭E,pǸX%7hy,E\ZP1,P!PSѥ3;Ɯ c[*ӋYŚ,\oL)aSY%<‘8Ry.s9Oժ:nëminj ƶURʴ%)eE7-| 5:բV>[e2ܿR3Ln#hf~׉,f4^yo+IbDsjGO*}fWŶUO c[AƑV}g p*h<(#yE6 keZ5~׸lQ45 X*h?ƋUDxP{TMu#;ޙR' aOqf y.7hy {5cq3C0N@ SY%Ky"p<,0=Ś\1ޙR' SY% #"'9ڵGZ#_ōvUZT֭)OfK3վhKw'-gǯ-_:Ϭjc|N4ߵ3.TME*h6 F}y{wϬp*h<(#yE6 keZ 1'~FX#NKVhӳ/oصGg;U7x2Y-Z3/Ej*1[ʴ{Fb}h֓#֌彋T/% rHϳ/h{wYGZy6׋%hr툵jG%Ŝs1:p-& !oqgA8猵D_`cmjfK3W%hxZ3ݱU3jjݺ_}徳vi0FTNZslQ4mӋTMtw-Jmk^JկjhK8縳y.\oL)a,^K<4< DxX`kpǒzfaH )Oqf y.7hy SY%Ky"p<,0By.\oL)akpǛ9vcEZʝz#<|֭k%Y/mh8D~_1Fiؿ9nժ:+9{U2Nv+bDk &Ƣ4cTM~UDxP{TMu#;%Z4>`,lQ4֨<[*x9S=#>`g;w &n.TZmyf)6 %|bTmuk=>S9!V7lݳʄlQ4[wrm|.n]:\X*hhY^|ZDޮN;hl>;*oqgA8-SÌ(rF)b=jG߱[s-lN.4^rk}GG,{ y.^1[gslQ4b{N,lQ4؍ZVslQ4mӋTM.H}XvUv+n5YS~[Vr/տ3Hջ{ջ-O/[=iʴhԨ;TsFd/~=O8Y\6 DFxUAխislQ4b{N,lQ4ʴr\oL)a),ג%=` A'h֨jBpq`ʴOozZO8PE-Q.GR' gz>kx{ׯwТ\XOy.3 r5nݫTu<'$sslQ4WX*h?։_1reOkbSUDymʋM]aLUDxƋ9g p*h=w6 lFoeL_vi0G%AlkeZ_ݚ5Z;Tu?1`mX*h?Ƌ &hvmX*h?ʝja@PB 9UT&qOŶTպ/*_YK<̯؍ʙ9N[_|߬,NPpSU7cƋMg탥}v'j߻X#O4hl~SEpuj^vi0Gʜ<Ѡ *"y@nsՏZΊp= "a\:'D{SQ.zAE"z)T 0hjgA 0hjS8`z p PO8@8`yvh ]k@K/7ke7FmYWZ:Wܰy<4Ԓaa'Q" qU@7|DFyMJX'>(P"D(rOh4 T0ְi45P7>_klaol+XQ.,b {^zfaB+`W @ . T4@,<aS-Uvqfŋ |UDy B UAUl]eg:5oxE/֭6՟p'X8)ʛEզڳҾެ}g;V{į+b2"j[ng[gocOp*h=w6 &4_lQ4CnUAڭ쩗8[}g8/M'*b|VfTeK[eZ_1>4M;Y5YS}:hZV~:Wܱ+ض̈\1g8'lQ4Bl0Ѓ{)UDxOZʗySrElcXJĩ-i~mvUvYξ1*KeZ_[}g="?VnNzf/?Yժ.ݲ"#<-gYX!*`g/Ul]ewQJyC:[1!+Vs8%<ݶ~ms &Moe0STM\ U?:( 8^KtRE)#àW(&a@!aA$W"tPX )ҞzD~\otRE)#àW(&a@!aA$4a᠂9,‚`!OotRE)#àW(&a@!aA$ +:(@=*ir\\W @jH$xt RE* +<ӏTiY]UFȝf y B (}W%sRE)#àW(&aPPa\YzL(5D<4W"tPX )sr#k>ħ qp9ԑA3 H TWy Q I\a@( )rHbEʋM@ KI$^[wsiME \E,q=A:X-,=3O/O+b[K/lB+oZK/ǭ3ƕr‰qgrO%縸*AWsRE)#àW(&aPPa\YzL(5D<4W"tPX )sr#k>ħ PhI0\jHAAqgq0ȝfB[wsiME R\\{ty.ԑA3 H TWy Q 9,‚`!O%^s"f+MI0(0,N=QCF+:(,]5bS(Ptĸ@jH$xt RE* +<ӏTi$D 0۽MBl*-6}%縸*Ai\1nZb.վ= &O N,lQ4ߵ$[[ؔW;*'3-SÌ*vLYʃS6  =ō&Y 2k Fѡ,VA(sq\c-[Xj0=pǃu=NTg;UA@6 keZ5on֪9|Zb/O΢ye|K<:Տp*h<aSqc`ժ.ݲ>YxO0b zCO53E"inXJKg͔xUl]eX4^y+3-Opj0=um;5J4Ga*lQK=/q3C0g*0iW @ . T4@,=fƋmmVT˸^ł^Ky"p<,0kq3C0Ny.7hy,^Ky"p<,0kq3C0N)Oqf4< DxX` SY%slQ4WͻTM~UD{ ͻTM#j_jI|q#$s筸Ebuʃn4_Zm?l+XQ(_Վg9PwsլvTFʙ~lȄ5oܙQ|vU/ح*w &jqc`x#ǝGIh≃9جQ9Pw؈=٨}ojZLn?'z9k$ipQ.\1<¡X"3 58.[jfŚ {j@ZG QSU @_5$PL’<:pi"f RP<@9,‚ėI0\jHAAqgq0 +:(,0Sj@ Kt椊 RG@ 5$PL ¸8FPjJN  xt5YS~R"3[V%縸*AWI0\jHAAqgq0ȝf)5}XhKĸ@jH$xt RE* +<ӏTiY\aAaBWqp9ԑA3 H TWy Q I\aAp!Ocফ*o9/Z;*i\\{ty.ԑA3 H TWy Q A\aAaBWb\\{w5$PL’<:pi"fŞiǪ4ƒTH,D 0!Oat U %sRE)#àW(&aPPa\YzL(5D%pr'@Y<:uʃYf'Q?ƶU..=W @jH$xt RE* +<ӏTi D 0!Oat MI0\jHAAqgq0 +:(,0Sjdĸ@jH$xt RE* +<ӏTi$D 08NPpSU7EN-lB\\{ty.ԑA3 H TWy Q A\aAaBWĸ@jH$xt RE* +<ӏTiY\aAaBWI0\jHAAqgq0ȝf ^BR_>[V^*]"f+MI0(0,N=Q@9,‚=+ 1..=;(&aI4ԑA3 4aA$W"tPX`:aĸ@jH$xt RE* +<ӏTi$D 08L!hKqpU%;(&aI4ԑA3 4aA$+:(,0SjЖqp9ԑA3 H TWy Q 9,‚=+ #@1..=;(&aI4ԑA3 4aA$ +:(0)ӬvTeMg%ZGeZ| 5884 KqpU%;(&aI4ԑA3 4aA$+:(,0SjЖqp9ԑA3 H TWy Q 9,‚=+ %sRE)#àW(&aPPa\YzL(5D%pr'@Y<:uʃT俫YhOƶUpR)qp9. UsRE)#àW(&aPPa\YzL(5Dpr'@Y { _cV1..=;(&aI4ԑA3 4aA$W"tPX`:a"^@b\\{w5$PL’<:pi"fŞiǪ4ƒTHW"tP`SçX8)ʛA(KʴAlkeZp*)ab\\{ty.ԑA3 H TWy Q A\aAaBW Kt椊 RG@ 5$PL ¸8FPjȝf)5}XhHb\\{w5$PL’<:pi"fŞiǪ4ƒTHW"tP`SçX8)ʛA(KʴAlkeZp(8^Kw5$PL’<:pi"fŞiǪ4ƒTHW"tPX`:a,s"f+MI0(0,N=QAepr'@Y { _cV!! %sRE)#àW(&aPPa\YzL(5D%pr'@Y<:uʃT俫YhOƶUp8^Kw5$PL’<:pi"fŞiǪ4ƒTHW"tPX`:a,s"f+MI0(0,N=QAepr'@Y { _cV $I0\jHAAqgq0ȝf;* jPJ3e>[V * Fr_QF%縸*AWI0\jHAAqgq0ȝf).$@jH$xt RE* +<ӏTiY\aAaBW^hI0\jHAAqgq0ȝf;* jPJ3e>[V zq{`ExʉZL..=W @jH$xt RE* +<ӏTi D 0!Oq%sRE)#àW(&aPPa\YzL(5DN @4$BhI0\jHAAqgq0ȝf;* jPJ3e>[V * Fr_"mծxʉZL..=W @jH$xt RE* +<ӏTi D 0!Oq%sRE)#àW(&aPPa\YzL(5DN @4$Aa)qp9ԑA3 H TWy Q I\aAp!Ocফ*o9/Z;*ig%;-֭ $eD}i2$^h-#K>AilłݬZLIoƶUwlnqjʞ$jG`w6 Y}g5s~SoB\6 auō&1γ1\WRg>[Vep+V˵Z/*AlkeZqoVm>bؼ;Dgo+6S+ 䴶d}?-obTM:aX*h<$ &jБ3TM~UD{ _cVcX*h<'%{e}i2խiV>lQ4b{N,lQ4ʴyQi_Zm?Q,hѹ>| 5 YX!*ëo"=O#Vg}i2+իm|v+9NT  PTu<'|N|A5}XjqpԗBAqphZ3p*h=w6 crYpʴYfpZ]yPw c[*ӈB{:a8A>W%ЃAPa\ 6SvQֈfpW%=ќ ͸1? _cV735!'Z3a W*5}Xjk*{pǸX%7hy,OW @ . T4@,x؏jyZV c[*Ӌ9Ś,\oL)a0),גp*h)\X-,=OQ?uCYw &jqc`/6 aٷqc`ժ.ݲƋg;UA5}ō&mhK8ct[f4^yaAĸ[Y{9Y}=ѧR3Ƌ-E>;UDy ^Cl{N,lQ4ڵV۶ %Ŝs1:p-& !n_E0Kŝ5߳Q?>`X*h?jl^;)Elg+;Y{iPwsjG%ŜsY< |xjyڵGZ#lImm9}vBYnVZL\1 {y 9Q`8bO0b(XpB`0SbA c[*یK78ۃciDFywkXKp¼|lQ#<)zW{w‚y֍>Qj>bҌfg<_CʃqOʞZ+_9/ʴ%jylO!w֌nqV.7hySY%Ky"p<,0J{5cc}e4E >`Fqc`vjʴc8KUAA'XTM}sjGV#Ŷ3Z76rL}:;۾.Ei}g8jglzu!_xZ;[[.h;FK1]qwj4{UAQ@8a,lQ4nUDxPqc`ygq\ {oNw {K0xqy.Ih|FrS eZ;9n{ǏZ3YeZ/Ƿ}9Sّګ/[jhZƛo*yQ j߻5nkW}3^2YH"v<G-ɑ R3tSEz4[Vpm{d7˄g;UAA'XTM#VUќr\6 T.UA4v=p*h>X*h?ʗ܊ 5ls$lQ4v]ō&S VF+evB2Q.-DK=/q3C0g+F =P⸵O0b(XpB`8ʒ }g8̳lj+o:uʃVTyihԨ9Ś,\1տLׯ؝cফ*o c[*ӭZ/-i~" Z[-L_1޽eAr3vZk_yL'gG;3I[f;֍;96RCeƋg.$\/ /%ݻʃi2>>7Տp*h>Yf'Q76  TMENn,lQ4KUA UA=`PJ3,lQ4EUAUAխi~'-dg;UAA'hUAlO&9֍Cڶ-+TMeTu?,VYvi1,_irkIm%k؋VD}e'X8)ʚJњ;*/ëmi9kqqmpʴ -#V>Di2?Y;)ml}VY[ g [|vUK<S~b`p*h<("mX*h?Y{6 JUA>=fq`b'-lK+9N"=;* jʴcsj݉ c[*,ݺT֌{*ezWzԧ9k$lQ4b{N,lQ4mf|o!F}ʙp0OnUD|lZW6 #hd|x%!@>X>';:./usr/share/man/info/en_US/xlf/html/UG49.HTMp/$    enot<>ailrs -=EOPRTcdfghpu"./AGHINSbm,129:CLMUWvwxy!034BDFY_#58;QV\q|()+7Xk{}'[]6hxj@Èf D䁣Fr pPѧA 4Á-H8cZ!Kt9SxȅqMxm'ʦѩH89p]- )T4IIiiiiiiiiiii[@C X@ZTU. HH@ m) (P)~(`+ H(A[@r@Zk*8e"D$"H,/K!!P#[@hȂnIa$,,/09qя_gS R8t)ߵ(>3KhyX0 O*!:5=S?09q GQ#߰.&rlʼ{('(+[@Ǔ^f5rOOx5~DrL rC@À QrLHUO$Ē4^Ц_JNO p,n-$;I$ 8 "-~҂i8F8 /b\(HH`PX$* ᧒HI,(p@_ĸP  !!n-$;I$ 8 ".bi8F&9p@ !!n-U4^ЦNsg|p*KS])AN ȳt3(pSW @,fԅ/ZʦwQT &_JwMw8Zѣ' /!_M $ur18ZޅUך'?R RNJ:趓IuIhi"y!>]DC+RvZ4HH{)l2jN@ Ba 0`8 -PD# _HH{%jN֋FIpG맅Xj]L^-`[O8З.BH^"¬3eW$SNF/ĩ8N|N3Xͩ XamE")?S)1Rp2l~jI9FI' -C\3jOՅ=Ldh%Ip>W*^|ڒN{Fѡ\ѧ8jDC+RvZ4HH{>]<*#Rcsyy1?BwI\Yc6-o ua)9,HH{%jN֋FIqe_ iʟ:S*N_W%{R+JA^U6c< ,I\Wt3W^+O'E{I䇺Vhi4<}ıFS*1ٗ{\4rF)WMWO ҟ/RY-9DCy+RvZ4HH{'zRf;׫fuM$O$=ki4<}ϯսxȄw9R}Mxm'ʆvItIhi"y!)Wk\goCH5ᴞ*MF#.uWi"y!;Z-M$O$=l6}\}|ki=fT0!,=J<(,/DiH<A, E>0SI pt.}\&=s}NG,N<4s4%ŵ$t9&6e]Lʕ||_ϫ<-H&Ȝq$OT(1˟߽ٝ) V6V01ʼ7g%JTr7=zI [V{EyVgR5|zNeϔ+orLΒ*W%A-DCL E&&'K,{dJ*_yU0SHH{(ѤDCs==50yHOڙt(1˘ڃA4"p4`*X@>X>';<M./usr/share/man/info/en_US/xlf/html/UG50.HTMp/$     ae<=>dinoprst "/AEHMPTcghlm-.CFILNORU_fu|#012359DGSbyz,4:Bvw!()678;QVWXYx\kq'j{}K[]hDbrhtTHL,xG9pr'^cQQ!j(/@F1h6ur]:j6iPz1\F]my-Vus9s9s9s9s9sO1\`(`` Mf0$$0b ug f"% HO`ヸO1\ @ Ug.PP8h` .ϥxP@@_PXH((Sh(Wd%XZ\dI/CCCBc@1B1vPf_vVtXtK̯ KBc@1B10fLknKmz[9((Sh(W'mxW/ξNūk*aD'_`Y'+ւO1 @$ oDQƫ8o/b'DyI訢bh+PJoDQ@` ꯕѴ@`h^cRAC*(cZ Q 83`WPXH((4טԐP&)(-Aia AG6p}+‚<$$ 55$?@ &8 q5 qpG Ҽ( 3AAAƈ(CJo}V5ȇʭNImC?oF` 3ҷpI .+PLf ,b 3Wk1)՜` 3W ج^S8`ӄr(ȇ1~؝\hׁr.?$l[Zq1 @hm_$u{OIP, 7I4x``THC(^2vJp9Y׏ԮJgVrӏy92^0r#7v_%%km񑍵2^0rtY^3DK}͚Eډ'$PRkԝ@>X>';?./usr/share/man/info/en_US/xlf/html/UG51.HTMp/$ The Philosophy of XL Fortran Optimizations XL Fortran for AIX V8.1.1

            User's Guide


            The Philosophy of XL Fortran Optimizations

            XL Fortran optimizations can be characterized according to their aggressiveness, which determines how much risk they carry. Only the very highest optimization |levels perform aggressive optimizations, and even then the risk is limited to slightly different results in a small subset of possible programs.

            The less-aggressive optimizations are intended to produce exactly the same results as an equivalent unoptimized program:

            • Code that might cause an exception is not moved unless the exception is certain to occur anyway. In the following example, the program could evaluate the expression N/K before the loop because the result is the same for each iteration of the loop:
                    DO 10 J=1,N
                      ...
                      IF (K .NE. 0) M(J)=N/K
                      ...
              10    END
              

              However, it is not moved because K might be 0, and computing N/K results in an exception where none occurs in the unoptimized program.

            • The rules for IEEE arithmetic are followed more closely than otherwise. 3 For example, X+0.0 is not folded to X, because IEEE rules require that -0.0+0.0 be 0, making X+0 equal to -X in this one case.
            • Floating-point calculations are not considered associative. For example, XL Fortran evaluates X*Y*Z left-to-right, even though the program might already have computed Y*Z, because the results might not be identical.

            As the optimization level increases, these restrictions are relaxed where there is an opportunity for a performance improvement:

            • Calculations like N/K in the previous example and floating-point operations may be moved or rescheduled because they are unlikely to cause exceptions.
            • IEEE conformance is not enforced for rules that are unlikely to be needed. The sign of zero might not be correctly preserved, as in the preceding example. However, this might only be a problem in an extreme case, such as multiplying the wrongly signed zero by infinity and ending up with an infinity of the wrong sign. Floating-point operations that might cause an exception | may be moved, rescheduled, or processed so they do not produce an |exception.
            • Floating-point expressions might be reassociated, so that results might not be identical.

            When you specify the highest |levels of optimization, XL Fortran assumes that you are requesting speed even at the possibility of some risk, as already explained. If you want as much optimization as possible without the resulting risk, you must add the -qstrict compiler option.

            |The early XL family of compilers adopted a conservative approach to optimization. This was intended to make an optimized program work exactly the same as an unoptimized one, even in extreme cases unlikely to occur in real life. For example, the array reference A(N) might not be optimized, because N might be a huge number so that the program causes a segmentation violation when the address is referenced, and this behavior would be "preserved". With the industry in general favoring a less conservative approach, XL Fortran's highest optimization |levels now |emphasize performance over identical execution between optimized and unoptimized programs.

            The different levels of the -O option incorporate various optimization techniques that are expected to improve performance for many different kinds of programs. The specialized optimization options, such as -qipa, -qhot, and -Q, can improve performance in some kinds of programs but degrade it in others. Therefore, they may require experimentation to determine whether they are appropriate for any given program.

            Related Information:

            Footnotes:

            3
            If IEEE compliance is a concern for you, you should also specify either -qfloat=nomaf or -qfloat=rrm.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] he l$8nf>@>X>';A'&./usr/share/man/info/en_US/xlf/html/UG52.HTMp/$   <>aencdioprst "/=ILOTghlm-.ABDEGHNPRfu|2CFMSUbvwyz#,01359:_qx%()468;VWYk!7QX\[]{}'Kj9 ca0ᨠF8qÓDS FcH2ȦYa ?{R(M˸Of# ? (U G)|[*<<<<<<<<<<ϡBBPP8$i74F`P 8ТF|4<%Z(  PXe!B |@+@WFNHb A-?C! AuP( `MUUUPXe!B h)Vt |`P( UUUUUUUUUUUUUU X*,E+9Tz]hE66}jҢq|:3UUUUU X*h:>|:]QNOE + (UKYٹO5bϑhG8xUUUUUUUUUU X*k[)8'B. |`. ,0zc(0 Hh)"I$M˸Of"%Lzr|&"%8=x9n>s221C rQ?1IC&fM1]gOhQeLeM2b@-RDI3hd#A H.@p, X`Q&(x@ JFRPبP+)v+6eUT'Muh|ieURV`@"UT"Pu`Lc|A L*LInW+IUE_#QY`$g"? ;,jC2ΘX |g*-@@PUU<(BPmoFsʨ<<<<<<<<<<> ,e}E斎Oܻn4 |&'s -7s _Xeޠ,eL5aO,/.Pߧ4+7 ҆X$00yQ"iDJ <H)ɦxH4Bn]{7?nRA6p̳'(oӚ{SCN w C UcpRVpA5z&\NiW}Nn D⼩^{")npE+N,Y*E^wew{:P t̹C~خ/gJaRA'Z(ew{:P 55vt|?C~خ/gJ+͠*ڔ9*m18j*AI~Uhc{[L{x˔7=twfYȡr9]9^Δ7 Ջuye.(ՔRrY\͛(,PE C~خ/gJ_tػ~tǷO+K=,PE C~خ/gJTܿWjŶn0JNZ@oGdew{:PCPlfYȡr9]9^Δ7)8j*jN^ 8sYr(e\NiW}Nn C8d1^ieP |[wWƦT*t}beh(oӚ{SC{E/YgzړGcCwew{:P92G yr9]9^Δ71joQGz*stM˸Of-XM7):Sc 8=nB/g4z[۱wHew{:P\kc5zuo"[P-@cS7g M^^T˔7=tO-R|{@=:DoE斏 /"M.Pߧ4+7 ҆;wԡMZ(Yr\wK=彻t}5]#.Pߧ4+7 ҆:NrΘMWJZJ!B*C~خ/gJǯ-ѧztDKQRɹ!fYȡr9]9^Δ75z52! "vpje$C)2nd{gҭk]7?j^uz|LC~خ/gJ):P,PxXwQ)eS}/˾"B5]*ՖxIo2 sObsp(oFK*%SWCV-ҧ*Yթx~BhzƞVČC~خ/gJ ӾZ5H yjfK[A`|gSWC~خ/gJaH $0iS("[6u5vu lkcO+Ru;LC~خ/gJ,fYȡr9]9^Δ75z52!ot!^ LDe>s,T6:O*~]w"U7֙r9]9^Δ7{9'*f:N[[R Y̹C~خ/gJg"YO,/.Pߧ4+7 ҆X$00yQ"i͢%hq`$YxP<$Bn]{7?nR@8fYAxe˔7=t'Oܻn!UIǯ-ѨtJ+ʗ|z#>8CC~خ/gJM˸OfM]ՍIp]&S7.=Jo4˔7=t7w*xJ)C~خ/gJaRA'Z(ew{:Pӿ4 -z;eh(oӚ{SCѥT4g"Z(ew{:P=6 w 1ELJfMǯ hEW\NiW}Nn ^ih,PE C~خ/gJcg ipP 5_.ܢ|^Z-PԎ Yr(e\NiW}Nn Jrٹ*: :=KlT[*yZc׃ꛗ|jPp,PE C~خ/gJYt~]:rc9w~ϛ@' 8CVMǯ,R]5LC~خ/gJcpPA}˞(g Yr(e\NiW}Nn Ax,Xqs'g E+ZIG]Sʙr9]9^Δ7ٻLz-=>V7?,˔7=tr(ed sObsp(oS}M^/NӛJyZ(!Ny\NiW}Nn u)Jʶ=KzĪj1tA"VU5ze"PF\NiW}Nn h) c-2 sObsp(oN|[wO+EV~ޠ=:cׁi,PE C~خ/gJS]S\w>Rpz\gBnʀBpGWAsČC~خ/gJ'x"!*@Qf\NiW}Nn C,p'(oӚ{SC,52!H n]{7?K:C~خ/gJaRA'Z(ew{:Pœ,./UE*ihԦ=x9mYȡr9]9^Δ7=zѩ92C.Pߧ4+7 ҆+T/72T5z^Vk r9]9^Δ7E ,\NiW}Nn T$H HgQ"D2 B*z[MCU_}Nm2%Z&r9]9^Δ7}WTzO-tc]M^;Lzr*n_EEd sObsp(ojpGY:|&'sU5vuD6m?k.ѧ2 sObsp(o]d˔7=t$L`Rxe\NiW}Nn ѩHlc6RZ#->>1Ma#,PE C~خ/gJQn⮝rٹAU-'z\NiW}Nn $H H& LD`,PE C~خ/gJ?Z=SWgBO-cǯҡMZtKo[T۱h.Pߧ4+7 ҆% w eW(oӚ{SC6R,VjrP|W{'L{z|Wٹ!te˔7=tE5vu"yi}SMZ՝wQ,HYr(e\NiW}Nn ؁-L{zεKO/[gҦ2r#.Pߧ4+7 ҆;o|9ӨEK[{z"B^byi,$ew{:P|1- ԨEK[*$HI"14gQ"D0]5^ p"*ew{:Pc:RThCb[[=>o+ІHYr(e\NiW}Nn zr[*\'1T)8=nMZ) 8n 2E P˔7=t'<ϣPB.cpRA6pS5z|k|H˔7=t۱mS֬퓽JeT_wSWC~خ/gJcpPCVv|8n>sYr(e\NiW}Nn %(n Hg ʗ,ioVʠIp,PE C~خ/gJZyjc|5=n^T:%_R:ݛSsz4ZN C~خ/gJcpPBS;8nSV7ᬝ7+VB.cpR@8nP2 sObsp(o:R؉ 2E P˔7=t'M-JT"yPX.jo (oӚ{SC 5"W-Pyisz4ZN*ࠂ_2\!թWOܻn7?.ܻn!UIp1ŋ72Ñ O P)RՍIeh7|eh7 r(eXرSg ,PE (!2iYȡcpPAx-7p92G x&'sZn Hg wbh) c-0xDJjԢzcpR@57 C-2ࠃ6p2E , V52!YH JcOLzrR@SW:,h?9*m?j,jS+eB@>X>';E(./usr/share/man/info/en_US/xlf/html/UG53.HTMp/$ Optimizing for a Target Machine or Class of Machines XL Fortran for AIX V8.1.1

            User's Guide


            Optimizing for a Target Machine or Class of Machines

            |Target machine options are options that instruct the compiler to |generate code for optimal execution on a given processor or architecture |family. By default, the compiler generates code that runs |on all supported systems, but perhaps suboptimally on a given system. By selecting |appropriate target machine options, you can optimize your application to suit |the broadest possible selection of target processors, a range of processors |within a given family, or a specific processor. The following compiler |options control optimizations affecting individual aspects of the target |machine.
            |
            Target machine options
            Option Behavior
            -q32 Generates code for a 32-bit addressing model (32-bit execution mode).
            -q64 Generates code for a 64-bit addressing model (64-bit execution mode).
            -qarch Selects a family of processor architectures, or a specific architecture, for which instruction code should be generated.
            -qtune Biases optimization toward execution on a given processor, without implying anything about the instruction set architecture to use as a target.
            -qcache Defines a specific cache or memory geometry. The defaults are set through -qtune.

            |Selecting a predefined optimization level sets default values for |these individual options.

            Related Information:
            See -qarch Option, -qtune Option, -qcache Option, and Compiling for POWER4, POWER3, POWER2, or PowerPC Systems.

            Getting the most out of target machine options

            Try to specify with -qarch the smallest family of machines possible that will be expected to run your code reasonably well.

            • -qarch=auto generates code that may take advantage of instructions available only on the compiling machine (or similar machines).
            • To get sqrt optimization, you need -qarch=pwr3. This will also generate correct code for POWER4.
            • |Specifying a -qarch option that is not compatible with your |hardware, even though your program appears to work, may cause undefined |behaviour; the compiler may emit instructions not available on that |hardware.

            Try to specify with -qtune the machine where performance should be best. If you are not sure, try -qtune=pwr3.

            Before using the -qcache option, look at the options sections of the listing using -qlist to see if the current settings are satisfactory. The settings appear in the listing itself when the -qlistopt option is specified. Modification of cache geometry may be useful in cases where the systems have configurable L2 or L3 cache options or where the execution mode reduces the effective size of a shared level of cache (for example, two-core-per-chip SMP execution on POWER4).

            If you decide to use -qcache, use -qhot or -qsmp along with it.

            Related Information:


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l/$nf>@>X>';G ./usr/share/man/info/en_US/xlf/html/UG54.HTMp/$     "<=>Taeinorst -/ADEHILPRcdfghlp.01BCFGMNOUmu#,259:SVW_bxy|!%348Ykqvwz()67;QX\{}K[]' U)*9Dqɣ2Lqȓ|S$'#!42(Z]ASvF_|}\ݱ}@5oV~hs֪1c1c1c1c1c1# 4<4 M gR΁6`A (Tupmsą= o@>dd1Xn|>ձ~&LL`X~w<(`?ѡq# 4:)4cq˸7l\' 6F@ iM_5r ^X䩺s]\b ddʇr87-[su}Վozi2SMuPw\ݱ-Ƌ5eV8Mo"=xrՂW/%.# IɞIQY sZ]pu]˘vw# IҜ5ax_u͘P'8u쳀7]gUm 52)SQʦun?(Nh^!Vx{CѡqA$NjU05ڠ sf<`g=h8РFg5MD*|_Q7myBsDl' 绞0`_4444(12(أQ=8S-ZmK3njpg[v} 1Yo g C2Ĝgٺأ KQg٠٦1 0R'((*F@t/b' 1< 4X/@Ҁèz7cZ1\2ƿc1c1c1c1c1ci2gF/(Ȋj>FA!+Kي$T&y$bX D^TXiLB8;Qص\vW8w)b$# &y$bAw# if"tUbB;NvڎuY9\;b{tZv\7kkd4/WnjHVi^K˹M׫,{VpP_)ث4.~ۯ_-@]u1Sp?x2vb+KV$+/ m7^sZ4QG)]]ůW^=;jd4/WnjHVi^N,%u/}DY*svuCh]}צjd4/WnjHVi^MV7V8bлU^_)i>c0]zr{~kli_و.XӴ/Winw7g\1}o%ݱ} 7kk&]ݱ} ;K1ۥګvߦ.`Łձ~$)}3^ZՎ$)ث4..d4/WnjHVi^WX^]Wwl_A]eu3S!if"tUbB;Nh붻_ ]WMzb/]3u3SDnvS!if"tUbB;Nû/:Fs{åz 9]}a%MUu\k/u2vb+KV$+/%J"#/]k ,掻kūv* 9iCNEvvą`vd&x 4#!5d&=DȓDQ2$UyE<^ J/0`(볌v칊nhqkGp7l_F@(5 #!4&D^$&z')9$x M  >Eݱs tҔ&=DȓDQ2$'2B/Q@КQx$`B_6wv́JP:kJZFBhsL8DHM<"N/E_DX:/QA 4gh11M2M BhsL8DHM<"N/E_DX:/Q@КQx$`W8ي뻚mW8s\^.Ö_ \7kkbqrSv,4%5d&=DȓDQ2$U$OA J/ |:Fs{äd稙qzy&D_2"t^ۯvg-K^/1\v{.b5Z1z8w)bmřfa+^/z,휮~ݱ}VD^T $U>D'brb5\Z,%u?$"AiLBH-5U>D{>kkqԺvASvF_}5掻k IjMՎKSv`p@'( U8<|dNP?$"BƋJdAbTQug1:ا<Sw_wv-`}7l_P8NPQ9@Ȑʑ $0,`c=cV^݋XMTW q2(r%!"$#Ǥwv-`}gZ*.ݯ_SZg>F@NP?$"Bť2A IVaϒViq+g-M7p8NPQ9@Ȑʑ 2A (ß%slMb٪Ձ*. q2(r%!"JdA`5O(ß$z_4spSVYp8NPQ9@Ȑʑ JdAby(wv-`}.$ph[j# r '(YyR!aҙ X$Ef7LՃKT2)ݦhr-#A,9D,`H!$Ub+GQa9)랮ph[tݱ}@dQ9ADK"B/*D-)IM$VUVaϑM\kqԺwv9D,(ZS$ $T`$*$]vGwbՎ? V# r '(YyR ZS$ Y4I)sj݇;YbֻP8NP82 r H+($:@IdHEâ%VUgF?$"Bҙ'\lVV.+IdHEHJd"uVV.+IdHEH O)I3|%!"4$ɓA D:g7;Q8|@LH㱱F@dQTrS$ lP$AMnf>@>X>';I2./usr/share/man/info/en_US/xlf/html/UG55.HTMp/$   aens<>cdhioprt /=Tfglm"-AGHILNORSuy|,.CDEMPUbvw#0123BF_qz()4569:VWXkx!78;QY\'j{}K[]P $x !B4xiM <3<844LJZ Y`v"[ r`0P @`^<3d$1 k"x0y$|3<(U7x( @X,_^OE+ې+{/6êw'[ܦ[<k1@X Sۖw;o&]=-f( 6{J'g_JVW{9=ŋYBqm*dL|ǃC\%,ZPpi9 4<4 f~#R*J6R҄#>xEOt'^r!$ohO۔ ^3|0'A$OJF#7<,3ftR ԑ~\iCX5|0 #HZ* x3ٸ L@ g B@WJS?d%`WI:HC&,Nދ|)1F< Y4phŨH0V!P„R+bJrB\`7`( QC& Zdb|7]6!&qqqqqqqqqqqXӅ lRhŘm[ƕ{mF,&[V#mYuZr#N80Hy ㉆ 4<8|H )cMyʳPt&ыQk1AVƳ1ՈV]Fk9\$ۗ5I:W7jooclze$n( _lk;sXenƱq! 'XCG}c}JT[XZF¹(#S|3x@eaw:j˨ݍbߌHo'rc]|0'7A$!҄#>VҬ~#1[V#mYuZ7*yqEJT[B)-C׷7joiw:j˨ݍbߌHl +cYӘm.v5P֭g{Nc,!:v$[{n 7_MW!Luw:j˨ݍb*JgJֽJBQD[V#mYuY!+Uq+:ឱ;N-錽7JQwMW<#S|3iub6՗QSZ69eF^@InDVb =j =jw:j˨ݍbǧ@IxFg2/vY2ҁT]pnO}cLVƳ1ՈV]Fk#IV1F͜oo|╧y:o+,lk;sXenƱrWӼg{Nc-F Af(=jw:j˨ݍbPdX3iCɒ"5}(Sn(y2DFXAК(y2DFLVƳ1ՈV]Fk=B\~#7u<"#V, L+d%Pd_5I=GLVƳ1ՈV]Fk8{?#mW-|3|M7_6iub6՗Qʼn\ #7W77J)~t#*o7TVƳ1ՈV]FkbE[{+MUVPe$ ԯOog{Nc.uFoMokӠ:^+ʛb7g{Nc.WO2?_ W-+7$!$a\CiCa ɨ҇$DjVƳ1ՈV]FkzLt&v@J8IF<"#Vb֡ūcYӘm.v5PD`pi‡XCg'j4iub6՗Q]@Ջ2 ƙ5 _7@Ջ:QՅHZZ59Fڲ7cX|^HOm&*V, MFWҶMV`I%7=1[V#mYu\ޜe+ZeQw:j˨ݍbiQb֡ūcYӘm.v5PD`pi‡$yDqA B>``$QxE!G}cxJrmFZ Yw:j˨ݍb3ph,–F,lk;sXenƱjȌ 8P4@qKQb59Fڲ7cX F(x`  @ы1[V#mYuZr#N<0 )j4bVƳ1ՈV]FkӅ A`@$ Ziub6՗QŨg"084CX E-FYw:j˨ݍb3ph,E-FYZ59Fڲ7cX}E&HՋ:Q&HFovЂI@M5I:( _lk;sXenƱq! 'XCGB}JT[XZF}czv$[YHww:j˨ݍb CzQVƳ1ՈV]FkQK2ӼOJJ g'=`O~NV#a&+cYӘm.v5\ XXW%~"b =j =jw:j˨ݍbJFS|3;N0HJiw:j˨ݍbiQb֭g{Nc,| U>ϥbV!PdXJ4{aj4iub6՗Qſ{b֭g{Nc,z P&Ԭ'^yB)_u7ƥI%i<#S|3!1[V#mYuXo=|}E&HՋjqQ&HFosޛ57;mw:j˨ݍbOcn6PdXa%Pd_J'i%zL $JLB7TJVƳ1ՈV]Fkʧm%}N/JЄJT[XZF$DjTiCɒ"5a=E&HՃ@(y2DF$lk;sXenƱu)Qo[GOox` uA8+eg$[ƥI%i<#}(B:b59Fڲ7cXWߍ6|crYo Ĭۍo&o=aciub6՗QnwS|0 +o~n'roI/u7Hw:j˨ݍbR!&Pw:~q 6+?a7tiub6՗QXdWRqemܮu<"#V0Hg{Nc,0(y2DF[V#mYu_$ T<"#VIF<"#W[&+ WDqzW/7TctVq1[V#mYu^o$+\|~e~qCb59Fڲ7cX P~"siub6՗QŨ@ $0,֭g{Nc,1L]1ǚK~ʦg{ y]7z~^+ɘg{Nc.VI(֢֭g{Nc, Mi.&;w*NO<%tJ z\&b59Fڲ7cXHZZ59Fڲ7cXb錽<\M+Lw|U79]u<"#VH4iub6՗QmA/8q9>w y]7(&!rJ~yJŒQD[V#mYuYI1t^i.&;w*NO|%tJ 1[V#mYu[^+g{Nc-F Af(=jw:j˨ݍbЗN۝=- .^pu޲O C3&8RR)L80xa!KQCɒ"5a @4 $JLQg{Nc/\NOzL $JL|x盯,yHpt%9Vt!.0xV"Viub6՗Qœ.W<ՅcYӘm.v5+YLt&JL(y2DFXCS(y2DF3|3|0 +cYӘm.v5PH8<`Y1D[V#mYuX|=onHBI2'4-vWEvKtiw:j˨ݍbr*ɕiE1zb =j =jw:j˨ݍbeI}ǠVOp+=JT[XZF&ݕFVƳ1ՈV]Fk#m7_N[ĉLaJ!/Rʦf+cYӘm.v5QFYZVƳ1ՈV]FkӅ &HăqA B>``$X\6|: !G*BNfыQeg{Nc-C9 P(RhŘg{Nc-C9 P,RhŘg{Nc-C9 P0RhŘcYӘm.v5=҄#*BNfܐn$Djń ҇$Dj#7=JVƳ1ՈV]Fkd޾U8#u:L7|-Biub6՗Q7 rO|_o+XNom*-9AYm|1[V#mYu\nHBIM*KU$M 1AVƳ1ՈV]Fk{>iy{ߓd3^ەM+g{Nc-B8Y glk;sXenƱgLF*zT"Z/ܷ7W7).W=uO(2a#iub6՗Qź@z@zձiub6՗QŞ Jʦg_Nӄw盯mb =j =jw:j˨ݍbu*ܪooB1Flk;sXenƱg]:!*įT77J!)['zU)w:j˨ݍbiQb֭g{Nc, u盯 \+;nw$ߗ߈BI i UnSg{Nc.wS|3|҄">Wo|!$oyý8W0+cYӘm.v5>iz}(2g~yeeIqwϲ!>۝7嘭g{Nc.nBN`O \'gТOT777_d6f+cYӘm.v5N ^V#~nB?[S ПX7A" g{Nc.n'rޛ7(B:K}~#^siub6՗QŨ@QVƳ1ՈV]Fk$Djń+v3 (y2DF{e!Bu&+cYӘm.v5dҶPoxz~}T -7\VƳ1ՈV]Fkܪoq77_NPB~y}teJOg{Nc-0W-nSuOVu77$g{Nc-T ^(,a5'a^J{꟩_dY{J-7\VƳ1ՈV]Fkܪo ^˿xw/B)_<*o҄#Hlk;sXenƱvcX(@z@zձiub6՗QŨa ݹL̙4c h0nܧnZ/e$+G VƳ1ՈV]Fk7_A^@_d~#ޒ]Tc(Ni^(,a5g{Nc.oN+C >U8uOG{rيw:j˨ݍb1SpP$y;Ю{ \]s[٘g{Nc-*BNf*z]E;MΔ!׶g{Nc-( |U7<2¹Z59Fڲ7cXߐd:7?7_߰>4y=L'7ĩ" ߐw:j˨ݍbBW#~²B%r-҄#ߞnҰ{J+}vb59Fڲ7cXu7_B %7=ƾoo~ȭ\lk;sXenƱj! =f(cYӘm.v5=];ouʦgd ŒQD[V#mYuX_=|}E&HՌ(P4 I<Q&Hը Mx@֢$DjPF<"#Vb59Fڲ7cXVɼJŒVƳ1ՈV]FkHZ b֭g{Nc,<}(B>r!$oo$[nǥG|Sʧ}:+cYӘm.v5ӽ KPFT7:J(B;.%(#*Ox a=1[V#mYu]cx'4-v= |U7:Pt'm@IT[BF+cYӘm.v5P0Fc (lk;sXenƱj4 1AVƳ1ՈV]Fk3PFTM}>[! &ޥcvo+"Xlk;sXenƱsuFooorW)-KؕԠ'm퀞sr!+ Tlk;sXenƱiOO;on{҄#F|p%xFohOؤg{Nc/`~NA J'7 _x7_۟+cYӘm.v5ffcYӘm.v5|xJ{O(CecYӘm.v5PD`pi‡]6@ 8h8B@pHPÁ, AKA$uFZ,lk;sXenƱjȌ 8P4aKQb֭g{Nc,!W%~#߂PHJƿu4;apLVƳ1ՈV]Fk7J']8Jr>VҬ~#ʦgd VƳ1ՈV]FkB0 E6|(B( _I:XQ lk;sXenƱjS$M)FVCZRgL4p (qȒ"LK+IrQ4bŒVƳ1ՈV]FkCC,CecYӘm.v5PD`pi‡]6@\q0q„LJπX< E,2x7_RhJ\1VU7hŨ2Pzձiub6՗QŞ(y2DFXBeriCɒ"5ns~#s&uU)*ffYVƳ1ՈV]FkSx!hgrXށ\d \|<~2/v KI+ 1[V#mYuX<! (y2DFXBerΈj4좻~n'r+It1[V#mYu\u\Pwn3wbpUo7_>rR|ܝ1[V#mYuY\|([V#mYuY$DjńLu҇$DjGrM{)As2p~niub6՗QŲ \]nJ GB%}_Nӄyߦ+cYӘm.v5*zT"U$n^n"?S' p lk;sXenƱjȌ 8P܁P$WL4p8$(q"c[^OBI8YZ59Fڲ7cXѼRA>T )Qmo!:K@WgB)_\ng{Nc.JmߩJhOo)QmWW(2_iub6՗QY:tvzꍄKйJ/]QRXR7ޓH8g{Nc- ܂Pz8Z59Fڲ7cX F(un@`(+&8P8@y @K'm*HTiCɒ"5}+cYӘm.v5zq$c/c7_+J[ԥE@lcYӘm.v5=PdX5Pd_fgzoʝNJ[ԥE(CecYӘm.v5PD`pi‡]6ba !Cx0 ֿQG1[V#mYuZr#N<0 RhŘcYӘm.v5(߂n╧y:yy 04O$@`i0`O$}cLVƳ1ՈV]Fk;x_e1LslYXOJv;|3|S+|Ε|b59Fڲ7cX%ucxF`QZ59Fڲ7cX~ᔗQCɒ"5u)QhTiCɒ"5J3|37_QCɒ"5biCɒ"5~+cYӘm.v57|}N/Jd}N_ =JT[xW?az.w:j˨ݍbޜe+uA-J ~#҄#\z PHيw:j˨ݍbR7}w5$jS{ RHl2_7TJ`'r8,lk;sXenƱpz uOYz >22ԯPO8nclk;sXenƱiv^4(SОf/=zLt&uJTZ4Pd_VƳ1ՈV]Fk$Djń R4PdZ׊4 M~U7\YWgPdX5PdXQZ59Fڲ7cX~4ֿuOaBgTEMQ&HܐmJ+ 1[V#mYuXKatwn~![{ߞn+&_d|Ҭwt6VƳ1ՈV]Fk]NKz΢$Dj@0,a!a4wxWp#~Ҵ'%~VƳ1ՈV]Fk+JfuOx^q4ֿ {+=%-M)Qciub6՗Qŵkއ-;ouO~ö!?H!lPFTlk;sXenƱr*([V#mYuYMke%p#~t^r%~4ֿ >HB)QmoVƳ1ՈV]FkanקyhOM}]moJ!'7Yw:j˨ݍbW?@O{`'焽^y+?>l+.%f+cYӘm.v5~! 'S|0'P8h8BA@PÁ $x:7hŅ PaVƳ1ՈV]FkjU;oBI h5j4001f+cYӘm.v5PH8<`Y1D[V#mYuZqA Ly㇐|=J !ДYFoMᚣF,@z@zձiub6՗QŨgL4p8,(qA 8$ BGrQxFg!bViQVƳ1ՈV]Fkq0q„LJ$xp–J3zoB^$n|:K[pc4bQD[V#mYuZqA C &H4ы1Flk;sXenƱj (@hLycQxE(TF22]$ы1Flk;sXenƱj (@h<880($yAK(ꕴZv$[ƥI%i?S FY4cYӘm.v5P8h8B@HPÁ L8 0 H1|P8h8B@p(q–+| mF_/3&8P xp>|>1|P8h8BA LJXB)_.;_gL4p8@cȆ&xF/A(g"084@LIx}#bF, $֣GAf k$nf>@>X>';N./usr/share/man/info/en_US/xlf/html/UG56.HTMp/$ Profile-directed feedback (PDF) XL Fortran for AIX V8.1.1

            User's Guide


            |Profile-directed feedback (PDF)

            |Profile-directed feedback is a two-stage compilation process that lets you |provide the compiler with data characteristic of typical program |behavior. An instrumented executable is run in a number of different |scenarios for an arbitrary amount of time, producing as a side effect a |profile data file. A second compilation using the profile data produces |an optimized executable.

            |PDF should be used mainly on code that has rarely executed conditional |error handling or instrumentation. The technique has a neutral effect |in the absence of firm profile information, but is not recommended if |insufficient or uncharacteristic data is all that is available.

            |The following diagram illustrates the PDF process.
            |Profile-directed feedback

            |The two stages of the process are controlled by the compiler options |-qpdf1 and -qpdf2. Stage 1 is a regular |compilation using an arbitrary set of optimization options and |-qpdf1, that produces an executable or shared object that can be |run in a number of different scenarios for an arbitrary amount of time. |Stage 2 is a recompilation using the same options, except -qpdf2 is |used instead of -qpdf1, during which the compiler consumes |previously collected data for the purpose of path-biased optimization.

            |Related Information:
            |

            |Optimizing Conditional Branching

            | | |

            |The -qpdf option helps to fine-tune the areas around conditional |branches so that the default choices correspond to the most likely execution |paths. Sometimes instructions from the more likely execution path run |before the branch, in parallel with other instructions so that there is no |slowdown.

            |Because the -qpdf option requires some extra compilation overhead |and sample execution that uses representative data, you should use it mainly |near the end of the development cycle.

            |Related Information:
            See -qpdf Option. |
            |Related Information:
            | |


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  l~$"nf>@>X>';P#./usr/share/man/info/en_US/xlf/html/UG57.HTMp/$   aen<=>dioprst "/AHILTcghl-.BDEGOPRfmu|,012CFMNSUby#%()59:VW_qvwz!368;QYkx4X\7j{}+[]'`8r`I!Ƥw4Y"=0b pqMqA1914SH{8-;_ⴅ8 XBKMކ[|)kZֵkZֵkZֵkZֵkZֵX X  ""S²xJ0Q2#qPWr` ` ODw-0/0(S5E7'HGx bȈ@|BOu၀0ŋqŋOgVDha ူX/-0/pUj)tm1B듅NJqN%:#D?-0/rmx2t?V_Ÿb:`Wyi/.ϾQxд)YJbc1b#q%ǖ_8tv+P:3,[`&!c4A4:;\ڋLVXo""mp T?Qk2",@aLi<DKI\y8cSixW >p`  =3 HX MkMa#xqLjC |4,,`  =3 HX MkM.PPDE1)+W > ၀0 50I0%!ƛ\r0iOB5a@2^g4a{W-\A2@Xg rs?H8#Jϱ[\3Gj,%Uj>emp1 &=09Dp5)R+m4Qrk"\>3yHϞ``R;W0``,_e'⑛ZֵkZֵkZֵkZֵkZֵkZbc'i@%\58'L AÐ q@kI^=-z=u%zOPLD$7Lx{M bbI8r;\1k\V BV aǹ I̤|W:r;\1k\V"HOͱEgR%e~`V dkA|.S( ^ /_ R2{TZ\{Jɔީe8pmh3qSZvi u/xzKHctRWj^qvI^gR%eҹ/\T+~;#U+(/xh\8!\\Z+ጤ|W:tgeXr.a] E|Ub[=ġ|W:teXN}ͬ'S¡\$[{3BձE~\2{TZ\{JRx-U}:R1ELUʭW b&0sE^FYF~+2 'uv_c[\W+2^*]acI04cLsrdɸ&;$ZjC7OI-52$*)ԋquw޿d AK#]H9X LR:Vxĵ|JuP++ ;S[_zrH"v9N*cNGi[N2nw忩Vut+0̽i 1$.%8-<) ^;#j0sI09&MLbc"@E<=3x4 "S"Hހ&$Co"94hhXCWXp\eXGhÑq91bc"@E<=3x4 "S"Hހ&$Co"94h 5ħ) g-LR;Y6rcÓ&&M11 "RzHi$o@y㇓iR 7 44,kCpR U"rcsDMHxzfi"@EDLIH4Drh4,kl岜g5 wl)Q_XKA_ULZ0Ju);R/R۞SW:; T+-H+zr_|/_cLsrdÓʖQoV%8;+Q ( d%pRWj^qvI^W)XGh0RWj^qvI^ip"M1$\JQkq.é+)|eXN<7+`VpO<3l1ڢת]RWR%e}ڢת]RWR%J޿$2"$Q &Lv &Lk$ɑ zH'=xh_ QrkԉYA| PW| ׾+*b 3kO0RWj^qvI^0a9$\đs)+EUǸ\5Ga]XR2#Z:s5_ 1ڢת]RW^zxS1UâVP^ Bv p%m_8Bpu/xJQkq.é+rbS7 AHZgׅj{{XGm~4 \cI1$\JQkq.é+%^usrw\R/e+D5^VaJ1ڢת]RWXB U pΉOXǔcVW-V{xjxQ|W:rA>Z{XBW p%mW8JQkq.é+)⿆ SߤHmRr wy|W:sX- q|W:sI04c$M̤|W:s/utfV1 s8se%{aԕ&" HcE̤|W:sD ȒLk[9%i,+SD|gY2 'uv8ÒEI2{TZ\{J?Lx{M bd@L,, 5F4yV`;.Ïq9$\đs)+EUǸ\LJ2b L$@`V8jgsW+-E>Ҟ%87(Ïq9$\đs)+EUǸ\LJ21&Da䃍qV`׍QׇZ^q1$.e%{aԕ@&@ bd"<$črUaq~H̭p@Ѩ%rH"RWj^qvI^ id@( 8!$5ħ_+3)j\Hpx%rH"RWj^qvI^ id@0 8IF UE%8;+íuÏq9$\đs)+EUǸ\LJ2X 8$ HDbFIk@>X>';S./usr/share/man/info/en_US/xlf/html/UG58.HTMp/$ Optimizing Subprogram Calls XL Fortran for AIX V8.1.1

            User's Guide


            Optimizing Subprogram Calls

            If a program has many subprogram calls, you can use the -Q option to turn on inlining, which reduces the overhead of such calls. Consider using the -p or -pg option with prof or |gprof, respectively, to determine which subprograms are called most frequently and to list their names on the command line.

            To make inlining apply to calls where the calling and called subprograms are in different source files, include the -qipa option also.

            # Let the compiler decide (relatively cautiously) what to inline.
            xlf95 -O3 -Q inline.f
             
            # Encourage the compiler to inline particular subprograms.
            xlf95 -O3 -Q -Q+called_100_times:called_1000_times inline.f
             
            # Extend the inlining to calls across files.
            xlf95 -O3 -Q -Q+called_100_times:called_1000_times -qipa inline.f
            
            Related Information:
            See -Q Option and -qipa Option.

            Finding the Right Level of Inlining

            Getting the right amount of inlining for a particular program may require some work on your part. The compiler has a number of safeguards and limits to avoid doing an excessive amount of inlining. Otherwise, it might perform less overall optimization because of storage constraints during compilation, or the resulting program might be much larger and run slower because of more frequent cache misses and page faults. However, these safeguards may prevent the compiler from inlining subprograms that you do want inlined. If this happens, you will need to do some analysis or rework or both to get the performance benefit.

            As a general rule, consider identifying a few subprograms that are called most often, and inline only those subprograms.

            Some common conditions that prevent -Q from inlining particular subprograms are:

            • The calling and called procedures are in different files. If so, you can use the -qipa option to enable cross-file inlining.
            • A subprogram is not inlined by the basic -Q option unless it is quite small. In general, this means that it contains no more than several source statements (although the exact cutoff is difficult to determine). A subprogram named by -Q+ can be up to approximately 20 times larger and still be inlined.
            • After the compiler has expanded a subprogram by a certain amount as a result of inlining, it does not inline subsequent calls from that subprogram. Again, there are different limits, which depend on whether the subprogram being called is named by a -Q+ option.

              Consider an example with three procedures: A is the caller, and B and C are at the upper size limit for automatic inlining. They are all in the same file, which is compiled like this:

              xlf -Q -Q+c file.f
              

              The -Q option means that calls to B or C can be inlined. -Q+c means that calls to C are more likely to be inlined. If B and C were twice as large, calls to B would not be inlined at all, while some calls to C could still be inlined.

              Although these limits might prevent some calls from A to B or A to C from being inlined, the process starts over after the compiler finishes processing A.

            • Any interface errors, such as different numbers, sizes, or types of arguments or return values, might prevent a call from being inlined. To locate such errors, compile with the -qextchk option, or define Fortran 90/Fortran 95 interface blocks for the procedures being called.
            • Actual or potential aliasing of dummy arguments or automatic variables might prevent a procedure from being inlined. For example, inlining might not occur in the following cases:
              • If you compile the file containing either the calling or called procedure with the option -qalias=nostd and there are any arguments to the procedure being called
              • If there are more than approximately 31 arguments to the procedure being called
              • If any automatic variables in the called procedures are involved in an EQUIVALENCE statement
              • If the same variable argument is passed more than once in the same call: for example, CALL SUB(X,Y,X)
            • Some procedures that use computed GO TO statements, where any of the corresponding statement labels are also used in an ASSIGN statement, might not be inlined.

            To change the size limits that control inlining, you can specify -qipa=limit=n, where n is 0 through 9. Larger values allow more inlining.

            Related Information:


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ult to  k.$Rnf>@>X>';UR./usr/share/man/info/en_US/xlf/html/UG59.HTMp/$ Shared-memory parallelism (-qsmp) XL Fortran for AIX V8.1.1

            User's Guide


            |Shared-memory parallelism (-qsmp)

            |Some IBM processors are capable of shared-memory parallel |processing. Compile with -qsmp to |generate the threaded code needed to exploit this capability. The |option implies a |-O2 optimization level. The default behavior for the option |without suboptions is to do automatic parallelization with |optimization.

            |The most commonly used -qsmp suboptions are |summarized in the following table.
            |
            Commonly used -qsmp suboptions
            Suboption Behavior
            auto Instructs the compiler to automatically generate parallel code where possible without user assistance. This option also recognizes all the SMP directives.
            omp Enforces compliance with the OpenMP Fortran API for specifying explicit parallelism. Note that -qsmp=omp is currently incompatible with -qsmp=auto.
            opt Instructs the compiler to optimize as well as parallelize. The optimization is equivalent to -O2 -qhot in the absence of other optimization options. The default setting of -qsmp is -qsmp=auto:noomp:opt.
            suboptions Other values for the suboption provide control over thread scheduling, nested parallelism, locking, and so on.

            |Getting the most out of -qsmp

            |

            • |Use -qsmp=omp:noauto if you are compiling an OpenMP |program and do not want automatic parallelization. By default, the |parallelization performed is both explicit and automatic.
            • |Before using -qsmp with automatic |parallelization, test your programs using optimization and -qhot in a single-threaded manner.
            • |Always use the reentrant compiler invocations (the _r command |invocations) when using -qsmp.
            • |By default, the runtime uses all available processors. Do not set |the XLSMPOPTS=PARTHDS or OMP_NUM_THREADS variables unless |you want to use fewer than the number of available processors. You |might want to set the number of executing threads to a small number or to 1 to |ease debugging.
            • |If you are using a dedicated machine or node, consider setting the |SPINS and YIELDS variables (suboptions of |XLSMPOPTS) to 0. Doing so prevents the operating system from |intervening in the scheduling of threads across synchronization boundaries |such as barriers.
            • |When debugging an OpenMP program, try using -qsmp=noopt |(without -O) to make the debugging information produced by the |compiler more precise. |
            |Related Information:
            | |


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] tion o k $ nf>@>X>';W ./usr/share/man/info/en_US/xlf/html/UG60.HTMp/$ Other Program Behavior Options XL Fortran for AIX V8.1.1

            User's Guide


            |Other Program Behavior Options

            |The precision of compiler analyses is significantly affected by |instructions that can read or write memory. Aliasing pertains to |alternate names for things, which in this context are references to |memory. A reference to memory can be direct, as in the case of a named |symbol, or indirect, as in the case of a pointer or dummy argument. A |function call might also reference memory indirectly. Apparent |references to memory that are false, that is, that do not actually reference |some location assumed by the compiler, constitute barriers to compiler |analysis.

            |Fortran defines a rule that dummy argument references may not overlap other |dummy arguments or externally visible symbols during the execution of a |subprogram.

            |The compiler performs sophisticated analyses, attempting to refine the set |of possible aliases for pointer dereferences and calls. However, a |limited scope and the absence of values at compile time constrain the |effectiveness of these analyses. Increasing the optimization level, in |particular, applying interprocedural analysis (that is, compiling with |-qipa), can contribute to better aliasing.

            |Programs that violate language aliasing rules, as summarized above, |commonly execute correctly without optimization or with low optimization |levels, but can begin to fail when higher levels of optimization are |attempted. The reason is that more aggressive optimizations take better |advantage of aliasing information and can therefore expose subtly incorrect |program semantics.

            |Options related to these issues are -qstrict and |-qalias. Their behaviors are summarized in the table |below.
            |
            Program behavior options
            Option Description
            -qstrict, -qnostrict Allows the compiler to reorder floating-point calculations and potentially excepting instructions. A potentially excepting instruction is one that may raise an interrupt due to erroneous execution (for example, floating-point overflow, a memory access violation). The default is -qstrict with -qnoopt and -O2; -qnostrict with -O3, -O4, and -O5.
            -qalias Allows the compiler to assume that certain variables do not refer to overlapping storage. The focus is on the overlap of dummy arguments and array assignments in Fortran.

            |Related Information:
            | |


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] d ana k$nf>@>X>';Y./usr/share/man/info/en_US/xlf/html/UG61.HTMp/$ Other performance options XL Fortran for AIX V8.1.1

            User's Guide


            |Other performance options

            |Options are provided to control particular aspects of optimization. |They are often enabled as a group or given default values when a more general |optimization option is enabled.
            |
            Selected compiler options for optimizing performance
            Option Description
            -qcompact Chooses reduction of final code size over a reduction in execution time when a choice is necessary. Can be used to constrain -O3 and higher optimizations.
            -qsmallstack Instructs the compiler to compact stack storage. Doing so may increase heap usage.
            -qunroll Independently controls loop unrolling. Is implicitly activated under -O3 and higher optimizations.
            -qtbtable Controls the generation of traceback table information. 64-bit mode only.
            -qunwind Informs the compiler that the stack can be unwound while a routine in this compilation is active. In other words, the compiler is informed that the application does not rely on any program stack unwinding mechanism.
            -qnounwind Informs the compiler that the stack will not be unwound while any routine in this compilation is active. The -qnounwind option enables optimization prologue tailoring, which reduces the number of saves and restores of nonvolatile registers.
            -qlargepage Supports large 16M pages in addition to the default 4K pages, to allow hardware prefetching to be done more efficiently. Informs the compiler that heap and static data will be allocated from large pages at execution time.

            |Related Information:
            | |


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] FT" VA k$nf>@>X>';[./usr/share/man/info/en_US/xlf/html/UG62.HTMp/$ Debugging Optimized Code XL Fortran for AIX V8.1.1

            User's Guide


            Debugging Optimized Code

            Debugging optimized programs presents special problems. Optimization may change the sequence of operations, add or remove code, and do similar things that make it difficult to associate the generated code with the original source statements. For example, the optimizer may remove all stores to a variable and keep it alive only in registers. Most debuggers are incapable of following this and it will appear as though that variable is never updated.

            First debug your program, then recompile it with any optimization options, and test the optimized program before placing the program into production. If the optimized code does not produce the expected results, isolate the specific optimization problems in another debugging session.

            |The following table presents options that provide specialized |information, which can be helpful during the development of optimized |code.
            |
            Diagnostic options
            Option Behavior
            -qlist Instructs the compiler to emit an object listing. The object listing includes hex and pseudo-assembly representations of the generated instructions, traceback tables, and text constants.
            -qreport Instructs the compiler to produce a report of the loop transformations it performed and how the program was parallelized. The option is enabled when -qhot or -qsmp is specified.
            -qinitauto Instructs the compiler to emit code that initializes all automatic variables to a given value.
            -qextchk Generates additional symbolic information to allow the linker to do cross-file type checking of external variables and functions. This option requires the linker -btypchk option to be active.
            -qipa=list Instructs the compiler to emit an object listing that provides information for IPA optimization.

            Different Results in Optimized Programs

            Here are some reasons why an optimized program might produce different results from those of an unoptimized one:

            • Optimized code can fail if a program contains code that is not valid. For example, failure can occur if the program passes an actual argument that also appears in a common block in the called procedure, or if two or more dummy arguments are associated with the same actual argument.
            • |If a program that worked without optimization fails when compiled |with it, check the cross-reference listing and the execution flow of the |program for variables that are used before they are initialized. |Compile with the -qinitauto=hex_value option to try to |produce the incorrect results consistently. For example, using |-qinitauto=FF gives REAL and COMPLEX variables an |initial value of "negative not a number" (-NaNQ). Any operations on |these variables will also result in NaNQ values. Other bit patterns |(hex_value) may yield different results and provide further clues |as to what is going on. (Programs with uninitialized variables may |appear to work properly when compiled without optimization, because of the |default assumptions the compiler makes, but may fail when compiled with |optimization. |Similarly, a program may appear to execute correctly when optimized, |but fails at lower optimization levels or when run in a different |environment.)
            • Use with caution debugging techniques that rely on examining values in storage. The compiler might have deleted or moved a common expression evaluation. It might have assigned some variables to registers, so that they do not appear in storage at all.
            Related Information:
            See -g Option, -qinitauto Option, and Chapter 11, Problem Determination and Debugging.
            Related Information:


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] @>X>';]./usr/share/man/info/en_US/xlf/html/UG63.HTMp/$ Compiler-friendly programming XL Fortran for AIX V8.1.1

            User's Guide


            |Compiler-friendly programming

            |Compiler-friendly programming idioms can be as useful to performance as any |of the options or directives. Here are some suggestions.

            |

            |General
            |
            • |Where possible, use command invocations like xlf90 or |xlf95 to ensure standards conformance and enhance code |portability. If this is not possible, consider using the |-qnosave option to have all local variables be automatic; doing |this provides more opportunities for optimization.
            • |Use modules to group related subroutines and functions.
            • |Consider using the highly tuned MASS and ESSL libraries |rather than custom implementations or generic libraries. |

            |Hand-tuning
            |
            • |Do not excessively hand-optimize your code. Unusual constructs can |confuse the compiler (and other programmers), and make your application |difficult to optimize for new machines.
            • |Do limited hand tuning of small functions by inlining.
            • |Avoid breaking your program into too many small functions. If you |must use small functions, seriously consider using -qipa. |

            |Variables
            |
            • |Avoid unnecessary use of global variables and pointers. When using |them in a loop, load them into a local variable before the loop and store them |back after.
            • |Use the INTENT statement to describe usage of parameters. |

            |Conserving storage
            |
            • |Use register-sized integers (|INTEGER(4) or INTEGER(8) data type) for scalars.
            • |Use the smallest floating-point precision appropriate to your |computation. Use the |REAL(16), or |COMPLEX(32) data type only when extremely high precision is required.
            • |When writing new code, use module variables rather than common blocks for |global storage.
            • |Use the CONTAINS statement only to share thread local |storage. |

            |Pointers
            |
            • |Obey all language aliasing rules. Try to avoid using |-qalias=nostd.
            • |Limit the use of ALLOCATABLE arrays and POINTER |variables to situations which demand dynamic allocation.
            • |

            |Arrays
            |
            • |Use local variables wherever possible for loop index variables and |bounds.
            • |Keep array index expressions as simple as possible. Where indexing |needs to be indirect, consider using the PERMUTATION |directive.
            • |When using array assignment or WHERE statements, pay close |attention to the generated code with -qlist or |-qreport. If performance is inadequate, consider using -qhot |or rewriting array language in loop form. |
            |
            |Related Information:
            | |


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] te lC$nf>@>X>';_ ./usr/share/man/info/en_US/xlf/html/UG64.HTMp/$    "<=>AEHTenort -/3CFILMNPRUails#.017DGOS_cdfghmpu24569:By!,8;VWXYbvwx()Q\|k{}'K[]zqhl ^UN!&yǞ,獰[* <, U% cdl,,э\0OL.^[o8oqߒK:ޚO v`}wVv]Ήc1c1c1c1c1c:Fq1Jkֹs3d, 0dpgw'`݀!<@,` :Fq0eH_Np XJk8f5 C,XjBEt ɀ6Tas[o8aH;>*[n]rbz>[izɋa%:aq6C ^eޛ%6Tq6Cp/&dÍkm:ttίwwn0?H;!?1\/7onrq6 MZE@X${H?=kQkE:Y;e9ry'}ێ{x0gglk.uVSE6u]ZZ/<˸5oNii˝@yɿ=kQkEAf5 CЀ+KO\pkw?=kQkEi/c\ P,XjB#`-?[Ys"/^/ u;r6ŘsdX7 0t4Hwa\7:.ӀsqlmgEph6-JHZLll'֚׶Q J/dp5-_%if\9w݁V3#`rVz$PV(^డ5*5(RAe9ry}ێ6YvMZE(@ V(^ఱ5*5(RH>I6>r6 '(O5ilEDG[*"X" /1r[> ˘qMqr(>դ^V(^0Q#\y&ܿ_.VFZ,̍MZE(AobE  [N"%wokx+ZK:ޚ_Np(tr|X9բ(>դ^J/dpX`QY)3.M\ |lNPZj/^D V(^ႄʈ/DSW Q.x-]t &sۗt >xn(>դ^ J/dpbkeDTk QIrs}Ή/,MZE(ADG [*"XI5 I6vu9'֚׶Q"obEQc 9!w.Km௦un\A-;#`rVz$P@cXQ{#Q&=%!W' Y?(RvFD "HQ(ʈ"+'g˭S$yý4^O v`Mw`|l(>դ^ J/dp5*5VNMWf&ܻŚߞ1r[>oeqM{(>դ^E?Պ%8`PQXZjY KMlnn]9բ(>դ^EՊ%8`XQ€a5$KWiWضdcwS%[$Ӝ LZ\نVFZ,̍MZE(@$!Q(ʈ&=S%[$Ӝ L>r6 '(O5ilE0,Ml`Mz>CZ\نVFh26 '(O5ilEDG &TEF2M-&]>FZ,̍MZE(@$)Q( [N"HS@}yN<$[YLƵ)}q/q#`rVz$P J/dpkeDV2Eo#`rVz$P V(^ʈ'}@$cS:. ^FD "HJ/dpkeDTkU{&=G%6pkw'r3<Ow.MZE(@$1Q( [N"Hc@=ܿ!}1#`rVz$P V(^ʈ'}@(SxmMZE(@([XQ{# [*"hEo5լqQ9B}iH{e(?Պ%8`5+vDP |Jt{&q_x`59h26 '(O5ilE0`QD( "VqSx<Q9B}iH{e(Պ%8`5*5.֚q˹<ML9բ(>դ^?Պ%8`5*5ǐLs˷)<!rlsլrvFD "HJ/dpkeDV|~ q.'kmFh2fel'֚  A^V,ۼfnt]K:ޚtɃɒo8wfq΋鋒ld;t3L6ěJm(IOvpåP6D/ DG &TEF 11[ycm>r`XQ{#„ʈ*ȡA|lrg( hx0g}Ir6 RFIN k$Fnf>@>X>';aF./usr/share/man/info/en_US/xlf/html/UG65.HTMp/$ Implementation Details of File Formats XL Fortran for AIX V8.1.1

            User's Guide


            Implementation Details of File Formats

            XL Fortran implements files in the following manner:

            Sequential-access unformatted files:
            An integer that contains the length of the record precedes and follows each record. The length of the integer is 4 bytes for 32-bit applications. It is 4 bytes if you set the uwidth run-time option to 32(the default) and it is 8 bytes if you set uwidth to 64 for 64-bit applications.

            Sequential-access formatted files:
            XL Fortran programs break these files into records while reading, by using each newline character (X'0A') as a record separator.

            On output, the input/output system writes a newline character at the end of each record. Programs can also write newline characters for themselves. This practice is not recommended because the effect is that the single record that appears to be written is treated as more than one record when being read or backspaced over.

            Direct access files:
            XL Fortran simulates direct-access files with files whose length is a multiple of the record length of the XL Fortran file. You must specify, in an OPEN statement, the record length (RECL) of the direct-access file. XL Fortran uses this record length to distinguish records from each other.

            For example, the third record of a direct-access file of record length 100 bytes would start at the 201st byte of the single record of an AIX file and end at the 300th byte.

            If the length of the record of a direct-access file is greater than the total amount of data you want to write to the record, XL Fortran pads the record on the right with blanks (X'20'). |

            |Stream-access unformatted files:
            |Unformatted stream files are viewed as a collection of file storage |units. In XL Fortran, a file storage unit for stream access is one |byte.

            |A file connected for unformatted stream access has the following |properties: |

            • |The first file storage unit has position 1. Each subsequent file |storage unit has a position that is one greater than that of the preceding |one.
            • |For a file that can be positioned, file storage units need not be read or |written in the order of their position. Any file storage unit may be |read from the file while it is connected to a unit, provided that the file |storage unit has been written since the file was created, and if a READ |statement for the connection is permitted. |
            |

            |Stream-access formatted files:
            |A record file connected for formatted stream access has the following |properties: |
            • |Some file storage units may represent record markers. The record |marker is the |newline character (X'0A').
            • |The file will have a record structure in addition to the stream |structure.
            • |The record structure is inferred from the record markers that are stored |in the file.
            • |There is no limit on the length of the records.
            • |There may or may not be a record marker at the end of the file. If |there is no record marker at the end of the file, the final record is |incomplete, but not empty. |

            |A file connected for formatted stream access has the following |properties: |

            • |The first file storage unit has position 1. Each subsequent file |storage unit has a position that is greater than that of the preceding |one. Unlike unformatted stream access, the positions of successive file |storage units are not always consecutive.
            • |The position of a file connected for formatted stream access can be |determined by the POS= specifier in an INQUIRE |statement.
            • |For a file that can be positioned, the file position can be set to a value |that was previously identified by the POS= specifier in |INQUIRE. |

            |.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ec k$v nf>@>X>';cv ./usr/share/man/info/en_US/xlf/html/UG66.HTMp/$ File Names XL Fortran for AIX V8.1.1

            User's Guide


            File Names

            You can specify file names as either relative (such as file, dir/file, or ../file) or absolute (such as /file or /dir/file). The maximum length of a file name (the full path name) is 1023 characters, even if you only specify a relative path name in the I/O statement. The maximum length of a file name with no path is 255 characters.

            You must specify a valid file name in such places as the following:

            • The FILE= specifier of the OPEN and INQUIRE statements
            • INCLUDE lines
            Related Information:
            To specify a file whose location depends on an environment variable, you can use the GETENV intrinsic procedure to retrieve the value of the environment variable:
            character(100) home, name
            call getenv('HOME', value=home)
            ! Now home = $HOME + blank padding.
            ! Construct the complete path name and open the file.
            name=trim(home) // '/remainder/of/path'
            open (unit=10, file=name)
            ...
            end
            


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] rd l$nf>@>X>';d ./usr/share/man/info/en_US/xlf/html/UG67.HTMp/$    et<=>Tainors "/AEGNORScdfhlpu,-.1DHIMPmy026:BCFLUWbgw!)349;VXY_vx#'(58Q\k|*7K}[]{qpzA?!LD4@w0a>!>#M= [D@DD;b1]ż"Qf:+9w1> 0g IӐ-⵲{{{{{@ IADQcf0$E'խmŸ_5˜Fx  `~D2 0g[I235g֔we<ܤSI z#ȈTi""HiF.5H(@_rM$Pg=ƩE R)L"(qE4BmܤSI $Ti"=[2r/[Žiۤį]yk) 4NqÓV+u}b[IŻi"ƩE p0G 98 .,e6rzW~g}E4CiS\wl0nվc'n'[A88񃇏n+&OxOVkJbuo}kVZՕ)]<[}c ^QYSeS) R)ICjM$P"HD@SI ,)E&pq5H(@_rM$PgD{R)EӶ+jTY* bmڕ![{Eg}&ޗZ2W^J ՙٝ,g^QYSR%Eg T!Xr- +6Y.+XρrE4B 6qƩErM3bzF -ƓLpqq܂g5hr!'!LqC}r P B$;`Bun1Ɲ&x{@,B$8NBN<=4IqqUuiM: ;L"H iL#ԉqC -tN${ \NBdi-Ɔ<B$ X@rtra l,$$nf>@>X>';f&./usr/share/man/info/en_US/xlf/html/UG68.HTMp/$    "<=>AILNOTeot /CDEGHRSainrs,-138BFPVWdfhlmpx%.0245679MQU_cguw:Xby!'();Ykqv#\|Kz{}@[]pPI.0䕈z6G`J(Qδ4Ec ț4s19 R땻][a{{{{{ s1:` $J)*K\ɠQ\<0& ,2ݬܯ{A <y# 0"E;g%JXaIP4(gk4 0dp0gP4 i2 Fc CCC s1G e׌a\yl38p!sdR땻][a{{{{{`D9'hFI.'}r` 0V=A9+(G!?TEQȒU"/Ap%l "8p>/a2a78 s䟲D8v:>I$@cv>09rO" qΏC~8@Xགྷt}"Hl|`s+J!G!?lBuI%M a2-^/asvBgȰbM7+XLrUZVh0YB uBirF?F!UQIX+eASrN٤FrNT"B ޅf(ѡ`֍%f@e )9'G#m9'GK|~Yޅf(ѡ@֍ )@ǐ>AX:SrN٤FrNT"(4pFF?GBX1sl7yeo.<qR3t~,rNT"(4pNF?GBX1sl7yeo.<qR3t~,rNT"(4pVF?GBX1sl7yeo.<qR>V:ITJ':?mR[J(+1I(<`{8lĘ,ʸ9:I4y8IjޢQE%V~YrGo)$lx.lNqF>3t~"6N3t~ڤQIUVa vF?Gdd`#9'G#m9'GKzEYf78vF?Gi4s0u񜓣iq%DJB ƎЬ·6Q<`Wk'8#Y:?fo':?mR[J(+0fY!h @_qgB8#Y:?fo':?mR[J(+0fЬ76Q<`Ma}H-%RUgOBY9:I4y8IjޢQE%V~Y+1 7yI#ev evs0qV9GrNWy8IjޢQE%V~YRHG]0WPǐ!}H-%RUgG(4pFF?Gdd`#9'G#m9'GKzEYfЬo)$lx.lNqF>3t~"6N3t~ڤQIUVaGrN٤FrNT)* #YRHG]]d|g$Dmg$IoQ(?Py@GRHG]M5qF>3t~"6N3t~ڤQIUVa3t~"6N3t~ڤQIUVa= (4pVF?Gd>GrN٤FrNT)* 'YVaI( [+}uβ>3t~,rNT)* nF?G84jvJ%EY.<qF>3t~"6N3t~ڤQIUVaxI( [+}H-%RUgGBY9:I4y8IjޢQE%V~YG Ǝk d|g$Dmg$IoQ(?Py@+0$~->GrN٤FrNT)* 'YG)$lx.&Jd|g$Dmg$IoQ(?Pz_B RHG]M5qF>3t~"6N3t~ڤQIUVa= (4pVF?Gd>GrN٤FrNT)* 'YVaI( [+}q H$ p>09rO" qΏC~8@XH>:>I$@a#v>09rO" 8G!?d ,$v:>I$@a!;P{ Y]a6qojnsBĢsF!h Cؽ"_K߹k+Z'f h-ekDl`qzVNrVN h1ǭekD/k+Z'f 8h-ekDl`СzVNZ։قB-8h+U*^N9\vq٫0XgX=V WgG ela ;^*9/~Y8c,a@O{3~*'\3`XdL1F ݰ79Μ2'op)İXdR8p6`N=k+Z'}YZ80XEzVNp,ֲpdrVNCzVNKLVN9\vqW\ ]O."wl9AӔ <Nep&%X?8/~嬭h ,ֲpܵAZqYZ8 9YZ80X4E嬭h ,ֲpܵBZqYZ8 Wk+Z'f ֲp8KLVN:rJZ։`k 04j=k+Z'[ sM`M̷]|[~il`Qd.W]OrVNXm\zVN9Pt+ܵ(c,ah+@˚5vJ2V\zVNKo8V_j[l'`ɦ \c%ple2%\zVN80=ER"L,4Kl)sy8QTDRCae/[svrۏ8QTD8K5VTE 8֊I6'BG!?Hc"5,"Iq;|`s!T@8,80 kx$M nf>@>X>';iM ./usr/share/man/info/en_US/xlf/html/UG69.HTMp/$ I/O Redirection XL Fortran for AIX V8.1.1

            User's Guide


            I/O Redirection

            You can use the redirection operator |on the command line to redirect input to and output from your XL Fortran program. How you specify and use this operator depends on which |shell you are running. Here is a ksh example:


            $ cat redirect.f
                    write (6,*) 'This goes to standard output'
                    write (0,*) 'This goes to standard error'
                    read (5,*) i
                    print *,i
                    end
            $ xlf95 redirect.f
            ** _main    === End of Compilation 1 ===
            1501-510  Compilation successful for file redirect.f.
            $ # No redirection. Input comes from the terminal. Output goes to
            $ # the screen.
            $ a.out
             This goes to standard output
             This goes to standard error
            4
                       4
            $ # Create an input file.
            $ echo >stdin 2
            $ # Redirect each standard I/O stream.
            $ a.out >stdout 2>stderr <stdin
            $ cat stdout
             This goes to standard output
                       2
            $ cat stderr
             This goes to standard error
            

            You can refer to the following sections of the AIX Commands Reference for more information on redirection:

            • "Input and Output Redirection in the Korn Shell (ksh Command)"
            • "Input and Output Redirection in the Bourne Shell (bsh Command)"
            • "Input and Output Redirection in the C Shell (csh Command)"


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] J k.$ nf>@>X>';j ./usr/share/man/info/en_US/xlf/html/UG70.HTMp/$ How XLF I/O Interacts with Pipes, Special Files, and Links XL Fortran for AIX V8.1.1

            User's Guide


            How XLF I/O Interacts with Pipes, Special Files, and Links

            You can access regular operating-system files and blocked special files by using |sequential-access, direct-access, or stream-access methods.

            You can only access pseudo-devices, pipes, and character special files by using sequential-access methods, |or stream-access without using the POS= |specifier..

            When you link files together, you can use their names interchangeably, as shown in the following example:

            OPEN (4, FILE="file1")
            OPEN (4, FILE="link_to_file1", PAD="NO") ! Modify connection
            

            Do not specify the POSITION= specifier as REWIND or APPEND for pipes. REWIND is allowed for tapes, but APPEND is not. To open a tape file at a specific location, use the tctl command to position the tape before running the Fortran program, and specify POSITION='ASIS' in the program.

            Do not specify ACTION='READWRITE' for a pipe.

            Do not use the BACKSPACE statement on files that are pseudo-devices or character special files (such as tapes).

            Do not use the REWIND statement on files that are pseudo-devices or pipes. If used on a tape, it rewinds to the beginning of the file, not the beginning of the tape.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] xz kw$ nf>@>X>';k ./usr/share/man/info/en_US/xlf/html/UG71.HTMp/$ Default Record Lengths XL Fortran for AIX V8.1.1

            User's Guide


            Default Record Lengths

            If a pseudo-device, pipe, or character special file is connected for formatted or unformatted sequential access with no RECL= specifier, |or for formatted stream access, the default record length is 32 768 rather than 2 147 483 647, which is the default for sequential-access files connected to random-access devices.

            In certain cases, the default maximum record length for formatted files is larger, to accommodate programs that write long records to standard output. If a unit is connected to a terminal for formatted sequential access and there is no explicit RECL= qualifier in the OPEN statement, the program uses a maximum record length of 2 147 483 646 (2**32-2) bytes, rather than the usual default of 32 768 bytes. When the maximum record length is larger, formatted I/O has one restriction: WRITE statements that use the T or TL edit descriptors must not write more than 32 768 bytes. This is because the unit's internal buffer is flushed each 32 768 bytes, and the T or TL edit descriptors will not be able to move back past this boundary.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] > st k$nf>@>X>';l./usr/share/man/info/en_US/xlf/html/UG72.HTMp/$ File Permissions XL Fortran for AIX V8.1.1

            User's Guide


            File Permissions

            A file must have the appropriate permissions (read, or write, or both) for a read or write operation on an existing file.

            When a file is created, the default permissions (if the umask setting is 000) are both read and write for user, group, and other. You can turn off individual permission bits by changing the umask setting before you run the program.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] t, the  k.$nf>@>X>';m./usr/share/man/info/en_US/xlf/html/UG73.HTMp/$ Selecting Error Messages and Recovery Actions XL Fortran for AIX V8.1.1

            User's Guide


            Selecting Error Messages and Recovery Actions

            By default, an XLF-compiled program continues after encountering many kinds of errors, even if the statements have no ERR= or IOSTAT= specifiers. The program performs some action that might allow it to recover successfully from the bad data or other problem.

            To control the behavior of a program that encounters errors, set the XLFRTEOPTS environment variable, which is described in Setting Run-Time Options, before running the program:

            • To make the program stop when it encounters an error instead of performing a recovery action, include err_recovery=no in the XLFRTEOPTS setting.
            • To make the program stop issuing messages each time it encounters an error, include xrf_messages=no.
            • To disallow XL Fortran extensions to Fortran 90 at run time, include langlvl=90std. To disallow XL Fortran extensions to Fortran 95 at run time, include langlvl=95std. These settings, in conjunction with the -qlanglvl compiler option, can help you locate extensions when preparing to port a program to another platform.

            For example:

            # Switch defaults for some run-time settings.
            XLFRTEOPTS="err_recovery=no:cnverr=no"
            export XLFRTEOPTS
            

            If you want a program always to work the same way, regardless of environment-variable settings, or want to change the behavior in different parts of the program, you can call the SETRTEOPTS procedure:

            PROGRAM RTEOPTS
            USE XLFUTILITY
            CALL SETRTEOPTS("err_recovery=no") ! Change setting.
            ... some I/O statements ...
            CALL SETRTEOPTS("err_recovery=yes") ! Change it back.
            ... some more I/O statements ...
            END
            

            Because a user can change these settings through the XLFRTEOPTS environment variable, be sure to use SETRTEOPTS to set all the run-time options that might affect the desired operation of the program.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k$ nf>@>X>';n ./usr/share/man/info/en_US/xlf/html/UG74.HTMp/$ Flushing I/O Buffers XL Fortran for AIX V8.1.1

            User's Guide


            Flushing I/O Buffers

            To protect data from being lost if a program ends unexpectedly, you can use the flush_ subroutine to write any buffered data to a file:

            USE XLFUTILITY
            PARAMETER (UNIT=10)
             
            DO I=1,1000000
                WRITE (10,*) I
                CALL MIGHT_CRASH
            ! If the program ends in the middle of the loop, some data
            ! may be lost.
            END DO
             
            DO I=1,1000000
                WRITE (10,*) I
                CALL FLUSH_(UNIT)
                CALL MIGHT_CRASH
            ! If the program ends in the middle of the loop, all data written
            ! up to that point will be safely in the file.
            END DO
             
            END
            
            Related Information:
            See Mixed-Language Input and Output.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  k|%$nf>@>X>';o./usr/share/man/info/en_US/xlf/html/UG75.HTMp/$ Choosing Locations and Names for Input/Output Files XL Fortran for AIX V8.1.1

            User's Guide


            Choosing Locations and Names for Input/Output Files

            If you need to override the default locations and names for input/output files, you can use the following methods without making any changes to the source code.

            Naming Files That Are Connected with No Explicit Name

            To give a specific name to a file that would usually have a name of the form fort.unit, you must set the run-time option unit_vars and then set an environment variable with a name of the form XLFUNIT_unit for each scratch file.

            The association is between a unit number in the Fortran program and a path name in the file system.

            For example, suppose that the Fortran program contains the following statements:

                  OPEN (UNIT=1, FORM='FORMATTED', ACCESS='SEQUENTIAL', RECL=1024)
                  ...
                  OPEN (UNIT=12, FORM='UNFORMATTED', ACCESS='DIRECT', RECL=131072)
                  ...
                  OPEN (UNIT=123, FORM='UNFORMATTED', ACCESS='SEQUENTIAL', RECL=997)
            

            XLFRTEOPTS="unit_vars=yes"     # Allow overriding default names.
            XLFUNIT_1="/tmp/molecules.dat" # Use this named file.
            XLFUNIT_12="../data/scratch"   # Relative to current directory.
            XLFUNIT_123="/home/user/data"  # Somewhere besides /tmp.
            export XLFRTEOPTS XLFUNIT_1 XLFUNIT_12 XLFUNIT_123
            

            Notes:

            1. The XLFUNIT_number variable name must be in uppercase, and number must not have any leading zeros.
            2. unit_vars=yes might be only part of the value for the XLFRTEOPTS variable, depending on what other run-time options you have set. See Setting Run-Time Options for other options that might be part of the XLFRTEOPTS value.
            3. If the unit_vars run-time option is set to no or is undefined or if the applicable XLFUNIT_number variable is not set when the program is run, the program uses a default name (fort.unit) for the file and puts it in the current directory.

            Naming Scratch Files

            To place all scratch files in a particular directory, set the TMPDIR environment variable to the name of the directory. The program then opens the scratch files in this directory. You might need to do this if your /tmp directory is too small to hold the scratch files.

            To give a specific name to a scratch file, you must do the following:

            1. Set the run-time option scratch_vars.
            2. Set an environment variable with a name of the form XLFSCRATCH_unit for each scratch file.

            The association is between a unit number in the Fortran program and a path name in the file system. In this case, the TMPDIR variable does not affect the location of the scratch file.

            For example, suppose that the Fortran program contains the following statements:

                  OPEN (UNIT=1, STATUS='SCRATCH', &
                        FORM='FORMATTED', ACCESS='SEQUENTIAL', RECL=1024)
                  ...
                  OPEN (UNIT=12, STATUS='SCRATCH', &
                        FORM='UNFORMATTED', ACCESS='DIRECT', RECL=131072)
                  ...
                  OPEN (UNIT=123, STATUS='SCRATCH', &
                        FORM='UNFORMATTED', ACCESS='SEQUENTIAL', RECL=997)
            

            XLFRTEOPTS="scratch_vars=yes"     # Turn on scratch file naming.
            XLFSCRATCH_1="/tmp/molecules.dat" # Use this named file.
            XLFSCRATCH_12="../data/scratch"   # Relative to current directory.
            XLFSCRATCH_123="/home/user/data"  # Somewhere besides /tmp.
            export XLFRTEOPTS XLFSCRATCH_1 XLFSCRATCH_12 XLFSCRATCH_123
            

            Notes:

            1. The XLFSCRATCH_number variable name must be in uppercase, and number must not have any leading zeros.
            2. scratch_vars=yes might be only part of the value for the XLFRTEOPTS variable, depending on what other run-time options you have set. See Setting Run-Time Options for other options that might be part of the XLFRTEOPTS value.
            3. If the scratch_vars run-time option is set to no or is undefined or if the applicable XLFSCRATCH_number variable is not set when the program is run, the program chooses a unique file name for the scratch file and puts it in the directory named by the TMPDIR variable or in the /tmp directory if the TMPDIR variable is not set.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] unit_ k$"nf>@>X>';q"./usr/share/man/info/en_US/xlf/html/UG76.HTMp/$ Increasing Throughput with Logical Volume I/O and Data Striping XL Fortran for AIX V8.1.1

            User's Guide


            Increasing Throughput with Logical Volume I/O and Data Striping

            For performance-critical applications, the overhead of the Journaled File System (JFS) for I/O operations might slow down the program. If your program generates large scratch files, you might find that I/O bandwidth also limits its performance. Performing I/O directly to a logical volume rather than to a file system can eliminate the JFS overhead. Using data striping on the logical volume can further improve throughput or processor utilization or both.

            Related Information:
            Because data-striped I/O runs much faster for data items that are aligned more strictly than normal, be sure to use the -qalign Option when compiling any programs that perform logical volume I/O or data striping.

            Logical Volume I/O

            To use a logical volume as a file, do the following:

            • Set up the logical volume with permissions that allow you to read or write it.
            • Specify the name of the special file (for example, /dev/rlv99) in the OPEN statement.

            Attention: Do not perform this kind of I/O with any logical volume that already contains a file system; doing so will destroy the file system. You must also take any precautions necessary to ensure that multiple users or programs do not write to the same logical volume or write to a logical volume while someone else is reading from it.

            Notes:

            1. A logical volume can only be opened as a single direct-access file with a record length that is a multiple of the logical volume's sector size (usually 512 bytes).

            2. I/O operations are not guaranteed to detect attempts to read or write past the end of the logical volume. Therefore, make sure that the program keeps track of the extent of the logical volume. The maximum amount of data that can be stored this way on logical volume is the size of the logical volume minus the size of one stripe. The XL Fortran I/O routines use this stripe for bookkeeping.

            3. For optimal performance of data striping, ensure that any data items that you specified in the read or write lists for a logical volume are aligned on 64-byte boundaries. The simplest way to ensure this alignment for large static arrays and common blocks is to specify the option -qalign=4k.

            4. Regardless of any STATUS='SCRATCH' or STATUS='DELETE' specifiers, neither the data in a logical volume nor the special file in /dev is destroyed by an OPEN or CLOSE statement.
            Related Information:
            See -qalign Option.

            Data Striping

            Data striping is primarily useful for increasing I/O throughput for large, direct-access scratch files. The performance benefit is greatest when a program reads and writes large objects.

            When you make use of data striping, you perform I/O to a logical volume as described in Logical Volume I/O and set up the logical volume especially for high-performance striped I/O through the smit or mklv commands. You can then use the technique that is described in Naming Scratch Files to place a scratch file on a striped logical volume.

            For example, consider a Fortran program that contains the following statements:

                  OPEN (UNIT=42, STATUS='SCRATCH',
                 +      FORM='UNFORMATTED', ACCESS='DIRECT', RECL=131072)
                  ...
                  OPEN (UNIT=101, STATUS='SCRATCH',
                 +      FORM='UNFORMATTED', ACCESS='DIRECT', RECL=131072)
            

            You could place the scratch files for units 42 and 101 on the raw logical volumes /dev/rlv30 and /dev/rlv31 by setting environment variables before running the program, as follows:

            XLFRTEOPTS="scratch_vars=yes"
            XLFSCRATCH_42="/dev/rlv30"
            XLFSCRATCH_101="/dev/rlv31"
            export XLFRTEOPTS XLFSCRATCH_42 XLFSCRATCH_101
            
            Related Information:
            AIX Performance Management Guide discusses the performance of data striping.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ation: l2$mnf>@>X>';sH./usr/share/man/info/en_US/xlf/html/UG77.HTMp/$   aent<>iors "/=IORTcdfhlmpu,.AEGHLNPSbgy()-0134CDFWvwx!259:BMU_k#%6VXYz 8;Qjq|&'*7+\{}Z[]KpAcy0h,У@rb' 08čy 0@pL獙|QyG""A2#cA\eҷ.+?<<<<<<<<<NQjV<4;3y;W=WWAO1` Rua5ە\PSm^T𠧘0PWPo OQ{U/6THjX3M AO1ɍLP @PHPa1ɍLP @ȸq1Ev~_^Qȷ>/6Yh) g- jQ-*fW\Z2T_blVP(n}0P?߱[QsoY馘v`r>-\a1H1l99L1IM4sz͆7f5(s0^ _r>-\ajdͫWV[Fp*-gf*bi)[ҢuEoߢb_|DLS]EKᅌWr>-\a mL_r-Ϡr>-\aR+f5rZ2f-/.W[ VڼVLVgu"L^V椠9̾m {fff[ſ+ W=>ַ+w{A1HeY֌n_Jֹ^)n8=?ܾb+i0c "yH081}d 05M$Iz058≤!q_mmy8(=P{ <$@R $8hqDD8h(H57c"Eo bA1}d 5(H!&&$ )㈠A$8DX`Q )A1ƽIC$ qICㆿfLqP{y& {CA4ҷ php A!'  0&C^8Voa[q.E ʲk\-\aq^zkߵ7ob{ -=L(n}Z*ɭrj[ rfAoZ,1Hao=.Wڹ-3jgJܼڵ -Q|RS0  9TQJ[9pW1ȑ Oxcq!{rfW%jl#+}^UZ0EA[͂}1A"OhWdo9~Jy qP{ ۓ0ޯr(˩VxTV Z _R86~22P+R2WV^⢍Vq(<>^JUo/ڵ -_ M$IzLjg≤!jԂйxakk&kmVԋ7յq({[lo^ԋ-1{j&8fku#3l_V NP+р ` i CA%nB> Ԃ} 0$5> ԂLc c&㈠Ag≤!n8i"H{ټ) _Q4$={(H6H- َ(H!&&$kmnY?R,#{ZV_^Qȷ>ș=o4q4<6\؉h)Luc`m 8 z00a !Dh;dZQ:OĆBQ: !ǫ㉤98^JUߛVW≤!DqDDjAh\'{&n[Ԍsj80r-Ϡr>{[loR,a!HNo~ǚ1;4a8qȑy&׿JktVʲk\h})KϫZ,1HanN 8E8nPWS//([qDD8h(HwM$IxH&9M$I7c"EX_V֌Voa[Ԍsj80qDD A7Q4$=Okm1A"0JqXan≤!n8i"H{ټqつ^cjSs+[eEsߥ5cZbϰfV3W+ YVR`ڣ q7QoͫR 1ʳ9Q4$= &$+Q4$=I Q4$=Okm͟*_8aoqDD {(H6H- Κ}^qDD {(H6H- *_z|QyG"&$!DqDD˸i"H{ĒA18i"H{̞7n{Ι'L7~mZZ}^&$qDDjAh\0^mG(H!&&$kmn{ڕ'W0ݘl+m_S//([@|ټ޽OZbc50jQ-*gxO r-ϸi"H{ĒA18i"H{̞7 8CԢZTϝ2g3l_V NP+џͲ/DF?p<0X`XXXI&$cŠ |3Hj |x8Cc50jQ-*g#N[R$U[%{tvdV|QyG"#h\[Z2ߩ*B(H!&&$myc9J%L-1a6\`  -rTNgsAgH&8 0,ZQ:O?ਝK O7)+௄=Kڣ aDA&*c&oi)[{s|QyG"#PR`-J"w>hɚ/.dDLSMC v.s#ʶɌ}hE!' řbLX+iRiS>tLXfkbTۗ'. X<g3l|1SÂx(/q|g3l|1SÂE``']zX?e_ኞ/o'D'.H/k` g0 `y?Z _Z2cr-+eEsū8X&O5Z2fmSEҊ\yV,LLk[IVF <3BL5>b׈ɊjW ˜[ނB8O`2EICokm͘IkߩJOJ-_R,6z_`͌0 1K3[*RRakW:ap7h^2V/(IymyRP۟{7#ŹE@WR`ca|`" <wqp<0\'.y&% 8XO^V, >B8Ipbg0 `U F^cJsYimh`cB~ E? XBL xV&sҳϫZZ +Bb=zX~V>BL??) `7U Z2ڕ-͂ mt"L^*O^V, `7d6?+|fՅm\ac?T /S׬U"C8OP`7K]W|ap_|.sܬac?dž90_ٟ`3,g ^ԡ_4 phEŚXVmPZZثVڼ~ ,/Gy@X<$_ +Չa`7aWO|HQhD=zX)BL ~f `'0"X RoA|ЃEY"B@ ͠ T@/*թ4_ `$_7E )L+ుbg3F#;x8Cc^ἐ`!t ȋߚm|q߆#s`Y>mxm18 9=ѓ>_^Qȷ>Hm/٦2l_*^DTѓ5_ y!5? 7;+T[NҾ%jfPtl/S//([Nd0r-Ϡr>9R-r%n^+yL1&dQjEQkTgM{E") -WR>iDDLhz}0(c$LpCy cl DA>Aaaaaaaa`8I8q$ o!m!}ਝH'P"8Hx`q"MKFL z|QyG"#㝼Z2fm_; l)OsR3'>VԦ~EH^ /z]X,{qfV+{/ j+~VdlT[^-xdnڽXJJ)stڬT-jXvhɚݵ|WLQK-ڌXЬWVֆoS//([@Foq׸o$48H$0h"o ÆLN!kPb>[j햣*~6ٛ@58^~~pa^ԋ-Ae-yr_m*~'Rb¿W+lo޳r>ljW983mRsd99 KFLھ9{lT:(/Tb?}fEo/oͫR Bϫ@|ټѝ50Y+Lo6_SDL &8ǘ(Zp}^~R9=zG'R ܠ'j.r$z`Q1qc9% H$\><0,,,M!1A"q4?3lџکS7 <0,,,$gICl  OOq4<E1]Ye^ -rLx_dj6 pTKv 8X $M!1A9/1A"c.≤!I8≤!-M>j2u(QV,r$z`Q1qc9% H$\>< `XY8Cc"EiICl  OO1HsqP{M!brct@ ,g3 '@I8Cc"r$^c"E]IC$ qIC//y<[֛ |'=+ogJr{&q4? ',,4XpA&8iy8q#wM$IxH&9M$Ix(oZo|6*ԮssdԦ*P_RsM! -r T gICl  OO1HsqP{Dq7k7 y.C& _}VֆZ2+=)X5'mhe`(]c3nm^+5'mhe`)F\R mNdoJ21Hsq7^dl#9׈#@r^-̼F^_^Qȷ>ȋ0 C qV֌ٗr-Ϡr&gpz x\+r~^!bpRFj2NQ-*eanRٸ#l;RiS>[[*S//([@|ټً)o *~+}^ b_n5'998@5 <J܁yh4x0`qy`>Y { M-{r-Ϡr>{[ll3zi l#r /XZ3(/V¾M1+ac/bLXe/1`>X_/ڵ pW1V8T~8CcF2)؆ᅅoͫR sM!a`H#Gыp8m'jo *( T闚b㉤98[++2EGkm͟zM4p_/]e*6cYT)eOylC8eVisM!a`H#GыpErqEr* N3?bNyL11* *( TFXF8iy&QoҪa.n8kp-Y߂H@rO1ɤ4i)PHAh zx <׀@2i<#S7Ha:*Ū3܅oɼ\ca[Q_z/=x5~5'99yEXFoq׸o$48H]+r "y8p Ri< 5(ːUag58kq7^9խ!~(~2E`#af"5{UC {G+BK_@{+*~≤!bEXXqICcRQ.Jb+j7xc-g@|ټٌ11ʳ(3?#P΁my]0ű.F-x)+llb+g+j79=o6}iEZyWҳjL3bxn{۝^@Et3WqHYhɓc-g@|3Ro i l# VU"c^bZj\cf0yX_^8Ueb"8G8pX!~Rzҋ?W≤!bEXX2qDD VU"c{1IC $,!&$Տ˵~DZ HjNکVbeRϫm^+ -Q{\[+Ja}^WJھ2fGy]+ji l#8G[*έɘe7`EW^-M1+at0{=y!ǚB[84o ÆLN!@i(_^Qux9W*G&ㆽy& -کS [mF}4^WJϳjd@|ZV9?3W:fboΙft+//(T_\cgw9UOW5Yf-_vnE_r~fSM1+aڔUmK#)Zsm}3 5$LUWҡSr=H|QyG #ʶ.Jb2i)[t7rZ2fW2@ sCW}^#؁YT2_ VMb V9ڔKJΚnMFwɗr]l#y6W -(iXR2sE1X V9U ")bw!WP9 ʤ_^#('r[qEWҳ+j79=o6c M{XߌxjFJ_ 7o<[ jMY.JbW*G&3k\Ǹo H$LjCPDדS [Nmp.A1o$48H]+rx]e1` { y&خܲAߙ|QyG 9>hɛW=vAM4µ8LgM{I#l>+BK_@{+*y6so0_,^WJ+=(~U-RD;y ԬN|NL}^WJϭ(d3nK\5t:g^tW%&ag@LW*G) _-\aGLjV*Ō| #c-gtTkbeR/ՍwBvb͔X}^dXgCxc DS/;t}ڍ΁my9R(.KAJcX]d} BS6=EKx5ߋW*Gt׹Zѕ }0ű9 1Jϊ/r[غ{E") -?nF8E8J/y]+ڹ-3>ԭ[ۓ0WԌά%jhU(f-.c qP{MOQz֫KUJ/y]+ڹ-3>箬ZyetU(f:mVx*z^\tڬzbq,z#絶ϩYLؿxܘcgakU%MԮⷮ8(=PzkߕͶ7oY馘ucsWJܼ3/#%feJy_ c"E\@|sV -r޴8(=Hz{*w1~W6{W*G'WWoW+r2^WJحB"'rž /#rZ2fK2 (7?oثV)W VU"w(S}0űE.s3c{oR7(mL_tq´L\V;+>Xb"s #q:_WrZ2f}]XR&a+ឺT9W1ß?)(m js}@$q4<Eio1/1P{gakU%Mǎ\@|sV -rK|V粺d*R36<=E Z.:mV=h1c8ZyfgԬnw{l_DLSMC 1jS^cWS[Z XM!tڬT-jXßIU W6ICl 8_0g\CpA 1jS^cW۝GVԦ~hsh1~{Qk1jS^c6|\3/c*-}/ߕ+٩C tڬT-jXM!0Eii0c׿+loV7?ޭx}^d8Q+R2V~|RPݼoLW1c@`XXIՏ? fWJIV&RcZq4<Eii0cԢWҽѓ3zeW؉h)LvtڬT-jXa+S}(b6ǥ_WLQK\Hs fRPa 0A\0,$q4<Eio-iICo|etZQgLߝ6U(f-,_tڬT-jXx>2W({oetU(}h1|R[6<=E Z.:mV= }^&$%qICթr{/HYICvŽҾն}^d ^ /{[Q@|ټ3'%nBLmڕ-͂';ڕ6c:kܭh^m+z)u" FR7o 9Ԍ_6TzoԊeRy_ c/bLXf-0b1k}0ű.{%nSJ{ #؎rj`!ͅ1%n]iE<W+lo޼P=ڍ#c9Տ? ?ԡ_V&8iy&4rWW+r+p{()ϫߛV%nF A>GxdFR5 q7$UMVka(H[cTan8i"H{0E'Ԏexf~tf2x"Z Sˋs`R)SaR/fet0qDDP&$$Y9{-i"Z S}HZjΙ EVԾԭX)Ua& {CA4H"Q }jS^cɢQ'[` I//([p5'Lp5'9w Iʶl&3l'ԦjfX9ⷜYU}^WJmEOוrRviTYJ;jm/\+ٶc"!ICQqDD˸i"H{ < (&$$_Y 5fb[[qDD@x18i"H{EG83mE̱;͟_r>rmlr-[W^\m^T͹I~~u~ǕS//([k˕m0zkHeYy]*:Z#؁YTO9LN5>OW1ʳr>{[llo;W 8cX/OmmJnwⷬ2E_VڦN^[^x{/=|'mhe #c-g@L7>0ū֔YLubz ۔kg:"dټќE,N/|'K_}fgp-^V.S1h̾(n~p-o)o`zi l#JYf^ל e1׬UG}ܭS*eEs`#{ZbM4sfl'UKkL^|.[PȊgOnU mE91W'LqH0mM@|ټ|u{r-1-}fMrc:kܭhoYa[*΁my2=L(n~p-^V.C q7춢pz|kc׬U2ESE@yl'មcV~_*R~)Pᅻ&$p,)PЀQ4$==h^vc+Uy]+15ҢuEo~jQ𙚽o︢i"H{׬U(H^gnwc-g@|ټ3#ܽL(n~p-o'K_[ea& {CA4ҷ ph $8DApӈx84 xٗr-Ϧ[ V8ㆽ y&%=}^WJ*9y]+ԬRbiq~RKaG {?Jmj96+m:kHeYy]*:Z"c+* |QyG"+z[ V9KXΚ'c5{/=|'mhe෯_ +}L(nl a$UWҡSr=HM x.ἂCO4N-XNYN-xkq_OpA!' 8 y9X":-n8k $8DA 0ג]赸'o   0N!:*yq_OpA!' 0`H&5$zp- 䆃h.:E`q:-f y8A0aeR/ ld/$<nf>@>X>';zX./usr/share/man/info/en_US/xlf/html/UG78.HTMp/$   "<=>AEHTaenort /03CILMNPRUgils#-.189DFG_cdhpu2467:BObfm!,5SVWXkvwxy;QY|%()\{}+K'[]xxrSKjH(QHhipMSJ/>&>)-8_G/f/гM6jRLxPvǥR\tQB!B!B!B!B!(TLxP`Dx$4,Y( B*E[S% ExPXDǁ |+lQQJ0[\ 00'+4'C%e膧΋gV98w(TLxP&eo@˔dt4WY-}l! OBcuAo۾]{N,|WDǁ p/(\L>u26}_LpBcr yyWɕB_oV' gez!3Q1βI90;VjVg/f/٦vipp(u[N zab)玲 ًvi[6Nv ً`g/f/٦ˇXՄ[eoհ{1vi0YzV 9 wTZ)YX;wlһhMpe4 8PDǧ:ҵTTUAQ+5+nP [\ 00 scӝeZ*`* \)YX8y80`a:&=9^"8:n)YX8myükpxΉJ`׃pv&nnmgq`em.Sc?[glgq q! dʆpC?Z΃8{V&  b=|gB6h33ݖ 3:@!ǚ cͤ>/ DdžpE̓ڻ|6[ m&=$bu$k EB\ҩ8 fg t V'Z{l0^](ԒsP$xPz-2rF.LME8qNmpǖ`{|6[ m&=$bu$k 9ދLSKإHΊmpW,w|6[ m&=$bu$k s9r#OJ&֢8E[68cL6 !}_4^6Q1EcF/RIV@cAˑxU14_D YI7}Xu"I{`KL͔LyEcF/RIV@aZd ȍ<]*^/G:+_epYok"_l6ƭ ًV3߳memm_XE5+sv|{4ױb2N_l0^]f=XE|8MrXp%lȇV]<!.D,,]* g%ًGZd ȅJpvb6Q?|9r' S\_Cno6Q?|9r#OJ&EAKUG.y 1I9 Jً/6Q1憇iT҉ ln$of>@>X>';| ./usr/share/man/info/en_US/xlf/html/UG79.HTMp/$    aeno<>Tirst -/=cdhlmpu".AEFHILMNOPRbfgxy!,0129:BCDGSUX_vw#38;WYk()4567QV\|Zj{}$'@Kqz&[]h8` ^P.&L( E GE Gqy'kr\NJ63grwZ^^IǸpFK1iT$I$I$I$I$I$I$I$I$I$I%AǴ8xhH@ $T } @1A:{ڜ @n$:8AoWwCsEJY"8 8gxXHH#PPh (4 At x g658np{ACYoVr\EAT0X\qOAǴ8k/y>'+js6{AC:szklܧ';S;{AC $յZ~IϋjA8~Ł{JxTqA QYcC8ybU ^o-y8nK9;R){G_TekGS#rKܺ{ܘRoB: N0Np_z63g^8܋]P -!:Ō劼yW2vrh5tը%A 8bC{JxE.(LXRj 劼yW0jp9𰐐G  q(=2@ZC#bбqR!puLR/5j|͛qxM_Y.2Oc~~7+l|տցN3\:gٕ)q{/5oe>Nwrư9;R){iw?} lZ \^9 Y Y3){G;OWb _lgti~/ {2׽1/Y9K|g+NNAq&Iù Y؎/=mN@Z 2o%r`׺5j|Ӭ͟fWz5[K^r 9Ky2f:̭z:GMƗ&==]}emL4jx|M_Yٕ}=]-q@Ƨjv@>X>';~s ./usr/share/man/info/en_US/xlf/html/UG80.HTMp/$    et<=>Tainors "-/ANORcdfghlpu.1DEFGHILMSbmy,029:BCPUX_x!#348;VWYvw)567Q\|(k{}'[]KpbA"L $D;qǞ2#9%5`cD(8@DI 9nK#F*+oZo\|HĐ)p^t2Jxl{{{{{{@N;FAQ#&?E@EV⼩5J1 p@`:8 q[2E༵Zp "18E 5n,X`X` 'cpê{Mv7 'ëfil@,,,/8)tgkبJje/rܴ}[KȆc qe[)BkiNkq1Sm35%=m՝fnMMyR:8 qyD:E[g8ui9|:hW8cbEc^hA&09$b5Ѧʊ7tܳ2|InֵK}׳*.ܗ"ڵWyѦ79<8[7)DXoIF/7pOOcK2 1+_5N@@LlP#Ao5䑈bAG 5nņņLlP#Ao6#掴8H_ApG,0,0(,cb!4" y&7$FRZB [X8`cDHocԽ́ ZV^t 0 Uug[ՖF8qm |8PKB`?J[r@ 3֭4vp3Ҷ-&AFզɮƆzVŤ( c)i!1ǐ85!9jzfyYo .:Jj۠DG"֭6<6+hs86%rKq@ {sWyp1AtP&59cG<0$Qơ@pY'1yʕ2ݙQv 1ǒ##լZl8m*yQ^ZTM-ϬgYNε[ʕ23*.ܗgR),w`Iǔi">ULUgT/ʶnmoZlAXvXM$G|Օq"HjSni_gR]Y~˩iJߵzVҧeZW _ʞLZكͯRL:/)D|e$E4ժ*ݰ#}IS|wi">[Yl軏)D| t;f[=Z֟k՝UrZt_[r'Z[:1/V̻X/R)meӢVwVpIbyH#IqնT*_ʶisV+Jb= c)տvI\i">[Yl՝U,M$G#m՝U3meӢjɖLfI3ۤpPpF<6ke[YlZMһթ}bt_~ikT3ҧjVUU{H51^5y2XJնTZe:/~;1nj0 qĈT/IqնTlVk+M:/R)# 2q"H)D|YWR)vU1V2X9Ǝy cK LdC$l A8yQ^!fz\ULUex-ЇQ5o:}c;lIqնTV"&nKOeF#`+jKq@ly%W} k$of>@>X>';./usr/share/man/info/en_US/xlf/html/UG81.HTMp/$ Mixing Fortran and C++ XL Fortran for AIX V8.1.1

            User's Guide


            Mixing Fortran and C++

            Most of the information in this chapter applies to Fortran, C, and Pascal -- languages with similar data types and naming schemes. However, to mix Fortran and C++ in the same program, you must add an extra level of indirection and pass the interlanguage calls through C "wrapper" functions.

            Because the C++ compiler "mangles" the names of some C++ objects, you must use the xlC command to link the final program and include -L and -l options for the XL Fortran library directories and libraries as shown in Linking 32-Bit Non-SMP Object Files Using the ld Command.

            Figure 1. Main Fortran Program That Calls C++ (main1.f)

                   program main
             
                   integer idim,idim1
             
                   idim = 35
                   idim1= 45
             
                   write(6,*) 'Inside Fortran calling first C function'
                   call cfun(idim)
                   write(6,*) 'Inside Fortran calling second C function'
                   call cfun1(idim1)
                   write(6,*) 'Exiting the Fortran program'
                   end
            

            Figure 2. C Wrapper Functions for Calling C++ (cfun.C)

            | #include <stdio.h>
            | #include "cplus.h"
            | 
            |extern "C" void cfun(int *idim);
            |extern "C" void cfun1(int *idim1);
            | 
            | void cfun(int *idim){
            |   printf("%%%Inside C function before creating C++ Object\n");
            |   int i = *idim;
            |   junk<int>* jj= new junk<int>(10,30);
            |   jj->store(idim);
            |   jj->print();
            |   printf("%%%Inside C function after creating C++ Object\n");
            |   delete jj;
            |   return;
            | }
            | 
            | void cfun1(int *idim1) {
            |   printf("%%%Inside C function cfun1 before creating C++ Object\n");
            |   int i = *idim1;
            |   temp<double> *tmp = new temp<double>(40, 50.54);
            |   tmp->print();
            |   printf("%%%Inside C function after creating C++ temp object\n");
            |   delete tmp;
            |   return;
            | }
            
            

            Figure 3. C++ Code Called from Fortran (cplus.h)

             #include <iostream.h>
             
             template<class T> class junk {
             
               private:
                int inter;
                T   templ_mem;
                T   stor_val;
             
               public:
                junk(int i,T j): inter(i),templ_mem(j)
                                 {cout <<"***Inside C++ constructor" << endl;}
             
                 ~junk()          {cout <<"***Inside C++ Destructor"  <<	endl;}
             
                void store(T *val){ stor_val = *val;}
             
                void print(void) {cout << inter << "\t" << templ_mem ;
                                  cout <<"\t" << stor_val << endl; }};
             
             template<class T> class temp {
             
               private:
                 int internal;
                 T temp_var;
             
               public:
                 temp(int i, T j): internal(i),temp_var(j)
                                  {cout <<"***Inside C++ temp Constructor" <<endl;}
             
                  ~temp()          {cout <<"***Inside C++ temp destructor"  <<endl;}
             
                 void print(void) {cout << internal << "\t" << temp_var << endl;}};
            

            Compiling this program, linking it with the xlC command, and running it produces this output:

             Inside Fortran calling first C function
            %Inside C function before creating C++ Object
            ***Inside C++ constructor
            10      30      35
            %Inside C function after creating C++ Object
            ***Inside C++ Destructor
             Inside Fortran calling second C function
            %Inside C function cfun1 before creating C++ Object
            ***Inside C++ temp Constructor
            40      50.54
            %Inside C function after creating C++ temp object
            ***Inside C++ temp destructor
             Exiting the Fortran program
            


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] m k$u of>@>X>';u ./usr/share/man/info/en_US/xlf/html/UG82.HTMp/$ Making Calls to C Functions Work XL Fortran for AIX V8.1.1

            User's Guide


            |Making Calls to C Functions Work

            | | |

            |When you pass an argument to a subprogram call, the usual Fortran |convention is to pass the address of the argument. Many C functions |expect arguments to be passed as values, however, not as addresses. For |these arguments, specify them as %VAL(argument) in the call |to C, as follows:

            |  MEMBLK = MALLOC(1024)    ! Wrong, passes the address of the constant
            |  MEMBLK = MALLOC(N)       ! Wrong, passes the address of the variable
            | 
            |  MEMBLK = MALLOC(%VAL(1024)) ! Right, passes the value 1024
            |  MEMBLK = MALLOC(%VAL(N))    ! Right, passes the value of the variable

            |See Passing Arguments By Reference or By Value and %VAL and %REF |in the XL Fortran for AIX Language Reference for more |details.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] n") l$Ptof>@>X>';IP./usr/share/man/info/en_US/xlf/html/UG83.HTMp/$   e"<>ATainorst /=DEGHILNORcdhlu,3CFPSbfgmpy%-.12BMVWvw()04567:UXx!89;Y[]_kq#&'\|*KjzQ{}Z+@xr$? xri 0ď :Gtda:|NoRL1JO3ob}ZNu$oͼklyJIp%Jvlmڽ?4M4M4M4M4M4M4M4M4M4M4q !)(j0'^X 0@5(,GHq\ !]!-^IE$"0,^x E@(+8+zg= 2)k4Ep(+ŦIqt_kc;zMqױMJpx'o7:$q¿ o?+FKWavދX op=vu2x2H8?C5x"w=I{ ZRJ vN-ͦ+1J7"{N-;l8؞gTҼm΢^ucBiTȷUKWOyWɔkyKؕO_;7_;~1^VvYXRXOI|ی[_*KyRԮvvUW)QC=!\2!R*S]*RF:Ɍ@?]i(, t xyFRxA1<RG#\# ĥh$/@g@(e!GSD*RFm+@o᠐H+@g@(e!GЉJ_p1U$z5\x A|00,0:|*SMvt#Õ8';A3I 3-c)lS4Ad1f΀ZG P"tc,h$D/׳V;jk9FV2Uz_r'$A޶92` b'<9S)3B)9YIPt5L1E#,%'ΞgTෙ$`#H(k'\1T]R:Hb] Pu3o2GA;4P&x;E4PIQXybR:Hb]gƒ@Pio2GAIh>K@AC\d!AC]%G;|N=ab;t5ń )#=`8h #H(kK@AC\d!AC]%G;|N=ab;t5ń )#=`8([̑|M$5ɞ6NM$5Ts'k*kGI\,XK\$t#SI rgSI t8ኦ-E#,%II$td |M$5ɞ6NM$5Ts'k*cGI\,XK=dwi Lwi >'\1T]R:Hb] PuժKj|n;AC\d!AC]%G;|N=abwH"k ty:2KAZGx 'q *9q5L1E#,%X>)@dwi Lwi >'\1T]R:Hb]-Zy-H>Gx 'q *9q5L[GI\,XK=V2d̒|o)3B)JwDzpS wH"k t>)PG9Pxrg1!*o2GA;4P&x;E4PIQXya)$Mpa.lZ[̑|M$5ɞ6NM$5Ts'k*q&XAco2GAIh>K@AC\d!AC]%G;|N=ab;t5ń Ao2GA;4P&x;E4PIQXya)$Mpa.V.ś >7}m᠂dwi Lwi >'\1TŻt5ńAE%-#SI rgSI t8ኦ"D  TGx 'q *9q5L[GI\,XK}^c؏ȝUZK[̑yZ-;4P&x;E4PIQXya)$Mpa.C&x@9ʃÓ?T'\1TR:Hb]A!L-H>Gx 'q *9q5L5E#,%n* -H>Gx 'q *9q5L[GI\,XK:# $,, $td |M$5ɞ6NM$5Ts'k*cGI\,XK$2)@dwi Lwi >'\1T]R:Hb]\$t#SI rgSI t8ኦ-E#,% -H<-hH(k'\1T]R:Hb]ڵIvR\[gx` #H(kK@AC\d!AC]%G;|N=ab;t5ń#-H>Gx 'q *9q5L5E#,%]ܷ#H(kK@AC\d!AC]%G;|N=ab;t5ń#[̑|M$5ɞ6NM$5Ts'k*kGI\,XK3P(#H(kx )#=nﭳX #$%[wi Lwi >'\1TR:Hb]*[̑|M$5ɞ6NM$5Ts'k*kGI\,XK;eKy:)3B)JwDzpS"D Ee$td |M$5ɞ6NM$5Ts'k*cGI\,XK?@Sz k%Jio2GA;4P&x;E4PIQXya)$Mpa.3vwY8P6JfS4AAC\d!AC]%G;|N=abwH"k tD`wXqo2GAIh>K@AC\d!AC]%G;|N=abq*qYb€֧RM 4nscX'{_ZIzWmάq~)ofY)Zm޽S-Rױ2sϭgoޚP[@}ױ2ko€֭RLkئij҂K8A>:x^mp4n )ZeSoZ2HIhK*X`,Cιi'kRĦz+ ٶyI䲪!`pP!ʨ3vw߂KXy):x'<ϥ~YVɐۊO3*SEyՎԖY# M_8!{)<ЃZ[Ru`ٝIk3'X1'LJJ&+MXOgJ`z4242<{'j Yp3甽ںZ̡JTw/k'm#پķνdy+K}3o22zǵt/2{L5e'L̞gx񛶾[JM(;;|fx䚱 ħzL[iR^cWjwijf1u+ȷUKW>EZNg%QhG;zYU`ksji -&Pbe(gśѭt=䲪!6mPM)5aʨyp-[,|9KؕOݵ񛶾y2dHJ@E1Ll[\- )s \/Y o`/`9}{'j ["D1D.)_Ε%H`"%H`_ڱ0Po0rDy[7ط٘F~'uL5e\ν{@Sz k%JoYg~&O}YUIyό_-|e'zgu&so>3n斨_,&3ױ2k~Y3},'L>K* f Tғ\ `,@,Ru`ٝIk3'X 2v ՗1}jNx,BH|NMQMʨ<勵'_F ]Ԗ0RuỲF'gg;`fNͦ՗u@oIуWfu%@`[p[]uƅfyV\ h^e'_F ]Ԗ0RueTBEcrjo0|UD!ױ2v ՗r ؙJ5,^QoIуWfu%@avߵR{\m~ٯJ4BDy[7͋~ N3-b` 3;x,BH|NMQMʨ:&Nf9 Ȟx_7|^ p(: f N+f|Yx!bsg} kIs<#ʨ$`,@: f N^ڼV\ m~NJ4E|nǢMsW B0ILbneTBEcrjo0|UD #y_,|z+45p g$',rK2N"|Kp"dafe3;Ǎ5\IA>6^FH!ӝI72[;}%##^uc=kѐxDd5mμuJ'~ N3-b`&Nf>Y|m]X%QIÖHB2=ʨ:!'_F ]Ԗ0Ru_qcT5bkN]Xx,BH|NB0|UD (: f No.3RpPX/n[A苃ԈyD [+4h<b@tT5*Sq÷"{Τ-̌b"[Ԉy#[#C5 AF=Hk8  ň |z<$p@4Vء4]炚}W;vRM̖X)ͯLyYo0N҃J]kn%;d?7wYU,K*y+-#7F+K$0|UD!؞gTg?;+R],^Y}1simPujf;]BՉܯ#f-{W4$ݛ W;^޻3ߔs~L`fNϱtf.ocs'JRYRƑu:x^mr-|-䲪!Q "eTB|t5;eqG|UD 1eTBT7yාʨ#2GeTB%Jh;m}cb={W4$ݛ W;^fw~@t,Py[A"<;4.Bgb?,'@IR%yپ o4㱳k,B9_7{[RYg'ȯko:,B9I{\yI/w7IvJg{eTB+5ʨ "W-PV䲪!eTB4]V)EExiF,+B4iR\g+ٿ]>mV(M*KX TU睬Jm_;|jDZ]37I|<`5yo4o:Ui6fwf/r>mٝv - Tu NiM.ٝv*K76yՏ26|jyۅٝv - Q;])N:x!lҤo>3n斯3 uٝ'\1T]R:H`4%Q-H<-hH(k'\1T]R:H`4%ЉKc7FwضۓgR@d̒|o)3B)JwDzpS wH"k t0[@rdwi Lwi >'\1T]R:H`4%:͐kxݳyႸ4kx;e}*Ƅw!et$6i ҤfL[ٰ̈́ȝ=)jͯ;e~Y}1ڝ@qm}cҼm΢^uc@[ÖoAD<])k@c)kxh0/)jJW2o8m~6Q\`:O ͧ<<9hD93UcZK@AC\d!AC]%G;U1㢡;t5HK&wy_}#گ" y:!B%/Ʊ^0RB$ P`%(yՏJkR@ES̔ty:Ug6͛$OJA*0^mNwkIs@ML7w*]j$td |M$5ɞ6NM$5Jqa)$Mph,%!9o2HG4P&x;E4P+)*Ƹbt5@mμ=Id䏊i Lwi VRT=#pS"D]=Id䏊i Lwi VRT=#pS;t5@t絤L$d |M$5ɞ6NM$5Ts'k*cGI\ t?K{uKy:)3B)JwDzpS wH"kAa.@ႃAC\d!AC]%G;|N=abwH"kAa.@H@dwi Lwi >'\1TN)$Mph,%Ј(0 -H<-hH(kK@AC\d!AC]%G;|N=ab;t5@T AC\d!AC]%G;|N=abt5B pAdwi Lwi >'\1TŻt5B H`EAC\d!AC]%G;|N=abR:HXK$4Ph[̑yZ-;4P&x;E4PIQXya)$Mph,%!9o2GA;4P&x;E4PIQXya)$Mph,%Ј4Ph #H(kt%nRxǛM{_Gύy_ygoڝI72Z+}y׷,mμ6^ygZ[,|>)$zU@8(P w  倜t:i}/2eiA A`'Y޽yG^{Цm|p84];ﭲ^(Rαݩԓs%yM^m5JB^ qK2w$=p+2߱o[gP_7yK}a6R6}1a?}#oK*JH`,@,_7x %QU%$z0|UD!-o)K*.yAXfe7;6_,^uv:-䲪!ʤYʨ<ЃykٝIo~m>K*V@xs䲪!ʤYʨ96Ʈル|+Q=Hk9dAH Mp=h X`, tOIxܓd+;}~WMF1p-D<\h$<ǩrGAAF=Hk8  20-D<\h$[#C5 AŇ |z<$p@4 20-D<\h$<כM|6@J''zg;_JRM̖,Yx_7x#2eEPxR%yk: f NMJ+?{7Wpם6Okrs+͹ 'k_>Or͘-#瑽#6'fvrx_7B{7Wp(Uvb%ͱ+>^wx,A\.o0|UD +@},)K*y䲪!Is~EZGo_Bfm7'_w'mSDZ6^R_XnvUt>mgoY}-ޥযB4/o(<:+4t:ܓd }|<`W;כMk ){A-yg|b{g|I{\Y;2{珖wfYͦREܳf9_yE})gL|6P|B9[RYg'dm~37I`,qxK*>K*${%Q XB+%hW&Qb=}5ނZR qGT[gjt)jW;| Wfwf{)js&ͱ%q}䯳ڻ΅:Eε{xYUHSy䲪!'L[^w$=q}WsLp(wY ]ko"RRDZԖY䯳ںYо[A䲪!eTBy'nRx;[^w$=|ņ}X0BvO;Ħ{D93rz|䏊i LtBc^d#[A"?,nmyܓdǵw؏;٦'JrOTՉQy鏆m|YxBLcKX ͼТMYo14҄k\-V%E3Ϧ;V-3S8Lr5<|رaD)JnOXJm7 -&PTRk{(քEzgcmf }+=bΖ%6JM(*G@Sz k%JhLc1ymУ[ņ}+=bΖ%6J0 x΅VdιǝXS&Aǝ1yЏ:WʨRGzpC%Qk幵rM}䲪!h0|UD ({)FǦ}x2]o>,4(3Ħz+IN5DZܳlM^i|䲪!5|(0eTB{)F3KT-H<-(&| |9U=h>KAG4P&x: WAD)f5I>KA:t#ם6OkL{W}jt w-CDd[JsX_,>f׃\3^ T+B9ڱy`((3Ħz[M(=47f׵&QϦ9IǞ96 5 !LW;rz',Jm7 -&PTƁWЦ6>J^)K*ؙJ5)Zo2GAIhK*ؙJ5)ZW kKKIyIЊS<@5|؏coA-cM -taoYHƃ_V4_/M>H# 8JǍ0 ^ }fOyI WHiA E08@B+:&Qܓd'k^%6D"!t')܌FB^ qo1+Q׳.k6%QE7>K*䲪!eTB5&sڦ2+MXO[,|RG6#/ƃ$Sƃ `xE08p N[7םzc{ȷU@RGz"=+"_h=AIU8,h=A ܸE @yM9@!e%$zb0`叁o.R!vlm`tV6^5ZyD\ |z<$p@4 ]'ضlK_=y*K_7x_7yij㑽[T(mμ쾰}">|mμu_4}-޸-Jn+QEvgy[U{Wsڒ"ziL7?f1y,f^m5-|oYP|P(8PG}yׯ6fli]ob|`:Η mc6^0,rA=%TEA(ac9+- P`"8syl^ʹǭכMx@,h=A_WEB=Cy>t>=HkٱŃEMp=h X`,-Ѝ6Okq:ew:I*SoB ^d`C5 @gAFtYo1_b6I{\}jg|bzW.w$={T}1ooB?,6OkLz<\gkپRxǝ}f&sSi)c.ބ~YrM)}!~L^Qo:Tvw$=Kͻ"Go'fySiob~~I~{q)ޅJܶgwM g}f&sR@B>,M/,L՛^w$=}1lmr[N:Pxt֧cR69斨9A(=HkٱŃANx\@ :VܓdYgzJH%ބμ".=Hk8  20-1kjN/;l8t?,x,A%$zy䲪!< wmǭZΤRdo^斯#kwоKn+7`}{TKkZlj]ԖW[w\O}{'c-y*KڡCm|u/em^ q٘YUJH$I@C%QyܓdYo.R!NYx$X4 FA t0  *Sy^RήRd`: 7PО|y{36iVyՎNu+G'}ͼk^N'<ΰYK}as#5ڤZIv'4+L_;}#kL`VlmҬy㓝JgqA'@>X>';5./usr/share/man/info/en_US/xlf/html/UG84.HTMp/$  e"Tanorst -<=>ADEILRdil/1CGHNOPbcfghmpu|%.023;BFSVWkvwy&(),578MU'469:x!#*_KQXY\zJ+jq{}][@(DkCWXnŋYW Ǽ$r ]$zꤝ)f s={D#Uj7DZ񲈝ƭJ4@[zr,qn{RSf((((((((((9r@,h`4ȥF 8 v#)ۻ<<<<<͝Ky!ߑ5l 6LplRt?Vy灁rbH6o%YIF;͞yyyyyLJ6 vSĝ ;J CA`%0L;;bN0MFio w<<<<<6p6JzXNo A,x5,Ia2j5cĝ ; :Xg <` .1;gVy@U3 |F R s<<<<<͜f/+)HC?~@a0bU6LH ӝ'lVy灆JmDɪQfΙY'<<<<<vN G۹mJpnҰ(%$d0=w'C!fwJ]?7$d0 $©H zaI9iU$H=D a#$©`0j'գjjrP޼? e!Jpޛ,KRSw<<<<<6p6 NA/<YBj?XgQ>v5 t2lٿ: 6wP xXVoغ\7[a矮aT |F R v;͞yyyyy;3C$ !" y k *Al*Tؤis70ilrmJ?+3E*w<<<<<7cF.5jln: 6wA/xyFƀ wbNC <<<<<͝bR&⒛8)[d6yyyyyoDơs`%L·4K3K7|YOVJ ySMwom Lq&?H o1'6RSf<<<<vλ$d0@)aYbsn~ MS;'7w1H6w<<<<<6pyy _ b&`^l*Sb;N70 m݀ډU;'[25Ngyyyyy#Z6 s))۹2'p`PK,Ia{EbNC o,IaIR9oQ$WU#@H I vDxD" *hHH0)EX@)'h ܓ޻QӝiirZ<0ɵ^&:%w FZr+Ѡ'٧ *V\r8c{A`%:V2j5qzˆfr)lo/yVJ))kN)۹P`PK3&[#y{e%NڧR"R(^}KR wwN(Zv,T `Wj5N7l!RMRSgjK܊BJ8{/yH6 CMȶRLH :v%en{EvN7l!VFR'le9.bvVS8/&+Խ囑87DZZөxW5Kg/qAډnr5Vtډҩ{"`YJ$ɦ[Fz흶j9I- M6(ԻT;RQT9#D۱IMp"iu8rF:nS`PK3&[(Wfg"ɩFqVJ6RSg)( FKR s)A,x5 JfMF08A/},̍n%6vԽȤ*ԣRmө{,VR< 5>]S6FԻSgfFb;T^RjQ8PnfrnEf@NԽ-,+s+]m+#S}&݊JlS'le2݂6м'lNpW@8AIi A0bzݏaP\  x0|pP^drP ]nzs -4<-#$ᅅM6(ԽDɪa8NNIF5#T̵e/SYN'lzmEeqR5J@+ԽLfΜ/yH6F&bs;6dhvxmѶxEmȤ+lRҰ(%[ɶ(Ku/yH6Q:o.8NN۸R/٦z4W1)R 8RSfa8wfVu/b'}+)<)5J@өxTV eFН*V\eg#KJHQ-Ұ(%Q $jt %6i-2f=R:pRmdjbw=/gR($f ZlRSf'|6Խ 8EW)nNj $x`0 y6DڜbPGR&bs;8e%XԍS2ՔENe8wK^m[39 u;3;ƽK;,+s1ȯRsQ2jN.:r+Խ waLfτTّm⒛'AFv"=KJSlW+&ېQ-Խ w0mDHNT;8WnJཙ&݊Jlj={+xD^̍n%6iȮfΜ'}&lmGR+wҲœTh ]xWa:fTj "iu F:[`PK3&[AI*\#D۱IMrb OjC@8X,cy{בH7p@Zi ,xZG I'}+\'pڧR _R86܊BLW{A3KdⲞ܊ANjۺp=lNjr@xZH'L.! 8EX@)'h 9'5\'[ M$ H $LfτQ R;ۄY,_mn-tfmW^ [&t^^3Kdꗅy FKNA,bm$ ,(mW9DƠڧ 6»w W⒛4۔K9hMTꗽj>[KWExLJkJwԼ#IMpNډl)Kd=5ѩGmWjIFrvYŨ^EJ@lc{8^A,̚na I'Sp^))NQlW7 GjӅzo3&PGG{:A 1Kb4;ؤi`PH,/bHGtNtT΁ I%Sɵ^&:j'pڧ )\#D۱IMm%NBlt"KĵK`KTĥ+"&XыvڥB5%;:#D۱IMp”A#[vڥviY)[dhsfNT.YYR59kҰ(%Q $jt ّmؤ9E^L'vYVN^m̚AlNsQ^V6,Q-#D۱IMplRڏRҰ($zSB<wvYV@$IԀ4ǰr.D%#@>X>';G./usr/share/man/info/en_US/xlf/html/UG85.HTMp/$    aert<>ilnos =RTcdfghmpu"-./AEFGHILNOPSvwy(),0138BCDMUb249:_kx!#%567;VWXQY\q|'jz{}+][h X=\$N\H80(XѤǢ@hD9$DJp@ѣʊq$G49D|AD_(%v*s|UhIP{h,__J;΅,Nyyyyyyyyyy-4/)108 &Tk^ @(J&o6f pp 8n9 | )-ɾQa2Q* <+Мv[(4`W0  `+’GeIGEe0(=4i!49RQޔ,J;΅,NyyyyyyyyyyybsGrG)0 ,,+bѣsIJw>EmH-4i ;;" V|f㯔z;e{9*h4i ;iw"2f㯔~235oO_bwJ緓f ~2f㯔{9bqljV8t')ИΉu =O@0Za^ \,Ya>lZOPկ.ΨB~Bp*T0pח/,X+w'?T}„~VW"] |t&v-z|_ybsة)[կi `Ί첕YV:^OOYj|ciw"O_b]eE;])Gi}ZbqٜNv}DJ=;/뱒Jg/ս9'|oYH^qդʫx}BVX+v}Igf&aYҨ@KY@ߦ첕JQ3q}~˥(}Z>w_GAYA>%~I$|~Yז_5,NciwtfZkڔ7,%_˜X+w}>j{x3%H|T/ZGy?9*8f̈́|xz|y fGZa " QL"b]>1%;VʊW_>VWeS}g) V*bO5n~Y(R|Uğj MDpqA8a1I(,((梃.82%OPyE8}p87/E{j$PsQq.$Q470q2"=pІ0wa "ⅈP4!L"b]e{ Ԏ5,Nch҄҄:&kDZk⨶$U X+wN>3z_M,2(5,OSY>Z'Il ~Rf aD'V`> S¢4zSbz}E>RΨ=Xch҄҄>[V-7<@R.@x0pG3PfIsR>[&DbI|a "(Ѧ@R.j ߒI2MK͔o'3_8Io`ݸic-'iP,T88XѦ@R.j ߒI2g)&s͔o'>Z=sF&&ݦ@R.,"\5L"b]$ezW}zjXOiP,T8FEH5o~kbÚ4747!,ܨ|<'qf ]g||I+fbs?YI'&-y}e+a>u}Bc$>A{~ZcqOu KI Qp<w%[Ѐ 4j( jXyޢoI~g\Sy2jPժ>b}4X3=zωRR[=RrҨ$, {緓:^;Ti+6VE>f|~ZLaPPjמW-Zj {MWPiKONvŒ{kIv Ik5Ts=&\uE?Yn}Ig7\N2Z}K9JsJpI+M,3bOwϱS~|v쾭gd}FbQDZ+g~Oyb})Gi~w ğysbw$" $ HABAA@8P㷓.AfѣԖu%־QsF&(DAhG88Yp0$ sQADP(<"N>&e(q֍Dj"9sD8&Ї-HJT[|w3s`FrdNjXի{ӓ"pRΨ=Xch҄҄>[V-7<@R.@x0pG3PfE?t92' ZOa "(Ѧ@R.j ߒI2~Q'_8Ic1leQ0r 4(*EAI&X}yW9͜'>Z=sF&&ݦ@R.,"\5L"b]$ezW}z'?SsL"b\4(*EA柫}Z{?ؾe/{x0(M(MK7*> e-g/3sY6RJ7jXOlRf K^_||YJOk桷_P1Pz^ef_f3e-g.~A/]92' 5,OSI&X6sQExܔ)oB hQwNLKO4[M)4}oլc8=Rr[?5GNLK }qϏ~ϧ&DfgUb{ϥQI&X6r^/E>wةVl e}́緓sF&&ڵUV70S|UiT>ZR/Sp5bf(gEjZR]ZB9oI9QOeE[RY& '}́c$Rh҄҄;Jg/:-|ؓ㷝Tiğ/Y&uQzw4l jXJQ|g߳g1'}&\3 <℈ ""@PP$)ːf)khu%yeIbFѥ D9QsF5sI9Q#HABAA@\(H0" )td  pU;f>&oul!G9I8q V |Ukjs 4HiBn'\0,M&_ +){{(lk5J:Y39W䧞)[oJQ|g%9bsK=}#a?V~Oxo5,N~J}Z=-P=Z}I_ի{v\ }Igխ~&TiǑ.`% 3OկÔ_E'y7جo'/S@b@,0gEiNS;V{ybsSجo<=||YJΊҝik?'7'?%>}^޵Ds3i%VNg~fe{3ѥ }p ,M&_ 2Ҵ{⤱z=iA9oCԼs.jXe!IZ|n'14iBniBn&կP%i.Ve/{yJ:Y3>ҿ%)[K=iv!a=}Z&\䧮e/{y? LJZbj{y?Y~{,kb;6RYk_?V0aPP|_=^կi `Ú4747"Y^㾲냗i i 0L :-`H9.߅b2eU˭('kV罊^ч4iBnh"9J>%=t/]FbQs]j  1<<3P`@O  1:a'c5tx f 'j  1:@8@A]9iks S.8=Cq㶭8 # jX|vռ9Oq]@4#&D}7!4@At2۟˨8>]@ :};ojm[ wmϤe%QՔ$ e>b  ɑ8_JK ѢsKhTpz$*)/e-_13<0,9Q^9 LD0y҄D# +(l#L0/X\~|@8/E{sCq.9Q#A곖 rH x"!A ""DA곖 8g/9Ri|떏կH?x~J+uG9CsCsIY|>*ʈʏJ 8YYi2N^2ʏc$\[Ԕ!#_VAW0ϟFѢ9D 8sI 8hI&elSJrhp;@y   $23>^GrH x"!@Hq[/JFw$QێͣG;~ܒ(HX 0a$D@RB* < Drq8`֍ F;ܨ( /Jا4hѡń#4"%p> kx$of>@>X>';@./usr/share/man/info/en_US/xlf/html/UG86.HTMp/$ Linkage Convention for Function Calls XL Fortran for AIX V8.1.1

            User's Guide


            Linkage Convention for Function Calls

            A routine has two symbols associated with it: a function descriptor (name) and an entry point (.name). When a call is made to a routine, the program branches to the entry point directly. Excluding the loading of parameters (if any) in the proper registers, compilers expand calls to functions to the following two-instruction sequence:

                   BL    .foo                # Branch to foo
                   ORI R0,R0,0x0000          # Special NOP
            

            The linker does one of two things when it encounters a BL instruction:

            1. If foo is imported (not in the same object module), the linker changes the BL to .foo to a BL to .glink (global linkage routine) of foo and inserts the .glink into the object module. Also, if a NOP instruction (ORI R0,R0,0x0000) immediately follows the BL instruction, the linker replaces the NOP instruction with the LOAD instruction L R2, 20(R1).
            2. If foo is bound in the same object module as its caller and a LOAD instruction (L R2,20(R1) for 32-bit and (L R2,40(R1) for 64-bit)) or (ORI R0,R0,0) immediately follows the BL instruction, the linker replaces the LOAD instruction with a NOP (ORI R0,R0,0).
            Note:
            For any export, the linker inserts the procedure's descriptor into the object module.

            Pointers to Functions

            A function pointer is a data type whose values range over procedure names. Variables of this type appear in several programming languages, such as C and Fortran. In Fortran, a dummy argument that appears in an EXTERNAL statement is a function pointer. Fortran provides support for the use of function pointers in contexts such as the target of a call statement or an actual argument of such a statement.

            A function pointer is a fullword quantity that is the address of a function descriptor. The function descriptor is a 3-word object. The first word contains the address of the entry point of the procedure. The second has the address of the TOC of the object module in which the procedure is bound. The third is the environment pointer for some non-Fortran languages. There is only one function descriptor per entry point. It is bound into the same object module as the function it identifies if the function is external. The descriptor has an external name, which is the same as the function name but with a different storage class that uniquely identifies it. This descriptor name is used in all import or export operations.

            Function Values

            Functions return their values according to type:

            • INTEGER and LOGICAL of kind 1, 2, and 4 are returned (right justified) in R3.
            • In 32-bit mode, INTEGER and LOGICAL of kind 8 are returned in R3 and R4.
            • In 64-bit mode, INTEGER and LOGICAL of kind 8 are returned in R3.
            • REAL of kind 4 or 8 are returned in FP1. REAL of kind 16 are returned in FP1 and FP2.
            • COMPLEX of kind 4 or 8 are returned in FP1 and FP2. COMPLEX of kind 16 are returned in FP1-FP4.
            • Character strings are returned in a buffer allocated by the caller. The address and the length of this buffer are passed in R3 and R4 as hidden parameters. The first explicit parameter word is in R5, and all subsequent parameters are moved to the next word.
            • Structures are returned in a buffer that is allocated by the caller. The address is passed in R3; there is no length. The first explicit parameter is in R4.

            The Stack Floor

            The stack floor is a system-defined address below which the stack cannot grow. All programs in the system must avoid accessing locations in the stack segment that are below the stack floor.

            All programs must maintain other system invariants that are related to the stack:

            • No data is saved or accessed from an address lower than the stack floor.
            • The stack pointer is always valid. When the stack frame size is more than 32 767 bytes, you must take care to ensure that its value is changed in a single instruction. This step ensures that there is no timing window where a signal handler would either overlay the stack data or erroneously appear to overflow the stack segment.

            Stack Overflow

            The linkage convention requires no explicit inline check for overflow. The operating system uses a storage protection mechanism to detect stores past the end of the stack segment.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ) k$ of>@>X>';B ./usr/share/man/info/en_US/xlf/html/UG87.HTMp/$ Prolog and Epilog XL Fortran for AIX V8.1.1

            User's Guide


            Prolog and Epilog

            On entry to a procedure, you might have to do some or all of the following steps:

            1. |Save the link register at offset 8 for 32-bit environments (or |offset 16 for 64-bit environments) from the stack pointer if |necessary.
            2. |If you use any of the CR bits 8-23 (CR2, CR3, CR4, CR5), save the CR |at displacement 4 for 32-bit environments (or displacement 8 for 64-bit |environments) from the current stack pointer.
            3. |Save any nonvolatile FPRs that are used by this procedure in the |caller's FPR save area. You can use a set of routines: |_savef14, _savef15, ... |_savef31.
            4. |Save all nonvolatile GPRs that are used by this procedure in the |caller's GPR save area.
            5. Store back chain and decrement stack pointer by the size of the stack frame. Note that if a stack overflow occurs, it will be known immediately when the store of the back chain is done.

            On exit from a procedure, you might have to perform some or all of the following steps:

            1. Restore all GPRs saved.
            2. Restore stack pointer to the value it had on entry.
            3. Restore link register if necessary.
            4. Restore bits 8-23 of the CR if necessary.
            5. |If you saved any FPRs, restore them using _restfn, |where n is the first FPR to be restored.
            6. Return to caller.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] n an @>X>';C./usr/share/man/info/en_US/xlf/html/UG88.HTMp/$ Traceback XL Fortran for AIX V8.1.1

            User's Guide


            Traceback

            The compiler supports the traceback mechanism, which symbolic debuggers need to unravel the call or return stack. Each object module has a traceback table in the text segment at the end of its code. This table contains information about the object module, including the type of object module, as well as stack frame and register information.

            Related Information:
            You can make the traceback table smaller or remove it entirely with the -qtbtable Option.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] ed> l $of>@>X>';DN ./usr/share/man/info/en_US/xlf/html/UG89.HTMp/$   e=ainort "/<>AETbcdhlmsu-.CDHILMNOPR_fkpy!0139:BFGSUgwx#(),248;Vv*7QWXY\j|'5{}6[]qD qATǪHTH8@Gc$GHGHHQ1"J,clnrÚ\&2F⑫8PTTHBìN2eyч={{{{{ŋHBƆ$1`J٠&, T(("BFלJ),`/ŋHBi%G#9`p2j `r4S -#/cfh"&rı ƒ?XD X66jKrdbc% #f7@8Ȅ $ʸG2ile&\i@x tQ^Λqv㴾ilkŋHBSW]a֯9V^j@86t43-#$TQ"6rʢ6jƔ&yZ[h(rb,(DURD{m 5^x lp3TA!!xPPhXPh(0DURD},?PU $3L0PHH/ ȒQTTZ(sϱSQ~45T&A8Hf`HDU٫yZnpl]HN!k7Mk`ӿڳ  Nd7ڝuA-ʛjyNi'*PSphp9UȠ=D$qABG"&'*ͩӶz@9>t!,@C@T@9$VYȄ &1.k^ta{{{{{{XE@>X>';F./usr/share/man/info/en_US/xlf/html/UG90.HTMp/$    "<=>AEHTeinor /1CIMNPRUadglmst#-.02349DFGL_bchpu58:BOSfxy!67VWXYvw,;Q\k|()Kz{}'[]ZZO[$OQ4PqN8z"|qQ7V+I6'I ]s|u7]Bm+g9 280:؝$lD𫳌v/kl9c1c1c1c1c1cĉ  k`O< HPb 2vr _8PC#`'u X_ncYiH%ǃ?f7 7<𑧄$LH} .D).c[]k 'G[wk~h Q⏁˲R]˛(>c}n[[a1c1c1c1c1clj#a>Ҥ_m(QEٻ#aS䳗>Fª>PNiR/TT,(#HXUB-  ]s|u7]Bm+g9 280:r>FIB}9HKi#HXUB-%۸]eʵq: :r6 Q5l (O4m Ph3UbC[$"ō|ێ1x(#}+96є'ӚTԶ(4xЌ^!犭[Ph;M[_xt>NF2sJz#HydV}G[wkw]#`MB}9HKiUhF/XVb(8Y<7q{2[7aJ87rNF2sJz UhF/XVb(8X2\=&Wf7[]f@ZF2sJz UhF/XdT>DpˎKg|0=nߦA޲Sz*rNF2sJz UhF/XdTQ c,4ٌ5q6woEZn@%D֑&>Ҥ^A4Ulv/D kwg9k.p{rNF2sJz ?Z$HwgjtG,` CMKg:4e /"XfH _2sJz Z$Ҥ^AǿZ$Ҥ^AǞUhF/XqUB+uؾ<ȁ `,;|e7/}n@FPNiR/R@?Z$<Ulv/%] [1w8nL|4e "- Ҥ^Aǎ#Hx8! V,hkLt.2#`MB}9HKi#Hx8! V,hsmZW,9 n9#`rTMih*E[HxЌ^!aUB*AP P'ȅʙee#Nj#ǃ7vp:r6є'ӚTԶ(8;UbCdTXXp|1v5~PwƳux(#ޙ%D֑&>Ҥ^ADŽ?Z$<*HEnADŽ>JoEZ|K]]l?ͦYwqZF2sJz=Ќ^!dT IYeBLһzWF]n (##`ZF2sJz UhF/XUB*AZ7R__a:r6 Q5l (O4m Pp*HEnA|f0:r6%D֑&>Ҥ^A?Z$< UlVb`vkvtl (O4m PpVb[$"]_*d-.BZ:r6 Q5l (O4m PpVb[$"]ჟ*.نLQ5kJ%D֔NiR/D(`wNF}9Hsϔ|9\÷b 替np2neYeLoEZn|gf02îX˸@>X>';H./usr/share/man/info/en_US/xlf/html/UG91.HTMp/$   eor <>ainst-/=ADTcdfghlmpu".2BEGHILMNOPRSy,0139:CFUXbvw#457V_x!'()68;WYqQjk&*+K\{|}J[]zxPԀùƒ"qG$qȤ 2\qÊ A"dFzDR$:RԔvmv3sy;"$E"C瀆ҟ!qRTyyyyyyyyyy6xi40ȔdJ $$ 0xfKbW8%F/˂8 ~EisCM^hY>dJH,@H|/^5!!A!Mo@~,ynkY`$,,/49!c^tRNKSoe)n5{S?F`瀆q%{6nu/t:ڜ^isCM~m1$YdoRTM{n'[SisCM!D0l_ bx"4 h_49$(1NJQ`T&pҥQ#^ofHts},JU2۞x%{/h?1w7įeS %{~sA{%{*_KL85^s},JU2،n+YXw4j';7JEk}XdOjL^gfc>hk,zƠ$ )s:@ͮ}"TcCI"ƎAg SR2ՊJ$8Gjre+vSL4 A!fLrHr $X<,Mkj J$8G@~kx0,TcCI"ƎAgJ$8G[8HH`PH`PsɎIA$8*KniR(F /0,T zj[APpҨَ)pd\MxkS;,g1`SV%h\3h;3C8LNru62ņy:'rYzyKqC@rJAO

            -8䥼0s &8D.@< ( ƨ58.]tm; i׫&,[q"0y"0B~SMԾ]szRin't}WS&/Ҹf%ókS.y^⍧~3":dŋf6> _UO{DV@Mon-gm=Wxkj9FS[&#YdŹ#JyȣJy`JE!?{ƾOjL^>nu^[lY_aOV sE<Pxny`JEqkvn/S.y_I-9*g~sxuϔԒqc6`֭:ڝq(>3SEʔa"JԒqk,ol[H^7JEkXN *P| *P|$\A$$\A0r y.TN *P|< *P|)$[^5-IY>'z6wJ*󊒃ZL-XAW2Ԙ5N'*׵ik|n7^y+W\[xX5,JU3>@=}+bW;^ʦE=m5 5mFӿUŜnuOjLFɛ^5tv50bdc:>%$g=Ŷ,p>ę{&m,JU3ٺR+]87_JMJkz}{FE(+؈~s~o{_I-8Sr"Px sPz(g5\nj{眊0z)A`069QMn7_{lg<ۊ7}Y1t眊0z)A`0sPz(h/s[>wJ sE=  E(=`5mS[ǵ҂F9PsA9D |`?^IۥĢw^0(gWibF9Ps@kqm> Kfc?bIƲز眊0yh=9 E(=`FjI8ݭS7tVTRFNԔu-:&眊0yh=^ @R+_jh 69Qz~ RFS[{眊0yȒZ  Lq\TEr( *P|=s&e^ґZ^K.m,JU3w@.:~8?tVu}RW);}IQ"f?Db aPO4 U}7[bȵ]7JEk[<ؕ+)5A$$\A1)nMxvQbuM<%52--*nfLfH~-5qyO{{[V)FWyo\zqaz}.TR'-HRbIA{b59k,cPz(zqNJ0$Y"\x@@ *%-ɳse.\R5N,rQkiڼ!5; @>X>';Km./usr/share/man/info/en_US/xlf/html/UG92.HTMp/$ Fixing Installation or System Environment Problems XL Fortran for AIX V8.1.1

            User's Guide


            Fixing Installation or System Environment Problems

            If individual users or all users on a particular machine have difficulty running the compiler, there may be a problem in the system environment. Here are some common problems and solutions:


            xlf90: not found
            xlf90_r: not found
            xlf90_r7: not found
            xlf95: not found
            xlf95_r: not found
            xlf95_r7: not found
            xlf: not found
            xlf_r: not found
            xlf_r7: not found
            f77: not found
            fort77: not found

            Symptom: The shell cannot locate the command to execute the compiler.
            Solution: Make sure that your PATH environment variable includes the directory /usr/bin. If the compiler is properly installed, the commands you need to execute it are in this directory.


            Could not load program program
            Error was: not enough space
            Killed

            Symptom: The system cannot execute the compiler or an application program at all.
            Solution: Set the storage limits for stack and data to "unlimited" for users who experience this problem. For example, as superuser you can set both your hard and soft limits with these ksh commands:

                ulimit -s unlimited
                ulimit -d unlimited
            

            Because non-superusers are not completely free to give themselves unlimited limits, if you are a superuser you may find it more convenient to edit the file /etc/security/limits to give all users unlimited stack and data segments (by entering -1 for these fields).

            If the storage problem is in an XLF-compiled program, using the -qsave option might prevent the program from exceeding the stack limit.
            Explanation: The compiler allocates large internal data areas that may exceed the storage limits for a user. XLF-compiled programs place more data on the stack by default than in previous versions, also possibly exceeding the storage limit. Because it is difficult to determine precise values for the necessary limits, we recommend making them unlimited.


            Could not load program program
            Could not load library library_name.a
            [object_name]
            Error was: no such file or directory

            Solution: Make sure the XL Fortran libraries are installed in /usr/lib, or set the LIBPATH environment variable to include the directory where libxlf90.a is installed if it is in a different directory. See LIBPATH: Setting Library Search Paths for details of this environment variable.


            Symptom: Messages from the compiler or an XL Fortran application program are displayed in the wrong language.
            Solution: Set the appropriate national language environment. You can set the national language for each user with the command smit chlang. Alternatively, each user can set one or more of the environment variables LANG, NLSPATH, LC_MESSAGES, LC_TIME, and LC_ALL. If you are not familiar with the purposes of these variables, Environment Variables for National Language Support provides details.


            Symptom: A compilation fails with an I/O error.
            Solution: Increase the size of the /tmp filesystem, or set the environment variable TMPDIR to the path of a filesystem that has more free space.
            Explanation: The object file may have grown too large for the filesystem that holds it. The cause could be a very large compilation unit or initialization of all or part of a large array in a declaration.


            Symptom: There are too many individual makefiles and compilation scripts to easily maintain or track.
            Solution: Add stanzas to the configuration file, and create links to the compiler by using the names of these stanzas. By running the compiler with different command names, you can provide consistent groups of compiler options and other configuration settings to many users.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] he  l $of>@>X>';M./usr/share/man/info/en_US/xlf/html/UG93.HTMp/$    eo<=>ainrst "-/AEHTcdfghlmpu,.012CDIMNOPRSy34579:FGLUX_bvwx!#BWY|()68;QV\kz}'@K[]q{jxR %Pw,$CzI@"ø:$P&$bk$rQ !6&r&= (Mx#:y%+Z!B!B!B!B!BkǟDAE1)qÀ`(<4aA[rkj7?ω :SVWzӲmzY|[y5c-*,Ym/Y+~); Wω&J@IRL(EWD/6FJN}vWܓI\֝g$ &Qi@5t^15鎈}nǠ鏋&LpB ;] 4bjSH:!5&Z$7g^ck&$D@xH8Izז_ZkE'F=[in쫶W[oiܮ5ۙ{sa/ͬ5]mɵ:1E:)B{5z`z<$ҁʈ;] 4bjSH:$]q+Όto[nW3kvz& ^Z&5mow+VM۷#=Y;lnM^{NtInKvpϮ4g [-=ٕ Og+f3pͭ*{:[۷*7oL vr/;mo=ps6\wkOvqv9ze P2%,TW/=^C[rWڝ̽cvk_ݜ}r[ʋw.d 8.Xu  :$--]bnf1|LNʻkOis\t`a- "M(Il8t pxhPщLYM "4:$JtInRwgɮC[rmJpNz& ^Z$u޼跻2rUuW6y;prb^jrlF-]mɵVu܌EWh'Rg ^9\ͬf S…ʔ .TF = *P6=iaq̢ӣiyVRWuX_3Wd=Y6k+̨mq]mɵ:1֚rͬMuKuEjtϮ^{K 59*yYŢ zrT&Lr (D2@СP@DhI!6F8Q>_9 mQk=b-Sh*̨-[гTf%: 겼]mQk L *P6".#WaBJ{(\@؊P *P6"}<ւʌb 9*E}Y6X/lMuKd=]yQnk5/՝k-̩9*yYŢ zrT6$A=VW8+]rdݽZ[Uu_g }<ւʌb 9*EiW)~Xg-]bn]mɵT[{:k.M~ }<ւʌb 9*G(':_#=Ϋ`o\^QW[rmbT[uFJkAVeF1hޅ"_+v3uv͇k+iכX/…ʔ KUv (~襍}<ւʌb 9*FrWfS<*-iOUmʋ ze njMB`tȗL@>X>';O ./usr/share/man/info/en_US/xlf/html/UG94.HTMp/$ Fixing Link-Time Problems XL Fortran for AIX V8.1.1

            User's Guide


            Fixing Link-Time Problems

            After the XL Fortran compiler processes the source files, the linker links the resulting object files together. Any messages issued at this stage come from the ld or bind commands. A frequently encountered error and its solution are listed here for your convenience:

            0706-317ERROR: Undefined or unresolved symbols detected:

            Symptom: A program cannot be linked because of unresolved references.
            Explanation: Either needed object files or libraries are not being used during linking, there is an error in the specification of one or more external names, or there is an error in the specification of one or more procedure interfaces.
            Solution: You may need to do one or more of the following actions:

            • Compile again with the -bloadmap option to create a file that contains information about undefined symbols.
            • Make sure that if you use the -U option, all intrinsic names are in lowercase.
            • Use the linker -brename option on the compiler command line to change the names of some symbols at link time.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] k kF~$Sof>@>X>';PS./usr/share/man/info/en_US/xlf/html/UG95.HTMp/$ Fixing Run-Time Problems XL Fortran for AIX V8.1.1

            User's Guide


            Fixing Run-Time Problems

            XL Fortran issues error messages during the running of a program in either of the following cases:

            • XL Fortran detects an input/output error. Setting Run-Time Options explains how to control these kinds of messages.
            • XL Fortran detects an exception error, and the default exception handler is installed (through the -qsigtrap option or a call to SIGNAL). To get a more descriptive message than Core dumped, you may need to run the program from within dbx.

              The causes for run-time exceptions are listed in XL Fortran Run-Time Exceptions.

            You can investigate errors that occur during the execution of a program by using a symbolic debugger, such as dbx.

            Duplicating Extensions from Other Systems

            Some ported programs may not run correctly if they rely on extensions that are found on other systems. XL Fortran supports many such extensions, but you need to turn on compiler options to use some of them. See Options for Compatibility for a list of these options and Chapter 14, Porting Programs to XL Fortran for a general discussion of porting.

            Mismatched Sizes or Types for Arguments

            To detect arguments of different sizes or types, which might produce incorrect execution and results, you can compile with the -qextchk option. This option warns you of any problems at link time.

            To do the type-checking during the early stages of compilation, specify interface blocks for the procedures that are called within a program.

            Working around Problems when Optimizing

            If you find that a program produces incorrect results when it is optimized and if you can isolate the problem to a particular variable, you might be able to work around the problem temporarily by declaring the variable as VOLATILE. This prevents some optimizations that affect the variable. (See VOLATILE in the XL Fortran for AIX Language Reference.)  Because this is only a temporary solution, you should continue debugging your code until you resolve your problem, and then remove the VOLATILE keyword. If you are confident that the source code and program design are correct and you continue to have problems, contact your support organization to help resolve the problem.

            Input/Output Errors

            If the error detected is an input/output error and you have specified IOSTAT on the input/output statement in error, the IOSTAT variable is assigned a value according to Conditions and IOSTAT Values in the XL Fortran for AIX Language Reference.

            If you have installed the XL Fortran run-time message catalog on the system on which the program is executing, a message number and message text are issued to the terminal (standard error) for certain I/O errors. If this catalog is not installed on the system, only the message number appears. Some of the settings in Setting Run-Time Options allow you to turn some of these error messages on and off.

            If a program fails while writing a large data file, you may need to increase the maximum file size limit for your user ID. You can do this through a shell command, such as ulimit in ksh, or through the smit command.

            Tracebacks and Core Dumps

            If a run-time exception occurs and an appropriate exception handler is installed, a message and a traceback listing are displayed. Depending on the handler, a core file might be produced as well. You can then use a debugger to examine the location of the exception.

            To produce a traceback listing without ending the program, call the xl__trbk procedure:

            IF (X .GT. Y) THEN    ! X > Y indicates that something is wrong.
              PRINT *, 'Error - X should not be greater than Y'
              CALL XL__TRBK       ! Generate a traceback listing.
              X = 0               ! The program continues.
            END IF
            

            See Installing an Exception Handler for instructions about exception handlers and XL Fortran Run-Time Exceptions for information about the causes of run-time exceptions.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] many  kBy$ of>@>X>';R ./usr/share/man/info/en_US/xlf/html/UG96.HTMp/$ Debugging a Fortran 90 or Fortran 95 Program XL Fortran for AIX V8.1.1

            User's Guide


            Debugging a Fortran 90 or Fortran 95 Program

            XL Fortran includes the IBM Distributed Debugger, a client-server debugger, which supports the full Fortran 90 and Fortran 95 languages in addition to C, C++, and other languages. The Distributed Debugger can debug programs running on systems accessible through a network connection as well as debug programs running on your workstation. (Other debuggers may provide only partial Fortran 90 or Fortran 95 support.)

            For instructions on using your chosen debugger, consult the online help within the debugger or its documentation.

            Always specify the -g option when compiling programs for debugging.

            Related information:
            See Options for Error Checking and Debugging.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ] START"> l $"of>@>X>';S./usr/share/man/info/en_US/xlf/html/UG97.HTMp/$    et <>ailnors-.1=RTbcdfghmpu"(),/02AEGINOPSxy9:BCHLMvw *3458DFUX_!#7;WY[]k&'6QV\q|%{}Kx *X H<; M4FRԃø(h% H<: "@="i^,;<(xP(wM7 *ћIv7 ᕳUvUxHHOisSM'?i./NS)|WrҌZeϪܘX<4/TC-Fr_IMz2]7Mou[jrR;*Y]I=i)LMo$\ -˨*VhFZ&+f<&4WOfZ,vU{Vtzu[eD?&H/VLV-ܾͯj,9C~+*hfbgFW-*/Xc-DBPf3Tx"T({U1ҿQ~mlSfgE2Xowjj)T sƖDsA&%v_/wH(JeKRծ_һ؈xͼ1SUpZKw[Ir#>֠oc*gi•Li%gʙTw/Za_|]eZq VqVTЍO|LZS'rժ wykDȣ/9•LiԔ)T sƖDs@/w"T(4DBPe~LjFrWFmzĨeO8E#-c*g#3Tڊ֭6Lw<ȑkٌUPB6Rؠ -Y0sƇÉ&3 o^W_lF1X3Fs^"T(3Ϊض[(үZF>jNxϕ>+ŖU{E}c#v[U8N?<8Ag2)eZ{{շZSzͽhr;zͽh8sp~ 8s9߂!Ü#ToYXHW`xXÝw'wࣇ;YÝ8s(ʴUR,9CJA-cxeB3o/yt*Px"T(x^"T(F։.%JiUJ;>jz3w<ȑS0/cYgEL8RJ`_[*nxȑZ 1 ojƊ7OZ3jheCJk߬g/UˤRZ&E0o]$J%+c=xԭ7)Y.%JB8tVTJy޳oeZOuPPFb!)lP -•LiԔ)T Zkf2ʙNM6U wԌ/23B6lP[*}Ӈ8tV

            #v;V|/ʙǟNM6U wykDȣ/9•LQe"6L@>X>';V1./usr/share/man/info/en_US/xlf/html/UG98.HTMp/$   e -<>ailnort"/0=ADNRTcdhmps .124EGHILOPS_bfguy%(),59:BCFMVkvwx!+36UWYz8;#'*7KX[]q&Q\j|}{B˂)J \=]NIqzT>$)( |W&B;Ki|\imw8)v \ > HC[ٳk.I$I$I$I$I$I$I$I$I$I$^8p`P &tdS#FF[{ 3'}29895 HCpw6y0|9|O4xа:u ~53gu!<):bn2w&!!' pA~F{7;wc:Z˾|@;=VO4٣Vkγ̝IBtjkY9]׶q63)0|83|D.$@R<:0\*]#AP*;x0P\'@KZLE#8ÊWHN 鹎9@h0g |떁Hh4PUU*G=D40 40pY|D.$@R?E\5qUW ^y !\h0g.(jGEr|U@W,`xa޳wi^f]Ng@wtC8@wAr. /[3lܝ{_ Π; m kx_ (BO&U@TD|$y p8Lq`уb2K HC<͝[XwI$I$I$I$I$I$I$I$I$I$I/IO^*hiHl#3@>$IS A#(" P4<D-eqBϐ!XSL75Z3KkAN|gPNQ@>%[AN|gbJ;gK;)ZMw߉^޷|[<+L]k]ZMwT: I-(*M2o /(O~Z{{:d'vzv 7\imtc₊J%CeZi|P PQyEE$t~3Ss:ƹYsj|KUHɹַb(]bOu*P.U# ;3ݿuw3Kkxjnp;|'^0tg'o6Yi{G}hgZ(h x;sߛ1q:3lLyJ4y㷭{s{lvgqtOkٹ; kT )(I>%H$A2 (k}hgs]Kgq>'gwp%XeZiFN(]b_w>Ib(!>K2l x;5|y3KugJ357u,oϛVO4x2Z'k {l'h:CT`'ofw[sK{ǭ x:1-%j)c33]buߖ͖i^ӯf~ZyۜNb%XeZiXdդiBME$xQ?YB I]i>+&ET(@=se U#JQ5<8AI5$>Q.Y5yuE$y0v Dpc4okrɫ()Er]2ȪL2*xiU* &G(8 &< 1rɫˮ (A#^ك`Z >'nqٛߢmrɫ()Er]2ȪL2*xiU* &G(?I$" |\j낊HW`z1S]cs4 MYEJ(.|WSPR<)&ET\c" AbT$H(,ࢄ<;@^ |5qFBwrɫ(t"G E2Ȫ,$A5,]#ÊQrIDDd l0-cXl8a4$aܱٸB@!'VQAu%&ET(@=se U#*XHjXG(?I$" |\j낊HW`z1RbvlZ,o<_:O:ϝ決Ϲ2セZ׵pg|KIm[Χ5ROiEE"(Ivs#RQ-(! /(wzKJ*/(sl*)"[7>ý 5 )(I>(, (ҊI]NBdUH?PR=r&xqROj.I#Ǣ |\j낊HW`z1|K,BTyn;, YyV;eI@dՔP]IEu:e U#\"BdUHʖ? .J?I$" |\j낊HW`z1|K,BTtxG0w!/KgMDŽsTzP~7,tn;AR|P, >(, (L2*yBS(LRDP<8@1ME$xcW\PGh AKUH[7UR25 ;nsWbvlg%Xda4% UH g'˿f^")#'s@E5k}hc] /5{&o~o9MikSZC:oNo֑V@E5;g|lǥZ߉pPP!X߉u*kf㻘]uF]۵sϜwqv'bkos7/l5ߛ5{̀&-%'1n':C;I>%Cdl*)%G{w;l|PQIDl((([] #RQ-(!ϊ /(l_'0sF>(($\j(.J(.iB|KJ$)S l 4Ib"K28OYuȠ!|K,BQ.U#"mn0ЗuWkfbv(]b\&˹kf <_ܽ-p%3wY a ,B/tfn! ,_/txG0 勳:]ַ`Nupz\j/'SXƷ[ܽ-ǝKfxo|Xc_Y_/ܱvw5q/5bmN3|d!\3nNb݋q?-┭y3|gYbu5pa9ٗYbu*nWxv75qP.U#'Mrw//Kgq 37u-7yEB/tkf㻐nX:s۝kvPq@Cz\kR$ADž"!'ZXAxrޗ0w s8(I D0)B/f_ ,BOj|K,BENeÙ oooooooook;;;;;;;;;; ,BOeJ%Xd@Vm]`n0ЗuWkfbwS-t*@X-O?-ou*@ְ% UH])]ǻ':VfkRk>'o:f.'Fu5yc4ZdCBrBr[f,o<Ϛ3K35}̀&Xߝ,':ўl PBr|KHss:[͆5~oYiQ;sZĺTC-6UR2O{u~3ǭf5ߛ]bsnP.U# UR2ε@T|ωu*P.U#.Uъd'v'os9-ٹ' Wo[ַby|ַbyx']be Mr@Tωu*(A2 &]uFOw3ηˣ:3ۜKo=,jnyo\9铆hg.5Оv;\Y])]_-ou*@P.U#.r>fĴw睹kCG~ZUR2 \mP.U#.r{^Rib6jyߖ+L]o5z┱Ww+ŧ_Kgpjlobfbk'1<{Fuojyk~qiyc4Zd﹯UR2nu؊Xd]uFF UH'ĺTkv"u*%Xekv"u*ٟUR2w8d@Tu[-Qߙif7:'a޲1 ZO醔!$\GEciU ֓.BdUH?PR<4?Q#ÊQrI<,Dd l0-cYbN&t"G E2ȪW\T$H`%&.(5{fh 8fo~ͷ+&t"G E2ȪW\T &KG~.s41KeKi{|߻w3s6wf`Kװsf|[<>wεγ;Kk{:d޷|7\imtgkI(,u;sdus_f]n; >xߛ;-d'j $T^Q nyh ETRIּxr;|PQIDl /(2w:7G\#RQ-("vh ETRE(jϱ=s's{4u1AE%)'VQAu%ZQ]i>+(LPz"GT t*PiME$xcW\PGh AYb8ۆ'Z݉Y03;eI@dՔP]IEu:e U#\"BdUHʖ? .J?I$ |\j낊HW`z1|K,BTtxG {yN6ַbyL3]p80zYb|P.Y5eRQ]NBdUH?PR=r&xqRc$H%&.(5{fh%ڣ9[{淚_ 4o;y v3[%9mSu؞u|qIZ݉Y2po[i~.s4ݥߖn:")# mn֑֗N6ַbyL3 kHgkI(,u;sduٰo[5^xߛ;-d'j $T^Q nyh ETRIּxr;|PQIDl /(2w:7G\#RQ-("vh ETRE(jϱ=s's{4u1AE%)'VQAu%ZQ]i>+(LPz"GT t*PiME$xcW\PGh AYbl0Z8@Yb|P.Y5eRQ]NBdUH?PR=r&xqRj.I#Dž(,ࢄ<;@^ |yna`H!@$\j(.2ȪL2*zKMB HI5$くKM^]pQB j/C>KG~.s4o/ghv5 R㷭y݁'~Z{Sgvϝkv'gv7t}n;iO='~Z^v1m'35{&o}2ߖ2﹧εγ :3%kk铆zvnK3Kk2p;Knu /vķE5 5 E֗ݹN:3ng|ĵ諕N[7}v.F;v=ww޷|{niNٸa("池,5;؝,6n[S.vgѭc?-ospjnvc}y1sxc:ou*PpLP.U#'ٽxIwqg8{W5[' Nc]5 |;ZJ;/|αg5k|DSZMl0ZPMi|\imuĵk?-or}}/K|\&VQAu%ZQAtJZQ$S A#l8 $ Da%e`x1!a:bom#(((׵qOsYxٸa("wwy]N{i{:k{zv 7sў")*Yk{l֗λڸk;nv8ퟖNYw/pgkI)'CT~Z~Zr7ksְ$u<Λgqt}n:\imw1=wm؝k7-q;s_4o]k{:jg+':^jMiRc[f(ψkI)/(((j1{7)35G~|gY k{:d'v֓snPMiyٟ֖6u؊).w:O:׹ϣ-kq;s_9[][؝kjtOkE7-Nj#RQAB|KH>+6ܮwIJ%_0\,_xrgL71^֮݉na`Hc諗y% $5BF`N8QNw2po[G,i{:OpwG-v'Z )Zk+Ky'Zߵp kC ,BOiDE>b<͝㇟,@=#BIqY{8y +6ܮP$>OeJ%Xd@Vm]C8|ىvw:i{EUR2xܽ-p&a  2%?63O<_t cO,Xb ΗnuADŽ S0q.&?/pd?.Og`:\2?Xbŋ'Qxεs8 ѯ ,Xb 3^abu؞upa9x@G'GXbŋ'B/.[ ':_tOƀg,Xh :טdnkv'd;\Nu'B/?~9Yb*s.cƅ(hW!B!B!B!B!B!B!B!Bƅ(h릲P [(T95)XJ4(xCB!B!B!B!B!B!B!B!B4(xC@n,]t3*9QEB Έ((?x[&' 8[ 89a2pكε Ǐx|&M8[h bnu1KS< ȼX:p/=ŋ0nHA@)(8psƅ(r[<>@XDTr(jI'3z"ECT1B4]橇s2w:﹯kkEB<QEQ((L3N0qַcxps:dkv8bL0qַcxŘ8[bxxnu^8{ŋa Qj(<úfl <_U PhpX0qkX1KS< =芨Z@`z]kX^芍EQtKp/DT(9ʮfon|k'p!c.(X҉%%x^*hi5L>Ib"\@Ɖobr $ Iq䮊疙 ˀ/|<E . ׸q^fku흶] ˀ/|<Dh0K2J,MUMeϑ;3A9peHSF Lޟ(J P$I<j k}$pof>@>X>';[p./usr/share/man/info/en_US/xlf/html/UG99.HTMp/$ Chapter 12. Understanding XL Fortran Compiler Listings XL Fortran for AIX V8.1.1

            User's Guide


            Chapter 12. Understanding XL Fortran Compiler Listings

            Partial Table-of-Contents

          • Header Section
          • Options Section
          • Source Section
          • Error Messages
          • Transformation Report Section
          • Attribute and Cross-Reference Section
          • Object Section
          • File Table Section
          • Compilation Unit Epilogue Section
          • Compilation Epilogue Section
          • Diagnostic information is placed in the output listing produced by the -qlist, -qsource, -qxref, -qattr, -qreport, and -qlistopt compiler options. The -S option generates an assembler listing in a separate file.

            To locate the cause of a problem with the help of a listing, you can refer to the following:

            • The source section (to see any compilation errors in the context of the source program)
            • The attribute and cross-reference section (to find data objects that are misnamed or used without being declared or to find mismatched parameters)
            • The transformation and object sections (to see if the generated code is similar to what you expect)

            A heading identifies each major section of the listing. A string of greater than symbols precede the section heading so that you can easily locate its beginning:

            >>>>> section name
            

            You can select which sections appear in the listing by specifying compiler options.

            Related Information:
            See Options That Control Listings and Messages.


            [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]  kp`$of>I>X>';\./usr/share/man/info/en_US/xlf/html/ABSA.GIFp/$GIF89aQ+999rrrUUUֺ***GGGddd,Q+@ dihlp,28$AHDrCX a S Hجv xL.9јB:wǨ) ( =^IW@)p8=pO` <$~) nHF{# ,) B6;"z( * m^98T 8` EQO h@@aX@ GX `RAH8 []Q @V$.-%$1!Lh(@'J1P,)-0ӄkK*y< B4!I>X>';]./usr/share/man/info/en_US/xlf/html/ABSA4.GIFp/$GIF89aV.***///000222333444666777888999;;;CCCGGGHHHLLLOOOQQQTTTUUUZZZdddeeejjjnnnooorrrsssxxx,V.@H*\` ?|HHŋ3jѢ{pɒ5C7$ 1qB & vRLiKBOHZ(ӧPQFJ*F;'hʵׯ`rդ66ڶRMx 8^8KZ֪aS+F1Ž#k,rB)QϠCM3GOqDPa& ~uL∗4|@b :t}Qk{h¯nHP#u2!K/ O0V UX ~5F(!l E  mLW Tq%+d bїE QH>T0c9H)vti Ղ=N>L"qiP5Gzڝ@olPQt@g@]&/PQ]ut;l(i~ ꁣQC;T k$/of>I>X>';^/./usr/share/man/info/en_US/xlf/html/ATTRTBL.GIF/$GIF89ar@@@ 000pppPPP```MR &/5z}>Cko\`!,r@@$@,Ȥrl:ШtJZجvzI zn|N~kedsq   g  r if j tDԪۺwc hj ky怄Ő<&H7BiU4jp@|{9@ $` E X(uN( He*†͉BhY#r3t@M:x~Ts@ % " 0`~fq3ŎU #P@tXO!Pk^5yݼxm,y{!wjP']*Sgϫ X}L3Oɜg5ΠUv g3  h]Th(ϋ^7-oplg xoyyfp(bh7^!4 WjbFT<_(8h\ub;a`\@[8b@AjEG5TewfІ`26yXr&6Im \рr]h`:JBYfD駠*j n@0uhFlA>ۜc<[0PXuW6)@kŮ_6Kn-j1k$$-ZJȨ覫n1dfhrh4I{{cxPTaG&ЭVִP,KloL3f6>dsx1-J&qo)"jC*UOn\4YE0ڱp@MpƱ. :`TY(2ze!@x0 18(%7AȂfcduX,ሖ$|rX@!!#(ٞEa(e,)K ̦ػ@304= 4 ze⹆)sΣd~Fkam֔6JPKRSX2#P H6{X(Dswf\ͦ:3LyP0-Lrg@ JӚ~12`lj3GG$ li4QnG4qƹAzD='$gܹT_5͠%P}E2a`::` 9c+NF[1T Pz 9x0y4gh&@+Y%uulzAvM\Jζmsہ=oKuq\-7|**\r QkFi }p: @bIXu _4sgt8$=S@1`l&N2(s8 ӄ E8ߟbp2g-/$*֋{(:"1}eZ6GE}C覔#<,_/P/3d 4jlֻ{wHUĔAא/(C~5&pE qԙ+>M?ELILG Cv\+#+Ҳ#ᓟw g~v~3f3a g~~R~㐁]ذ\1TPGpB=*3bBB# Bfk?cO ~ 75*8ĂPR7w&ّAl5Ƿq|P.2|Y +|Tx"jdB3CT7&giV<RDEC'shc:8" PXsyjg>9*#tl8!eG0f%"H'SV\Ɣfm F"b ܡ?wȠm'k3I~ ;-5X9^k ]FPR& la:C m0#?zzbTfÑ *Au0lpu#-BZXZj VqdTgRálH "݁+4$ rg9Pes+fzj^CCe'р,3~&&oFxqq"Ք :P'lP$T{Djq@9ccpfjp {y`ffedb&%<:*D0xXj'M44EEC1ibI ࡈqpC=S"rf|e=Ěi+fha8n7b9!,vg-"h_ùq)"Cki iYb0ǥu<5Az~:}dT!!,ѕD_[S+7F 1aAd ɪj0 `$p#(Ma|JJJLJvu 6 UBQgBg3-zn:(p ! gp; cyu' ˜6 LS jZnNJAb4viP{!5UQSGgzڃ+ xI!=i" gvF++-ШH/pw:Ppn `:+Fpm&Ci@mh?k6SQ`R7zE 5[K?fhv|5vk+, &|(*,.K!a"\A.I&/V F$_(vyE yk2Ir& (-Z,FKxN& J !܃b"k}fNb@@<`8=1qG&%z\@cs;V jm; &3=é:,dâ,e, 0JRW W`aepW XߋcK2l !@r) 5vfpeeQvY*Pި6M:Ÿ2C EkC| \<|; Q`g&Z31 +T )6|Vlk DT| ͱ3+dxBTiR)Y+ i҅ 22!bǀR ʰ8' P.`B}8Y8ډ E{s? T Е%2ŷgCH*g.{dG cz!iU^t+z 0R7 J3>.T綥+X2HG6&D%B; cOLJSB B,Ԡ6ᎈ(41 } *vN|{ojsETm*tJ|jD}T\ТdACdPDϳ*Rn5Yy|[;4u" ZoHGy^?Ze _nS7?!2'AS+UBt>~榈$ _A0 Лr8@1`m"6 2AI-l?(jo by֚:پ2ǔd X'Fco1ÒEĞ}!Bd 2'j tuWZ;R޸+?oi?x&\ g?z_oF!SqL`2QcbKݮ9*o2իSq 0 =+o)pPAPoyq( /*HLU|!Ie06  Y]`\6 '3@$L"C5 в     )p۴4H9 i.MF" l4  a |/2C9q!% .Z`' d&}YtR`dAZV"zAe׿O ,З LP !P i{ 1P?5I,MLQ a|imQq!M"L#l`|R)O+ ,( SL3ɒ :CSN M7s3Trnn1+BCAdSB*C5%,\mrjC%- ]0hq `a`/aPǔrSd hG6 \@ ĺ' 9` ŌJ@_ ŶE[Y@(ăR(F-RT^pGl\Go"Ybt%lTG˄DV*06v+u]+X]`4=MRQ@`4rh%z':!L3h@yiBdy'2+ 6ȅAoq462kU+Gpq(h g< =JGHaMaS@ŏ20SJWjR|lyCM/x 2lȇY2!@-E?I՘Z5~^W Qnbe@kxu a/K!L%ljjiF4֧XSsB=X+ Qe k25JIǺbUD!pC=`L]g(E$Vr0 p6 yi@=rŶ?25!@cIPRgI)A3 ˚ObEh3ۡz{csUpJ_tAkn,F :evkqA@oU-Qp4t_ep}@K])( :?& , vnp"Hu"c=Peu0T.|M4,\|JU-rqM)<7]~3ɳZ% %|9ca E 2`aG^Bry@ G$X#l𔱩O 0l;9DnAF@,LEl8"NY!uH2\D!=YK LV~'#uPQxw. ȵ LF"`i ߾ŔS Dx& "aWj5:O_m챲C:ОW_0cZ #GZ'^``dF5@"5Or`1ZD6fH[^w*'ɺNl|O&H# ;&a@44}EW4B +=C/:)>p3d毂k".O|:^XB%!( 3,u &f B?H"*8BAq^0I1FQN*-zk"< (9@K(@"\( h X !O?/ I&7>x*yk c.C{"N2J.A&"L BvŰdǁ1pK8b@ >Uƥ\l.պ8#C͈$5 :z 'v,.c@@1\62(n $!ed*r++f+B+BIIJFD$ad 3/P^#38UBL!ơ ]%#n&>>D# @ *^ X o(PRg%84q@#D% &R"!8zMP&!^& =%P"%IL:&"^T5s;g.(J:O8BdU6A9aȏE&@@X1 `K63 ~0HQ `菨p %`A$ t"@_ 3LE 1!LLB2K1-rG*yGiAGtHGbn!L. VZ;EN  HBUyy6D4$m;T5lbB+1 &~"ŜW'ڃ#ȇL$9{4*IKeD%Sj8E(.,"BX1m75o(RHmu^jVuEruW} *W2X5atP4Y3 3dZ*0:@Ki6 >N_DFÔA&=bB[yA4Tc2@4j?4!bB3f*@:CخLM<%^#?0*rb@46 >:WF6 6!bà0g4e@\"Z ' O"A!s0SX6H{hH4i?i`E.R$)0H%;bX04JvQrRyf$'Ē>|.AKE52Q6*On`$|Mk;c%ܤ[I6L<(VISR &$Ln/9RT:UYusZGNL%%̇"Z}:@YA>\cc|/^HwMׯׁ=OtRؑ%8:Ρ822=c)!gk]n^{I\K#ٶ'83d BT#zp> Pɛ"8a<"(P4AW=_\ A|0w@:<R",4""`"%Į;$D%S>1|='hw$!h<"%L'j&x0 ᘬ%9n=: I(x - 8$ 8-$$!00!=((,I2Hbڭl"%,"N. BAO)6 ~ psu$ ]>I6%$494)R<'1$' o i Z(ΪJB$@&AHIK`RRR93yaBrI5SXux QåNlͧǜeu+׮Ez +v,ٲf^v-۶nµ6.ݺv77/ 0_v(p(]6yx;:Y <A$y82F=!ZנzPH1X|ۀd0Dنn2R Y@ @hR 4pvRUNNLd,љUek2s&oYwE'{gXz*@Z"2ڨBRZbZjhnB(*ڪ+ ګzw;ǮU,2ەB^J[VMrۭ߂;n km$of>I>X>';a./usr/share/man/info/en_US/xlf/html/ERFCX.GIFF/$GIF89a4rrr999Ⱥ***UUUdddGGG!,4@` dihlp,@mx|pH,ĮP1h4q 4t1F&P pC3\f| J ~Rsc8 9 kEQY5  z: EUw@ R iZ`~W6F v| Mn #t$@#q #(Dŏ(d8 S\ɲ˗0cʜIMlG"ZdP2  x+"R@O } ;;F; ,T$ 8p5~PV@9,xE:i QDY50#sw sA?29P K`ZUEITXƯ "T!=pGDs#"U[dϳjËOӫ_Ͼ};܃$P(= u4?3 4_< cV<#XҚ*$HH=D*=p \Uf#W(Á @QSԽBqGP@=` 0tQq T_ M2 `geF \8P@gi& hrs֟9АZl6L fCF*餑rhJSc>?:0$uJEPPh@ؒd DAYE@ `>F§Ib$:X SV4dPZ|o` s,kP L1Dd!}E(ƛBf(j@竒3teԄ),mqZLOez&,ry3,4l*; kY$of>I>X>';b./usr/share/man/info/en_US/xlf/html/ERFCX4.GIF/$GIF89a@$$$%%%''')))***///111222333444555666888999;;;<<!q:ZR OosXxJex! ~&¯*izO6l%q꣉wGS#P߆;M Pún "yj^|AtA/~I9ȄCkNl0s1ZF!00|}~ Hױ2G-l3y߬5sjt2L6a9 ԧ)MOb  D$ * Dܬ$YM6M nI& 4IKI}7tJPpI\L]x `XKRk5Qo{%CJR[Q>R}m5s8rbtԽ`SQ[>cVܫq OIb7kk#@Lthx&H Ā Gv@ݥ% GH zb0~TH0!ND֩\08%4!/CЇ, n#R9Hn;Uc(` 4a c72DL5&}iK@&6h H{`#XK .pUGx`H#$+CGT @ I<`#^D&L#ћ ei-7 _9N$jIÜ0A3)5QD^8c8r~Ev<; k:e$of>I>X>';c./usr/share/man/info/en_US/xlf/html/ERFX.GIFF/$GIF89a@rrr999ֺUUU***dddGGG!,@@dihlp,x|pH,q4" cY0(lsK Q @83 |P |?pA^v:Y>7\@dC: p7L e9 G8 y;8=İ[ʍ E[`J>xWx79QE n7NC5<2bUH W0l yvaUD@dUH5_h %7C}UJ9^ Ż%.pL306߬:43-Dm ;F!0 k(u$mof>I>X>';dm./usr/share/man/info/en_US/xlf/html/ERFX4.GIF/$GIF89aA(((***000111333444555888999;;;===>>>???AAABBBGGGKKKLLLNNNPPPUUUWWW[[[\\\]]]^^^___```aaabbbdddeeejjjmmmnnnoooqqqrrruuuvvvxxxzzz|||~~~,A@H*\ȰÇ##̗3jȱǏ CIɍO\KXJZ̘rgΌ >qGM9 OO~IcO쨊>ŠK֣Bu[M5VP?v^-GPh!o*wǐ;H˘3/ȍ?34iM 9 'j5iҋRskפ N|FGwy!i6IQ:\MpQ3߫@'_hZo%`MVv~*A +S51R~.`Bl%VDDEwQST'~aĐm X}AT"5(tEK5%ṋx`)`z!="EyQaTNZIQ FDEus8 Ee ̉82~(w[(I4(5EYeë-}J뭒*+`'J,j*l> N[ 5hIZֆ߁'pJIh+rOPRKl^t;B aFx*B'AN;S1Eg0qK_Gu%\*ҒW}FPqIVvAG _ [_p׬0Q0" ;)AVeh{fqRBgDG9 E/-=- LBF;  + |Kl򿆯 0A 0cy˼*EF N־ (8B8>Ǡ< d#Rw2hq ;H  k꼼$of>I>X>';e./usr/share/man/info/en_US/xlf/html/F95begin.GIF/$GIF89a1 DDD%%%"""fff333UUU!!!www,,,!,1 ` dihJ"@p,t E| P9a@$88lG CB E-Z5|dL.G DDW   uf i4UN .t=x8{|p/ FUNO>j- F Su;"5*$!;  k$of>I>X>';f./usr/share/man/info/en_US/xlf/html/F95end.GIFF/$GIF89a1 DDD%%%"""fff333UUU!!!www,,,!,1 ` dihZlp,,x TWn>`XDHP;H[ W@;˘ 9 sP:RK -p4 tl. ffK8<9g- C ee9<2*$!; ;  kP$of>I>X>';g./usr/share/man/info/en_US/xlf/html/GAMMAX.GIFF/$GIF89a6rrr999Ⱥ***dddUUUGGG!,6@` dihl뾰tmx|pH!< Ũt*c9 `(LmN`<4hC@  tVSi 7 Q|:  b5yB  ^9 t@ 3`P4 }~8x i{E P?`AXq  n`'8vX |+2a\>piט\`dy$(s< l լǁCj2`˫"|#pLJA <:(r z4ȕ FPֵٳhӪ]˶۷pʝKn<.hՙ `3o*6(AJd"[}$p'd Y36t<$xBo5h0rs @`AI<`@a戜Ȗ3A`GׅT:Hj prr,HG0ThaC=%H^x=Eh#@ԃ/dHfAt0#I|#MHLyd iH&LÓPF)R;S51R~. kĩ$fof>I>X>';hf./usr/share/man/info/en_US/xlf/html/GAMMAX4.GIF/$GIF89a7 %%%***---222444555888999<<<===@@@AAABBBDDDGGGJJJQQQUUUVVVXXXZZZ]]]___dddkkkrrrxxx,7@H*\ȰÇ Fĉŋ3jȱǏ CI2(S:eM'Ax`8yŠC?:} (GI>X>';i./usr/share/man/info/en_US/xlf/html/IBMbegin.GIF/$GIF89a1 """DDDUUU333wwwfff!,1 ` dihZlp,ϬhxBp  Hp @ ź %A$SIS P,,~pg1L;cdfSR  tv ?4yWMI>X>';j./usr/share/man/info/en_US/xlf/html/IBMend.GIFF/$GIF89a1 gde655ZXXB@@􅂃+**NKKurs!,1 ` dihZlp,ϬHxع @c  Cp>``q 5 htQ DX~ @T8H. Y>9m_oR G>8 Ve^OM92*$!; `; ko!$of>I>X>';k./usr/share/man/info/en_US/xlf/html/INTBIT.GIFF/$GIF89aZrrr999***UUUGGGddd!,Z@dihl)qmx 66rlޔ:zЯa <̀aGk^2b},c4/% p& 8ah# 0 M+Nj 1wF=bm+1KV0E5ǼV.-$ Ct7V =@S{'p# A ۚ(H  8랗ne*\N=dr]'g%2b7#&$ɒOtr%7 DE*.MqyȖ\a9IL:k)WNatZHQk2.rR&{$ ƒ- p ks܃ kB~%Hǁ.,ڝ "0Fq ۴n~#)~0bjeE+p8&hr8*F(@ :]im1iw_Σ~}-l/:O_h7B_5pM%H #B4"$HzrS!Q:;|tB'A—$PJv ]Д5 O= H1 8N@xX_ .HNDțI8b1O2!GM%H+avp釨$ S[$&xԕp Q/m c̢bW}G d8`@o 4$cC*v|01 _ 3(PNjD~+ߜ:s?;j k_"$pof>I>X>';lp./usr/share/man/info/en_US/xlf/html/INTBIT4.GIF/$GIF89a]***222333555888999;;;>>>AAACCCEEEFFFGGGIIINNNPPPSSSUUUVVVWWWXXXZZZ___aaadddggghhhjjjkkknnnqqqrrrwwwzzz{{{~~~,]@H*\ȰÇ pђŋ3jȱǏ C(pɋdd.cXr͛8srs# JP = +JS_8r &š%G%j#F S ̶Je`ߠB&TY  1\zuс&ND" !N8_axlfai*ċ0(1f=EH#-D!$xa@nH TL2 uM&`XDQ~RWQRd]}HneS3ANC0 eb`~LiHNcX'"I _ŠhRHjO RI0f zjN*HVrjY TZl1,ۘ&lN>{S:+paz-NJtU*IINZHsXjJ"s4/VYpr,]69XD!WL kQ2DWށ"&{Q \F(*|Ƈp%PMݚ$휪RKU0V'e f#틥PU0E`YiTAץuVC;70צz~SkйkP^IuZKW&yv{ m_wy|QE v0; kg#$2of>I>X>';m2./usr/share/man/info/en_US/xlf/html/INTDATA.GIF/$GIF89aZ999rrrֺ***dddGGGUUU!,Z@dihlp@mx|p8ȝP+ ((Z+5+5 !Xrk@on D fWe sL5 L9k|qDvC_ 89m6 ~ 6H<7N֟jҺRɁnq~5 5 P`!i  h81< Q m۳QnR\r:!]pQbUD=~$grQmGѩ鞢NhJ}}Z2z40ɢ]*hpPY5ܺe C00 H0`Wd{4R@Konx;=W߰曅;A@ 7H896X[Dg[F,ók;yϫKguHJcbD Mw U}^2 .LRs_GAH,^(̄!@d~xb)Q"Ɗ3J .vM$B AxHT_ChHc0OHGtCrnܤH|W|!E_uI T\ @7@ q%QD4p-.,qC; (!X fvI(.C4I$PDݤ4 D-Y Ea([QC Ni(BW@Oԃe? X<0&-櫊VlJIl4Q K O,G@ _v@@X6Qv "1,21F/CN;5zJOJ"Ƞ\w,H;&{Q kڂ$$of>I>X>';n./usr/share/man/info/en_US/xlf/html/INTDATA4.GIF/$GIF89a\***888GGGUUUdddrrr,\@H*\ȰÇ#၃3jȱǏ CIɌO\@F,c\r͛8sެs@)fϣ&y" Х9~T գRU= 8p1A P7"p0Y1ΫPUxZ2׼5 Lp[^,0cĐ LrR3k&9y͝?zFwb`Ajͥ-puFu1[_1@ N,,d9kpD-xm vZs t_{wˇzްKʷϗYS&^ 9`V%1wna}Tx `(PS zg ~-i8V#ي@H>^x3h$K.u]AYm7nrx&"a9I_T:]jTq$-`VɣmzZ:Q~~JgeTn !Q][4zvhbʩe@iY&jag%@uᥚkO]+h>{T,a@c~Rk܂z{RjDUע[u+һAQnew'ߘna9@Rdz@$vcd#c0ooT0],)paXnyH1vMe#QoL @Sjt4/q { eMf6Sz%]I·[#EdԠ VΕ{%%@uaumRSNmj0vWS⊛|?.EUIbgjyG.16RnRQ9_Ω^<6冡UɎ{wD/P; k%$<of>I>X>';o<./usr/share/man/info/en_US/xlf/html/LGAMMAX.GIF/$GIF89a:rrr򫫫999UUUGGG***ddd!,:@` dihlp,`x|pH,ql`2ά LD2,@7 ?&[7~; }`:rF]L i|#ɓL\-$K_ ((0K7u5p>TCOc| L@C[@TlF^$n` >qm@$ A uʁPXzR!+6}P$g$HU" 胱tj~-jZ$a>;ee |ژ0|e\n4`Jv` B(asVh߂_p m!k$E0{#+"hLf7oDbi@ A*VeVh`V?a wx7 D8H[?׭--0 ٲuc9-zCL?x (&Ak :5@+@VB NdMQA x郐; `e16kBl3գݕr~eD4Z,2j#߲#P7^{ Lߤt,= 5JROMRVum͵F dmh;(* kP&$>of>I>X>';p>./usr/share/man/info/en_US/xlf/html/LGAMMAX4.GIF/$GIF89a:  (((***+++000444555888999;;;===???@@@BBBCCCGGGJJJMMMQQQRRRTTTUUUWWWXXXYYY[[[\\\]]]```bbbdddkkkrrrvvvyyyzzz,:@H*\ȰÇ#JdI$3jȱǏ CIɓ(S Lɲ˗"HP@l3ʑ^  2.4eЖ52S$$fx֭v Km">p3#Z$jݺBݿ LFfk1#KLYʘ3k~ yϠ}^M4Φ?;qϨ;*v1H78(ds!ȫKJ]No"c@酥cݤ?-yϫO~{U1@o{e eDGIAHKd I_P($(`$ X%Vn0^I z" ɱ UAۉݖQHG"0AP$ąđ‰y>fQAEm$j4] @BS…TY*&VG)0, B"݉USh;etC@`zURP#HiHAMp ^jybdijV e٬*jK,j*!D<9@º0`@jz2Ԋ.GH՚a*ǫl̀FgH;(ؒ=hRtn9yj\h8As9հT/  9 7,oFV|XpEۖ#+SA.0YD<%ɝ )?@"Q/r|Kv: Ua*QRr-Y&HMWwH~?%!02G"ЅԔJqwZ8Fn#ls|Z7cy-\X)Hqf]')&sj+:8P݂;+,g0mFWo_:~x+Md'D@;K k('$)of>I>X>';q)./usr/share/man/info/en_US/xlf/html/PROFILEDIRFEEDBK.GIF/$GIF89a晙̵yyy<<KdIBpH)F$&yJA6YNveFمR~yHP&T%Z&_#YR;̥0a*BB[QZԞQjF&QY)>5(coN d &;\drdaBN0D7EN9i$ B"X21EcぱHa[=Y)fW>ϐ" Iq!I p`| ?7 j @K{*D 9hZ Rۓ,:`bdJ[ Ӳk#MM8PA>IN:e93c=`ۑf``%+Z WkJ?XZ1d7b hGKҚ$g#b(ZlMhBDl^bQP(C惀` `}sAWl9.Z| T}r \(C ^ڷ%AnAXW-| ``@G( m? fNS3watep@LX Ė FdLfrU *$]AGT|2@*] 4X03QS pl'Dp@- 4o֓4$,B3IVCNY} T8 H t!{\#D yYX [35=asXW)}Z/CA_ Z3=(HLd1 kC5@ Ђ u9sl+^A);A(d \N X NqN<ޗ$(ۆr舒D8EP{/؊*1 2EcpFX>s? ؁1kw8>PC9p9Ah,8}'E}WQ`srR&q#,2*GvwRe@!!"`+ETG֕KEd 4' !yg0 1'&-Upd¥p&]eGcޓxjk'P vj+xXUHS9I#XQ98"QR0!#2aN_(RV(%ؑT"'1-l\N "1õP\x`!vSvӈ6cmV86+bW"%A@ 0!dPVU2&Q@vxnfe#ƕE&,X3c4U?2*c|!3*6+;YɎasw"k*`& <^ii wK@#f)@!! -5q}/X*2iui+ '`" TLdU%NvwE&"3p4 s1QxڔM2W)s-G .hi2/v/ixh\a6e>U2%"&C@0pF' <@}0y{}mf/R?V3P @r@M& L՜p? DBK ;`)Fin6*b^S:plpJp p~-fI):Kn12j^40X?P$ETdEX4"[]_Fz0FPFFjFnGrDGvGzG~4.$HH$IdI4Ttd Q+P8ZzUpWׯ5{ [ ۰7:>BAFJNRAVZ^26eAgQi lp!tax|!a!b: p"0B 78'wU@[by ;7 :r#C?Sc ]-p˴R[, 0DsS;pS:+:G;#s3ӸC)÷}2}bk^e7ɳt  WQu#hE& tA TU _{!t'e(96b 7;>?!- @\R%UxMSTL%@Cvۣh-Zae&ִWYgNlqL"e'g(_0f&"2!qh }TL%,3-VBоtzLzxB./7Ap@)ԣRlG m+<1z'ׯ`p  ;| 4C\A p.P0 KK73TC<|ǜ*)` jL)PA CPbP'pQ%XQfO7W+0_mc P5| 8eҲ 500Y_5@н)4LR[ֈ7PM+CUT7L1nƒQ!T0aYۉc,*VG8t^vδ||vՄ1 M1I0DP=p9>LlL̄˼Lf!4 Ǭ |<[}!)B;A!: ^6e=ʦ P>'~Y>6X >7_wp_O4 O莞q 4 D4$_&(*,._!Aa~,;2Of G1 CD [w<ֹ& qMA͑ˆa^,E1SQpzsSu~U\4 /0Y-wy3ә1% fS%R@U㱘ky8J<9A;Ҿ 3@_}%0 9%\B^῔"f[jvP-{aE?jgѻQux"h 14<~0ʛT]!=$]'Sc/cC`UV5t`T X"2@B@ذ2 \"IjH CH 3@#- SM$HUXA( !jE!` `4 8@Ki#|bR .KqjYZ=Z.(`^ sˏL yG2Eʍe~%uSV> *`F QHQfL.@L pv~ WA̳<.;k,u4mvӭ(|i$bj !0+* s ©R sŦT  Nf(k蘘n"2rVts@&c*3Vcˁ% x-`Ɏ>o~K7 q0 zA᤭3=Ӏ5aά8rtсCaR@  A"s`-Bu໣̚`P=M t3Ql,ךS?Ij?|zONBu3A %uYh DZZlv @xAH}0a*4#u5/ȂP໕Һe{F RCfŇ B)J'S K&&*q1`):  F}4bI HliK,|KHX ny(r@"uPԓ dc:R`T ,z` ]y=> @-\AY"h0뛓\v&AXO'*T'$@I( 4h3Ld eicP:liMY^AA-o  8W9XMڔGء mhLuTG4SZP:'gF8s zW'k_,@Aa [&e,D,lepY@)lgY@@iM Ԧ e-\V1|4XmVbsKy,A>\BU7 p]4d4kn KA k^ ^`55Ae$no!+ BIL [G`|M1A\0NP>!CaZ3#jp/yB?b``Xrm|cX;q}c ߲"V n5&]'GYSrl+gY[f"e0YC|f2Ykff8+os|g,Ym3Ѓ }hD:ыhH?9ғ6)}iL[ӛ4'PgAԣ~Dw5ZՆ`5\}X: C nB}-`@ vd'A&B{D[lgAMmp@q]]j׼5Btd:A1 !\ YZߵs]?&=H nvß݃iS[}n 8}W a X̀͡wǜte: y%]- &.spNPJsTB2зCZoGH G0:P !p*D(u <pB~g:Oj9@<` zvhx@VtW;$w[  ۙ6JOx pW[G =@w$ث0BUHN_30W#A|s__`'@OY a8S;ã3px ;@ .I 0A 0ɀ}#0PAw."b  Ɉ*AB 4i܈AM=smn,Q;ڙB!&ұ iؙ(Oh("B.=pʻyZQ! PYP LDdD`5` -,G3oJHPEVP*ŨX38=fUDSJGL.A?8!F蚯glhC;@7Y h1bBP q|/0gtTA(!4e, '[0#JJJH䅜 &l& (JK3KE1Y8FJKKT r&Ȁl"KGKhʺKd!p`w hV(iB)܍Q8!L`H`ʶ<pٜLVм`L`#j9H) NNἂD92LXEhy4H/9NڱN|ͧMOLtI}nlPSv `&!;LEe4F=Ljo83ـ(P'YC{܀hHIFwIWųX%Y6(\8TOeݠ tVhh=V= .ҋyW:`UpԙUvm63:Ø?:]2eXB{=?XxX4ӤX핅X5+->9ٍ,,NYYYEH`SD("Ab,-ڢ5.BCrYL PZZZZZZZC%ސD(Z@. [2&pvM `Y$ $[0R'SJY0[2aZK"8[hI[=1Xɽ3ʭ܁ܰ (&]J%kD{]uم+%a5 `\}7Uc R ޯ({ކ(_5G5! WXu?i_=+A!TTd ,)  I@ 8 0X`$ @ݚ_֦ !H 0 $%"l "G@` F@A[ n)a8x^~ ! bbAjX "bb'bb*N`axa-^.AN|[yE#:cH& <c?dABNHd|H嫘xM⁉ŊeG[Q )Pp(0A6PacD7ca!a]bZe[G^"dp8-o?| f}Tflem.H9Jovc$YրPQ&\ /Iؾ{dmIu1W cM_E V 5 P5.!II P& (r9aާia(0b r" p_~jN~6kEfkuk]kkNk.l>l€; k궴($of>I>X>';t./usr/share/man/info/en_US/xlf/html/REALDAT4.GIFDBK.GIF/$GIF89a***888GGGUUUdddrrr,@H*\ȰÇ#JHqbhȱǏ CIɓ(S\r0U&͛8s.ɳϟ.3 CG(iҧP[hTjr*הV`JlYfI[hz\ܧ 5]FUɠ`~C6aO'<9j⻋r6 #N Yzekb~fmɀ t".NݨbWpwww6 8w.W i|WͻߖF߿>>_(|& L.5~:AhH%V<@xVF"!Y^G'~0:"W/:a8cV%]@F`sJ 0w"NTԃ;BNNZZᐇeu*pm`׍x$Hjֆ&I O^vTNm:=UU*P~%%@fREhTyأjhTno߅mYI 묁JdɊ:q$K일ʥ+Pxwj-weuQɔtb={YR4Er,oQ x˚h/߾U{!.j!K`k yzY-yjʮY !\ҥAMk=RM4FKd6r)25߄)X!_b2S5a_iP*l'1PT'WFES²ȡW)ZG}Zow5eYF^.sTl'VXi),^ht2NZkWqHJ㼝ПJO5Y{zVoNS^*X'/d΃$=؃}nϽ`⫮|>@PǮ]_:|~H`0 YY ȕ}$fFS"49Pva) U[(*:s }H_`"Xjă+ GQ ~ $Ň|kEIq:bN$,u]TIks0H82QK =4DnEc#}^3Uh[Q^P.]̉!)*^&Pǡ'|#+GzJ}dLIFb# -iZE.e&ʑ$eN)ք9%Q"ز$´I @@T/eH9eh$Y@d(5h%LviRAT|ɼ$7ň$YLLQ(gHIƙF19;yL֝$q"k duZ8%Ԣ!&RO>AM @ȞdǷo>ruhiKrmo3iDH.0s@:JMhM#l2{!1AkSO;^EA4aX6d*:O b|9&z,Je1bK4kH˶$I>z0ӎil~x>rkeEGV{uMRDePp &1w>WHQbz1~D_F^}yӋTlk|)ͯ~ $;2a kR)$of>I>X>';u./usr/share/man/info/en_US/xlf/html/REALDATA.GIFDBK.GIF/$GIF89a999rrrֺȏ***UUUGGGddd,@`dihlp,tv|:HHlШt&ɤD( b[S<"8MշEm<|;{$~u?Gt>b= @(_C FY2aI0| In5lH <6] % $#(b0Rė`KAԱX C5d^rU"-.d7;w,HwJLdv ^r\ ~1Xx1]N>n8 [hMlأ,!QHpe\v4B#N6 g/G|B+ϕ\Cm81zE<0@G5a2C0H@.@keqG5 ٰ d#W Ӂ2 KAbV( 䜪BrNi'H dE:cO&i*@,N EjQ1!j)ߺVdn/: ~Ҁn\J[ꚞaEjIΠ'R PlÖ<|%KI.XLS,0,4l82|2X?DLtIF-R9JKk 5L _-/U#^O lfAvfR`ܲ/U&5C )P\! 2*dGVHCS ql#oزr`!tx(+wCn a׾ຳ{^DA@opEm*^&AO}I'PH4)Kē<P>0H [6w4(3F 0uFҘ#,0bP 33ö4woX l.@LMX 6h q$ Ixq#I^dLiCǔo_p+S`OfC:/OCkhj A7 (V> ,@6y RAy5 lXb|aDtI>X>';v./usr/share/man/info/en_US/xlf/html/SCOPE.GIFIF/$GIF89a???///___OOOoooŷ!,@ dihlp,tmx|﯁pH,Ȥrl:Шt.XAuz*mdC 9` "X& Xy`$b<6)A%" zA$Bu " uu#:%':rhW"h  f%h %m Zÿ4;6@@DYG o EtQη, 8$^?o&SC%0X0%]$ L(%knPFqu37E p ž48`Yq;ӣ PTrp#?e@03\1pZXEW<0QlCő/6KBHs@' tꩨ ʢ3cu*5 @ꂩxlʃHQ1%_Z`c%|C 4 hSH!ʞ 08v%B#j / F*\yNby!{Xim Idi غp;>к͋يf#+X ՝#+t2ViJM~à hGKҚMjWZ>.@>[KϾ<]&&R*>dkj;,,6UJhz.f3ehsX]g_"bƇRd#+S4:2ENVYlb}Rơ Jpg(>M@ $?L |E_ PBEu8Du.LiRN䀐@BPD=F!AZB W 'Ņ[u05Z$4;ej~D2-V4<&Mus 3"*r̸fsK;/o( PEh0[ G1AV 38Fx7(hFY(GMRԨV¦4:հ(ZָεwkU{a!R-q<:mOyZC\P7VG2{P7] thGyՑ}$oa)CGOқOWֻ60Җ:I~W啾ם{9Amo1QY K Vf1O3Ud?8D勉Zc/02 J *S0.4C3BcEBLW W$4^j#AX70 Kjq%! poVy#vD'×pX0`7x[1@@pVs WP/EPItt=ygf t@2NP qKgcFX /#&&XdXR@^Pd*5bIJՠ R"א#ce%_8~8֍HKxl5pY~16hY%XDs VVl&xM@s=X>K#dT / ac M{p@ʖ\`'f=;Xl *BfFρAք (Mb0T&kØrv4y!cHTI)FYTy;ubvtjP^^ *Ǩ78 h,RZA@#-\WL9, @bY,%*t ܩlީ09\`>+QB1E]$#BE) cBD~)!KS(40`1c"-c JqT1%P 8.H!dA^U"c8L;i}s # v[Bz٤Ķ6HѠvfC9b J'nF1tJEs!ruc9@5!s)JU(x a !4T112)P{{&V0Q1"EGI|l"jWs Ʃɂ`0Vhd'|^kR*\N!.e+HL+,.5<*! RhPLNTCU1\Pp+0}Hz GFD='Rs F!!BJ[S[* PxrLODM )EQ̨S 0R5ukxA**SڔafGU_LK9tliXg 8w8="[exW/m Q{Cfy7ԩ Jip:bB1}bmr+j4c:V /XB%v+7.G6;[{۹HjV{[gKkkԶgwr$*{9 4tgu"PW7u  0uT ;8{T"562B#!YihR]"9;>ҫ' +mWUdvCNK<j">9fOXdhÐmaABVAuIV#3rU3mrSf -ٖ=<d GACܛ…咍FTS2TTPD0F"NfC%WĮSY?8fU ސ":('J>f?Հq` +з 2dP*?ឳCǺ?gehYHm*e[x(-iP],;#LL%ueP<_-eT5 :]Sqp?J, dܱ=-dp S#H *G x%X:I,,rZ.?1!T[Y%!aF{p@c FxRө P7ϋ[̅&A ~Rxl) :R$#rِ೨! /s5 "Bc") F]M_!QTSvpKyR {`NSZd@SpI-ޣ Y~T}Gq > S5%qEaWPf9_LmXcLB<&aR m4oL NR whcaM0> b{"$2ⰽC SQqLjчsk=?:20![cIo r+srKI[H%xᙫE_c!h88&F"g. r Wfm%^ih?u@_]eꝟ_6|h 4X(,Xm*4 o uH 8i*A !BD˂! 0d&@0Cby(D1iZkXe[R}I  &$ ) V*uu $RJ"\޺n U8X12@D41$,((79T0 ј1 ( Tci  X" (l(hE>naLDCr%J\'Y ?dp7b nX@TP0"N]HL7"zi(̮^Ip5U̱j\`V); vn> Zae .^A Nx1ƎC,y2ʖspI6B-z4ҦC$ ٽ έK`2 \A@kzG(rՇEpO ߿W/a[ t8b `B<5#J[ (°Uxx74Ph3Cv<  #?d䈃) x;'?#Cv8 oIB@&0i$gO6IL&04t&zB"A&bS+#h™ϛ( q&鏙 hzzNH$(>s`Y*PJDҖEK=p&H9Idz`zfN:9u2эGE;-+cJ%)T6L%2m5mZX--"i>$,P t (bllX.եᄣ)z% b:S V;|,&ށ*/pA;X#PJ + '0= `P! TAiӀRG ̈s&/[^c˙P D<`348h`6Xϴ MPO8A0 w%萌mj"x@`E~lA`C D] z C̰h`N5>@/А燔y5, .#O[9C*\0й߂ SE=9.h,1v* %"=y=p[ n-Y- 8C !*9n<"kڥ; `܂5m8_zgG`rT_3=@$p8vB`O0Ÿ^h2`=h`9q\Ϙ0{3|ZT,QzM bâ),ka= ] $Ef8Ȳ`ׅPk|}R \m{ȣ'F1$`D$~jbU8/O'EQE"%L f@3}YV1#% >Kb~6ee%o,|9(pQ8*iU `,n;q@H*IN0ঐDn[EvSJ<hFf9f9AC( e~Xl4PH,,g| UIhNIƒHujvT)|*)kpce%X,plbo r  YT0I>X>';x./usr/share/man/info/en_US/xlf/html/SCOPE4.GIFF/$GIF89accc{{{,@H*\ȰÇ#JHŋ3jȱCIA&@G.c.peAl&Ο(W ';e*5IsӧB)uիXb U+W^+I(ҁCs<ٷmr +nIv3⍘-M;u+v"^Q1㨏#K~xe/crB3^zH^=`kQ-mo>up_Jo]0ɢ{Du?Yyc k?ys`3wjN;֊?dѷx RS|iyw|wrUuGԄV EEg] hYee#{FEea L(8#PdNbU_PLRU/d)ؔp瓆wqV _ٙ)GFWZW񹐞_)#Pq}Ggrue6(VV^aZWӦnT*1ݚ΅`khz]I*ۯςFm:Zt+k覫nh٦mKnu*br\.-] ƕf[cyۧF,Wlgw|qi:,2l( 0gޏ8) Js swB ?m/Wi lS[UU|uֵ27߸{B[w6Һ6V=](HF&CލwP^owpW*bI`݋yx_7+ƒjk~Bt[.U"G;Ctmcӧ6%zͶQGH^:{kǽݹx/p~g٫kp hl8يpDܢ4 -O9w,zeL!F'ZG,чJ:H\arX8 4P?$_"lJV]0TBn)Xh3( ?0)RYtr>OL_E1k` ɪj$"SxEƑ)*)FH>Ғ.GAp Ș)r ؖ(:̕ZNJbRmt-R;Ɏ &(ER_X-\B׊0j嘧.5If|d95m~d+ ~6?'yўC'>'z&siYO]*.MBІ:D'JъZԡ\RfTwO}bDD)Q}wʢ*F+bITJSTLfD{2a 2N3ʝI2cThԓ6T@K,}y`BQ%_L:^quH>}<[A'tʜ'Rjĭf^|i9l".:L>jY>s;ևkKXNo69U nhT NRʬP*[a{oA ʨ˺NūNe*7-ߗL3"%cz-]0UGl? \`ߕ cM#Ƀ%k|Qzr=DLVZȨ}*aSWDX̃(TL\n^ynuKl'SXڢGL;?5Y cyk4>tgnTdۉ߰ћ}e\3n3\JX_}晫Vy]*qsr]{<;9ɑ-Vryܚs<y],Rptq]۰7yo<:Aج2KV}NK|u I:x^TwKnq'3#2>Ug>r׆GXقlg63tQWy5KS{7z~ܬ|z3ûY{xtw_W]xRŸZ7ɽvo8=TW|->c}?w]f:"=$_2c$!ny_cg xw'(?iFqUjXSOql#@cY/5IkAfz%҅S6YɦTĦe%(bS~tZzgS%=?儏Uأ7m]3RfsA8ĥhPӂdl7;wr3%THasmG}&c3s[z:^"zXwfG^$|gaт{5^wtd~M[fRE`_hD]%^Hh@}.d瘍w3XSUe6Quցr?H8LXLulnX͕P,ĸ,lHD5 8 0)|Lav!'W&kk)RdpVhX'"?XX;L8vTo $E3"__Z@X&Kpӷuy׀c)F%I{/t9um%b.i+IyrnxWi&qb4NcZb'Xy,ȈW}\\6t6敂#S2ncq"99vVUؖc}4Im.i2@ItFbًd|ِ y*PdIh╗z*@s(8Iit^t  zDQxaB\tlşUtB?w]VE}YgKyShEǓv3LZh8WsfgIVg jL})% Ȥ}f2-ig:&^mؤJ#w Tۈ7e$xb(*H8TyʘkZLGV٦[ϣ!%=5hňeX*mz] ulʨE:i_;)5l)i©9S؝!9jJꊸA d*(ڢ¬;١8)i?*qu2 $jH?Th$:QRh+2i PK皪J۞O,9 ٙ.z/.֜y5;o=+:uL=(x-Z)IrV%5aʒ׺J_𩴣V'o)WW8tKFokvv*~9qHaOfr|L糁rsK; kV,$of>I>X>';z./usr/share/man/info/en_US/xlf/html/XLFRN250.GIFDBK.GIF/$GIF89a111ccc,@H*\ȰÇ#JHŋ3jȱǏ 8ɓ(S\ɲ˗0cʜI͛8sɳϟ@0УH*]ʴӧPJZ瀚Wgf+ͮ^e9eٖgYU׷ZʝԨQm o_X֯ˆ*^Ӯ<,ʖ#̋I&A͸iotk7_N,[sfha>ͻ7UxYu}kj\s4N]hسkνËOx77]}ș =yW#uϡ'{^M]>`t7N_XU ($wM S8X0 'aqG^GxІ=W W6D" &:PH*ZX̢+2PB2e'xHdUf?YO¿Ω%6) ,ILt1ar52rLKs$Kr*4eA[ňrfNȲ&qfDR ޱ +NrQX(K5>\2+g5ruG3*D5'rVdg,yVlI>9Π+3IYwLDSY{f4O24AΚ-=EC9MhMԧ&#j<:xFso^:ңvthV˺5w e7 ̵MT;ټsmcsϪ-nlN5/qЎ7mny6Pop{ݥuH|'Rv7n9(rR_lj69:j1%|F򣴲l/ pJ4RéDzGXY@P ֩SV:Vr}ys'RNCϋ_}].9 ȓf-rF!Ⓩ-4lqZ09It}7jgsTp_JC/nmm@>Y/{Nq鹱-Bh򉿜w/jⲽ}.v@N9jb%~)ulOGwԞ}2?*?X8 !b~C"RWxTyO|w\3ԗWw!evz[N'bh~\ԑ~EvV 5$}'}!zƂxmw/+O(|7,dy_&48K8qyUEYb8X7vq#\XAQ6S;+HԁQg6M\G*6؀xGu'>؆R;D7S(8:-ozE__ȃa!^􈐸j=%/'cg7thGV(YVޓ#7Y5`7.u]HUW{L⇲WՈ_(H@x~e"<I>X>';{O./usr/share/man/info/en_US/xlf/html/XLFRN251.GIFDBK.GIF/$GIF89a,@H*\ȰÇ#JHŋ3jȱǏ Iɓ(S\ɲ˄"|I͛8s`̙>ڐB!#"=4ĥ զX{jZUESu lױbfuhv`[iJϯdˮU+w.S&+x0u[-Q SdE)W֌бWŠq2&8g+PϬ{v ;moͻsN#+5m9W1 NPu׏Dz}֭k;RSȼzeB~>gH{aqxgAF(Vgeu&ia|h'סyb0(㌤Ihp җ! 㐋zuHcfi(%G`G$/^%_A~t[bidYna9I~(%=V9&-f|ܝC1i~6#zݚ]n䗅'[P!)JYWf! ""zj_*Z꫰dS19bvvFۍ 8ik&@2쳣 *ekfbjmf՞$F֮ކ.B).{隴Kolp&6/o{Cpklq'jz*ʢYn|E<+f@6v;Ws^5Giә(r R/UEuE̩s'׹-eO&\YKst]ܔuqJ束N[^~i(M6kF[G+wUfw6W ՟t_hS8Կ6v^>zMNr68823uޕ4^j;|N=gOf)~ѿ/'ߧ]t>{Ү7?|-"HA=L3AhE6*d/b[TB,|L ]B-\^QxC:,` C1GahD&N|aX̢.z` *8DnQ4ocFUn 8G$Qt_9U4d Gqc!GI1$ !Yq#&R{*/5RZ(G99xk*Z&v9\垥$D-L&fn~3wG1Z|'\S<[6M0h ^߀gS]}LYΞ/~ZI xJWD6ql^1L$-;~2qRӖvO13(%P)u ^)Όrc :Km0*RG:;GRjJBQ~N}.1Đ΀@_F\1)6tqCkZֹuj ր1UT3jKMJ{UXWϥGuQbN";?BklEa9cum`y VU.e%:vӬ<{قzkOuhIK▴MB?/= fUr^\pegSjmoN! EiRwNp_Ekt-wT{3n`]w<{`E|8.#=!bٜm۸x5[l@L"H~UwdL-PNΓLeNX.IRu0Ǭ[2Wv(Oҳ.^3HPғ͔ Gb1y?́ gg@s =]>(9iGAf;}GSϤVXsiņ7)U?f 539Say%!% Ud-uW68;"HqY+hvNM;8`6x8^ӐTUHlO87 3>`X`~'6b zX.)xcYQ ~Yt<I*Sa\SvQFȳ&2ɓrLvh?a}%S_F/yec4ՔWg:^wV)y~XY{QxQ/Ed+-ahYG9vYuLZb~E(Tc3YoXmX銆{Ud`YyscXLXW~dVzJYHǜ*dXG904b cY幚y`ٞ8yYWٟ ; k.$2of>I>X>';|2./usr/share/man/info/en_US/xlf/html/XLFRN252.GIFDBK.GIF/$GIF89accc,@H*\ȰÇ#JHŋ3jȱǏ 8ɓ(S\ɲ˗0cʜI͛8sɳϟ@ 0УH*]ʴӧPJZWgf5fW__m9eYgj]˖+ʹ*NKQ6{I% @0ox1cu#KyתbfŬV˟7=ӨiVykϦIǖ=6YΝKof*qMyaͣj\AcνjOɏg}7#V)FJ矖fa9e)O^ g}y*jM~Iz(_ ޜknkWp6+9VYe+~+n.+.nZ{ږKL릿52キlplc1O)k oLq? 1%2";2Jy&K/\9첱# sm4*\)X~ ?>P#)R["^Zw5z2S{tzk!Hec_qt:f}x6ڪndqjKR; ޓ\jn3tQmbcǢJNk;~9x.6 9|#\yǙ:NoOprGݸnbڿ_&-|ǜ3{˻ҹFp~=ݯT^_vY=c+^o'yKu롊V򟷂4<%) zp^׾k!< BKn?s]³/ 4AtCЇ3 "z 17dz%ZΈG'Jщ0`F*f]ch"c"6hpH:u42jLc 9E?,$"XAr #RD^Qb%#H1 $Eəq\$'iQ^$WyTr*Ii[  G@q09ָ-^T1*Ds13 4h+ )rfLgyS3(]=PWT'т)Lt8&?YW̧>΅-?MkV<͜'Z'a z(&z&td*@*A~:)SԨ#Nw635w6\G7ewͷnl(Oך9oJGA"lO9qL籼ּNF5-aTUJrNc13u-_BYl_+Ӽ;=ePV+HR7~lS^8pT~U]}0ZKfI!e I~36ؽ_ :5a +TjO׷!IrypRZbwvv}O 2>s&KNrK,*+VβSe+sR2,1/f>2dX:>.3I8xQ[]yys(kQ<ZЪ$t$Аf4XDÙҺsNZzφ4+A Cczћ&+]jQ:ԩ~_}7k#kXqqk麖u ^z2̎Ml\7[ٟ&u.!:l`[{XQmgCvML[lO_{N+Mnl7ͽnۙݖQw|ȦGmon!nx~q~g| )r<'a~{4?6 G_l]39;Vհ :1s07qR [&53d.Ҳq׳v'wn3=/1x }>rEl+q$]egO? DRZJs]5c$Tg,Yb?^֏:i1j]I]?OF>r}н߿r:X cv]WB}v~Y`}lcigX8I7z'c|}=VMz:Sjn*~6`$f6'~ 6~2Ad%)*.}!Cu#Eu>bv=56]eZ&hlwvWɕ{u(sHwd&YXa+T;:dS;؆҃p#>bbr?((+~{RYG-FtWq(cEz/(x؇l; -wlV3}}xe;T(X2WOyyt;v,x67VuX,y聉w\1V85]&͈"Qd6xfhe4s.-K.W}RfWLe~ڷx#v^苀H~8KbC(V!-|ӎ3Ȑ9R<9ykhid()"ubHEM"`cvx`%unfa%U^(IFhfo;H#aGҍ慯f dhx~:8fI>X>';}D./usr/share/man/info/en_US/xlf/html/XLFRN253.GIFDBK.GIF/$GIF89a111ccc,@H*\ȰÇ#JHŋ3jȱǏ Iɓ(S\ɲ˄"|I͛8s`̙(bшG&}aӆOFU85aՃW݊ׯZ̪ѡg2EZJվ .OK@kq:X6R ``[Ŝ3TÞ 4N\-J֦N:ΨBk-5 N\ȓ+_|u77]:Ν{O.Y>':}ŗ7/^w򲽛ߟdVqne DdEQ5Rxq`wہveg$`(Q0c,z7|!9N.>4c Yc}!i#UGANi%i!WWWBC)]Dlv(rY} tyRv.ߙkf5^"ҍQHa!9nhY~Jjꩨꪒm>6J~yzb˫&,.6$bXRV-iˤj-*Iܖ.Ժ[/(ˡn.x+p[0L/Ke ;0{ OosF~,ȦI{+U/G#Jҙ|$kr8Sȓ~d*Ktib{7/^꧖Gk o6`Cmcqptyr3Wߤ#;d*VyXҀ'vG(يkjW.Ks@AҩNj}TӜ%{z>[.xsλp/o+gh}⥾_4o>+ Qd cq5эAԢ6ό, B6~GBre\y8rцl#xE@"Ru$"sB Q*^>fLfH)kRYrJK[";!njo6^ ɔWMǽZoA,M̦6i>IdKj"ytL#~V5i˛Cr8eNe]7H(mY'!rjϙʔ4͡$ǃUr d( p]VUG/W0gL8αw@L"HNP戉LLX2-C^^1|1yS"/3FLS};|I8V|)HC r 8/Єhg!{t7 iMsӏvQKvٜg[RբtaMjסЍgMkYνnA:֮uk\7ٚtng]'ؠ5la/ؒ+ymvMnu>6]jt{:>]xMoSGxmw wNu#qJ[B8;H3&#ov<?^p;w9[]|%8'{]$u%c3[ē#.ML*<6X|Q\yP]ٺOQUywCXN/? 47KO:⽫k-#_S޴=pޖOt\[tFx_6 nS{(q`ΟY7כelym=.q٤= ~˺e_>١`?jW\ ɸWx|yU6[Owzh*W#CN͔W Ww&#{x@7wG|XySX43WU^}'}XVT,w}jՂ.V6,ܷL>u%Q*XzG:Dz;l~^+~mba87u]>R.u^DžaCch1eh:2ZXX:U1_EV_tՇ~H(ENghx ZrH$*9)z8X_#+u6vM8Xb'F}HdxsXqqh#`<TvVug}%Pʨ!XwY芭Hg]|؅怤COΘN0ӉȉQX5+gcFTطf&8󊀃6bJx(b_(?&Up9Zؐ(8 P81#I J(yy6H\eG=aH`玢OCT*DQ)'J䤀79Y)P /\YKHiW[ٝ)m8Q&=虞y'M9Yyyc; k0$Aof>I>X>';~A./usr/share/man/info/en_US/xlf/html/XLFRN254.GIFDBK.GIF/$GIF89a111ccc,@H*\ȰÇ#JHŋ3jȱǏ 8ɓ(S\ɲ˗0cʜI͛8sɳϟ@0УH*]ʴӧPJZ瀚Wgf+ͮ0;YdYmVe[gʝԨQojm\vdaK&V<:ZXme}gp~?LM73R5װ/cMڠq6ͻJgU_M}kj\d?N8سk}ËO(ϾuG*QC?j)Itךa!W\巠 *h`sw^f]z ($T( bM E2`r=-yL6dRJΔv=،C_tY%8i?n%Za0&Tr%\[yۘ7:TD=#!(,(.Nk)f9 X22ijvTNu)Hft^Gƺ>:F+▗Vl(J1sߞ4"O~kɭFFo湫 (9nR{-b J!ww},$L(wq,ghuͶ4='8KʹB3EtN uS5QscS]vB][M`vqr?R0!|1k3ӑ 8.SߎG.9]08^wy}|ي/ ~8q^SD {c{#h80َ A Jr{ ݯ1ҕ@:9(wx `yTgd$4۪4g&s(pdlg| w  {Tjsö/~=10WboMNo2YblxTsBMo:ipLdaZosww>*Nϖ.nW-EtY(f3МNIQml:8>mj 8HEy}~yۛ7ľk}!J>¡R8#S\3ZQ*Ty E>t:J3M?[tWՙ|`ӹ45?Nu_ء>óe׾zGd}l( oxng<O]xgw+>9~yZ^v:Џ;#^x{s{꾷=~;c/?C _ݗ}fw7q˛E#m#ޠ{kp\EyAQT Hj]y冀33Y& lxtE8w9BaRm_2a=qYlK6il_4m0b82YI:؈`v؍`ՋD2H"DͶPhxf&JɉjI] $r^B8T6e2)^:OQp8MQ{C Qٖw3\VQSLcQ"23;kl(AvU?).u˜:eI Ci"-^/F'֏HGBD_h:[eyaȆdl ɓpf"bLS~t~H)^&yf&n;]9!)nvcFfl㇐ UmqD`viI$}wo蛿pzT=@wjY.)h^[؟m8Ga9kz.4. /钢U/嵡. cr5]V晜8I{_:"d ) )3m|8Bg+*Yuk>] b,66U'9vSRxP:YBwjwD/IYӤFu :Gio~Yv]DZzA{I`̹T(JGhgf_hJGjJe蟈 c6yz8l:XԹ=)"hʕc;6h &-AԐJR9HzJ&Zh5GeTyɡJ%h nj:aZn`ɰڙ&j(:jCW+n2-&[8kof!B;D[F{HJL; k\1$of>I>X>';./usr/share/man/info/en_US/xlf/html/XLFRN255.GIFDBK.GIF/$GIF89a111ccc,@H*\ȰÇ#JHŋ3jȱǏ Iɓ(S\ɲ˗0cʜI͛8sɳϟ'JѣH*]ʴӔBi95fUW_fueו_YU9ճh,ӷpyFJ7ֵxz6ݾasޫb ~lre)ݚ|g#C}y2am>b֭]M{e远EN *o|>#FμУKN:ֳkν;u{OzΫ“r'ozu{^zWe\_pVhfv (r(1|G&߃z'a@)KOd;bI$^hTf)Wx#bNF$zg5|r_}.m2fY~sgAa&'iS(i6ֈfV%) ꨤRӚTg\ɢ\i&zejұ[֩i֡NkԖ,V#Z*m+r,}7jκk߫8mze>+6+G,NlTqw1,r *l(hɆ٠/+2-h&\3=[;>Mt+|T%&}6,QK},ղZ}5JtU;6\o]b5k_tF tWgw 22'k=M7ҷ^rW>KEe) pjy4&Bp撳~cYͺ< 880ܿ:oHw3]y˦6He^yއ/>b&N _2afyrgJҾ)h D@/'4`XTEo WX]9S+]ssWlXBu,ԉtUNg_w2Ğq7)&Q^'rPR:¬7@,^n gGxnjIH!V}Mjk[Ȗ6QԲ7m2%?9JM,)9Uc(%Xo%.uI[$e9&uL2f:Ќ9Ka2"0Mnb3&8éJPL7׹Ktҝf<9Ozf6)zS@ 9P hC˂BԞ׌y}i0:n%ʘUo]si36(Nw'C"P[&@rQC5Ӥ:^ }TATPS)]F(5PE t]ٔrU_WuQX&oF# }NfFjD.Y¸*+j WB:΅ifDb˭K;lm]7>`QkX[$6byٯ0gjp9 {qYu|mlW'Z{ +jݮݐ*\Mz={^͑0]IgZȊt+/Tf-+Czִ:]^2}G]x'eς`digٽnX$ŭ-m*d'ۮ|YnJd+FQNF%2+Avn~Fҏ*rѕ %1<`6@_ܬme0:P+*5_<ЉJ2VXff͘`OA+ >?{|Χz'TsMwƛVㄍhv8ZէꐺՈS]nRFkd(702ch{u|{l(6n~H>Bt~ 7BV&a(v/ȂJi&eT!Be6؃E_:(C8Ra0VGqqfL(Nhp+8&uV@z:esOHUSF\[4\P _WbnBg4W\`#5=S(LkC~F8UZU}(3SCGnb+sjwxzn*fVoyYmF:e v-6UTl1H6%Ňvmϕ,a5+C(jwQ`؄X}g@2gjdt#ZňVfqDX=[kngm4/(R߄Fs38TX?ՄahbCXa`X…HE<8ߨW(ieaIl ƒDe ((=<0=8/jF\ɍ#)cgik%xxYP;ZfAJpVe&[8wZd'o*t XI3nirHjj֕Zddhj=U@Oɏp#wka(\;j*?6G[ɔMp9'h.&U@S a0Ն eÑ>xY#vef:FALԒx Uf,r a6Z Af[ ^i'Ih9kD7QfiEp m__vZk)Uiɛcم:h_((v-"ҜD㹉dG x\C)$Ƞ慫]X"c4jf29$ECe98v'֡ve"NuTI!8HE ,mhzy'2l>y>Y:EzbNX{Z%ʂ8D$Xfe69I?y:;1ƌ>7F)z 0b>dz =z&ƥz14hleaUrUgRWZDzV覦/v:d'zqDVŚgvJ[^TMtkj ؚ Tbh;֧aIGإp2<[iFB&UIWhgK:-X]uİ;[{ ; k2$of>I>X>';./usr/share/man/info/en_US/xlf/html/XLFRN256.GIFDBK.GIF/$GIF89accc,@H*\ȰÇ#JHŋ3jȱǏ Iɓ(S\ɲː"_ʜI͛8s< FF C6Tҡ&jՠX@ώŠKٳhӪ]˶۷pʝKݻcՃ .8`၇&NX㤏!G~:y}f-hgɞVfxBƨ?_^2E. lڬ#ŝ7a2Mȓ+_ÛK^7 cνoQy 7X᫷^mח>y'ؚOe`uyQ\{&X~NzvH!E`WgLl-_՟2bSr)(NN8"K;ySG夓eZS>)eh3>%$ן~^ޘ1l9MƘ jx$\(}[zY|gIA*6hx>:6ڠ$I{ Gm!JڠUک醭^觑Y'@F]%I:.ڥrwHk][QiRlqJn+$uK.k_l~zm^̎|kK+쫲c0h (Z 1e;\1iSfq1w\',2i|!*3,33 7Y;1s(3Hl4)3#?3# M~FVGpR&^ul{oTV]WElz?v߀ۂ$'bJ^ӻ}|i~|_ݹ̐9C[Vi?SfZxEn~>TsV:yJ:n;)z.Kz'+.}kCr8ZNwVڟ[>y/WTkZZXE+|z'o'76m/PUlZJ~t!nz^k`#dwBh ըb q'PwDt-t@A@\T;6\3g1\e<5Tm|9qMXq9Cр( _)?L4ȣA풏L$"7H>6%3 Or<%*Surl(eY2e-m]z,)CyK]rDf/f*3`05 e:Ӌf1MkrϼFO~<8lӝ:IynL;O}F4zgji~wLhhk)k)S /#-cV_Unb9P 1ы MPҖ.Q ID(Bhԕ:PSI>i`^jܒZ=O=TeTҡaE)DW#GLz더 -V.t{HV"fo ` {YEmr.~ucV2ʲ,VuFyItXERC+5?CU ۏ5"O'j oӳm`5+UЄ,̑p[:`=nI:ݎU\e&D2Qق.-sG;D*-xLJLj<)k;D,5x a=jQu5鉴Mj[ζn{MrNv{Ўt-zKηqL~ N* 2/(@МlNM~M8yЋ4x=5L(:gm2<?Or!9sx;7}.zCwzۙgMǺҏu|Vz֟7<$'kntٙNCfz𹏽*mv]<]}QaJN||tŷ=@?͛=yYt{^<.<)yݿ>]7߾?=aOC\)}㡷~|IlWs-s&˟#Wud$dvw!cb"V&|bC~zr=ZI~8ցo 6$l&xd7!eW&^Vr}iu_Ղ. 0`?"PX?J8bL(reU^wU<:O]"fU[Gu9ڄ4:cAtbTB^IF&fX8dXOw;O&&=&HVH^Nefd.lnGhF؄,xuB(sfTpHlVCW2BeHcX]5":=2Aȥ`jw /82xU\ZuTaHA5V(%-*F-Z3Wa!iȅ3Y~B9fB:h-bv6hb<<Xa^hx9DgI5HR1BfaOuC5gkeG*ihQG<WʢI>X>';./usr/share/man/info/en_US/xlf/html/XLFRT257.GIFDBK.GIF/$GIF89a,@H*\ȰÇ#JHŋ3jȱǏ C\@I'M$ɔ/]\R@+sy3͞RYiXv)e\z\^9F֣{XPkC]v&whxuw{'H*蠄yݟU袌6jZoUj JI6_8vfjqEjyӦ>mI+Oe++*찼gi6;ZLTȬ64sVku{պ*g@TZ.Djg[jKmlBʾ*aZ:bQX^d\:.]&0CQ1U +WDNif߫ 30˜rЮ, 2Wa@ZI3%:} ¬fXQK ^صPAy6.SZew6]%|v߀M7&+z6.6NS`Lj9s褗NgBA3$m.{'u[[óR⸣5#7/v_ );3aO觯_Өq}i^达~ۿ eI{ڑ7{-q[v H? M/+x+)u{#ib2x%MY4B$l,~,фF<ے>v u[b3Ŭ(FB%CFB+NV#nF^).0! RqKx pΘ΍1^44(q,Zpze:_G$-(LW:CX(\4 ^)dȐ< 2zeV gIjn%I%@]!jw+YМd:{%y+V䜙 nړT=B{vְ g>[…V@!feСC\"FE\n4Fh|z.:seAяePLHADҤt =ZWշ Stb!-ꖒTkTJժ~ј-iƭ..,j"qj$V) y$kЬCITDhW3@M,'S Ʊ#le,8*ևF%/{zhJH^Zq:>ӟ#)ϞQi8POuUP8x˭*mu4'9֜bmR TcXhK72=޻ ]`,ZurMb_2s{$T^N~ ,8*nz;wXYC66Vԇx^NqNţqN=ZI˿4f|!ݸұYLחȳ1*/;PL.2)֮z;z"u&Y +w m?|Xvٽ~[x l 94|pqJ}}=r>6؉Rtx)/_ñy屫~{$AlF;8n-ZC05ĥ]!f/NLKr;_ܲ;ͺYVv}a*I\V;u|1r{w!UnX4`` Or~Sʮ6M2Sqwz=GiFpp-ϔӫ zHMýM\|x7gT\ӔjG;?&)gh8X5KM?{4Y.!HgGf:w$u h8yX χUM-u3F"]#?GSWV{LY3~hfP2lh=gGT5hAt5!^n;xMZgTsK:[VdpgDzHxV\FēyV(s]"XW?^Նxvgcx{lXfEZ/5[GtwX8b>(eOs|Vp،.j/e~Cp*H!h{)U{(%^do{1ճ؀EȈg[_XHiYRxȏ8c˳xhٔ-x#V~܈wXE`E3c~Gx.Y8gd(SNo-'>@房uy=$ X_c,QG-IxHJL^ר=RXwS~rad4EX)8S(:YzHsw v芯Q Gwoɛ;8!`R)uSTXjt;(Arj5)oFJI"H՗sW9I5)fk9biK:yi`guJڜaCgOuSkm&YI<vǕ$km7Љ_'$xb(eEis)dGA*gFà`bg44c^Z(TDןMx0y\hɦg覔 (XJeyס9C=^ !BXbZfzG..8EVPWD^^ևMqse*%p|Bj>N4[p1,Յ7zU&jjȧ)rB "_PzWGV~VNw1**ͺbzZ+3Zs?N/ztC´M׊ISUyԭPEʀsuK~ʅ1Khs/GYry~p_xȸˈPIC{)6@SES4Rr:|)SJ |ʷOٹzJuD*Im~Wڧ+p_ָKK巏!8럄+yKn{OWzٶמyiU |ިjTuq~IHߺFBz?% &j7nzH1w6gz*g^ox6sv)E,#Yٺ$!o_ᦱ1[98"$T:-uHyt2Jhnh׳`rvʹYlӄc7@HYR-F2"ן]E7=3=[ֽ;lgz5]ysl{r}]}؊؈;ّ-> kr4$"of>I>X>';"./usr/share/man/info/en_US/xlf/html/XLFRT258.GIFDBK.GIF/$GIF89aC,C@H*\ȰÇ#JHŋ3jȱǏ C|@I'M$ɔ/]XJ.WꄹΛ>{JѣH*]ʴӧPJqfЖ?yܪMVKٳBaحhʝK.™]Yznά6֮꽩2&6ieɋcZf㚙U,^`#^͚3V# NҸOfL *ȓ+,Уw^NrKNQki;N|q9jϾ '\}owϡX>>xZ~r|hZ09~̈.[tԨỳk5`,= z\dS׶0V#T}F1񏃣`4(%PfZ5KGAњ{٭o HØ}Q[ 郇!V1rUs>ǹ<~F@};#-J/KEjv3.,k $aɏWFHXcD5BQNR`˜(U$Sb 5jZ&3KtʥjX٪U¦H f4# 0/92Ӗ|]ղK[#L>2aGNi⭖b<["%iNuc팧<ٔ[ pR*9i seԚAI:P§*ﬨ /sJ JBFGJҒZ!+G(WKXFQڭd>nK0:@7FTS jJԥ5TtĪ03JXSt*4>H0CQLQJuaͫ^׾jՆ+2Xzhf6YD#l&IɊ[ԼhX%| f~--8GuUkj˲nQ]cvr6Km-hK$z)H?7s+VH(㮬B]l)U6ѵet]j7H{*ᥦ5[ֵu%[+vI [^ՠn`Fʽx 'T0S]Cķo"KWO&MÑ.S"j ϓC7Y2_brkâMnd&͔(j.m|5Hw'S茛%DŲYr`Y dYDȥ#e;hU[ZqFmnmlѢ Wlxy^s9gQ``Y)4mZ^&0,5>+RxȪ/m>cs =P7bw=w'—eT(ӈEWe =nN_>~mEӠ\drZ7L3k񟥛γ㙦2H̚N Y?W%NBc\ygV9Y]Tvj :;=6IDK'ܑUk8l7+m}nꮨjcK^Jmu7^?? Rӣo:"ծ6gODk?4F|/oAioԶR{-4l|V[-o/ Bq1 gڐP|SzSy:f4O$&|4:eHT_sV5qǀryŖiH؁ hQ]elr\wx;6ggB}bm_GQ30Hvx} }k귃DXFxHpf~  |O9XbVTT I]rl 5kIS@ԧFV]ab{ԇM 3mUXc}a+B8#+Syw7bB,;1e`؆?`SVMȆ3O7wI؉ukTs%WdygPC㦊Ä抉Z)f]УwuP3+NUxVH(o%x3㤃mb3#ȸ'T٨e/h6hsNX(G؊Hfxt8h _H~N#Z*OxGOrF.ŇyfuQhbב*&Se#'iq)1d"ɒh5D5 T4|dv"~ VE |ԨLW5pǨ{Mُ4ItUYepœLG>,AeB8ni)$g"miS&wf;rqy J|9VYMHC0 tr&p(YN-(3s{bKKy1#S[| eL-VsH=1g&7ķ>b6CUiSc)QZHɔ9ٍ7fo)qkiQ*@7wgZi@qFK2ouI61Ϲ?Si2$8rA0ɐwYY֘G'YRiBi9jjr9y}!yc\"7j|9gi-u#"dhu'rt%p6hb@14jyO@hqHDLto IRbVz'Rq\zMz:Xv 7{J!bڕechR94Ğ.J@JxUz$DaSoiFuJ:)nwyR^Dy(r'q0FlW8[l)z:,;Ӛ*&twjʱ[)Աu긨D4 lgZ`01*X8Kz\6&pv-GRA,[+kQAbWFJ١ yZ=I1-iCBvZ׵6.­m;5^JjyMz70f+Jg~X6CIr -3xlF [rjSʟjbv0~kuVlxjyEu,[X`taPv+j+.{`&z 3 O $PǏ~S*ib[KFtc.g ևXY:Edr+KRڴIGJL{aE׳kΩyCʼ™;׺ś!l,{G6[ y4]zCٛp{kv~㻺c-Bj1y%<=f,E]kLĠۿMLDz|_&y*[oxTxDeN;#vqwvIѪ L},C;*\Ȱ k5$&of>U>X>';&./usr/share/man/info/en_US/xlf/html/lrm.gif.GIF/$GIF89a)))111999JJJRRRZZZcccsss{{{kccεss{kk޽ƥ޵スƜsZZ絵JRRk{{!))9ZZ99cks{RZsJ9)ks)s{cksk!Zc){19csk{s{Z9ck9s)1Zk){!k{ZkRcsBckZc{kBR{9Zc9!JZ9JsZ!{!!1Zk9s1Rk)1B1BJZ!)!Zs)s1)1cskJR9B!c19RRB91{9BZkJcs{Z1cJ1skZJRJ9s!Rsk1RkZ9c)JcZB9{9R1J{R{sJskZcZJ{)9ƄZssRkZ{{sJk!1B1Jck޵{ZƥRsck֔Rc{skBZ{{Zk΄ޔRkZcsc{BJZs{ksRZkJRc19J{祭ksBJcεRRZJJRBBJkk{99B119))1!ZRc޽,@H*\ȰÇ#JA@Ǐ J0ɓp ɲCx(AS6sE>+)@V4Z*1PG\J.(>~hG6w3YKҪV@gM\:5Tn߁z۵p\'uI[\H,9 @.g$%|+:?{/Ӆ'Ƣ koSCxkfAN|6g2_5ZLAؾQ6S %!8_>؃`ds`+O!D1O> CL.Q4ؕ4@*!$`CxRH ŢI^ |ipww)laC fURhM?#H@SU`qqA ȝG"h mg۱h < 5X<L4 :40U 3CJ*&XXfj3 7å=w'X)80Ϧ,læ@nad??D  `XűUkхv#|}[>A 12^aH>,qGL-E 嚧b-V'42{̦!wFw%Xb02 1W:8 >D )ܦאL4,Focj2 眆n[&Dct.\3L]}t.$Waoe]aeubpNgچTR#p"M9dR4G.`1u$HG0xxIG^w砇.?4ٚV@Cg\4Q((ׄSNaP@uXuԻy~7P ٢n,+YeckEZa?@,ѶkEMD*$젵=fCecJ2 Ka@3#a 0 Nrfާ1A! R;-J"ÐJ<#1#L!Q8m92}p&mah-B<% N?xx(}^Rkʻb @pNр  l g2C" C" Nx4nXEm׮!@!q%3:2Px6M?z8`!KL}H!C`ibsȄQQ.!N}!1P`J+Y`RQ_( ]o+('RXBۿ 05`+9Bp&*JT ^U;W` QQ' +n [Բ S4TZCzf-a˜%6 IP(q {`$lJs1A J^py y܉ṛ;*D8Es.LaLAoC!l=E]\LkZ"1?P A&0Gf$ $ MjW֮:kgEjg܆nI[t=ZJ<L=aS8%(G xc x!8S4@ !AL2D'cAWGSk {(ny\E_tc \b“-/[ Օ=Skߤ]V@[pѢ| ;d X-?Js1Qk5t-GD$houw!bb`^ nH GpTDCdȅ7!|Ѕ5z4 =S?`*j?C%&)'?&+=\&us"=PPؑ U,r,kp 1@ '"e`~V.rb*>1O?,0U,hg -%W0 PP H u$!@`U1QRn+vdpJ /P8=PB 37n..tR&wmb-U_.aam3_ ΖSL/iS9#-os8 #4 (S8"8pB{y&/P`.,5V%*vg,fYpV3Vm3j T5@Lu NH U"p Ġ Jb1aSaK>;!9$ 8Wjx`Tv0P ǰWWoQ8U̡a?-` ͒jsWps |ujs` E gP5B+0XfP 9[@A 4 $`W' !P іZ 6-דf\ وH :Ӕ`9RyXZ\I8Օs`9@e'ae9pck0rq)pdy(\ӓ; @t  tn ԥ`]³\96Y@b2 9 5)^b5C^B;E q\*ٍua h\@w fh1{` F" v8=6aQ {b uid*..D/ACjXP6p F SWpN !CCbHq7"]Epp}S%PxZbxײAanFwCIMg. : f=xybDpa PI"vIfanPI6rD'u oj@=)D $CIm p>%ƇL7Rgvg$` }S4Prpy7sh7f`$Dq-Bq1y pF`vt=zPQF0&!/z1srb/`$ Ր"P"#pHTq&G"lnCXý `!>`I@HiwEvsWy;@U Tn) $R"JDz۱n7!/zg{`+&pB@& J!b2 [1wv&0[WDDPlBw,n'O+I)0L`kj%plT|~lKtWV -G, e jCb8ٰ{LIlny|+h⹡vO|L AĐڱ@'b p ׼{ftw" p  p2;6Ε+rP0A {{{3³p -.-1.x wM. r0.+Z/-CA.QlC0MWy7ւ4;o%mя0255k.7 k(S ` E$C/&5,ڢ/?`o pQ,4PPipp@N(QW "N.RDpQ c"Q5(x>gYrC0 p |B-` B#^Z(~`2?^3̔!g0j<80= 7y1:ׁ3 v#2;.c%_SBn.$B69,q5000~8 p~LvV 20(HC5IS%*vQ/~ȉ|1i.k0fv%Yՠd(3Y c ކ@eT 相 `8P '4 Ҩ-%>b0?VY 3 LSkv^n 4 Ξ.8hUPʆ7?q6b9xB5T=C>40 ߰` @..;:03Kǀ penSH10eye9Aˠ}p%=W0T-AX1pc ] Y/\; ;3fPWyd x}ŪCcrj u rZ Zp B lc 6N@#`S``/ upu 5 6l> àԄwg DЗ` 0 0 ޔ 0o { ̤ET/ rd[fFY~ Kk; kg6$of>U>X>';./usr/share/man/info/en_US/xlf/html/ug.gif.GIF/$GIF89a!!!)))111RRRZZZkkk{{{kccss{kkƥZJJ֭ス絵ss!!)991c19){Z{9)s)ks!!)9)k91Bc))19!{1){9!s!{91kJ!9B1{9119JBZ)kBJJ9kZ1RB!RJR1JZRRBJ){R!Z!1c9{Z1ss1k)c!k!RcJRƌJs9{9k1s1c))JZ!c!91BkB{9Z)s1R!k)Jsk{RJZ1)9)!1ΥkJscsBJ)kRZ1Bs9B{9J!s9ZJ9Zc9c)!9B9J{kZ֔R{BJƜRބBƔR1kZc9J)cRƜRƌkޥc֌JcJskZsޥcΜZƥZ)9{kZJck{֭s{RkBRc9{JZ1sR)ksR{JR1cZεkZssΌƄ{ތZRk!)εޥsks眄ZBcޜ֔Όε֔{ޭΜcJkƔֵƥs΄B)Jޥ֜{ZέƥέkJsZZRZJBJkZkk)!){c{ZBZ9)9֥֜ƽޥΜ,@H*\ȰÇ#JpA @Ǐ >hɓ p ɲhAӅMF\9bϞ# (I\3n2iaÔR\J8jdǍ>q4싳h=qm۶\P5gvet $hS`]8ѕ1W8 3Fo#'F3 )<|hJ i5xZ":)S-2T<֌fCI<0`<ɒrqkT _H1 )S : 'z~%NqN54ⳁ!8N9DáPD)Qop͊` 4jhIpȜ$G()( x:C!}ӆx#`'BQ ߔe() k(fZs(tS &aHpDb X:هHtɘ.ٍgAeȁ0"A`N0xK#AP v_bB3911B(E[ַ-.d<&UhB'Q G`bdf`)R-( |L-)^aR *ըIMo VBYG>̜V  #Qz1b8 Jcf\-ÂM =? px3B`ɠ#G`ZBT Bd0 % J`*,bds3_8kT½a" zC^mf| ?c(7i(I2r1H m=nX"ZCHЉ""WcF/ 5DSRj^|*QW:>j s4~LH8RRWs= x$|@$ Iv^1HP J<#9Vh/-#n9q"jt( VЁU$8?%MLcMh8o$ P#¢OVp?kbљx @ѡ ͺ'Wn;?hkQ?hDF&4R#! *`QR]*(S Dx g;BQ20W\$}%-2xHI:al0Dg')Evk */)[\H X>֬ 1z߀aI'gY,"@Q%%P>QL6 9x `|gPibQ8 2zy--ERPPL0)j'l^c5 0IocP&L0yBq@7iDU 2 RR.XpR\b eP00 ` `h@r*t2/ |*rLdfzTPb/`! !-\U.&eR*1`5!Z1-"70 Ԁd;3!0DC'0h1@tR *-XQ1)Ebb50 0 f.V0ET{34a78:6X=8LUS(HVY# h pew %vsnAA41v4F` #;4ERXYfE   C'R/d@42y DOv{yf9 LЅ[Xe`55   }NUhcXS ( d/p @ d  )s9w@ - uo'bvtЈx4%:;9[ 9A; ,y}v<1w)ER[9P9{pyP `Pu`~%€, i W;>aK 1 G4dE=K=^FhBb0_&x a5aa`aFM n%es) :S? Jh *ejaf6%@  IS%T2 !x Y@cHʐѤDcUP"l"qbQ?ffq1j64_b!$YnGИWX>VgCSUBrs?5@\Pvje n3dZ1elhs0 k'QťS٧MZ$44!husY@u’A;c|?nu#pQ,)z!p;!gAk^D ހ^n`f37GQt1;#qD^>Aj06H*b{wScF*d~!. _;`a}:dgCH 4/ncfx(a D1 E[ R88@h# /ݰ`rS"yubUeBG-0r q)OQu LJf!2 nʁ͢HCnQ"9 SqU#p E93R '1P LiC$ dML$V'簲aԲzs( 0'^p!퀷8ק Tw{DP`6Pcp&}}4')]r:2 Vg@,b}k{nBtZF laV"sFZFĢ2Hr&`ΐEQrLqi6"u"1RjE0'&Gq&D BkaJ)@ Pf0* Pw\#m)qFSuQP$p7uFE'^`@R:Z`&K!=TsfguWgijt 8u)<ǕlèE' $zi!P7&T#= Q12tMPM칙~L{}a!q Z#nsG l!#A4E۔N U|6 Mqµw:wL. Bk,( a  6v *R ѱBkUgJP ]pC 9R{I$q~u\C1 ԼN-ۂqP) b\H0@4;e65IōىqkP-Y(R />&1T78 `ہ *NcK3S±Dj7` B%-ޒ]5\N] w(@ 5r#.#5 Z/t=?aq7PUQzLI0R]dS0 6Ŵg 9HH4AW. ͧH̃! ,CRU`RR`1 ZZTw4# C6FqQ2M:``XVU P &C GDe7*$WjS;m`IԀU^1UR ^VVoe@9vLa109Њ~Jh1E:4UVm2X j !ތn n[/WdS4FCX : 5C e P>Rذvl307h=?>Ve[ : RXT#pV 谆00 0 _&Mdx!;A;NCS1e+_Y% 3502We3 ۀK8A9xh U1_RbXW e  ښ~6:: ls#`= )1mp8l% pNI9 ,6b,[r`/a "_e`8LA Zpk 6>Qe4P 0jm+t+ .dCéfK6l ZBe}6mʳ.E2T1eΤYfL "'tݙTt36}S3%YUD:άaŎ홠 Ȯe6ֳR![7lӳ9kՁ&ܳBMT /f̐ALO\e̙5o;ܖk e P>Rذvl307h=?>Ve[ : RXT#pV 谆0