python (3.11.7)

(root)/
lib/
python3.11/
__pycache__/
fractions.cpython-311.opt-2.pyc

eo	ddlmZddlZddlZddlZddlZddlZdgZejj	Z
ejjZej
dejejzZGddejZdS)DecimalNFractiona
    \A\s*                                 # optional whitespace at the start,
    (?P<sign>[-+]?)                       # an optional sign, then
    (?=\d|\.\d)                           # lookahead for digit or .digit
    (?P<num>\d*|\d+(_\d+)*)               # numerator (possibly empty)
    (?:                                   # followed by
       (?:/(?P<denom>\d+(_\d+)*))?        # an optional denominator
    |                                     # or
       (?:\.(?P<decimal>d*|\d+(_\d+)*))?  # an optional fractional part
       (?:E(?P<exp>[-+]?\d+(_\d+)*))?     # and optional exponent
    )
    \s*\Z                                 # and optional whitespace to finish
cjeZdZ	dZd-ddfdZedZedZd	Zd.dZ	e
dZe
d
ZdZ
dZdZdZeeej\ZZdZeeej\ZZdZeeej\ZZdZeeej\ZZ dZ!ee!ej"\Z#Z$dZ%ee%e&\Z'Z(dZ)ee)ej*\Z+Z,dZ-dZ.dZ/dZ0dZ1ej2fdZ3dZ4dZ5d Z6d/d!Z7d"Z8d#Z9d$Z:d%Z;d&Z<d'Z=d(Z>d)Z?d*Z@d+ZAd,ZBxZCS)0r
_numerator_denominatorrNT
_normalizec	tt||}|t|tur||_d|_|St|tj	r|j
|_|j|_|St|ttfr#|\|_|_|St|tr/t |}|t%d|zt	|dpd}|d}|rt	|}nd}|d}|rB|dd}d	t+|z}||zt	|z}||z}|d
}	|	r't	|	}	|	dkr	|d	|	zz}n	|d	|	zz}|dd
kr|}nt-dt|tcxurt|urnnnbt|tj	r9t|tj	r|j
|jz|j
|jz}}nt-d|dkrt/d|z|r(t1j||}
|dkr|
}
||
z}||
z}||_||_|S)Nz Invalid literal for Fraction: %rnum0denomdecimal_
exprsign-z2argument should be a string or a Rational instancez+both arguments should be Rational instanceszFraction(%s, 0))superr__new__typeintrr	
isinstancenumbersRational	numeratordenominatorfloatras_integer_ratiostr_RATIONAL_FORMATmatch
ValueErrorgroupreplacelen	TypeErrorZeroDivisionErrormathgcd)clsrr rselfmrrscalerg	__class__s           =/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/fractions.pyrzFraction.__new__>s2	<Xs##++C00I#%%"+$%!Iw'788(
:"+"5$-$9!Iw'788#
:5>5O5O5Q5Q2!2Is++
:$**9559$%G%.&/000 5#66	((4"%e**KK"#Kggi00G-")//#r":": "CLL 0$-$5G$D	#u,''%..C4!#hh!88%S0II'2t83K776??c))!*
I !9:::)__
8
8
8
8tK'8'8
8
8
8
8
8G$455	2{G$455	2#k&==%	(==#II
122
2!#$5	$ABBB	K00AQB!OIAK#'c		t|tjr||St|ts/t	|jd|dt
|jd||S)Nz%.from_float() only takes floats, not  ())rrIntegralr!r*__name__rr")r.fs  r4
from_floatzFraction.from_floats	
a)**	A3q66MAu%%	A \\\111d1gg.>.>.>@AA
AsA&&(())r5c	"	ddlm}t|tjr|t|}n?t||s/t
|jd|dt|jd||	S)Nrrz).from_decimal() only takes Decimals, not r7r8)
rrrrr9rr*r:rr")r.decrs   r4from_decimalzFraction.from_decimalsO######c7+,,	9'#c((##CCC))	9sssDII$6$6$6899
9sC((**++r5c 	|j|jfSNrr/s r4r"zFraction.as_integer_ratios	
!233r5@Bc	|dkrtd|j|krt|Sd\}}}}|j|j}}	||z}|||zz}	|	|krn|||||zz|	f\}}}}||||zz
}}0||z
|z}
t||
|zz||
|zz}t||}t	||z
t	||z
kr|S|S)Nr
z$max_denominator should be at least 1)rr
r
r)r&r	rrabs)
r/max_denominatorp0q0p1q1ndaq2kbound1bound2s
             r4limit_denominatorzFraction.limit_denominators!		>QCDDD//D>>!#BB 11	1AAbDBO##R"Wb0NBBa!eqA
	R
