Sindbad~EG File Manager
a
��g�8 � @ sj d Z ddlZddlmZmZmZ ddlmZ dd� Zdd� Z d d
� Z
dd� ZG d
d� de�Z
G dd� dej�ZG dd� d�Zdd� ZG dd� de�ZG dd� deed�ZG dd� de�ZG dd� de�Ze�e� G dd� dej�ZG d d!� d!e�ZG d"d#� d#e�ZG d$d%� d%e�ZG d&d'� d'e�ZG d(d)� d)e�ZG d*d+� d+�ZG d,d-� d-ej�Zed.k�rfe� � dS )/z9Tests for binary operators on subtypes of built-in types.� N)�eq�le�ne)�ABCMetac C s | r|| | } }q |S )z1Greatest common divisor using Euclid's algorithm.� )�a�br r �+/usr/local/lib/python3.9/test/test_binop.py�gcd s r
c C s
t | t�S )z-Test whether an object is an instance of int.)�
isinstance�int��xr r r �isint
s r c C s$ t ttfD ]}t| |�r
dS q
dS )zATest whether an object is an instance of a built-in numeric type.� r )r �float�complexr )r �Tr r r �isnum s
r c C s
t | t�S )z7Test whether an object is an instance of the Rat class.)r �Ratr
r r r �isRat s r c @ s� e Zd ZdZddgZd/dd�Zdd � Zeed
�Zdd� Z ee d
�Z
d
d� Zdd� Zdd� Z
dd� Zdd� ZeZdd� Zdd� Zdd� ZeZdd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd
S )0r z9Rational number implemented as a normalized pair of ints.� _Rat__num� _Rat__denr r c C sb t |�std| ��t |�s(td| ��|dkr8td��t||�}t|| �| _t|| �| _dS )z[Constructor: Rat([num[, den]]).
The arguments must be ints, and default to (0, 1).zRat numerator must be int (%r)z Rat denominator must be int (%r)r zzero denominatorN)r � TypeError�ZeroDivisionErrorr
r r r )�self�num�den�gr r r �__init__"