Current Dir: /snap/core22/2955/usr/lib/python3.10/__pycache__/
[FILE] abc.cpython-310.pyc [ edit | delete | rename ]
[FILE] aifc.cpython-310.pyc [ edit | delete | rename ]
[FILE] antigravity.cpython-310.pyc [ edit | delete | rename ]
[FILE] argparse.cpython-310.pyc [ edit | delete | rename ]
[FILE] ast.cpython-310.pyc [ edit | delete | rename ]
[FILE] asynchat.cpython-310.pyc [ edit | delete | rename ]
[FILE] asyncore.cpython-310.pyc [ edit | delete | rename ]
[FILE] base64.cpython-310.pyc [ edit | delete | rename ]
[FILE] bdb.cpython-310.pyc [ edit | delete | rename ]
[FILE] binhex.cpython-310.pyc [ edit | delete | rename ]
[FILE] bisect.cpython-310.pyc [ edit | delete | rename ]
[FILE] bz2.cpython-310.pyc [ edit | delete | rename ]
[FILE] calendar.cpython-310.pyc [ edit | delete | rename ]
[FILE] cgi.cpython-310.pyc [ edit | delete | rename ]
[FILE] cgitb.cpython-310.pyc [ edit | delete | rename ]
[FILE] chunk.cpython-310.pyc [ edit | delete | rename ]
[FILE] cmd.cpython-310.pyc [ edit | delete | rename ]
[FILE] code.cpython-310.pyc [ edit | delete | rename ]
[FILE] codecs.cpython-310.pyc [ edit | delete | rename ]
[FILE] codeop.cpython-310.pyc [ edit | delete | rename ]
[FILE] colorsys.cpython-310.pyc [ edit | delete | rename ]
[FILE] compileall.cpython-310.pyc [ edit | delete | rename ]
[FILE] configparser.cpython-310.pyc [ edit | delete | rename ]
[FILE] contextlib.cpython-310.pyc [ edit | delete | rename ]
[FILE] contextvars.cpython-310.pyc [ edit | delete | rename ]
[FILE] copy.cpython-310.pyc [ edit | delete | rename ]
[FILE] copyreg.cpython-310.pyc [ edit | delete | rename ]
[FILE] cProfile.cpython-310.pyc [ edit | delete | rename ]
[FILE] crypt.cpython-310.pyc [ edit | delete | rename ]
[FILE] csv.cpython-310.pyc [ edit | delete | rename ]
[FILE] dataclasses.cpython-310.pyc [ edit | delete | rename ]
[FILE] datetime.cpython-310.pyc [ edit | delete | rename ]
[FILE] decimal.cpython-310.pyc [ edit | delete | rename ]
[FILE] difflib.cpython-310.pyc [ edit | delete | rename ]
[FILE] dis.cpython-310.pyc [ edit | delete | rename ]
[FILE] doctest.cpython-310.pyc [ edit | delete | rename ]
[FILE] enum.cpython-310.pyc [ edit | delete | rename ]
[FILE] filecmp.cpython-310.pyc [ edit | delete | rename ]
[FILE] fileinput.cpython-310.pyc [ edit | delete | rename ]
[FILE] fnmatch.cpython-310.pyc [ edit | delete | rename ]
[FILE] fractions.cpython-310.pyc [ edit | delete | rename ]
[FILE] ftplib.cpython-310.pyc [ edit | delete | rename ]
[FILE] functools.cpython-310.pyc [ edit | delete | rename ]
[FILE] genericpath.cpython-310.pyc [ edit | delete | rename ]
[FILE] getopt.cpython-310.pyc [ edit | delete | rename ]
[FILE] getpass.cpython-310.pyc [ edit | delete | rename ]
[FILE] gettext.cpython-310.pyc [ edit | delete | rename ]
[FILE] glob.cpython-310.pyc [ edit | delete | rename ]
[FILE] graphlib.cpython-310.pyc [ edit | delete | rename ]
[FILE] gzip.cpython-310.pyc [ edit | delete | rename ]
[FILE] hashlib.cpython-310.pyc [ edit | delete | rename ]
[FILE] heapq.cpython-310.pyc [ edit | delete | rename ]
[FILE] hmac.cpython-310.pyc [ edit | delete | rename ]
[FILE] imaplib.cpython-310.pyc [ edit | delete | rename ]
[FILE] imghdr.cpython-310.pyc [ edit | delete | rename ]
[FILE] imp.cpython-310.pyc [ edit | delete | rename ]
[FILE] inspect.cpython-310.pyc [ edit | delete | rename ]
[FILE] io.cpython-310.pyc [ edit | delete | rename ]
[FILE] ipaddress.cpython-310.pyc [ edit | delete | rename ]
[FILE] keyword.cpython-310.pyc [ edit | delete | rename ]
[FILE] linecache.cpython-310.pyc [ edit | delete | rename ]
[FILE] locale.cpython-310.pyc [ edit | delete | rename ]
[FILE] lzma.cpython-310.pyc [ edit | delete | rename ]
[FILE] mailbox.cpython-310.pyc [ edit | delete | rename ]
[FILE] mailcap.cpython-310.pyc [ edit | delete | rename ]
[FILE] mimetypes.cpython-310.pyc [ edit | delete | rename ]
[FILE] modulefinder.cpython-310.pyc [ edit | delete | rename ]
[FILE] netrc.cpython-310.pyc [ edit | delete | rename ]
[FILE] nntplib.cpython-310.pyc [ edit | delete | rename ]
[FILE] ntpath.cpython-310.pyc [ edit | delete | rename ]
[FILE] nturl2path.cpython-310.pyc [ edit | delete | rename ]
[FILE] numbers.cpython-310.pyc [ edit | delete | rename ]
[FILE] opcode.cpython-310.pyc [ edit | delete | rename ]
[FILE] operator.cpython-310.pyc [ edit | delete | rename ]
[FILE] optparse.cpython-310.pyc [ edit | delete | rename ]
[FILE] os.cpython-310.pyc [ edit | delete | rename ]
[FILE] pathlib.cpython-310.pyc [ edit | delete | rename ]
[FILE] pdb.cpython-310.pyc [ edit | delete | rename ]
[FILE] pickle.cpython-310.pyc [ edit | delete | rename ]
[FILE] pickletools.cpython-310.pyc [ edit | delete | rename ]
[FILE] pipes.cpython-310.pyc [ edit | delete | rename ]
[FILE] pkgutil.cpython-310.pyc [ edit | delete | rename ]
[FILE] platform.cpython-310.pyc [ edit | delete | rename ]
[FILE] plistlib.cpython-310.pyc [ edit | delete | rename ]
[FILE] poplib.cpython-310.pyc [ edit | delete | rename ]
[FILE] posixpath.cpython-310.pyc [ edit | delete | rename ]
[FILE] pprint.cpython-310.pyc [ edit | delete | rename ]
[FILE] profile.cpython-310.pyc [ edit | delete | rename ]
[FILE] pstats.cpython-310.pyc [ edit | delete | rename ]
[FILE] pty.cpython-310.pyc [ edit | delete | rename ]
[FILE] pyclbr.cpython-310.pyc [ edit | delete | rename ]
[FILE] pydoc.cpython-310.pyc [ edit | delete | rename ]
[FILE] py_compile.cpython-310.pyc [ edit | delete | rename ]
[FILE] queue.cpython-310.pyc [ edit | delete | rename ]
[FILE] quopri.cpython-310.pyc [ edit | delete | rename ]
[FILE] random.cpython-310.pyc [ edit | delete | rename ]
[FILE] re.cpython-310.pyc [ edit | delete | rename ]
[FILE] reprlib.cpython-310.pyc [ edit | delete | rename ]
[FILE] rlcompleter.cpython-310.pyc [ edit | delete | rename ]
[FILE] runpy.cpython-310.pyc [ edit | delete | rename ]
[FILE] sched.cpython-310.pyc [ edit | delete | rename ]
[FILE] secrets.cpython-310.pyc [ edit | delete | rename ]
[FILE] selectors.cpython-310.pyc [ edit | delete | rename ]
[FILE] shelve.cpython-310.pyc [ edit | delete | rename ]
[FILE] shlex.cpython-310.pyc [ edit | delete | rename ]
[FILE] shutil.cpython-310.pyc [ edit | delete | rename ]
[FILE] signal.cpython-310.pyc [ edit | delete | rename ]
[FILE] site.cpython-310.pyc [ edit | delete | rename ]
[FILE] sitecustomize.cpython-310.pyc [ edit | delete | rename ]
[FILE] smtpd.cpython-310.pyc [ edit | delete | rename ]
[FILE] smtplib.cpython-310.pyc [ edit | delete | rename ]
[FILE] sndhdr.cpython-310.pyc [ edit | delete | rename ]
[FILE] socket.cpython-310.pyc [ edit | delete | rename ]
[FILE] socketserver.cpython-310.pyc [ edit | delete | rename ]
[FILE] sre_compile.cpython-310.pyc [ edit | delete | rename ]
[FILE] sre_constants.cpython-310.pyc [ edit | delete | rename ]
[FILE] sre_parse.cpython-310.pyc [ edit | delete | rename ]
[FILE] ssl.cpython-310.pyc [ edit | delete | rename ]
[FILE] stat.cpython-310.pyc [ edit | delete | rename ]
[FILE] statistics.cpython-310.pyc [ edit | delete | rename ]
[FILE] string.cpython-310.pyc [ edit | delete | rename ]
[FILE] stringprep.cpython-310.pyc [ edit | delete | rename ]
[FILE] struct.cpython-310.pyc [ edit | delete | rename ]
[FILE] subprocess.cpython-310.pyc [ edit | delete | rename ]
[FILE] sunau.cpython-310.pyc [ edit | delete | rename ]
[FILE] symtable.cpython-310.pyc [ edit | delete | rename ]
[FILE] sysconfig.cpython-310.pyc [ edit | delete | rename ]
[FILE] tabnanny.cpython-310.pyc [ edit | delete | rename ]
[FILE] tarfile.cpython-310.pyc [ edit | delete | rename ]
[FILE] telnetlib.cpython-310.pyc [ edit | delete | rename ]
[FILE] tempfile.cpython-310.pyc [ edit | delete | rename ]
[FILE] textwrap.cpython-310.pyc [ edit | delete | rename ]
[FILE] this.cpython-310.pyc [ edit | delete | rename ]
[FILE] threading.cpython-310.pyc [ edit | delete | rename ]
[FILE] timeit.cpython-310.pyc [ edit | delete | rename ]
[FILE] token.cpython-310.pyc [ edit | delete | rename ]
[FILE] tokenize.cpython-310.pyc [ edit | delete | rename ]
[FILE] trace.cpython-310.pyc [ edit | delete | rename ]
[FILE] traceback.cpython-310.pyc [ edit | delete | rename ]
[FILE] tracemalloc.cpython-310.pyc [ edit | delete | rename ]
[FILE] tty.cpython-310.pyc [ edit | delete | rename ]
[FILE] turtle.cpython-310.pyc [ edit | delete | rename ]
[FILE] types.cpython-310.pyc [ edit | delete | rename ]
[FILE] typing.cpython-310.pyc [ edit | delete | rename ]
[FILE] uu.cpython-310.pyc [ edit | delete | rename ]
[FILE] uuid.cpython-310.pyc [ edit | delete | rename ]
[FILE] warnings.cpython-310.pyc [ edit | delete | rename ]
[FILE] wave.cpython-310.pyc [ edit | delete | rename ]
[FILE] weakref.cpython-310.pyc [ edit | delete | rename ]
[FILE] webbrowser.cpython-310.pyc [ edit | delete | rename ]
[FILE] xdrlib.cpython-310.pyc [ edit | delete | rename ]
[FILE] zipapp.cpython-310.pyc [ edit | delete | rename ]
[FILE] zipfile.cpython-310.pyc [ edit | delete | rename ]
[FILE] zipimport.cpython-310.pyc [ edit | delete | rename ]
[FILE] _aix_support.cpython-310.pyc [ edit | delete | rename ]
[FILE] _bootsubprocess.cpython-310.pyc [ edit | delete | rename ]
[FILE] _collections_abc.cpython-310.pyc [ edit | delete | rename ]
[FILE] _compat_pickle.cpython-310.pyc [ edit | delete | rename ]
[FILE] _compression.cpython-310.pyc [ edit | delete | rename ]
[FILE] _distutils_system_mod.cpython-310.pyc [ edit | delete | rename ]
[FILE] _markupbase.cpython-310.pyc [ edit | delete | rename ]
[FILE] _osx_support.cpython-310.pyc [ edit | delete | rename ]
[FILE] _pydecimal.cpython-310.pyc [ edit | delete | rename ]
[FILE] _pyio.cpython-310.pyc [ edit | delete | rename ]
[FILE] _py_abc.cpython-310.pyc [ edit | delete | rename ]
[FILE] _sitebuiltins.cpython-310.pyc [ edit | delete | rename ]
[FILE] _strptime.cpython-310.pyc [ edit | delete | rename ]
[FILE] _sysconfigdata__linux_x86_64-linux-gnu.cpython-310.pyc [ edit | delete | rename ]
[FILE] _sysconfigdata__x86_64-linux-gnu.cpython-310.pyc [ edit | delete | rename ]
[FILE] _threading_local.cpython-310.pyc [ edit | delete | rename ]
[FILE] _weakrefset.cpython-310.pyc [ edit | delete | rename ]
[FILE] __future__.cpython-310.pyc [ edit | delete | rename ]
[FILE] __phello__.foo.cpython-310.pyc [ edit | delete | rename ]
Viewing: /snap/core22/2955/usr/lib/python3.10/__pycache__/fractions.cpython-310.pyc
o
�9jRn � @ sx d Z ddlmZ ddlZddlZddlZddlZddlZdgZej j
Zej jZ
e�dejejB �ZG dd� dej�ZdS )z+Fraction, infinite-precision, real numbers.� ��DecimalN�FractionaC
\A\s* # optional whitespace at the start, then
(?P<sign>[-+]?) # an optional sign, then
(?=\d|\.\d) # lookahead for digit or .digit
(?P<num>\d*) # numerator (possibly empty)
(?: # followed by
(?:/(?P<denom>\d+))? # an optional denominator
| # or
(?:\.(?P<decimal>\d*))? # an optional fractional part
(?:E(?P<exp>[-+]?\d+))? # and optional exponent
)
\s*\Z # and optional whitespace to finish
c s� e Zd ZdZdZdRdd�� fdd�Zed d
� �Zedd� �Zd
d� Z dSdd�Z
edd� �Zedd� �Z
dd� Zdd� Zdd� Zdd� Zeeej�\ZZdd� Zeeej�\ZZd d!� Zeeej�\ZZd"d#� Zeeej�\Z Z!d$d%� Z"ee"ej#�\Z$Z%d&d'� Z&ee&e'�\Z(Z)d(d)� Z*ee*ej+�\Z,Z-d*d+� Z.d,d-� Z/d.d/� Z0d0d1� Z1d2d3� Z2d4d5� Z3d6d7� Z4d8d9� Z5dTd:d;�Z6d<d=� Z7d>d?� Z8d@dA� Z9dBdC� Z:dDdE� Z;dFdG� Z<dHdI� Z=dJdK� Z>dLdM� Z?dNdO� Z@dPdQ� ZA� ZBS )Ur a] This class implements rational numbers.
In the two-argument form of the constructor, Fraction(8, 6) will
produce a rational number equivalent to 4/3. Both arguments must
be Rational. The numerator defaults to 0 and the denominator
defaults to 1 so that Fraction(3) == 3 and Fraction() == 0.
Fractions can also be constructed from:
- numeric strings similar to those accepted by the
float constructor (for example, '-2.3' or '1e10')
- strings of the form '123/456'
- float and Decimal instances
- other Rational instances (including integers)
��
_numerator�_denominatorr NT��
_normalizec s t t| ��| �}|du r�t|�tu r||_d|_|S t|tj �r*|j
|_|j|_|S t|tt
f�r;|�� \|_|_|S t|t�r�t�|�}|du rOtd| ��t|�d�pVd�}|�d�}|rdt|�}n8d}|�d�}|rdt|� }|| t|� }||9 }|�d �} | r�t| �} | d
kr�|d| 9 }n|d| 9 }|�d�dkr�| }n3td
��t|�t u r�t|�u r�n nnt|tj �r�t|tj �r�|j
|j |j
|j }}ntd��|d
kr�td| ��|r�t�||�}
|d
k r�|
}
||
}||
}||_||_|S )a� Constructs a Rational.
Takes a string like '3/2' or '1.5', another Rational instance, a
numerator/denominator pair, or a float.
Examples
--------
>>> Fraction(10, -8)
Fraction(-5, 4)
>>> Fraction(Fraction(1, 7), 5)
Fraction(1, 35)
>>> Fraction(Fraction(1, 7), Fraction(2, 3))
Fraction(3, 14)
>>> Fraction('314')
Fraction(314, 1)
>>> Fraction('-35/4')
Fraction(-35, 4)
>>> Fraction('3.1415') # conversion from numeric string
Fraction(6283, 2000)
>>> Fraction('-47e-2') # string may include a decimal exponent
Fraction(-47, 100)
>>> Fraction(1.47) # direct construction from float (exact conversion)
Fraction(6620291452234629, 4503599627370496)
>>> Fraction(2.25)
Fraction(9, 4)
>>> Fraction(Decimal('1.47'))
Fraction(147, 100)
N� z Invalid literal for Fraction: %r�num�0�denom�decimal�
�expr �sign�-z2argument should be a string or a Rational instancez+both arguments should be Rational instanceszFraction(%s, 0))�superr �__new__�type�intr r �
isinstance�numbers�Rational� numerator�denominator�floatr �as_integer_ratio�str�_RATIONAL_FORMAT�match�
ValueError�group�len� TypeError�ZeroDivisionError�math�gcd)�clsr r r �self�mr
r �scaler �g�� __class__� � /usr/lib/python3.10/fractions.pyr >