§ y<ˆj.&ãól—dZddlZddlmZmZmZmZmZmZm Z m Z m Z m Z m Z mZmZd d„Zd d„Zd d„Zd„ZdS) aW Rules for building C/API module with f2py2e. Copyright 1999,2000 Pearu Peterson all rights reserved, Pearu Peterson Permission to use, modify, and distribute this software is given under the terms of the NumPy License. NO WARRANTY IS EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. $Date: 2004/11/26 11:13:06 $ Pearu Peterson éNé) ÚgetfortrannameÚ isexternalÚ isfunctionÚisfunction_wrapÚ isintent_inÚ isintent_outÚislogicalfunctionÚismoduleroutineÚisscalarÚ issubroutineÚissubroutine_wrapÚoutmessÚshowcó—|€|}||vr#t|¦«td|z¦«dSd||vr)t||¦«td|z¦«dS||d}|dkrd||vr|›d||d›d�}i}d}d ||vr||d }d }nd ||vr||d }d }d |vrK|r"|d dvrd|z}nu|›d|›d|d ›d�}nc|d dvr|›d|d ›d�}nJ|›d |d ›�}nÔ*ˆØ ˆˆØ ˜4 œ7Ð "Ð "ؘ”7˜>Ô*ˆØ ˆØ ˆh€€Ø ð ;ؘŒ}Ð 1Ð1Ð1Ø$¨Ñ/��à(.¨¨°°°°H¸S´M°M°MÐB��à˜Œ}  Ð*Ð*Ø&, f f¨h°s¬m¨m¨mÐ<��à$* F F¨H°S¬M¨MÐ:��à �HÐ Ð Ø$* F F¨H°U¬O¨OÐ<ˆFؘÐ!Ð!Ø*0¨&¨&°(¸6Ô2BÐ2BÐ2BÐC��à &Ñ)��Ø �xÐ Ð Ø&, f f¨h°vÔ.>Ð.>Ð.>Ð?ˆFà˜˜  Ð #€FØ�d˜1”gÐÐØ#˜V˜V S§X¢X¨d°1¬g°kÔ.BÑ%CÔ%CÐ%CÐ%CÐDˆØ €Móc ól ‡‡—t|¦«sJ‚gŠ|d}|dD]Š}|d|}t| dg¦«¦«D]V\}}|dkrKd|›d|›�}tddg¬ ¦«}d |›d |›d �|d <‰ |¦«|||<||d|<ŒWŒ‹|d ‰¦«t ‰¦«} dg} | fd„} |dŠt|¦«} t|¦«} d‰z}||vr |‰||<|g|ddd…z}n |g|dz}t|‰d| ¦«}|dd…dkrJ| rd|dd…z}n d|dd…z}|‰d}| dd¦«dkrd|d<|  d|¦«}d}d   |¦«}| ra|  ‰›d �d¦«}ˆfd„|D¦«}||d<| d|d›d‰›d |›d �¦«|s| d!|d›d"| ›�¦«n>| d#‰›d |›d �¦«| s*| d$| z¦«|  dd¦«d%z| z}| rT|d&  d'¦«D]8}|  ¦« d!¦«rd(|vr | |¦«Œ9|dd…}g}|D]:}t||¦«r#| d$|z¦«| |¦«Œ;|D]L}||vrŒt!||¦«r0| t||| ¬)¦«¦«| |¦«ŒM|D]L}||vrŒt#||¦«r0| t||| ¬)¦«¦«| |¦«ŒM|D]"}||vrŒ| t||| ¬)¦«¦«Œ#| |¦«|� | |¦«| r<| rn9| d*¦«| |d&  ¦«¦«| d+¦«d   ˆfd,„|D¦«¦«}|s8t%|¦«r| |›d-| ›d.|›d/�¦«n| |›d0| ›d.|›d �¦«| r| d1|d›d‰›�¦«n | d2¦«| d3S)4Nr$Úargsr!rÚf2py_Ú_dÚintegerÚhide©rÚintentúshape(ú, rrrcó&—|d›d|›�|d<dS©Nrz ©©ÚlineÚrets r+Úaddzcreatefuncwrapper..add^ó€Ø#& q¤6 6 6¨4¨4Ð0ˆˆA‰ˆˆr-Únamez %sf2pywraprz @@@NAME@@@é z character*(*)zcharacter(len=10)z character*10rrrÚ10có •—g|] }|‰k¯|‘Œ Sr:r:)Ú.0Úargr@s €r+ú z%createfuncwrapper..~sø€Ð3Ð3Ð3˜ s¨d¢{ {� { { {r-úsubroutine f2pywrap_Ú modulenameÚ_ú (úuse ú , only : úsubroutine f2pywrapú external %sr Úsaved_interfaceú Ú__user__©r'Ú interfaceú end interfacecó•—g|]}|‰v¯|‘Œ Sr:r:©rDr%Ú extra_argss €r+rFz%createfuncwrapper..³ó#ø€Ð>Ð>Ð>˜Q¨!°:Ð*=Ð*=�qÐ*=Ð*=Ð*=r-z = .not.(.not.rz))z = úend subroutine f2pywrap_Úendr)rÚ enumerateÚgetÚdictÚappendÚextendÚboolrr r,Úreplacer#ÚsplitÚlstripÚ startswithrr rr )ÚroutÚ signaturer$r%ÚvÚiÚdÚdnÚdvÚneed_interfacer=r>Ú fortrannamer'Únewnamer/Úl_tmplÚ charselectÚl1ÚrlÚsargsr<Ú dumped_argsrWr@s @@r+ÚcreatefuncwrapperruJsSøø€Ý �dÑ Ô ÐÐÐ à€JØ �Œ<€DØ �&Œ\ð 'ð 'ˆØ �ŒL˜ŒOˆÝ˜aŸeše K°Ñ4Ô4Ñ5Ô5ð 'ð '‰DˆAˆqØ�CŠxˆxˆxØ&' a a¨¨Ð+�Ý 9°f°XÐ>Ñ>Ô>��Ø-.¨Q¨Q°°°Ð2��3‘Ø×!Ò! "Ñ%Ô%Ð%Ø��R‘Ø$&��+”˜qÑ!øð '𠈄L×Ò˜ Ñ#Ô#Ð#ݘ*Ñ%Ô%€Nà ˆ$€Càð1ð1ð1ð1à �Œ<€DÝ  Ñ&Ô&€KݘdÑ#Ô#€GؘdÑ#€Gà�dÐÐØ˜Tœ ˆˆW‰ ؈y˜4 œ<¨¨¨Ô+Ñ+ˆˆàˆy˜4 œ<Ñ'ˆå ˜D $¨ °gÑ >Ô >€FØ ˆcˆrˆc„{�oÒ%Ð%Ø ð 2Ø(¨6°"°#°#¬;Ñ6ˆFˆFà# f¨R¨S¨S¤kÑ1ˆFؘ$”Z Ô/ˆ Ø �>Š>˜#˜rÑ "Ô " eÒ +Ð +Ø"ˆJ�s‰Oà �Š˜  gÑ .Ô .€BØ €Bà �IŠI�d‰OŒO€EØðFð— ’  ˜k˜k˜k¨2Ñ.Ô.ˆØ3Ð3Ð3Ð3˜tÐ3Ñ3Ô3ˆØˆˆV‰ Ø ˆˆØ �,Ô Ð Ð     u u uð .ñ /ô /ð /àð IØ ˆCˆC t¨LÔ'9Ð'9Ð'9¸;¸;ÐGÑ HÔ HÐ Høà ˆˆ¨D¨D¨D°%°%°%Ð 8Ñ9Ô9Ð9Øð FØ ˆC�  Ñ-Ñ .Ô .Ð .Ø—’  ¨bÑ1Ô1°CÑ7¸+ÑEˆBàðØÐ*Ô+×1Ò1°$Ñ7Ô7ð ð ˆDØ�{Š{‰}Œ}×'Ò'¨Ñ/Ô/ð °JÀdÐ4JÐ4JØ��D‘ ” � øà ���Œ8€DØ€KØ ð"ð"ˆÝ �d˜1”gÑ Ô ð "Ø ˆC�  Ñ#Ñ $Ô $Ð $Ø × Ò ˜qÑ !Ô !Ð !øØ ð"ð"ˆØ � Ð Ð Ø Ý �D˜”GÑ Ô ð "Ø ˆC•˜t Q°Ð8Ñ8Ô8Ñ 9Ô 9Ð 9Ø × Ò ˜qÑ !Ô !Ð !øØ ð"ð"ˆØ � Ð Ð Ø Ý �t˜A”wÑ Ô ð "Ø ˆC•˜t Q°Ð8Ñ8Ô8Ñ 9Ô 9Ð 9Ø × Ò ˜qÑ !Ô !Ð !øØ ð6ð6ˆØ � Ð Ð Ø Ø ˆ�N˜4 ¨GÐ 4Ñ 4Ô 4Ñ5Ô5Ð5Ð5à€Cˆ�G„G€GØ €~Ø ˆˆB‰Œˆàð!Ø ð !à à ˆC� Ñ Ô Ð Ø ˆC�Ð&Ô'×.Ò.Ñ0Ô0Ñ 1Ô 1Ð 1Ø ˆC�Ñ Ô Ð à �IŠIÐ>Ð>Ð>Ð> $Ð>Ñ>Ô>Ñ ?Ô ?€Eà ð?Ý ˜TÑ "Ô "ð ?Ø ˆC¨W¨W¨W°k°k°kÀ5À5À5ÐIÑ JÔ JÐ JÐ Jà ˆC   ¨+¨+¨+°u°u°uÐ=Ñ >Ô >Ð >ØðØ ˆˆ¨t°LÔ/AÐ/AÐ/AÀ4À4Ð HÑIÔIÐIÐIà ˆˆE‰ Œ ˆ Ø ˆqŒ6€Mr-c 󲇗t|¦«sJ‚gŠ|d}|dD]Š}|d|}t| dg¦«¦«D]V\}}|dkrKd|›d|›�}tddg¬ ¦«}d |›d |›d �|d <‰ |¦«|||<||d|<ŒWŒ‹|d ‰¦«t ‰¦«} dg} | fd„} |d} t|¦«} t|¦«}|d}d   |¦«}|r5| d|d›d| ›d|›d �¦«|s| d|d›d| ›�¦«n"| d| ›d|›d �¦«| s| d| z¦«| rT|d  d¦«D]8}|  ¦«  d¦«rd|vr | |¦«Œ9g}|D]:}t||¦«r#| d|z¦«| |¦«Œ;|D]L}||vrŒt||¦«r0| t|||¬¦«¦«| |¦«ŒM|D]"}||vrŒ| t|||¬¦«¦«Œ#| rn|rnk| d¦«|d  d¦«D]9}|  ¦«  d¦«rd|vrŒ.| |¦«Œ:| d¦«d   ˆfd„|D¦«¦«}|s| d | ›d!|›d �¦«|r| d"|d›d| ›�¦«n | d#¦«| d$S)%Nr$r/r!rr0r1r2r3r4r6r7rrrcó&—|d›d|›�|d<dSr9r:r;s r+r>zcreatesubrwrapper..addÕr?r-r@rGrHrIrJrKrLrMrNrOrPrQrRrSrTcó•—g|]}|‰v¯|‘Œ Sr:r:rVs €r+rFz%createsubrwrapper.. rXr-zcall rrYrZr)r r[r\r]r^r_r`rr r#rbrcrdrr r,)rerfr$r%rgrhrirjrkrlr=r>r@rmr'r/rsr<rtrWs @r+ÚcreatesubrwrapperryÁs†ø€Ý ˜Ñ Ô ÐÐÐ à€JØ �Œ<€DØ �&Œ\ð 'ð 'ˆØ �ŒL˜ŒOˆÝ˜aŸeše K°Ñ4Ô4Ñ5Ô5ð 'ð '‰DˆAˆqØ�CŠxˆxˆxØ&' a a¨¨Ð+�Ý 9°f°XÐ>Ñ>Ô>��Ø-.¨Q¨Q°°°Ð2��3‘Ø×!Ò! "Ñ%Ô%Ð%Ø��R‘Ø$&��+”˜qÑ!øð '𠈄L×Ò˜ Ñ#Ô#Ð#ݘ*Ñ%Ô%€Nà ˆ$€Càð1ð1ð1ð1à �Œ<€DÝ  Ñ&Ô&€KݘdÑ#Ô#€Gà �Œ<€Dà �IŠI�d‰OŒO€EØð/Ø ˆˆØ �,Ô Ð Ð     u u uð .ñ /ô /ð /àð IØ ˆCˆC t¨LÔ'9Ð'9Ð'9¸;¸;ÐGÑ HÔ HÐ Høà ˆˆ¨D¨D¨D°%°%°%Ð 8Ñ9Ô9Ð9Øð /Ø ˆC�  Ñ-Ñ .Ô .Ð .àðØÐ*Ô+×1Ò1°$Ñ7Ô7ð ð ˆDØ�{Š{‰}Œ}×'Ò'¨Ñ/Ô/ð °JÀdÐ4JÐ4JØ��D‘ ” � øà€KØ ð"ð"ˆÝ �d˜1”gÑ Ô ð "Ø ˆC�  Ñ#Ñ $Ô $Ð $Ø × Ò ˜qÑ !Ô !Ð !øØ ð"ð"ˆØ � Ð Ð Ø Ý �D˜”GÑ Ô ð "Ø ˆC•˜t Q°Ð8Ñ8Ô8Ñ 9Ô 9Ð 9Ø × Ò ˜qÑ !Ô !Ð !øØ ð6ð6ˆØ � Ð Ð Ø Ø ˆ�N˜4 ¨GÐ 4Ñ 4Ô 4Ñ5Ô5Ð5Ð5àð !Ø ð !à à ˆC� Ñ Ô Ð ØÐ.Ô/×5Ò5°dÑ;Ô;ð ð �Ø—;’;‘=”=×+Ò+¨FÑ3Ô3ð¸ ÀdÐ8JÐ8JØØ��D‘ ” � � Ø ˆC�Ñ Ô Ð à �IŠIÐ>Ð>Ð>Ð> $Ð>Ñ>Ô>Ñ ?Ô ?€Eà ð2Ø ˆˆ˜[˜[˜[¨%¨%¨%Ð 0Ñ1Ô1Ð1ØðØ ˆˆ¨t°LÔ/AÐ/AÐ/AÀ4À4Ð HÑIÔIÐIÐIà ˆˆE‰ Œ ˆ Ø ˆqŒ6€Mr-có—t|¦«�rt|¦«}|d}td|›d|›d�¦«tj|¦«}|}|}d|vr|d}|d||d|<|d|}t |¦«sjd|vrg|d<|d d¦«d }|dD]}| d ¦«rd }nŒ|r|d d |z¦«|g|d z|d dd…<|t|¦«fSt|¦«rRt|¦«}|d}td|›d|›d�¦«tj|¦«}|t|¦«fS|dfS)Nr@z) Creating wrapper for Fortran function "z"("z")... Úresultr$r5Úoutrzout=rzout=%sr/z+ Creating wrapper for Fortran subroutine "r) rrrÚcopyr r^rdrurry)rermr@ÚfnameÚrnameÚfvarÚflagrhs r+Úassubrr‚sâ€Ý�tÑÔñ-Ý$ TÑ*Ô*ˆ Ø�FŒ|ˆÝˆØ ˆDˆD�+�+�+ðñ ô ð åŒy˜‰ŒˆØˆØˆØ �tРРؘ”NˆEØ"& v¤,¨uÔ"5ˆD�ŒL˜Ñ Ø�FŒ|˜EÔ"ˆÝ˜DÑ!Ô!ð :ؘtÐ#Ð#Ø!#��X‘Ø �ŒN× !Ò ! %Ñ (Ô (Ð (؈Dؘ(”^ð ð �Ø—<’< Ñ'Ô'ðØ�DØ�Eððð :Ø�X”×%Ò% h°%Ñ&8Ñ9Ô9Ð9Ø ˜' D¨¤LÑ0ˆˆVŒ �Q�Q�Q‰ØÕ& tÑ,Ô,Ð,Ð,ݘÑÔð-Ý$ TÑ*Ô*ˆ Ø�FŒ|ˆÝˆØ�4�4˜˜˜ð&ñ 'ô 'ð 'åŒy˜‰ŒˆØÕ& tÑ,Ô,Ð,Ð,Ø �ˆ8€Or-)NN)r)Ú__doc__r}Úauxfuncsrrrrrr r r r r rrrr,ruryr‚r:r-r+úr…sðð ð ð € € € ððððððððððððððððððððððððððððððð.ð.ð.ð.ðbtðtðtðtðnPðPðPðPðf!ð!ð!ð!ð!r-