passagemath-flint 10.6.1rc10__cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. passagemath_flint-10.6.1rc10.dist-info/METADATA +122 -0
  2. passagemath_flint-10.6.1rc10.dist-info/RECORD +360 -0
  3. passagemath_flint-10.6.1rc10.dist-info/WHEEL +6 -0
  4. passagemath_flint-10.6.1rc10.dist-info/top_level.txt +2 -0
  5. passagemath_flint.libs/libflint-3701249d.so.21.0.0 +0 -0
  6. passagemath_flint.libs/libgf2x-fbd36f80.so.3.0.0 +0 -0
  7. passagemath_flint.libs/libgfortran-8a9a71bc.so.5.0.0 +0 -0
  8. passagemath_flint.libs/libgmp-93ebf16a.so.10.5.0 +0 -0
  9. passagemath_flint.libs/libgsl-e3525837.so.28.0.0 +0 -0
  10. passagemath_flint.libs/libmpfi-ad12a86d.so.0.0.0 +0 -0
  11. passagemath_flint.libs/libmpfr-e0f11cf3.so.6.2.1 +0 -0
  12. passagemath_flint.libs/libntl-1004113e.so.44.0.1 +0 -0
  13. passagemath_flint.libs/libopenblasp-r0-4c5b64b1.3.29.so +0 -0
  14. sage/all__sagemath_flint.py +29 -0
  15. sage/combinat/all__sagemath_flint.py +1 -0
  16. sage/combinat/posets/all__sagemath_flint.py +1 -0
  17. sage/combinat/posets/hasse_cython_flint.cpython-312-aarch64-linux-gnu.so +0 -0
  18. sage/combinat/posets/hasse_cython_flint.pyx +194 -0
  19. sage/data_structures/all__sagemath_flint.py +1 -0
  20. sage/data_structures/bounded_integer_sequences.cpython-312-aarch64-linux-gnu.so +0 -0
  21. sage/data_structures/bounded_integer_sequences.pxd +62 -0
  22. sage/data_structures/bounded_integer_sequences.pyx +1418 -0
  23. sage/graphs/all__sagemath_flint.py +1 -0
  24. sage/graphs/chrompoly.cpython-312-aarch64-linux-gnu.so +0 -0
  25. sage/graphs/chrompoly.pyx +555 -0
  26. sage/graphs/matchpoly.cpython-312-aarch64-linux-gnu.so +0 -0
  27. sage/graphs/matchpoly.pyx +412 -0
  28. sage/libs/all__sagemath_flint.py +17 -0
  29. sage/libs/arb/__init__.py +1 -0
  30. sage/libs/arb/acb.pxd +154 -0
  31. sage/libs/arb/acb_calc.pxd +9 -0
  32. sage/libs/arb/acb_elliptic.pxd +25 -0
  33. sage/libs/arb/acb_hypgeom.pxd +74 -0
  34. sage/libs/arb/acb_mat.pxd +62 -0
  35. sage/libs/arb/acb_modular.pxd +17 -0
  36. sage/libs/arb/acb_poly.pxd +216 -0
  37. sage/libs/arb/arb.pxd +240 -0
  38. sage/libs/arb/arb_fmpz_poly.pxd +21 -0
  39. sage/libs/arb/arb_hypgeom.pxd +83 -0
  40. sage/libs/arb/arb_wrap.h +34 -0
  41. sage/libs/arb/arf.pxd +131 -0
  42. sage/libs/arb/arith.cpython-312-aarch64-linux-gnu.so +0 -0
  43. sage/libs/arb/arith.pyx +87 -0
  44. sage/libs/arb/bernoulli.pxd +6 -0
  45. sage/libs/arb/mag.pxd +77 -0
  46. sage/libs/arb/types.pxd +37 -0
  47. sage/libs/flint/__init__.py +1 -0
  48. sage/libs/flint/acb.pxd +270 -0
  49. sage/libs/flint/acb_calc.pxd +22 -0
  50. sage/libs/flint/acb_dft.pxd +51 -0
  51. sage/libs/flint/acb_dirichlet.pxd +112 -0
  52. sage/libs/flint/acb_elliptic.pxd +42 -0
  53. sage/libs/flint/acb_hypgeom.pxd +169 -0
  54. sage/libs/flint/acb_macros.pxd +9 -0
  55. sage/libs/flint/acb_mat.pxd +136 -0
  56. sage/libs/flint/acb_mat_macros.pxd +10 -0
  57. sage/libs/flint/acb_modular.pxd +62 -0
  58. sage/libs/flint/acb_poly.pxd +251 -0
  59. sage/libs/flint/acb_poly_macros.pxd +8 -0
  60. sage/libs/flint/acb_theta.pxd +124 -0
  61. sage/libs/flint/acf.pxd +32 -0
  62. sage/libs/flint/aprcl.pxd +84 -0
  63. sage/libs/flint/arb.pxd +382 -0
  64. sage/libs/flint/arb_calc.pxd +31 -0
  65. sage/libs/flint/arb_fmpz_poly.pxd +34 -0
  66. sage/libs/flint/arb_fpwrap.pxd +215 -0
  67. sage/libs/flint/arb_hypgeom.pxd +147 -0
  68. sage/libs/flint/arb_macros.pxd +9 -0
  69. sage/libs/flint/arb_mat.pxd +140 -0
  70. sage/libs/flint/arb_mat_macros.pxd +10 -0
  71. sage/libs/flint/arb_poly.pxd +237 -0
  72. sage/libs/flint/arf.pxd +167 -0
  73. sage/libs/flint/arith.cpython-312-aarch64-linux-gnu.so +0 -0
  74. sage/libs/flint/arith.pxd +76 -0
  75. sage/libs/flint/arith.pyx +77 -0
  76. sage/libs/flint/arith_sage.cpython-312-aarch64-linux-gnu.so +0 -0
  77. sage/libs/flint/arith_sage.pyx +308 -0
  78. sage/libs/flint/bernoulli.pxd +28 -0
  79. sage/libs/flint/bool_mat.pxd +52 -0
  80. sage/libs/flint/ca.pxd +203 -0
  81. sage/libs/flint/ca_ext.pxd +34 -0
  82. sage/libs/flint/ca_field.pxd +32 -0
  83. sage/libs/flint/ca_mat.pxd +117 -0
  84. sage/libs/flint/ca_poly.pxd +104 -0
  85. sage/libs/flint/ca_vec.pxd +46 -0
  86. sage/libs/flint/calcium.pxd +27 -0
  87. sage/libs/flint/d_mat.pxd +39 -0
  88. sage/libs/flint/d_vec.pxd +32 -0
  89. sage/libs/flint/dirichlet.pxd +57 -0
  90. sage/libs/flint/dlog.pxd +53 -0
  91. sage/libs/flint/double_extras.pxd +24 -0
  92. sage/libs/flint/double_interval.pxd +36 -0
  93. sage/libs/flint/fexpr.pxd +104 -0
  94. sage/libs/flint/fexpr_builtin.pxd +20 -0
  95. sage/libs/flint/fft.pxd +66 -0
  96. sage/libs/flint/flint.pxd +36 -0
  97. sage/libs/flint/flint_ntl_wrap.h +35 -0
  98. sage/libs/flint/flint_sage.cpython-312-aarch64-linux-gnu.so +0 -0
  99. sage/libs/flint/flint_sage.pyx +163 -0
  100. sage/libs/flint/flint_wrap.h +190 -0
  101. sage/libs/flint/fmpq.pxd +137 -0
  102. sage/libs/flint/fmpq_mat.pxd +105 -0
  103. sage/libs/flint/fmpq_mat_macros.pxd +10 -0
  104. sage/libs/flint/fmpq_mpoly.pxd +165 -0
  105. sage/libs/flint/fmpq_mpoly_factor.pxd +30 -0
  106. sage/libs/flint/fmpq_poly.pxd +241 -0
  107. sage/libs/flint/fmpq_poly_macros.pxd +9 -0
  108. sage/libs/flint/fmpq_poly_sage.cpython-312-aarch64-linux-gnu.so +0 -0
  109. sage/libs/flint/fmpq_poly_sage.pxd +31 -0
  110. sage/libs/flint/fmpq_poly_sage.pyx +48 -0
  111. sage/libs/flint/fmpq_vec.pxd +27 -0
  112. sage/libs/flint/fmpz.pxd +256 -0
  113. sage/libs/flint/fmpz_extras.pxd +32 -0
  114. sage/libs/flint/fmpz_factor.pxd +42 -0
  115. sage/libs/flint/fmpz_factor_sage.cpython-312-aarch64-linux-gnu.so +0 -0
  116. sage/libs/flint/fmpz_factor_sage.pxd +4 -0
  117. sage/libs/flint/fmpz_factor_sage.pyx +29 -0
  118. sage/libs/flint/fmpz_lll.pxd +49 -0
  119. sage/libs/flint/fmpz_macros.pxd +8 -0
  120. sage/libs/flint/fmpz_mat.pxd +184 -0
  121. sage/libs/flint/fmpz_mat_macros.pxd +10 -0
  122. sage/libs/flint/fmpz_mod.pxd +46 -0
  123. sage/libs/flint/fmpz_mod_mat.pxd +71 -0
  124. sage/libs/flint/fmpz_mod_mpoly.pxd +161 -0
  125. sage/libs/flint/fmpz_mod_mpoly_factor.pxd +28 -0
  126. sage/libs/flint/fmpz_mod_poly.pxd +249 -0
  127. sage/libs/flint/fmpz_mod_poly_factor.pxd +46 -0
  128. sage/libs/flint/fmpz_mod_vec.pxd +27 -0
  129. sage/libs/flint/fmpz_mpoly.pxd +224 -0
  130. sage/libs/flint/fmpz_mpoly_factor.pxd +29 -0
  131. sage/libs/flint/fmpz_mpoly_q.pxd +57 -0
  132. sage/libs/flint/fmpz_poly.cpython-312-aarch64-linux-gnu.so +0 -0
  133. sage/libs/flint/fmpz_poly.pxd +407 -0
  134. sage/libs/flint/fmpz_poly.pyx +19 -0
  135. sage/libs/flint/fmpz_poly_factor.pxd +33 -0
  136. sage/libs/flint/fmpz_poly_macros.pxd +8 -0
  137. sage/libs/flint/fmpz_poly_mat.pxd +71 -0
  138. sage/libs/flint/fmpz_poly_q.pxd +55 -0
  139. sage/libs/flint/fmpz_poly_sage.cpython-312-aarch64-linux-gnu.so +0 -0
  140. sage/libs/flint/fmpz_poly_sage.pxd +20 -0
  141. sage/libs/flint/fmpz_poly_sage.pyx +500 -0
  142. sage/libs/flint/fmpz_vec.pxd +80 -0
  143. sage/libs/flint/fmpzi.pxd +52 -0
  144. sage/libs/flint/fq.pxd +97 -0
  145. sage/libs/flint/fq_default.pxd +84 -0
  146. sage/libs/flint/fq_default_mat.pxd +70 -0
  147. sage/libs/flint/fq_default_poly.pxd +97 -0
  148. sage/libs/flint/fq_default_poly_factor.pxd +39 -0
  149. sage/libs/flint/fq_embed.pxd +28 -0
  150. sage/libs/flint/fq_mat.pxd +83 -0
  151. sage/libs/flint/fq_nmod.pxd +95 -0
  152. sage/libs/flint/fq_nmod_embed.pxd +28 -0
  153. sage/libs/flint/fq_nmod_mat.pxd +83 -0
  154. sage/libs/flint/fq_nmod_mpoly.pxd +130 -0
  155. sage/libs/flint/fq_nmod_mpoly_factor.pxd +28 -0
  156. sage/libs/flint/fq_nmod_poly.pxd +202 -0
  157. sage/libs/flint/fq_nmod_poly_factor.pxd +47 -0
  158. sage/libs/flint/fq_nmod_vec.pxd +33 -0
  159. sage/libs/flint/fq_poly.pxd +204 -0
  160. sage/libs/flint/fq_poly_factor.pxd +47 -0
  161. sage/libs/flint/fq_vec.pxd +33 -0
  162. sage/libs/flint/fq_zech.pxd +99 -0
  163. sage/libs/flint/fq_zech_embed.pxd +28 -0
  164. sage/libs/flint/fq_zech_mat.pxd +78 -0
  165. sage/libs/flint/fq_zech_poly.pxd +198 -0
  166. sage/libs/flint/fq_zech_poly_factor.pxd +47 -0
  167. sage/libs/flint/fq_zech_vec.pxd +33 -0
  168. sage/libs/flint/gr.pxd +174 -0
  169. sage/libs/flint/gr_generic.pxd +215 -0
  170. sage/libs/flint/gr_mat.pxd +161 -0
  171. sage/libs/flint/gr_mpoly.pxd +68 -0
  172. sage/libs/flint/gr_poly.pxd +276 -0
  173. sage/libs/flint/gr_special.pxd +237 -0
  174. sage/libs/flint/gr_vec.pxd +120 -0
  175. sage/libs/flint/hypgeom.pxd +24 -0
  176. sage/libs/flint/long_extras.pxd +23 -0
  177. sage/libs/flint/mag.pxd +131 -0
  178. sage/libs/flint/mag_macros.pxd +8 -0
  179. sage/libs/flint/mpf_mat.pxd +36 -0
  180. sage/libs/flint/mpf_vec.pxd +34 -0
  181. sage/libs/flint/mpfr_mat.pxd +27 -0
  182. sage/libs/flint/mpfr_vec.pxd +25 -0
  183. sage/libs/flint/mpn_extras.pxd +41 -0
  184. sage/libs/flint/mpoly.pxd +72 -0
  185. sage/libs/flint/nf.pxd +19 -0
  186. sage/libs/flint/nf_elem.pxd +74 -0
  187. sage/libs/flint/nmod.pxd +35 -0
  188. sage/libs/flint/nmod_mat.pxd +104 -0
  189. sage/libs/flint/nmod_mpoly.pxd +144 -0
  190. sage/libs/flint/nmod_mpoly_factor.pxd +28 -0
  191. sage/libs/flint/nmod_poly.pxd +339 -0
  192. sage/libs/flint/nmod_poly_factor.pxd +44 -0
  193. sage/libs/flint/nmod_poly_linkage.pxi +710 -0
  194. sage/libs/flint/nmod_poly_mat.pxd +76 -0
  195. sage/libs/flint/nmod_vec.pxd +40 -0
  196. sage/libs/flint/ntl_interface.pxd +17 -0
  197. sage/libs/flint/padic.pxd +93 -0
  198. sage/libs/flint/padic_mat.pxd +64 -0
  199. sage/libs/flint/padic_poly.pxd +88 -0
  200. sage/libs/flint/partitions.pxd +23 -0
  201. sage/libs/flint/perm.pxd +26 -0
  202. sage/libs/flint/profiler.pxd +24 -0
  203. sage/libs/flint/qadic.pxd +77 -0
  204. sage/libs/flint/qfb.pxd +44 -0
  205. sage/libs/flint/qqbar.pxd +172 -0
  206. sage/libs/flint/qsieve.cpython-312-aarch64-linux-gnu.so +0 -0
  207. sage/libs/flint/qsieve.pxd +41 -0
  208. sage/libs/flint/qsieve.pyx +21 -0
  209. sage/libs/flint/qsieve_sage.cpython-312-aarch64-linux-gnu.so +0 -0
  210. sage/libs/flint/qsieve_sage.pyx +67 -0
  211. sage/libs/flint/thread_pool.pxd +25 -0
  212. sage/libs/flint/types.pxd +2076 -0
  213. sage/libs/flint/ulong_extras.cpython-312-aarch64-linux-gnu.so +0 -0
  214. sage/libs/flint/ulong_extras.pxd +141 -0
  215. sage/libs/flint/ulong_extras.pyx +21 -0
  216. sage/libs/flint/ulong_extras_sage.cpython-312-aarch64-linux-gnu.so +0 -0
  217. sage/libs/flint/ulong_extras_sage.pyx +21 -0
  218. sage/matrix/all__sagemath_flint.py +1 -0
  219. sage/matrix/change_ring.cpython-312-aarch64-linux-gnu.so +0 -0
  220. sage/matrix/change_ring.pyx +43 -0
  221. sage/matrix/matrix_complex_ball_dense.cpython-312-aarch64-linux-gnu.so +0 -0
  222. sage/matrix/matrix_complex_ball_dense.pxd +14 -0
  223. sage/matrix/matrix_complex_ball_dense.pyx +973 -0
  224. sage/matrix/matrix_cyclo_dense.cpython-312-aarch64-linux-gnu.so +0 -0
  225. sage/matrix/matrix_cyclo_dense.pxd +16 -0
  226. sage/matrix/matrix_cyclo_dense.pyx +1761 -0
  227. sage/matrix/matrix_integer_dense.cpython-312-aarch64-linux-gnu.so +0 -0
  228. sage/matrix/matrix_integer_dense.pxd +32 -0
  229. sage/matrix/matrix_integer_dense.pyx +5801 -0
  230. sage/matrix/matrix_integer_dense_hnf.py +1294 -0
  231. sage/matrix/matrix_integer_dense_saturation.py +346 -0
  232. sage/matrix/matrix_integer_sparse.cpython-312-aarch64-linux-gnu.so +0 -0
  233. sage/matrix/matrix_integer_sparse.pxd +9 -0
  234. sage/matrix/matrix_integer_sparse.pyx +1090 -0
  235. sage/matrix/matrix_rational_dense.cpython-312-aarch64-linux-gnu.so +0 -0
  236. sage/matrix/matrix_rational_dense.pxd +23 -0
  237. sage/matrix/matrix_rational_dense.pyx +2995 -0
  238. sage/matrix/matrix_rational_sparse.cpython-312-aarch64-linux-gnu.so +0 -0
  239. sage/matrix/matrix_rational_sparse.pxd +11 -0
  240. sage/matrix/matrix_rational_sparse.pyx +789 -0
  241. sage/matrix/misc_flint.cpython-312-aarch64-linux-gnu.so +0 -0
  242. sage/matrix/misc_flint.pyx +109 -0
  243. sage/modular/all__sagemath_flint.py +1 -0
  244. sage/modular/modform/all__sagemath_flint.py +1 -0
  245. sage/modular/modform/eis_series_cython.cpython-312-aarch64-linux-gnu.so +0 -0
  246. sage/modular/modform/eis_series_cython.pyx +226 -0
  247. sage/modular/modsym/all__sagemath_flint.py +1 -0
  248. sage/modular/modsym/apply.cpython-312-aarch64-linux-gnu.so +0 -0
  249. sage/modular/modsym/apply.pxd +6 -0
  250. sage/modular/modsym/apply.pyx +113 -0
  251. sage/modular/modsym/heilbronn.cpython-312-aarch64-linux-gnu.so +0 -0
  252. sage/modular/modsym/heilbronn.pyx +966 -0
  253. sage/modular/pollack_stevens/all__sagemath_flint.py +1 -0
  254. sage/modular/pollack_stevens/dist.cpython-312-aarch64-linux-gnu.so +0 -0
  255. sage/modular/pollack_stevens/dist.pxd +38 -0
  256. sage/modular/pollack_stevens/dist.pyx +1439 -0
  257. sage/quivers/algebra.py +691 -0
  258. sage/quivers/algebra_elements.cpython-312-aarch64-linux-gnu.so +0 -0
  259. sage/quivers/algebra_elements.pxd +97 -0
  260. sage/quivers/algebra_elements.pxi +1324 -0
  261. sage/quivers/algebra_elements.pyx +1424 -0
  262. sage/quivers/all.py +1 -0
  263. sage/quivers/ar_quiver.py +917 -0
  264. sage/quivers/homspace.py +640 -0
  265. sage/quivers/morphism.py +1282 -0
  266. sage/quivers/path_semigroup.py +1155 -0
  267. sage/quivers/paths.cpython-312-aarch64-linux-gnu.so +0 -0
  268. sage/quivers/paths.pxd +13 -0
  269. sage/quivers/paths.pyx +809 -0
  270. sage/quivers/representation.py +2975 -0
  271. sage/rings/all__sagemath_flint.py +37 -0
  272. sage/rings/cif.py +4 -0
  273. sage/rings/complex_arb.cpython-312-aarch64-linux-gnu.so +0 -0
  274. sage/rings/complex_arb.pxd +29 -0
  275. sage/rings/complex_arb.pyx +5176 -0
  276. sage/rings/complex_interval.cpython-312-aarch64-linux-gnu.so +0 -0
  277. sage/rings/complex_interval.pxd +30 -0
  278. sage/rings/complex_interval.pyx +2475 -0
  279. sage/rings/complex_interval_field.py +711 -0
  280. sage/rings/convert/all.py +1 -0
  281. sage/rings/convert/mpfi.cpython-312-aarch64-linux-gnu.so +0 -0
  282. sage/rings/convert/mpfi.pxd +6 -0
  283. sage/rings/convert/mpfi.pyx +576 -0
  284. sage/rings/factorint_flint.cpython-312-aarch64-linux-gnu.so +0 -0
  285. sage/rings/factorint_flint.pyx +99 -0
  286. sage/rings/fraction_field_FpT.cpython-312-aarch64-linux-gnu.so +0 -0
  287. sage/rings/fraction_field_FpT.pxd +28 -0
  288. sage/rings/fraction_field_FpT.pyx +2043 -0
  289. sage/rings/imaginary_unit.py +5 -0
  290. sage/rings/monomials.py +73 -0
  291. sage/rings/number_field/S_unit_solver.py +2870 -0
  292. sage/rings/number_field/all__sagemath_flint.py +7 -0
  293. sage/rings/number_field/bdd_height.py +664 -0
  294. sage/rings/number_field/class_group.py +762 -0
  295. sage/rings/number_field/galois_group.py +1307 -0
  296. sage/rings/number_field/homset.py +612 -0
  297. sage/rings/number_field/maps.py +687 -0
  298. sage/rings/number_field/morphism.py +272 -0
  299. sage/rings/number_field/number_field.py +12820 -0
  300. sage/rings/number_field/number_field_element.cpython-312-aarch64-linux-gnu.so +0 -0
  301. sage/rings/number_field/number_field_element.pxd +59 -0
  302. sage/rings/number_field/number_field_element.pyx +5735 -0
  303. sage/rings/number_field/number_field_element_quadratic.cpython-312-aarch64-linux-gnu.so +0 -0
  304. sage/rings/number_field/number_field_element_quadratic.pxd +34 -0
  305. sage/rings/number_field/number_field_element_quadratic.pyx +3185 -0
  306. sage/rings/number_field/number_field_ideal_rel.py +925 -0
  307. sage/rings/number_field/number_field_morphisms.cpython-312-aarch64-linux-gnu.so +0 -0
  308. sage/rings/number_field/number_field_morphisms.pyx +781 -0
  309. sage/rings/number_field/number_field_rel.py +2734 -0
  310. sage/rings/number_field/order.py +2981 -0
  311. sage/rings/number_field/order_ideal.py +804 -0
  312. sage/rings/number_field/selmer_group.py +715 -0
  313. sage/rings/number_field/small_primes_of_degree_one.py +242 -0
  314. sage/rings/number_field/splitting_field.py +606 -0
  315. sage/rings/number_field/structure.py +380 -0
  316. sage/rings/number_field/unit_group.py +721 -0
  317. sage/rings/padics/all__sagemath_flint.py +3 -0
  318. sage/rings/polynomial/all__sagemath_flint.py +1 -0
  319. sage/rings/polynomial/complex_roots.py +312 -0
  320. sage/rings/polynomial/evaluation_flint.cpython-312-aarch64-linux-gnu.so +0 -0
  321. sage/rings/polynomial/evaluation_flint.pxd +7 -0
  322. sage/rings/polynomial/evaluation_flint.pyx +68 -0
  323. sage/rings/polynomial/hilbert.cpython-312-aarch64-linux-gnu.so +0 -0
  324. sage/rings/polynomial/hilbert.pyx +602 -0
  325. sage/rings/polynomial/polynomial_complex_arb.cpython-312-aarch64-linux-gnu.so +0 -0
  326. sage/rings/polynomial/polynomial_complex_arb.pxd +7 -0
  327. sage/rings/polynomial/polynomial_complex_arb.pyx +963 -0
  328. sage/rings/polynomial/polynomial_integer_dense_flint.cpython-312-aarch64-linux-gnu.so +0 -0
  329. sage/rings/polynomial/polynomial_integer_dense_flint.pxd +13 -0
  330. sage/rings/polynomial/polynomial_integer_dense_flint.pyx +1881 -0
  331. sage/rings/polynomial/polynomial_number_field.cpython-312-aarch64-linux-gnu.so +0 -0
  332. sage/rings/polynomial/polynomial_number_field.pyx +345 -0
  333. sage/rings/polynomial/polynomial_rational_flint.cpython-312-aarch64-linux-gnu.so +0 -0
  334. sage/rings/polynomial/polynomial_rational_flint.pxd +20 -0
  335. sage/rings/polynomial/polynomial_rational_flint.pyx +2598 -0
  336. sage/rings/polynomial/polynomial_zmod_flint.cpython-312-aarch64-linux-gnu.so +0 -0
  337. sage/rings/polynomial/polynomial_zmod_flint.pxd +20 -0
  338. sage/rings/polynomial/polynomial_zmod_flint.pyx +1063 -0
  339. sage/rings/polynomial/real_roots.cpython-312-aarch64-linux-gnu.so +0 -0
  340. sage/rings/polynomial/real_roots.pxd +81 -0
  341. sage/rings/polynomial/real_roots.pyx +4704 -0
  342. sage/rings/polynomial/refine_root.cpython-312-aarch64-linux-gnu.so +0 -0
  343. sage/rings/polynomial/refine_root.pyx +142 -0
  344. sage/rings/polynomial/weil/all.py +4 -0
  345. sage/rings/polynomial/weil/power_sums.h +46 -0
  346. sage/rings/polynomial/weil/weil_polynomials.cpython-312-aarch64-linux-gnu.so +0 -0
  347. sage/rings/polynomial/weil/weil_polynomials.pyx +596 -0
  348. sage/rings/qqbar.py +9025 -0
  349. sage/rings/real_arb.cpython-312-aarch64-linux-gnu.so +0 -0
  350. sage/rings/real_arb.pxd +21 -0
  351. sage/rings/real_arb.pyx +4065 -0
  352. sage/rings/real_interval_absolute.cpython-312-aarch64-linux-gnu.so +0 -0
  353. sage/rings/real_interval_absolute.pyx +1073 -0
  354. sage/rings/real_mpfi.cpython-312-aarch64-linux-gnu.so +0 -0
  355. sage/rings/real_mpfi.pyx +5428 -0
  356. sage/schemes/all__sagemath_flint.py +1 -0
  357. sage/schemes/elliptic_curves/all__sagemath_flint.py +1 -0
  358. sage/schemes/elliptic_curves/descent_two_isogeny.cpython-312-aarch64-linux-gnu.so +0 -0
  359. sage/schemes/elliptic_curves/descent_two_isogeny.pyx +1387 -0
  360. sage/schemes/elliptic_curves/descent_two_isogeny_pari.pxd +5 -0
