VfixdZddlmZejZddlZddlZddlZddlmZddl m Z m Z m Z ddl TddlmZgd ZgZiaiZid d d d d d d dddddddddddddddddddddddddddZid dd dd dd d dd!dd dd"dd#dd$dd%dd&d'd(dd)d*d+dd,dd-dd-d.d.d/Zid d0d d1d d2d d3dd4dd3dd5dd6dd7dd8dd9d'd:dd;d*d<dd=dd>dd?d@dAd/Zd0d1d3d3d5d7d9d:dBdBdBdCdAdD Zd d d d d dEddddddddd*dF ddddddGddddddEdd ddddHdIdidId idId idJaee ee et0e e\aZejt0ZgadKZid dLd dLd dMd dNddNddOddPddQddNddRddSd'dTddSddUddUddVddWddXiZ dYZ!dZZ"d[Z#dgd\Z$d]Z%d^Z&d_Z'd`Z(daZ)dbZ*dcZ+dhddZ,deZ-dfZ.dS)ia  Copyright 1999 -- 2011 Pearu Peterson all rights reserved. Copyright 2011 -- present NumPy Developers. 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. ) __version__N)cb_rules) iso_c2py_mapiso_c_binding_mapisoc_c2pycode_map)*)markoutercomma) getctype getstrlength getarrdims getpydocsign getarrdocsigngetinitsign2map routsign2map modsign2map cb_sign2mapcb_routsign2mapcommon_sign2mapprocess_f2cmap_dictdoublefloat long_doublecharint signed_char unsigned_charshortunsigned_shortlong long_longunsigned complex_floatcomplexcomplex_doublecomplex_long_doublestring characterbytes NPY_DOUBLE NPY_FLOATNPY_LONGDOUBLENPY_BYTE NPY_UBYTE NPY_SHORT NPY_USHORTNPY_INTNPY_UINTNPY_LONG unsigned_long NPY_ULONG NPY_LONGLONGunsigned_long_long NPY_ULONGLONG NPY_CFLOAT NPY_CDOUBLE NPY_STRING)r(r)dfgbBhHiIlLqQFDGScNy) rrrrrrr!r"r$r&r'r(r))481216) rQ12rRrS-1z-2z-4z-8)rQrSrU2432)rQrVrWrRrSrQ)realintegerr% complexkindlogicalzdouble complexzdouble precisionbytectjta|#d}tj|sdS td|dt|5}t| ii}dddn #1swxYwYtt|td\aatddS#t$r}t!d|dYd}~dSd}~wwxYw)Nz .f2py_f2cmapzReading f2cmap from z ... Tz1Successfully applied user defined f2cmap changes z-Failed to apply user defined f2cmap changes: z . Skipping. )copydeepcopyf2cmap_default f2cmap_allospathisfileoutmessopenevalreadlowerrc2py_map f2cmap_mapped Exceptionerrmess) f2cmap_filer>r=msgs Cc:\PYTHON\DbComparer\venv\Lib\site-packages\numpy/f2py/capi_maps.pyload_f2cmap_filertsY~..J$ w~~k**  FT<{<<<=== +   /!QVVXX^^%%r2..A / / / / / / / / / / / / / / /$7 AxQU$V$V! MDEEEEE TTTRRRRSSSSSSSSSTs<"C"6B$ C$B((C+B(,1C D)DDz%gz%Lgz%dz%hhuz%hdz%huz%uz%ldz%luz(%g,%g)z (%Lg,%Lg)z\"%s\"z'%c'cd}t|rOd|vr |d}n|d}||dvrt|d|Std|dnt|r|St |rdSt |rdSd |vr|d tvrr|d }t|}|d }d |vr=d |d vrS ||d d }n?#t$r/td |d dd d|d d dYnwxYwd|d vr|dztvrt|dz} ||d d}n#t$r|tvr t|} |t|d d}n[#t$rNtd |d|d dd|d|d|d ddtj d YnwxYwYn'wxYwn"t|std|d|S)z Determines C type voidresultnamevarsgetctype: function  has no return value?! r)r(typespecrQ kindselectorr z getctype: " z" not supported. kindz(kind=z)" is mapped to C "z" (to override define dict(z = dict(z="")) in z/.f2py_f2cmap file). zgetctype: No C-type found in "z", assuming void. ) isfunctionr rp issubroutineischaracter_or_characterarrayisstring_or_stringarrayrlrdKeyErrorstrregetcwd isexternal)varctypear|f2cmaps rsr r s  E#)K s??H AAF A F  CKN++ + E!EEE F F F F c   K &s + +K{  % %Kx s  s:4466*DDz?((**H%r  S c.)))N"3~#6s#;?EEXXX:--!+H!5X &s3~+>v+F'G'G H#XXX#+88S-@-H-H-H%%%#+88S-@-H-H-H")++++!WXXXXXX X__KIIIIJJJ LsI:D5E E 3F H))!G  H) AH# H)"H##H)(H)c2tjdd|}|S)a^Rewrite Fortran expression as f2py supported C expression. Due to the lack of a proper expression parser in f2py, this function uses a heuristic approach that assumes that Fortran arithmetic expressions are valid C arithmetic expressions when mapping Fortran function calls to the corresponding C function/CPP macros calls. z\blen\b f2py_slen)resub)exprs rsf2cexprrs 6*k4 0 0D Kc8t|rMd|vr |d}n|d}||dvrt|d|Std|dt|s tdt |dd}d |vr.|d }d |vr |d }nd |vrt |d }t jd |st jd |r0t|rtdt |zd}|S)Nrwrxryzgetstrlength: function r{z8getstrlength: expected a signature of a string but got:  rV charselectorr lenz\(\s*(\*|:)\s*\)z(\*|:)zMgetstrlength:intent(hide): expected a string with defined length but got: %s rX) isstringfunctionr rpisstringreprrrmatch isintent_hide)rrrs rsr r sTK s??H AAF A F  F A// / IaIII J J J C==V TtCyy T T T V V V C   !88C&CC aZZ!E(##C x#S))RXi-E-E     dS     Jrc i}t|r-t|st||d<d|d<d|d<nt|rd|d<d|d<d|d<nt|rtt j|d}d||d< t t|d|d<n#t$rYnwxYwd ||d<t t||d<t t|d gzd d |d <tt|D]}g}||tvr ||g}n=tD]5}tj d |z||r||6|D]?}t|t|krd||<n@d\|d<}|D]}|d z}|dvrd|d||fz|d<|dr|ddd |d<d\|d<}|dD]}|d z}|dvrd|d||fz|d<t!|r$t#d|zd|d|dfz|d<P|r0t%dt |dt |d|dr|ddd |d<|S)Nsize0rankrQdimsrV dimensionr ,rz rank*[-1]z .*?\b%s\b.*)rQrsetdims)r :z(*)z(:)z%s#varname#_Dims[%d]=%s, cbsetdimsz?getarrdims:warning: assumed shape array, using 0 instead of %r rz5getarrdims: If in call-back function: array argument z# must have bounded dimensions: got r)risarrayr isscalarrajoinrrjrorrangedepargsrrappendindex isintent_inrhrp) rrverboseretdimrDvvar=s rsr r s C}}55WS\\55"3''F F F #15F F F -5iK())hhsmmF  tCK0011CKK    D hhsmmF 3s88nnF CB40026Ks3xx  AA1v  VH!%%Bx 3SV<<%   ==$$w}}Q'7'777 CFE8#I * *AAA000!; NAq?*"*I y> 1 ^CRC0C N$K![! E EAAA000#= $aA,$,K  S!! EZ#= $aA,$,K   EDDQRGGDDx|}~xxDDDEEE {  5";/4C  Js"%C CCc Zt|rPd|vr |d}n|d}||dvrt||d|Std|ddS||}}d}t|rd}nt |rd }|}t |r%|d D]}|dd d kr |d d}nd}t |} t|rt||\}} d | }t|rat |r'|d|dt| dt| d| }n|d|dt| |}|dt| }nt|r[t |r|d|dt|d|}n|d|dt|d|}|dt|d}nXt|r|d} tt!| } |d|d| dt| dd| d| }||kr-|d| dt| dd| d}n|d| dt| dd| d|d }nt%|rod} |t&vrZt&|t(vrFd t(t&|vr,t(t&|d } | |ksd!| } nd} |d"| }|}ntd#|d$||fS)%Nrwrxryrzr{rQrQrQinputz in/outputintentout=z, optional\n Default: z : z rank-0 array(,'')r~z rank-0 array(string(len=),'c')z string(len=)z : string(len=rz rank- array('') with bounds (r : rank-z) and z storageargnamez => z : call-back functionz2getpydocsign: Could not resolve docsignature for "z". )rrrprisintent_inout isintent_outr hasinitvaluerrrm c2pycode_maprr rrrrrlcb_maplcb2_map)rrafsigsigoutoptout_akinitrshowinitrruas rsrrWs #  s??XBBVB V  CKO44 4 F"FFF G G GvQC C3    ECX  A!u!"" D SMMEC7 Ch6H66}}'J #   99:CCC%9Ee9L9L9LddTCC88388%8$88C//huo// # J #   G333 S))))441CCFF3FFL,=,=FFFFC==c):):=== J+CHH~~DEAAsssDDDDPHMEOEOEODGHHSMMMMSWSWY ::11dddL///#@FF55$$$ U 3 3 3SXXc]]]]AAAGFF C J  <> -^C00 -C oH!883A!B$4!4!!&u1CM3x==QBA36qv;;AF 0CM3x= o o o m$mmghmmmooo os|| UTCMTTS]TTT c]] - ,!+hAw#~~ad!3!3C!?!?@Aw#~~,tAbDz,,, >s BC!C8ct|st|r-t|}|dd|}|St |st |rdSdS)Nrf2py_lenrV)r isstringarrayr get ischaracterischaracterarray)relsizes rs get_elsizersw}} c**c""^$((V<< 3+C00s 3rc F |}t|r%|dD]}|dddkr |dd}n||t|d}g}tD](\}}||r|d|)|rd||d<nd|d<t |rd |d <n+|d tvrt|d |d <nd |d <t||\|d <|d<t|rWt|rHt |s9t|d dd d\|d<|d<t|r||d<|tvrt||d<tt|d|d<tt|d|d<tt|d|d<tt|d|d<n?||d<t!d|dt#tdt'|rt)||d<t |r8t+|t-||}t/j|d }|d t0vr(t0|d |d!<t3||d"<t5|rgt6d#td$t8d%t:d&t<d't>d(td)tAtBtEtd*t&d+t d,tFd-tHd.tJd/tAtLtEtJd0td1tNd1tPd2} g} tSd3tU| d4D]1} | | |r| | | dz2t'|r!| d5|d6|dt |rDd7tWd8|d |} | d9| d:t|r(d;|d<|dd=d7| |d><n0d;|d d?|d@|dd=d7| |d><tC|r+|d tXvrd;|d@tX|d |dA<t'|r dB|dC|dD|dA<t|r d;|dE|dA<|d tXvr3dF|d@tX|d |dG<tX|d |dH<t'|r dI|dC|dD|dG<t[||\|dJ<|dK<t]|r |dL|dL<|S)Mz varname,ctype,atype init,init.r,init.i,pytype vardebuginfo,vardebugshowvalue,varshowvalue varrformat intent rNrr)varname outvarnamerF2PY_|F2PY_INTENT_INrO varrformatrOrrrrrrr cbnamekeycbname maxnofargs nofoptargsdocstrcbdocstr latexdocstr cblatexdocstrzsign2map: Confused: external z is not in lcb_mapz. lengthratyperroutputinoutputrequiredoptionalhiddenzcomplex scalarscalarr(arrayz complex arrayz string arrayzcomplex functionfunctioncallback auxiliaryrzslen(z)=rc|d|S)Nr)xrPs rszsign2map...sArzdims(r debug-capi:z=>r vardebuginfor~rvardebugshowvaluedebug-capi:slen()=%d =\"%s\"z=%pz#name#: varshowvalueshowvalueformatz #name#:slen( pydocsign pydocsignoutnote)/rr isintent_dictitemsrrrc2buildvalue_maprrrr rrrrrplistkeysrr dictappendr ra c2capi_mapr debugcapirr isrequired isoptionalrl_andrl_notrriscomplexfunctionrisintent_callback isintent_auxrrmap cformat_maprhasnote) rrrrr intent_flagsr>srilrlrDddims rsrrs  ECX  A!u!""ux}} E ECL##%%--1 1S66 -     , , ,)..H (H s|| L W) ) ),S\:LL#*1c?? CKZC,Ys^^,GCLL,'5 K" (($uU|| %H s8}# *K <<#AJCM ( 4\ BC  ( 4\ BC &wqz28|d|d|dddd}t|pg|d<t |r |d|d<t |pd|d <t |pd|d <|d r!t |d d pd|d <nd|d <t|pd|d<d|vr |d|d<d|vr |d|d<d|vr |d|d<|S)z modulename rxr,r-) f90modulename F90MODULENAMEtexf90modulename) modulename MODULENAME texmodulenamerestdocrrQr7r8bodyrinterface_usercode pymethoddefgil_usedcoutputf2py_wrapper_output)ismodulerHr getrestdocr%rKrLgetpymethoddef)mrs rsrrs{{? !& !&  1 1#$V9#4#4S%#@#@BBvYvY__.. !& 1 1#u = =?? ]](bC Nqzz iF !!nn*C O#A,"C y'$/& ! $=$=$C !!$& !'**0bC QJ-JA~~9I!!%&'<%= !" Jrcd|i}|d|d<t||d<|dtvr(t|d|d<t||d<|dtvrt|d|d<t |rt |t ||}t||\|d<|d<t|r|d |d <d g|d <|S) Nr varname_irrrrrrrrB) r rrr$rrr rr%)rrrrs rsrrs a.C9~C C==CL 7|z!!!#g,/G "3H  7|{""$/G $=!? s||2jC0011,8C,@,@)C c.)s||)&kF '(F Jrcd|dd|dd}t|rSd|dvrd}nd}|d |dd |dd |d <d |d<n|d|d <d|d<|d|d<t|d|d<td|d|d<t ||d<d|d<|ddkrd|d<n |d|d<|ddkrt |rd|d<nd|d<|dt vrt |d|d<t|rt||d<t|rd|vr |d}n|d}t|d|r)|d|d|d<dg|d|d<||d <t||\|d!<|d"<t |rd#|d<n t|r|d|d<dg|d<d$}d$}d%|vrYd|vrU|d%D]L}|d|}ttt|r|d&z}t|r|d&z}Mt!||d'<t!||d(<t|r$t|rd|vr|d|d)<dg|d<|S)*z\ name,begintitle,endtitle,argname ctype,rctype,maxnofargs,nofoptargs,returncptr cb_rx_in_rQ)rx returncptrr,r9r:(rr callbacknameexternstaticrr2r.r3rrvrctyper(z3 #ifdef F2PY_CB_RETURNCOMPLEX return_value= #endif rlz return_value=r strlengthrwryrrBr@rrz8 #ifdef F2PY_CB_RETURNCOMPLEX #ctype# #else void #endif rargsrrrroutnote)r!rlrHrIr r r$rr rr%rl_orrrrr)rPumrr:rnofargsrrs rsrrsy 0f//2//  C ! $v,   FFF!'XX$v,*<*<*>*>XXfASASAUAUXXXN H !&kN H &\C N V--C 6V6677C OD>>CLCM 7|xH G H  8} T " " 0!C   !0C  7|{""$/G $=!? .'--K$* t  XAAV A 4<? # # 9v,q/&1CK'7&8DLOF #G 0.>v,J()V JrcL|t|d}t|rd|d<|dtvr(t|d|d<t||d<|dtvrt|d|d<t |rt |t||}n&t|rt||d<d|d <t||\|d <|d <t|r|d |d <d g|d <t|||d<|S)N)rrrrrrrrrVrrrrrB arrdocstr) r rrrr$rrr rr rr%r)rrrs rsrrs3(3-- 0 0CSG  7|z!!!#g,/G "3H  7|{""$/G $=!? s||jC0011 #"3''F F ,8C,@,@)C c.)s||)&kF '(F $Q,,C  Jr)r)N)/__doc__rQrversion f2py_versionrarerr _isocbindrrrauxfuncs crackfortranr __all__rrrrmrrrrdupdaterr,rbrcrnrtr$r rr r rrrrrrrrrrrrrsrsn" IIIIIIIIII ((((((       Hg  W  7  E  5   U   U   e  5  E      Y  i  "9  h  ! &+h ++/+ +  + z +  +!,+y+J+ + +^+%o+ +!-+ &}!+"')%+++ ("#""s""  " s "  "!#"s"C"" "S"%c" "!#" &s!"" %""" *" #& !$%(&)+.!!$ & &#x*-AA#-g$; /7G *2FHH.O 08M 577#2#3;P$9;;$&wU*,,!#%5 6#%x.6l! ( %&&& ##J0A8LL Az** TTT4xetd      d4uE  %k !"F# .///d   8::::zFFFR    D   eeePNNNb>$JJJZr