Skip to content

Commit 827c8be

Browse files
committed
Move similar type checks together to allow C compiler optimisations across checks.
1 parent f17a2b9 commit 827c8be

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

src/quicktions.pyx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -531,12 +531,12 @@ cdef class Fraction:
531531
Beware that Fraction.from_number(0.3) != Fraction(3, 10).
532532
533533
"""
534-
if type(number) is int:
535-
return _fraction_from_coprime_ints(number, 1, cls)
536-
537-
elif type(number) is Fraction:
534+
if type(number) is Fraction:
538535
return _fraction_from_coprime_ints((<Fraction> number)._numerator, (<Fraction> number)._denominator, cls)
539536

537+
elif isinstance(number, int):
538+
return _fraction_from_coprime_ints(number, 1, cls)
539+
540540
elif isinstance(number, float):
541541
n, d = number.as_integer_ratio()
542542
return _fraction_from_coprime_ints(n, d, cls)

0 commit comments

Comments
 (0)