"$"QrT'2ad7++"b!!v}VD[!1!111MMr5c|jSrA)rrMs r4rzFraction.numerators
|r5c|jSrA)r	rTs r4r zFraction.denominators
~r5cB	|jjd|jd|jdS)N(z, r8)r3r:rr	rBs r4__repr__zFraction.__repr__	s3#~666#0A0A0AC	Cr5cd	|jdkrt|jS|jd|jS)Nr
/)r	r#rrBs r4__str__zFraction.__str__s:!!t'''"ooot/@/@AAr5c	fd}djzdz|_j|_fd}djzdz|_j|_||fS)Nct|ttfr||St|trt||St|trt	||St
SrA)rrrr!complexNotImplemented)rMbfallback_operatormonomorphic_operators  r4forwardz-Fraction._operator_fallbacks.<locals>.forwardes!c8_--
&++Aq111Au%%
&((q1555Aw''
&((Q777%%r5__c^t|tjr||St|tjr&t	|t	|St|tjr&t
|t
|StSrA)rrrRealr!Complexr^r_)r`rMrarbs  r4reversez-Fraction._operator_fallbacks.<locals>.reverseqs!W-..
&++Aq111Aw|,,
&((q588<<<Aw//
&((WQZZ@@@%%r5__r)r:__doc__)rbrarcrhs``  r4_operator_fallbackszFraction._operator_fallbackssN	^	&	&	&	&	&	& "3"<<tC.6		&		&		&		&		&		&!#4#==D.6r5cj	|j|j}}|j|j}}tj||}|dkrt	||z||zz||zdS||z}|||zz||zz}tj||}	|	dkrt	|||zdSt	||	z|||	zzdSNr
Fr
rr r,r-r
rMr`nadanbdbr2stg2s
          r4_addz
Fraction._addamBamBHR66BGb2g-rBw5IIII!G"'NR!V#
Xa^^
77Aq2v%8888RbBhEBBBBr5cj	|j|j}}|j|j}}tj||}|dkrt	||z||zz
||zdS||z}|||zz||zz
}tj||}	|	dkrt	|||zdSt	||	z|||	zzdSrmrnros
          r4_subz
Fraction._subrxr5c	|j|j}}|j|j}}tj||}|dkr
||z}||z}tj||}|dkr
||z}||z}t	||z||zdSrmrn)rMr`rprqrrrsg1rvs        r4_mulz
Fraction._mulsamBamB
Xb"


662IB2IB
Xb"


662IB2IBRbU;;;;r5c 	|j|j}}|j|j}}tj||}|dkr
||z}||z}tj||}|dkr
||z}||z}||z||z}	}|	dkr||	}	}t	||	dSNr
rFr
rn)
rMr`rprqrrrsr|rvrKrLs
          r4_divz
Fraction._divsamBamB
Xb"


662IB2IB
Xb"


