@@ -64,7 +64,7 @@ from flint.flintlib.functions.gr_domains cimport (
6464
6565 gr_ctx_init_real_qqbar,
6666 gr_ctx_init_complex_qqbar,
67- _gr_ctx_qqbar_set_limits,
67+ # _gr_ctx_qqbar_set_limits,
6868
6969 gr_ctx_init_real_ca,
7070 gr_ctx_init_complex_ca,
@@ -89,13 +89,14 @@ from flint.flintlib.functions.gr cimport (
8989 gr_set_str,
9090 gr_get_str,
9191 gr_set,
92+ gr_set_si,
9293 gr_get_si,
9394
9495 gr_zero,
9596 gr_one,
9697 gr_gen,
9798 gr_gens,
98- gr_gens_recursive,
99+ # gr_gens_recursive,
99100 gr_ctx_set_gen_names,
100101
101102 gr_i,
@@ -224,6 +225,15 @@ cdef class gr_ctx(flint_ctx):
224225 raise self ._error(err, " Failed to parse string" )
225226 return py_val
226227
228+ @cython.final
229+ cdef inline gr from_si(self , slong n):
230+ cdef gr py_val
231+ py_val = self .new_gr()
232+ err = gr_set_si(py_val.pval, n, self .ctx_t)
233+ if err != GR_SUCCESS:
234+ raise self ._error(err, " Failed to parse string" )
235+ return py_val
236+
227237 @cython.final
228238 cdef inline str to_str(self , val: gr):
229239 cdef str py_str
@@ -348,25 +358,25 @@ cdef class gr_ctx(flint_ctx):
348358 gr_vec_clear(gens, self .ctx_t)
349359 return py_gens
350360
351- @cython.final
352- cdef inline list _gens_recursive(self ):
353- cdef int err
354- cdef gr g
355- cdef gr_vec_t gens
356- gr_vec_init(gens, 0 , self .ctx_t)
357- err = gr_gens_recursive(gens, self .ctx_t)
358- if err != GR_SUCCESS:
359- raise self ._error(err, " Cannot get recursive generators" )
360- length = gr_vec_length(gens, self .ctx_t)
361- py_gens = [None ] * length
362- for 0 <= i < length:
363- g = self .new_gr()
364- err = gr_set(g.pval, gr_vec_entry_ptr(gens, i, self .ctx_t), self .ctx_t)
365- if err != GR_SUCCESS:
366- raise self ._error(err, " Failed to copy generator." )
367- py_gens[i] = g
368- gr_vec_clear(gens, self .ctx_t)
369- return py_gens
361+ # @cython.final
362+ # cdef inline list _gens_recursive(self):
363+ # cdef int err
364+ # cdef gr g
365+ # cdef gr_vec_t gens
366+ # gr_vec_init(gens, 0, self.ctx_t)
367+ # err = gr_gens_recursive(gens, self.ctx_t)
368+ # if err != GR_SUCCESS:
369+ # raise self._error(err, "Cannot get recursive generators")
370+ # length = gr_vec_length(gens, self.ctx_t)
371+ # py_gens = [None] * length
372+ # for 0 <= i < length:
373+ # g = self.new_gr()
374+ # err = gr_set(g.pval, gr_vec_entry_ptr(gens, i, self.ctx_t), self.ctx_t)
375+ # if err != GR_SUCCESS:
376+ # raise self._error(err, "Failed to copy generator.")
377+ # py_gens[i] = g
378+ # gr_vec_clear(gens, self.ctx_t)
379+ # return py_gens
370380
371381
372382cdef class gr_scalar_ctx(gr_ctx):
@@ -584,7 +594,9 @@ cdef class gr_real_qqbar_ctx(gr_scalar_ctx):
584594 ctx.bits_limit = bits_limit
585595 if deg_limit != - 1 or bits_limit != - 1 :
586596 # Maybe add setters for these?
587- _gr_ctx_qqbar_set_limits(ctx.ctx_t, deg_limit, bits_limit)
597+ # XXX: Not available in FLINT 3.0.1
598+ # _gr_ctx_qqbar_set_limits(ctx.ctx_t, deg_limit, bits_limit)
599+ pass
588600 return ctx
589601
590602
@@ -603,7 +615,9 @@ cdef class gr_complex_qqbar_ctx(gr_scalar_ctx):
603615 ctx.bits_limit = bits_limit
604616 if deg_limit != - 1 or bits_limit != - 1 :
605617 # Maybe add setters for these?
606- _gr_ctx_qqbar_set_limits(ctx.ctx_t, deg_limit, bits_limit)
618+ # XXX: Not available in FLINT 3.0.1
619+ # _gr_ctx_qqbar_set_limits(ctx.ctx_t, deg_limit, bits_limit)
620+ pass
607621 return ctx
608622
609623
0 commit comments