U ã€C^B ã@s–dZddlmZmZmZdddgZddlZddlZddlZddl Z ddl m Z dd l m Z dd l mZe jZe jZddd„ZddlmZeeƒZ[dS)z(Fortran to Python Interface Generator. é)ÚdivisionÚabsolute_importÚprint_functionÚrun_mainÚcompileÚ f2py_testingNé)Úf2py2e)r)ÚdiagnoseÚuntitledÚTú.fc CsNddl}ddl}|dkr4|j|d�\}} t |¡n|} t|tƒsLt|dƒ}zæt| dƒ�}|  |¡W5QRXdd||j g} t|t j j ƒr¢tj dk} |j|| d �}|  |¡tjdd g| } zt | ¡} WnJtjk rø}z|j}d } W5d}~XYn*tk �rd }d } YnXd}|  ¡} |�r0t| ƒW5|dk�rHt | ¡X|S) a› Build extension module from a Fortran 77 source string with f2py. Parameters ---------- source : str or bytes Fortran source of module / subroutine to compile .. versionchanged:: 1.16.0 Accept str as well as bytes modulename : str, optional The name of the compiled python module extra_args : str or list, optional Additional parameters passed to f2py .. versionchanged:: 1.16.0 A list of args may also be provided. verbose : bool, optional Print f2py output to screen source_fn : str, optional Name of the file where the fortran source is written. The default is to use a temporary file with the extension provided by the `extension` parameter extension : {'.f', '.f90'}, optional Filename extension if `source_fn` is not provided. The extension tells which fortran standard is used. The default is `.f`, which implies F77 standard. .. versionadded:: 1.11.0 Returns ------- result : int 0 on success Examples -------- .. include:: compile_session.dat :literal: rN)Úsuffixzutf-8Úwz-cz-mÚposix)rz)import numpy.f2py as f2py2e;f2py2e.main()r é)ÚtempfileÚshlexÚmkstempÚosÚcloseÚ isinstanceÚstrÚremoveÚopenÚwriteÚnameÚnpÚcompatÚ basestringÚsplitÚextendÚsysÚ executableÚ subprocessÚ check_outputÚCalledProcessErrorÚ returncodeÚOSErrorÚdecodeÚprint)ÚsourceÚ modulenameÚ extra_argsÚverboseZ source_fnÚ extensionrrÚfÚfnameÚargsZis_posixÚcÚoutputÚexcÚstatus©r7ú6/tmp/pip-install-6_kvzl1k/numpy/numpy/f2py/__init__.pyrsJ2      þþ    )Ú PytestTester)r r TNr )Ú__doc__Ú __future__rrrÚ__all__r"r$rZnumpyrr r rr rÚmainrZnumpy._pytesttesterr9Ú__name__Útestr7r7r7r8Ús(    û a