File: //usr/local/lib/python3.10/dist-packages/numpy/distutils/fcompiler/__pycache__/gnu.cpython-310.pyc
o
���gP �
@ sF d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z m
Z
mZ d dlm
Z
d dlmZ d dlmZ ddgZe �d�Zd d
� ZG dd� de�ZG dd� de�Zd
d� Zedkr�d dlmZ d dlmZ e�d� eed�� � � zeed�� � � W dS e!y� Z" zee"� W Y dZ"["dS dZ"["ww dS )� N)�Popen�PIPE�STDOUT)�filepath_from_subprocess_output)� FCompiler)�LooseVersion�GnuFCompiler�Gnu95FCompilerzTarget: ([a-zA-Z0-9_\-]*)c C s t jdkot�� d dkS )N�win32r �64bit)�sys�platform�architecture� r r �H/usr/local/lib/python3.10/dist-packages/numpy/distutils/fcompiler/gnu.py�is_win64 s r c @ s� e Zd ZdZdZdZdd� Zdd� Zdd gZd
dgg d�d
d
g d
�ddgdgg d
�d�Z d
Z
d
Zej
dkr=ejdkr=dgZejdkrNdD ] Ze e �d� qDdZdZdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd
S ).r �gnu)�g77zGNU Fortran 77 compilerc C s� |� d�r||�d�d d� �� }|� d�st|�dkr?t�d|�}|r>|� d�r1d|�d�fS |�� d kr>d
|�d�fS n3t�d|�}|rNd
|�d�fS t�d|�}|rr|�d�}|� d
�sj|� d�sj|� d�rnd|fS d
|fS d}t|| ��)z6Handle the different versions of GNU fortran compilerszgfortran: warning�
� N� z ([0-9.]+)zGNU Fortranr r �gfortranzGNU Fortran\s+95.*?([0-9-.]+)z%GNU Fortran.*?\-?([0-9-.]+\.[0-9-.]+)�0�2�3z6A valid Fortran version was not found in this string:
) �
startswith�find�strip�len�re�search�group�start�
ValueError)�self�version_string�m�v�errr r r �gnu_version_match s2
�
�
��
zGnuFCompiler.gnu_version_matchc C s&