passagemath-ntl 10.6.37__cp311-cp311-manylinux_2_24_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-ntl might be problematic. Click here for more details.
- passagemath_ntl/__init__.py +3 -0
- passagemath_ntl-10.6.37.dist-info/METADATA +122 -0
- passagemath_ntl-10.6.37.dist-info/RECORD +162 -0
- passagemath_ntl-10.6.37.dist-info/WHEEL +6 -0
- passagemath_ntl-10.6.37.dist-info/top_level.txt +3 -0
- passagemath_ntl.libs/libgf2x-fbd36f80.so.3.0.0 +0 -0
- passagemath_ntl.libs/libgmp-93ebf16a.so.10.5.0 +0 -0
- passagemath_ntl.libs/libmpfi-ad12a86d.so.0.0.0 +0 -0
- passagemath_ntl.libs/libmpfr-9d41ebf1.so.6.2.1 +0 -0
- passagemath_ntl.libs/libntl-0043a3a2.so.44.0.1 +0 -0
- sage/all__sagemath_ntl.py +7 -0
- sage/libs/all__sagemath_ntl.py +3 -0
- sage/libs/mpfi/__init__.pxd +287 -0
- sage/libs/mpfi/types.pxd +10 -0
- sage/libs/ntl/GF2.pxd +18 -0
- sage/libs/ntl/GF2E.pxd +28 -0
- sage/libs/ntl/GF2EX.pxd +12 -0
- sage/libs/ntl/GF2X.pxd +81 -0
- sage/libs/ntl/ZZ.pxd +93 -0
- sage/libs/ntl/ZZX.pxd +85 -0
- sage/libs/ntl/ZZ_p.pxd +28 -0
- sage/libs/ntl/ZZ_pE.pxd +37 -0
- sage/libs/ntl/ZZ_pEX.pxd +106 -0
- sage/libs/ntl/ZZ_pX.pxd +122 -0
- sage/libs/ntl/__init__.py +4 -0
- sage/libs/ntl/all.py +72 -0
- sage/libs/ntl/conversion.pxd +106 -0
- sage/libs/ntl/convert.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/convert.pxd +7 -0
- sage/libs/ntl/convert.pyx +38 -0
- sage/libs/ntl/decl.pxi +18 -0
- sage/libs/ntl/error.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/error.pyx +63 -0
- sage/libs/ntl/lzz_p.pxd +20 -0
- sage/libs/ntl/lzz_pX.pxd +59 -0
- sage/libs/ntl/mat_GF2.pxd +30 -0
- sage/libs/ntl/mat_GF2E.pxd +30 -0
- sage/libs/ntl/mat_ZZ.pxd +59 -0
- sage/libs/ntl/misc.pxi +33 -0
- sage/libs/ntl/ntl_GF2.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_GF2.pxd +5 -0
- sage/libs/ntl/ntl_GF2.pyx +281 -0
- sage/libs/ntl/ntl_GF2E.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_GF2E.pxd +8 -0
- sage/libs/ntl/ntl_GF2E.pyx +488 -0
- sage/libs/ntl/ntl_GF2EContext.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_GF2EContext.pxd +9 -0
- sage/libs/ntl/ntl_GF2EContext.pyx +134 -0
- sage/libs/ntl/ntl_GF2EX.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_GF2EX.pxd +10 -0
- sage/libs/ntl/ntl_GF2EX.pyx +251 -0
- sage/libs/ntl/ntl_GF2X.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_GF2X.pxd +5 -0
- sage/libs/ntl/ntl_GF2X.pyx +771 -0
- sage/libs/ntl/ntl_GF2X_linkage.pxi +404 -0
- sage/libs/ntl/ntl_ZZ.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_ZZ.pxd +7 -0
- sage/libs/ntl/ntl_ZZ.pyx +541 -0
- sage/libs/ntl/ntl_ZZX.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_ZZX.pxd +7 -0
- sage/libs/ntl/ntl_ZZX.pyx +1206 -0
- sage/libs/ntl/ntl_ZZ_p.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_ZZ_p.pxd +10 -0
- sage/libs/ntl/ntl_ZZ_p.pyx +509 -0
- sage/libs/ntl/ntl_ZZ_pContext.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_ZZ_pContext.pxd +22 -0
- sage/libs/ntl/ntl_ZZ_pContext.pyx +201 -0
- sage/libs/ntl/ntl_ZZ_pE.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_ZZ_pE.pxd +11 -0
- sage/libs/ntl/ntl_ZZ_pE.pyx +349 -0
- sage/libs/ntl/ntl_ZZ_pEContext.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_ZZ_pEContext.pxd +23 -0
- sage/libs/ntl/ntl_ZZ_pEContext.pyx +226 -0
- sage/libs/ntl/ntl_ZZ_pEX.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_ZZ_pEX.pxd +10 -0
- sage/libs/ntl/ntl_ZZ_pEX.pyx +1255 -0
- sage/libs/ntl/ntl_ZZ_pEX_linkage.pxi +420 -0
- sage/libs/ntl/ntl_ZZ_pX.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_ZZ_pX.pxd +17 -0
- sage/libs/ntl/ntl_ZZ_pX.pyx +1532 -0
- sage/libs/ntl/ntl_lzz_p.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_lzz_p.pxd +8 -0
- sage/libs/ntl/ntl_lzz_p.pyx +440 -0
- sage/libs/ntl/ntl_lzz_pContext.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_lzz_pContext.pxd +7 -0
- sage/libs/ntl/ntl_lzz_pContext.pyx +137 -0
- sage/libs/ntl/ntl_lzz_pX.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_lzz_pX.pxd +10 -0
- sage/libs/ntl/ntl_lzz_pX.pyx +902 -0
- sage/libs/ntl/ntl_mat_GF2.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_mat_GF2.pxd +8 -0
- sage/libs/ntl/ntl_mat_GF2.pyx +612 -0
- sage/libs/ntl/ntl_mat_GF2E.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_mat_GF2E.pxd +10 -0
- sage/libs/ntl/ntl_mat_GF2E.pyx +752 -0
- sage/libs/ntl/ntl_mat_ZZ.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/libs/ntl/ntl_mat_ZZ.pxd +6 -0
- sage/libs/ntl/ntl_mat_ZZ.pyx +1523 -0
- sage/libs/ntl/ntl_tools.pxd +3 -0
- sage/libs/ntl/ntlwrap.h +53 -0
- sage/libs/ntl/ntlwrap_impl.h +743 -0
- sage/libs/ntl/types.pxd +157 -0
- sage/libs/ntl/vec_GF2.pxd +26 -0
- sage/libs/ntl/vec_GF2E.pxd +2 -0
- sage/matrix/all__sagemath_ntl.py +1 -0
- sage/matrix/matrix_modn_dense_double.pxd +10 -0
- sage/matrix/matrix_modn_dense_float.pxd +9 -0
- sage/matrix/matrix_modn_dense_template.pxi +3257 -0
- sage/matrix/matrix_modn_dense_template_header.pxi +15 -0
- sage/matrix/matrix_modn_sparse.pxd +8 -0
- sage/misc/all__sagemath_ntl.py +1 -0
- sage/rings/all__sagemath_ntl.py +7 -0
- sage/rings/bernmm.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/rings/bernmm.pyx +161 -0
- sage/rings/bernoulli_mod_p.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/rings/bernoulli_mod_p.pyx +313 -0
- sage/rings/finite_rings/all__sagemath_ntl.py +1 -0
- sage/rings/finite_rings/finite_field_ntl_gf2e.py +305 -0
- sage/rings/finite_rings/residue_field_ntl_gf2e.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/rings/finite_rings/residue_field_ntl_gf2e.pyx +140 -0
- sage/rings/padics/all__sagemath_ntl.py +5 -0
- sage/rings/padics/padic_ZZ_pX_CA_element.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/rings/padics/padic_ZZ_pX_CA_element.pxd +25 -0
- sage/rings/padics/padic_ZZ_pX_CA_element.pyx +2368 -0
- sage/rings/padics/padic_ZZ_pX_CR_element.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/rings/padics/padic_ZZ_pX_CR_element.pxd +33 -0
- sage/rings/padics/padic_ZZ_pX_CR_element.pyx +3277 -0
- sage/rings/padics/padic_ZZ_pX_FM_element.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/rings/padics/padic_ZZ_pX_FM_element.pxd +12 -0
- sage/rings/padics/padic_ZZ_pX_FM_element.pyx +1739 -0
- sage/rings/padics/padic_ZZ_pX_element.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/rings/padics/padic_ZZ_pX_element.pxd +6 -0
- sage/rings/padics/padic_ZZ_pX_element.pyx +919 -0
- sage/rings/padics/padic_ext_element.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/rings/padics/padic_ext_element.pxd +38 -0
- sage/rings/padics/padic_ext_element.pyx +512 -0
- sage/rings/padics/pow_computer_ext.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/rings/padics/pow_computer_ext.pxd +107 -0
- sage/rings/padics/pow_computer_ext.pyx +2401 -0
- sage/rings/polynomial/all__sagemath_ntl.py +1 -0
- sage/rings/polynomial/evaluation_ntl.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/rings/polynomial/evaluation_ntl.pxd +7 -0
- sage/rings/polynomial/evaluation_ntl.pyx +70 -0
- sage/rings/polynomial/polynomial_gf2x.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/rings/polynomial/polynomial_gf2x.pxd +10 -0
- sage/rings/polynomial/polynomial_gf2x.pyx +364 -0
- sage/rings/polynomial/polynomial_integer_dense_ntl.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/rings/polynomial/polynomial_integer_dense_ntl.pxd +8 -0
- sage/rings/polynomial/polynomial_integer_dense_ntl.pyx +1128 -0
- sage/rings/polynomial/polynomial_modn_dense_ntl.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/rings/polynomial/polynomial_modn_dense_ntl.pxd +36 -0
- sage/rings/polynomial/polynomial_modn_dense_ntl.pyx +2049 -0
- sage/rings/polynomial/polynomial_template.pxi +842 -0
- sage/rings/polynomial/polynomial_template_header.pxi +11 -0
- sage/rings/polynomial/polynomial_zz_pex.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/rings/polynomial/polynomial_zz_pex.pxd +12 -0
- sage/rings/polynomial/polynomial_zz_pex.pyx +778 -0
- sage/rings/real_mpfi.pxd +50 -0
- sage/schemes/all__sagemath_ntl.py +1 -0
- sage/schemes/hyperelliptic_curves/all__sagemath_ntl.py +1 -0
- sage/schemes/hyperelliptic_curves/hypellfrob.cpython-311-aarch64-linux-gnu.so +0 -0
- sage/schemes/hyperelliptic_curves/hypellfrob.pyx +252 -0
sage/libs/ntl/GF2E.pxd
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-ntl
|
|
2
|
+
from sage.libs.ntl.types cimport GF2E_c, GF2X_c, GF2_c, GF2XModulus_c, ZZ_c
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
cdef extern from "ntlwrap.h":
|
|
6
|
+
void GF2E_init "GF2E::init"(GF2X_c x)
|
|
7
|
+
long GF2E_degree "GF2E::degree"()
|
|
8
|
+
GF2XModulus_c GF2E_modulus "GF2E::modulus"()
|
|
9
|
+
|
|
10
|
+
int GF2E_IsOne "IsOne"(GF2E_c x)
|
|
11
|
+
int GF2E_IsZero "IsZero"(GF2E_c x)
|
|
12
|
+
|
|
13
|
+
void GF2E_add "add"( GF2E_c x, GF2E_c a, GF2E_c b)
|
|
14
|
+
void GF2E_sub "sub"( GF2E_c x, GF2E_c a, GF2E_c b)
|
|
15
|
+
void GF2E_mul "mul"( GF2E_c x, GF2E_c a, GF2E_c b)
|
|
16
|
+
void GF2E_div "div"( GF2E_c x, GF2E_c a, GF2E_c b)
|
|
17
|
+
void GF2E_power "NTL::power"(GF2E_c t, GF2E_c x, long e)
|
|
18
|
+
long GF2E_deg "deg"(GF2E_c x)
|
|
19
|
+
|
|
20
|
+
void GF2E_conv_GF2X "conv" (GF2E_c out, GF2X_c inp)
|
|
21
|
+
void GF2E_conv_long "conv" (GF2E_c out, long inp)
|
|
22
|
+
void GF2E_conv_ZZ "conv" (GF2E_c out, ZZ_c inp)
|
|
23
|
+
void GF2E_conv_GF2 "conv" (GF2E_c out, GF2_c inp)
|
|
24
|
+
GF2X_c GF2E_rep "rep"(GF2E_c x)
|
|
25
|
+
|
|
26
|
+
GF2E_c GF2E_random "random_GF2E"()
|
|
27
|
+
|
|
28
|
+
GF2_c GF2E_trace "trace"(GF2E_c x)
|
sage/libs/ntl/GF2EX.pxd
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-ntl
|
|
2
|
+
from sage.libs.ntl.types cimport GF2EX_c
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
cdef extern from "ntlwrap.h":
|
|
6
|
+
void GF2EX_add "add"( GF2EX_c x, GF2EX_c a, GF2EX_c b)
|
|
7
|
+
void GF2EX_sub "sub"( GF2EX_c x, GF2EX_c a, GF2EX_c b)
|
|
8
|
+
void GF2EX_mul "mul"( GF2EX_c x, GF2EX_c a, GF2EX_c b)
|
|
9
|
+
void GF2EX_negate "NTL::negate"(GF2EX_c x, GF2EX_c a)
|
|
10
|
+
void GF2EX_power "NTL::power"(GF2EX_c t, GF2EX_c x, long e)
|
|
11
|
+
int GF2EX_IsOne "IsOne"(GF2EX_c x)
|
|
12
|
+
int GF2EX_IsZero "IsZero"(GF2EX_c x)
|
sage/libs/ntl/GF2X.pxd
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-ntl
|
|
2
|
+
from sage.libs.ntl.types cimport GF2X_c, GF2_c, GF2XModulus_c, vec_GF2_c, ZZ_c
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
cdef extern from "ntlwrap.h":
|
|
6
|
+
long *GF2XHexOutput_c "(&GF2X::HexOutput)" # work-around for Cython bug
|
|
7
|
+
|
|
8
|
+
int GF2X_IsOne "IsOne"(GF2X_c x)
|
|
9
|
+
int GF2X_IsZero "IsZero"(GF2X_c x)
|
|
10
|
+
int GF2X_IsX "IsX"(GF2X_c x)
|
|
11
|
+
|
|
12
|
+
void GF2X_add "add"( GF2X_c x, GF2X_c a, GF2X_c b)
|
|
13
|
+
void GF2X_sub "sub"( GF2X_c x, GF2X_c a, GF2X_c b)
|
|
14
|
+
void GF2X_mul "mul"( GF2X_c x, GF2X_c a, GF2X_c b)
|
|
15
|
+
void GF2X_negate "NTL::negate"(GF2X_c x, GF2X_c a)
|
|
16
|
+
void GF2X_power "NTL::power"(GF2X_c t, GF2X_c x, long e)
|
|
17
|
+
long GF2X_deg "deg"(GF2X_c x)
|
|
18
|
+
|
|
19
|
+
void GF2X_conv_long "conv" (GF2X_c x, long a)
|
|
20
|
+
void GF2X_conv_GF2 "conv" (GF2X_c x, GF2_c a)
|
|
21
|
+
|
|
22
|
+
void GF2X_LeftShift "LeftShift"( GF2X_c r, GF2X_c a, long offset)
|
|
23
|
+
void GF2X_RightShift "RightShift"( GF2X_c r, GF2X_c a, long offset)
|
|
24
|
+
|
|
25
|
+
void GF2X_trunc "trunc"(GF2X_c r, GF2X_c a, long n)
|
|
26
|
+
void GF2X_DivRem "DivRem"(GF2X_c q, GF2X_c r, GF2X_c a, GF2X_c b)
|
|
27
|
+
void GF2X_div "div" (GF2X_c q, GF2X_c a, GF2X_c b)
|
|
28
|
+
void GF2X_rem "rem" (GF2X_c r, GF2X_c a, GF2X_c b)
|
|
29
|
+
long GF2X_divide "divide"(GF2X_c q, GF2X_c a, GF2X_c b)
|
|
30
|
+
|
|
31
|
+
void GF2X_GCD "GCD" (GF2X_c r, GF2X_c a, GF2X_c b)
|
|
32
|
+
void GF2X_XGCD "XGCD" (GF2X_c r, GF2X_c s, GF2X_c t, GF2X_c a, GF2X_c b)
|
|
33
|
+
|
|
34
|
+
void GF2XFromBytes(GF2X_c a, unsigned char *p, long n)
|
|
35
|
+
void BytesFromGF2X "BytesFromGF2X" (unsigned char *p, GF2X_c a, long n)
|
|
36
|
+
|
|
37
|
+
GF2_c GF2X_coeff "coeff"(GF2X_c a, long i)
|
|
38
|
+
GF2_c GF2X_LeadCoeff "LeadCoeff"(GF2X_c a)
|
|
39
|
+
GF2_c GF2X_ConstTerm "ConstTerm"(GF2X_c a)
|
|
40
|
+
void GF2X_SetCoeff "SetCoeff"(GF2X_c x, long i, GF2_c a)
|
|
41
|
+
void GF2X_SetCoeff_long "SetCoeff"(GF2X_c x, long i, long a)
|
|
42
|
+
|
|
43
|
+
GF2X_c GF2X_diff "diff"(GF2X_c a)
|
|
44
|
+
GF2X_c GF2X_reverse "reverse"(GF2X_c a, long hi)
|
|
45
|
+
|
|
46
|
+
long GF2X_weight "weight"(GF2X_c a)
|
|
47
|
+
long GF2X_NumBits "NumBits" (GF2X_c a)
|
|
48
|
+
long GF2X_NumBytes "NumBytes"(GF2X_c a)
|
|
49
|
+
|
|
50
|
+
void GF2X_MinPolySeq "MinPolySeq" (GF2X_c h, vec_GF2_c a, long m)
|
|
51
|
+
|
|
52
|
+
#### GF2XFactoring
|
|
53
|
+
long GF2X_IterIrredTest "IterIrredTest" (GF2X_c f)
|
|
54
|
+
void GF2X_BuildSparseIrred "BuildSparseIrred" (GF2X_c f, long n)
|
|
55
|
+
void GF2X_BuildRandomIrred "BuildRandomIrred" (GF2X_c f, GF2X_c g)
|
|
56
|
+
void GF2X_BuildIrred "BuildIrred" (GF2X_c f, long n)
|
|
57
|
+
|
|
58
|
+
#### GF2XModulus_c
|
|
59
|
+
void GF2XModulus_build "build"(GF2XModulus_c F, GF2X_c f) # MUST be called before using the modulus
|
|
60
|
+
long GF2XModulus_deg "deg"(GF2XModulus_c F)
|
|
61
|
+
|
|
62
|
+
GF2X_c GF2XModulus_GF2X "GF2X" (GF2XModulus_c m)
|
|
63
|
+
|
|
64
|
+
GF2X_c GF2X_IrredPolyMod "IrredPolyMod" (GF2X_c g, GF2XModulus_c F)
|
|
65
|
+
|
|
66
|
+
void GF2X_MulMod_pre "MulMod"(GF2X_c x, GF2X_c a, GF2X_c b, GF2XModulus_c F)
|
|
67
|
+
void GF2X_SqrMod_pre "SqrMod"(GF2X_c x, GF2X_c a, GF2XModulus_c F)
|
|
68
|
+
void GF2X_PowerMod_pre "PowerMod"(GF2X_c x, GF2X_c a, ZZ_c e, GF2XModulus_c F)
|
|
69
|
+
void GF2X_PowerMod_long_pre "PowerMod"(GF2X_c x, GF2X_c a, long e, GF2XModulus_c F)
|
|
70
|
+
void GF2X_PowerXMod_pre "PowerXMod"(GF2X_c x, ZZ_c e, GF2XModulus_c F)
|
|
71
|
+
void GF2X_PowerXMod_long_pre "PowerXMod"(GF2X_c x, long e, GF2XModulus_c F)
|
|
72
|
+
void GF2X_PowerXPlusAMod_pre "PowerXPlusAMod"(GF2X_c x, GF2_c a, GF2_c e, GF2XModulus_c F)
|
|
73
|
+
void GF2X_PowerXPlusAMod_long_pre "PowerXPlusAMod"(GF2X_c x, GF2_c a, long e, GF2XModulus_c F)
|
|
74
|
+
|
|
75
|
+
# x = g(h) mod f; deg(h) < n
|
|
76
|
+
void GF2X_CompMod "CompMod"(GF2X_c x, GF2X_c g, GF2X_c h, GF2XModulus_c F)
|
|
77
|
+
# xi = gi(h) mod f (i=1,2), deg(h) < n.
|
|
78
|
+
void GF2X_Comp2Mod "Comp2Mod"(GF2X_c x1, GF2X_c x2, GF2X_c g1, GF2X_c g2, GF2X_c h, GF2XModulus_c F)
|
|
79
|
+
|
|
80
|
+
# xi = gi(h) mod f (i=1,2,3), deg(h) < n.
|
|
81
|
+
void GF2X_CompMod3 "Comp2Mod"(GF2X_c x1, GF2X_c x2, GF2X_c x3, GF2X_c g1, GF2X_c g2, GF2X_c g3, GF2X_c h, GF2XModulus_c F)
|
sage/libs/ntl/ZZ.pxd
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-ntl
|
|
2
|
+
# distutils: depends = NTL/ZZ.h
|
|
3
|
+
|
|
4
|
+
from sage.libs.ntl.types cimport ZZ_c
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
cdef extern from "ntlwrap.h":
|
|
8
|
+
void ZZ_conv_from_int "conv"(ZZ_c x, int i)
|
|
9
|
+
void ZZ_conv_to_int "conv"(int i, ZZ_c x)
|
|
10
|
+
void ZZ_conv_from_long "conv"(ZZ_c x, long l)
|
|
11
|
+
void ZZ_conv_to_long "conv"(long l, ZZ_c x)
|
|
12
|
+
|
|
13
|
+
long ZZ_sign "sign"(ZZ_c a)
|
|
14
|
+
long ZZ_IsZero "IsZero"(ZZ_c a)
|
|
15
|
+
long ZZ_IsOne "IsOne"(ZZ_c a)
|
|
16
|
+
long ZZ_compare "compare"(ZZ_c a, ZZ_c b)
|
|
17
|
+
void ZZ_add "add"( ZZ_c x, ZZ_c a, ZZ_c b)
|
|
18
|
+
void ZZ_add_long "add"(ZZ_c x, ZZ_c a, long b)
|
|
19
|
+
void ZZ_sub "sub"( ZZ_c x, ZZ_c a, ZZ_c b)
|
|
20
|
+
void ZZ_sub_long "sub"(ZZ_c x, long a, ZZ_c b)
|
|
21
|
+
void ZZ_negate "NTL::negate"(ZZ_c x, ZZ_c a)
|
|
22
|
+
void ZZ_abs "abs"(ZZ_c x, ZZ_c a)
|
|
23
|
+
|
|
24
|
+
void ZZ_mul "mul"( ZZ_c x, ZZ_c a, ZZ_c b)
|
|
25
|
+
void ZZ_mul_long "mul"( ZZ_c x, ZZ_c a, long b)
|
|
26
|
+
void ZZ_sqr "sqr"(ZZ_c x, ZZ_c a)
|
|
27
|
+
|
|
28
|
+
void ZZ_DivRem "DivRem"(ZZ_c q, ZZ_c r, ZZ_c a, ZZ_c b)
|
|
29
|
+
void ZZ_div "div"( ZZ_c x, ZZ_c a, ZZ_c b)
|
|
30
|
+
void ZZ_rem "rem"( ZZ_c r, ZZ_c a, ZZ_c b)
|
|
31
|
+
long ZZ_DivRem_long "DivRem"(ZZ_c q, ZZ_c a, long b)
|
|
32
|
+
long ZZ_rem_long "rem"(ZZ_c a, long b)
|
|
33
|
+
long ZZ_divide "divide"(ZZ_c q, ZZ_c a, ZZ_c b)
|
|
34
|
+
long ZZ_divide_long "divide"(ZZ_c q, ZZ_c a, long b)
|
|
35
|
+
long ZZ_divide_test "divide"(ZZ_c a, ZZ_c b)
|
|
36
|
+
long ZZ_divide_test_long "divide"(ZZ_c a, long b)
|
|
37
|
+
|
|
38
|
+
void ZZ_GCD "GCD"(ZZ_c d, ZZ_c a, ZZ_c b)
|
|
39
|
+
void ZZ_XGCD "XGCD"(ZZ_c d, ZZ_c s, ZZ_c t, ZZ_c a, ZZ_c b)
|
|
40
|
+
|
|
41
|
+
void ZZ_AddMod "AddMod"(ZZ_c x, ZZ_c a, ZZ_c b, ZZ_c n)
|
|
42
|
+
void ZZ_SubMod "SubMod"(ZZ_c x, ZZ_c a, ZZ_c b, ZZ_c n)
|
|
43
|
+
void ZZ_NegateMod "NegateMod"(ZZ_c x, ZZ_c a, ZZ_c n)
|
|
44
|
+
void ZZ_MulMod "MulMod"(ZZ_c x, ZZ_c a, ZZ_c b, ZZ_c n)
|
|
45
|
+
void ZZ_SqrMod "SqrMod"(ZZ_c x, ZZ_c a, ZZ_c n)
|
|
46
|
+
void ZZ_InvMod "InvMod"(ZZ_c x, ZZ_c a, ZZ_c n)
|
|
47
|
+
long ZZ_InvModStatus "InvModStatus"(ZZ_c x, ZZ_c a, ZZ_c n)
|
|
48
|
+
void ZZ_PowerMod "PowerMod"(ZZ_c x, ZZ_c a, ZZ_c e, ZZ_c n)
|
|
49
|
+
void ZZ_PowerMod_long "PowerMod"(ZZ_c x, ZZ_c a, long e, ZZ_c n)
|
|
50
|
+
|
|
51
|
+
void ZZ_LeftShift "LeftShift"(ZZ_c x, ZZ_c a, long n)
|
|
52
|
+
void ZZ_RightShift "RightShift"(ZZ_c x, ZZ_c a, long n)
|
|
53
|
+
|
|
54
|
+
long ZZ_MakeOdd "MakeOdd"(ZZ_c x)
|
|
55
|
+
long ZZ_NumTwos "NumTwos"(ZZ_c x)
|
|
56
|
+
long ZZ_IsOdd "IsOdd"(ZZ_c a)
|
|
57
|
+
long ZZ_NumBits "NumBits"(ZZ_c a)
|
|
58
|
+
long ZZ_bit "bit"(ZZ_c a, long k)
|
|
59
|
+
void ZZ_trunc "trunc"(ZZ_c x, ZZ_c a, long k)
|
|
60
|
+
void ZZ_SetBit "SetBit"(ZZ_c x, long p)
|
|
61
|
+
void ZZ_SwitchBit "SwitchBit"(ZZ_c x, long p)
|
|
62
|
+
void ZZ_weight "weight"(ZZ_c a)
|
|
63
|
+
void ZZ_bit_and "bit_and"(ZZ_c x, ZZ_c a, ZZ_c b)
|
|
64
|
+
void ZZ_bit_or "bit_or"(ZZ_c x, ZZ_c a, ZZ_c b)
|
|
65
|
+
void ZZ_bit_xor "bit_xor"(ZZ_c x, ZZ_c a, ZZ_c b)
|
|
66
|
+
|
|
67
|
+
void ZZ_SetSeed "SetSeed"(ZZ_c s)
|
|
68
|
+
void ZZ_RandomBnd "RandomBnd"(ZZ_c x, ZZ_c n)
|
|
69
|
+
void ZZ_RandomBits "RandomBits"(ZZ_c x, long l)
|
|
70
|
+
|
|
71
|
+
long ZZ_CRT "CRT"(ZZ_c a, ZZ_c p, ZZ_c A, ZZ_c P)
|
|
72
|
+
|
|
73
|
+
long ZZ_ReconstructRational "ReconstructRational"(ZZ_c a, ZZ_c b, ZZ_c x, ZZ_c m, ZZ_c a_bound, ZZ_c b_bound)
|
|
74
|
+
|
|
75
|
+
void ZZ_GenPrime "GenPrime"(ZZ_c n, long l, long err)
|
|
76
|
+
void ZZ_GenGermainPrime "GenGermainPrime"(ZZ_c n, long l, long err)
|
|
77
|
+
long ZZ_ProbPrime "ProbPrime"(ZZ_c n, long NumTrials)
|
|
78
|
+
void ZZ_RandomPrime "RandomPrime"(ZZ_c n, long l, long NumTrials)
|
|
79
|
+
void ZZ_NextPrime "NextPrime"(ZZ_c n, ZZ_c m, long NumTrials)
|
|
80
|
+
long ZZ_MillerWitness "MillerWitness"(ZZ_c n, ZZ_c w)
|
|
81
|
+
|
|
82
|
+
void ZZ_power "NTL::power"(ZZ_c t, ZZ_c x, long e)
|
|
83
|
+
void ZZ_power2 "power2"(ZZ_c x, long e)
|
|
84
|
+
|
|
85
|
+
void ZZ_SqrRoot "SqrRoot"(ZZ_c x, ZZ_c a)
|
|
86
|
+
|
|
87
|
+
long ZZ_Jacobi "Jacobi"(ZZ_c a, ZZ_c n)
|
|
88
|
+
void ZZ_SqrRootMod "SqrRootMod"(ZZ_c x, ZZ_c a, ZZ_c n)
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
cdef extern from "ntlwrap_impl.h":
|
|
92
|
+
cdef int ZZ_to_int(ZZ_c* x)
|
|
93
|
+
long ZZ_remove(ZZ_c x, ZZ_c a, ZZ_c p) # like mpz_remove.
|
sage/libs/ntl/ZZX.pxd
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-ntl
|
|
2
|
+
# distutils: depends = NTL/ZZ.h
|
|
3
|
+
|
|
4
|
+
from sage.libs.gmp.types cimport mpz_t
|
|
5
|
+
from sage.libs.ntl.types cimport ZZ_c, vec_ZZ_c, ZZX_c
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
cdef extern from *:
|
|
9
|
+
## for cleaning up after ZZX_repr:
|
|
10
|
+
void cpp_delete_array "delete[]"(char*)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
cdef extern from "ntlwrap.h":
|
|
14
|
+
void ZZX_swap "swap"(ZZX_c& x, ZZX_c& y)
|
|
15
|
+
|
|
16
|
+
ctypedef struct pair_ZZX_long_c "pair_ZZX_long":
|
|
17
|
+
ZZX_c a
|
|
18
|
+
long b
|
|
19
|
+
|
|
20
|
+
ctypedef struct vec_pair_ZZX_long_c "vec_pair_ZZX_long":
|
|
21
|
+
pair_ZZX_long_c RawGet(long i)
|
|
22
|
+
long length()
|
|
23
|
+
|
|
24
|
+
void ZZX_PseudoRem "PseudoRem"(ZZX_c x, ZZX_c a, ZZX_c b)
|
|
25
|
+
ZZ_c ZZX_LeadCoeff "LeadCoeff"(ZZX_c x)
|
|
26
|
+
ZZ_c ZZX_ConstTerm "ConstTerm"(ZZX_c x)
|
|
27
|
+
ZZ_c ZZX_coeff "coeff"(ZZX_c a, long i)
|
|
28
|
+
void ZZX_SetCoeff "SetCoeff"(ZZX_c x, long i, ZZ_c a)
|
|
29
|
+
void ZZX_SetCoeff_long "SetCoeff"(ZZX_c x, long i, long a)
|
|
30
|
+
long IsZero_ZZX "IsZero"(ZZX_c a)
|
|
31
|
+
# f must be monic!
|
|
32
|
+
void ZZX_MulMod "MulMod"(ZZX_c x, ZZX_c a, ZZX_c b, ZZX_c f)
|
|
33
|
+
void ZZX_mul_long "mul"( ZZX_c x, ZZX_c a, long b)
|
|
34
|
+
void ZZX_mul_ZZ "mul"( ZZX_c x, ZZX_c a, ZZ_c b)
|
|
35
|
+
void ZZX_mul "mul"( ZZX_c x, ZZX_c a, ZZX_c b)
|
|
36
|
+
void ZZX_add "add"( ZZX_c x, ZZX_c a, ZZX_c b)
|
|
37
|
+
void ZZX_sub "sub"( ZZX_c x, ZZX_c a, ZZX_c b)
|
|
38
|
+
void ZZX_negate "NTL::negate"( ZZX_c x, ZZX_c a)
|
|
39
|
+
void ZZX_div_ZZ "div"( ZZX_c x, ZZX_c a, ZZ_c b)
|
|
40
|
+
long ZZX_deg "deg"( ZZX_c x )
|
|
41
|
+
void ZZX_rem "rem"(ZZX_c r, ZZX_c a, ZZX_c b)
|
|
42
|
+
void ZZX_XGCD "XGCD"(ZZ_c r, ZZX_c s, ZZX_c t, ZZX_c a, ZZX_c b, long deterministic)
|
|
43
|
+
void ZZX_content "content"(ZZ_c d, ZZX_c f)
|
|
44
|
+
void ZZX_factor "factor"(ZZ_c c, vec_pair_ZZX_long_c factors, ZZX_c f, long verbose, long bnd)
|
|
45
|
+
|
|
46
|
+
int ZZX_IsZero "IsZero"(ZZX_c x)
|
|
47
|
+
int ZZX_IsOne "IsOne"(ZZX_c x)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
cdef extern from "ntlwrap_impl.h":
|
|
51
|
+
char* ZZX_repr(ZZX_c* x)
|
|
52
|
+
ZZX_c* ZZX_copy(ZZX_c* x)
|
|
53
|
+
cdef void ZZX_setitem_from_int(ZZX_c* x, long i, int value)
|
|
54
|
+
cdef int ZZX_getitem_as_int(ZZX_c* x, long i)
|
|
55
|
+
void ZZX_getitem_as_mpz(mpz_t output, ZZX_c* x, long i)
|
|
56
|
+
ZZX_c* ZZX_div(ZZX_c* x, ZZX_c* y, int* divisible)
|
|
57
|
+
void ZZX_quo_rem(ZZX_c* x, ZZX_c* other, ZZX_c** r, ZZX_c** q)
|
|
58
|
+
ZZX_c* ZZX_square(ZZX_c* x)
|
|
59
|
+
ZZX_c* ZZX_neg(ZZX_c* x)
|
|
60
|
+
ZZX_c* ZZX_left_shift(ZZX_c* x, long n)
|
|
61
|
+
ZZX_c* ZZX_right_shift(ZZX_c* x, long n)
|
|
62
|
+
ZZX_c* ZZX_primitive_part(ZZX_c* x)
|
|
63
|
+
void ZZX_pseudo_quo_rem(ZZX_c* x, ZZX_c* y, ZZX_c** r, ZZX_c** q)
|
|
64
|
+
ZZX_c* ZZX_gcd(ZZX_c* x, ZZX_c* y)
|
|
65
|
+
ZZX_c* ZZX_xgcd(ZZX_c* x, ZZX_c* y, ZZ_c** r, ZZX_c** s, ZZX_c** t, int proof)
|
|
66
|
+
void ZZX_set_x(ZZX_c* x)
|
|
67
|
+
bint ZZX_is_x(ZZX_c* x)
|
|
68
|
+
ZZX_c* ZZX_derivative(ZZX_c* x)
|
|
69
|
+
ZZX_c* ZZX_reverse(ZZX_c* x)
|
|
70
|
+
ZZX_c* ZZX_reverse_hi(ZZX_c* x, long hi)
|
|
71
|
+
ZZX_c* ZZX_truncate(ZZX_c* x, long m)
|
|
72
|
+
ZZX_c* ZZX_multiply_and_truncate(ZZX_c* x, ZZX_c* y, long m)
|
|
73
|
+
ZZX_c* ZZX_square_and_truncate(ZZX_c* x, long m)
|
|
74
|
+
ZZX_c* ZZX_invert_and_truncate(ZZX_c* x, long m)
|
|
75
|
+
ZZX_c* ZZX_multiply_mod(ZZX_c* x, ZZX_c* y, ZZX_c* modulus)
|
|
76
|
+
ZZ_c* ZZX_trace_mod(ZZX_c* x, ZZX_c* y)
|
|
77
|
+
char* ZZX_trace_list(ZZX_c* x)
|
|
78
|
+
ZZ_c* ZZX_resultant(ZZX_c* x, ZZX_c* y, int proof)
|
|
79
|
+
ZZ_c* ZZX_norm_mod(ZZX_c* x, ZZX_c* y, int proof)
|
|
80
|
+
ZZ_c* ZZX_discriminant(ZZX_c* x, int proof)
|
|
81
|
+
ZZX_c* ZZX_charpoly_mod(ZZX_c* x, ZZX_c* y, int proof)
|
|
82
|
+
ZZX_c* ZZX_minpoly_mod(ZZX_c* x, ZZX_c* y)
|
|
83
|
+
void ZZX_clear(ZZX_c* x)
|
|
84
|
+
void ZZX_preallocate_space(ZZX_c* x, long n)
|
|
85
|
+
void ZZX_squarefree_decomposition(ZZX_c*** v, long** e, long* n, ZZX_c* x)
|
sage/libs/ntl/ZZ_p.pxd
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-ntl
|
|
2
|
+
# distutils: depends = NTL/ZZ.h
|
|
3
|
+
|
|
4
|
+
from sage.libs.ntl.types cimport ZZ_c, ZZ_p_c
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
cdef extern from "ntlwrap.h":
|
|
8
|
+
ZZ_p_c int_to_ZZ_p "NTL::ZZ_p"(int i)
|
|
9
|
+
char* ZZ_p_to_str(ZZ_p_c* x)
|
|
10
|
+
void ZZ_p_add "add"( ZZ_p_c x, ZZ_p_c a, ZZ_p_c b)
|
|
11
|
+
void ZZ_p_sub "sub"( ZZ_p_c x, ZZ_p_c a, ZZ_p_c b)
|
|
12
|
+
void ZZ_p_mul "mul"( ZZ_p_c x, ZZ_p_c a, ZZ_p_c b)
|
|
13
|
+
void ZZ_p_mul_long "mul"( ZZ_p_c x, ZZ_p_c a, long b)
|
|
14
|
+
void ZZ_p_div "div"( ZZ_p_c x, ZZ_p_c a, ZZ_p_c b)
|
|
15
|
+
void ZZ_p_negate "NTL::negate"(ZZ_p_c x, ZZ_p_c a)
|
|
16
|
+
void ZZ_p_power "NTL::power"(ZZ_p_c t, ZZ_p_c x, long e)
|
|
17
|
+
int ZZ_p_IsOne "IsOne"(ZZ_p_c x)
|
|
18
|
+
int ZZ_p_IsZero "IsZero"(ZZ_p_c x)
|
|
19
|
+
ZZ_c ZZ_p_rep "rep"(ZZ_p_c z)
|
|
20
|
+
void ZZ_p_inv "inv"(ZZ_p_c r, ZZ_p_c x)
|
|
21
|
+
void ZZ_p_random "random"(ZZ_p_c r)
|
|
22
|
+
ZZ_p_c long_to_ZZ_p "to_ZZ_p"(long i)
|
|
23
|
+
ZZ_p_c ZZ_to_ZZ_p "to_ZZ_p"(ZZ_c i)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
cdef extern from "ntlwrap_impl.h":
|
|
27
|
+
int ZZ_p_to_int(ZZ_p_c x)
|
|
28
|
+
void ZZ_p_modulus(ZZ_c* mod, ZZ_p_c* x)
|
sage/libs/ntl/ZZ_pE.pxd
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-ntl
|
|
2
|
+
# distutils: depends = NTL/ZZ.h
|
|
3
|
+
|
|
4
|
+
from sage.libs.ntl.types cimport ZZ_c, ZZ_p_c, ZZ_pX_c, ZZ_pE_c
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
cdef extern from "ntlwrap.h":
|
|
8
|
+
void ZZ_pE_add "add"( ZZ_pE_c x, ZZ_pE_c a, ZZ_pE_c b)
|
|
9
|
+
void ZZ_pE_add_long "add"( ZZ_pE_c x, ZZ_pE_c a, long b)
|
|
10
|
+
void ZZ_pE_add_ZZ_p "add"( ZZ_pE_c x, ZZ_pE_c a, ZZ_p_c b)
|
|
11
|
+
void ZZ_pE_sub "sub"( ZZ_pE_c x, ZZ_pE_c a, ZZ_pE_c b)
|
|
12
|
+
void ZZ_pE_sub_long "add"( ZZ_pE_c x, ZZ_pE_c a, long b)
|
|
13
|
+
void ZZ_pE_sub_ZZ_p "sub"( ZZ_pE_c x, ZZ_pE_c a, ZZ_p_c b)
|
|
14
|
+
void ZZ_pE_mul "mul"( ZZ_pE_c x, ZZ_pE_c a, ZZ_pE_c b)
|
|
15
|
+
void ZZ_pE_mul_long "mul"( ZZ_pE_c x, ZZ_pE_c a, long b)
|
|
16
|
+
void ZZ_pE_mul_ZZ_p "mul"( ZZ_pE_c x, ZZ_pE_c a, ZZ_p_c b)
|
|
17
|
+
void ZZ_pE_negate "NTL::negate"(ZZ_pE_c x, ZZ_pE_c a)
|
|
18
|
+
void ZZ_pE_power "NTL::power"(ZZ_pE_c t, ZZ_pE_c x, long e)
|
|
19
|
+
int ZZ_pE_IsOne "IsOne"(ZZ_pE_c x)
|
|
20
|
+
int ZZ_pE_IsZero "IsZero"(ZZ_pE_c x)
|
|
21
|
+
ZZ_pX_c ZZ_pE_rep "rep"(ZZ_pE_c z)
|
|
22
|
+
void ZZ_pE_inv "inv"( ZZ_pE_c x, ZZ_pE_c a) # raises an error if a not invertible
|
|
23
|
+
void ZZ_pE_div "div"( ZZ_pE_c x, ZZ_pE_c a, ZZ_pE_c b) # raises an error if b not invertible
|
|
24
|
+
void ZZ_pE_div_ZZ_p "div"( ZZ_pE_c x, ZZ_pE_c a, ZZ_p_c b) # raises an error if b not invertible
|
|
25
|
+
void ZZ_pE_ZZ_p_div "div"( ZZ_pE_c x, ZZ_p_c a, ZZ_pE_c b) # raises an error if b not invertible
|
|
26
|
+
void ZZ_pE_random "random"( ZZ_pE_c x)
|
|
27
|
+
void ZZ_pE_trace "trace"( ZZ_p_c x, ZZ_pE_c a)
|
|
28
|
+
void ZZ_pE_norm "norm"( ZZ_p_c x, ZZ_pE_c a)
|
|
29
|
+
|
|
30
|
+
ZZ_pE_c long_to_ZZ_pE "to_ZZ_pE"(long i)
|
|
31
|
+
ZZ_pE_c ZZ_to_ZZ_pE "to_ZZ_pE"(ZZ_c i)
|
|
32
|
+
ZZ_pE_c ZZ_p_to_ZZ_pE "to_ZZ_pE"(ZZ_p_c i)
|
|
33
|
+
ZZ_pE_c ZZ_pX_to_ZZ_pE "to_ZZ_pE"(ZZ_pX_c i)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
cdef extern from "ntlwrap_impl.h":
|
|
37
|
+
ZZ_pX_c ZZ_pE_to_ZZ_pX(ZZ_pE_c x)
|
sage/libs/ntl/ZZ_pEX.pxd
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-ntl
|
|
2
|
+
# distutils: depends = NTL/ZZ.h
|
|
3
|
+
|
|
4
|
+
from sage.libs.ntl.types cimport (ZZ_c, ZZ_p_c, ZZ_pContext_c, ZZ_pE_c, vec_ZZ_p_c,
|
|
5
|
+
vec_ZZ_pE_c, ZZ_pEX_c, ZZ_pEX_Modulus_c)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
cdef extern from "ntlwrap.h":
|
|
9
|
+
long ZZ_pEX_IsZero "IsZero"(ZZ_pEX_c a)
|
|
10
|
+
long ZZ_pEX_IsOne "IsOne"(ZZ_pEX_c a)
|
|
11
|
+
|
|
12
|
+
void ZZ_pEX_add "add"( ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pEX_c b)
|
|
13
|
+
void ZZ_pEX_add_ZZ_p "add"( ZZ_pEX_c x, ZZ_pEX_c a, ZZ_p_c b)
|
|
14
|
+
void ZZ_pEX_add_ZZ_pE "add"( ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pE_c b)
|
|
15
|
+
void ZZ_pEX_sub "sub"( ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pEX_c b)
|
|
16
|
+
void ZZ_pEX_sub_ZZ_p "sub"( ZZ_pEX_c x, ZZ_pEX_c a, ZZ_p_c b)
|
|
17
|
+
void ZZ_pEX_sub_ZZ_pE "sub"( ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pE_c b)
|
|
18
|
+
void ZZ_pEX_negate "NTL::negate"(ZZ_pEX_c x, ZZ_pEX_c a)
|
|
19
|
+
|
|
20
|
+
void ZZ_pEX_mul "mul"( ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pEX_c b)
|
|
21
|
+
void ZZ_pEX_mul_long "mul"( ZZ_pEX_c x, ZZ_pEX_c a, long b)
|
|
22
|
+
void ZZ_pEX_mul_ZZ_p "mul"( ZZ_pEX_c x, ZZ_pEX_c a, ZZ_p_c b)
|
|
23
|
+
void ZZ_pEX_mul_ZZ_pE "mul"( ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pE_c b)
|
|
24
|
+
void ZZ_pEX_sqr "sqr"( ZZ_pEX_c x, ZZ_pEX_c a)
|
|
25
|
+
void ZZ_pEX_power "NTL::power"( ZZ_pEX_c x, ZZ_pEX_c a, long e)
|
|
26
|
+
|
|
27
|
+
void ZZ_pEX_LeftShift "LeftShift"(ZZ_pEX_c x, ZZ_pEX_c a, long n)
|
|
28
|
+
void ZZ_pEX_RightShift "RightShift"(ZZ_pEX_c x, ZZ_pEX_c a, long n)
|
|
29
|
+
|
|
30
|
+
void ZZ_pEX_DivRem "DivRem"(ZZ_pEX_c q, ZZ_pEX_c r, ZZ_pEX_c a, ZZ_pEX_c b)
|
|
31
|
+
void ZZ_pEX_div_ZZ_pEX "div"(ZZ_pEX_c q, ZZ_pEX_c a, ZZ_pEX_c b)
|
|
32
|
+
void ZZ_pEX_div_ZZ_pE "div"(ZZ_pEX_c q, ZZ_pEX_c a, ZZ_pE_c b)
|
|
33
|
+
void ZZ_pEX_div_ZZ_p "div"(ZZ_pEX_c q, ZZ_pEX_c a, ZZ_p_c b)
|
|
34
|
+
void ZZ_pEX_div_long "div"( ZZ_pEX_c x, ZZ_pEX_c a, long b)
|
|
35
|
+
void ZZ_pEX_rem "rem"(ZZ_pEX_c r, ZZ_pEX_c a, ZZ_pEX_c b)
|
|
36
|
+
long ZZ_pEX_divide "divide"( ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pEX_c b)
|
|
37
|
+
|
|
38
|
+
void ZZ_pEX_GCD "GCD"(ZZ_pEX_c r, ZZ_pEX_c a, ZZ_pEX_c b)
|
|
39
|
+
void ZZ_pEX_XGCD "XGCD"(ZZ_pEX_c d, ZZ_pEX_c s, ZZ_pEX_c t, ZZ_pEX_c a, ZZ_pEX_c b)
|
|
40
|
+
|
|
41
|
+
long ZZ_pEX_deg "deg"( ZZ_pEX_c x )
|
|
42
|
+
ZZ_pE_c ZZ_pEX_coeff "coeff"(ZZ_pEX_c a, long i)
|
|
43
|
+
ZZ_pE_c ZZ_pEX_LeadCoeff "LeadCoeff"(ZZ_pEX_c a)
|
|
44
|
+
void ZZ_pEX_SetCoeff "SetCoeff"(ZZ_pEX_c x, long i, ZZ_pE_c a)
|
|
45
|
+
void ZZ_pEX_SetCoeff_ZZ_p "SetCoeff"(ZZ_pEX_c x, long i, ZZ_p_c a)
|
|
46
|
+
void ZZ_pEX_SetCoeff_long "SetCoeff"(ZZ_pEX_c x, long i, long a)
|
|
47
|
+
void ZZ_pEX_SetCoeff_one "SetCoeff"(ZZ_pEX_c x, long i)
|
|
48
|
+
void ZZ_pEX_SetX "SetX"(ZZ_pEX_c x)
|
|
49
|
+
long ZZ_pEX_IsX "IsX"(ZZ_pEX_c x)
|
|
50
|
+
void ZZ_pEX_diff "diff"(ZZ_pEX_c x, ZZ_pEX_c a)
|
|
51
|
+
void ZZ_pEX_MakeMonic "MakeMonic"(ZZ_pEX_c x)
|
|
52
|
+
void ZZ_pEX_reverse_hi "reverse"(ZZ_pEX_c x, ZZ_pEX_c a, long hi)
|
|
53
|
+
void ZZ_pEX_reverse "reverse"(ZZ_pEX_c x, ZZ_pEX_c a)
|
|
54
|
+
|
|
55
|
+
void ZZ_pEX_random "random"(ZZ_pEX_c x, long n)
|
|
56
|
+
|
|
57
|
+
void ZZ_pEX_BuildFromRoots "BuildFromRoots"(ZZ_pEX_c x, vec_ZZ_pE_c a)
|
|
58
|
+
void ZZ_pEX_eval "eval"(ZZ_pE_c b, ZZ_pEX_c f, ZZ_pE_c a)
|
|
59
|
+
void ZZ_pEX_eval_vec "eval"(vec_ZZ_pE_c b, ZZ_pEX_c f, vec_ZZ_pE_c a)
|
|
60
|
+
void ZZ_pEX_interpolate "interpolate"(ZZ_pEX_c f, vec_ZZ_pE_c a, vec_ZZ_pE_c b)
|
|
61
|
+
|
|
62
|
+
void ZZ_pEX_trunc "trunc"(ZZ_pEX_c x, ZZ_pEX_c a, long n)
|
|
63
|
+
void ZZ_pEX_MulTrunc "MulTrunc"(ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pEX_c b, long n)
|
|
64
|
+
void ZZ_pEX_SqrTrunc "SqrTrunc"(ZZ_pEX_c x, ZZ_pEX_c a, long n)
|
|
65
|
+
void ZZ_pEX_InvTrunc "InvTrunc"(ZZ_pEX_c x, ZZ_pEX_c a, long n)
|
|
66
|
+
|
|
67
|
+
void ZZ_pEX_MulMod "MulMod"(ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pEX_c b, ZZ_pEX_c f)
|
|
68
|
+
void ZZ_pEX_SqrMod "SqrMod"(ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pEX_c f)
|
|
69
|
+
void ZZ_pEX_MulByXMod "MulByXMod"(ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pEX_c f)
|
|
70
|
+
void ZZ_pEX_InvMod "InvMod"(ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pEX_c f)
|
|
71
|
+
long ZZ_pEX_InvModStatus "InvModStatus"(ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pEX_c f)
|
|
72
|
+
|
|
73
|
+
void ZZ_pEX_Modulus_build "build"(ZZ_pEX_Modulus_c F, ZZ_pEX_c f)
|
|
74
|
+
long ZZ_pEX_Modulus_deg "deg"(ZZ_pEX_Modulus_c F)
|
|
75
|
+
|
|
76
|
+
void ZZ_pEX_MulMod_pre "MulMod"(ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pEX_c b, ZZ_pEX_Modulus_c F)
|
|
77
|
+
void ZZ_pEX_SqrMod_pre "SqrMod"(ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pEX_Modulus_c F)
|
|
78
|
+
void ZZ_pEX_PowerMod_pre "PowerMod"(ZZ_pEX_c x, ZZ_pEX_c a, long e, ZZ_pEX_Modulus_c F)
|
|
79
|
+
void ZZ_pEX_PowerMod_ZZ_pre "PowerMod"(ZZ_pEX_c x, ZZ_pEX_c a, ZZ_c e, ZZ_pEX_Modulus_c F)
|
|
80
|
+
void ZZ_pEX_PowerXMod_pre "PowerXMod"(ZZ_pEX_c x, long e, ZZ_pEX_Modulus_c F)
|
|
81
|
+
void ZZ_pEX_PowerXMod_ZZ_pre "PowerXMod"(ZZ_pEX_c x, ZZ_c e, ZZ_pEX_Modulus_c F)
|
|
82
|
+
void ZZ_pEX_rem_pre "rem"(ZZ_pEX_c x, ZZ_pEX_c a, ZZ_pEX_Modulus_c F)
|
|
83
|
+
void ZZ_pEX_DivRem_pre "DivRem"(ZZ_pEX_c q, ZZ_pEX_c r, ZZ_pEX_c a, ZZ_pEX_Modulus_c F)
|
|
84
|
+
void ZZ_pEX_div_pre "div"(ZZ_pEX_c q, ZZ_pEX_c a, ZZ_pEX_Modulus_c F)
|
|
85
|
+
|
|
86
|
+
void ZZ_pEX_CompMod "CompMod"(ZZ_pEX_c x, ZZ_pEX_c f, ZZ_pEX_c g, ZZ_pEX_Modulus_c F)
|
|
87
|
+
|
|
88
|
+
void ZZ_pEX_MinPolyMod "MinPolyMod"(ZZ_pEX_c h, ZZ_pEX_c g, ZZ_pEX_c f)
|
|
89
|
+
void ZZ_pEX_MinPolyMod_pre "MinPolyMod"(ZZ_pEX_c h, ZZ_pEX_c g, ZZ_pEX_Modulus_c F)
|
|
90
|
+
|
|
91
|
+
void ZZ_pEX_TraceMod "TraceMod"(ZZ_pE_c x, ZZ_pEX_c a, ZZ_pEX_c f)
|
|
92
|
+
void ZZ_pEX_TraceMod_pre "TraceMod"(ZZ_pE_c x, ZZ_pEX_c a, ZZ_pEX_Modulus_c F)
|
|
93
|
+
void ZZ_pEX_TraceVec "TraceVec"(vec_ZZ_pE_c x, ZZ_pEX_c f)
|
|
94
|
+
void ZZ_pEX_NormMod "NormMod"(ZZ_pE_c x, ZZ_pEX_c a, ZZ_pEX_c f)
|
|
95
|
+
void ZZ_pEX_resultant "resultant"(ZZ_pE_c x, ZZ_pEX_c a, ZZ_pEX_c b)
|
|
96
|
+
|
|
97
|
+
void ZZ_pEX_clear "clear"(ZZ_pEX_c x)
|
|
98
|
+
void ZZ_pEX_set "set"(ZZ_pEX_c x)
|
|
99
|
+
|
|
100
|
+
long ZZ_pEX_IterIrredTest "IterIrredTest"(ZZ_pEX_c x)
|
|
101
|
+
long ZZ_pEX_DetIrredTest "DetIrredTest"(ZZ_pEX_c x)
|
|
102
|
+
long ZZ_pEX_ProbIrredTest "ProbIrredTest"(ZZ_pEX_c x, long iter)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
cdef extern from "ntlwrap_impl.h":
|
|
106
|
+
void ZZ_pEX_conv_modulus(ZZ_pEX_c fout, ZZ_pEX_c fin, ZZ_pContext_c c)
|
sage/libs/ntl/ZZ_pX.pxd
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-ntl
|
|
2
|
+
# distutils: depends = NTL/ZZ.h
|
|
3
|
+
|
|
4
|
+
from sage.libs.ntl.types cimport (ZZ_c, ZZX_c, ZZ_p_c, vec_ZZ_p_c, ZZ_pContext_c,
|
|
5
|
+
ZZ_pX_c, ZZ_pX_Modulus_c, ZZ_pX_Multiplier_c)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
cdef extern from "ntlwrap.h":
|
|
9
|
+
long ZZ_pX_IsZero "IsZero"(ZZ_pX_c a)
|
|
10
|
+
long ZZ_pX_IsOne "IsOne"(ZZ_pX_c a)
|
|
11
|
+
|
|
12
|
+
void ZZ_pX_add "add"( ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_c b)
|
|
13
|
+
void ZZ_pX_add_long "add"(ZZ_pX_c x, ZZ_pX_c a, long b)
|
|
14
|
+
void ZZ_pX_sub "sub"( ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_c b)
|
|
15
|
+
void ZZ_pX_sub_long "sub"(ZZ_pX_c x, long a, ZZ_pX_c b)
|
|
16
|
+
void ZZ_pX_negate "NTL::negate"(ZZ_pX_c x, ZZ_pX_c a)
|
|
17
|
+
|
|
18
|
+
void ZZ_pX_mul "mul"( ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_c b)
|
|
19
|
+
void ZZ_pX_mul_long "mul"( ZZ_pX_c x, ZZ_pX_c a, long b)
|
|
20
|
+
void ZZ_pX_mul_ZZ_p "mul"( ZZ_pX_c x, ZZ_pX_c a, ZZ_p_c b)
|
|
21
|
+
void ZZ_pX_rmul "mul"( ZZ_pX_c x, ZZ_pX_c a, ZZ_p_c b)
|
|
22
|
+
void ZZ_pX_sqr "sqr"( ZZ_pX_c x, ZZ_pX_c a)
|
|
23
|
+
long ZZ_pX_power "NTL::power"( ZZ_pX_c x, ZZ_pX_c a, long e)
|
|
24
|
+
|
|
25
|
+
void ZZ_pX_LeftShift "LeftShift"(ZZ_pX_c x, ZZ_pX_c a, long n)
|
|
26
|
+
void ZZ_pX_RightShift "RightShift"(ZZ_pX_c x, ZZ_pX_c a, long n)
|
|
27
|
+
|
|
28
|
+
void ZZ_pX_DivRem "DivRem"(ZZ_pX_c q, ZZ_pX_c r, ZZ_pX_c a, ZZ_pX_c b)
|
|
29
|
+
void ZZ_pX_div_ZZ "div"( ZZ_pX_c q, ZZ_pX_c a, ZZ_pX_c b)
|
|
30
|
+
void ZZ_pX_div "div"( ZZ_pX_c q, ZZ_pX_c a, ZZ_pX_c b)
|
|
31
|
+
long ZZ_pX_divide "divide"( ZZ_pX_c q, ZZ_pX_c a, ZZ_pX_c b)
|
|
32
|
+
void ZZ_pX_rem "rem"(ZZ_pX_c r, ZZ_pX_c a, ZZ_pX_c b)
|
|
33
|
+
|
|
34
|
+
void ZZ_pX_GCD "GCD"(ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_c b)
|
|
35
|
+
void ZZ_pX_PlainXGCD "PlainXGCD"(ZZ_pX_c d, ZZ_pX_c s, ZZ_pX_c t, ZZ_pX_c a, ZZ_pX_c b)
|
|
36
|
+
void ZZ_pX_XGCD "XGCD"(ZZ_pX_c d, ZZ_pX_c s, ZZ_pX_c t, ZZ_pX_c a, ZZ_pX_c b)
|
|
37
|
+
|
|
38
|
+
long ZZ_pX_deg "deg"( ZZ_pX_c x )
|
|
39
|
+
ZZ_p_c ZZ_pX_coeff "coeff"(ZZ_pX_c a, long i)
|
|
40
|
+
ZZ_p_c ZZ_pX_LeadCoeff "LeadCoeff"(ZZ_pX_c x)
|
|
41
|
+
ZZ_p_c ZZ_pX_ConstTerm "ConstTerm"(ZZ_pX_c x)
|
|
42
|
+
void ZZ_pX_SetCoeff "SetCoeff"(ZZ_pX_c x, long i, ZZ_p_c a)
|
|
43
|
+
void ZZ_pX_SetCoeff_long "SetCoeff"(ZZ_pX_c x, long i, long a)
|
|
44
|
+
void ZZ_pX_SetX "SetX"(ZZ_pX_c x)
|
|
45
|
+
long ZZ_pX_IsX "IsX"(ZZ_pX_c a)
|
|
46
|
+
void ZZ_pX_diff "diff"(ZZ_pX_c x, ZZ_pX_c a)
|
|
47
|
+
void ZZ_pX_MakeMonic "MakeMonic"(ZZ_pX_c x)
|
|
48
|
+
void ZZ_pX_reverse_hi "reverse"(ZZ_pX_c x, ZZ_pX_c a, long hi)
|
|
49
|
+
void ZZ_pX_reverse "reverse"(ZZ_pX_c x, ZZ_pX_c a)
|
|
50
|
+
void ZZ_pX_VectorCopy "VectorCopy"(vec_ZZ_p_c x, ZZ_pX_c a, long n)
|
|
51
|
+
|
|
52
|
+
void ZZ_pX_random "random"(ZZ_pX_c x, long n)
|
|
53
|
+
|
|
54
|
+
void ZZ_pX_BuildFromRoots "BuildFromRoots"(ZZ_pX_c x, vec_ZZ_p_c a)
|
|
55
|
+
void ZZ_pX_eval "eval"(ZZ_p_c fa, ZZ_pX_c f, ZZ_p_c a)
|
|
56
|
+
void ZZ_pX_eval_vec "eval"(vec_ZZ_p_c fa, ZZ_pX_c f, vec_ZZ_p_c a)
|
|
57
|
+
void ZZ_pX_interpolate "interpolate"(ZZ_pX_c f, vec_ZZ_p_c a, vec_ZZ_p_c b)
|
|
58
|
+
|
|
59
|
+
void ZZ_pX_trunc "trunc"(ZZ_pX_c x, ZZ_pX_c a, long n)
|
|
60
|
+
void ZZ_pX_MulTrunc "MulTrunc"(ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_c b, long n)
|
|
61
|
+
void ZZ_pX_SqrTrunc "SqrTrunc"(ZZ_pX_c x, ZZ_pX_c a, long n)
|
|
62
|
+
void ZZ_pX_InvTrunc "InvTrunc"(ZZ_pX_c x, ZZ_pX_c a, long n)
|
|
63
|
+
|
|
64
|
+
void ZZ_pX_MulMod "MulMod"(ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_c b, ZZ_pX_c f)
|
|
65
|
+
void ZZ_pX_SqrMod "SqrMod"(ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_c f)
|
|
66
|
+
void ZZ_pX_MulByXMod "MulByXMod"(ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_c f)
|
|
67
|
+
void ZZ_pX_InvMod "InvMod"(ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_c f)
|
|
68
|
+
long ZZ_pX_InvModStatus "InvModStatus"(ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_c f)
|
|
69
|
+
|
|
70
|
+
void ZZ_pX_Modulus_build "build"(ZZ_pX_Modulus_c F, ZZ_pX_c f) # MUST be called before using the modulus
|
|
71
|
+
long ZZ_pX_Modulus_deg "deg"(ZZ_pX_Modulus_c F)
|
|
72
|
+
|
|
73
|
+
void ZZ_pX_MulMod_pre "MulMod"(ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_c b, ZZ_pX_Modulus_c F)
|
|
74
|
+
void ZZ_pX_SqrMod_pre "SqrMod"(ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_Modulus_c F)
|
|
75
|
+
void ZZ_pX_PowerMod_pre "PowerMod"(ZZ_pX_c x, ZZ_pX_c a, ZZ_c e, ZZ_pX_Modulus_c F)
|
|
76
|
+
void ZZ_pX_PowerMod_long_pre "PowerMod"(ZZ_pX_c x, ZZ_pX_c a, long e, ZZ_pX_Modulus_c F)
|
|
77
|
+
void ZZ_pX_PowerXMod_pre "PowerXMod"(ZZ_pX_c x, ZZ_c e, ZZ_pX_Modulus_c F)
|
|
78
|
+
void ZZ_pX_PowerXMod_long_pre "PowerXMod"(ZZ_pX_c x, long e, ZZ_pX_Modulus_c F)
|
|
79
|
+
void ZZ_pX_PowerXPlusAMod_pre "PowerXPlusAMod"(ZZ_pX_c x, ZZ_p_c a, ZZ_c e, ZZ_pX_Modulus_c F)
|
|
80
|
+
void ZZ_pX_PowerXPlusAMod_long_pre "PowerXPlusAMod"(ZZ_pX_c x, ZZ_p_c a, long e, ZZ_pX_Modulus_c F)
|
|
81
|
+
void ZZ_pX_rem_pre "rem"(ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_Modulus_c F)
|
|
82
|
+
void ZZ_pX_DivRem_pre "DivRem"(ZZ_pX_c q, ZZ_pX_c r, ZZ_pX_c a, ZZ_pX_Modulus_c F)
|
|
83
|
+
void ZZ_pX_div_pre "div"(ZZ_pX_c q, ZZ_pX_c a, ZZ_pX_Modulus_c F)
|
|
84
|
+
void ZZ_pX_InvMod_pre "InvMod"(ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_Modulus_c F)
|
|
85
|
+
|
|
86
|
+
void ZZ_pX_Multiplier_build "build"(ZZ_pX_Multiplier_c F, ZZ_pX_c b, ZZ_pX_Modulus_c F) # MUST be called before using the multiplier
|
|
87
|
+
void ZZ_pX_MulMod_premul "MulMod"(ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_Multiplier_c B, ZZ_pX_Modulus_c F)
|
|
88
|
+
|
|
89
|
+
void ZZ_pX_CompMod "CompMod"(ZZ_pX_c x, ZZ_pX_c g, ZZ_pX_c h, ZZ_pX_Modulus_c F)
|
|
90
|
+
# Add other composition functions here
|
|
91
|
+
# Add power projection routines
|
|
92
|
+
# Add minimum polynomials of recurrence sequences
|
|
93
|
+
void ZZ_pX_MinPolyMod "MinPolyMod"(ZZ_pX_c h, ZZ_pX_c g, ZZ_pX_c f)
|
|
94
|
+
void ZZ_pX_MinPolyMod_pre "MinPolyMod"(ZZ_pX_c h, ZZ_pX_c g, ZZ_pX_Modulus_c F)
|
|
95
|
+
|
|
96
|
+
void ZZ_pX_TraceMod "TraceMod"(ZZ_p_c x, ZZ_pX_c a, ZZ_pX_c f)
|
|
97
|
+
void ZZ_pX_TraceMod_pre "TraceMod"(ZZ_p_c x, ZZ_pX_c a, ZZ_pX_Modulus_c F)
|
|
98
|
+
void ZZ_pX_TraceVec "TraceVec"(vec_ZZ_p_c S, ZZ_pX_c f)
|
|
99
|
+
void ZZ_pX_NormMod "NormMod"(ZZ_p_c x, ZZ_pX_c a, ZZ_pX_c f)
|
|
100
|
+
void ZZ_pX_resultant "resultant"(ZZ_p_c x, ZZ_pX_c a, ZZ_pX_c b)
|
|
101
|
+
void ZZ_pX_CharPolyMod "CharPolyMod"(ZZ_pX_c g, ZZ_pX_c a, ZZ_pX_c f)
|
|
102
|
+
|
|
103
|
+
void ZZ_pX_clear "clear"(ZZ_pX_c x)
|
|
104
|
+
void ZZ_pX_set "set"(ZZ_pX_c x)
|
|
105
|
+
|
|
106
|
+
void ZZ_pX_to_ZZX "conv"(ZZX_c x, ZZ_pX_c a)
|
|
107
|
+
void ZZX_to_ZZ_pX "conv"(ZZ_pX_c x, ZZX_c a)
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
cdef extern from "ntlwrap_impl.h":
|
|
111
|
+
char* ZZ_pX_trace_list(ZZ_pX_c* x)
|
|
112
|
+
void ZZ_pX_factor(ZZ_pX_c*** v, long** e, long* n, ZZ_pX_c* x, long verbose)
|
|
113
|
+
void ZZ_pX_linear_roots(ZZ_p_c*** v, long* n, ZZ_pX_c* x)
|
|
114
|
+
|
|
115
|
+
# The following are all used for padics.
|
|
116
|
+
void ZZ_pX_conv_modulus(ZZ_pX_c fout, ZZ_pX_c fin, ZZ_pContext_c c)
|
|
117
|
+
void ZZ_pX_min_val_coeff(long valuation, long index, ZZ_pX_c f, ZZ_c p)
|
|
118
|
+
long ZZ_pX_get_val_coeff(ZZ_pX_c f, ZZ_c p, long i)
|
|
119
|
+
void ZZ_pX_left_pshift(ZZ_pX_c x, ZZ_pX_c a, ZZ_c pn, ZZ_pContext_c c)
|
|
120
|
+
void ZZ_pX_right_pshift(ZZ_pX_c x, ZZ_pX_c a, ZZ_c pn, ZZ_pContext_c c)
|
|
121
|
+
void ZZ_pX_InvMod_newton_unram(ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_Modulus_c F, ZZ_pContext_c cpn, ZZ_pContext_c cp)
|
|
122
|
+
void ZZ_pX_InvMod_newton_ram(ZZ_pX_c x, ZZ_pX_c a, ZZ_pX_Modulus_c F, ZZ_pContext_c cpn)
|