@@ -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