U
    ¸mœdc  ã                   @   s¸   d dl Z d dlZd dlZddlmZ ejje  ¡ dkdd�ejje 	ej
¡jdk dd�G d	d
„ d
ejƒƒƒZejje  ¡ dkdd�ejje 	ej
¡jdk dd�G dd„ dejƒƒƒZdS )é    Né   )ÚutilÚDarwinzVProne to error when run with numpy/f2py/tests on mac os, but not when run in isolation)Úreasoné   z32-bit builds are buggyc                   @   s.   e Zd ZdZdZde› de› d�Zdd„ ZdS )	ÚTestMultilineú.pyfÚ	multilineú
python module zô
    usercode '''
void foo(int* x) {
    char dummy = ';';
    *x = 42;
}
'''
    interface
        subroutine foo(x)
            intent(c) foo
            integer intent(out) :: x
        end subroutine foo
    end interface
end python module ú
    c                 C   s   | j  ¡ dkst‚d S ©Né*   ©ÚmoduleZfooÚAssertionError©Úself© r   ú^/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/numpy/f2py/tests/test_semicolon_split.pyÚtest_multiline%   s    zTestMultiline.test_multilineN)Ú__name__Ú
__module__Ú__qualname__ÚsuffixÚmodule_nameÚcoder   r   r   r   r   r      s   
ÿÿr   c                   @   s.   e Zd ZdZdZde› de› d�Zdd„ ZdS )	ÚTestCallstatementr   Zcallstatementr
   aN  
    usercode '''
void foo(int* x) {
}
'''
    interface
        subroutine foo(x)
            intent(c) foo
            integer intent(out) :: x
            callprotoargument int*
            callstatement { &
                ; &
                x = 42; &
            }
        end subroutine foo
    end interface
end python module r   c                 C   s   | j  ¡ dkst‚d S r   r   r   r   r   r   Útest_callstatementI   s    z$TestCallstatement.test_callstatementN)r   r   r   r   r   r   r   r   r   r   r   r   )   s   
ÿÿr   )ÚplatformZpytestÚnumpyÚnpÚ r   ÚmarkZskipifÚsystemZdtypeZintpÚitemsizeZF2PyTestr   r   r   r   r   r   Ú<module>   s*   
þþ
þþ