o
    >~#g†  ã                   @   sJ   d Z ddlZdd„ Zdd„ Zdd„ Zdd	d
„Zdd„ Zdd„ Zdd„ ZdS )zKThis module implements additional tests ala autoconf which can be useful.

é    Nc                 C   óB   |   ¡  t d¡}dD ]}|  |d|i dd¡}|r|  S qdS )z,Return the inline identifier (may be empty).zÜ
        #ifndef __cplusplus
        static %(inline)s int static_func (void)
        {
            return 0;
        }
        %(inline)s int nostatic_func (void)
        {
            return 0;
        }
        #endif)ÚinlineÚ
__inline__Ú__inliner   NÚ ©Ú_check_compilerÚtextwrapÚdedentÚtry_compile©ÚcmdÚbodyÚkwÚst© r   ú…/var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/numpy/distutils/command/autodist.pyÚcheck_inline   s   
ÿr   c                 C   r   )z.Return the restrict identifier (may be empty).zj
        static int static_func (char * %(restrict)s a)
        {
            return 0;
        }
        )ÚrestrictÚ__restrict__Ú
__restrictr   Nr   r   r   r   r   r   Úcheck_restrict   s   
ÿr   c                 C   s    |   ¡  t d¡}|  |dd¡S )zCheck if the compiler is GCC.zš
        int
        main()
        {
        #if (! defined __GNUC__)
        #error gcc required
        #endif
            return 0;
        }
        Nr   )r   r   r   r   r   Úcheck_compiler_gcc1   s   

r   c                 C   sN   |   ¡  d t|ƒt|ƒt|ƒg¡}t d¡}||||dœ}|  || dd¡S )zB
    Check that the gcc version is at least the specified version.Ú.a1  
        int
        main()
        {
        #if (! defined __GNUC__) || (__GNUC__ < %(major)d) || \
                (__GNUC_MINOR__ < %(minor)d) || \
                (__GNUC_PATCHLEVEL__ < %(patchlevel)d)
        #error gcc >= %(version)s required
        #endif
            return 0;
        }
        )ÚversionÚmajorÚminorÚ
patchlevelN)r   ÚjoinÚstrr	   r
   r   )r   r   r   r   r   r   r   r   r   r   Úcheck_gcc_version_at_leastB   s   
ÿr    c                 C   s,   |   ¡  t d¡||f }|  |dd¡dkS )z9Return True if the given function attribute is supported.a  
        #pragma GCC diagnostic error "-Wattributes"
        #pragma clang diagnostic error "-Wattributes"

        int %s %s(void* unused)
        {
            return 0;
        }

        int
        main()
        {
            return 0;
        }
        Nr   r   )r   Ú	attributeÚnamer   r   r   r   Úcheck_gcc_function_attributeZ   s
   òr#   c                 C   s0   |   ¡  t d¡||||f }|  |dd¡dkS )zMReturn True if the given function attribute is supported with
    intrinsics.z¶
        #include<%s>
        int %s %s(void)
        {
            %s;
            return 0;
        }

        int
        main()
        {
            return 0;
        }
        Nr   r   )r   r!   r"   ÚcodeÚincluder   r   r   r   Ú,check_gcc_function_attribute_with_intrinsicso   s
   
ór&   c                 C   s*   |   ¡  t d¡|f }|  |dd¡dkS )z9Return True if the given variable attribute is supported.zÎ
        #pragma GCC diagnostic error "-Wattributes"
        #pragma clang diagnostic error "-Wattributes"

        int %s foo;

        int
        main()
        {
            return 0;
        }
        Nr   r   )r   r!   r   r   r   r   Úcheck_gcc_variable_attribute…   s
   õr'   )r   r   )	Ú__doc__r	   r   r   r   r    r#   r&   r'   r   r   r   r   Ú<module>   s    