@@ -0,0 +1,407 @@
1
+ # sage_setup: distribution = sagemath-flint
2
+ # distutils: libraries = flint
3
+ # distutils: depends = flint/fmpz_poly.h
4
+
5
+ ################################################################################
6
+ # This file is auto-generated by the script
7
+ # SAGE_ROOT/src/sage_setup/autogen/flint_autogen.py.
8
+ # From the commit 3e2c3a3e091106a25ca9c6fba28e02f2cbcd654a
9
+ # Do not modify by hand! Fix and rerun the script instead.
10
+ ################################################################################
11
+
12
+ from libc.stdio cimport FILE
13
+ from sage.libs.gmp.types cimport *
14
+ from sage.libs.mpfr.types cimport *
15
+ from sage.libs.flint.types cimport *
16
+
17
+ cdef extern from "flint_wrap.h":
18
+ void fmpz_poly_init(fmpz_poly_t poly) noexcept
19
+ void fmpz_poly_init2(fmpz_poly_t poly, slong alloc) noexcept
20
+ void fmpz_poly_realloc(fmpz_poly_t poly, slong alloc) noexcept
21
+ void fmpz_poly_fit_length(fmpz_poly_t poly, slong len) noexcept
22
+ void fmpz_poly_clear(fmpz_poly_t poly) noexcept
23
+ void _fmpz_poly_normalise(fmpz_poly_t poly) noexcept
24
+ void _fmpz_poly_set_length(fmpz_poly_t poly, slong newlen) noexcept
25
+ void fmpz_poly_attach_truncate(fmpz_poly_t trunc, const fmpz_poly_t poly, slong n) noexcept
26
+ void fmpz_poly_attach_shift(fmpz_poly_t trunc, const fmpz_poly_t poly, slong n) noexcept
27
+ slong fmpz_poly_length(const fmpz_poly_t poly) noexcept
28
+ slong fmpz_poly_degree(const fmpz_poly_t poly) noexcept
29
+ void fmpz_poly_set(fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
30
+ void fmpz_poly_set_si(fmpz_poly_t poly, slong c) noexcept
31
+ void fmpz_poly_set_ui(fmpz_poly_t poly, ulong c) noexcept
32
+ void fmpz_poly_set_fmpz(fmpz_poly_t poly, const fmpz_t c) noexcept
33
+ int _fmpz_poly_set_str(fmpz * poly, const char * str) noexcept
34
+ int fmpz_poly_set_str(fmpz_poly_t poly, const char * str) noexcept
35
+ char * _fmpz_poly_get_str(const fmpz * poly, slong len) noexcept
36
+ char * fmpz_poly_get_str(const fmpz_poly_t poly) noexcept
37
+ char * _fmpz_poly_get_str_pretty(const fmpz * poly, slong len, const char * x) noexcept
38
+ char * fmpz_poly_get_str_pretty(const fmpz_poly_t poly, const char * x) noexcept
39
+ void fmpz_poly_zero(fmpz_poly_t poly) noexcept
40
+ void fmpz_poly_one(fmpz_poly_t poly) noexcept
41
+ void fmpz_poly_zero_coeffs(fmpz_poly_t poly, slong i, slong j) noexcept
42
+ void fmpz_poly_swap(fmpz_poly_t poly1, fmpz_poly_t poly2) noexcept
43
+ void _fmpz_poly_reverse(fmpz * res, const fmpz * poly, slong len, slong n) noexcept
44
+ void fmpz_poly_reverse(fmpz_poly_t res, const fmpz_poly_t poly, slong n) noexcept
45
+ void fmpz_poly_truncate(fmpz_poly_t poly, slong newlen) noexcept
46
+ void fmpz_poly_set_trunc(fmpz_poly_t res, const fmpz_poly_t poly, slong n) noexcept
47
+ void fmpz_poly_randtest(fmpz_poly_t f, flint_rand_t state, slong len, flint_bitcnt_t bits) noexcept
48
+ void fmpz_poly_randtest_unsigned(fmpz_poly_t f, flint_rand_t state, slong len, flint_bitcnt_t bits) noexcept
49
+ void fmpz_poly_randtest_not_zero(fmpz_poly_t f, flint_rand_t state, slong len, flint_bitcnt_t bits) noexcept
50
+ void fmpz_poly_randtest_no_real_root(fmpz_poly_t p, flint_rand_t state, slong len, flint_bitcnt_t bits) noexcept
51
+ void fmpz_poly_randtest_irreducible1(fmpz_poly_t pol, flint_rand_t state, slong len, mp_bitcnt_t bits) noexcept
52
+ void fmpz_poly_randtest_irreducible2(fmpz_poly_t pol, flint_rand_t state, slong len, mp_bitcnt_t bits) noexcept
53
+ void fmpz_poly_randtest_irreducible(fmpz_poly_t pol, flint_rand_t state, slong len, mp_bitcnt_t bits) noexcept
54
+ void fmpz_poly_get_coeff_fmpz(fmpz_t x, const fmpz_poly_t poly, slong n) noexcept
55
+ slong fmpz_poly_get_coeff_si(const fmpz_poly_t poly, slong n) noexcept
56
+ ulong fmpz_poly_get_coeff_ui(const fmpz_poly_t poly, slong n) noexcept
57
+ fmpz * fmpz_poly_get_coeff_ptr(const fmpz_poly_t poly, slong n) noexcept
58
+ fmpz * fmpz_poly_lead(const fmpz_poly_t poly) noexcept
59
+ void fmpz_poly_set_coeff_fmpz(fmpz_poly_t poly, slong n, const fmpz_t x) noexcept
60
+ void fmpz_poly_set_coeff_si(fmpz_poly_t poly, slong n, slong x) noexcept
61
+ void fmpz_poly_set_coeff_ui(fmpz_poly_t poly, slong n, ulong x) noexcept
62
+ bint fmpz_poly_equal(const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
63
+ bint fmpz_poly_equal_trunc(const fmpz_poly_t poly1, const fmpz_poly_t poly2, slong n) noexcept
64
+ bint fmpz_poly_is_zero(const fmpz_poly_t poly) noexcept
65
+ bint fmpz_poly_is_one(const fmpz_poly_t poly) noexcept
66
+ bint fmpz_poly_is_unit(const fmpz_poly_t poly) noexcept
67
+ bint fmpz_poly_is_gen(const fmpz_poly_t poly) noexcept
68
+ void _fmpz_poly_add(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
69
+ void fmpz_poly_add(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
70
+ void fmpz_poly_add_series(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2, slong n) noexcept
71
+ void _fmpz_poly_sub(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
72
+ void fmpz_poly_sub(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
73
+ void fmpz_poly_sub_series(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2, slong n) noexcept
74
+ void fmpz_poly_neg(fmpz_poly_t res, const fmpz_poly_t poly) noexcept
75
+ void fmpz_poly_scalar_abs(fmpz_poly_t res, const fmpz_poly_t poly) noexcept
76
+ void fmpz_poly_scalar_mul_fmpz(fmpz_poly_t poly1, const fmpz_poly_t poly2, const fmpz_t x) noexcept
77
+ void fmpz_poly_scalar_mul_si(fmpz_poly_t poly1, const fmpz_poly_t poly2, slong x) noexcept
78
+ void fmpz_poly_scalar_mul_ui(fmpz_poly_t poly1, const fmpz_poly_t poly2, ulong x) noexcept
79
+ void fmpz_poly_scalar_mul_2exp(fmpz_poly_t poly1, const fmpz_poly_t poly2, ulong exp) noexcept
80
+ void fmpz_poly_scalar_addmul_si(fmpz_poly_t poly1, const fmpz_poly_t poly2, slong x) noexcept
81
+ void fmpz_poly_scalar_addmul_ui(fmpz_poly_t poly1, const fmpz_poly_t poly2, ulong x) noexcept
82
+ void fmpz_poly_scalar_addmul_fmpz(fmpz_poly_t poly1, const fmpz_poly_t poly2, const fmpz_t x) noexcept
83
+ void fmpz_poly_scalar_submul_fmpz(fmpz_poly_t poly1, const fmpz_poly_t poly2, const fmpz_t x) noexcept
84
+ void fmpz_poly_scalar_fdiv_fmpz(fmpz_poly_t poly1, const fmpz_poly_t poly2, const fmpz_t x) noexcept
85
+ void fmpz_poly_scalar_fdiv_si(fmpz_poly_t poly1, const fmpz_poly_t poly2, slong x) noexcept
86
+ void fmpz_poly_scalar_fdiv_ui(fmpz_poly_t poly1, const fmpz_poly_t poly2, ulong x) noexcept
87
+ void fmpz_poly_scalar_fdiv_2exp(fmpz_poly_t poly1, const fmpz_poly_t poly2, ulong x) noexcept
88
+ void fmpz_poly_scalar_tdiv_fmpz(fmpz_poly_t poly1, const fmpz_poly_t poly2, const fmpz_t x) noexcept
89
+ void fmpz_poly_scalar_tdiv_si(fmpz_poly_t poly1, const fmpz_poly_t poly2, slong x) noexcept
90
+ void fmpz_poly_scalar_tdiv_ui(fmpz_poly_t poly1, const fmpz_poly_t poly2, ulong x) noexcept
91
+ void fmpz_poly_scalar_tdiv_2exp(fmpz_poly_t poly1, const fmpz_poly_t poly2, ulong x) noexcept
92
+ void fmpz_poly_scalar_divexact_fmpz(fmpz_poly_t poly1, const fmpz_poly_t poly2, const fmpz_t x) noexcept
93
+ void fmpz_poly_scalar_divexact_si(fmpz_poly_t poly1, const fmpz_poly_t poly2, slong x) noexcept
94
+ void fmpz_poly_scalar_divexact_ui(fmpz_poly_t poly1, const fmpz_poly_t poly2, ulong x) noexcept
95
+ void fmpz_poly_scalar_mod_fmpz(fmpz_poly_t poly1, const fmpz_poly_t poly2, const fmpz_t p) noexcept
96
+ void fmpz_poly_scalar_smod_fmpz(fmpz_poly_t poly1, const fmpz_poly_t poly2, const fmpz_t p) noexcept
97
+ slong _fmpz_poly_remove_content_2exp(fmpz * pol, slong len) noexcept
98
+ void _fmpz_poly_scale_2exp(fmpz * pol, slong len, slong k) noexcept
99
+ void _fmpz_poly_bit_pack(mp_ptr arr, const fmpz * poly, slong len, flint_bitcnt_t bit_size, int negate) noexcept
100
+ int _fmpz_poly_bit_unpack(fmpz * poly, slong len, mp_srcptr arr, flint_bitcnt_t bit_size, int negate) noexcept
101
+ void _fmpz_poly_bit_unpack_unsigned(fmpz * poly, slong len, mp_srcptr arr, flint_bitcnt_t bit_size) noexcept
102
+ void fmpz_poly_bit_pack(fmpz_t f, const fmpz_poly_t poly, flint_bitcnt_t bit_size) noexcept
103
+ void fmpz_poly_bit_unpack(fmpz_poly_t poly, const fmpz_t f, flint_bitcnt_t bit_size) noexcept
104
+ void fmpz_poly_bit_unpack_unsigned(fmpz_poly_t poly, const fmpz_t f, flint_bitcnt_t bit_size) noexcept
105
+ void _fmpz_poly_mul_classical(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
106
+ void fmpz_poly_mul_classical(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
107
+ void _fmpz_poly_mullow_classical(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2, slong n) noexcept
108
+ void fmpz_poly_mullow_classical(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2, slong n) noexcept
109
+ void _fmpz_poly_mulhigh_classical(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2, slong start) noexcept
110
+ void fmpz_poly_mulhigh_classical(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2, slong start) noexcept
111
+ void _fmpz_poly_mulmid_classical(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
112
+ void fmpz_poly_mulmid_classical(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
113
+ void _fmpz_poly_mul_karatsuba(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
114
+ void fmpz_poly_mul_karatsuba(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
115
+ void _fmpz_poly_mullow_karatsuba_n(fmpz * res, const fmpz * poly1, const fmpz * poly2, slong n) noexcept
116
+ void fmpz_poly_mullow_karatsuba_n(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2, slong n) noexcept
117
+ void _fmpz_poly_mulhigh_karatsuba_n(fmpz * res, const fmpz * poly1, const fmpz * poly2, slong len) noexcept
118
+ void fmpz_poly_mulhigh_karatsuba_n(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2, slong len) noexcept
119
+ void _fmpz_poly_mul_KS(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
120
+ void fmpz_poly_mul_KS(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
121
+ void _fmpz_poly_mullow_KS(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2, slong n) noexcept
122
+ void fmpz_poly_mullow_KS(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2, slong n) noexcept
123
+ void _fmpz_poly_mul_SS(fmpz * output, const fmpz * input1, slong length1, const fmpz * input2, slong length2) noexcept
124
+ void fmpz_poly_mul_SS(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
125
+ void _fmpz_poly_mullow_SS(fmpz * output, const fmpz * input1, slong length1, const fmpz * input2, slong length2, slong n) noexcept
126
+ void fmpz_poly_mullow_SS(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2, slong n) noexcept
127
+ void _fmpz_poly_mul(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
128
+ void fmpz_poly_mul(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
129
+ void _fmpz_poly_mullow(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2, slong n) noexcept
130
+ void fmpz_poly_mullow(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2, slong n) noexcept
131
+ void fmpz_poly_mulhigh_n(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2, slong n) noexcept
132
+ void _fmpz_poly_mulhigh(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2, slong start) noexcept
133
+ void fmpz_poly_mul_SS_precache_init(fmpz_poly_mul_precache_t pre, slong len1, slong bits1, const fmpz_poly_t poly2) noexcept
134
+ void fmpz_poly_mul_precache_clear(fmpz_poly_mul_precache_t pre) noexcept
135
+ void _fmpz_poly_mullow_SS_precache(fmpz * output, const fmpz * input1, slong len1, fmpz_poly_mul_precache_t pre, slong trunc) noexcept
136
+ void fmpz_poly_mullow_SS_precache(fmpz_poly_t res, const fmpz_poly_t poly1, fmpz_poly_mul_precache_t pre, slong n) noexcept
137
+ void fmpz_poly_mul_SS_precache(fmpz_poly_t res, const fmpz_poly_t poly1, fmpz_poly_mul_precache_t pre) noexcept
138
+ void _fmpz_poly_sqr_KS(fmpz * rop, const fmpz * op, slong len) noexcept
139
+ void fmpz_poly_sqr_KS(fmpz_poly_t rop, const fmpz_poly_t op) noexcept
140
+ void _fmpz_poly_sqr_karatsuba(fmpz * rop, const fmpz * op, slong len) noexcept
141
+ void fmpz_poly_sqr_karatsuba(fmpz_poly_t rop, const fmpz_poly_t op) noexcept
142
+ void _fmpz_poly_sqr_classical(fmpz * rop, const fmpz * op, slong len) noexcept
143
+ void fmpz_poly_sqr_classical(fmpz_poly_t rop, const fmpz_poly_t op) noexcept
144
+ void _fmpz_poly_sqr(fmpz * rop, const fmpz * op, slong len) noexcept
145
+ void fmpz_poly_sqr(fmpz_poly_t rop, const fmpz_poly_t op) noexcept
146
+ void _fmpz_poly_sqrlow_KS(fmpz * res, const fmpz * poly, slong len, slong n) noexcept
147
+ void fmpz_poly_sqrlow_KS(fmpz_poly_t res, const fmpz_poly_t poly, slong n) noexcept
148
+ void _fmpz_poly_sqrlow_karatsuba_n(fmpz * res, const fmpz * poly, slong n) noexcept
149
+ void fmpz_poly_sqrlow_karatsuba_n(fmpz_poly_t res, const fmpz_poly_t poly, slong n) noexcept
150
+ void _fmpz_poly_sqrlow_classical(fmpz * res, const fmpz * poly, slong len, slong n) noexcept
151
+ void fmpz_poly_sqrlow_classical(fmpz_poly_t res, const fmpz_poly_t poly, slong n) noexcept
152
+ void _fmpz_poly_sqrlow(fmpz * res, const fmpz * poly, slong len, slong n) noexcept
153
+ void fmpz_poly_sqrlow(fmpz_poly_t res, const fmpz_poly_t poly, slong n) noexcept
154
+ void _fmpz_poly_pow_multinomial(fmpz * res, const fmpz * poly, slong len, ulong e) noexcept
155
+ void fmpz_poly_pow_multinomial(fmpz_poly_t res, const fmpz_poly_t poly, ulong e) noexcept
156
+ void _fmpz_poly_pow_binomial(fmpz * res, const fmpz * poly, ulong e) noexcept
157
+ void fmpz_poly_pow_binomial(fmpz_poly_t res, const fmpz_poly_t poly, ulong e) noexcept
158
+ void _fmpz_poly_pow_addchains(fmpz * res, const fmpz * poly, slong len, const int * a, int n) noexcept
159
+ void fmpz_poly_pow_addchains(fmpz_poly_t res, const fmpz_poly_t poly, ulong e) noexcept
160
+ void _fmpz_poly_pow_binexp(fmpz * res, const fmpz * poly, slong len, ulong e) noexcept
161
+ void fmpz_poly_pow_binexp(fmpz_poly_t res, const fmpz_poly_t poly, ulong e) noexcept
162
+ void _fmpz_poly_pow_small(fmpz * res, const fmpz * poly, slong len, ulong e) noexcept
163
+ void _fmpz_poly_pow(fmpz * res, const fmpz * poly, slong len, ulong e) noexcept
164
+ void fmpz_poly_pow(fmpz_poly_t res, const fmpz_poly_t poly, ulong e) noexcept
165
+ void _fmpz_poly_pow_trunc(fmpz * res, const fmpz * poly, ulong e, slong n) noexcept
166
+ void fmpz_poly_pow_trunc(fmpz_poly_t res, const fmpz_poly_t poly, ulong e, slong n) noexcept
167
+ void _fmpz_poly_shift_left(fmpz * res, const fmpz * poly, slong len, slong n) noexcept
168
+ void fmpz_poly_shift_left(fmpz_poly_t res, const fmpz_poly_t poly, slong n) noexcept
169
+ void _fmpz_poly_shift_right(fmpz * res, const fmpz * poly, slong len, slong n) noexcept
170
+ void fmpz_poly_shift_right(fmpz_poly_t res, const fmpz_poly_t poly, slong n) noexcept
171
+ ulong fmpz_poly_max_limbs(const fmpz_poly_t poly) noexcept
172
+ slong fmpz_poly_max_bits(const fmpz_poly_t poly) noexcept
173
+ void fmpz_poly_height(fmpz_t height, const fmpz_poly_t poly) noexcept
174
+ void _fmpz_poly_2norm(fmpz_t res, const fmpz * poly, slong len) noexcept
175
+ void fmpz_poly_2norm(fmpz_t res, const fmpz_poly_t poly) noexcept
176
+ mp_limb_t _fmpz_poly_2norm_normalised_bits(const fmpz * poly, slong len) noexcept
177
+ void _fmpz_poly_gcd_subresultant(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
178
+ void fmpz_poly_gcd_subresultant(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
179
+ int _fmpz_poly_gcd_heuristic(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
180
+ int fmpz_poly_gcd_heuristic(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
181
+ void _fmpz_poly_gcd_modular(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
182
+ void fmpz_poly_gcd_modular(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
183
+ void _fmpz_poly_gcd(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
184
+ void fmpz_poly_gcd(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
185
+ void _fmpz_poly_xgcd_modular(fmpz_t r, fmpz * s, fmpz * t, const fmpz * f, slong len1, const fmpz * g, slong len2) noexcept
186
+ void fmpz_poly_xgcd_modular(fmpz_t r, fmpz_poly_t s, fmpz_poly_t t, const fmpz_poly_t f, const fmpz_poly_t g) noexcept
187
+ void _fmpz_poly_xgcd(fmpz_t r, fmpz * s, fmpz * t, const fmpz * f, slong len1, const fmpz * g, slong len2) noexcept
188
+ void fmpz_poly_xgcd(fmpz_t r, fmpz_poly_t s, fmpz_poly_t t, const fmpz_poly_t f, const fmpz_poly_t g) noexcept
189
+ void _fmpz_poly_lcm(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
190
+ void fmpz_poly_lcm(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
191
+ void _fmpz_poly_resultant_modular(fmpz_t res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
192
+ void fmpz_poly_resultant_modular(fmpz_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
193
+ void fmpz_poly_resultant_modular_div(fmpz_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2, const fmpz_t div, slong nbits) noexcept
194
+ void _fmpz_poly_resultant_euclidean(fmpz_t res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
195
+ void fmpz_poly_resultant_euclidean(fmpz_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
196
+ void _fmpz_poly_resultant(fmpz_t res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
197
+ void fmpz_poly_resultant(fmpz_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
198
+ void _fmpz_poly_discriminant(fmpz_t res, const fmpz * poly, slong len) noexcept
199
+ void fmpz_poly_discriminant(fmpz_t res, const fmpz_poly_t poly) noexcept
200
+ void _fmpz_poly_content(fmpz_t res, const fmpz * poly, slong len) noexcept
201
+ void fmpz_poly_content(fmpz_t res, const fmpz_poly_t poly) noexcept
202
+ void _fmpz_poly_primitive_part(fmpz * res, const fmpz * poly, slong len) noexcept
203
+ void fmpz_poly_primitive_part(fmpz_poly_t res, const fmpz_poly_t poly) noexcept
204
+ bint _fmpz_poly_is_squarefree(const fmpz * poly, slong len) noexcept
205
+ bint fmpz_poly_is_squarefree(const fmpz_poly_t poly) noexcept
206
+ int _fmpz_poly_divrem_basecase(fmpz * Q, fmpz * R, const fmpz * A, slong lenA, const fmpz * B, slong lenB, int exact) noexcept
207
+ void fmpz_poly_divrem_basecase(fmpz_poly_t Q, fmpz_poly_t R, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
208
+ int _fmpz_poly_divrem_divconquer_recursive(fmpz * Q, fmpz * BQ, fmpz * W, const fmpz * A, const fmpz * B, slong lenB, int exact) noexcept
209
+ int _fmpz_poly_divrem_divconquer(fmpz * Q, fmpz * R, const fmpz * A, slong lenA, const fmpz * B, slong lenB, int exact) noexcept
210
+ void fmpz_poly_divrem_divconquer(fmpz_poly_t Q, fmpz_poly_t R, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
211
+ int _fmpz_poly_divrem(fmpz * Q, fmpz * R, const fmpz * A, slong lenA, const fmpz * B, slong lenB, int exact) noexcept
212
+ void fmpz_poly_divrem(fmpz_poly_t Q, fmpz_poly_t R, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
213
+ int _fmpz_poly_div_basecase(fmpz * Q, fmpz * R, const fmpz * A, slong lenA, const fmpz * B, slong lenB, int exact) noexcept
214
+ void fmpz_poly_div_basecase(fmpz_poly_t Q, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
215
+ int _fmpz_poly_divremlow_divconquer_recursive(fmpz * Q, fmpz * BQ, const fmpz * A, const fmpz * B, slong lenB, int exact) noexcept
216
+ int _fmpz_poly_div_divconquer_recursive(fmpz * Q, fmpz * temp, const fmpz * A, const fmpz * B, slong lenB, int exact) noexcept
217
+ int _fmpz_poly_div_divconquer(fmpz * Q, const fmpz * A, slong lenA, const fmpz * B, slong lenB, int exact) noexcept
218
+ void fmpz_poly_div_divconquer(fmpz_poly_t Q, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
219
+ int _fmpz_poly_div(fmpz * Q, const fmpz * A, slong lenA, const fmpz * B, slong lenB, int exact) noexcept
220
+ void fmpz_poly_div(fmpz_poly_t Q, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
221
+ void _fmpz_poly_rem_basecase(fmpz * R, const fmpz * A, slong lenA, const fmpz * B, slong lenB) noexcept
222
+ void fmpz_poly_rem_basecase(fmpz_poly_t R, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
223
+ void _fmpz_poly_rem(fmpz * R, const fmpz * A, slong lenA, const fmpz * B, slong lenB) noexcept
224
+ void fmpz_poly_rem(fmpz_poly_t R, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
225
+ void _fmpz_poly_div_root(fmpz * Q, const fmpz * A, slong len, const fmpz_t c) noexcept
226
+ void fmpz_poly_div_root(fmpz_poly_t Q, const fmpz_poly_t A, const fmpz_t c) noexcept
227
+ void _fmpz_poly_preinvert(fmpz * B_inv, const fmpz * B, slong n) noexcept
228
+ void fmpz_poly_preinvert(fmpz_poly_t B_inv, const fmpz_poly_t B) noexcept
229
+ void _fmpz_poly_div_preinv(fmpz * Q, const fmpz * A, slong len1, const fmpz * B, const fmpz * B_inv, slong len2) noexcept
230
+ void fmpz_poly_div_preinv(fmpz_poly_t Q, const fmpz_poly_t A, const fmpz_poly_t B, const fmpz_poly_t B_inv) noexcept
231
+ void _fmpz_poly_divrem_preinv(fmpz * Q, fmpz * A, slong len1, const fmpz * B, const fmpz * B_inv, slong len2) noexcept
232
+ void fmpz_poly_divrem_preinv(fmpz_poly_t Q, fmpz_poly_t R, const fmpz_poly_t A, const fmpz_poly_t B, const fmpz_poly_t B_inv) noexcept
233
+ fmpz ** _fmpz_poly_powers_precompute(const fmpz * B, slong len) noexcept
234
+ void fmpz_poly_powers_precompute(fmpz_poly_powers_precomp_t pinv, fmpz_poly_t poly) noexcept
235
+ void _fmpz_poly_powers_clear(fmpz ** powers, slong len) noexcept
236
+ void fmpz_poly_powers_clear(fmpz_poly_powers_precomp_t pinv) noexcept
237
+ void _fmpz_poly_rem_powers_precomp(fmpz * A, slong m, const fmpz * B, slong n, fmpz ** const powers) noexcept
238
+ void fmpz_poly_rem_powers_precomp(fmpz_poly_t R, const fmpz_poly_t A, const fmpz_poly_t B, const fmpz_poly_powers_precomp_t B_inv) noexcept
239
+ int _fmpz_poly_divides(fmpz * Q, const fmpz * A, slong lenA, const fmpz * B, slong lenB) noexcept
240
+ int fmpz_poly_divides(fmpz_poly_t Q, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
241
+ slong fmpz_poly_remove(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
242
+ void fmpz_poly_divlow_smodp(fmpz * res, const fmpz_poly_t f, const fmpz_poly_t g, const fmpz_t p, slong n) noexcept
243
+ void fmpz_poly_divhigh_smodp(fmpz * res, const fmpz_poly_t f, const fmpz_poly_t g, const fmpz_t p, slong n) noexcept
244
+ void _fmpz_poly_inv_series_basecase(fmpz * Qinv, const fmpz * Q, slong Qlen, slong n) noexcept
245
+ void fmpz_poly_inv_series_basecase(fmpz_poly_t Qinv, const fmpz_poly_t Q, slong n) noexcept
246
+ void _fmpz_poly_inv_series_newton(fmpz * Qinv, const fmpz * Q, slong Qlen, slong n) noexcept
247
+ void fmpz_poly_inv_series_newton(fmpz_poly_t Qinv, const fmpz_poly_t Q, slong n) noexcept
248
+ void _fmpz_poly_inv_series(fmpz * Qinv, const fmpz * Q, slong Qlen, slong n) noexcept
249
+ void fmpz_poly_inv_series(fmpz_poly_t Qinv, const fmpz_poly_t Q, slong n) noexcept
250
+ void _fmpz_poly_div_series_basecase(fmpz * Q, const fmpz * A, slong Alen, const fmpz * B, slong Blen, slong n) noexcept
251
+ void _fmpz_poly_div_series_divconquer(fmpz * Q, const fmpz * A, slong Alen, const fmpz * B, slong Blen, slong n) noexcept
252
+ void _fmpz_poly_div_series(fmpz * Q, const fmpz * A, slong Alen, const fmpz * B, slong Blen, slong n) noexcept
253
+ void fmpz_poly_div_series_basecase(fmpz_poly_t Q, const fmpz_poly_t A, const fmpz_poly_t B, slong n) noexcept
254
+ void fmpz_poly_div_series_divconquer(fmpz_poly_t Q, const fmpz_poly_t A, const fmpz_poly_t B, slong n) noexcept
255
+ void fmpz_poly_div_series(fmpz_poly_t Q, const fmpz_poly_t A, const fmpz_poly_t B, slong n) noexcept
256
+ void _fmpz_poly_pseudo_divrem_basecase(fmpz * Q, fmpz * R, ulong * d, const fmpz * A, slong lenA, const fmpz * B, slong lenB, const fmpz_preinvn_t inv) noexcept
257
+ void fmpz_poly_pseudo_divrem_basecase(fmpz_poly_t Q, fmpz_poly_t R, ulong * d, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
258
+ void _fmpz_poly_pseudo_divrem_divconquer(fmpz * Q, fmpz * R, ulong * d, const fmpz * A, slong lenA, const fmpz * B, slong lenB, const fmpz_preinvn_t inv) noexcept
259
+ void fmpz_poly_pseudo_divrem_divconquer(fmpz_poly_t Q, fmpz_poly_t R, ulong * d, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
260
+ void _fmpz_poly_pseudo_divrem_cohen(fmpz * Q, fmpz * R, const fmpz * A, slong lenA, const fmpz * B, slong lenB) noexcept
261
+ void fmpz_poly_pseudo_divrem_cohen(fmpz_poly_t Q, fmpz_poly_t R, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
262
+ void _fmpz_poly_pseudo_rem_cohen(fmpz * R, const fmpz * A, slong lenA, const fmpz * B, slong lenB) noexcept
263
+ void fmpz_poly_pseudo_rem_cohen(fmpz_poly_t R, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
264
+ void _fmpz_poly_pseudo_divrem(fmpz * Q, fmpz * R, ulong * d, const fmpz * A, slong lenA, const fmpz * B, slong lenB, const fmpz_preinvn_t inv) noexcept
265
+ void fmpz_poly_pseudo_divrem(fmpz_poly_t Q, fmpz_poly_t R, ulong * d, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
266
+ void _fmpz_poly_pseudo_div(fmpz * Q, ulong * d, const fmpz * A, slong lenA, const fmpz * B, slong lenB, const fmpz_preinvn_t inv) noexcept
267
+ void fmpz_poly_pseudo_div(fmpz_poly_t Q, ulong * d, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
268
+ void _fmpz_poly_pseudo_rem(fmpz * R, ulong * d, const fmpz * A, slong lenA, const fmpz * B, slong lenB, const fmpz_preinvn_t inv) noexcept
269
+ void fmpz_poly_pseudo_rem(fmpz_poly_t R, ulong * d, const fmpz_poly_t A, const fmpz_poly_t B) noexcept
270
+ void _fmpz_poly_derivative(fmpz * rpoly, const fmpz * poly, slong len) noexcept
271
+ void fmpz_poly_derivative(fmpz_poly_t res, const fmpz_poly_t poly) noexcept
272
+ void _fmpz_poly_nth_derivative(fmpz * rpoly, const fmpz * poly, ulong n, slong len) noexcept
273
+ void fmpz_poly_nth_derivative(fmpz_poly_t res, const fmpz_poly_t poly, ulong n) noexcept
274
+ void _fmpz_poly_evaluate_divconquer_fmpz(fmpz_t res, const fmpz * poly, slong len, const fmpz_t a) noexcept
275
+ void fmpz_poly_evaluate_divconquer_fmpz(fmpz_t res, const fmpz_poly_t poly, const fmpz_t a) noexcept
276
+ void _fmpz_poly_evaluate_horner_fmpz(fmpz_t res, const fmpz * f, slong len, const fmpz_t a) noexcept
277
+ void fmpz_poly_evaluate_horner_fmpz(fmpz_t res, const fmpz_poly_t f, const fmpz_t a) noexcept
278
+ void _fmpz_poly_evaluate_fmpz(fmpz_t res, const fmpz * f, slong len, const fmpz_t a) noexcept
279
+ void fmpz_poly_evaluate_fmpz(fmpz_t res, const fmpz_poly_t f, const fmpz_t a) noexcept
280
+ void _fmpz_poly_evaluate_divconquer_fmpq(fmpz_t rnum, fmpz_t rden, const fmpz * f, slong len, const fmpz_t anum, const fmpz_t aden) noexcept
281
+ void fmpz_poly_evaluate_divconquer_fmpq(fmpq_t res, const fmpz_poly_t f, const fmpq_t a) noexcept
282
+ void _fmpz_poly_evaluate_horner_fmpq(fmpz_t rnum, fmpz_t rden, const fmpz * f, slong len, const fmpz_t anum, const fmpz_t aden) noexcept
283
+ void fmpz_poly_evaluate_horner_fmpq(fmpq_t res, const fmpz_poly_t f, const fmpq_t a) noexcept
284
+ void _fmpz_poly_evaluate_fmpq(fmpz_t rnum, fmpz_t rden, const fmpz * f, slong len, const fmpz_t anum, const fmpz_t aden) noexcept
285
+ void fmpz_poly_evaluate_fmpq(fmpq_t res, const fmpz_poly_t f, const fmpq_t a) noexcept
286
+ mp_limb_t _fmpz_poly_evaluate_mod(const fmpz * poly, slong len, mp_limb_t a, mp_limb_t n, mp_limb_t ninv) noexcept
287
+ mp_limb_t fmpz_poly_evaluate_mod(const fmpz_poly_t poly, mp_limb_t a, mp_limb_t n) noexcept
288
+ void fmpz_poly_evaluate_fmpz_vec(fmpz * res, const fmpz_poly_t f, const fmpz * a, slong n) noexcept
289
+ double _fmpz_poly_evaluate_horner_d(const fmpz * poly, slong n, double d) noexcept
290
+ double fmpz_poly_evaluate_horner_d(const fmpz_poly_t poly, double d) noexcept
291
+ double _fmpz_poly_evaluate_horner_d_2exp(slong * exp, const fmpz * poly, slong n, double d) noexcept
292
+ double fmpz_poly_evaluate_horner_d_2exp(slong * exp, const fmpz_poly_t poly, double d) noexcept
293
+ double _fmpz_poly_evaluate_horner_d_2exp2(slong * exp, const fmpz * poly, slong n, double d, slong dexp) noexcept
294
+ void _fmpz_poly_monomial_to_newton(fmpz * poly, const fmpz * roots, slong n) noexcept
295
+ void _fmpz_poly_newton_to_monomial(fmpz * poly, const fmpz * roots, slong n) noexcept
296
+ void fmpz_poly_interpolate_fmpz_vec(fmpz_poly_t poly, const fmpz * xs, const fmpz * ys, slong n) noexcept
297
+ void _fmpz_poly_compose_horner(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
298
+ void fmpz_poly_compose_horner(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
299
+ void _fmpz_poly_compose_divconquer(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
300
+ void fmpz_poly_compose_divconquer(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
301
+ void _fmpz_poly_compose(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2) noexcept
302
+ void fmpz_poly_compose(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2) noexcept
303
+ void fmpz_poly_inflate(fmpz_poly_t result, const fmpz_poly_t input, ulong inflation) noexcept
304
+ void fmpz_poly_deflate(fmpz_poly_t result, const fmpz_poly_t input, ulong deflation) noexcept
305
+ ulong fmpz_poly_deflation(const fmpz_poly_t input) noexcept
306
+ void _fmpz_poly_taylor_shift_horner(fmpz * poly, const fmpz_t c, slong n) noexcept
307
+ void fmpz_poly_taylor_shift_horner(fmpz_poly_t g, const fmpz_poly_t f, const fmpz_t c) noexcept
308
+ void _fmpz_poly_taylor_shift_divconquer(fmpz * poly, const fmpz_t c, slong n) noexcept
309
+ void fmpz_poly_taylor_shift_divconquer(fmpz_poly_t g, const fmpz_poly_t f, const fmpz_t c) noexcept
310
+ void _fmpz_poly_taylor_shift_multi_mod(fmpz * poly, const fmpz_t c, slong n) noexcept
311
+ void fmpz_poly_taylor_shift_multi_mod(fmpz_poly_t g, const fmpz_poly_t f, const fmpz_t c) noexcept
312
+ void _fmpz_poly_taylor_shift(fmpz * poly, const fmpz_t c, slong n) noexcept
313
+ void fmpz_poly_taylor_shift(fmpz_poly_t g, const fmpz_poly_t f, const fmpz_t c) noexcept
314
+ void _fmpz_poly_compose_series_horner(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2, slong n) noexcept
315
+ void fmpz_poly_compose_series_horner(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2, slong n) noexcept
316
+ void _fmpz_poly_compose_series_brent_kung(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2, slong n) noexcept
317
+ void fmpz_poly_compose_series_brent_kung(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2, slong n) noexcept
318
+ void _fmpz_poly_compose_series(fmpz * res, const fmpz * poly1, slong len1, const fmpz * poly2, slong len2, slong n) noexcept
319
+ void fmpz_poly_compose_series(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_poly_t poly2, slong n) noexcept
320
+ void _fmpz_poly_revert_series(fmpz * Qinv, const fmpz * Q, slong Qlen, slong n) noexcept
321
+ void fmpz_poly_revert_series(fmpz_poly_t Qinv, const fmpz_poly_t Q, slong n) noexcept
322
+ int _fmpz_poly_sqrtrem_classical(fmpz * res, fmpz * r, const fmpz * poly, slong len) noexcept
323
+ int fmpz_poly_sqrtrem_classical(fmpz_poly_t b, fmpz_poly_t r, const fmpz_poly_t a) noexcept
324
+ int _fmpz_poly_sqrtrem_divconquer(fmpz * res, fmpz * r, const fmpz * poly, slong len, fmpz * temp) noexcept
325
+ int fmpz_poly_sqrtrem_divconquer(fmpz_poly_t b, fmpz_poly_t r, const fmpz_poly_t a) noexcept
326
+ int _fmpz_poly_sqrt_classical(fmpz * res, const fmpz * poly, slong len, int exact) noexcept
327
+ int fmpz_poly_sqrt_classical(fmpz_poly_t b, const fmpz_poly_t a) noexcept
328
+ int _fmpz_poly_sqrt_KS(fmpz * res, const fmpz * poly, slong len) noexcept
329
+ int fmpz_poly_sqrt_KS(fmpz_poly_t b, const fmpz_poly_t a) noexcept
330
+ int _fmpz_poly_sqrt_divconquer(fmpz * res, const fmpz * poly, slong len, int exact) noexcept
331
+ int fmpz_poly_sqrt_divconquer(fmpz_poly_t b, const fmpz_poly_t a) noexcept
332
+ int _fmpz_poly_sqrt(fmpz * res, const fmpz * poly, slong len) noexcept
333
+ int fmpz_poly_sqrt(fmpz_poly_t b, const fmpz_poly_t a) noexcept
334
+ int _fmpz_poly_sqrt_series(fmpz * res, const fmpz * poly, slong len, slong n) noexcept
335
+ int fmpz_poly_sqrt_series(fmpz_poly_t b, const fmpz_poly_t a, slong n) noexcept
336
+ void _fmpz_poly_power_sums_naive(fmpz * res, const fmpz * poly, slong len, slong n) noexcept
337
+ void fmpz_poly_power_sums_naive(fmpz_poly_t res, const fmpz_poly_t poly, slong n) noexcept
338
+ void fmpz_poly_power_sums(fmpz_poly_t res, const fmpz_poly_t poly, slong n) noexcept
339
+ void _fmpz_poly_power_sums_to_poly(fmpz * res, const fmpz * poly, slong len) noexcept
340
+ void fmpz_poly_power_sums_to_poly(fmpz_poly_t res, const fmpz_poly_t Q) noexcept
341
+ void _fmpz_poly_signature(slong * r1, slong * r2, const fmpz * poly, slong len) noexcept
342
+ void fmpz_poly_signature(slong * r1, slong * r2, const fmpz_poly_t poly) noexcept
343
+ void fmpz_poly_hensel_build_tree(slong * link, fmpz_poly_t * v, fmpz_poly_t * w, const nmod_poly_factor_t fac) noexcept
344
+ void fmpz_poly_hensel_lift(fmpz_poly_t G, fmpz_poly_t H, fmpz_poly_t A, fmpz_poly_t B, const fmpz_poly_t f, const fmpz_poly_t g, const fmpz_poly_t h, const fmpz_poly_t a, const fmpz_poly_t b, const fmpz_t p, const fmpz_t p1) noexcept
345
+ void fmpz_poly_hensel_lift_without_inverse(fmpz_poly_t Gout, fmpz_poly_t Hout, const fmpz_poly_t f, const fmpz_poly_t g, const fmpz_poly_t h, const fmpz_poly_t a, const fmpz_poly_t b, const fmpz_t p, const fmpz_t p1) noexcept
346
+ void fmpz_poly_hensel_lift_only_inverse(fmpz_poly_t Aout, fmpz_poly_t Bout, const fmpz_poly_t G, const fmpz_poly_t H, const fmpz_poly_t a, const fmpz_poly_t b, const fmpz_t p, const fmpz_t p1) noexcept
347
+ void fmpz_poly_hensel_lift_tree_recursive(slong * link, fmpz_poly_t * v, fmpz_poly_t * w, fmpz_poly_t f, slong j, slong inv, const fmpz_t p0, const fmpz_t p1) noexcept
348
+ void fmpz_poly_hensel_lift_tree(slong * link, fmpz_poly_t * v, fmpz_poly_t * w, fmpz_poly_t f, slong r, const fmpz_t p, slong e0, slong e1, slong inv) noexcept
349
+ slong _fmpz_poly_hensel_start_lift(fmpz_poly_factor_t lifted_fac, slong * link, fmpz_poly_t * v, fmpz_poly_t * w, const fmpz_poly_t f, const nmod_poly_factor_t local_fac, slong N) noexcept
350
+ slong _fmpz_poly_hensel_continue_lift(fmpz_poly_factor_t lifted_fac, slong * link, fmpz_poly_t * v, fmpz_poly_t * w, const fmpz_poly_t f, slong prev, slong curr, slong N, const fmpz_t p) noexcept
351
+ void fmpz_poly_hensel_lift_once(fmpz_poly_factor_t lifted_fac, const fmpz_poly_t f, const nmod_poly_factor_t local_fac, slong N) noexcept
352
+ int _fmpz_poly_print(const fmpz * poly, slong len) noexcept
353
+ int fmpz_poly_print(const fmpz_poly_t poly) noexcept
354
+ int _fmpz_poly_print_pretty(const fmpz * poly, slong len, const char * x) noexcept
355
+ int fmpz_poly_print_pretty(const fmpz_poly_t poly, const char * x) noexcept
356
+ int _fmpz_poly_fprint(FILE * file, const fmpz * poly, slong len) noexcept
357
+ int fmpz_poly_fprint(FILE * file, const fmpz_poly_t poly) noexcept
358
+ int _fmpz_poly_fprint_pretty(FILE * file, const fmpz * poly, slong len, const char * x) noexcept
359
+ int fmpz_poly_fprint_pretty(FILE * file, const fmpz_poly_t poly, const char * x) noexcept
360
+ int fmpz_poly_read(fmpz_poly_t poly) noexcept
361
+ int fmpz_poly_read_pretty(fmpz_poly_t poly, char **x) noexcept
362
+ int fmpz_poly_fread(FILE * file, fmpz_poly_t poly) noexcept
363
+ int fmpz_poly_fread_pretty(FILE * file, fmpz_poly_t poly, char **x) noexcept
364
+ void fmpz_poly_get_nmod_poly(nmod_poly_t Amod, const fmpz_poly_t A) noexcept
365
+ void fmpz_poly_set_nmod_poly(fmpz_poly_t A, const nmod_poly_t Amod) noexcept
366
+ void fmpz_poly_set_nmod_poly_unsigned(fmpz_poly_t A, const nmod_poly_t Amod) noexcept
367
+ void _fmpz_poly_CRT_ui_precomp(fmpz * res, const fmpz * poly1, slong len1, const fmpz_t m1, mp_srcptr poly2, slong len2, mp_limb_t m2, mp_limb_t m2inv, fmpz_t m1m2, mp_limb_t c, int sign) noexcept
368
+ void _fmpz_poly_CRT_ui(fmpz * res, const fmpz * poly1, slong len1, const fmpz_t m1, mp_srcptr poly2, slong len2, mp_limb_t m2, mp_limb_t m2inv, int sign) noexcept
369
+ void fmpz_poly_CRT_ui(fmpz_poly_t res, const fmpz_poly_t poly1, const fmpz_t m, const nmod_poly_t poly2, int sign) noexcept
370
+ void _fmpz_poly_product_roots_fmpz_vec(fmpz * poly, const fmpz * xs, slong n) noexcept
371
+ void fmpz_poly_product_roots_fmpz_vec(fmpz_poly_t poly, const fmpz * xs, slong n) noexcept
372
+ void _fmpz_poly_product_roots_fmpq_vec(fmpz * poly, const fmpq * xs, slong n) noexcept
373
+ void fmpz_poly_product_roots_fmpq_vec(fmpz_poly_t poly, const fmpq * xs, slong n) noexcept
374
+ void _fmpz_poly_bound_roots(fmpz_t bound, const fmpz * poly, slong len) noexcept
375
+ void fmpz_poly_bound_roots(fmpz_t bound, const fmpz_poly_t poly) noexcept
376
+ void _fmpz_poly_num_real_roots_sturm(slong * n_neg, slong * n_pos, const fmpz * pol, slong len) noexcept
377
+ slong fmpz_poly_num_real_roots_sturm(const fmpz_poly_t pol) noexcept
378
+ slong _fmpz_poly_num_real_roots(const fmpz * pol, slong len) noexcept
379
+ slong fmpz_poly_num_real_roots(const fmpz_poly_t pol) noexcept
380
+ void _fmpz_poly_cyclotomic(fmpz * a, ulong n, mp_ptr factors, slong num_factors, ulong phi) noexcept
381
+ void fmpz_poly_cyclotomic(fmpz_poly_t poly, ulong n) noexcept
382
+ ulong _fmpz_poly_is_cyclotomic(const fmpz * poly, slong len) noexcept
383
+ ulong fmpz_poly_is_cyclotomic(const fmpz_poly_t poly) noexcept
384
+ void _fmpz_poly_cos_minpoly(fmpz * coeffs, ulong n) noexcept
385
+ void fmpz_poly_cos_minpoly(fmpz_poly_t poly, ulong n) noexcept
386
+ void _fmpz_poly_swinnerton_dyer(fmpz * coeffs, ulong n) noexcept
387
+ void fmpz_poly_swinnerton_dyer(fmpz_poly_t poly, ulong n) noexcept
388
+ void _fmpz_poly_chebyshev_t(fmpz * coeffs, ulong n) noexcept
389
+ void fmpz_poly_chebyshev_t(fmpz_poly_t poly, ulong n) noexcept
390
+ void _fmpz_poly_chebyshev_u(fmpz * coeffs, ulong n) noexcept
391
+ void fmpz_poly_chebyshev_u(fmpz_poly_t poly, ulong n) noexcept
392
+ void _fmpz_poly_legendre_pt(fmpz * coeffs, ulong n) noexcept
393
+ void fmpz_poly_legendre_pt(fmpz_poly_t poly, ulong n) noexcept
394
+ void _fmpz_poly_hermite_h(fmpz * coeffs, ulong n) noexcept
395
+ void fmpz_poly_hermite_h(fmpz_poly_t poly, ulong n) noexcept
396
+ void _fmpz_poly_hermite_he(fmpz * coeffs, ulong n) noexcept
397
+ void fmpz_poly_hermite_he(fmpz_poly_t poly, ulong n) noexcept
398
+ void _fmpz_poly_fibonacci(fmpz * coeffs, ulong n) noexcept
399
+ void fmpz_poly_fibonacci(fmpz_poly_t poly, ulong n) noexcept
400
+ void arith_eulerian_polynomial(fmpz_poly_t res, ulong n) noexcept
401
+ void _fmpz_poly_eta_qexp(fmpz * f, slong r, slong len) noexcept
402
+ void fmpz_poly_eta_qexp(fmpz_poly_t f, slong r, slong n) noexcept
403
+ void _fmpz_poly_theta_qexp(fmpz * f, slong r, slong len) noexcept
404
+ void fmpz_poly_theta_qexp(fmpz_poly_t f, slong r, slong n) noexcept
405
+ void fmpz_poly_CLD_bound(fmpz_t res, const fmpz_poly_t f, slong n) noexcept
406
+
407
+ from .fmpz_poly_macros cimport *
@@ -0,0 +1,19 @@
1
+ # sage_setup: distribution = sagemath-flint
2
+ r"""
3
+ Deprecated module
4
+
5
+ TESTS::
6
+
7
+ sage: from sage.libs.flint.fmpz_poly import Fmpz_poly
8
+ sage: Fmpz_poly([1, 1])
9
+ doctest:warning
10
+ ...
11
+ DeprecationWarning:
12
+ Importing Fmpz_poly from here is deprecated; please use "from sage.libs.flint.fmpz_poly_sage import Fmpz_poly" instead.
13
+ See https://github.com/sagemath/sage/issues/36449 for details.
14
+ 2 1 1
15
+ """
16
+
17
+ from sage.misc.lazy_import import LazyImport
18
+
19
+ Fmpz_poly = LazyImport('sage.libs.flint.fmpz_poly_sage', 'Fmpz_poly', deprecation=36449)
@@ -0,0 +1,33 @@
1
+ # sage_setup: distribution = sagemath-flint
2
+ # distutils: libraries = flint
3
+ # distutils: depends = flint/fmpz_poly_factor.h
4
+
5
+ ################################################################################
6
+ # This file is auto-generated by the script
7
+ # SAGE_ROOT/src/sage_setup/autogen/flint_autogen.py.
8
+ # From the commit 3e2c3a3e091106a25ca9c6fba28e02f2cbcd654a
9
+ # Do not modify by hand! Fix and rerun the script instead.
10
+ ################################################################################
11
+
12
+ from libc.stdio cimport FILE
13
+ from sage.libs.gmp.types cimport *
14
+ from sage.libs.mpfr.types cimport *
15
+ from sage.libs.flint.types cimport *
16
+
17
+ cdef extern from "flint_wrap.h":
18
+ void fmpz_poly_factor_init(fmpz_poly_factor_t fac) noexcept
19
+ void fmpz_poly_factor_init2(fmpz_poly_factor_t fac, slong alloc) noexcept
20
+ void fmpz_poly_factor_realloc(fmpz_poly_factor_t fac, slong alloc) noexcept
21
+ void fmpz_poly_factor_fit_length(fmpz_poly_factor_t fac, slong len) noexcept
22
+ void fmpz_poly_factor_clear(fmpz_poly_factor_t fac) noexcept
23
+ void fmpz_poly_factor_set(fmpz_poly_factor_t res, const fmpz_poly_factor_t fac) noexcept
24
+ void fmpz_poly_factor_insert(fmpz_poly_factor_t fac, const fmpz_poly_t p, slong e) noexcept
25
+ void fmpz_poly_factor_concat(fmpz_poly_factor_t res, const fmpz_poly_factor_t fac) noexcept
26
+ void fmpz_poly_factor_print(const fmpz_poly_factor_t fac) noexcept
27
+ void fmpz_poly_factor_squarefree(fmpz_poly_factor_t fac, const fmpz_poly_t F) noexcept
28
+ void fmpz_poly_factor_zassenhaus_recombination(fmpz_poly_factor_t final_fac, const fmpz_poly_factor_t lifted_fac, const fmpz_poly_t F, const fmpz_t P, slong exp) noexcept
29
+ void _fmpz_poly_factor_zassenhaus(fmpz_poly_factor_t final_fac, slong exp, const fmpz_poly_t f, slong cutoff, int use_van_hoeij) noexcept
30
+ void fmpz_poly_factor_zassenhaus(fmpz_poly_factor_t final_fac, const fmpz_poly_t F) noexcept
31
+ void _fmpz_poly_factor_quadratic(fmpz_poly_factor_t fac, const fmpz_poly_t f, slong exp) noexcept
32
+ void _fmpz_poly_factor_cubic(fmpz_poly_factor_t fac, const fmpz_poly_t f, slong exp) noexcept
33
+ void fmpz_poly_factor(fmpz_poly_factor_t final_fac, const fmpz_poly_t F) noexcept
@@ -0,0 +1,8 @@
1
+ # sage_setup: distribution = sagemath-flint
2
+ # Macros from fmpz_poly.h
3
+ # See https://github.com/flintlib/flint/issues/1529
4
+
5
+ from .types cimport *
6
+
7
+ cdef extern from "flint_wrap.h":
8
+ fmpz * fmpz_poly_get_coeff_ptr(fmpz_poly_t p, ulong n)
@@ -0,0 +1,71 @@
1
+ # sage_setup: distribution = sagemath-flint
2
+ # distutils: libraries = flint
3
+ # distutils: depends = flint/fmpz_poly_mat.h
4
+
5
+ ################################################################################
6
+ # This file is auto-generated by the script
7
+ # SAGE_ROOT/src/sage_setup/autogen/flint_autogen.py.
8
+ # From the commit 3e2c3a3e091106a25ca9c6fba28e02f2cbcd654a
9
+ # Do not modify by hand! Fix and rerun the script instead.
10
+ ################################################################################
11
+
12
+ from libc.stdio cimport FILE
13
+ from sage.libs.gmp.types cimport *
14
+ from sage.libs.mpfr.types cimport *
15
+ from sage.libs.flint.types cimport *
16
+
17
+ cdef extern from "flint_wrap.h":
18
+ void fmpz_poly_mat_init(fmpz_poly_mat_t mat, slong rows, slong cols) noexcept
19
+ void fmpz_poly_mat_init_set(fmpz_poly_mat_t mat, const fmpz_poly_mat_t src) noexcept
20
+ void fmpz_poly_mat_clear(fmpz_poly_mat_t mat) noexcept
21
+ slong fmpz_poly_mat_nrows(const fmpz_poly_mat_t mat) noexcept
22
+ slong fmpz_poly_mat_ncols(const fmpz_poly_mat_t mat) noexcept
23
+ fmpz_poly_struct * fmpz_poly_mat_entry(const fmpz_poly_mat_t mat, slong i, slong j) noexcept
24
+ void fmpz_poly_mat_set(fmpz_poly_mat_t mat1, const fmpz_poly_mat_t mat2) noexcept
25
+ void fmpz_poly_mat_swap(fmpz_poly_mat_t mat1, fmpz_poly_mat_t mat2) noexcept
26
+ void fmpz_poly_mat_swap_entrywise(fmpz_poly_mat_t mat1, fmpz_poly_mat_t mat2) noexcept
27
+ void fmpz_poly_mat_print(const fmpz_poly_mat_t mat, const char * x) noexcept
28
+ void fmpz_poly_mat_randtest(fmpz_poly_mat_t mat, flint_rand_t state, slong len, flint_bitcnt_t bits) noexcept
29
+ void fmpz_poly_mat_randtest_unsigned(fmpz_poly_mat_t mat, flint_rand_t state, slong len, flint_bitcnt_t bits) noexcept
30
+ void fmpz_poly_mat_randtest_sparse(fmpz_poly_mat_t A, flint_rand_t state, slong len, flint_bitcnt_t bits, float density) noexcept
31
+ void fmpz_poly_mat_zero(fmpz_poly_mat_t mat) noexcept
32
+ void fmpz_poly_mat_one(fmpz_poly_mat_t mat) noexcept
33
+ bint fmpz_poly_mat_equal(const fmpz_poly_mat_t mat1, const fmpz_poly_mat_t mat2) noexcept
34
+ bint fmpz_poly_mat_is_zero(const fmpz_poly_mat_t mat) noexcept
35
+ bint fmpz_poly_mat_is_one(const fmpz_poly_mat_t mat) noexcept
36
+ bint fmpz_poly_mat_is_empty(const fmpz_poly_mat_t mat) noexcept
37
+ bint fmpz_poly_mat_is_square(const fmpz_poly_mat_t mat) noexcept
38
+ slong fmpz_poly_mat_max_bits(const fmpz_poly_mat_t A) noexcept
39
+ slong fmpz_poly_mat_max_length(const fmpz_poly_mat_t A) noexcept
40
+ void fmpz_poly_mat_transpose(fmpz_poly_mat_t B, const fmpz_poly_mat_t A) noexcept
41
+ void fmpz_poly_mat_evaluate_fmpz(fmpz_mat_t B, const fmpz_poly_mat_t A, const fmpz_t x) noexcept
42
+ void fmpz_poly_mat_scalar_mul_fmpz_poly(fmpz_poly_mat_t B, const fmpz_poly_mat_t A, const fmpz_poly_t c) noexcept
43
+ void fmpz_poly_mat_scalar_mul_fmpz(fmpz_poly_mat_t B, const fmpz_poly_mat_t A, const fmpz_t c) noexcept
44
+ void fmpz_poly_mat_add(fmpz_poly_mat_t C, const fmpz_poly_mat_t A, const fmpz_poly_mat_t B) noexcept
45
+ void fmpz_poly_mat_sub(fmpz_poly_mat_t C, const fmpz_poly_mat_t A, const fmpz_poly_mat_t B) noexcept
46
+ void fmpz_poly_mat_neg(fmpz_poly_mat_t B, const fmpz_poly_mat_t A) noexcept
47
+ void fmpz_poly_mat_mul(fmpz_poly_mat_t C, const fmpz_poly_mat_t A, const fmpz_poly_mat_t B) noexcept
48
+ void fmpz_poly_mat_mul_classical(fmpz_poly_mat_t C, const fmpz_poly_mat_t A, const fmpz_poly_mat_t B) noexcept
49
+ void fmpz_poly_mat_mul_KS(fmpz_poly_mat_t C, const fmpz_poly_mat_t A, const fmpz_poly_mat_t B) noexcept
50
+ void fmpz_poly_mat_mullow(fmpz_poly_mat_t C, const fmpz_poly_mat_t A, const fmpz_poly_mat_t B, slong len) noexcept
51
+ void fmpz_poly_mat_sqr(fmpz_poly_mat_t B, const fmpz_poly_mat_t A) noexcept
52
+ void fmpz_poly_mat_sqr_classical(fmpz_poly_mat_t B, const fmpz_poly_mat_t A) noexcept
53
+ void fmpz_poly_mat_sqr_KS(fmpz_poly_mat_t B, const fmpz_poly_mat_t A) noexcept
54
+ void fmpz_poly_mat_sqrlow(fmpz_poly_mat_t B, const fmpz_poly_mat_t A, slong len) noexcept
55
+ void fmpz_poly_mat_pow(fmpz_poly_mat_t B, const fmpz_poly_mat_t A, ulong exp) noexcept
56
+ void fmpz_poly_mat_pow_trunc(fmpz_poly_mat_t B, const fmpz_poly_mat_t A, ulong exp, slong len) noexcept
57
+ void fmpz_poly_mat_prod(fmpz_poly_mat_t res, fmpz_poly_mat_t * const factors, slong n) noexcept
58
+ slong fmpz_poly_mat_find_pivot_any(const fmpz_poly_mat_t mat, slong start_row, slong end_row, slong c) noexcept
59
+ slong fmpz_poly_mat_find_pivot_partial(const fmpz_poly_mat_t mat, slong start_row, slong end_row, slong c) noexcept
60
+ slong fmpz_poly_mat_fflu(fmpz_poly_mat_t B, fmpz_poly_t den, slong * perm, const fmpz_poly_mat_t A, int rank_check) noexcept
61
+ slong fmpz_poly_mat_rref(fmpz_poly_mat_t B, fmpz_poly_t den, const fmpz_poly_mat_t A) noexcept
62
+ void fmpz_poly_mat_trace(fmpz_poly_t trace, const fmpz_poly_mat_t mat) noexcept
63
+ void fmpz_poly_mat_det(fmpz_poly_t det, const fmpz_poly_mat_t A) noexcept
64
+ void fmpz_poly_mat_det_fflu(fmpz_poly_t det, const fmpz_poly_mat_t A) noexcept
65
+ void fmpz_poly_mat_det_interpolate(fmpz_poly_t det, const fmpz_poly_mat_t A) noexcept
66
+ slong fmpz_poly_mat_rank(const fmpz_poly_mat_t A) noexcept
67
+ int fmpz_poly_mat_inv(fmpz_poly_mat_t Ainv, fmpz_poly_t den, const fmpz_poly_mat_t A) noexcept
68
+ slong fmpz_poly_mat_nullspace(fmpz_poly_mat_t res, const fmpz_poly_mat_t mat) noexcept
69
+ int fmpz_poly_mat_solve(fmpz_poly_mat_t X, fmpz_poly_t den, const fmpz_poly_mat_t A, const fmpz_poly_mat_t B) noexcept
70
+ int fmpz_poly_mat_solve_fflu(fmpz_poly_mat_t X, fmpz_poly_t den, const fmpz_poly_mat_t A, const fmpz_poly_mat_t B) noexcept
71
+ void fmpz_poly_mat_solve_fflu_precomp(fmpz_poly_mat_t X, const slong * perm, const fmpz_poly_mat_t FFLU, const fmpz_poly_mat_t B) noexcept
@@ -0,0 +1,55 @@
1
+ # sage_setup: distribution = sagemath-flint
2
+ # distutils: libraries = flint
3
+ # distutils: depends = flint/fmpz_poly_q.h
4
+
5
+ ################################################################################
6
+ # This file is auto-generated by the script
7
+ # SAGE_ROOT/src/sage_setup/autogen/flint_autogen.py.
8
+ # From the commit 3e2c3a3e091106a25ca9c6fba28e02f2cbcd654a
9
+ # Do not modify by hand! Fix and rerun the script instead.
10
+ ################################################################################
11
+
12
+ from libc.stdio cimport FILE
13
+ from sage.libs.gmp.types cimport *
14
+ from sage.libs.mpfr.types cimport *
15
+ from sage.libs.flint.types cimport *
16
+
17
+ cdef extern from "flint_wrap.h":
18
+ void fmpz_poly_q_init(fmpz_poly_q_t rop) noexcept
19
+ void fmpz_poly_q_clear(fmpz_poly_q_t rop) noexcept
20
+ fmpz_poly_struct * fmpz_poly_q_numref(const fmpz_poly_q_t op) noexcept
21
+ fmpz_poly_struct * fmpz_poly_q_denref(const fmpz_poly_q_t op) noexcept
22
+ void fmpz_poly_q_canonicalise(fmpz_poly_q_t rop) noexcept
23
+ bint fmpz_poly_q_is_canonical(const fmpz_poly_q_t op) noexcept
24
+ void fmpz_poly_q_randtest(fmpz_poly_q_t poly, flint_rand_t state, slong len1, flint_bitcnt_t bits1, slong len2, flint_bitcnt_t bits2) noexcept
25
+ void fmpz_poly_q_randtest_not_zero(fmpz_poly_q_t poly, flint_rand_t state, slong len1, flint_bitcnt_t bits1, slong len2, flint_bitcnt_t bits2) noexcept
26
+ void fmpz_poly_q_set(fmpz_poly_q_t rop, const fmpz_poly_q_t op) noexcept
27
+ void fmpz_poly_q_set_si(fmpz_poly_q_t rop, slong op) noexcept
28
+ void fmpz_poly_q_swap(fmpz_poly_q_t op1, fmpz_poly_q_t op2) noexcept
29
+ void fmpz_poly_q_zero(fmpz_poly_q_t rop) noexcept
30
+ void fmpz_poly_q_one(fmpz_poly_q_t rop) noexcept
31
+ void fmpz_poly_q_neg(fmpz_poly_q_t rop, const fmpz_poly_q_t op) noexcept
32
+ void fmpz_poly_q_inv(fmpz_poly_q_t rop, const fmpz_poly_q_t op) noexcept
33
+ bint fmpz_poly_q_is_zero(const fmpz_poly_q_t op) noexcept
34
+ bint fmpz_poly_q_is_one(const fmpz_poly_q_t op) noexcept
35
+ bint fmpz_poly_q_equal(const fmpz_poly_q_t op1, const fmpz_poly_q_t op2) noexcept
36
+ void fmpz_poly_q_add(fmpz_poly_q_t rop, const fmpz_poly_q_t op1, const fmpz_poly_q_t op2) noexcept
37
+ void fmpz_poly_q_sub(fmpz_poly_q_t rop, const fmpz_poly_q_t op1, const fmpz_poly_q_t op2) noexcept
38
+ void fmpz_poly_q_addmul(fmpz_poly_q_t rop, const fmpz_poly_q_t op1, const fmpz_poly_q_t op2) noexcept
39
+ void fmpz_poly_q_submul(fmpz_poly_q_t rop, const fmpz_poly_q_t op1, const fmpz_poly_q_t op2) noexcept
40
+ void fmpz_poly_q_scalar_mul_si(fmpz_poly_q_t rop, const fmpz_poly_q_t op, slong x) noexcept
41
+ void fmpz_poly_q_scalar_mul_fmpz(fmpz_poly_q_t rop, const fmpz_poly_q_t op, const fmpz_t x) noexcept
42
+ void fmpz_poly_q_scalar_mul_fmpq(fmpz_poly_q_t rop, const fmpz_poly_q_t op, const fmpq_t x) noexcept
43
+ void fmpz_poly_q_scalar_div_si(fmpz_poly_q_t rop, const fmpz_poly_q_t op, slong x) noexcept
44
+ void fmpz_poly_q_scalar_div_fmpz(fmpz_poly_q_t rop, const fmpz_poly_q_t op, const fmpz_t x) noexcept
45
+ void fmpz_poly_q_scalar_div_fmpq(fmpz_poly_q_t rop, const fmpz_poly_q_t op, const fmpq_t x) noexcept
46
+ void fmpz_poly_q_mul(fmpz_poly_q_t rop, const fmpz_poly_q_t op1, const fmpz_poly_q_t op2) noexcept
47
+ void fmpz_poly_q_div(fmpz_poly_q_t rop, const fmpz_poly_q_t op1, const fmpz_poly_q_t op2) noexcept
48
+ void fmpz_poly_q_pow(fmpz_poly_q_t rop, const fmpz_poly_q_t op, ulong exp) noexcept
49
+ void fmpz_poly_q_derivative(fmpz_poly_q_t rop, const fmpz_poly_q_t op) noexcept
50
+ int fmpz_poly_q_evaluate_fmpq(fmpq_t rop, const fmpz_poly_q_t f, const fmpq_t a) noexcept
51
+ int fmpz_poly_q_set_str(fmpz_poly_q_t rop, const char * s) noexcept
52
+ char * fmpz_poly_q_get_str(const fmpz_poly_q_t op) noexcept
53
+ char * fmpz_poly_q_get_str_pretty(const fmpz_poly_q_t op, const char * x) noexcept
54
+ int fmpz_poly_q_print(const fmpz_poly_q_t op) noexcept
55
+ int fmpz_poly_q_print_pretty(const fmpz_poly_q_t op, const char * x) noexcept
@@ -0,0 +1,20 @@
1
+ # sage_setup: distribution = sagemath-flint
2
+ # distutils: libraries = flint
3
+ # distutils: depends = flint/fmpz_poly.h
4
+
5
+ from sage.libs.gmp.types cimport mpz_t
6
+ from .types cimport *
7
+
8
+ # functions removed from flint but still needed in sage
9
+ cdef void fmpz_poly_scalar_mul_mpz(fmpz_poly_t, const fmpz_poly_t, const mpz_t) noexcept
10
+ cdef void fmpz_poly_scalar_divexact_mpz(fmpz_poly_t, const fmpz_poly_t, const mpz_t) noexcept
11
+ cdef void fmpz_poly_scalar_fdiv_mpz(fmpz_poly_t, const fmpz_poly_t, const mpz_t) noexcept
12
+ cdef void fmpz_poly_set_coeff_mpz(fmpz_poly_t, slong, const mpz_t) noexcept
13
+ cdef void fmpz_poly_get_coeff_mpz(mpz_t, const fmpz_poly_t, slong) noexcept
14
+ cdef void fmpz_poly_set_mpz(fmpz_poly_t, const mpz_t) noexcept
15
+
16
+
17
+ # Wrapper Cython class
18
+ from sage.structure.sage_object cimport SageObject
19
+ cdef class Fmpz_poly(SageObject):
20
+ cdef fmpz_poly_t poly