662IB2IBBwR1q552rqA1////r5cB	|j|jz|j|jzzSrArr rMr`s  r4	_floordivzFraction._floordivs"am+1LMMr5c	|j|j}}t|j|z||jz\}}|t|||zfSrA)r divmodrr)rMr`rqrsdivn_mods      r4_divmodzFraction._divmodsL
BAK",b1;.>??
UHUBG,,,,r5cl	|j|j}}t|j|z|j|zz||zSrA)r rr)rMr`rqrss    r4_modz
Fraction._mods9
Br)akB.>?bIIIr5c	t|tjr|jdkr|j}|dkr"t|j|z|j|zdS|jdkr$t|j|z|j|zdSt|j|z|j|zdSt|t|zSt||zSr)	rrrr rrrr	r!)rMr`powers   r4__pow__zFraction.__pow__s	a)**	!}!!A::#ALE$9$%Ne$;/46666\Q&&#ANuf$<$%LUF$:/46666$an_%$?&'l]v$=/46666Qxx588++88q= r5c	|jdkr|jdkr
||jzSt|tjrt|j|j|zS|jdkr
||jzS|t|zS)Nr
r)	r	rrrrrrr r!)r`rMs  r4__rpow__zFraction.__rpow__;s>Q1<1#4#4$$a)**	=AK771<<>Q$$E!HH}r5c<	t|j|jdSNFr
rrr	rTs r4__pos__zFraction.__pos__Is9anGGGGr5c>	t|j|jdSrrrTs r4__neg__zFraction.__neg__Ms 
q~%HHHHr5cV	tt|j|jdSr)rrErr	rTs r4__abs__zFraction.__abs__Qs&AL))1>eLLLLr5c~	|jdkr||j|jzS||j|jzSNrr)rM_indexs  r4__int__zFraction.__int__UsI<!6Q\MQ^;<===6!,!.8999r5cZ	|jdkr|j|jzS|j|jzSrrrTs r4	__trunc__zFraction.__trunc__\s5<!l]an455<1>11r5c"	|j|jzSrArrTs r4	__floor__zFraction.__floor__cs{am++r5c&	|j|jzSrArrTs r4__ceil__zFraction.__ceil__gs+.//r5c\	|Pt|j|j\}}|dz|jkr|S|dz|jkr|dzS|dzdkr|S|dzSdt|z}|dkr t	t||z|St	t||z|zS)Nr
rr)rrr rErround)r/ndigitsfloor	remaindershifts     r4	__round__zFraction.__round__ls	?%dnd6FGGE91}t///Q!111qy aqy CLL Q;;E$,//777E$,//%7888r5c		t|jdt}ttt	|j|z}n#t$r
t}YnwxYw|jdkr|n|}|dkrdn|S)Nr)powr	_PyHASH_MODULUShashrErr&_PyHASH_INF)r/dinvhash_results    r4__hash__zFraction.__hash__s	<t("o>>D(c$/2233d:;;EE'	 	 	 EEE	 (/Q..UFr\\rrv-sAA$#A$c	t|tur|j|ko
|jdkSt	|t
jr |j|jko|j|jkSt	|t
j	r|j
dkr|j}t	|trGtj|stj|rd|kS|||kSt"S)Nr
r)rrrr	rrrrr rgimagrealr!r,isnanisinfr<r_rs  r4__eq__zFraction.__eq__s77c>><1$<1)<<a)**	5LAK/4Nam3
5a))	afkkAa
	"z!}}
,
1


,axALLOO++"!r5cb	t|tjr&||j|jz|j|jzSt|trStj	|stj
|r|d|S||||StS)Nr)
rrrrr r	rr!r,rrr<r_)r/otherops   r4_richcmpzFraction._richcmps	eW-..	;2do(99'%/9;;
;eU##	"z%  
8DJu$5$5
8r#u~~%r$ 6 6777!!r5cD	||tjSrA)roperatorltrs  r4__lt__zFraction.__lt__zz!X[)))r5cD	||tjSrA)rrgtrs  r4__gt__zFraction.__gt__rr5cD	||tjSrA)rrlers  r4__le__zFraction.__le__zz!X[)))r5cD	||tjSrA)rrgers  r4__ge__zFraction.__ge__rr5c,	t|jSrA)boolrrTs r4__bool__zFraction.__bool__sAL!!!r5c,|j|j|jffSrA)r3rr	rBs r4
__reduce__zFraction.__reduce__s$2C DEEr5cvt|tkr|S||j|jSrArrr3rr	rBs r4__copy__zFraction.__copy__1::!!K~~dot/@AAAr5cvt|tkr|S||j|jSrAr)r/memos  r4__deepcopy__zFraction.__deepcopy__rr5)rN)rCrA)Dr:
__module____qualname__	__slots__rclassmethodr<r?r"rRpropertyrr rXr[rkrwradd__add____radd__rzsub__sub____rsub__r}mul__mul____rmul__rtruediv__truediv____rtruediv__rfloordiv__floordiv__
__rfloordiv__rr
__divmod____rdivmod__rmod__mod____rmod__rrrrrindexrrrrrrrrrrrrrrrr
__classcell__)r3s@r4rr&s(/Ih$hhhhhhhT**[*	,	,[	,4445555nXXCCC
BBBi i i ^CCC,+D(,??GXCCC,+D(,??GX<<<,+D(,??GX000$!4 3D(:J K KKNNN#6"5iAR"S"SL----21'6BBJJJJ
,+D(,??GX!!!<HHHIIIMMM#.::::222,,,000
99992...B"""*""",************"""FFFBBB
BBBBBBBr5)rrr,rrresys__all__	hash_infomodulusrinfrcompileVERBOSE
IGNORECASEr$rrr5r4<module>rs6				



,
-'m2:Z"-!!NBNBNBNBNBwNBNBNBNBNBr5