Skip to content

Commit 3bacb07

Browse files
committed
fix: remove redundant paths in dunder methods
1 parent 12885b6 commit 3bacb07

1 file changed

Lines changed: 23 additions & 58 deletions

File tree

src/flint/fmpz.pyx

Lines changed: 23 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -174,18 +174,13 @@ cdef class fmpz(flint_scalar):
174174
return -self
175175

176176
def __add__(s, t):
177-
cdef fmpz_struct sval[1]
178177
cdef fmpz_struct tval[1]
179-
cdef int stype = FMPZ_UNKNOWN
180178
cdef int ttype = FMPZ_UNKNOWN
181179
u = NotImplemented
182-
stype = fmpz_set_any_ref(sval, s)
183-
if stype != FMPZ_UNKNOWN:
184-
ttype = fmpz_set_any_ref(tval, t)
185-
if ttype != FMPZ_UNKNOWN:
186-
u = fmpz.__new__(fmpz)
187-
fmpz_add((<fmpz>u).val, sval, tval)
188-
if stype == FMPZ_TMP: fmpz_clear(sval)
180+
ttype = fmpz_set_any_ref(tval, t)
181+
if ttype != FMPZ_UNKNOWN:
182+
u = fmpz.__new__(fmpz)
183+
fmpz_add((<fmpz>u).val, s.val, tval)
189184
if ttype == FMPZ_TMP: fmpz_clear(tval)
190185
return u
191186

@@ -201,18 +196,13 @@ cdef class fmpz(flint_scalar):
201196
return u
202197

203198
def __sub__(s, t):
204-
cdef fmpz_struct sval[1]
205199
cdef fmpz_struct tval[1]
206-
cdef int stype = FMPZ_UNKNOWN
207200
cdef int ttype = FMPZ_UNKNOWN
208201
u = NotImplemented
209-
stype = fmpz_set_any_ref(sval, s)
210-
if stype != FMPZ_UNKNOWN:
211-
ttype = fmpz_set_any_ref(tval, t)
212-
if ttype != FMPZ_UNKNOWN:
213-
u = fmpz.__new__(fmpz)
214-
fmpz_sub((<fmpz>u).val, sval, tval)
215-
if stype == FMPZ_TMP: fmpz_clear(sval)
202+
ttype = fmpz_set_any_ref(tval, t)
203+
if ttype != FMPZ_UNKNOWN:
204+
u = fmpz.__new__(fmpz)
205+
fmpz_sub((<fmpz>u).val, s.val, tval)
216206
if ttype == FMPZ_TMP: fmpz_clear(tval)
217207
return u
218208

@@ -228,18 +218,13 @@ cdef class fmpz(flint_scalar):
228218
return u
229219

230220
def __mul__(s, t):
231-
cdef fmpz_struct sval[1]
232221
cdef fmpz_struct tval[1]
233-
cdef int stype = FMPZ_UNKNOWN
234222
cdef int ttype = FMPZ_UNKNOWN
235223
u = NotImplemented
236-
stype = fmpz_set_any_ref(sval, s)
237-
if stype != FMPZ_UNKNOWN:
238-
ttype = fmpz_set_any_ref(tval, t)
239-
if ttype != FMPZ_UNKNOWN:
240-
u = fmpz.__new__(fmpz)
241-
fmpz_mul((<fmpz>u).val, sval, tval)
242-
if stype == FMPZ_TMP: fmpz_clear(sval)
224+
ttype = fmpz_set_any_ref(tval, t)
225+
if ttype != FMPZ_UNKNOWN:
226+
u = fmpz.__new__(fmpz)
227+
fmpz_mul((<fmpz>u).val, s.val, tval)
243228
if ttype == FMPZ_TMP: fmpz_clear(tval)
244229
return u
245230

@@ -255,9 +240,7 @@ cdef class fmpz(flint_scalar):
255240
return u
256241

