passagemath-singular 10.6.31rc3__cp314-cp314-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.

Potentially problematic release.


This version of passagemath-singular might be problematic. Click here for more details.

Files changed (490) hide show
  1. PySingular.cpython-314-aarch64-linux-gnu.so +0 -0
  2. passagemath_singular-10.6.31rc3.dist-info/METADATA +183 -0
  3. passagemath_singular-10.6.31rc3.dist-info/RECORD +490 -0
  4. passagemath_singular-10.6.31rc3.dist-info/WHEEL +6 -0
  5. passagemath_singular-10.6.31rc3.dist-info/top_level.txt +3 -0
  6. passagemath_singular.libs/libSingular-4-6a2a8666.4.1.so +0 -0
  7. passagemath_singular.libs/libcddgmp-ac579979.so.0.1.3 +0 -0
  8. passagemath_singular.libs/libfactory-4-66e33516.4.1.so +0 -0
  9. passagemath_singular.libs/libflint-81de1160.so.21.0.0 +0 -0
  10. passagemath_singular.libs/libgf2x-fbd36f80.so.3.0.0 +0 -0
  11. passagemath_singular.libs/libgfortran-e1b7dfc8.so.5.0.0 +0 -0
  12. passagemath_singular.libs/libgmp-93ebf16a.so.10.5.0 +0 -0
  13. passagemath_singular.libs/libgsl-e3525837.so.28.0.0 +0 -0
  14. passagemath_singular.libs/libmpfr-e0f11cf3.so.6.2.1 +0 -0
  15. passagemath_singular.libs/libntl-0043a3a2.so.44.0.1 +0 -0
  16. passagemath_singular.libs/libomalloc-0-06512335.9.6.so +0 -0
  17. passagemath_singular.libs/libopenblasp-r0-4c5b64b1.3.29.so +0 -0
  18. passagemath_singular.libs/libpolys-4-cb7246b5.4.1.so +0 -0
  19. passagemath_singular.libs/libreadline-28330744.so.8.2 +0 -0
  20. passagemath_singular.libs/libsingular_resources-4-8c425241.4.1.so +0 -0
  21. passagemath_singular.libs/libtinfo-f81c2d16.so.6.3 +0 -0
  22. sage/algebras/all__sagemath_singular.py +3 -0
  23. sage/algebras/fusion_rings/all.py +19 -0
  24. sage/algebras/fusion_rings/f_matrix.py +2448 -0
  25. sage/algebras/fusion_rings/fast_parallel_fmats_methods.cpython-314-aarch64-linux-gnu.so +0 -0
  26. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd +5 -0
  27. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx +538 -0
  28. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.cpython-314-aarch64-linux-gnu.so +0 -0
  29. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd +3 -0
  30. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx +331 -0
  31. sage/algebras/fusion_rings/fusion_double.py +899 -0
  32. sage/algebras/fusion_rings/fusion_ring.py +1580 -0
  33. sage/algebras/fusion_rings/poly_tup_engine.cpython-314-aarch64-linux-gnu.so +0 -0
  34. sage/algebras/fusion_rings/poly_tup_engine.pxd +24 -0
  35. sage/algebras/fusion_rings/poly_tup_engine.pyx +579 -0
  36. sage/algebras/fusion_rings/shm_managers.cpython-314-aarch64-linux-gnu.so +0 -0
  37. sage/algebras/fusion_rings/shm_managers.pxd +24 -0
  38. sage/algebras/fusion_rings/shm_managers.pyx +780 -0
  39. sage/algebras/letterplace/all.py +1 -0
  40. sage/algebras/letterplace/free_algebra_element_letterplace.cpython-314-aarch64-linux-gnu.so +0 -0
  41. sage/algebras/letterplace/free_algebra_element_letterplace.pxd +18 -0
  42. sage/algebras/letterplace/free_algebra_element_letterplace.pyx +755 -0
  43. sage/algebras/letterplace/free_algebra_letterplace.cpython-314-aarch64-linux-gnu.so +0 -0
  44. sage/algebras/letterplace/free_algebra_letterplace.pxd +35 -0
  45. sage/algebras/letterplace/free_algebra_letterplace.pyx +914 -0
  46. sage/algebras/letterplace/letterplace_ideal.cpython-314-aarch64-linux-gnu.so +0 -0
  47. sage/algebras/letterplace/letterplace_ideal.pyx +408 -0
  48. sage/algebras/quatalg/all.py +2 -0
  49. sage/algebras/quatalg/quaternion_algebra.py +4778 -0
  50. sage/algebras/quatalg/quaternion_algebra_cython.cpython-314-aarch64-linux-gnu.so +0 -0
  51. sage/algebras/quatalg/quaternion_algebra_cython.pyx +261 -0
  52. sage/algebras/quatalg/quaternion_algebra_element.cpython-314-aarch64-linux-gnu.so +0 -0
  53. sage/algebras/quatalg/quaternion_algebra_element.pxd +29 -0
  54. sage/algebras/quatalg/quaternion_algebra_element.pyx +2176 -0
  55. sage/all__sagemath_singular.py +11 -0
  56. sage/ext_data/all__sagemath_singular.py +1 -0
  57. sage/ext_data/singular/function_field/core.lib +98 -0
  58. sage/interfaces/all__sagemath_singular.py +1 -0
  59. sage/interfaces/singular.py +2835 -0
  60. sage/libs/all__sagemath_singular.py +1 -0
  61. sage/libs/singular/__init__.py +1 -0
  62. sage/libs/singular/decl.pxd +1168 -0
  63. sage/libs/singular/function.cpython-314-aarch64-linux-gnu.so +0 -0
  64. sage/libs/singular/function.pxd +87 -0
  65. sage/libs/singular/function.pyx +1901 -0
  66. sage/libs/singular/function_factory.py +61 -0
  67. sage/libs/singular/groebner_strategy.cpython-314-aarch64-linux-gnu.so +0 -0
  68. sage/libs/singular/groebner_strategy.pxd +22 -0
  69. sage/libs/singular/groebner_strategy.pyx +582 -0
  70. sage/libs/singular/option.cpython-314-aarch64-linux-gnu.so +0 -0
  71. sage/libs/singular/option.pyx +671 -0
  72. sage/libs/singular/polynomial.cpython-314-aarch64-linux-gnu.so +0 -0
  73. sage/libs/singular/polynomial.pxd +39 -0
  74. sage/libs/singular/polynomial.pyx +661 -0
  75. sage/libs/singular/ring.cpython-314-aarch64-linux-gnu.so +0 -0
  76. sage/libs/singular/ring.pxd +58 -0
  77. sage/libs/singular/ring.pyx +893 -0
  78. sage/libs/singular/singular.cpython-314-aarch64-linux-gnu.so +0 -0
  79. sage/libs/singular/singular.pxd +72 -0
  80. sage/libs/singular/singular.pyx +1944 -0
  81. sage/libs/singular/standard_options.py +145 -0
  82. sage/matrix/all__sagemath_singular.py +1 -0
  83. sage/matrix/matrix_mpolynomial_dense.cpython-314-aarch64-linux-gnu.so +0 -0
  84. sage/matrix/matrix_mpolynomial_dense.pxd +7 -0
  85. sage/matrix/matrix_mpolynomial_dense.pyx +615 -0
  86. sage/rings/all__sagemath_singular.py +1 -0
  87. sage/rings/function_field/all__sagemath_singular.py +1 -0
  88. sage/rings/function_field/derivations_polymod.py +911 -0
  89. sage/rings/function_field/element_polymod.cpython-314-aarch64-linux-gnu.so +0 -0
  90. sage/rings/function_field/element_polymod.pyx +406 -0
  91. sage/rings/function_field/function_field_polymod.py +2611 -0
  92. sage/rings/function_field/ideal_polymod.py +1775 -0
  93. sage/rings/function_field/order_polymod.py +1475 -0
  94. sage/rings/function_field/place_polymod.py +681 -0
  95. sage/rings/polynomial/all__sagemath_singular.py +1 -0
  96. sage/rings/polynomial/multi_polynomial_ideal_libsingular.cpython-314-aarch64-linux-gnu.so +0 -0
  97. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd +5 -0
  98. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx +339 -0
  99. sage/rings/polynomial/multi_polynomial_libsingular.cpython-314-aarch64-linux-gnu.so +0 -0
  100. sage/rings/polynomial/multi_polynomial_libsingular.pxd +30 -0
  101. sage/rings/polynomial/multi_polynomial_libsingular.pyx +6277 -0
  102. sage/rings/polynomial/plural.cpython-314-aarch64-linux-gnu.so +0 -0
  103. sage/rings/polynomial/plural.pxd +48 -0
  104. sage/rings/polynomial/plural.pyx +3171 -0
  105. sage/symbolic/all__sagemath_singular.py +1 -0
  106. sage/symbolic/comparison_impl.pxi +428 -0
  107. sage/symbolic/constants_c_impl.pxi +178 -0
  108. sage/symbolic/expression.cpython-314-aarch64-linux-gnu.so +0 -0
  109. sage/symbolic/expression.pxd +7 -0
  110. sage/symbolic/expression.pyx +14200 -0
  111. sage/symbolic/getitem_impl.pxi +202 -0
  112. sage/symbolic/pynac.pxi +572 -0
  113. sage/symbolic/pynac_constant_impl.pxi +133 -0
  114. sage/symbolic/pynac_function_impl.pxi +206 -0
  115. sage/symbolic/pynac_impl.pxi +2576 -0
  116. sage/symbolic/pynac_wrap.h +124 -0
  117. sage/symbolic/series_impl.pxi +272 -0
  118. sage/symbolic/substitution_map_impl.pxi +94 -0
  119. sage_wheels/bin/ESingular +0 -0
  120. sage_wheels/bin/Singular +0 -0
  121. sage_wheels/bin/TSingular +0 -0
  122. sage_wheels/lib/singular/MOD/cohomo.la +41 -0
  123. sage_wheels/lib/singular/MOD/cohomo.so +0 -0
  124. sage_wheels/lib/singular/MOD/customstd.la +41 -0
  125. sage_wheels/lib/singular/MOD/customstd.so +0 -0
  126. sage_wheels/lib/singular/MOD/freealgebra.la +41 -0
  127. sage_wheels/lib/singular/MOD/freealgebra.so +0 -0
  128. sage_wheels/lib/singular/MOD/gfanlib.la +41 -0
  129. sage_wheels/lib/singular/MOD/gfanlib.so +0 -0
  130. sage_wheels/lib/singular/MOD/gitfan.la +41 -0
  131. sage_wheels/lib/singular/MOD/gitfan.so +0 -0
  132. sage_wheels/lib/singular/MOD/interval.la +41 -0
  133. sage_wheels/lib/singular/MOD/interval.so +0 -0
  134. sage_wheels/lib/singular/MOD/loctriv.la +41 -0
  135. sage_wheels/lib/singular/MOD/loctriv.so +0 -0
  136. sage_wheels/lib/singular/MOD/machinelearning.la +41 -0
  137. sage_wheels/lib/singular/MOD/machinelearning.so +0 -0
  138. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.la +41 -0
  139. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.so +0 -0
  140. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.la +41 -0
  141. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.so +0 -0
  142. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.la +41 -0
  143. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.so +0 -0
  144. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.la +41 -0
  145. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.so +0 -0
  146. sage_wheels/lib/singular/MOD/partialgb.la +41 -0
  147. sage_wheels/lib/singular/MOD/partialgb.so +0 -0
  148. sage_wheels/lib/singular/MOD/pyobject.la +41 -0
  149. sage_wheels/lib/singular/MOD/pyobject.so +0 -0
  150. sage_wheels/lib/singular/MOD/singmathic.la +41 -0
  151. sage_wheels/lib/singular/MOD/singmathic.so +0 -0
  152. sage_wheels/lib/singular/MOD/sispasm.la +41 -0
  153. sage_wheels/lib/singular/MOD/sispasm.so +0 -0
  154. sage_wheels/lib/singular/MOD/subsets.la +41 -0
  155. sage_wheels/lib/singular/MOD/subsets.so +0 -0
  156. sage_wheels/lib/singular/MOD/systhreads.la +41 -0
  157. sage_wheels/lib/singular/MOD/systhreads.so +0 -0
  158. sage_wheels/lib/singular/MOD/syzextra.la +41 -0
  159. sage_wheels/lib/singular/MOD/syzextra.so +0 -0
  160. sage_wheels/libexec/singular/MOD/change_cost +0 -0
  161. sage_wheels/libexec/singular/MOD/singularsurf +11 -0
  162. sage_wheels/libexec/singular/MOD/singularsurf_jupyter +9 -0
  163. sage_wheels/libexec/singular/MOD/singularsurf_win +10 -0
  164. sage_wheels/libexec/singular/MOD/solve_IP +0 -0
  165. sage_wheels/libexec/singular/MOD/surfex +16 -0
  166. sage_wheels/libexec/singular/MOD/toric_ideal +0 -0
  167. sage_wheels/share/factory/gftables/10201 +342 -0
  168. sage_wheels/share/factory/gftables/1024 +37 -0
  169. sage_wheels/share/factory/gftables/10609 +356 -0
  170. sage_wheels/share/factory/gftables/11449 +384 -0
  171. sage_wheels/share/factory/gftables/11881 +398 -0
  172. sage_wheels/share/factory/gftables/121 +6 -0
  173. sage_wheels/share/factory/gftables/12167 +408 -0
  174. sage_wheels/share/factory/gftables/125 +7 -0
  175. sage_wheels/share/factory/gftables/12769 +428 -0
  176. sage_wheels/share/factory/gftables/128 +7 -0
  177. sage_wheels/share/factory/gftables/1331 +47 -0
  178. sage_wheels/share/factory/gftables/1369 +48 -0
  179. sage_wheels/share/factory/gftables/14641 +490 -0
  180. sage_wheels/share/factory/gftables/15625 +523 -0
  181. sage_wheels/share/factory/gftables/16 +3 -0
  182. sage_wheels/share/factory/gftables/16129 +540 -0
  183. sage_wheels/share/factory/gftables/16384 +549 -0
  184. sage_wheels/share/factory/gftables/16807 +563 -0
  185. sage_wheels/share/factory/gftables/1681 +58 -0
  186. sage_wheels/share/factory/gftables/169 +8 -0
  187. sage_wheels/share/factory/gftables/17161 +574 -0
  188. sage_wheels/share/factory/gftables/1849 +64 -0
  189. sage_wheels/share/factory/gftables/18769 +628 -0
  190. sage_wheels/share/factory/gftables/19321 +646 -0
  191. sage_wheels/share/factory/gftables/19683 +659 -0
  192. sage_wheels/share/factory/gftables/2048 +71 -0
  193. sage_wheels/share/factory/gftables/2187 +75 -0
  194. sage_wheels/share/factory/gftables/2197 +76 -0
  195. sage_wheels/share/factory/gftables/2209 +76 -0
  196. sage_wheels/share/factory/gftables/22201 +742 -0
  197. sage_wheels/share/factory/gftables/22801 +762 -0
  198. sage_wheels/share/factory/gftables/2401 +82 -0
  199. sage_wheels/share/factory/gftables/243 +11 -0
  200. sage_wheels/share/factory/gftables/24389 +815 -0
  201. sage_wheels/share/factory/gftables/24649 +824 -0
  202. sage_wheels/share/factory/gftables/25 +3 -0
  203. sage_wheels/share/factory/gftables/256 +11 -0
  204. sage_wheels/share/factory/gftables/26569 +888 -0
  205. sage_wheels/share/factory/gftables/27 +3 -0
  206. sage_wheels/share/factory/gftables/27889 +932 -0
  207. sage_wheels/share/factory/gftables/2809 +96 -0
  208. sage_wheels/share/factory/gftables/28561 +954 -0
  209. sage_wheels/share/factory/gftables/289 +12 -0
  210. sage_wheels/share/factory/gftables/29791 +995 -0
  211. sage_wheels/share/factory/gftables/29929 +1000 -0
  212. sage_wheels/share/factory/gftables/3125 +107 -0
  213. sage_wheels/share/factory/gftables/32 +4 -0
  214. sage_wheels/share/factory/gftables/32041 +1070 -0
  215. sage_wheels/share/factory/gftables/32761 +1094 -0
  216. sage_wheels/share/factory/gftables/32768 +1095 -0
  217. sage_wheels/share/factory/gftables/343 +14 -0
  218. sage_wheels/share/factory/gftables/3481 +118 -0
  219. sage_wheels/share/factory/gftables/361 +14 -0
  220. sage_wheels/share/factory/gftables/36481 +1218 -0
  221. sage_wheels/share/factory/gftables/3721 +126 -0
  222. sage_wheels/share/factory/gftables/37249 +1244 -0
  223. sage_wheels/share/factory/gftables/38809 +1296 -0
  224. sage_wheels/share/factory/gftables/39601 +1322 -0
  225. sage_wheels/share/factory/gftables/4 +3 -0
  226. sage_wheels/share/factory/gftables/4096 +139 -0
  227. sage_wheels/share/factory/gftables/44521 +1486 -0
  228. sage_wheels/share/factory/gftables/4489 +152 -0
  229. sage_wheels/share/factory/gftables/49 +4 -0
  230. sage_wheels/share/factory/gftables/4913 +166 -0
  231. sage_wheels/share/factory/gftables/49729 +1660 -0
  232. sage_wheels/share/factory/gftables/5041 +170 -0
  233. sage_wheels/share/factory/gftables/50653 +1691 -0
  234. sage_wheels/share/factory/gftables/512 +20 -0
  235. sage_wheels/share/factory/gftables/51529 +1720 -0
  236. sage_wheels/share/factory/gftables/52441 +1750 -0
  237. sage_wheels/share/factory/gftables/529 +20 -0
  238. sage_wheels/share/factory/gftables/5329 +180 -0
  239. sage_wheels/share/factory/gftables/54289 +1812 -0
  240. sage_wheels/share/factory/gftables/57121 +1906 -0
  241. sage_wheels/share/factory/gftables/58081 +1938 -0
  242. sage_wheels/share/factory/gftables/59049 +1971 -0
  243. sage_wheels/share/factory/gftables/6241 +210 -0
  244. sage_wheels/share/factory/gftables/625 +23 -0
  245. sage_wheels/share/factory/gftables/63001 +2102 -0
  246. sage_wheels/share/factory/gftables/64 +5 -0
  247. sage_wheels/share/factory/gftables/6561 +221 -0
  248. sage_wheels/share/factory/gftables/6859 +231 -0
  249. sage_wheels/share/factory/gftables/6889 +232 -0
  250. sage_wheels/share/factory/gftables/729 +27 -0
  251. sage_wheels/share/factory/gftables/7921 +266 -0
  252. sage_wheels/share/factory/gftables/8 +3 -0
  253. sage_wheels/share/factory/gftables/81 +5 -0
  254. sage_wheels/share/factory/gftables/8192 +276 -0
  255. sage_wheels/share/factory/gftables/841 +30 -0
  256. sage_wheels/share/factory/gftables/9 +3 -0
  257. sage_wheels/share/factory/gftables/9409 +316 -0
  258. sage_wheels/share/factory/gftables/961 +34 -0
  259. sage_wheels/share/info/singular.info +191898 -0
  260. sage_wheels/share/singular/LIB/GND.lib +1359 -0
  261. sage_wheels/share/singular/LIB/JMBTest.lib +976 -0
  262. sage_wheels/share/singular/LIB/JMSConst.lib +1363 -0
  263. sage_wheels/share/singular/LIB/KVequiv.lib +699 -0
  264. sage_wheels/share/singular/LIB/SingularityDBM.lib +491 -0
  265. sage_wheels/share/singular/LIB/VecField.lib +1542 -0
  266. sage_wheels/share/singular/LIB/absfact.lib +959 -0
  267. sage_wheels/share/singular/LIB/ainvar.lib +730 -0
  268. sage_wheels/share/singular/LIB/aksaka.lib +419 -0
  269. sage_wheels/share/singular/LIB/alexpoly.lib +2542 -0
  270. sage_wheels/share/singular/LIB/algebra.lib +1193 -0
  271. sage_wheels/share/singular/LIB/all.lib +136 -0
  272. sage_wheels/share/singular/LIB/arcpoint.lib +514 -0
  273. sage_wheels/share/singular/LIB/arnold.lib +4553 -0
  274. sage_wheels/share/singular/LIB/arnoldclassify.lib +2058 -0
  275. sage_wheels/share/singular/LIB/arr.lib +3486 -0
  276. sage_wheels/share/singular/LIB/assprimeszerodim.lib +755 -0
  277. sage_wheels/share/singular/LIB/autgradalg.lib +3361 -0
  278. sage_wheels/share/singular/LIB/bfun.lib +1964 -0
  279. sage_wheels/share/singular/LIB/bimodules.lib +774 -0
  280. sage_wheels/share/singular/LIB/brillnoether.lib +226 -0
  281. sage_wheels/share/singular/LIB/brnoeth.lib +5017 -0
  282. sage_wheels/share/singular/LIB/central.lib +2169 -0
  283. sage_wheels/share/singular/LIB/chern.lib +4162 -0
  284. sage_wheels/share/singular/LIB/cimonom.lib +571 -0
  285. sage_wheels/share/singular/LIB/cisimplicial.lib +1835 -0
  286. sage_wheels/share/singular/LIB/classify.lib +3239 -0
  287. sage_wheels/share/singular/LIB/classify2.lib +1462 -0
  288. sage_wheels/share/singular/LIB/classifyMapGerms.lib +1515 -0
  289. sage_wheels/share/singular/LIB/classify_aeq.lib +3253 -0
  290. sage_wheels/share/singular/LIB/classifyceq.lib +2092 -0
  291. sage_wheels/share/singular/LIB/classifyci.lib +1133 -0
  292. sage_wheels/share/singular/LIB/combinat.lib +91 -0
  293. sage_wheels/share/singular/LIB/compregb.lib +276 -0
  294. sage_wheels/share/singular/LIB/control.lib +1636 -0
  295. sage_wheels/share/singular/LIB/crypto.lib +3795 -0
  296. sage_wheels/share/singular/LIB/curveInv.lib +667 -0
  297. sage_wheels/share/singular/LIB/curvepar.lib +1817 -0
  298. sage_wheels/share/singular/LIB/customstd.lib +100 -0
  299. sage_wheels/share/singular/LIB/deRham.lib +5979 -0
  300. sage_wheels/share/singular/LIB/decodegb.lib +2134 -0
  301. sage_wheels/share/singular/LIB/decomp.lib +1655 -0
  302. sage_wheels/share/singular/LIB/deflation.lib +872 -0
  303. sage_wheels/share/singular/LIB/deform.lib +925 -0
  304. sage_wheels/share/singular/LIB/difform.lib +3055 -0
  305. sage_wheels/share/singular/LIB/divisors.lib +750 -0
  306. sage_wheels/share/singular/LIB/dmod.lib +5817 -0
  307. sage_wheels/share/singular/LIB/dmodapp.lib +3269 -0
  308. sage_wheels/share/singular/LIB/dmodideal.lib +1211 -0
  309. sage_wheels/share/singular/LIB/dmodloc.lib +2645 -0
  310. sage_wheels/share/singular/LIB/dmodvar.lib +818 -0
  311. sage_wheels/share/singular/LIB/dummy.lib +17 -0
  312. sage_wheels/share/singular/LIB/elim.lib +1009 -0
  313. sage_wheels/share/singular/LIB/ellipticcovers.lib +548 -0
  314. sage_wheels/share/singular/LIB/enumpoints.lib +146 -0
  315. sage_wheels/share/singular/LIB/equising.lib +2127 -0
  316. sage_wheels/share/singular/LIB/ffmodstd.lib +2384 -0
  317. sage_wheels/share/singular/LIB/ffsolve.lib +1289 -0
  318. sage_wheels/share/singular/LIB/findifs.lib +778 -0
  319. sage_wheels/share/singular/LIB/finitediff.lib +1768 -0
  320. sage_wheels/share/singular/LIB/finvar.lib +7989 -0
  321. sage_wheels/share/singular/LIB/fpadim.lib +2429 -0
  322. sage_wheels/share/singular/LIB/fpalgebras.lib +1666 -0
  323. sage_wheels/share/singular/LIB/fpaprops.lib +1462 -0
  324. sage_wheels/share/singular/LIB/freegb.lib +3853 -0
  325. sage_wheels/share/singular/LIB/general.lib +1350 -0
  326. sage_wheels/share/singular/LIB/gfan.lib +1768 -0
  327. sage_wheels/share/singular/LIB/gitfan.lib +3130 -0
  328. sage_wheels/share/singular/LIB/gkdim.lib +99 -0
  329. sage_wheels/share/singular/LIB/gmspoly.lib +589 -0
  330. sage_wheels/share/singular/LIB/gmssing.lib +1739 -0
  331. sage_wheels/share/singular/LIB/goettsche.lib +909 -0
  332. sage_wheels/share/singular/LIB/graal.lib +1366 -0
  333. sage_wheels/share/singular/LIB/gradedModules.lib +2541 -0
  334. sage_wheels/share/singular/LIB/graphics.lib +360 -0
  335. sage_wheels/share/singular/LIB/grobcov.lib +7706 -0
  336. sage_wheels/share/singular/LIB/groups.lib +1123 -0
  337. sage_wheels/share/singular/LIB/grwalk.lib +507 -0
  338. sage_wheels/share/singular/LIB/hdepth.lib +194 -0
  339. sage_wheels/share/singular/LIB/help.cnf +57 -0
  340. sage_wheels/share/singular/LIB/hess.lib +1946 -0
  341. sage_wheels/share/singular/LIB/hnoether.lib +4292 -0
  342. sage_wheels/share/singular/LIB/hodge.lib +400 -0
  343. sage_wheels/share/singular/LIB/homolog.lib +1965 -0
  344. sage_wheels/share/singular/LIB/hyperel.lib +975 -0
  345. sage_wheels/share/singular/LIB/inout.lib +679 -0
  346. sage_wheels/share/singular/LIB/integralbasis.lib +6224 -0
  347. sage_wheels/share/singular/LIB/interval.lib +1418 -0
  348. sage_wheels/share/singular/LIB/intprog.lib +778 -0
  349. sage_wheels/share/singular/LIB/invar.lib +443 -0
  350. sage_wheels/share/singular/LIB/involut.lib +980 -0
  351. sage_wheels/share/singular/LIB/jacobson.lib +1215 -0
  352. sage_wheels/share/singular/LIB/kskernel.lib +534 -0
  353. sage_wheels/share/singular/LIB/latex.lib +3146 -0
  354. sage_wheels/share/singular/LIB/lejeune.lib +651 -0
  355. sage_wheels/share/singular/LIB/linalg.lib +2040 -0
  356. sage_wheels/share/singular/LIB/locnormal.lib +212 -0
  357. sage_wheels/share/singular/LIB/lrcalc.lib +526 -0
  358. sage_wheels/share/singular/LIB/makedbm.lib +294 -0
  359. sage_wheels/share/singular/LIB/mathml.lib +813 -0
  360. sage_wheels/share/singular/LIB/matrix.lib +1372 -0
  361. sage_wheels/share/singular/LIB/maxlike.lib +1132 -0
  362. sage_wheels/share/singular/LIB/methods.lib +212 -0
  363. sage_wheels/share/singular/LIB/moddiq.lib +322 -0
  364. sage_wheels/share/singular/LIB/modfinduni.lib +181 -0
  365. sage_wheels/share/singular/LIB/modnormal.lib +218 -0
  366. sage_wheels/share/singular/LIB/modprimdec.lib +1278 -0
  367. sage_wheels/share/singular/LIB/modquotient.lib +269 -0
  368. sage_wheels/share/singular/LIB/modstd.lib +1024 -0
  369. sage_wheels/share/singular/LIB/modular.lib +545 -0
  370. sage_wheels/share/singular/LIB/modules.lib +2561 -0
  371. sage_wheels/share/singular/LIB/modwalk.lib +609 -0
  372. sage_wheels/share/singular/LIB/mondromy.lib +1016 -0
  373. sage_wheels/share/singular/LIB/monomialideal.lib +3851 -0
  374. sage_wheels/share/singular/LIB/mprimdec.lib +2353 -0
  375. sage_wheels/share/singular/LIB/mregular.lib +1863 -0
  376. sage_wheels/share/singular/LIB/multigrading.lib +5629 -0
  377. sage_wheels/share/singular/LIB/ncHilb.lib +777 -0
  378. sage_wheels/share/singular/LIB/ncModslimgb.lib +791 -0
  379. sage_wheels/share/singular/LIB/ncalg.lib +16311 -0
  380. sage_wheels/share/singular/LIB/ncall.lib +31 -0
  381. sage_wheels/share/singular/LIB/ncdecomp.lib +468 -0
  382. sage_wheels/share/singular/LIB/ncfactor.lib +13371 -0
  383. sage_wheels/share/singular/LIB/ncfrac.lib +1023 -0
  384. sage_wheels/share/singular/LIB/nchilbert.lib +448 -0
  385. sage_wheels/share/singular/LIB/nchomolog.lib +759 -0
  386. sage_wheels/share/singular/LIB/ncloc.lib +361 -0
  387. sage_wheels/share/singular/LIB/ncpreim.lib +795 -0
  388. sage_wheels/share/singular/LIB/ncrat.lib +2849 -0
  389. sage_wheels/share/singular/LIB/nctools.lib +1887 -0
  390. sage_wheels/share/singular/LIB/nets.lib +1456 -0
  391. sage_wheels/share/singular/LIB/nfmodstd.lib +1000 -0
  392. sage_wheels/share/singular/LIB/nfmodsyz.lib +732 -0
  393. sage_wheels/share/singular/LIB/noether.lib +1106 -0
  394. sage_wheels/share/singular/LIB/normal.lib +8700 -0
  395. sage_wheels/share/singular/LIB/normaliz.lib +2226 -0
  396. sage_wheels/share/singular/LIB/ntsolve.lib +362 -0
  397. sage_wheels/share/singular/LIB/numerAlg.lib +560 -0
  398. sage_wheels/share/singular/LIB/numerDecom.lib +2261 -0
  399. sage_wheels/share/singular/LIB/olga.lib +1933 -0
  400. sage_wheels/share/singular/LIB/orbitparam.lib +351 -0
  401. sage_wheels/share/singular/LIB/parallel.lib +319 -0
  402. sage_wheels/share/singular/LIB/paraplanecurves.lib +3110 -0
  403. sage_wheels/share/singular/LIB/perron.lib +202 -0
  404. sage_wheels/share/singular/LIB/pfd.lib +2223 -0
  405. sage_wheels/share/singular/LIB/phindex.lib +642 -0
  406. sage_wheels/share/singular/LIB/pointid.lib +673 -0
  407. sage_wheels/share/singular/LIB/polybori.lib +1430 -0
  408. sage_wheels/share/singular/LIB/polyclass.lib +525 -0
  409. sage_wheels/share/singular/LIB/polylib.lib +1174 -0
  410. sage_wheels/share/singular/LIB/polymake.lib +1902 -0
  411. sage_wheels/share/singular/LIB/presolve.lib +1533 -0
  412. sage_wheels/share/singular/LIB/primdec.lib +9576 -0
  413. sage_wheels/share/singular/LIB/primdecint.lib +1782 -0
  414. sage_wheels/share/singular/LIB/primitiv.lib +401 -0
  415. sage_wheels/share/singular/LIB/puiseuxexpansions.lib +1631 -0
  416. sage_wheels/share/singular/LIB/purityfiltration.lib +960 -0
  417. sage_wheels/share/singular/LIB/qhmoduli.lib +1561 -0
  418. sage_wheels/share/singular/LIB/qmatrix.lib +293 -0
  419. sage_wheels/share/singular/LIB/random.lib +455 -0
  420. sage_wheels/share/singular/LIB/ratgb.lib +489 -0
  421. sage_wheels/share/singular/LIB/realclassify.lib +5759 -0
  422. sage_wheels/share/singular/LIB/realizationMatroids.lib +772 -0
  423. sage_wheels/share/singular/LIB/realrad.lib +1197 -0
  424. sage_wheels/share/singular/LIB/recover.lib +2628 -0
  425. sage_wheels/share/singular/LIB/redcgs.lib +3984 -0
  426. sage_wheels/share/singular/LIB/reesclos.lib +465 -0
  427. sage_wheels/share/singular/LIB/resbinomial.lib +2802 -0
  428. sage_wheels/share/singular/LIB/resgraph.lib +789 -0
  429. sage_wheels/share/singular/LIB/resjung.lib +820 -0
  430. sage_wheels/share/singular/LIB/resolve.lib +5110 -0
  431. sage_wheels/share/singular/LIB/resources.lib +170 -0
  432. sage_wheels/share/singular/LIB/reszeta.lib +5473 -0
  433. sage_wheels/share/singular/LIB/ring.lib +1328 -0
  434. sage_wheels/share/singular/LIB/ringgb.lib +343 -0
  435. sage_wheels/share/singular/LIB/rinvar.lib +1153 -0
  436. sage_wheels/share/singular/LIB/rootisolation.lib +1481 -0
  437. sage_wheels/share/singular/LIB/rootsmr.lib +709 -0
  438. sage_wheels/share/singular/LIB/rootsur.lib +886 -0
  439. sage_wheels/share/singular/LIB/rstandard.lib +607 -0
  440. sage_wheels/share/singular/LIB/rwalk.lib +336 -0
  441. sage_wheels/share/singular/LIB/sagbi.lib +1353 -0
  442. sage_wheels/share/singular/LIB/sagbiNormaliz.lib +1622 -0
  443. sage_wheels/share/singular/LIB/sagbiNormaliz0.lib +1498 -0
  444. sage_wheels/share/singular/LIB/sagbigrob.lib +449 -0
  445. sage_wheels/share/singular/LIB/schreyer.lib +321 -0
  446. sage_wheels/share/singular/LIB/schubert.lib +2551 -0
  447. sage_wheels/share/singular/LIB/sets.lib +524 -0
  448. sage_wheels/share/singular/LIB/sheafcoh.lib +1663 -0
  449. sage_wheels/share/singular/LIB/signcond.lib +437 -0
  450. sage_wheels/share/singular/LIB/sing.lib +1094 -0
  451. sage_wheels/share/singular/LIB/sing4ti2.lib +419 -0
  452. sage_wheels/share/singular/LIB/solve.lib +2243 -0
  453. sage_wheels/share/singular/LIB/spcurve.lib +1077 -0
  454. sage_wheels/share/singular/LIB/spectrum.lib +62 -0
  455. sage_wheels/share/singular/LIB/sresext.lib +757 -0
  456. sage_wheels/share/singular/LIB/ssi.lib +143 -0
  457. sage_wheels/share/singular/LIB/standard.lib +2769 -0
  458. sage_wheels/share/singular/LIB/stanleyreisner.lib +473 -0
  459. sage_wheels/share/singular/LIB/stdmodule.lib +547 -0
  460. sage_wheels/share/singular/LIB/stratify.lib +1070 -0
  461. sage_wheels/share/singular/LIB/surf.lib +506 -0
  462. sage_wheels/share/singular/LIB/surf_jupyter.lib +223 -0
  463. sage_wheels/share/singular/LIB/surfacesignature.lib +522 -0
  464. sage_wheels/share/singular/LIB/surfex.lib +1462 -0
  465. sage_wheels/share/singular/LIB/swalk.lib +877 -0
  466. sage_wheels/share/singular/LIB/symodstd.lib +1570 -0
  467. sage_wheels/share/singular/LIB/systhreads.lib +74 -0
  468. sage_wheels/share/singular/LIB/tasks.lib +1324 -0
  469. sage_wheels/share/singular/LIB/tateProdCplxNegGrad.lib +2412 -0
  470. sage_wheels/share/singular/LIB/teachstd.lib +858 -0
  471. sage_wheels/share/singular/LIB/template.lib +116 -0
  472. sage_wheels/share/singular/LIB/toric.lib +1119 -0
  473. sage_wheels/share/singular/LIB/transformation.lib +116 -0
  474. sage_wheels/share/singular/LIB/triang.lib +1197 -0
  475. sage_wheels/share/singular/LIB/tropical.lib +8741 -0
  476. sage_wheels/share/singular/LIB/tropicalEllipticCovers.lib +2922 -0
  477. sage_wheels/share/singular/LIB/tropicalNewton.lib +1128 -0
  478. sage_wheels/share/singular/LIB/tst.lib +1108 -0
  479. sage_wheels/share/singular/LIB/weierstr.lib +241 -0
  480. sage_wheels/share/singular/LIB/zeroset.lib +1478 -0
  481. sage_wheels/share/singular/emacs/.emacs-general +184 -0
  482. sage_wheels/share/singular/emacs/.emacs-singular +234 -0
  483. sage_wheels/share/singular/emacs/COPYING +44 -0
  484. sage_wheels/share/singular/emacs/cmd-cmpl.el +241 -0
  485. sage_wheels/share/singular/emacs/ex-cmpl.el +1681 -0
  486. sage_wheels/share/singular/emacs/hlp-cmpl.el +4318 -0
  487. sage_wheels/share/singular/emacs/lib-cmpl.el +179 -0
  488. sage_wheels/share/singular/emacs/singular.el +4273 -0
  489. sage_wheels/share/singular/emacs/singular.xpm +39 -0
  490. sage_wheels/share/singular/singular.idx +5002 -0
@@ -0,0 +1,1168 @@
1
+ # sage_setup: distribution = sagemath-singular
2
+ # distutils: include_dirs = SINGULAR_INCDIR
3
+ # distutils: extra_compile_args = SINGULAR_CFLAGS
4
+ # distutils: libraries = SINGULAR_LIBRARIES
5
+ # distutils: library_dirs = SINGULAR_LIBDIR
6
+ # distutils: language = c++
7
+ # distutils: extra_compile_args = -std=c++17
8
+ """
9
+ Declarations of Singular's C/C++ Functions
10
+
11
+ .. NOTE::
12
+
13
+ Our ``ring``, ``poly``,... types are not the Singular ``ring``,
14
+ ``poly``,... types. They are dereferences. So a Singular ``ring`` is
15
+ a pointer to a ``ring`` from Sage.
16
+
17
+ AUTHOR:
18
+
19
+ - Martin Albrecht (2009-07): initial implementation
20
+ """
21
+ #*****************************************************************************
22
+ # Copyright (C) 2009 Martin Albrecht <malb@informatik.uni-bremen.de>
23
+ #
24
+ # This program is free software: you can redistribute it and/or modify
25
+ # it under the terms of the GNU General Public License as published by
26
+ # the Free Software Foundation, either version 2 of the License, or
27
+ # (at your option) any later version.
28
+ # http://www.gnu.org/licenses/
29
+ #*****************************************************************************
30
+ from sage.libs.gmp.types cimport mpz_t, mpz_ptr
31
+
32
+ cdef extern from "factory/factory.h":
33
+
34
+ #
35
+ # CF OPTIONS
36
+ #
37
+
38
+ void On( int )
39
+ void Off( int )
40
+ int isOn( int )
41
+
42
+ cdef int SW_USE_CHINREM_GCD
43
+ cdef int SW_USE_EZGCD
44
+ cdef int SW_USE_NTL
45
+ cdef int SW_USE_NTL_GCD_0
46
+ cdef int SW_USE_NTL_GCD_P
47
+ cdef int SW_USE_NTL_SORT
48
+
49
+ cdef extern from "singular/Singular/libsingular.h":
50
+ """
51
+ // compatibility for singular 4.3.2p10 and before
52
+ #if SINGULAR_VERSION <= 4330
53
+ #define ringorder_ip ringorder_rp
54
+ #define BIGINTVEC_CMD INTVEC_CMD
55
+ #endif
56
+ """
57
+
58
+ #
59
+ # OPTIONS
60
+ #
61
+
62
+ cdef unsigned int singular_options "si_opt_1" # previously 'test'
63
+ cdef unsigned int singular_verbose_options "si_opt_2" # previously 'verbose'
64
+
65
+ # actual options
66
+ cdef int OPT_PROT
67
+ cdef int OPT_REDSB
68
+ cdef int OPT_NOT_BUCKETS
69
+ cdef int OPT_NOT_SUGAR
70
+ cdef int OPT_INTERRUPT
71
+ cdef int OPT_SUGARCRIT
72
+ cdef int OPT_DEBUG
73
+ cdef int OPT_REDTHROUGH
74
+ cdef int OPT_RETURN_SB
75
+ cdef int OPT_FASTHC
76
+ cdef int OPT_OLDSTD
77
+ cdef int OPT_KEEPVARS
78
+ cdef int OPT_STAIRCASEBOUND
79
+ cdef int OPT_MULTBOUND
80
+ cdef int OPT_DEGBOUND
81
+ cdef int OPT_REDTAIL
82
+ cdef int OPT_INTSTRATEGY
83
+ cdef int OPT_INFREDTAIL
84
+ cdef int OPT_SB_1
85
+ cdef int OPT_NOTREGULARITY
86
+ cdef int OPT_WEIGHTM
87
+
88
+ # getter/setter functions
89
+ int Sy_bit(int)
90
+ int Sy_inset(int x,int s)
91
+ int BTEST1(int)
92
+ int BVERBOSE(int)
93
+
94
+ # ideal flags
95
+ cdef int FLAG_STD
96
+ cdef int FLAG_TWOSTD
97
+
98
+ #
99
+ # STRUCTS
100
+ #
101
+
102
+ # rational numbers
103
+ ctypedef struct number "snumber":
104
+ mpz_t z
105
+ mpz_t n
106
+ int s
107
+
108
+ # See singular/libpolys/coeffs/coeffs.h for documentation
109
+ cdef enum n_coeffType:
110
+ n_unknown
111
+ n_Zp
112
+ n_Q
113
+ n_R
114
+ n_GF
115
+ n_long_R
116
+ n_algExt
117
+ n_transExt
118
+ n_long_C
119
+ n_Z
120
+ n_Zn
121
+ n_Znm
122
+ n_Z2m
123
+ n_CF
124
+
125
+ ctypedef struct ring "ip_sring"
126
+ ctypedef struct AlgExtInfo
127
+
128
+ ctypedef struct n_Procs_s:
129
+
130
+ number* cfDiv(number *, number *, const n_Procs_s* r)
131
+ number* cfAdd(number *, number *, const n_Procs_s* r) # algebraic number addition
132
+ number* cfSub(number *, number *, const n_Procs_s* r)
133
+ number* cfMult(number *, number *, const n_Procs_s* r) # algebraic number multiplication
134
+
135
+ number* (*cfInit)(int i, const n_Procs_s* r ) # algebraic number from int
136
+ number* (*cfInitMPZ)(mpz_t i, const n_Procs_s* r)
137
+ number* (*cfParameter)(int i, const n_Procs_s* r)
138
+ int (*cfParDeg)(number* n, const n_Procs_s* r)
139
+ int (*cfSize)(number* n, const n_Procs_s* r)
140
+ int (*cfInt)(number* n, const n_Procs_s* r)
141
+ int (*cdDivComp)(number* a,number* b, const n_Procs_s* r)
142
+ number* (*cfGetUnit)(number* a, const n_Procs_s* r)
143
+ number* (*cfExtGcd)(number* a, number* b, number* *s, number* *t , const n_Procs_s* r)
144
+
145
+ void (*cfDelete)(number **, const n_Procs_s*)
146
+
147
+ number* (*cfInpNeg)(number* a, const n_Procs_s* r)
148
+ number* (*cfInvers)(number* a, const n_Procs_s* r)
149
+ number* (*cfCopy)(number* a, const n_Procs_s* r) # deep copy of algebraic number
150
+ number* (*cfRePart)(number* a, const n_Procs_s* cf)
151
+ number* (*cfImPart)(number* a, const n_Procs_s* cf)
152
+ void (*cfWrite)(number* a, const n_Procs_s* r)
153
+ void (*cfNormalize)(number* a, const n_Procs_s* r)
154
+
155
+ bint (*cfDivBy)(number* a, number* b, const n_Procs_s* r)
156
+ bint (*cfGreater)(number* a, number* b, const n_Procs_s* )
157
+ bint (*cfEqual)(number* a,number* b, const n_Procs_s* )
158
+ bint (*cfIsZero)(number* a, const n_Procs_s* ) # algebraic number comparison with zero
159
+ bint (*cfIsOne)(number* a, const n_Procs_s* ) # algebraic number comparison with one
160
+ bint (*cfIsMOne)(number* a, const n_Procs_s* )
161
+ bint (*cfGreaterZero)(number* a, const n_Procs_s* )
162
+ void (*cfPower)(number* a, int i, number* * result, const n_Procs_s* r) # algebraic number power
163
+
164
+ ring *extRing
165
+ int ch
166
+ mpz_ptr modBase
167
+ unsigned long modExponent
168
+
169
+ # n_coeffType type
170
+ int type
171
+
172
+ # polynomials
173
+
174
+ const char ** n_ParameterNames(const n_Procs_s* r)
175
+
176
+ int n_NumberOfParameters(const n_Procs_s* r)
177
+
178
+ ctypedef struct poly "spolyrec":
179
+ poly *next
180
+ number *coef
181
+ unsigned long exp[1]
182
+
183
+ # ideals
184
+
185
+ ctypedef struct ideal "sip_sideal":
186
+ poly **m # gens array
187
+ long rank # rank of module, 1 for ideals
188
+ int nrows # always 1
189
+ int ncols # number of gens
190
+
191
+ # polynomial procs
192
+ ctypedef struct p_Procs_s "p_Procs_s":
193
+ pass
194
+ # rings
195
+
196
+ ctypedef struct ring "ip_sring":
197
+ int *order # array of orderings
198
+ int *block0 # starting pos
199
+ int *block1 # ending pos
200
+ int **wvhdl # weight vectors
201
+ int OrdSgn # 1 for polynomial rings
202
+ int ShortOut # control printing
203
+ int CanShortOut # control printing capabilities
204
+ number *minpoly # minpoly for base extension field
205
+ char **names # variable names
206
+ p_Procs_s *p_Procs #polxnomial procs
207
+ ideal *qideal #quotient ideal
208
+
209
+ short N # number of variables
210
+
211
+ int pCompIndex # index of components
212
+ unsigned long bitmask # mask for getting single exponents
213
+
214
+ n_Procs_s* cf # coefficient field/ring
215
+ int ref
216
+
217
+ # return total degree of p
218
+
219
+ long (*pLDeg)(poly *p, int *l, ring *r)
220
+ long (*pLDegOrig)(poly *p, int *l, ring *r)
221
+ long (*pFDeg)(poly *p, ring *r)
222
+ long (*pFDegOrig)(poly *p, ring *r)
223
+
224
+ # a bunch of functions for degree
225
+
226
+ long p_FDeg(poly *p, ring *r)
227
+ long p_LDeg(poly *p, int *l, ring *r)
228
+ long p_Deg(poly *p, ring *r)
229
+ long p_WTotaldegree(poly *p, ring *r)
230
+ long p_Totaldegree(poly *p, ring *r)
231
+ long p_WDegree(poly *p, ring *r)
232
+
233
+ # available ring orders
234
+
235
+ ctypedef struct AlgExtInfo:
236
+ ring * r
237
+
238
+ cdef enum rRingOrder_t:
239
+ ringorder_no
240
+ ringorder_a
241
+ ringorder_a64 # for int64 weights
242
+ ringorder_c
243
+ ringorder_C
244
+ ringorder_M
245
+ ringorder_S
246
+ ringorder_s
247
+ ringorder_lp
248
+ ringorder_dp
249
+ ringorder_ip
250
+ ringorder_Dp
251
+ ringorder_wp
252
+ ringorder_Wp
253
+ ringorder_ls
254
+ ringorder_ds
255
+ ringorder_Ds
256
+ ringorder_ws
257
+ ringorder_Ws
258
+ ringorder_L
259
+
260
+ # groebner basis options
261
+
262
+ cdef enum tHomog:
263
+ isNotHomog
264
+ isHomog
265
+ testHomog
266
+
267
+ # ideals
268
+
269
+ ctypedef struct ideal "sip_sideal":
270
+ poly **m # gens array
271
+ long rank # rank of module, 1 for ideals
272
+ int nrows # always 1
273
+ int ncols # number of gens
274
+
275
+ # dense matrices
276
+
277
+ ctypedef struct matrix "ip_smatrix":
278
+ poly **m # gens array
279
+ long rank # rank of module, 1 for normal matrices
280
+ int nrows # number of rows
281
+ int ncols # number of columns
282
+
283
+ # integer vectors
284
+
285
+ cdef cppclass intvec:
286
+ intvec()
287
+ intvec(int, int, int)
288
+ int *(*ivGetVec)() # this is internal actually
289
+ int (*rows)()
290
+ int (*cols)()
291
+ int (*length)()
292
+ int (*resize)(size_t s)
293
+ int (*get "operator[]")(int i)
294
+ int row
295
+ int col
296
+
297
+ cdef cppclass bigintmat:
298
+ int (*length)()
299
+ number* (*get)(int i)
300
+
301
+ # omalloc bins
302
+
303
+ ctypedef struct omBin "omBin_s"
304
+
305
+ # pairs and polys for Groebner Strategy objects
306
+
307
+ ctypedef struct LObject:
308
+ pass
309
+
310
+ ctypedef struct TObject:
311
+ pass
312
+
313
+ # Groebner Strategy objects
314
+
315
+ ctypedef struct skStrategy:
316
+ int ak # free module rank
317
+ int sl # last index (inclusive)
318
+ int (*red)(LObject * L,skStrategy *strat)
319
+ void (*initEcart)(LObject *L)
320
+ int (*posInT)(TObject *T,int tl,LObject h) # return the required position in T
321
+ int (*posInL)(LObject *set, int length, LObject* L, skStrategy *strat) # return the required position in L
322
+ void (*enterS)(LObject h, int pos, skStrategy *strat, int atR) # enter into S
323
+ void (*initEcartPair)(LObject * h, poly *f, poly *g, int ecartF, int ecartG)
324
+ int (*posInLOld)(LObject * Ls, int Ll, LObject* Lo, skStrategy *strat)
325
+ LObject P
326
+ ideal *Shdl
327
+ ideal *D
328
+ ideal *M
329
+ poly ** S
330
+ int * ecartS
331
+ int * lenS
332
+ int * fromQ
333
+ unsigned long* sevS
334
+ unsigned long* sevT
335
+ TObject *T
336
+ LObject *L
337
+ LObject *B
338
+ poly* kHEdge
339
+ poly* kNoether
340
+ poly* t_kHEdge
341
+ poly* kNoetherTail()
342
+ poly* t_kNoether
343
+ bint *NotUsedAxis
344
+ bint *pairtest
345
+ void *R
346
+ int *S_2_R
347
+ bint noTailReduction
348
+
349
+ ctypedef struct data_union:
350
+ ring *uring
351
+
352
+ # interpreter objects
353
+
354
+ ctypedef struct attr "sattr":
355
+ void (*Init)()
356
+ char * name
357
+ void * data
358
+ attr * next
359
+ int atyp # the type of the attribute, describes the data field
360
+
361
+ void (*Print)()
362
+ attr *(*Copy)() # copy all arguments
363
+ void *(*CopyA)()# copy the data of this attribute
364
+ attr *(*set)(char * s, void * data, int t)
365
+ attr *(*get)(char * s)
366
+ void (*kill)()
367
+ void (*killAll)()
368
+
369
+ ctypedef struct idhdl "idrec":
370
+ idhdl *next
371
+ char *id
372
+ int typ
373
+ short lev
374
+ short ref
375
+ data_union data
376
+
377
+ ctypedef struct leftv "sleftv":
378
+ leftv *next
379
+ char *id
380
+ void* data
381
+ # data is some union, so this might be very dangerous, but I am lazy now
382
+ attr *attribute
383
+ void (* Copy)(leftv*)
384
+ void (* Init)()
385
+ void (* CleanUp)(ring *r)
386
+ int rtyp
387
+
388
+ ctypedef struct package "ip_package":
389
+ int language
390
+ idhdl *idroot
391
+
392
+ #
393
+ # GLOBAL VARIABLES
394
+ #
395
+
396
+ # current ring
397
+
398
+ cdef ring *currRing
399
+ cdef ideal *currQuotient
400
+ # omalloc bin for numbers
401
+
402
+ cdef omBin *rnumber_bin
403
+
404
+ # omalloc bin for rings
405
+
406
+ cdef omBin *sip_sring_bin
407
+
408
+ # omalloc bin for lists
409
+
410
+ cdef omBin *slists_bin
411
+
412
+ # integer conversion constant
413
+
414
+ cdef long SR_INT
415
+
416
+ cdef package *basePack
417
+ cdef package *currPack
418
+
419
+ cdef idhdl *basePackHdl
420
+ cdef idhdl *currPackHdl
421
+ cdef idhdl *currRingHdl
422
+
423
+ cdef int errorreported
424
+ cdef int si_opt_2 # previously 'verbose'
425
+ cdef void * currentVoice
426
+ cdef int myynest
427
+ cdef int printlevel
428
+
429
+ ctypedef char * const_char_ptr "const char *"
430
+ cdef extern void (*WerrorS_callback)(const_char_ptr)
431
+
432
+ #
433
+ # FUNCTIONS
434
+ #
435
+
436
+ # singular init
437
+
438
+ int siInit(char *)
439
+
440
+ ctypedef short (*cfInitCharProc)(coeffs, void *)
441
+
442
+ n_coeffType nRegister(n_coeffType n, cfInitCharProc p)
443
+
444
+ # external resource init
445
+
446
+ void feInitResources(char *name)
447
+
448
+ # external resource query
449
+
450
+ char* feGetResource(const char id)
451
+
452
+ void *omAlloc(size_t size)
453
+
454
+ # calloc
455
+
456
+ void *omAlloc0(size_t size)
457
+
458
+ # typed malloc from bin
459
+
460
+ void *omAllocBin(omBin *bin)
461
+ void omFreeBin(void* foo, void* bin)
462
+
463
+ # typed calloc from bin
464
+
465
+ void *omAlloc0Bin(omBin *bin)
466
+
467
+ # strdup
468
+
469
+ char *omStrDup(char *)
470
+
471
+ # free
472
+
473
+ void omFree(void *)
474
+
475
+ void omfree(void *)
476
+
477
+ # construct ring with characteristic, number of vars and names
478
+
479
+ ring *rDefault(int char , int nvars, char **names)
480
+ ring *rDefault(const n_Procs_s* cf, int nvars, char **names)
481
+ ring *rDefault(int ch , int nvars, char **names,int ord_size, rRingOrder_t *ord, int *block0, int *block1, int **wvhdl)
482
+ ring *rDefault(const n_Procs_s* cf, int nvars, char **names,int ord_size, rRingOrder_t *ord, int *block0, int *block1, int **wvhdl)
483
+
484
+ # see coeffs.h
485
+ ctypedef struct GFInfo:
486
+ int GFChar
487
+ int GFDegree
488
+ const char* GFPar_name
489
+
490
+ # parameter is pointer to gGFInfo
491
+ #
492
+ n_Procs_s* nInitChar(n_coeffType t, void * parameter)
493
+
494
+ # ring destructor
495
+
496
+ void rDelete(ring *r)
497
+
498
+ # return characteristic of r
499
+
500
+ int rChar(ring *r)
501
+
502
+ # return name of the i-th variable of ring r
503
+
504
+ char* rRingVar(short i, ring *r)
505
+
506
+ # before changing a ring struct, call this
507
+
508
+ void rUnComplete(ring *r)
509
+
510
+ # after changing a ring struct, call this, computes internal
511
+ # representation for monomials etc.
512
+ void rComplete(ring *r, int force)
513
+
514
+ # deep copy of ring
515
+
516
+ ring *rCopy0(ring *)
517
+
518
+ # change current ring to r
519
+
520
+ void rChangeCurrRing(ring *r)
521
+
522
+ # return True if ring has components
523
+
524
+ int rRing_has_Comp(ring *r)
525
+
526
+ int rHasGlobalOrdering(ring *r)
527
+ int rHasLocalOrMixedOrdering(ring *r)
528
+
529
+ # return new empty monomial
530
+
531
+ poly *p_Init(ring *r)
532
+
533
+ # Returns new monomial with exp vector copied from Lm(p)
534
+ poly *p_LmInit(poly *p, ring *r)
535
+
536
+ # return constant polynomial from int
537
+
538
+ poly *p_ISet(int i, ring *r)
539
+
540
+ # return constant polynomial from number
541
+
542
+ poly *p_NSet(number *n,ring *r)
543
+
544
+ # destructor for polynomials
545
+
546
+ void p_Delete(poly **p, ring *r)
547
+
548
+ # set the coefficient n for the current list element p in r
549
+
550
+ int p_SetCoeff(poly *p, number *n, ring *r)
551
+
552
+ # set the coefficient n for the current list element p in r
553
+ # without deleting the current coefficient first
554
+
555
+ int p_SetCoeff0(poly *p, number *n, ring *r)
556
+
557
+ # get the coefficient of the current list element p in r
558
+
559
+ number *p_GetCoeff(poly *p, ring *r)
560
+
561
+ # get the module component
562
+ int p_GetComp(poly *p, ring *r)
563
+
564
+ # set the module component
565
+ void p_SetComp(poly *p, int v, ring *r)
566
+
567
+ # set the exponent e at index v for the monomial p, v starts at 1
568
+
569
+ int p_SetExp(poly *p, int v, int e, ring *r)
570
+
571
+ # get the exponent at index v of the monomial p in r, v starts at 1
572
+
573
+ int p_GetExp(poly *p, int v, ring *r)
574
+
575
+ # get the maximal exponent in p
576
+
577
+ unsigned long p_GetMaxExp(poly *p, ring *r)
578
+
579
+ # if SetExp is called on p, p_Setm needs to be called afterwards to finalize the change.
580
+
581
+ void p_Setm(poly *p, ring *r)
582
+
583
+ # gets a component out of a polynomial vector
584
+
585
+ poly *pTakeOutComp(poly **, int)
586
+
587
+ # deep copy p
588
+
589
+ poly *p_Copy(poly *p, ring *r)
590
+
591
+ # homogenizes p by multiplying certain powers of the varnum-th variable
592
+
593
+ poly *p_Homogen (poly *p, int varnum, ring *r)
594
+
595
+ # return whether a polynomial is homogeneous
596
+
597
+ int p_IsHomogeneous(poly *p, const ring *r)
598
+
599
+ # return string representation of p
600
+
601
+ char *p_String(poly *p, ring *r, ring *r)
602
+
603
+ # normalize p, needed e.g. for polynomials over the rationals
604
+
605
+ void p_Normalize(poly *p, ring *r)
606
+
607
+ # makes it so that leading coefficient == 1
608
+ void pNorm(poly *p)
609
+
610
+ # return -p, p is destroyed
611
+
612
+ poly *p_Neg(poly *p, ring *r)
613
+
614
+ # return p*n, p is const (i.e. copied)
615
+
616
+ poly *pp_Mult_nn(poly *p, number *n, ring *r)
617
+
618
+ # return p*m, does neither destroy p nor m
619
+
620
+ poly *pp_Mult_mm(poly *p, poly *m, ring *r)
621
+
622
+ # return p+q, destroys p and q
623
+
624
+ poly *p_Add_q(poly *p, poly *q, ring *r)
625
+
626
+ # return p - m*q, destroys p; const: q,m
627
+
628
+ poly *p_Minus_mm_Mult_qq(poly *p, poly *m, poly *q, ring *r)
629
+
630
+ # return p + m*q destroys p, const: q, m
631
+
632
+ poly *p_Plus_mm_Mult_qq(poly *p, poly *m, poly *q, ring *r)
633
+
634
+ # return p*q, does neither destroy p nor q
635
+ poly *pp_Mult_qq(poly *p, poly *q, ring *r)
636
+
637
+ # return p*q, destroys p and q
638
+ poly *p_Mult_q(poly *p, poly *q, ring *r)
639
+
640
+ # polynomial division, ignoring the remainder
641
+ # via singclap_pdivide resp. idLift, destroys p,q
642
+ poly *p_Divide(poly *p, poly *q, ring *r)
643
+
644
+ # divide monomial p by monomial q, p,q const
645
+
646
+ poly *pMDivide(poly *p,poly *q)
647
+ poly *p_MDivide(poly *p, poly *q, ring *r)
648
+
649
+ # return the i-th power of p; p destroyed, requires global ring
650
+
651
+ poly *pPower(poly *p, int exp)
652
+
653
+ # return new copy of lm(p), coefficient copied, next=NULL, p may be NULL
654
+
655
+ poly *p_Head(poly *p, ring *r)
656
+
657
+ # return TRUE, if leading monom of a divides leading monom of b
658
+ # i.e., if there exists a expvector c > 0, s.t. b = a + c
659
+
660
+ int p_DivisibleBy(poly *a, poly *b, ring *r)
661
+
662
+ # like pDivisibleBy, except that it is assumed that a!=NULL, b!=NULL
663
+
664
+ int p_LmDivisibleBy(poly *a, poly *b, ring *r)
665
+
666
+ # least common multiplies for monomials only, result is written to m
667
+ # p_Setm must be called on m afterwards.
668
+
669
+ void pLcm(poly *a, poly *b, poly *m)
670
+
671
+ # total degree of p
672
+
673
+ long p_Totaldegree(poly *p, ring *r)
674
+
675
+ long pLDeg1_Totaldegree(poly * p,int *l, ring * r)
676
+
677
+ # iterate through the monomials of p
678
+
679
+ poly *pNext(poly *p)
680
+
681
+ # Returns the number of monomials in the poly
682
+ int pLength(poly *a)
683
+
684
+ # compare l and r
685
+
686
+ int p_Cmp(poly *l, poly *r, ring *r)
687
+
688
+ # compare exponent vectors only
689
+
690
+ int p_ExpVectorEqual(poly *p, poly *m, ring *r)
691
+
692
+ # TRUE if poly is constant
693
+
694
+ int p_IsConstant(poly *, ring *)
695
+
696
+ # like p_IsConstant but p must be !=NULL
697
+
698
+ int p_LmIsConstant(poly *p, ring *)
699
+
700
+ # TRUE if poly is unit
701
+
702
+ int p_IsUnit(poly *p, ring *r)
703
+
704
+ # TRUE if poly is one
705
+
706
+ bint p_IsOne(const poly *p, const ring *r)
707
+
708
+ # substitute monomial for variable given by varidx in poly
709
+
710
+ poly *pSubst(poly *p, int varidx, poly *value)
711
+
712
+ # inverse of poly, if possible
713
+
714
+ poly *p_Series(int n, poly *, poly *, intvec *, ring *r)
715
+
716
+ # gcd of f and g
717
+
718
+ poly *singclap_gcd ( poly *f, poly *g, ring * r )
719
+
720
+ # resultant of f and g in x
721
+
722
+ poly *singclap_resultant ( poly *f, poly *g , poly *x, ring * r)
723
+
724
+ # extended gcd of f and g
725
+
726
+ int singclap_extgcd( poly *f, poly *g, poly *res, poly *pa, poly *pb, ring * r )
727
+
728
+ # full polynomial division (as opposed to monomial division)
729
+
730
+ poly *singclap_pdivide ( poly *f, poly *g, ring * r )
731
+
732
+ # factorization
733
+
734
+ ideal *singclap_factorize ( poly *f, intvec ** v , int with_exps, ring * r)
735
+
736
+ # return determinant of i
737
+ poly *singclap_det(matrix *i, ring * r)
738
+
739
+ # normal form calculation of p with respect to i, q is quotient
740
+ # ring.
741
+
742
+ poly *kNF(ideal *i, ideal *q, poly *p)
743
+ poly *kNF(ideal *i, ideal *q, poly *p, int syzComp, int lazyReduce)
744
+
745
+ # derive p with respect to i-th variable
746
+
747
+ poly *pDiff(poly *p, int i)
748
+
749
+ # TRUE if p is a vector
750
+
751
+ int pIsVector(poly *p)
752
+
753
+ # return current component level
754
+
755
+ int pGetComp(poly *p)
756
+
757
+ # general number constructor
758
+
759
+ number *n_Init(int n, n_Procs_s *cf)
760
+
761
+ # general number destructor
762
+
763
+ void n_Delete(number **n, n_Procs_s *cf)
764
+
765
+ # Copy this number
766
+ number *n_Copy(number *n, n_Procs_s *cf)
767
+
768
+ # Invert this number
769
+ int n_IsUnit(number *n, const n_Procs_s *cf)
770
+ number *n_Invers(number *n, const n_Procs_s *cf)
771
+
772
+ # Characteristic of coefficient domain
773
+ int n_GetChar(const n_Procs_s *cf)
774
+
775
+ # rational number from int
776
+
777
+ number *nlInit(int)
778
+
779
+ # rational number from int
780
+
781
+ number *nlRInit(int)
782
+
783
+ # rational number from numerator and denominator
784
+
785
+ number *nlInit2(int i, int j,const n_Procs_s* cf)
786
+
787
+ # simplify rational number (cancel common factors)
788
+
789
+ number *nlNormalize(number *)
790
+
791
+ # copy a number
792
+
793
+ number *nlCopy(number *)
794
+
795
+ # number to integer handle
796
+
797
+ long SR_TO_INT(number *)
798
+
799
+ # mpz_t to integer handle
800
+
801
+ long SR_HDL(number *)
802
+
803
+ # get C int from ZmodN
804
+ int nrnInt(number *v)
805
+
806
+ # ideal constructor
807
+
808
+ ideal *idInit(int size, int rank)
809
+
810
+ # ideal destructor
811
+
812
+ void id_Delete(ideal **, ring *)
813
+
814
+ # lifting
815
+
816
+ ideal *idLift(ideal *mod, ideal *submod, ideal **rest, int goodShape, int isSB, int divide)
817
+
818
+ # number of generators of ideal
819
+
820
+ int IDELEMS(ideal *i)
821
+
822
+ # remove zero entries
823
+
824
+ void idSkipZeroes (ideal *ide)
825
+
826
+ # rank of free module for m
827
+
828
+ long id_RankFreeModule(ideal *m, ring *r)
829
+
830
+ # buchberger's algorithm
831
+
832
+ ideal *kStd(ideal *i, ideal *q, tHomog h, intvec *w)
833
+
834
+ # slimgb algorithm
835
+
836
+ ideal *t_rep_gb(ring *r,ideal *arg_I, int syz_comp, int F4_mode)
837
+
838
+ # interreduction
839
+
840
+ ideal *kInterRed(ideal *i, ideal *q)
841
+
842
+ # TRUE if ideal is module
843
+
844
+ int idIsModule(ideal *m, ring *r)
845
+
846
+ # convert module to matrix
847
+
848
+ matrix *idModule2Matrix(ideal *i)
849
+
850
+ # convert matrix to module
851
+
852
+ ideal * idMatrix2Module(matrix *m)
853
+
854
+ # dense matrix constructor
855
+
856
+ matrix *mpNew(int i, int j)
857
+
858
+ # gauss-bareiss algorithm
859
+
860
+ void smCallBareiss(ideal *, int, int, ideal *, intvec**)
861
+
862
+ # determinant
863
+ poly *smCallDet(ideal *)
864
+
865
+ # check which det algorithm to choose
866
+ int smCheckDet(ideal *, int, int)
867
+
868
+ # get element at row i and column j
869
+
870
+ poly *MATELEM(matrix *, int i, int j)
871
+
872
+ # number columns of matrix
873
+
874
+ int MATCOLS(matrix *)
875
+
876
+ # number for rows of matrix
877
+
878
+ int MATROWS(matrix *)
879
+
880
+ # Groebner Strategy functions
881
+
882
+ void initBuchMoraCrit(skStrategy *strat)
883
+ void initEcartNormal (LObject* h)
884
+ void initEcartBBA (LObject* h)
885
+ void initEcartPairBba (LObject* Lp,poly *f,poly *g,int ecartF,int ecartG)
886
+
887
+ # init strat with F and Q
888
+ void initS (ideal *F, ideal *Q,skStrategy *strat)
889
+
890
+ void enterL (LObject *set,int *length, int *LSetmax, LObject p,int at)
891
+ void enterSBba (LObject p,int atS,skStrategy *strat, int atR)
892
+
893
+ skStrategy * new_skStrategy "new skStrategy"()
894
+ void * delete_skStrategy "delete "(skStrategy *doomed) # needs currRing
895
+
896
+ # test validity of strat
897
+ void kTest(skStrategy *strat)
898
+
899
+ # head reduction
900
+ poly *redNF(poly *p, int index, int nonorm, skStrategy *strat)
901
+ # tail reduction
902
+ poly *redtailBba(poly *p, int index, skStrategy *strat)
903
+
904
+ cdef int CMD_1
905
+ cdef int CMD_2
906
+ cdef int CMD_12
907
+ cdef int CMD_3
908
+ cdef int CMD_13
909
+ cdef int CMD_23
910
+ cdef int CMD_123
911
+ cdef int CMD_M
912
+ cdef int ROOT_DECL
913
+ cdef int ROOT_DECL_LIST
914
+ cdef int RING_DECL
915
+ cdef int RING_DECL_LIST
916
+ cdef int INT_CMD
917
+ cdef int INTMAT_CMD
918
+ cdef int POLY_CMD
919
+ cdef int PROC_CMD
920
+ cdef int RING_CMD
921
+ cdef int QRING_CMD
922
+ cdef int STRING_CMD
923
+ cdef int VECTOR_CMD
924
+ cdef int IDEAL_CMD
925
+ cdef int MODUL_CMD
926
+ cdef int NUMBER_CMD
927
+ cdef int MATRIX_CMD
928
+ cdef int LIST_CMD
929
+ cdef int INTVEC_CMD
930
+ cdef int BIGINTVEC_CMD
931
+ cdef int NONE
932
+ cdef int RESOLUTION_CMD
933
+ cdef int PACKAGE_CMD
934
+
935
+ cdef int V_SHOW_MEM
936
+ cdef int V_YACC
937
+ cdef int V_REDEFINE
938
+ cdef int V_READING
939
+ cdef int V_LOAD_LIB
940
+ cdef int V_DEBUG_LIB
941
+ cdef int V_LOAD_PROC
942
+ cdef int V_DEF_RES
943
+ cdef int V_SHOW_USE
944
+ cdef int V_IMAP
945
+ cdef int V_PROMPT
946
+ cdef int V_NSB
947
+ cdef int V_CONTENTSB
948
+ cdef int V_CANCELUNIT
949
+ cdef int V_DEG_STOP
950
+
951
+ #
952
+ # INTERPRETER
953
+ #
954
+ leftv iiRETURNEXPR
955
+
956
+ cdef omBin* sleftv_bin
957
+
958
+ int IsCmd(char *n, int tok)
959
+
960
+ idhdl* ggetid(char *n)
961
+
962
+ bint iiMake_proc(idhdl *pn, package *pack, leftv *sl)
963
+
964
+ bint iiExprArith1(leftv *res, leftv* a, int op)
965
+ bint iiExprArith2(leftv *res, leftv* a, int op, leftv *b, bint proc_call)
966
+ bint iiExprArith3(leftv *res, int op, leftv *a, leftv *b, leftv *c)
967
+ bint iiExprArithM(leftv *res, leftv* a, int op)
968
+
969
+ bint iiLibCmd(char *, bint autoexport, bint tellerror, bint force)
970
+
971
+ package *IDPACKAGE(idhdl *)
972
+
973
+ cdef idhdl *IDROOT
974
+
975
+ cdef idhdl *IDNEXT(idhdl *)
976
+
977
+ cdef int IDTYP(idhdl *)
978
+
979
+ idhdl *enterid(char * a, int lev, int t, idhdl** root, bint init)
980
+
981
+ void atSet(leftv *root, char * name, void * data, int typ)
982
+ void *atGet(leftv *root, char *name, int typ)
983
+
984
+ int hasFlag(leftv *A, int F)
985
+ void setFlag(leftv *A, int F)
986
+ void resetFlag(leftv *A, int F)
987
+
988
+ ctypedef number* (*nMapFunc)(number *c, const n_Procs_s* src, const n_Procs_s* dst)
989
+
990
+ cdef extern from "singular/coeffs/coeffs.h":
991
+
992
+ number *ndCopyMap(number *, const n_Procs_s* src,const n_Procs_s* dst)
993
+
994
+ cdef extern from "singular/coeffs/rmodulo2m.h":
995
+
996
+ #init 2^m from a long
997
+ number *nr2mMapZp(number *,const n_Procs_s* src,const n_Procs_s* dst)
998
+
999
+ cdef extern from "singular/kernel/maps/gen_maps.h":
1000
+
1001
+ # mapping from p in r1 by i2 to r2
1002
+
1003
+ poly *maMapPoly(poly *p, ring *r1, ideal *i2, ring *r2, const nMapFunc nMap)
1004
+
1005
+ cdef extern from "singular/kernel/maps/fast_maps.h":
1006
+
1007
+ # mapping from ideal i1 in r1 by i2 to r2
1008
+
1009
+ ideal *fast_map_common_subexp(ideal *i1, ring *r1, ideal *i2, ring *r2)
1010
+
1011
+ cdef extern from "singular/polys/ext_fields/algext.h":
1012
+
1013
+ naInitChar(n_Procs_s* cf, void * infoStruct)
1014
+
1015
+ nMapFunc naSetMap(const n_Procs_s* src, const n_Procs_s* dst)
1016
+
1017
+ cdef extern from "singular/coeffs/rmodulon.h":
1018
+
1019
+ # init ZmodN from GMP
1020
+ number *nrnMapGMP(number *v,const n_Procs_s* src,const n_Procs_s* dst)
1021
+
1022
+ nMapFunc nrnSetMap(const n_Procs_s* src,const n_Procs_s* dst)
1023
+
1024
+ cdef extern from "singular/coeffs/rmodulon.h":
1025
+ # see rmodulon.h
1026
+
1027
+ ctypedef struct ZnmInfo:
1028
+ mpz_ptr base
1029
+ unsigned long exp
1030
+
1031
+ cdef extern from "singular/coeffs/rintegers.h":
1032
+
1033
+ # init integer
1034
+ number *nrzInit(int i, const n_Procs_s* cf)
1035
+
1036
+ cdef extern from "singular/polys/weight.h":
1037
+
1038
+ double wFunctionalBuch(int *degw, int *lpol, int npol, double *rel, double wx, double wNsqr)
1039
+
1040
+ cdef extern from "singular/polys/prCopy.h":
1041
+ poly *prCopyR_NoSort(poly *p, ring *r, ring *dest_r)
1042
+ poly *prCopyR(poly *p, ring *r, ring *dest_r)
1043
+
1044
+ cdef int LANG_TOP
1045
+
1046
+ cdef extern from "singular/polys/sbuckets.h":
1047
+ #sBucket is actually a class, but we handle it opaquely, so we call it a "struct" here.
1048
+ ctypedef struct sBucket:
1049
+ pass
1050
+
1051
+ #create an sBucket
1052
+ sBucket *sBucketCreate(ring *r)
1053
+
1054
+ #destroy an sBucket (note: pointer to pointer)
1055
+ void sBucketDestroy(sBucket **bucket)
1056
+
1057
+ #merge contents of sBucket into polynomial and clear bucket
1058
+ #(use when monomials are distinct).
1059
+ #assumes length <= 0 || pLength(p) == length
1060
+ void sBucketClearMerge(sBucket *bucket, poly **p, int *length)
1061
+
1062
+ #add contents of sBucket into polynomial and clear bucket
1063
+ #(can handle repeated monomials)
1064
+ void sBucketClearAdd(sBucket *bucket, poly **p, int *length)
1065
+
1066
+ #inline versions that in addition clear the pointer bucket afterwards
1067
+ void sBucketDestroyMerge(sBucket *bucket, poly **p, int *length)
1068
+ void sBucketDestroyAdd(sBucket *bucket, poly *p, int *length)
1069
+
1070
+ #delete bucket constant and clear pointer
1071
+ void sBucketDeleteAndDestroy(sBucket **bucket_pt)
1072
+
1073
+ #merge p into bucket (distinct monomials assumed)
1074
+ #destroys poly in the process
1075
+ void sBucket_Merge_p(sBucket *bucket, poly *p, int lp)
1076
+
1077
+ #merge p into bucket (distinct monomials assumed)
1078
+ #destroys poly in the process
1079
+ void sBucket_Merge_m(sBucket *bucket, poly *p)
1080
+
1081
+ #adds p into bucket (distinct monomials assumed)
1082
+ #destroys poly in the process
1083
+ void sBucket_Add_p(sBucket *bucket, poly *p, int lp)
1084
+
1085
+ #adds p into bucket (distinct monomials assumed)
1086
+ #destroys poly in the process
1087
+ void sBucket_Add_m(sBucket *bucket, poly *p)
1088
+
1089
+ #sorts p with bucketSort: assumes all monomials of p are different
1090
+ poly *sBucketSortMerge(poly *p, const ring *r)
1091
+
1092
+ #sorts p with bucketSort: p may have equal monomials
1093
+ poly *sBucketSortAdd(poly *p, const ring *r)
1094
+
1095
+ cdef extern from "singular/polys/nc/nc.h":
1096
+ # Non-commutative functions
1097
+ ctypedef enum nc_type:
1098
+ nc_error
1099
+ nc_general
1100
+ nc_skew
1101
+ nc_comm
1102
+ nc_lie
1103
+ nc_undef
1104
+ nc_exterior
1105
+
1106
+ void ncRingType(ring *, nc_type)
1107
+ nc_type ncRingType_get "ncRingType" (ring *)
1108
+ int nc_CallPlural(matrix* CC, matrix* DD, poly* CN, poly* DN, ring* r)
1109
+ bint nc_SetupQuotient(ring *, ring *, bint)
1110
+
1111
+ cdef extern from "singular/coeffs/longrat.h":
1112
+
1113
+ # get numerator
1114
+
1115
+ number *nlGetNumerator(number *n, const n_Procs_s* cf)
1116
+
1117
+ # get denominator
1118
+
1119
+ number *nlGetDenom(number *n, const n_Procs_s* cf)
1120
+
1121
+ # rational number from numerator and denominator
1122
+
1123
+ number *nlInit2gmp(mpz_t n, mpz_t d,const n_Procs_s* cf)
1124
+
1125
+ # delete rational number
1126
+
1127
+ void nlDelete(number **n, const n_Procs_s* cf)
1128
+
1129
+ cdef extern from "singular/polys/nc/sca.h":
1130
+ void sca_p_ProcsSet(ring *, p_Procs_s *)
1131
+ void scaFirstAltVar(ring *, int)
1132
+ void scaLastAltVar(ring *, int)
1133
+
1134
+ cdef extern from "singular/polys/monomials/ring.h":
1135
+ bint rIsPluralRing(ring* r)
1136
+ void rPrint "rWrite"(ring* r)
1137
+ char* rOrderingString "rOrdStr"(ring* r)
1138
+ void pDebugPrint "p_DebugPrint" (poly*p, ring* r)
1139
+
1140
+ cdef extern from "singular/kernel/combinatorics/stairc.h":
1141
+ # Computes the monomial basis for R[x]/I
1142
+ ideal *scKBase(int deg, ideal *s, ideal *Q)
1143
+
1144
+ cdef extern from "singular/Singular/lists.h":
1145
+ ctypedef struct lists "slists":
1146
+ int nr
1147
+ leftv *m
1148
+ void (*Init)(int n)
1149
+
1150
+ cdef extern from "singular/kernel/GBEngine/kstd1.h":
1151
+ cdef extern int Kstd1_deg # degBound, default 0
1152
+ cdef extern int Kstd1_mu # multBound, default 0
1153
+
1154
+ cdef extern from "singular/kernel/ideals.h":
1155
+ ctypedef ideal * resolvente
1156
+
1157
+ cdef extern from "singular/kernel/GBEngine/syz.h":
1158
+ ctypedef struct syStrategy "ssyStrategy":
1159
+ resolvente fullres;
1160
+ resolvente minres;
1161
+ int length;
1162
+ int regularity;
1163
+ short list_length;
1164
+ short references
1165
+
1166
+ cdef extern from "singular/polys/ext_fields/transext.h":
1167
+ ctypedef struct TransExtInfo:
1168
+ ring * r