257242
def __floordiv__(s, t):
258-
cdef fmpz_struct sval[1]
259243
cdef fmpz_struct tval[1]
260-
cdef int stype = FMPZ_UNKNOWN
261244
cdef int ttype = FMPZ_UNKNOWN
262245
u = NotImplemented
263246
ttype = fmpz_set_any_ref(tval, t)
@@ -266,11 +249,8 @@ cdef class fmpz(flint_scalar):
266249
if ttype == FMPZ_TMP:
267250
fmpz_clear(tval)
268251
raise ZeroDivisionError("fmpz division by zero")
269-
stype = fmpz_set_any_ref(sval, s)
270-
if stype != FMPZ_UNKNOWN:
271-
u = fmpz.__new__(fmpz)
272-
fmpz_fdiv_q((<fmpz>u).val, sval, tval)
273-
if stype == FMPZ_TMP: fmpz_clear(sval)
252+
u = fmpz.__new__(fmpz)
253+
fmpz_fdiv_q((<fmpz>u).val, s.val, tval)
274254
if ttype == FMPZ_TMP: fmpz_clear(tval)
275255
return u
276256

@@ -290,9 +270,7 @@ cdef class fmpz(flint_scalar):
290270
return u
291271

292272
def __mod__(s, t):
293-
cdef fmpz_struct sval[1]
294273
cdef fmpz_struct tval[1]
295-
cdef int stype = FMPZ_UNKNOWN
296274
cdef int ttype = FMPZ_UNKNOWN
297275
u = NotImplemented
298276
ttype = fmpz_set_any_ref(tval, t)
@@ -301,11 +279,8 @@ cdef class fmpz(flint_scalar):
301279
if ttype == FMPZ_TMP:
302280
fmpz_clear(tval)
303281
raise ZeroDivisionError("fmpz division by zero")
304-
stype = fmpz_set_any_ref(sval, s)
305-
if stype != FMPZ_UNKNOWN:
306-
u = fmpz.__new__(fmpz)
307-
fmpz_fdiv_r((<fmpz>u).val, sval, tval)
308-
if stype == FMPZ_TMP: fmpz_clear(sval)
282+
u = fmpz.__new__(fmpz)
283+
fmpz_fdiv_r((<fmpz>u).val, s.val, tval)
309284
if ttype == FMPZ_TMP: fmpz_clear(tval)
310285
return u
311286

@@ -325,9 +300,7 @@ cdef class fmpz(flint_scalar):
325300
return u
326301

327302
def __divmod__(s, t):
328-
cdef fmpz_struct sval[1]
329303
cdef fmpz_struct tval[1]
330-
cdef int stype = FMPZ_UNKNOWN
331304
cdef int ttype = FMPZ_UNKNOWN
332305
u = NotImplemented
333306
ttype = fmpz_set_any_ref(tval, t)
@@ -336,13 +309,10 @@ cdef class fmpz(flint_scalar):
336309
if ttype == FMPZ_TMP:
337310
fmpz_clear(tval)
338311
raise ZeroDivisionError("fmpz division by zero")
339-
stype = fmpz_set_any_ref(sval, s)
340-
if stype != FMPZ_UNKNOWN:
341-
u1 = fmpz.__new__(fmpz)
342-
u2 = fmpz.__new__(fmpz)
343-
fmpz_fdiv_qr((<fmpz>u1).val, (<fmpz>u2).val, sval, tval)
344-
u = u1, u2
345-
if stype == FMPZ_TMP: fmpz_clear(sval)
312+
u1 = fmpz.__new__(fmpz)
313+
u2 = fmpz.__new__(fmpz)
314+
fmpz_fdiv_qr((<fmpz>u1).val, (<fmpz>u2).val, s.val, tval)
315+
u = u1, u2
346316
if ttype == FMPZ_TMP: fmpz_clear(tval)
347317
return u
348318

@@ -364,18 +334,13 @@ cdef class fmpz(flint_scalar):
364334
return u
365335

366336
def __pow__(s, t, m):
367-
cdef fmpz_struct sval[1]
368-
cdef int stype = FMPZ_UNKNOWN
369337
cdef ulong exp
370338
u = NotImplemented
371339
if m is not None:
372340
raise NotImplementedError("modular exponentiation")
373-
stype = fmpz_set_any_ref(sval, s)
374-
if stype != FMPZ_UNKNOWN:
375-
c = t
376-
u = fmpz.__new__(fmpz)
377-
fmpz_pow_ui((<fmpz>u).val, sval, c)
378-
if stype == FMPZ_TMP: fmpz_clear(sval)
341+
c = t
342+
u = fmpz.__new__(fmpz)
343+
fmpz_pow_ui((<fmpz>u).val, s.val, c)
379344
return u
380345

381346
def __rpow__(s, t, m):

0 commit comments

Comments
 (0)