Skip to main content

flint_sys/
gr.rs

1/* automatically generated by rust-bindgen 0.70.1 */
2
3use libc::*;
4use crate::deps::*;
5use crate::flint::*;
6use crate::gr_types::*;
7
8
9pub const GR_TMP_VEC_ALLOC_MAX_STACK: u32 = 1024;
10pub const GR_FRACTION_NO_REDUCTION: u32 = 1;
11pub const GR_FRACTION_STRONGLY_CANONICAL: u32 = 2;
12pub const GR_DEBUG_WRAP: u32 = 1;
13pub const GR_DEBUG_VERBOSE: u32 = 2;
14pub const GR_DEBUG_CHECK_ALWAYS_ABLE: u32 = 4;
15pub const GR_DEBUG_TIMING: u32 = 8;
16pub const GR_TEST_VERBOSE: u32 = 8;
17pub const GR_TEST_ALWAYS_ABLE: u32 = 16;
18pub const gr_method_GR_METHOD_CTX_WRITE: gr_method = 0;
19pub const gr_method_GR_METHOD_CTX_CLEAR: gr_method = 1;
20pub const gr_method_GR_METHOD_CTX_IS_RING: gr_method = 2;
21pub const gr_method_GR_METHOD_CTX_IS_COMMUTATIVE_RING: gr_method = 3;
22pub const gr_method_GR_METHOD_CTX_IS_INTEGRAL_DOMAIN: gr_method = 4;
23pub const gr_method_GR_METHOD_CTX_IS_FIELD: gr_method = 5;
24pub const gr_method_GR_METHOD_CTX_IS_UNIQUE_FACTORIZATION_DOMAIN: gr_method = 6;
25pub const gr_method_GR_METHOD_CTX_IS_FINITE: gr_method = 7;
26pub const gr_method_GR_METHOD_CTX_IS_FINITE_CHARACTERISTIC: gr_method = 8;
27pub const gr_method_GR_METHOD_CTX_IS_ALGEBRAICALLY_CLOSED: gr_method = 9;
28pub const gr_method_GR_METHOD_CTX_IS_ZERO_RING: gr_method = 10;
29pub const gr_method_GR_METHOD_CTX_IS_RATIONAL_VECTOR_SPACE: gr_method = 11;
30pub const gr_method_GR_METHOD_CTX_IS_REAL_VECTOR_SPACE: gr_method = 12;
31pub const gr_method_GR_METHOD_CTX_IS_COMPLEX_VECTOR_SPACE: gr_method = 13;
32pub const gr_method_GR_METHOD_CTX_IS_ORDERED_RING: gr_method = 14;
33pub const gr_method_GR_METHOD_CTX_IS_APPROX_COMMUTATIVE_RING: gr_method = 15;
34pub const gr_method_GR_METHOD_CTX_IS_MULTIPLICATIVE_GROUP: gr_method = 16;
35pub const gr_method_GR_METHOD_CTX_IS_EXACT: gr_method = 17;
36pub const gr_method_GR_METHOD_CTX_IS_CANONICAL: gr_method = 18;
37pub const gr_method_GR_METHOD_CTX_IS_THREADSAFE: gr_method = 19;
38pub const gr_method_GR_METHOD_CTX_HAS_REAL_PREC: gr_method = 20;
39pub const gr_method_GR_METHOD_CTX_SET_REAL_PREC: gr_method = 21;
40pub const gr_method_GR_METHOD_CTX_GET_REAL_PREC: gr_method = 22;
41pub const gr_method_GR_METHOD_CTX_SET_IS_FIELD: gr_method = 23;
42pub const gr_method_GR_METHOD_CTX_SET_GEN_NAME: gr_method = 24;
43pub const gr_method_GR_METHOD_CTX_SET_GEN_NAMES: gr_method = 25;
44pub const gr_method_GR_METHOD_CTX_NGENS: gr_method = 26;
45pub const gr_method_GR_METHOD_CTX_GEN_NAME: gr_method = 27;
46pub const gr_method_GR_METHOD_CTX_BASE: gr_method = 28;
47pub const gr_method_GR_METHOD_INIT: gr_method = 29;
48pub const gr_method_GR_METHOD_CLEAR: gr_method = 30;
49pub const gr_method_GR_METHOD_SWAP: gr_method = 31;
50pub const gr_method_GR_METHOD_SET_SHALLOW: gr_method = 32;
51pub const gr_method_GR_METHOD_WRITE: gr_method = 33;
52pub const gr_method_GR_METHOD_WRITE_N: gr_method = 34;
53pub const gr_method__GR_METHOD_LENGTH: gr_method = 35;
54pub const gr_method_GR_METHOD_RANDTEST: gr_method = 36;
55pub const gr_method_GR_METHOD_RANDTEST_NOT_ZERO: gr_method = 37;
56pub const gr_method_GR_METHOD_RANDTEST_INVERTIBLE: gr_method = 38;
57pub const gr_method_GR_METHOD_RANDTEST_SMALL: gr_method = 39;
58pub const gr_method_GR_METHOD_ZERO: gr_method = 40;
59pub const gr_method_GR_METHOD_ONE: gr_method = 41;
60pub const gr_method_GR_METHOD_NEG_ONE: gr_method = 42;
61pub const gr_method_GR_METHOD_IS_ZERO: gr_method = 43;
62pub const gr_method_GR_METHOD_IS_ONE: gr_method = 44;
63pub const gr_method_GR_METHOD_IS_NEG_ONE: gr_method = 45;
64pub const gr_method_GR_METHOD_EQUAL: gr_method = 46;
65pub const gr_method_GR_METHOD_SET: gr_method = 47;
66pub const gr_method_GR_METHOD_SET_UI: gr_method = 48;
67pub const gr_method_GR_METHOD_SET_SI: gr_method = 49;
68pub const gr_method_GR_METHOD_SET_FMPZ: gr_method = 50;
69pub const gr_method_GR_METHOD_SET_FMPQ: gr_method = 51;
70pub const gr_method_GR_METHOD_SET_D: gr_method = 52;
71pub const gr_method_GR_METHOD_SET_OTHER: gr_method = 53;
72pub const gr_method_GR_METHOD_SET_STR: gr_method = 54;
73pub const gr_method_GR_METHOD_GET_SI: gr_method = 55;
74pub const gr_method_GR_METHOD_GET_UI: gr_method = 56;
75pub const gr_method_GR_METHOD_GET_FMPZ: gr_method = 57;
76pub const gr_method_GR_METHOD_GET_FMPQ: gr_method = 58;
77pub const gr_method_GR_METHOD_GET_D: gr_method = 59;
78pub const gr_method_GR_METHOD_GET_FEXPR: gr_method = 60;
79pub const gr_method_GR_METHOD_GET_FEXPR_SERIALIZE: gr_method = 61;
80pub const gr_method_GR_METHOD_SET_FEXPR: gr_method = 62;
81pub const gr_method_GR_METHOD_NEG: gr_method = 63;
82pub const gr_method_GR_METHOD_ADD: gr_method = 64;
83pub const gr_method_GR_METHOD_ADD_UI: gr_method = 65;
84pub const gr_method_GR_METHOD_ADD_SI: gr_method = 66;
85pub const gr_method_GR_METHOD_ADD_FMPZ: gr_method = 67;
86pub const gr_method_GR_METHOD_ADD_FMPQ: gr_method = 68;
87pub const gr_method_GR_METHOD_ADD_OTHER: gr_method = 69;
88pub const gr_method_GR_METHOD_OTHER_ADD: gr_method = 70;
89pub const gr_method_GR_METHOD_SUB: gr_method = 71;
90pub const gr_method_GR_METHOD_SUB_UI: gr_method = 72;
91pub const gr_method_GR_METHOD_SUB_SI: gr_method = 73;
92pub const gr_method_GR_METHOD_SUB_FMPZ: gr_method = 74;
93pub const gr_method_GR_METHOD_SUB_FMPQ: gr_method = 75;
94pub const gr_method_GR_METHOD_SUB_OTHER: gr_method = 76;
95pub const gr_method_GR_METHOD_OTHER_SUB: gr_method = 77;
96pub const gr_method_GR_METHOD_MUL: gr_method = 78;
97pub const gr_method_GR_METHOD_MUL_UI: gr_method = 79;
98pub const gr_method_GR_METHOD_MUL_SI: gr_method = 80;
99pub const gr_method_GR_METHOD_MUL_FMPZ: gr_method = 81;
100pub const gr_method_GR_METHOD_MUL_FMPQ: gr_method = 82;
101pub const gr_method_GR_METHOD_MUL_OTHER: gr_method = 83;
102pub const gr_method_GR_METHOD_OTHER_MUL: gr_method = 84;
103pub const gr_method_GR_METHOD_ADDMUL: gr_method = 85;
104pub const gr_method_GR_METHOD_ADDMUL_UI: gr_method = 86;
105pub const gr_method_GR_METHOD_ADDMUL_SI: gr_method = 87;
106pub const gr_method_GR_METHOD_ADDMUL_FMPZ: gr_method = 88;
107pub const gr_method_GR_METHOD_ADDMUL_FMPQ: gr_method = 89;
108pub const gr_method_GR_METHOD_ADDMUL_OTHER: gr_method = 90;
109pub const gr_method_GR_METHOD_SUBMUL: gr_method = 91;
110pub const gr_method_GR_METHOD_SUBMUL_UI: gr_method = 92;
111pub const gr_method_GR_METHOD_SUBMUL_SI: gr_method = 93;
112pub const gr_method_GR_METHOD_SUBMUL_FMPZ: gr_method = 94;
113pub const gr_method_GR_METHOD_SUBMUL_FMPQ: gr_method = 95;
114pub const gr_method_GR_METHOD_SUBMUL_OTHER: gr_method = 96;
115pub const gr_method_GR_METHOD_FMA: gr_method = 97;
116pub const gr_method_GR_METHOD_FMS: gr_method = 98;
117pub const gr_method_GR_METHOD_FMMA: gr_method = 99;
118pub const gr_method_GR_METHOD_FMMS: gr_method = 100;
119pub const gr_method_GR_METHOD_MUL_TWO: gr_method = 101;
120pub const gr_method_GR_METHOD_SQR: gr_method = 102;
121pub const gr_method_GR_METHOD_MUL_2EXP_SI: gr_method = 103;
122pub const gr_method_GR_METHOD_MUL_2EXP_FMPZ: gr_method = 104;
123pub const gr_method_GR_METHOD_SET_FMPZ_2EXP_FMPZ: gr_method = 105;
124pub const gr_method_GR_METHOD_GET_FMPZ_2EXP_FMPZ: gr_method = 106;
125pub const gr_method_GR_METHOD_SET_FMPZ_10EXP_FMPZ: gr_method = 107;
126pub const gr_method_GR_METHOD_GET_D_2EXP_SI: gr_method = 108;
127pub const gr_method_GR_METHOD_IS_INVERTIBLE: gr_method = 109;
128pub const gr_method_GR_METHOD_INV: gr_method = 110;
129pub const gr_method_GR_METHOD_DIV: gr_method = 111;
130pub const gr_method_GR_METHOD_DIV_UI: gr_method = 112;
131pub const gr_method_GR_METHOD_DIV_SI: gr_method = 113;
132pub const gr_method_GR_METHOD_DIV_FMPZ: gr_method = 114;
133pub const gr_method_GR_METHOD_DIV_FMPQ: gr_method = 115;
134pub const gr_method_GR_METHOD_DIV_OTHER: gr_method = 116;
135pub const gr_method_GR_METHOD_OTHER_DIV: gr_method = 117;
136pub const gr_method_GR_METHOD_DIV_NONUNIQUE: gr_method = 118;
137pub const gr_method_GR_METHOD_DIVIDES: gr_method = 119;
138pub const gr_method_GR_METHOD_DIVEXACT: gr_method = 120;
139pub const gr_method_GR_METHOD_DIVEXACT_UI: gr_method = 121;
140pub const gr_method_GR_METHOD_DIVEXACT_SI: gr_method = 122;
141pub const gr_method_GR_METHOD_DIVEXACT_FMPZ: gr_method = 123;
142pub const gr_method_GR_METHOD_DIVEXACT_FMPQ: gr_method = 124;
143pub const gr_method_GR_METHOD_DIVEXACT_OTHER: gr_method = 125;
144pub const gr_method_GR_METHOD_OTHER_DIVEXACT: gr_method = 126;
145pub const gr_method_GR_METHOD_POW: gr_method = 127;
146pub const gr_method_GR_METHOD_POW_UI: gr_method = 128;
147pub const gr_method_GR_METHOD_POW_SI: gr_method = 129;
148pub const gr_method_GR_METHOD_POW_FMPZ: gr_method = 130;
149pub const gr_method_GR_METHOD_POW_FMPQ: gr_method = 131;
150pub const gr_method_GR_METHOD_POW_OTHER: gr_method = 132;
151pub const gr_method_GR_METHOD_OTHER_POW: gr_method = 133;
152pub const gr_method_GR_METHOD_DERIVATIVE_GEN: gr_method = 134;
153pub const gr_method_GR_METHOD_IS_SQUARE: gr_method = 135;
154pub const gr_method_GR_METHOD_SQRT: gr_method = 136;
155pub const gr_method_GR_METHOD_RSQRT: gr_method = 137;
156pub const gr_method_GR_METHOD_HYPOT: gr_method = 138;
157pub const gr_method_GR_METHOD_IS_PERFECT_POWER: gr_method = 139;
158pub const gr_method_GR_METHOD_FACTOR_PERFECT_POWER: gr_method = 140;
159pub const gr_method_GR_METHOD_ROOT_UI: gr_method = 141;
160pub const gr_method_GR_METHOD_EUCLIDEAN_DIV: gr_method = 142;
161pub const gr_method_GR_METHOD_EUCLIDEAN_REM: gr_method = 143;
162pub const gr_method_GR_METHOD_EUCLIDEAN_DIVREM: gr_method = 144;
163pub const gr_method_GR_METHOD_GCD: gr_method = 145;
164pub const gr_method_GR_METHOD_LCM: gr_method = 146;
165pub const gr_method_GR_METHOD_FACTOR: gr_method = 147;
166pub const gr_method_GR_METHOD_NUMERATOR: gr_method = 148;
167pub const gr_method_GR_METHOD_DENOMINATOR: gr_method = 149;
168pub const gr_method_GR_METHOD_FLOOR: gr_method = 150;
169pub const gr_method_GR_METHOD_CEIL: gr_method = 151;
170pub const gr_method_GR_METHOD_TRUNC: gr_method = 152;
171pub const gr_method_GR_METHOD_NINT: gr_method = 153;
172pub const gr_method_GR_METHOD_CMP: gr_method = 154;
173pub const gr_method_GR_METHOD_CMPABS: gr_method = 155;
174pub const gr_method_GR_METHOD_CMP_OTHER: gr_method = 156;
175pub const gr_method_GR_METHOD_CMPABS_OTHER: gr_method = 157;
176pub const gr_method_GR_METHOD_MIN: gr_method = 158;
177pub const gr_method_GR_METHOD_MAX: gr_method = 159;
178pub const gr_method_GR_METHOD_ABS: gr_method = 160;
179pub const gr_method_GR_METHOD_ABS2: gr_method = 161;
180pub const gr_method_GR_METHOD_I: gr_method = 162;
181pub const gr_method_GR_METHOD_CONJ: gr_method = 163;
182pub const gr_method_GR_METHOD_RE: gr_method = 164;
183pub const gr_method_GR_METHOD_IM: gr_method = 165;
184pub const gr_method_GR_METHOD_SGN: gr_method = 166;
185pub const gr_method_GR_METHOD_CSGN: gr_method = 167;
186pub const gr_method_GR_METHOD_ARG: gr_method = 168;
187pub const gr_method_GR_METHOD_CANONICAL_ASSOCIATE: gr_method = 169;
188pub const gr_method_GR_METHOD_POS_INF: gr_method = 170;
189pub const gr_method_GR_METHOD_NEG_INF: gr_method = 171;
190pub const gr_method_GR_METHOD_UINF: gr_method = 172;
191pub const gr_method_GR_METHOD_UNDEFINED: gr_method = 173;
192pub const gr_method_GR_METHOD_UNKNOWN: gr_method = 174;
193pub const gr_method_GR_METHOD_IS_INTEGER: gr_method = 175;
194pub const gr_method_GR_METHOD_IS_RATIONAL: gr_method = 176;
195pub const gr_method_GR_METHOD_IS_REAL: gr_method = 177;
196pub const gr_method_GR_METHOD_IS_POSITIVE_INTEGER: gr_method = 178;
197pub const gr_method_GR_METHOD_IS_NONNEGATIVE_INTEGER: gr_method = 179;
198pub const gr_method_GR_METHOD_IS_NEGATIVE_INTEGER: gr_method = 180;
199pub const gr_method_GR_METHOD_IS_NONPOSITIVE_INTEGER: gr_method = 181;
200pub const gr_method_GR_METHOD_IS_POSITIVE_REAL: gr_method = 182;
201pub const gr_method_GR_METHOD_IS_NONNEGATIVE_REAL: gr_method = 183;
202pub const gr_method_GR_METHOD_IS_NEGATIVE_REAL: gr_method = 184;
203pub const gr_method_GR_METHOD_IS_NONPOSITIVE_REAL: gr_method = 185;
204pub const gr_method_GR_METHOD_SET_INTERVAL_MID_RAD: gr_method = 186;
205pub const gr_method_GR_METHOD_IS_ROOT_OF_UNITY: gr_method = 187;
206pub const gr_method_GR_METHOD_ROOT_OF_UNITY_UI: gr_method = 188;
207pub const gr_method_GR_METHOD_ROOT_OF_UNITY_UI_VEC: gr_method = 189;
208pub const gr_method_GR_METHOD_PI: gr_method = 190;
209pub const gr_method_GR_METHOD_EXP: gr_method = 191;
210pub const gr_method_GR_METHOD_EXPM1: gr_method = 192;
211pub const gr_method_GR_METHOD_EXP_PI_I: gr_method = 193;
212pub const gr_method_GR_METHOD_EXP2: gr_method = 194;
213pub const gr_method_GR_METHOD_EXP10: gr_method = 195;
214pub const gr_method_GR_METHOD_LOG: gr_method = 196;
215pub const gr_method_GR_METHOD_LOG1P: gr_method = 197;
216pub const gr_method_GR_METHOD_LOG_PI_I: gr_method = 198;
217pub const gr_method_GR_METHOD_LOG2: gr_method = 199;
218pub const gr_method_GR_METHOD_LOG10: gr_method = 200;
219pub const gr_method_GR_METHOD_SIN: gr_method = 201;
220pub const gr_method_GR_METHOD_COS: gr_method = 202;
221pub const gr_method_GR_METHOD_SIN_COS: gr_method = 203;
222pub const gr_method_GR_METHOD_TAN: gr_method = 204;
223pub const gr_method_GR_METHOD_COT: gr_method = 205;
224pub const gr_method_GR_METHOD_SEC: gr_method = 206;
225pub const gr_method_GR_METHOD_CSC: gr_method = 207;
226pub const gr_method_GR_METHOD_SIN_PI: gr_method = 208;
227pub const gr_method_GR_METHOD_COS_PI: gr_method = 209;
228pub const gr_method_GR_METHOD_SIN_COS_PI: gr_method = 210;
229pub const gr_method_GR_METHOD_TAN_PI: gr_method = 211;
230pub const gr_method_GR_METHOD_COT_PI: gr_method = 212;
231pub const gr_method_GR_METHOD_SEC_PI: gr_method = 213;
232pub const gr_method_GR_METHOD_CSC_PI: gr_method = 214;
233pub const gr_method_GR_METHOD_SINC: gr_method = 215;
234pub const gr_method_GR_METHOD_SINC_PI: gr_method = 216;
235pub const gr_method_GR_METHOD_SINH: gr_method = 217;
236pub const gr_method_GR_METHOD_COSH: gr_method = 218;
237pub const gr_method_GR_METHOD_SINH_COSH: gr_method = 219;
238pub const gr_method_GR_METHOD_TANH: gr_method = 220;
239pub const gr_method_GR_METHOD_COTH: gr_method = 221;
240pub const gr_method_GR_METHOD_SECH: gr_method = 222;
241pub const gr_method_GR_METHOD_CSCH: gr_method = 223;
242pub const gr_method_GR_METHOD_ASIN: gr_method = 224;
243pub const gr_method_GR_METHOD_ACOS: gr_method = 225;
244pub const gr_method_GR_METHOD_ATAN: gr_method = 226;
245pub const gr_method_GR_METHOD_ATAN2: gr_method = 227;
246pub const gr_method_GR_METHOD_ACOT: gr_method = 228;
247pub const gr_method_GR_METHOD_ASEC: gr_method = 229;
248pub const gr_method_GR_METHOD_ACSC: gr_method = 230;
249pub const gr_method_GR_METHOD_ASINH: gr_method = 231;
250pub const gr_method_GR_METHOD_ACOSH: gr_method = 232;
251pub const gr_method_GR_METHOD_ATANH: gr_method = 233;
252pub const gr_method_GR_METHOD_ACOTH: gr_method = 234;
253pub const gr_method_GR_METHOD_ASECH: gr_method = 235;
254pub const gr_method_GR_METHOD_ACSCH: gr_method = 236;
255pub const gr_method_GR_METHOD_ASIN_PI: gr_method = 237;
256pub const gr_method_GR_METHOD_ACOS_PI: gr_method = 238;
257pub const gr_method_GR_METHOD_ATAN_PI: gr_method = 239;
258pub const gr_method_GR_METHOD_ACOT_PI: gr_method = 240;
259pub const gr_method_GR_METHOD_ASEC_PI: gr_method = 241;
260pub const gr_method_GR_METHOD_ACSC_PI: gr_method = 242;
261pub const gr_method_GR_METHOD_FAC: gr_method = 243;
262pub const gr_method_GR_METHOD_FAC_UI: gr_method = 244;
263pub const gr_method_GR_METHOD_FAC_FMPZ: gr_method = 245;
264pub const gr_method_GR_METHOD_FAC_VEC: gr_method = 246;
265pub const gr_method_GR_METHOD_RFAC: gr_method = 247;
266pub const gr_method_GR_METHOD_RFAC_UI: gr_method = 248;
267pub const gr_method_GR_METHOD_RFAC_FMPZ: gr_method = 249;
268pub const gr_method_GR_METHOD_RFAC_VEC: gr_method = 250;
269pub const gr_method_GR_METHOD_BIN: gr_method = 251;
270pub const gr_method_GR_METHOD_BIN_UI: gr_method = 252;
271pub const gr_method_GR_METHOD_BIN_UIUI: gr_method = 253;
272pub const gr_method_GR_METHOD_BIN_VEC: gr_method = 254;
273pub const gr_method_GR_METHOD_BIN_UI_VEC: gr_method = 255;
274pub const gr_method_GR_METHOD_RISING_UI: gr_method = 256;
275pub const gr_method_GR_METHOD_RISING: gr_method = 257;
276pub const gr_method_GR_METHOD_FALLING_UI: gr_method = 258;
277pub const gr_method_GR_METHOD_FALLING: gr_method = 259;
278pub const gr_method_GR_METHOD_GAMMA: gr_method = 260;
279pub const gr_method_GR_METHOD_GAMMA_FMPZ: gr_method = 261;
280pub const gr_method_GR_METHOD_GAMMA_FMPQ: gr_method = 262;
281pub const gr_method_GR_METHOD_RGAMMA: gr_method = 263;
282pub const gr_method_GR_METHOD_LGAMMA: gr_method = 264;
283pub const gr_method_GR_METHOD_DIGAMMA: gr_method = 265;
284pub const gr_method_GR_METHOD_BETA: gr_method = 266;
285pub const gr_method_GR_METHOD_DOUBLEFAC: gr_method = 267;
286pub const gr_method_GR_METHOD_DOUBLEFAC_UI: gr_method = 268;
287pub const gr_method_GR_METHOD_BARNES_G: gr_method = 269;
288pub const gr_method_GR_METHOD_LOG_BARNES_G: gr_method = 270;
289pub const gr_method_GR_METHOD_HARMONIC: gr_method = 271;
290pub const gr_method_GR_METHOD_HARMONIC_UI: gr_method = 272;
291pub const gr_method_GR_METHOD_BERNOULLI_UI: gr_method = 273;
292pub const gr_method_GR_METHOD_BERNOULLI_FMPZ: gr_method = 274;
293pub const gr_method_GR_METHOD_BERNOULLI_VEC: gr_method = 275;
294pub const gr_method_GR_METHOD_FIB_UI: gr_method = 276;
295pub const gr_method_GR_METHOD_FIB_FMPZ: gr_method = 277;
296pub const gr_method_GR_METHOD_FIB_VEC: gr_method = 278;
297pub const gr_method_GR_METHOD_STIRLING_S1U_UIUI: gr_method = 279;
298pub const gr_method_GR_METHOD_STIRLING_S1_UIUI: gr_method = 280;
299pub const gr_method_GR_METHOD_STIRLING_S2_UIUI: gr_method = 281;
300pub const gr_method_GR_METHOD_STIRLING_S1U_UI_VEC: gr_method = 282;
301pub const gr_method_GR_METHOD_STIRLING_S1_UI_VEC: gr_method = 283;
302pub const gr_method_GR_METHOD_STIRLING_S2_UI_VEC: gr_method = 284;
303pub const gr_method_GR_METHOD_EULERNUM_UI: gr_method = 285;
304pub const gr_method_GR_METHOD_EULERNUM_FMPZ: gr_method = 286;
305pub const gr_method_GR_METHOD_EULERNUM_VEC: gr_method = 287;
306pub const gr_method_GR_METHOD_BELLNUM_UI: gr_method = 288;
307pub const gr_method_GR_METHOD_BELLNUM_FMPZ: gr_method = 289;
308pub const gr_method_GR_METHOD_BELLNUM_VEC: gr_method = 290;
309pub const gr_method_GR_METHOD_PARTITIONS_UI: gr_method = 291;
310pub const gr_method_GR_METHOD_PARTITIONS_FMPZ: gr_method = 292;
311pub const gr_method_GR_METHOD_PARTITIONS_VEC: gr_method = 293;
312pub const gr_method_GR_METHOD_CHEBYSHEV_T_FMPZ: gr_method = 294;
313pub const gr_method_GR_METHOD_CHEBYSHEV_U_FMPZ: gr_method = 295;
314pub const gr_method_GR_METHOD_CHEBYSHEV_T: gr_method = 296;
315pub const gr_method_GR_METHOD_CHEBYSHEV_U: gr_method = 297;
316pub const gr_method_GR_METHOD_JACOBI_P: gr_method = 298;
317pub const gr_method_GR_METHOD_GEGENBAUER_C: gr_method = 299;
318pub const gr_method_GR_METHOD_LAGUERRE_L: gr_method = 300;
319pub const gr_method_GR_METHOD_HERMITE_H: gr_method = 301;
320pub const gr_method_GR_METHOD_LEGENDRE_P: gr_method = 302;
321pub const gr_method_GR_METHOD_LEGENDRE_Q: gr_method = 303;
322pub const gr_method_GR_METHOD_LEGENDRE_P_ROOT_UI: gr_method = 304;
323pub const gr_method_GR_METHOD_SPHERICAL_Y_SI: gr_method = 305;
324pub const gr_method_GR_METHOD_EULER: gr_method = 306;
325pub const gr_method_GR_METHOD_CATALAN: gr_method = 307;
326pub const gr_method_GR_METHOD_KHINCHIN: gr_method = 308;
327pub const gr_method_GR_METHOD_GLAISHER: gr_method = 309;
328pub const gr_method_GR_METHOD_LAMBERTW: gr_method = 310;
329pub const gr_method_GR_METHOD_LAMBERTW_FMPZ: gr_method = 311;
330pub const gr_method_GR_METHOD_ERF: gr_method = 312;
331pub const gr_method_GR_METHOD_ERFC: gr_method = 313;
332pub const gr_method_GR_METHOD_ERFCX: gr_method = 314;
333pub const gr_method_GR_METHOD_ERFI: gr_method = 315;
334pub const gr_method_GR_METHOD_ERFINV: gr_method = 316;
335pub const gr_method_GR_METHOD_ERFCINV: gr_method = 317;
336pub const gr_method_GR_METHOD_FRESNEL_S: gr_method = 318;
337pub const gr_method_GR_METHOD_FRESNEL_C: gr_method = 319;
338pub const gr_method_GR_METHOD_FRESNEL: gr_method = 320;
339pub const gr_method_GR_METHOD_GAMMA_UPPER: gr_method = 321;
340pub const gr_method_GR_METHOD_GAMMA_LOWER: gr_method = 322;
341pub const gr_method_GR_METHOD_BETA_LOWER: gr_method = 323;
342pub const gr_method_GR_METHOD_EXP_INTEGRAL: gr_method = 324;
343pub const gr_method_GR_METHOD_EXP_INTEGRAL_EI: gr_method = 325;
344pub const gr_method_GR_METHOD_SIN_INTEGRAL: gr_method = 326;
345pub const gr_method_GR_METHOD_COS_INTEGRAL: gr_method = 327;
346pub const gr_method_GR_METHOD_SINH_INTEGRAL: gr_method = 328;
347pub const gr_method_GR_METHOD_COSH_INTEGRAL: gr_method = 329;
348pub const gr_method_GR_METHOD_LOG_INTEGRAL: gr_method = 330;
349pub const gr_method_GR_METHOD_DILOG: gr_method = 331;
350pub const gr_method_GR_METHOD_BESSEL_J: gr_method = 332;
351pub const gr_method_GR_METHOD_BESSEL_Y: gr_method = 333;
352pub const gr_method_GR_METHOD_BESSEL_J_Y: gr_method = 334;
353pub const gr_method_GR_METHOD_BESSEL_I: gr_method = 335;
354pub const gr_method_GR_METHOD_BESSEL_I_SCALED: gr_method = 336;
355pub const gr_method_GR_METHOD_BESSEL_K: gr_method = 337;
356pub const gr_method_GR_METHOD_BESSEL_K_SCALED: gr_method = 338;
357pub const gr_method_GR_METHOD_AIRY: gr_method = 339;
358pub const gr_method_GR_METHOD_AIRY_AI: gr_method = 340;
359pub const gr_method_GR_METHOD_AIRY_BI: gr_method = 341;
360pub const gr_method_GR_METHOD_AIRY_AI_PRIME: gr_method = 342;
361pub const gr_method_GR_METHOD_AIRY_BI_PRIME: gr_method = 343;
362pub const gr_method_GR_METHOD_AIRY_AI_ZERO: gr_method = 344;
363pub const gr_method_GR_METHOD_AIRY_BI_ZERO: gr_method = 345;
364pub const gr_method_GR_METHOD_AIRY_AI_PRIME_ZERO: gr_method = 346;
365pub const gr_method_GR_METHOD_AIRY_BI_PRIME_ZERO: gr_method = 347;
366pub const gr_method_GR_METHOD_COULOMB: gr_method = 348;
367pub const gr_method_GR_METHOD_COULOMB_F: gr_method = 349;
368pub const gr_method_GR_METHOD_COULOMB_G: gr_method = 350;
369pub const gr_method_GR_METHOD_COULOMB_HPOS: gr_method = 351;
370pub const gr_method_GR_METHOD_COULOMB_HNEG: gr_method = 352;
371pub const gr_method_GR_METHOD_ZETA: gr_method = 353;
372pub const gr_method_GR_METHOD_ZETA_UI: gr_method = 354;
373pub const gr_method_GR_METHOD_HURWITZ_ZETA: gr_method = 355;
374pub const gr_method_GR_METHOD_LERCH_PHI: gr_method = 356;
375pub const gr_method_GR_METHOD_STIELTJES: gr_method = 357;
376pub const gr_method_GR_METHOD_DIRICHLET_ETA: gr_method = 358;
377pub const gr_method_GR_METHOD_DIRICHLET_BETA: gr_method = 359;
378pub const gr_method_GR_METHOD_RIEMANN_XI: gr_method = 360;
379pub const gr_method_GR_METHOD_ZETA_ZERO: gr_method = 361;
380pub const gr_method_GR_METHOD_ZETA_ZERO_VEC: gr_method = 362;
381pub const gr_method_GR_METHOD_ZETA_NZEROS: gr_method = 363;
382pub const gr_method_GR_METHOD_DIRICHLET_CHI_UI: gr_method = 364;
383pub const gr_method_GR_METHOD_DIRICHLET_CHI_FMPZ: gr_method = 365;
384pub const gr_method_GR_METHOD_DIRICHLET_L: gr_method = 366;
385pub const gr_method_GR_METHOD_DIRICHLET_HARDY_THETA: gr_method = 367;
386pub const gr_method_GR_METHOD_DIRICHLET_HARDY_Z: gr_method = 368;
387pub const gr_method_GR_METHOD_BERNPOLY_UI: gr_method = 369;
388pub const gr_method_GR_METHOD_EULERPOLY_UI: gr_method = 370;
389pub const gr_method_GR_METHOD_POLYLOG: gr_method = 371;
390pub const gr_method_GR_METHOD_POLYGAMMA: gr_method = 372;
391pub const gr_method_GR_METHOD_HYPGEOM_0F1: gr_method = 373;
392pub const gr_method_GR_METHOD_HYPGEOM_1F1: gr_method = 374;
393pub const gr_method_GR_METHOD_HYPGEOM_2F0: gr_method = 375;
394pub const gr_method_GR_METHOD_HYPGEOM_2F1: gr_method = 376;
395pub const gr_method_GR_METHOD_HYPGEOM_U: gr_method = 377;
396pub const gr_method_GR_METHOD_HYPGEOM_PFQ: gr_method = 378;
397pub const gr_method_GR_METHOD_JACOBI_THETA: gr_method = 379;
398pub const gr_method_GR_METHOD_JACOBI_THETA_1: gr_method = 380;
399pub const gr_method_GR_METHOD_JACOBI_THETA_2: gr_method = 381;
400pub const gr_method_GR_METHOD_JACOBI_THETA_3: gr_method = 382;
401pub const gr_method_GR_METHOD_JACOBI_THETA_4: gr_method = 383;
402pub const gr_method_GR_METHOD_JACOBI_THETA_Q: gr_method = 384;
403pub const gr_method_GR_METHOD_JACOBI_THETA_Q_1: gr_method = 385;
404pub const gr_method_GR_METHOD_JACOBI_THETA_Q_2: gr_method = 386;
405pub const gr_method_GR_METHOD_JACOBI_THETA_Q_3: gr_method = 387;
406pub const gr_method_GR_METHOD_JACOBI_THETA_Q_4: gr_method = 388;
407pub const gr_method_GR_METHOD_MODULAR_J: gr_method = 389;
408pub const gr_method_GR_METHOD_MODULAR_LAMBDA: gr_method = 390;
409pub const gr_method_GR_METHOD_MODULAR_DELTA: gr_method = 391;
410pub const gr_method_GR_METHOD_HILBERT_CLASS_POLY: gr_method = 392;
411pub const gr_method_GR_METHOD_DEDEKIND_ETA: gr_method = 393;
412pub const gr_method_GR_METHOD_DEDEKIND_ETA_Q: gr_method = 394;
413pub const gr_method_GR_METHOD_EISENSTEIN_E: gr_method = 395;
414pub const gr_method_GR_METHOD_EISENSTEIN_G: gr_method = 396;
415pub const gr_method_GR_METHOD_EISENSTEIN_G_VEC: gr_method = 397;
416pub const gr_method_GR_METHOD_AGM: gr_method = 398;
417pub const gr_method_GR_METHOD_AGM1: gr_method = 399;
418pub const gr_method_GR_METHOD_ELLIPTIC_K: gr_method = 400;
419pub const gr_method_GR_METHOD_ELLIPTIC_E: gr_method = 401;
420pub const gr_method_GR_METHOD_ELLIPTIC_PI: gr_method = 402;
421pub const gr_method_GR_METHOD_ELLIPTIC_F: gr_method = 403;
422pub const gr_method_GR_METHOD_ELLIPTIC_E_INC: gr_method = 404;
423pub const gr_method_GR_METHOD_ELLIPTIC_PI_INC: gr_method = 405;
424pub const gr_method_GR_METHOD_CARLSON_RF: gr_method = 406;
425pub const gr_method_GR_METHOD_CARLSON_RC: gr_method = 407;
426pub const gr_method_GR_METHOD_CARLSON_RJ: gr_method = 408;
427pub const gr_method_GR_METHOD_CARLSON_RG: gr_method = 409;
428pub const gr_method_GR_METHOD_CARLSON_RD: gr_method = 410;
429pub const gr_method_GR_METHOD_ELLIPTIC_ROOTS: gr_method = 411;
430pub const gr_method_GR_METHOD_ELLIPTIC_INVARIANTS: gr_method = 412;
431pub const gr_method_GR_METHOD_WEIERSTRASS_P: gr_method = 413;
432pub const gr_method_GR_METHOD_WEIERSTRASS_P_PRIME: gr_method = 414;
433pub const gr_method_GR_METHOD_WEIERSTRASS_P_INV: gr_method = 415;
434pub const gr_method_GR_METHOD_WEIERSTRASS_ZETA: gr_method = 416;
435pub const gr_method_GR_METHOD_WEIERSTRASS_SIGMA: gr_method = 417;
436pub const gr_method_GR_METHOD_GEN: gr_method = 418;
437pub const gr_method_GR_METHOD_GENS: gr_method = 419;
438pub const gr_method_GR_METHOD_GENS_RECURSIVE: gr_method = 420;
439pub const gr_method_GR_METHOD_CTX_FQ_PRIME: gr_method = 421;
440pub const gr_method_GR_METHOD_CTX_FQ_DEGREE: gr_method = 422;
441pub const gr_method_GR_METHOD_CTX_FQ_ORDER: gr_method = 423;
442pub const gr_method_GR_METHOD_FQ_FROBENIUS: gr_method = 424;
443pub const gr_method_GR_METHOD_FQ_MULTIPLICATIVE_ORDER: gr_method = 425;
444pub const gr_method_GR_METHOD_FQ_NORM: gr_method = 426;
445pub const gr_method_GR_METHOD_FQ_TRACE: gr_method = 427;
446pub const gr_method_GR_METHOD_FQ_IS_PRIMITIVE: gr_method = 428;
447pub const gr_method_GR_METHOD_FQ_PTH_ROOT: gr_method = 429;
448pub const gr_method_GR_METHOD_VEC_INIT: gr_method = 430;
449pub const gr_method_GR_METHOD_VEC_CLEAR: gr_method = 431;
450pub const gr_method_GR_METHOD_VEC_SWAP: gr_method = 432;
451pub const gr_method_GR_METHOD_VEC_SET: gr_method = 433;
452pub const gr_method_GR_METHOD_VEC_ZERO: gr_method = 434;
453pub const gr_method_GR_METHOD_VEC_EQUAL: gr_method = 435;
454pub const gr_method_GR_METHOD_VEC_IS_ZERO: gr_method = 436;
455pub const gr_method_GR_METHOD_VEC_NEG: gr_method = 437;
456pub const gr_method_GR_METHOD_VEC_NORMALISE: gr_method = 438;
457pub const gr_method_GR_METHOD_VEC_NORMALISE_WEAK: gr_method = 439;
458pub const gr_method_GR_METHOD_VEC_ADD: gr_method = 440;
459pub const gr_method_GR_METHOD_VEC_SUB: gr_method = 441;
460pub const gr_method_GR_METHOD_VEC_MUL: gr_method = 442;
461pub const gr_method_GR_METHOD_VEC_DIV: gr_method = 443;
462pub const gr_method_GR_METHOD_VEC_DIVEXACT: gr_method = 444;
463pub const gr_method_GR_METHOD_VEC_POW: gr_method = 445;
464pub const gr_method_GR_METHOD_VEC_ADD_SCALAR: gr_method = 446;
465pub const gr_method_GR_METHOD_VEC_SUB_SCALAR: gr_method = 447;
466pub const gr_method_GR_METHOD_VEC_MUL_SCALAR: gr_method = 448;
467pub const gr_method_GR_METHOD_VEC_DIV_SCALAR: gr_method = 449;
468pub const gr_method_GR_METHOD_VEC_DIVEXACT_SCALAR: gr_method = 450;
469pub const gr_method_GR_METHOD_VEC_POW_SCALAR: gr_method = 451;
470pub const gr_method_GR_METHOD_SCALAR_ADD_VEC: gr_method = 452;
471pub const gr_method_GR_METHOD_SCALAR_SUB_VEC: gr_method = 453;
472pub const gr_method_GR_METHOD_SCALAR_MUL_VEC: gr_method = 454;
473pub const gr_method_GR_METHOD_SCALAR_DIV_VEC: gr_method = 455;
474pub const gr_method_GR_METHOD_SCALAR_DIVEXACT_VEC: gr_method = 456;
475pub const gr_method_GR_METHOD_SCALAR_POW_VEC: gr_method = 457;
476pub const gr_method_GR_METHOD_VEC_ADD_OTHER: gr_method = 458;
477pub const gr_method_GR_METHOD_VEC_SUB_OTHER: gr_method = 459;
478pub const gr_method_GR_METHOD_VEC_MUL_OTHER: gr_method = 460;
479pub const gr_method_GR_METHOD_VEC_DIV_OTHER: gr_method = 461;
480pub const gr_method_GR_METHOD_VEC_DIVEXACT_OTHER: gr_method = 462;
481pub const gr_method_GR_METHOD_VEC_POW_OTHER: gr_method = 463;
482pub const gr_method_GR_METHOD_OTHER_ADD_VEC: gr_method = 464;
483pub const gr_method_GR_METHOD_OTHER_SUB_VEC: gr_method = 465;
484pub const gr_method_GR_METHOD_OTHER_MUL_VEC: gr_method = 466;
485pub const gr_method_GR_METHOD_OTHER_DIV_VEC: gr_method = 467;
486pub const gr_method_GR_METHOD_OTHER_DIVEXACT_VEC: gr_method = 468;
487pub const gr_method_GR_METHOD_OTHER_POW_VEC: gr_method = 469;
488pub const gr_method_GR_METHOD_VEC_ADD_SCALAR_OTHER: gr_method = 470;
489pub const gr_method_GR_METHOD_VEC_SUB_SCALAR_OTHER: gr_method = 471;
490pub const gr_method_GR_METHOD_VEC_MUL_SCALAR_OTHER: gr_method = 472;
491pub const gr_method_GR_METHOD_VEC_DIV_SCALAR_OTHER: gr_method = 473;
492pub const gr_method_GR_METHOD_VEC_DIVEXACT_SCALAR_OTHER: gr_method = 474;
493pub const gr_method_GR_METHOD_VEC_POW_SCALAR_OTHER: gr_method = 475;
494pub const gr_method_GR_METHOD_SCALAR_OTHER_ADD_VEC: gr_method = 476;
495pub const gr_method_GR_METHOD_SCALAR_OTHER_SUB_VEC: gr_method = 477;
496pub const gr_method_GR_METHOD_SCALAR_OTHER_MUL_VEC: gr_method = 478;
497pub const gr_method_GR_METHOD_SCALAR_OTHER_DIV_VEC: gr_method = 479;
498pub const gr_method_GR_METHOD_SCALAR_OTHER_DIVEXACT_VEC: gr_method = 480;
499pub const gr_method_GR_METHOD_SCALAR_OTHER_POW_VEC: gr_method = 481;
500pub const gr_method_GR_METHOD_VEC_ADD_SCALAR_SI: gr_method = 482;
501pub const gr_method_GR_METHOD_VEC_ADD_SCALAR_UI: gr_method = 483;
502pub const gr_method_GR_METHOD_VEC_ADD_SCALAR_FMPZ: gr_method = 484;
503pub const gr_method_GR_METHOD_VEC_ADD_SCALAR_FMPQ: gr_method = 485;
504pub const gr_method_GR_METHOD_VEC_SUB_SCALAR_SI: gr_method = 486;
505pub const gr_method_GR_METHOD_VEC_SUB_SCALAR_UI: gr_method = 487;
506pub const gr_method_GR_METHOD_VEC_SUB_SCALAR_FMPZ: gr_method = 488;
507pub const gr_method_GR_METHOD_VEC_SUB_SCALAR_FMPQ: gr_method = 489;
508pub const gr_method_GR_METHOD_VEC_MUL_SCALAR_SI: gr_method = 490;
509pub const gr_method_GR_METHOD_VEC_MUL_SCALAR_UI: gr_method = 491;
510pub const gr_method_GR_METHOD_VEC_MUL_SCALAR_FMPZ: gr_method = 492;
511pub const gr_method_GR_METHOD_VEC_MUL_SCALAR_FMPQ: gr_method = 493;
512pub const gr_method_GR_METHOD_VEC_DIV_SCALAR_SI: gr_method = 494;
513pub const gr_method_GR_METHOD_VEC_DIV_SCALAR_UI: gr_method = 495;
514pub const gr_method_GR_METHOD_VEC_DIV_SCALAR_FMPZ: gr_method = 496;
515pub const gr_method_GR_METHOD_VEC_DIV_SCALAR_FMPQ: gr_method = 497;
516pub const gr_method_GR_METHOD_VEC_DIVEXACT_SCALAR_SI: gr_method = 498;
517pub const gr_method_GR_METHOD_VEC_DIVEXACT_SCALAR_UI: gr_method = 499;
518pub const gr_method_GR_METHOD_VEC_DIVEXACT_SCALAR_FMPZ: gr_method = 500;
519pub const gr_method_GR_METHOD_VEC_DIVEXACT_SCALAR_FMPQ: gr_method = 501;
520pub const gr_method_GR_METHOD_VEC_POW_SCALAR_SI: gr_method = 502;
521pub const gr_method_GR_METHOD_VEC_POW_SCALAR_UI: gr_method = 503;
522pub const gr_method_GR_METHOD_VEC_POW_SCALAR_FMPZ: gr_method = 504;
523pub const gr_method_GR_METHOD_VEC_POW_SCALAR_FMPQ: gr_method = 505;
524pub const gr_method_GR_METHOD_VEC_MUL_SCALAR_2EXP_SI: gr_method = 506;
525pub const gr_method_GR_METHOD_VEC_MUL_SCALAR_2EXP_FMPZ: gr_method = 507;
526pub const gr_method_GR_METHOD_VEC_ADDMUL_SCALAR: gr_method = 508;
527pub const gr_method_GR_METHOD_VEC_SUBMUL_SCALAR: gr_method = 509;
528pub const gr_method_GR_METHOD_VEC_ADDMUL_SCALAR_SI: gr_method = 510;
529pub const gr_method_GR_METHOD_VEC_SUBMUL_SCALAR_SI: gr_method = 511;
530pub const gr_method_GR_METHOD_VEC_ADDMUL_SCALAR_FMPZ: gr_method = 512;
531pub const gr_method_GR_METHOD_VEC_SUM: gr_method = 513;
532pub const gr_method_GR_METHOD_VEC_PRODUCT: gr_method = 514;
533pub const gr_method_GR_METHOD_VEC_DOT: gr_method = 515;
534pub const gr_method_GR_METHOD_VEC_DOT_REV: gr_method = 516;
535pub const gr_method_GR_METHOD_VEC_DOT_UI: gr_method = 517;
536pub const gr_method_GR_METHOD_VEC_DOT_SI: gr_method = 518;
537pub const gr_method_GR_METHOD_VEC_DOT_FMPZ: gr_method = 519;
538pub const gr_method_GR_METHOD_VEC_SET_POWERS: gr_method = 520;
539pub const gr_method_GR_METHOD_VEC_RECIPROCALS: gr_method = 521;
540pub const gr_method_GR_METHOD_POLY_MULLOW: gr_method = 522;
541pub const gr_method_GR_METHOD_POLY_MULMID: gr_method = 523;
542pub const gr_method_GR_METHOD_POLY_DIV: gr_method = 524;
543pub const gr_method_GR_METHOD_POLY_DIVREM: gr_method = 525;
544pub const gr_method_GR_METHOD_POLY_DIVEXACT: gr_method = 526;
545pub const gr_method_GR_METHOD_POLY_GCD: gr_method = 527;
546pub const gr_method_GR_METHOD_POLY_XGCD: gr_method = 528;
547pub const gr_method_GR_METHOD_POLY_TAYLOR_SHIFT: gr_method = 529;
548pub const gr_method_GR_METHOD_POLY_INV_SERIES: gr_method = 530;
549pub const gr_method_GR_METHOD_POLY_INV_SERIES_BASECASE: gr_method = 531;
550pub const gr_method_GR_METHOD_POLY_DIV_SERIES: gr_method = 532;
551pub const gr_method_GR_METHOD_POLY_DIV_SERIES_BASECASE: gr_method = 533;
552pub const gr_method_GR_METHOD_POLY_RSQRT_SERIES: gr_method = 534;
553pub const gr_method_GR_METHOD_POLY_SQRT_SERIES: gr_method = 535;
554pub const gr_method_GR_METHOD_POLY_EXP_SERIES: gr_method = 536;
555pub const gr_method_GR_METHOD_POLY_FACTOR: gr_method = 537;
556pub const gr_method_GR_METHOD_POLY_ROOTS: gr_method = 538;
557pub const gr_method_GR_METHOD_POLY_ROOTS_OTHER: gr_method = 539;
558pub const gr_method_GR_METHOD_MAT_MUL: gr_method = 540;
559pub const gr_method_GR_METHOD_MAT_NONSINGULAR_SOLVE_TRIL: gr_method = 541;
560pub const gr_method_GR_METHOD_MAT_NONSINGULAR_SOLVE_TRIU: gr_method = 542;
561pub const gr_method_GR_METHOD_MAT_LU: gr_method = 543;
562pub const gr_method_GR_METHOD_MAT_DET: gr_method = 544;
563pub const gr_method_GR_METHOD_MAT_LQ: gr_method = 545;
564pub const gr_method_GR_METHOD_MAT_EXP: gr_method = 546;
565pub const gr_method_GR_METHOD_MAT_LOG: gr_method = 547;
566pub const gr_method_GR_METHOD_MAT_FIND_NONZERO_PIVOT: gr_method = 548;
567pub const gr_method_GR_METHOD_MAT_DIAGONALIZATION: gr_method = 549;
568pub const gr_method_GR_METHOD_MAT_CHARPOLY: gr_method = 550;
569pub const gr_method_GR_METHOD_MAT_REDUCE_ROW: gr_method = 551;
570pub const gr_method_GR_METHOD_MAT_PERMANENT: gr_method = 552;
571pub const gr_method_GR_METHOD_TAB_SIZE: gr_method = 553;
572pub type gr_method = libc::c_uint;
573pub type gr_static_method_table = [gr_funcptr; 553usize];
574#[repr(C)]
575pub struct gr_method_tab_input {
576    pub index: gr_method,
577    pub function: gr_funcptr,
578}
579#[allow(clippy::unnecessary_operation, clippy::identity_op)]
580const _: () = {
581    ["Size of gr_method_tab_input"][::std::mem::size_of::<gr_method_tab_input>() - 16usize];
582    ["Alignment of gr_method_tab_input"][::std::mem::align_of::<gr_method_tab_input>() - 8usize];
583    ["Offset of field: gr_method_tab_input::index"]
584        [::std::mem::offset_of!(gr_method_tab_input, index) - 0usize];
585    ["Offset of field: gr_method_tab_input::function"]
586        [::std::mem::offset_of!(gr_method_tab_input, function) - 8usize];
587};
588impl Default for gr_method_tab_input {
589    fn default() -> Self {
590        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
591        unsafe {
592            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
593            s.assume_init()
594        }
595    }
596}
597pub const gr_which_structure_GR_CTX_FMPZ: gr_which_structure = 0;
598pub const gr_which_structure_GR_CTX_RADIX_INTEGER: gr_which_structure = 1;
599pub const gr_which_structure_GR_CTX_FMPQ: gr_which_structure = 2;
600pub const gr_which_structure_GR_CTX_FMPZI: gr_which_structure = 3;
601pub const gr_which_structure_GR_CTX_FMPZ_MOD: gr_which_structure = 4;
602pub const gr_which_structure_GR_CTX_NMOD: gr_which_structure = 5;
603pub const gr_which_structure_GR_CTX_NMOD8: gr_which_structure = 6;
604pub const gr_which_structure_GR_CTX_NMOD32: gr_which_structure = 7;
605pub const gr_which_structure_GR_CTX_NMOD_REDC: gr_which_structure = 8;
606pub const gr_which_structure_GR_CTX_NMOD_REDC_FAST: gr_which_structure = 9;
607pub const gr_which_structure_GR_CTX_MPN_MOD: gr_which_structure = 10;
608pub const gr_which_structure_GR_CTX_FQ: gr_which_structure = 11;
609pub const gr_which_structure_GR_CTX_FQ_NMOD: gr_which_structure = 12;
610pub const gr_which_structure_GR_CTX_FQ_ZECH: gr_which_structure = 13;
611pub const gr_which_structure_GR_CTX_NF: gr_which_structure = 14;
612pub const gr_which_structure_GR_CTX_REAL_ALGEBRAIC_QQBAR: gr_which_structure = 15;
613pub const gr_which_structure_GR_CTX_COMPLEX_ALGEBRAIC_QQBAR: gr_which_structure = 16;
614pub const gr_which_structure_GR_CTX_REAL_ALGEBRAIC_CA: gr_which_structure = 17;
615pub const gr_which_structure_GR_CTX_COMPLEX_ALGEBRAIC_CA: gr_which_structure = 18;
616pub const gr_which_structure_GR_CTX_RR_CA: gr_which_structure = 19;
617pub const gr_which_structure_GR_CTX_CC_CA: gr_which_structure = 20;
618pub const gr_which_structure_GR_CTX_COMPLEX_EXTENDED_CA: gr_which_structure = 21;
619pub const gr_which_structure_GR_CTX_RR_ARB: gr_which_structure = 22;
620pub const gr_which_structure_GR_CTX_CC_ACB: gr_which_structure = 23;
621pub const gr_which_structure_GR_CTX_REAL_FLOAT_ARF: gr_which_structure = 24;
622pub const gr_which_structure_GR_CTX_COMPLEX_FLOAT_ACF: gr_which_structure = 25;
623pub const gr_which_structure_GR_CTX_NFLOAT: gr_which_structure = 26;
624pub const gr_which_structure_GR_CTX_NFLOAT_COMPLEX: gr_which_structure = 27;
625pub const gr_which_structure_GR_CTX_MPF: gr_which_structure = 28;
626pub const gr_which_structure_GR_CTX_FMPZ_POLY: gr_which_structure = 29;
627pub const gr_which_structure_GR_CTX_FMPQ_POLY: gr_which_structure = 30;
628pub const gr_which_structure_GR_CTX_GR_POLY: gr_which_structure = 31;
629pub const gr_which_structure_GR_CTX_FMPZ_MPOLY: gr_which_structure = 32;
630pub const gr_which_structure_GR_CTX_FMPQ_MPOLY: gr_which_structure = 33;
631pub const gr_which_structure_GR_CTX_GR_MPOLY: gr_which_structure = 34;
632pub const gr_which_structure_GR_CTX_FMPZ_MPOLY_Q: gr_which_structure = 35;
633pub const gr_which_structure_GR_CTX_FMPZ_MOD_MPOLY_Q: gr_which_structure = 36;
634pub const gr_which_structure_GR_CTX_GR_ORE_POLY: gr_which_structure = 37;
635pub const gr_which_structure_GR_CTX_GR_FRACTION: gr_which_structure = 38;
636pub const gr_which_structure_GR_CTX_GR_COMPLEX: gr_which_structure = 39;
637pub const gr_which_structure_GR_CTX_GR_SERIES: gr_which_structure = 40;
638pub const gr_which_structure_GR_CTX_SERIES_MOD_GR_POLY: gr_which_structure = 41;
639pub const gr_which_structure_GR_CTX_GR_MAT: gr_which_structure = 42;
640pub const gr_which_structure_GR_CTX_GR_VEC: gr_which_structure = 43;
641pub const gr_which_structure_GR_CTX_PSL2Z: gr_which_structure = 44;
642pub const gr_which_structure_GR_CTX_DIRICHLET_GROUP: gr_which_structure = 45;
643pub const gr_which_structure_GR_CTX_PERM: gr_which_structure = 46;
644pub const gr_which_structure_GR_CTX_FEXPR: gr_which_structure = 47;
645pub const gr_which_structure_GR_CTX_DEBUG: gr_which_structure = 48;
646pub const gr_which_structure_GR_CTX_UNINITIALIZED: gr_which_structure = 49;
647pub const gr_which_structure_GR_CTX_UNKNOWN_DOMAIN: gr_which_structure = 50;
648pub const gr_which_structure_GR_CTX_WHICH_STRUCTURE_TAB_SIZE: gr_which_structure = 51;
649pub type gr_which_structure = libc::c_uint;
650pub type gr_method_init_clear_op =
651    ::std::option::Option<unsafe extern "C" fn(arg1: gr_ptr, arg2: gr_ctx_ptr)>;
652pub type gr_method_swap_op =
653    ::std::option::Option<unsafe extern "C" fn(arg1: gr_ptr, arg2: gr_ptr, arg3: gr_ctx_ptr)>;
654pub type gr_method_ctx =
655    ::std::option::Option<unsafe extern "C" fn(arg1: gr_ctx_ptr) -> libc::c_int>;
656pub type gr_method_ctx_void_op = ::std::option::Option<unsafe extern "C" fn(arg1: gr_ctx_ptr)>;
657pub type gr_method_ctx_base =
658    ::std::option::Option<unsafe extern "C" fn(arg1: gr_ctx_ptr) -> gr_ctx_ptr>;
659pub type gr_method_ctx_predicate =
660    ::std::option::Option<unsafe extern "C" fn(arg1: gr_ctx_ptr) -> truth_t>;
661pub type gr_method_ctx_size =
662    ::std::option::Option<unsafe extern "C" fn(arg1: gr_ctx_ptr) -> slong>;
663pub type gr_method_ctx_gen_name = ::std::option::Option<
664    unsafe extern "C" fn(
665        arg1: *mut *mut libc::c_char,
666        arg2: slong,
667        arg3: gr_ctx_ptr,
668    ) -> libc::c_int,
669>;
670pub type gr_method_ctx_set_si =
671    ::std::option::Option<unsafe extern "C" fn(arg1: gr_ctx_ptr, arg2: slong) -> libc::c_int>;
672pub type gr_method_ctx_get_si =
673    ::std::option::Option<unsafe extern "C" fn(arg1: *mut slong, arg2: gr_ctx_ptr) -> libc::c_int>;
674pub type gr_method_ctx_set_truth =
675    ::std::option::Option<unsafe extern "C" fn(arg1: gr_ctx_ptr, arg2: truth_t) -> libc::c_int>;
676pub type gr_method_ctx_stream = ::std::option::Option<
677    unsafe extern "C" fn(arg1: *mut gr_stream_struct, arg2: gr_ctx_ptr) -> libc::c_int,
678>;
679pub type gr_method_ctx_set_str = ::std::option::Option<
680    unsafe extern "C" fn(arg1: gr_ctx_ptr, arg2: *const libc::c_char) -> libc::c_int,
681>;
682pub type gr_method_ctx_set_strs = ::std::option::Option<
683    unsafe extern "C" fn(arg1: gr_ctx_ptr, arg2: *mut *const libc::c_char) -> libc::c_int,
684>;
685pub type gr_method_stream_in = ::std::option::Option<
686    unsafe extern "C" fn(
687        arg1: *mut gr_stream_struct,
688        arg2: gr_srcptr,
689        arg3: gr_ctx_ptr,
690    ) -> libc::c_int,
691>;
692pub type gr_method_stream_in_si = ::std::option::Option<
693    unsafe extern "C" fn(
694        arg1: *mut gr_stream_struct,
695        arg2: gr_srcptr,
696        arg3: slong,
697        arg4: gr_ctx_ptr,
698    ) -> libc::c_int,
699>;
700pub type gr_method_randtest = ::std::option::Option<
701    unsafe extern "C" fn(
702        arg1: gr_ptr,
703        state: *mut flint_rand_struct,
704        arg2: gr_ctx_ptr,
705    ) -> libc::c_int,
706>;
707pub type gr_method_constant_op =
708    ::std::option::Option<unsafe extern "C" fn(arg1: gr_ptr, arg2: gr_ctx_ptr) -> libc::c_int>;
709pub type gr_method_constant_op_get_si =
710    ::std::option::Option<unsafe extern "C" fn(arg1: *mut slong, arg2: gr_ctx_ptr) -> libc::c_int>;
711pub type gr_method_constant_op_get_fmpz =
712    ::std::option::Option<unsafe extern "C" fn(arg1: *mut fmpz, arg2: gr_ctx_ptr) -> libc::c_int>;
713pub type gr_method_void_unary_op =
714    ::std::option::Option<unsafe extern "C" fn(arg1: gr_ptr, arg2: gr_srcptr, arg3: gr_ctx_ptr)>;
715pub type gr_method_unary_op = ::std::option::Option<
716    unsafe extern "C" fn(arg1: gr_ptr, arg2: gr_srcptr, arg3: gr_ctx_ptr) -> libc::c_int,
717>;
718pub type gr_method_unary_op_si = ::std::option::Option<
719    unsafe extern "C" fn(arg1: gr_ptr, arg2: slong, arg3: gr_ctx_ptr) -> libc::c_int,
720>;
721pub type gr_method_unary_op_ui = ::std::option::Option<
722    unsafe extern "C" fn(arg1: gr_ptr, arg2: ulong, arg3: gr_ctx_ptr) -> libc::c_int,
723>;
724pub type gr_method_unary_op_fmpz = ::std::option::Option<
725    unsafe extern "C" fn(arg1: gr_ptr, arg2: *const fmpz, arg3: gr_ctx_ptr) -> libc::c_int,
726>;
727pub type gr_method_unary_op_fmpq = ::std::option::Option<
728    unsafe extern "C" fn(arg1: gr_ptr, arg2: *const fmpq, arg3: gr_ctx_ptr) -> libc::c_int,
729>;
730pub type gr_method_unary_op_d = ::std::option::Option<
731    unsafe extern "C" fn(arg1: gr_ptr, arg2: f64, arg3: gr_ctx_ptr) -> libc::c_int,
732>;
733pub type gr_method_unary_op_other = ::std::option::Option<
734    unsafe extern "C" fn(
735        arg1: gr_ptr,
736        arg2: gr_srcptr,
737        arg3: gr_ctx_ptr,
738        arg4: gr_ctx_ptr,
739    ) -> libc::c_int,
740>;
741pub type gr_method_unary_op_str = ::std::option::Option<
742    unsafe extern "C" fn(arg1: gr_ptr, arg2: *const libc::c_char, arg3: gr_ctx_ptr) -> libc::c_int,
743>;
744pub type gr_method_unary_op_get_ui = ::std::option::Option<
745    unsafe extern "C" fn(arg1: *mut ulong, arg2: gr_srcptr, arg3: gr_ctx_ptr) -> libc::c_int,
746>;
747pub type gr_method_unary_op_get_si = ::std::option::Option<
748    unsafe extern "C" fn(arg1: *mut slong, arg2: gr_srcptr, arg3: gr_ctx_ptr) -> libc::c_int,
749>;
750pub type gr_method_unary_op_get_fmpz = ::std::option::Option<
751    unsafe extern "C" fn(arg1: *mut fmpz, arg2: gr_srcptr, arg3: gr_ctx_ptr) -> libc::c_int,
752>;
753pub type gr_method_unary_op_get_fmpq = ::std::option::Option<
754    unsafe extern "C" fn(arg1: *mut fmpq, arg2: gr_srcptr, arg3: gr_ctx_ptr) -> libc::c_int,
755>;
756pub type gr_method_unary_op_get_d = ::std::option::Option<
757    unsafe extern "C" fn(arg1: *mut f64, arg2: gr_srcptr, arg3: gr_ctx_ptr) -> libc::c_int,
758>;
759pub type gr_method_unary_op_get_d_si = ::std::option::Option<
760    unsafe extern "C" fn(
761        arg1: *mut f64,
762        arg2: *mut slong,
763        arg3: gr_srcptr,
764        arg4: gr_ctx_ptr,
765    ) -> libc::c_int,
766>;
767pub type gr_method_unary_op_get_fmpz_fmpz = ::std::option::Option<
768    unsafe extern "C" fn(
769        arg1: *mut fmpz,
770        arg2: *mut fmpz,
771        arg3: gr_srcptr,
772        arg4: gr_ctx_ptr,
773    ) -> libc::c_int,
774>;
775pub type gr_method_unary_op_with_flag = ::std::option::Option<
776    unsafe extern "C" fn(
777        arg1: gr_ptr,
778        arg2: gr_srcptr,
779        arg3: libc::c_int,
780        arg4: gr_ctx_ptr,
781    ) -> libc::c_int,
782>;
783pub type gr_method_binary_unary_op = ::std::option::Option<
784    unsafe extern "C" fn(
785        arg1: gr_ptr,
786        arg2: gr_ptr,
787        arg3: gr_srcptr,
788        arg4: gr_ctx_ptr,
789    ) -> libc::c_int,
790>;
791pub type gr_method_binary_unary_op_with_flag = ::std::option::Option<
792    unsafe extern "C" fn(
793        arg1: gr_ptr,
794        arg2: gr_ptr,
795        arg3: gr_srcptr,
796        arg4: libc::c_int,
797        arg5: gr_ctx_ptr,
798    ) -> libc::c_int,
799>;
800pub type gr_method_quaternary_unary_op = ::std::option::Option<
801    unsafe extern "C" fn(
802        arg1: gr_ptr,
803        arg2: gr_ptr,
804        arg3: gr_ptr,
805        arg4: gr_ptr,
806        arg5: gr_srcptr,
807        arg6: gr_ctx_ptr,
808    ) -> libc::c_int,
809>;
810pub type gr_method_binary_op = ::std::option::Option<
811    unsafe extern "C" fn(
812        arg1: gr_ptr,
813        arg2: gr_srcptr,
814        arg3: gr_srcptr,
815        arg4: gr_ctx_ptr,
816    ) -> libc::c_int,
817>;
818pub type gr_method_binary_op_si = ::std::option::Option<
819    unsafe extern "C" fn(
820        arg1: gr_ptr,
821        arg2: gr_srcptr,
822        arg3: slong,
823        arg4: gr_ctx_ptr,
824    ) -> libc::c_int,
825>;
826pub type gr_method_binary_op_ui = ::std::option::Option<
827    unsafe extern "C" fn(
828        arg1: gr_ptr,
829        arg2: gr_srcptr,
830        arg3: ulong,
831        arg4: gr_ctx_ptr,
832    ) -> libc::c_int,
833>;
834pub type gr_method_binary_op_fmpz = ::std::option::Option<
835    unsafe extern "C" fn(
836        arg1: gr_ptr,
837        arg2: gr_srcptr,
838        arg3: *const fmpz,
839        arg4: gr_ctx_ptr,
840    ) -> libc::c_int,
841>;
842pub type gr_method_binary_op_fmpz_fmpz = ::std::option::Option<
843    unsafe extern "C" fn(
844        arg1: gr_ptr,
845        arg2: *const fmpz,
846        arg3: *const fmpz,
847        arg4: gr_ctx_ptr,
848    ) -> libc::c_int,
849>;
850pub type gr_method_binary_op_fmpz_si = ::std::option::Option<
851    unsafe extern "C" fn(
852        arg1: gr_ptr,
853        arg2: *const fmpz,
854        arg3: slong,
855        arg4: gr_ctx_ptr,
856    ) -> libc::c_int,
857>;
858pub type gr_method_binary_op_fmpq = ::std::option::Option<
859    unsafe extern "C" fn(
860        arg1: gr_ptr,
861        arg2: gr_srcptr,
862        arg3: *const fmpq,
863        arg4: gr_ctx_ptr,
864    ) -> libc::c_int,
865>;
866pub type gr_method_binary_op_other = ::std::option::Option<
867    unsafe extern "C" fn(
868        arg1: gr_ptr,
869        arg2: gr_srcptr,
870        arg3: gr_srcptr,
871        arg4: gr_ctx_ptr,
872        arg5: gr_ctx_ptr,
873    ) -> libc::c_int,
874>;
875pub type gr_method_other_binary_op = ::std::option::Option<
876    unsafe extern "C" fn(
877        arg1: gr_ptr,
878        arg2: gr_srcptr,
879        arg3: gr_ctx_ptr,
880        arg4: gr_srcptr,
881        arg5: gr_ctx_ptr,
882    ) -> libc::c_int,
883>;
884pub type gr_method_si_binary_op = ::std::option::Option<
885    unsafe extern "C" fn(
886        arg1: gr_ptr,
887        arg2: slong,
888        arg3: gr_srcptr,
889        arg4: gr_ctx_ptr,
890    ) -> libc::c_int,
891>;
892pub type gr_method_ui_binary_op = ::std::option::Option<
893    unsafe extern "C" fn(
894        arg1: gr_ptr,
895        arg2: ulong,
896        arg3: gr_srcptr,
897        arg4: gr_ctx_ptr,
898    ) -> libc::c_int,
899>;
900pub type gr_method_fmpz_binary_op = ::std::option::Option<
901    unsafe extern "C" fn(
902        arg1: gr_ptr,
903        arg2: *const fmpz,
904        arg3: gr_srcptr,
905        arg4: gr_ctx_ptr,
906    ) -> libc::c_int,
907>;
908pub type gr_method_fmpq_binary_op = ::std::option::Option<
909    unsafe extern "C" fn(
910        arg1: gr_ptr,
911        arg2: *const fmpq,
912        arg3: gr_srcptr,
913        arg4: gr_ctx_ptr,
914    ) -> libc::c_int,
915>;
916pub type gr_method_binary_op_ui_ui = ::std::option::Option<
917    unsafe extern "C" fn(arg1: gr_ptr, arg2: ulong, arg3: ulong, arg4: gr_ctx_ptr) -> libc::c_int,
918>;
919pub type gr_method_binary_op_ui_si = ::std::option::Option<
920    unsafe extern "C" fn(arg1: gr_ptr, arg2: ulong, arg3: slong, arg4: gr_ctx_ptr) -> libc::c_int,
921>;
922pub type gr_method_binary_op_get_int = ::std::option::Option<
923    unsafe extern "C" fn(
924        arg1: *mut libc::c_int,
925        arg2: gr_srcptr,
926        arg3: gr_srcptr,
927        arg4: gr_ctx_ptr,
928    ) -> libc::c_int,
929>;
930pub type gr_method_binary_op_other_get_int = ::std::option::Option<
931    unsafe extern "C" fn(
932        arg1: *mut libc::c_int,
933        arg2: gr_srcptr,
934        arg3: gr_srcptr,
935        arg4: gr_ctx_ptr,
936        arg5: gr_ctx_ptr,
937    ) -> libc::c_int,
938>;
939pub type gr_method_binary_binary_op = ::std::option::Option<
940    unsafe extern "C" fn(
941        arg1: gr_ptr,
942        arg2: gr_ptr,
943        arg3: gr_srcptr,
944        arg4: gr_srcptr,
945        arg5: gr_ctx_ptr,
946    ) -> libc::c_int,
947>;
948pub type gr_method_binary_op_with_flag = ::std::option::Option<
949    unsafe extern "C" fn(
950        arg1: gr_ptr,
951        arg2: gr_srcptr,
952        arg3: gr_srcptr,
953        arg4: libc::c_int,
954        arg5: gr_ctx_ptr,
955    ) -> libc::c_int,
956>;
957pub type gr_method_binary_binary_op_ui_ui = ::std::option::Option<
958    unsafe extern "C" fn(
959        arg1: gr_ptr,
960        arg2: gr_ptr,
961        arg3: ulong,
962        arg4: ulong,
963        arg5: gr_ctx_ptr,
964    ) -> libc::c_int,
965>;
966pub type gr_method_ternary_op = ::std::option::Option<
967    unsafe extern "C" fn(
968        arg1: gr_ptr,
969        arg2: gr_srcptr,
970        arg3: gr_srcptr,
971        arg4: gr_srcptr,
972        arg5: gr_ctx_ptr,
973    ) -> libc::c_int,
974>;
975pub type gr_method_ternary_op_with_flag = ::std::option::Option<
976    unsafe extern "C" fn(
977        arg1: gr_ptr,
978        arg2: gr_srcptr,
979        arg3: gr_srcptr,
980        arg4: gr_srcptr,
981        arg5: libc::c_int,
982        arg6: gr_ctx_ptr,
983    ) -> libc::c_int,
984>;
985pub type gr_method_ternary_unary_op = ::std::option::Option<
986    unsafe extern "C" fn(
987        arg1: gr_ptr,
988        arg2: gr_ptr,
989        arg3: gr_ptr,
990        arg4: gr_srcptr,
991        arg5: gr_ctx_ptr,
992    ) -> libc::c_int,
993>;
994pub type gr_method_quaternary_op = ::std::option::Option<
995    unsafe extern "C" fn(
996        arg1: gr_ptr,
997        arg2: gr_srcptr,
998        arg3: gr_srcptr,
999        arg4: gr_srcptr,
1000        arg5: gr_srcptr,
1001        arg6: gr_ctx_ptr,
1002    ) -> libc::c_int,
1003>;
1004pub type gr_method_quaternary_op_with_flag = ::std::option::Option<
1005    unsafe extern "C" fn(
1006        arg1: gr_ptr,
1007        arg2: gr_srcptr,
1008        arg3: gr_srcptr,
1009        arg4: gr_srcptr,
1010        arg5: gr_srcptr,
1011        arg6: libc::c_int,
1012        arg7: gr_ctx_ptr,
1013    ) -> libc::c_int,
1014>;
1015pub type gr_method_quaternary_binary_op = ::std::option::Option<
1016    unsafe extern "C" fn(
1017        arg1: gr_ptr,
1018        arg2: gr_ptr,
1019        arg3: gr_ptr,
1020        arg4: gr_ptr,
1021        arg5: gr_srcptr,
1022        arg6: gr_srcptr,
1023        arg7: gr_ctx_ptr,
1024    ) -> libc::c_int,
1025>;
1026pub type gr_method_quaternary_ternary_op = ::std::option::Option<
1027    unsafe extern "C" fn(
1028        arg1: gr_ptr,
1029        arg2: gr_ptr,
1030        arg3: gr_ptr,
1031        arg4: gr_ptr,
1032        arg5: gr_srcptr,
1033        arg6: gr_srcptr,
1034        arg7: gr_srcptr,
1035        arg8: gr_ctx_ptr,
1036    ) -> libc::c_int,
1037>;
1038pub type gr_method_si_si_quaternary_op = ::std::option::Option<
1039    unsafe extern "C" fn(
1040        arg1: gr_ptr,
1041        arg2: slong,
1042        arg3: slong,
1043        arg4: gr_srcptr,
1044        arg5: gr_srcptr,
1045        arg6: gr_ctx_ptr,
1046    ) -> libc::c_int,
1047>;
1048pub type gr_method_unary_predicate =
1049    ::std::option::Option<unsafe extern "C" fn(arg1: gr_srcptr, arg2: gr_ctx_ptr) -> truth_t>;
1050pub type gr_method_binary_predicate = ::std::option::Option<
1051    unsafe extern "C" fn(arg1: gr_srcptr, arg2: gr_srcptr, arg3: gr_ctx_ptr) -> truth_t,
1052>;
1053pub type gr_method_vec_init_clear_op =
1054    ::std::option::Option<unsafe extern "C" fn(arg1: gr_ptr, arg2: slong, arg3: gr_ctx_ptr)>;
1055pub type gr_method_vec_swap_op = ::std::option::Option<
1056    unsafe extern "C" fn(arg1: gr_ptr, arg2: gr_ptr, arg3: slong, arg4: gr_ctx_ptr),
1057>;
1058pub type gr_method_vec_constant_op = ::std::option::Option<
1059    unsafe extern "C" fn(arg1: gr_ptr, arg2: slong, arg3: gr_ctx_ptr) -> libc::c_int,
1060>;
1061pub type gr_method_vec_op = ::std::option::Option<
1062    unsafe extern "C" fn(
1063        arg1: gr_ptr,
1064        arg2: gr_srcptr,
1065        arg3: slong,
1066        arg4: gr_ctx_ptr,
1067    ) -> libc::c_int,
1068>;
1069pub type gr_method_vec_vec_op = ::std::option::Option<
1070    unsafe extern "C" fn(
1071        arg1: gr_ptr,
1072        arg2: gr_srcptr,
1073        arg3: gr_srcptr,
1074        arg4: slong,
1075        arg5: gr_ctx_ptr,
1076    ) -> libc::c_int,
1077>;
1078pub type gr_method_vec_scalar_op = ::std::option::Option<
1079    unsafe extern "C" fn(
1080        arg1: gr_ptr,
1081        arg2: gr_srcptr,
1082        arg3: slong,
1083        arg4: gr_srcptr,
1084        arg5: gr_ctx_ptr,
1085    ) -> libc::c_int,
1086>;
1087pub type gr_method_scalar_vec_op = ::std::option::Option<
1088    unsafe extern "C" fn(
1089        arg1: gr_ptr,
1090        arg2: gr_srcptr,
1091        arg3: gr_srcptr,
1092        arg4: slong,
1093        arg5: gr_ctx_ptr,
1094    ) -> libc::c_int,
1095>;
1096pub type gr_method_vec_op_other = ::std::option::Option<
1097    unsafe extern "C" fn(
1098        arg1: gr_ptr,
1099        arg2: gr_srcptr,
1100        arg3: gr_srcptr,
1101        arg4: gr_ctx_ptr,
1102        arg5: slong,
1103        arg6: gr_ctx_ptr,
1104    ) -> libc::c_int,
1105>;
1106pub type gr_method_other_op_vec = ::std::option::Option<
1107    unsafe extern "C" fn(
1108        arg1: gr_ptr,
1109        arg2: gr_srcptr,
1110        arg3: gr_ctx_ptr,
1111        arg4: gr_srcptr,
1112        arg5: slong,
1113        arg6: gr_ctx_ptr,
1114    ) -> libc::c_int,
1115>;
1116pub type gr_method_vec_op_scalar_other = ::std::option::Option<
1117    unsafe extern "C" fn(
1118        arg1: gr_ptr,
1119        arg2: gr_srcptr,
1120        arg3: slong,
1121        arg4: gr_srcptr,
1122        arg5: gr_ctx_ptr,
1123        arg6: gr_ctx_ptr,
1124    ) -> libc::c_int,
1125>;
1126pub type gr_method_scalar_other_op_vec = ::std::option::Option<
1127    unsafe extern "C" fn(
1128        arg1: gr_ptr,
1129        arg2: gr_srcptr,
1130        arg3: gr_ctx_ptr,
1131        arg4: gr_srcptr,
1132        arg5: slong,
1133        arg6: gr_ctx_ptr,
1134    ) -> libc::c_int,
1135>;
1136pub type gr_method_vec_scalar_op_si = ::std::option::Option<
1137    unsafe extern "C" fn(
1138        arg1: gr_ptr,
1139        arg2: gr_srcptr,
1140        arg3: slong,
1141        arg4: slong,
1142        arg5: gr_ctx_ptr,
1143    ) -> libc::c_int,
1144>;
1145pub type gr_method_vec_scalar_op_ui = ::std::option::Option<
1146    unsafe extern "C" fn(
1147        arg1: gr_ptr,
1148        arg2: gr_srcptr,
1149        arg3: slong,
1150        arg4: ulong,
1151        arg5: gr_ctx_ptr,
1152    ) -> libc::c_int,
1153>;
1154pub type gr_method_vec_scalar_op_fmpz = ::std::option::Option<
1155    unsafe extern "C" fn(
1156        arg1: gr_ptr,
1157        arg2: gr_srcptr,
1158        arg3: slong,
1159        arg4: *const fmpz,
1160        arg5: gr_ctx_ptr,
1161    ) -> libc::c_int,
1162>;
1163pub type gr_method_vec_scalar_op_fmpq = ::std::option::Option<
1164    unsafe extern "C" fn(
1165        arg1: gr_ptr,
1166        arg2: gr_srcptr,
1167        arg3: slong,
1168        arg4: *const fmpq,
1169        arg5: gr_ctx_ptr,
1170    ) -> libc::c_int,
1171>;
1172pub type gr_method_vec_predicate = ::std::option::Option<
1173    unsafe extern "C" fn(arg1: gr_srcptr, arg2: slong, arg3: gr_ctx_ptr) -> truth_t,
1174>;
1175pub type gr_method_vec_vec_predicate = ::std::option::Option<
1176    unsafe extern "C" fn(
1177        arg1: gr_srcptr,
1178        arg2: gr_srcptr,
1179        arg3: slong,
1180        arg4: gr_ctx_ptr,
1181    ) -> truth_t,
1182>;
1183pub type gr_method_factor_op = ::std::option::Option<
1184    unsafe extern "C" fn(
1185        arg1: gr_ptr,
1186        arg2: *mut gr_vec_struct,
1187        arg3: *mut gr_vec_struct,
1188        arg4: gr_srcptr,
1189        arg5: libc::c_int,
1190        arg6: gr_ctx_ptr,
1191    ) -> libc::c_int,
1192>;
1193pub type gr_method_poly_unary_trunc_op = ::std::option::Option<
1194    unsafe extern "C" fn(
1195        arg1: gr_ptr,
1196        arg2: gr_srcptr,
1197        arg3: slong,
1198        arg4: slong,
1199        arg5: gr_ctx_ptr,
1200    ) -> libc::c_int,
1201>;
1202pub type gr_method_poly_binary_op = ::std::option::Option<
1203    unsafe extern "C" fn(
1204        arg1: gr_ptr,
1205        arg2: gr_srcptr,
1206        arg3: slong,
1207        arg4: gr_srcptr,
1208        arg5: slong,
1209        arg6: gr_ctx_ptr,
1210    ) -> libc::c_int,
1211>;
1212pub type gr_method_poly_binary_binary_op = ::std::option::Option<
1213    unsafe extern "C" fn(
1214        arg1: gr_ptr,
1215        arg2: gr_ptr,
1216        arg3: gr_srcptr,
1217        arg4: slong,
1218        arg5: gr_srcptr,
1219        arg6: slong,
1220        arg7: gr_ctx_ptr,
1221    ) -> libc::c_int,
1222>;
1223pub type gr_method_poly_binary_trunc_op = ::std::option::Option<
1224    unsafe extern "C" fn(
1225        arg1: gr_ptr,
1226        arg2: gr_srcptr,
1227        arg3: slong,
1228        arg4: gr_srcptr,
1229        arg5: slong,
1230        arg6: slong,
1231        arg7: gr_ctx_ptr,
1232    ) -> libc::c_int,
1233>;
1234pub type gr_method_poly_binary_trunc2_op = ::std::option::Option<
1235    unsafe extern "C" fn(
1236        arg1: gr_ptr,
1237        arg2: gr_srcptr,
1238        arg3: slong,
1239        arg4: gr_srcptr,
1240        arg5: slong,
1241        arg6: slong,
1242        arg7: slong,
1243        arg8: gr_ctx_ptr,
1244    ) -> libc::c_int,
1245>;
1246pub type gr_method_poly_gcd_op = ::std::option::Option<
1247    unsafe extern "C" fn(
1248        arg1: gr_ptr,
1249        arg2: *mut slong,
1250        arg3: gr_srcptr,
1251        arg4: slong,
1252        arg5: gr_srcptr,
1253        arg6: slong,
1254        arg7: gr_ctx_ptr,
1255    ) -> libc::c_int,
1256>;
1257pub type gr_method_poly_xgcd_op = ::std::option::Option<
1258    unsafe extern "C" fn(
1259        arg1: *mut slong,
1260        arg2: gr_ptr,
1261        arg3: gr_ptr,
1262        arg4: gr_ptr,
1263        arg5: gr_srcptr,
1264        arg6: slong,
1265        arg7: gr_srcptr,
1266        arg8: slong,
1267        arg9: gr_ctx_ptr,
1268    ) -> libc::c_int,
1269>;
1270pub type gr_method_vec_ctx_op = ::std::option::Option<
1271    unsafe extern "C" fn(arg1: *mut gr_vec_struct, arg2: gr_ctx_ptr) -> libc::c_int,
1272>;
1273pub type _gr_method_get_si_op =
1274    ::std::option::Option<unsafe extern "C" fn(arg1: gr_srcptr, arg2: gr_ctx_ptr) -> slong>;
1275#[repr(C)]
1276pub struct polynomial_ctx_t {
1277    pub base_ring: *mut gr_ctx_struct,
1278    pub degree_limit: slong,
1279    pub var: *mut libc::c_char,
1280}
1281#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1282const _: () = {
1283    ["Size of polynomial_ctx_t"][::std::mem::size_of::<polynomial_ctx_t>() - 24usize];
1284    ["Alignment of polynomial_ctx_t"][::std::mem::align_of::<polynomial_ctx_t>() - 8usize];
1285    ["Offset of field: polynomial_ctx_t::base_ring"]
1286        [::std::mem::offset_of!(polynomial_ctx_t, base_ring) - 0usize];
1287    ["Offset of field: polynomial_ctx_t::degree_limit"]
1288        [::std::mem::offset_of!(polynomial_ctx_t, degree_limit) - 8usize];
1289    ["Offset of field: polynomial_ctx_t::var"]
1290        [::std::mem::offset_of!(polynomial_ctx_t, var) - 16usize];
1291};
1292impl Default for polynomial_ctx_t {
1293    fn default() -> Self {
1294        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1295        unsafe {
1296            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1297            s.assume_init()
1298        }
1299    }
1300}
1301#[repr(C)]
1302pub struct vector_ctx_t {
1303    pub base_ring: *mut gr_ctx_struct,
1304    pub all_sizes: libc::c_int,
1305    pub n: slong,
1306}
1307#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1308const _: () = {
1309    ["Size of vector_ctx_t"][::std::mem::size_of::<vector_ctx_t>() - 24usize];
1310    ["Alignment of vector_ctx_t"][::std::mem::align_of::<vector_ctx_t>() - 8usize];
1311    ["Offset of field: vector_ctx_t::base_ring"]
1312        [::std::mem::offset_of!(vector_ctx_t, base_ring) - 0usize];
1313    ["Offset of field: vector_ctx_t::all_sizes"]
1314        [::std::mem::offset_of!(vector_ctx_t, all_sizes) - 8usize];
1315    ["Offset of field: vector_ctx_t::n"][::std::mem::offset_of!(vector_ctx_t, n) - 16usize];
1316};
1317impl Default for vector_ctx_t {
1318    fn default() -> Self {
1319        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1320        unsafe {
1321            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1322            s.assume_init()
1323        }
1324    }
1325}
1326#[repr(C)]
1327pub struct matrix_ctx_t {
1328    pub base_ring: *mut gr_ctx_struct,
1329    pub all_sizes: libc::c_int,
1330    pub nrows: slong,
1331    pub ncols: slong,
1332}
1333#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1334const _: () = {
1335    ["Size of matrix_ctx_t"][::std::mem::size_of::<matrix_ctx_t>() - 32usize];
1336    ["Alignment of matrix_ctx_t"][::std::mem::align_of::<matrix_ctx_t>() - 8usize];
1337    ["Offset of field: matrix_ctx_t::base_ring"]
1338        [::std::mem::offset_of!(matrix_ctx_t, base_ring) - 0usize];
1339    ["Offset of field: matrix_ctx_t::all_sizes"]
1340        [::std::mem::offset_of!(matrix_ctx_t, all_sizes) - 8usize];
1341    ["Offset of field: matrix_ctx_t::nrows"][::std::mem::offset_of!(matrix_ctx_t, nrows) - 16usize];
1342    ["Offset of field: matrix_ctx_t::ncols"][::std::mem::offset_of!(matrix_ctx_t, ncols) - 24usize];
1343};
1344impl Default for matrix_ctx_t {
1345    fn default() -> Self {
1346        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1347        unsafe {
1348            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1349            s.assume_init()
1350        }
1351    }
1352}
1353extern "C" {
1354    #[link_name = "truth_and__extern"]
1355    pub fn truth_and(x: truth_t, y: truth_t) -> truth_t;
1356    #[link_name = "truth_or__extern"]
1357    pub fn truth_or(x: truth_t, y: truth_t) -> truth_t;
1358    #[link_name = "truth_not__extern"]
1359    pub fn truth_not(x: truth_t) -> truth_t;
1360    #[link_name = "gr_in_domain__extern"]
1361    pub fn gr_in_domain(status: libc::c_int) -> truth_t;
1362    #[link_name = "gr_check__extern"]
1363    pub fn gr_check(t: truth_t) -> libc::c_int;
1364    #[link_name = "truth_println__extern"]
1365    pub fn truth_println(x: truth_t);
1366    pub fn gr_stream_init_file(out: *mut gr_stream_struct, fp: *mut FILE);
1367    pub fn gr_stream_init_str(out: *mut gr_stream_struct);
1368    pub fn gr_stream_write(out: *mut gr_stream_struct, s: *const libc::c_char) -> libc::c_int;
1369    pub fn gr_stream_write_si(out: *mut gr_stream_struct, x: slong) -> libc::c_int;
1370    pub fn gr_stream_write_ui(out: *mut gr_stream_struct, x: ulong) -> libc::c_int;
1371    pub fn gr_stream_write_free(out: *mut gr_stream_struct, s: *mut libc::c_char) -> libc::c_int;
1372    pub fn gr_stream_write_fmpz(out: *mut gr_stream_struct, x: *const fmpz) -> libc::c_int;
1373    #[link_name = "gr_not_implemented__extern"]
1374    pub fn gr_not_implemented() -> libc::c_int;
1375    #[link_name = "gr_not_in_domain__extern"]
1376    pub fn gr_not_in_domain() -> libc::c_int;
1377    pub fn gr_method_tab_init(methods: *mut gr_funcptr, tab: *mut gr_method_tab_input);
1378    pub fn gr_method_tab_extend(methods: *mut gr_funcptr, tab: *mut gr_method_tab_input);
1379    #[link_name = "gr_ctx_data_ptr__extern"]
1380    pub fn gr_ctx_data_ptr(ctx: *mut gr_ctx_struct) -> *mut libc::c_void;
1381    #[link_name = "gr_ctx_data_as_ptr__extern"]
1382    pub fn gr_ctx_data_as_ptr(ctx: *mut gr_ctx_struct) -> *mut libc::c_void;
1383    #[link_name = "gr_ctx_sizeof_ctx__extern"]
1384    pub fn gr_ctx_sizeof_ctx() -> slong;
1385    #[link_name = "gr_ctx_sizeof_elem__extern"]
1386    pub fn gr_ctx_sizeof_elem(ctx: *mut gr_ctx_struct) -> slong;
1387    #[link_name = "gr_ctx_clear__extern"]
1388    pub fn gr_ctx_clear(ctx: *mut gr_ctx_struct);
1389    #[link_name = "gr_ctx_write__extern"]
1390    pub fn gr_ctx_write(out: *mut gr_stream_struct, ctx: *mut gr_ctx_struct) -> libc::c_int;
1391    #[link_name = "gr_ctx_is_ring__extern"]
1392    pub fn gr_ctx_is_ring(ctx: *mut gr_ctx_struct) -> truth_t;
1393    #[link_name = "gr_ctx_is_commutative_ring__extern"]
1394    pub fn gr_ctx_is_commutative_ring(ctx: *mut gr_ctx_struct) -> truth_t;
1395    #[link_name = "gr_ctx_is_integral_domain__extern"]
1396    pub fn gr_ctx_is_integral_domain(ctx: *mut gr_ctx_struct) -> truth_t;
1397    #[link_name = "gr_ctx_is_field__extern"]
1398    pub fn gr_ctx_is_field(ctx: *mut gr_ctx_struct) -> truth_t;
1399    #[link_name = "gr_ctx_is_zero_ring__extern"]
1400    pub fn gr_ctx_is_zero_ring(ctx: *mut gr_ctx_struct) -> truth_t;
1401    #[link_name = "gr_ctx_is_rational_vector_space__extern"]
1402    pub fn gr_ctx_is_rational_vector_space(ctx: *mut gr_ctx_struct) -> truth_t;
1403    #[link_name = "gr_ctx_is_real_vector_space__extern"]
1404    pub fn gr_ctx_is_real_vector_space(ctx: *mut gr_ctx_struct) -> truth_t;
1405    #[link_name = "gr_ctx_is_complex_vector_space__extern"]
1406    pub fn gr_ctx_is_complex_vector_space(ctx: *mut gr_ctx_struct) -> truth_t;
1407    #[link_name = "gr_ctx_is_unique_factorization_domain__extern"]
1408    pub fn gr_ctx_is_unique_factorization_domain(ctx: *mut gr_ctx_struct) -> truth_t;
1409    #[link_name = "gr_ctx_is_finite__extern"]
1410    pub fn gr_ctx_is_finite(ctx: *mut gr_ctx_struct) -> truth_t;
1411    #[link_name = "gr_ctx_is_finite_characteristic__extern"]
1412    pub fn gr_ctx_is_finite_characteristic(ctx: *mut gr_ctx_struct) -> truth_t;
1413    #[link_name = "gr_ctx_is_algebraically_closed__extern"]
1414    pub fn gr_ctx_is_algebraically_closed(ctx: *mut gr_ctx_struct) -> truth_t;
1415    #[link_name = "gr_ctx_is_ordered_ring__extern"]
1416    pub fn gr_ctx_is_ordered_ring(ctx: *mut gr_ctx_struct) -> truth_t;
1417    #[link_name = "gr_ctx_is_approx_commutative_ring__extern"]
1418    pub fn gr_ctx_is_approx_commutative_ring(ctx: *mut gr_ctx_struct) -> truth_t;
1419    #[link_name = "gr_ctx_is_multiplicative_group__extern"]
1420    pub fn gr_ctx_is_multiplicative_group(ctx: *mut gr_ctx_struct) -> truth_t;
1421    #[link_name = "gr_ctx_is_exact__extern"]
1422    pub fn gr_ctx_is_exact(ctx: *mut gr_ctx_struct) -> truth_t;
1423    #[link_name = "gr_ctx_is_canonical__extern"]
1424    pub fn gr_ctx_is_canonical(ctx: *mut gr_ctx_struct) -> truth_t;
1425    #[link_name = "gr_ctx_is_threadsafe__extern"]
1426    pub fn gr_ctx_is_threadsafe(ctx: *mut gr_ctx_struct) -> truth_t;
1427    #[link_name = "gr_ctx_has_real_prec__extern"]
1428    pub fn gr_ctx_has_real_prec(ctx: *mut gr_ctx_struct) -> truth_t;
1429    #[link_name = "gr_ctx_set_real_prec__extern"]
1430    pub fn gr_ctx_set_real_prec(ctx: *mut gr_ctx_struct, prec: slong) -> libc::c_int;
1431    #[link_name = "gr_ctx_get_real_prec__extern"]
1432    pub fn gr_ctx_get_real_prec(prec: *mut slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
1433    #[link_name = "gr_ctx_set_is_field__extern"]
1434    pub fn gr_ctx_set_is_field(ctx: *mut gr_ctx_struct, is_field: truth_t) -> libc::c_int;
1435    #[link_name = "gr_ctx_set_gen_name__extern"]
1436    pub fn gr_ctx_set_gen_name(ctx: *mut gr_ctx_struct, s: *const libc::c_char) -> libc::c_int;
1437    #[link_name = "gr_ctx_set_gen_names__extern"]
1438    pub fn gr_ctx_set_gen_names(
1439        ctx: *mut gr_ctx_struct,
1440        s: *mut *const libc::c_char,
1441    ) -> libc::c_int;
1442    #[link_name = "gr_ctx_ngens__extern"]
1443    pub fn gr_ctx_ngens(ngens: *mut slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
1444    #[link_name = "gr_ctx_gen_name__extern"]
1445    pub fn gr_ctx_gen_name(
1446        name: *mut *mut libc::c_char,
1447        i: slong,
1448        ctx: *mut gr_ctx_struct,
1449    ) -> libc::c_int;
1450    #[link_name = "_gr_ctx_get_real_prec__extern"]
1451    pub fn _gr_ctx_get_real_prec(ctx: *mut gr_ctx_struct) -> slong;
1452    #[link_name = "gr_ctx_base__extern"]
1453    pub fn gr_ctx_base(ctx: *mut gr_ctx_struct) -> gr_ptr;
1454    #[link_name = "gr_init__extern"]
1455    pub fn gr_init(res: gr_ptr, ctx: *mut gr_ctx_struct);
1456    #[link_name = "gr_clear__extern"]
1457    pub fn gr_clear(res: gr_ptr, ctx: *mut gr_ctx_struct);
1458    #[link_name = "gr_swap__extern"]
1459    pub fn gr_swap(x: gr_ptr, y: gr_ptr, ctx: *mut gr_ctx_struct);
1460    #[link_name = "gr_set_shallow__extern"]
1461    pub fn gr_set_shallow(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct);
1462    #[link_name = "_gr_length__extern"]
1463    pub fn _gr_length(x: gr_srcptr, ctx: *mut gr_ctx_struct);
1464    #[link_name = "gr_randtest__extern"]
1465    pub fn gr_randtest(
1466        x: gr_ptr,
1467        state: *mut flint_rand_struct,
1468        ctx: *mut gr_ctx_struct,
1469    ) -> libc::c_int;
1470    #[link_name = "gr_randtest_not_zero__extern"]
1471    pub fn gr_randtest_not_zero(
1472        x: gr_ptr,
1473        state: *mut flint_rand_struct,
1474        ctx: *mut gr_ctx_struct,
1475    ) -> libc::c_int;
1476    #[link_name = "gr_randtest_invertible__extern"]
1477    pub fn gr_randtest_invertible(
1478        x: gr_ptr,
1479        state: *mut flint_rand_struct,
1480        ctx: *mut gr_ctx_struct,
1481    ) -> libc::c_int;
1482    #[link_name = "gr_randtest_small__extern"]
1483    pub fn gr_randtest_small(
1484        x: gr_ptr,
1485        state: *mut flint_rand_struct,
1486        ctx: *mut gr_ctx_struct,
1487    ) -> libc::c_int;
1488    #[link_name = "gr_write__extern"]
1489    pub fn gr_write(
1490        out: *mut gr_stream_struct,
1491        x: gr_srcptr,
1492        ctx: *mut gr_ctx_struct,
1493    ) -> libc::c_int;
1494    #[link_name = "gr_write_n__extern"]
1495    pub fn gr_write_n(
1496        out: *mut gr_stream_struct,
1497        x: gr_srcptr,
1498        n: slong,
1499        ctx: *mut gr_ctx_struct,
1500    ) -> libc::c_int;
1501    #[link_name = "gr_zero__extern"]
1502    pub fn gr_zero(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1503    #[link_name = "gr_one__extern"]
1504    pub fn gr_one(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1505    #[link_name = "gr_neg_one__extern"]
1506    pub fn gr_neg_one(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1507    #[link_name = "gr_set__extern"]
1508    pub fn gr_set(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1509    #[link_name = "gr_set_si__extern"]
1510    pub fn gr_set_si(res: gr_ptr, x: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
1511    #[link_name = "gr_set_ui__extern"]
1512    pub fn gr_set_ui(res: gr_ptr, x: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
1513    #[link_name = "gr_set_fmpz__extern"]
1514    pub fn gr_set_fmpz(res: gr_ptr, x: *const fmpz, ctx: *mut gr_ctx_struct) -> libc::c_int;
1515    #[link_name = "gr_set_fmpq__extern"]
1516    pub fn gr_set_fmpq(res: gr_ptr, x: *const fmpq, ctx: *mut gr_ctx_struct) -> libc::c_int;
1517    #[link_name = "gr_set_d__extern"]
1518    pub fn gr_set_d(res: gr_ptr, x: f64, ctx: *mut gr_ctx_struct) -> libc::c_int;
1519    #[link_name = "gr_set_other__extern"]
1520    pub fn gr_set_other(
1521        res: gr_ptr,
1522        x: gr_srcptr,
1523        x_ctx: *mut gr_ctx_struct,
1524        ctx: *mut gr_ctx_struct,
1525    ) -> libc::c_int;
1526    #[link_name = "gr_set_str__extern"]
1527    pub fn gr_set_str(res: gr_ptr, x: *const libc::c_char, ctx: *mut gr_ctx_struct) -> libc::c_int;
1528    #[link_name = "gr_get_si__extern"]
1529    pub fn gr_get_si(res: *mut slong, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1530    #[link_name = "gr_get_ui__extern"]
1531    pub fn gr_get_ui(res: *mut ulong, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1532    #[link_name = "gr_get_fmpz__extern"]
1533    pub fn gr_get_fmpz(res: *mut fmpz, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1534    #[link_name = "gr_get_fmpq__extern"]
1535    pub fn gr_get_fmpq(res: *mut fmpq, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1536    #[link_name = "gr_get_d__extern"]
1537    pub fn gr_get_d(res: *mut f64, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1538    #[link_name = "gr_is_zero__extern"]
1539    pub fn gr_is_zero(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
1540    #[link_name = "gr_is_one__extern"]
1541    pub fn gr_is_one(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
1542    #[link_name = "gr_is_neg_one__extern"]
1543    pub fn gr_is_neg_one(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
1544    #[link_name = "gr_equal__extern"]
1545    pub fn gr_equal(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
1546    #[link_name = "gr_not_equal__extern"]
1547    pub fn gr_not_equal(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
1548    #[link_name = "gr_neg__extern"]
1549    pub fn gr_neg(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1550    #[link_name = "gr_add__extern"]
1551    pub fn gr_add(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1552    #[link_name = "gr_add_ui__extern"]
1553    pub fn gr_add_ui(res: gr_ptr, x: gr_srcptr, y: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
1554    #[link_name = "gr_add_si__extern"]
1555    pub fn gr_add_si(res: gr_ptr, x: gr_srcptr, y: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
1556    #[link_name = "gr_add_fmpz__extern"]
1557    pub fn gr_add_fmpz(
1558        res: gr_ptr,
1559        x: gr_srcptr,
1560        y: *const fmpz,
1561        ctx: *mut gr_ctx_struct,
1562    ) -> libc::c_int;
1563    #[link_name = "gr_add_fmpq__extern"]
1564    pub fn gr_add_fmpq(
1565        res: gr_ptr,
1566        x: gr_srcptr,
1567        y: *const fmpq,
1568        ctx: *mut gr_ctx_struct,
1569    ) -> libc::c_int;
1570    #[link_name = "gr_add_other__extern"]
1571    pub fn gr_add_other(
1572        res: gr_ptr,
1573        x: gr_srcptr,
1574        y: gr_srcptr,
1575        y_ctx: *mut gr_ctx_struct,
1576        ctx: *mut gr_ctx_struct,
1577    ) -> libc::c_int;
1578    #[link_name = "gr_other_add__extern"]
1579    pub fn gr_other_add(
1580        res: gr_ptr,
1581        x: gr_srcptr,
1582        x_ctx: *mut gr_ctx_struct,
1583        y: gr_srcptr,
1584        ctx: *mut gr_ctx_struct,
1585    ) -> libc::c_int;
1586    #[link_name = "gr_sub__extern"]
1587    pub fn gr_sub(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1588    #[link_name = "gr_sub_ui__extern"]
1589    pub fn gr_sub_ui(res: gr_ptr, x: gr_srcptr, y: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
1590    #[link_name = "gr_sub_si__extern"]
1591    pub fn gr_sub_si(res: gr_ptr, x: gr_srcptr, y: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
1592    #[link_name = "gr_sub_fmpz__extern"]
1593    pub fn gr_sub_fmpz(
1594        res: gr_ptr,
1595        x: gr_srcptr,
1596        y: *const fmpz,
1597        ctx: *mut gr_ctx_struct,
1598    ) -> libc::c_int;
1599    #[link_name = "gr_sub_fmpq__extern"]
1600    pub fn gr_sub_fmpq(
1601        res: gr_ptr,
1602        x: gr_srcptr,
1603        y: *const fmpq,
1604        ctx: *mut gr_ctx_struct,
1605    ) -> libc::c_int;
1606    #[link_name = "gr_sub_other__extern"]
1607    pub fn gr_sub_other(
1608        res: gr_ptr,
1609        x: gr_srcptr,
1610        y: gr_srcptr,
1611        y_ctx: *mut gr_ctx_struct,
1612        ctx: *mut gr_ctx_struct,
1613    ) -> libc::c_int;
1614    #[link_name = "gr_other_sub__extern"]
1615    pub fn gr_other_sub(
1616        res: gr_ptr,
1617        x: gr_srcptr,
1618        x_ctx: *mut gr_ctx_struct,
1619        y: gr_srcptr,
1620        ctx: *mut gr_ctx_struct,
1621    ) -> libc::c_int;
1622    #[link_name = "gr_mul__extern"]
1623    pub fn gr_mul(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1624    #[link_name = "gr_mul_ui__extern"]
1625    pub fn gr_mul_ui(res: gr_ptr, x: gr_srcptr, y: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
1626    #[link_name = "gr_mul_si__extern"]
1627    pub fn gr_mul_si(res: gr_ptr, x: gr_srcptr, y: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
1628    #[link_name = "gr_mul_fmpz__extern"]
1629    pub fn gr_mul_fmpz(
1630        res: gr_ptr,
1631        x: gr_srcptr,
1632        y: *const fmpz,
1633        ctx: *mut gr_ctx_struct,
1634    ) -> libc::c_int;
1635    #[link_name = "gr_mul_fmpq__extern"]
1636    pub fn gr_mul_fmpq(
1637        res: gr_ptr,
1638        x: gr_srcptr,
1639        y: *const fmpq,
1640        ctx: *mut gr_ctx_struct,
1641    ) -> libc::c_int;
1642    #[link_name = "gr_mul_other__extern"]
1643    pub fn gr_mul_other(
1644        res: gr_ptr,
1645        x: gr_srcptr,
1646        y: gr_srcptr,
1647        y_ctx: *mut gr_ctx_struct,
1648        ctx: *mut gr_ctx_struct,
1649    ) -> libc::c_int;
1650    #[link_name = "gr_other_mul__extern"]
1651    pub fn gr_other_mul(
1652        res: gr_ptr,
1653        x: gr_srcptr,
1654        x_ctx: *mut gr_ctx_struct,
1655        y: gr_srcptr,
1656        ctx: *mut gr_ctx_struct,
1657    ) -> libc::c_int;
1658    #[link_name = "gr_addmul__extern"]
1659    pub fn gr_addmul(
1660        res: gr_ptr,
1661        x: gr_srcptr,
1662        y: gr_srcptr,
1663        ctx: *mut gr_ctx_struct,
1664    ) -> libc::c_int;
1665    #[link_name = "gr_addmul_ui__extern"]
1666    pub fn gr_addmul_ui(
1667        res: gr_ptr,
1668        x: gr_srcptr,
1669        y: ulong,
1670        ctx: *mut gr_ctx_struct,
1671    ) -> libc::c_int;
1672    #[link_name = "gr_addmul_si__extern"]
1673    pub fn gr_addmul_si(
1674        res: gr_ptr,
1675        x: gr_srcptr,
1676        y: slong,
1677        ctx: *mut gr_ctx_struct,
1678    ) -> libc::c_int;
1679    #[link_name = "gr_addmul_fmpz__extern"]
1680    pub fn gr_addmul_fmpz(
1681        res: gr_ptr,
1682        x: gr_srcptr,
1683        y: *const fmpz,
1684        ctx: *mut gr_ctx_struct,
1685    ) -> libc::c_int;
1686    #[link_name = "gr_addmul_fmpq__extern"]
1687    pub fn gr_addmul_fmpq(
1688        res: gr_ptr,
1689        x: gr_srcptr,
1690        y: *const fmpq,
1691        ctx: *mut gr_ctx_struct,
1692    ) -> libc::c_int;
1693    #[link_name = "gr_addmul_other__extern"]
1694    pub fn gr_addmul_other(
1695        res: gr_ptr,
1696        x: gr_srcptr,
1697        y: gr_srcptr,
1698        y_ctx: *mut gr_ctx_struct,
1699        ctx: *mut gr_ctx_struct,
1700    ) -> libc::c_int;
1701    #[link_name = "gr_submul__extern"]
1702    pub fn gr_submul(
1703        res: gr_ptr,
1704        x: gr_srcptr,
1705        y: gr_srcptr,
1706        ctx: *mut gr_ctx_struct,
1707    ) -> libc::c_int;
1708    #[link_name = "gr_submul_ui__extern"]
1709    pub fn gr_submul_ui(
1710        res: gr_ptr,
1711        x: gr_srcptr,
1712        y: ulong,
1713        ctx: *mut gr_ctx_struct,
1714    ) -> libc::c_int;
1715    #[link_name = "gr_submul_si__extern"]
1716    pub fn gr_submul_si(
1717        res: gr_ptr,
1718        x: gr_srcptr,
1719        y: slong,
1720        ctx: *mut gr_ctx_struct,
1721    ) -> libc::c_int;
1722    #[link_name = "gr_submul_fmpz__extern"]
1723    pub fn gr_submul_fmpz(
1724        res: gr_ptr,
1725        x: gr_srcptr,
1726        y: *const fmpz,
1727        ctx: *mut gr_ctx_struct,
1728    ) -> libc::c_int;
1729    #[link_name = "gr_submul_fmpq__extern"]
1730    pub fn gr_submul_fmpq(
1731        res: gr_ptr,
1732        x: gr_srcptr,
1733        y: *const fmpq,
1734        ctx: *mut gr_ctx_struct,
1735    ) -> libc::c_int;
1736    #[link_name = "gr_submul_other__extern"]
1737    pub fn gr_submul_other(
1738        res: gr_ptr,
1739        x: gr_srcptr,
1740        y: gr_srcptr,
1741        y_ctx: *mut gr_ctx_struct,
1742        ctx: *mut gr_ctx_struct,
1743    ) -> libc::c_int;
1744    #[link_name = "gr_mul_two__extern"]
1745    pub fn gr_mul_two(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1746    #[link_name = "gr_sqr__extern"]
1747    pub fn gr_sqr(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1748    #[link_name = "gr_mul_2exp_si__extern"]
1749    pub fn gr_mul_2exp_si(
1750        res: gr_ptr,
1751        x: gr_srcptr,
1752        y: slong,
1753        ctx: *mut gr_ctx_struct,
1754    ) -> libc::c_int;
1755    #[link_name = "gr_mul_2exp_fmpz__extern"]
1756    pub fn gr_mul_2exp_fmpz(
1757        res: gr_ptr,
1758        x: gr_srcptr,
1759        y: *const fmpz,
1760        ctx: *mut gr_ctx_struct,
1761    ) -> libc::c_int;
1762    #[link_name = "gr_set_fmpz_2exp_fmpz__extern"]
1763    pub fn gr_set_fmpz_2exp_fmpz(
1764        res: gr_ptr,
1765        x: *const fmpz,
1766        y: *const fmpz,
1767        ctx: *mut gr_ctx_struct,
1768    ) -> libc::c_int;
1769    #[link_name = "gr_get_fmpz_2exp_fmpz__extern"]
1770    pub fn gr_get_fmpz_2exp_fmpz(
1771        res1: *mut fmpz,
1772        res2: *mut fmpz,
1773        x: gr_srcptr,
1774        ctx: *mut gr_ctx_struct,
1775    ) -> libc::c_int;
1776    #[link_name = "gr_set_fmpz_10exp_fmpz__extern"]
1777    pub fn gr_set_fmpz_10exp_fmpz(
1778        res: gr_ptr,
1779        x: *const fmpz,
1780        y: *const fmpz,
1781        ctx: *mut gr_ctx_struct,
1782    ) -> libc::c_int;
1783    #[link_name = "gr_get_d_2exp_si__extern"]
1784    pub fn gr_get_d_2exp_si(
1785        res: *mut f64,
1786        exp: *mut slong,
1787        x: gr_srcptr,
1788        ctx: *mut gr_ctx_struct,
1789    ) -> libc::c_int;
1790    #[link_name = "gr_inv__extern"]
1791    pub fn gr_inv(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1792    #[link_name = "gr_is_invertible__extern"]
1793    pub fn gr_is_invertible(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
1794    #[link_name = "gr_div__extern"]
1795    pub fn gr_div(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1796    #[link_name = "gr_div_ui__extern"]
1797    pub fn gr_div_ui(res: gr_ptr, x: gr_srcptr, y: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
1798    #[link_name = "gr_div_si__extern"]
1799    pub fn gr_div_si(res: gr_ptr, x: gr_srcptr, y: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
1800    #[link_name = "gr_div_fmpz__extern"]
1801    pub fn gr_div_fmpz(
1802        res: gr_ptr,
1803        x: gr_srcptr,
1804        y: *const fmpz,
1805        ctx: *mut gr_ctx_struct,
1806    ) -> libc::c_int;
1807    #[link_name = "gr_div_fmpq__extern"]
1808    pub fn gr_div_fmpq(
1809        res: gr_ptr,
1810        x: gr_srcptr,
1811        y: *const fmpq,
1812        ctx: *mut gr_ctx_struct,
1813    ) -> libc::c_int;
1814    #[link_name = "gr_div_other__extern"]
1815    pub fn gr_div_other(
1816        res: gr_ptr,
1817        x: gr_srcptr,
1818        y: gr_srcptr,
1819        y_ctx: *mut gr_ctx_struct,
1820        ctx: *mut gr_ctx_struct,
1821    ) -> libc::c_int;
1822    #[link_name = "gr_other_div__extern"]
1823    pub fn gr_other_div(
1824        res: gr_ptr,
1825        x: gr_srcptr,
1826        x_ctx: *mut gr_ctx_struct,
1827        y: gr_srcptr,
1828        ctx: *mut gr_ctx_struct,
1829    ) -> libc::c_int;
1830    #[link_name = "gr_div_nonunique__extern"]
1831    pub fn gr_div_nonunique(
1832        res: gr_ptr,
1833        x: gr_srcptr,
1834        y: gr_srcptr,
1835        ctx: *mut gr_ctx_struct,
1836    ) -> libc::c_int;
1837    #[link_name = "gr_divides__extern"]
1838    pub fn gr_divides(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
1839    #[link_name = "gr_divexact__extern"]
1840    pub fn gr_divexact(
1841        res: gr_ptr,
1842        x: gr_srcptr,
1843        y: gr_srcptr,
1844        ctx: *mut gr_ctx_struct,
1845    ) -> libc::c_int;
1846    #[link_name = "gr_divexact_ui__extern"]
1847    pub fn gr_divexact_ui(
1848        res: gr_ptr,
1849        x: gr_srcptr,
1850        y: ulong,
1851        ctx: *mut gr_ctx_struct,
1852    ) -> libc::c_int;
1853    #[link_name = "gr_divexact_si__extern"]
1854    pub fn gr_divexact_si(
1855        res: gr_ptr,
1856        x: gr_srcptr,
1857        y: slong,
1858        ctx: *mut gr_ctx_struct,
1859    ) -> libc::c_int;
1860    #[link_name = "gr_divexact_fmpz__extern"]
1861    pub fn gr_divexact_fmpz(
1862        res: gr_ptr,
1863        x: gr_srcptr,
1864        y: *const fmpz,
1865        ctx: *mut gr_ctx_struct,
1866    ) -> libc::c_int;
1867    #[link_name = "gr_divexact_fmpq__extern"]
1868    pub fn gr_divexact_fmpq(
1869        res: gr_ptr,
1870        x: gr_srcptr,
1871        y: *const fmpq,
1872        ctx: *mut gr_ctx_struct,
1873    ) -> libc::c_int;
1874    #[link_name = "gr_divexact_other__extern"]
1875    pub fn gr_divexact_other(
1876        res: gr_ptr,
1877        x: gr_srcptr,
1878        y: gr_srcptr,
1879        y_ctx: *mut gr_ctx_struct,
1880        ctx: *mut gr_ctx_struct,
1881    ) -> libc::c_int;
1882    #[link_name = "gr_other_divexact__extern"]
1883    pub fn gr_other_divexact(
1884        res: gr_ptr,
1885        x: gr_srcptr,
1886        x_ctx: *mut gr_ctx_struct,
1887        y: gr_srcptr,
1888        ctx: *mut gr_ctx_struct,
1889    ) -> libc::c_int;
1890    #[link_name = "gr_euclidean_div__extern"]
1891    pub fn gr_euclidean_div(
1892        res: gr_ptr,
1893        x: gr_srcptr,
1894        y: gr_srcptr,
1895        ctx: *mut gr_ctx_struct,
1896    ) -> libc::c_int;
1897    #[link_name = "gr_euclidean_rem__extern"]
1898    pub fn gr_euclidean_rem(
1899        res: gr_ptr,
1900        x: gr_srcptr,
1901        y: gr_srcptr,
1902        ctx: *mut gr_ctx_struct,
1903    ) -> libc::c_int;
1904    #[link_name = "gr_euclidean_divrem__extern"]
1905    pub fn gr_euclidean_divrem(
1906        res1: gr_ptr,
1907        res2: gr_ptr,
1908        x: gr_srcptr,
1909        y: gr_srcptr,
1910        ctx: *mut gr_ctx_struct,
1911    ) -> libc::c_int;
1912    #[link_name = "gr_gcd__extern"]
1913    pub fn gr_gcd(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1914    #[link_name = "gr_lcm__extern"]
1915    pub fn gr_lcm(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1916    #[link_name = "gr_numerator__extern"]
1917    pub fn gr_numerator(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1918    #[link_name = "gr_denominator__extern"]
1919    pub fn gr_denominator(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1920    #[link_name = "gr_factor__extern"]
1921    pub fn gr_factor(
1922        c: gr_ptr,
1923        factors: *mut gr_vec_struct,
1924        exponents: *mut gr_vec_struct,
1925        x: gr_srcptr,
1926        flags: libc::c_int,
1927        ctx: *mut gr_ctx_struct,
1928    ) -> libc::c_int;
1929    #[link_name = "gr_pow__extern"]
1930    pub fn gr_pow(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1931    #[link_name = "gr_pow_ui__extern"]
1932    pub fn gr_pow_ui(res: gr_ptr, x: gr_srcptr, y: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
1933    #[link_name = "gr_pow_si__extern"]
1934    pub fn gr_pow_si(res: gr_ptr, x: gr_srcptr, y: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
1935    #[link_name = "gr_pow_fmpz__extern"]
1936    pub fn gr_pow_fmpz(
1937        res: gr_ptr,
1938        x: gr_srcptr,
1939        y: *const fmpz,
1940        ctx: *mut gr_ctx_struct,
1941    ) -> libc::c_int;
1942    #[link_name = "gr_pow_fmpq__extern"]
1943    pub fn gr_pow_fmpq(
1944        res: gr_ptr,
1945        x: gr_srcptr,
1946        y: *const fmpq,
1947        ctx: *mut gr_ctx_struct,
1948    ) -> libc::c_int;
1949    #[link_name = "gr_pow_other__extern"]
1950    pub fn gr_pow_other(
1951        res: gr_ptr,
1952        x: gr_srcptr,
1953        y: gr_srcptr,
1954        y_ctx: *mut gr_ctx_struct,
1955        ctx: *mut gr_ctx_struct,
1956    ) -> libc::c_int;
1957    #[link_name = "gr_other_pow__extern"]
1958    pub fn gr_other_pow(
1959        res: gr_ptr,
1960        x: gr_srcptr,
1961        x_ctx: *mut gr_ctx_struct,
1962        y: gr_srcptr,
1963        ctx: *mut gr_ctx_struct,
1964    ) -> libc::c_int;
1965    #[link_name = "gr_derivative_gen__extern"]
1966    pub fn gr_derivative_gen(
1967        res: gr_ptr,
1968        x: gr_srcptr,
1969        var: slong,
1970        ctx: *mut gr_ctx_struct,
1971    ) -> libc::c_int;
1972    #[link_name = "gr_sqrt__extern"]
1973    pub fn gr_sqrt(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1974    #[link_name = "gr_rsqrt__extern"]
1975    pub fn gr_rsqrt(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1976    #[link_name = "gr_is_square__extern"]
1977    pub fn gr_is_square(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
1978    #[link_name = "gr_floor__extern"]
1979    pub fn gr_floor(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1980    #[link_name = "gr_ceil__extern"]
1981    pub fn gr_ceil(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1982    #[link_name = "gr_trunc__extern"]
1983    pub fn gr_trunc(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1984    #[link_name = "gr_nint__extern"]
1985    pub fn gr_nint(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1986    #[link_name = "gr_abs__extern"]
1987    pub fn gr_abs(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1988    #[link_name = "gr_i__extern"]
1989    pub fn gr_i(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1990    #[link_name = "gr_conj__extern"]
1991    pub fn gr_conj(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1992    #[link_name = "gr_re__extern"]
1993    pub fn gr_re(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1994    #[link_name = "gr_im__extern"]
1995    pub fn gr_im(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1996    #[link_name = "gr_sgn__extern"]
1997    pub fn gr_sgn(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
1998    #[link_name = "gr_csgn__extern"]
1999    pub fn gr_csgn(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
2000    #[link_name = "gr_arg__extern"]
2001    pub fn gr_arg(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
2002    #[link_name = "gr_canonical_associate__extern"]
2003    pub fn gr_canonical_associate(
2004        res1: gr_ptr,
2005        res2: gr_ptr,
2006        x: gr_srcptr,
2007        ctx: *mut gr_ctx_struct,
2008    ) -> libc::c_int;
2009    #[link_name = "gr_pos_inf__extern"]
2010    pub fn gr_pos_inf(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
2011    #[link_name = "gr_neg_inf__extern"]
2012    pub fn gr_neg_inf(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
2013    #[link_name = "gr_uinf__extern"]
2014    pub fn gr_uinf(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
2015    #[link_name = "gr_undefined__extern"]
2016    pub fn gr_undefined(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
2017    #[link_name = "gr_unknown__extern"]
2018    pub fn gr_unknown(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
2019    #[link_name = "gr_cmp__extern"]
2020    pub fn gr_cmp(
2021        res: *mut libc::c_int,
2022        x: gr_srcptr,
2023        y: gr_srcptr,
2024        ctx: *mut gr_ctx_struct,
2025    ) -> libc::c_int;
2026    #[link_name = "gr_cmpabs__extern"]
2027    pub fn gr_cmpabs(
2028        res: *mut libc::c_int,
2029        x: gr_srcptr,
2030        y: gr_srcptr,
2031        ctx: *mut gr_ctx_struct,
2032    ) -> libc::c_int;
2033    #[link_name = "gr_cmp_other__extern"]
2034    pub fn gr_cmp_other(
2035        res: *mut libc::c_int,
2036        x: gr_srcptr,
2037        y: gr_srcptr,
2038        y_ctx: *mut gr_ctx_struct,
2039        ctx: *mut gr_ctx_struct,
2040    ) -> libc::c_int;
2041    #[link_name = "gr_cmpabs_other__extern"]
2042    pub fn gr_cmpabs_other(
2043        res: *mut libc::c_int,
2044        x: gr_srcptr,
2045        y: gr_srcptr,
2046        y_ctx: *mut gr_ctx_struct,
2047        ctx: *mut gr_ctx_struct,
2048    ) -> libc::c_int;
2049    #[link_name = "gr_le__extern"]
2050    pub fn gr_le(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
2051    #[link_name = "gr_lt__extern"]
2052    pub fn gr_lt(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
2053    #[link_name = "gr_ge__extern"]
2054    pub fn gr_ge(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
2055    #[link_name = "gr_gt__extern"]
2056    pub fn gr_gt(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
2057    #[link_name = "gr_abs_le__extern"]
2058    pub fn gr_abs_le(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
2059    #[link_name = "gr_abs_lt__extern"]
2060    pub fn gr_abs_lt(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
2061    #[link_name = "gr_abs_ge__extern"]
2062    pub fn gr_abs_ge(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
2063    #[link_name = "gr_abs_gt__extern"]
2064    pub fn gr_abs_gt(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
2065    #[link_name = "gr_min__extern"]
2066    pub fn gr_min(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
2067    #[link_name = "gr_max__extern"]
2068    pub fn gr_max(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
2069    #[link_name = "gr_gen__extern"]
2070    pub fn gr_gen(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
2071    #[link_name = "gr_gens__extern"]
2072    pub fn gr_gens(res: *mut gr_vec_struct, ctx: *mut gr_ctx_struct) -> libc::c_int;
2073    #[link_name = "gr_gens_recursive__extern"]
2074    pub fn gr_gens_recursive(res: *mut gr_vec_struct, ctx: *mut gr_ctx_struct) -> libc::c_int;
2075    #[link_name = "gr_ctx_fq_prime__extern"]
2076    pub fn gr_ctx_fq_prime(res: *mut fmpz, ctx: *mut gr_ctx_struct) -> libc::c_int;
2077    #[link_name = "gr_ctx_fq_degree__extern"]
2078    pub fn gr_ctx_fq_degree(res: *mut slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
2079    #[link_name = "gr_ctx_fq_order__extern"]
2080    pub fn gr_ctx_fq_order(res: *mut fmpz, ctx: *mut gr_ctx_struct) -> libc::c_int;
2081    #[link_name = "gr_fq_frobenius__extern"]
2082    pub fn gr_fq_frobenius(
2083        res: gr_ptr,
2084        x: gr_srcptr,
2085        e: slong,
2086        ctx: *mut gr_ctx_struct,
2087    ) -> libc::c_int;
2088    #[link_name = "gr_fq_multiplicative_order__extern"]
2089    pub fn gr_fq_multiplicative_order(
2090        res: *mut fmpz,
2091        x: gr_srcptr,
2092        ctx: *mut gr_ctx_struct,
2093    ) -> libc::c_int;
2094    #[link_name = "gr_fq_norm__extern"]
2095    pub fn gr_fq_norm(res: *mut fmpz, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
2096    #[link_name = "gr_fq_trace__extern"]
2097    pub fn gr_fq_trace(res: *mut fmpz, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
2098    #[link_name = "gr_fq_is_primitive__extern"]
2099    pub fn gr_fq_is_primitive(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
2100    #[link_name = "gr_fq_pth_root__extern"]
2101    pub fn gr_fq_pth_root(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
2102    #[link_name = "gr_set_interval_mid_rad__extern"]
2103    pub fn gr_set_interval_mid_rad(
2104        res: gr_ptr,
2105        m: gr_srcptr,
2106        r: gr_srcptr,
2107        ctx: *mut gr_ctx_struct,
2108    ) -> libc::c_int;
2109    #[link_name = "_gr_vec_init__extern"]
2110    pub fn _gr_vec_init(vec: gr_ptr, len: slong, ctx: *mut gr_ctx_struct);
2111    #[link_name = "_gr_vec_clear__extern"]
2112    pub fn _gr_vec_clear(vec: gr_ptr, len: slong, ctx: *mut gr_ctx_struct);
2113    #[link_name = "_gr_vec_swap__extern"]
2114    pub fn _gr_vec_swap(vec1: gr_ptr, vec2: gr_ptr, len: slong, ctx: *mut gr_ctx_struct);
2115    pub fn gr_ctx_print(ctx: *mut gr_ctx_struct) -> libc::c_int;
2116    pub fn gr_ctx_println(ctx: *mut gr_ctx_struct) -> libc::c_int;
2117    pub fn gr_print(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
2118    pub fn gr_println(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
2119    pub fn gr_ctx_get_str(s: *mut *mut libc::c_char, ctx: *mut gr_ctx_struct) -> libc::c_int;
2120    pub fn gr_get_str(
2121        s: *mut *mut libc::c_char,
2122        x: gr_srcptr,
2123        ctx: *mut gr_ctx_struct,
2124    ) -> libc::c_int;
2125    pub fn gr_get_str_n(
2126        s: *mut *mut libc::c_char,
2127        x: gr_srcptr,
2128        n: slong,
2129        ctx: *mut gr_ctx_struct,
2130    ) -> libc::c_int;
2131    #[link_name = "gr_heap_init__extern"]
2132    pub fn gr_heap_init(ctx: *mut gr_ctx_struct) -> gr_ptr;
2133    #[link_name = "gr_heap_clear__extern"]
2134    pub fn gr_heap_clear(x: gr_ptr, ctx: *mut gr_ctx_struct);
2135    #[link_name = "gr_heap_init_vec__extern"]
2136    pub fn gr_heap_init_vec(len: slong, ctx: *mut gr_ctx_struct) -> gr_ptr;
2137    #[link_name = "gr_heap_clear_vec__extern"]
2138    pub fn gr_heap_clear_vec(x: gr_ptr, len: slong, ctx: *mut gr_ctx_struct);
2139    pub fn gr_generic_ctx_predicate(ctx: *mut gr_ctx_struct) -> truth_t;
2140    pub fn gr_generic_ctx_predicate_true(ctx: *mut gr_ctx_struct) -> truth_t;
2141    pub fn gr_generic_ctx_predicate_false(ctx: *mut gr_ctx_struct) -> truth_t;
2142    pub fn gr_ctx_uninitialized(ctx: *mut gr_ctx_struct);
2143    pub fn gr_ctx_init_random(ctx: *mut gr_ctx_struct, state: *mut flint_rand_struct);
2144    pub fn gr_ctx_init_random_commutative_ring(
2145        ctx: *mut gr_ctx_struct,
2146        state: *mut flint_rand_struct,
2147    );
2148    pub fn gr_ctx_init_random_field(ctx: *mut gr_ctx_struct, state: *mut flint_rand_struct);
2149    pub fn gr_ctx_init_random_poly(ctx: *mut gr_ctx_struct, state: *mut flint_rand_struct);
2150    pub fn gr_ctx_init_random_mpoly(ctx: *mut gr_ctx_struct, state: *mut flint_rand_struct);
2151    pub fn gr_ctx_init_random_series(ctx: *mut gr_ctx_struct, state: *mut flint_rand_struct);
2152    pub fn gr_ctx_init_fmpz(ctx: *mut gr_ctx_struct);
2153    pub fn gr_ctx_init_fmpq(ctx: *mut gr_ctx_struct);
2154    pub fn gr_ctx_init_fmpzi(ctx: *mut gr_ctx_struct);
2155    pub fn gr_ctx_init_fmpz_mod(ctx: *mut gr_ctx_struct, n: *const fmpz);
2156    pub fn _gr_ctx_init_fmpz_mod_from_ref(ctx: *mut gr_ctx_struct, fmod_ctx: *const libc::c_void);
2157    pub fn gr_ctx_init_nmod(ctx: *mut gr_ctx_struct, n: ulong) -> libc::c_int;
2158    pub fn _gr_ctx_init_nmod(ctx: *mut gr_ctx_struct, nmod_t_ref: *mut libc::c_void);
2159    pub fn gr_ctx_init_nmod8(ctx: *mut gr_ctx_struct, n: ulong) -> libc::c_int;
2160    pub fn gr_ctx_init_nmod32(ctx: *mut gr_ctx_struct, n: ulong) -> libc::c_int;
2161    pub fn gr_ctx_init_mpn_mod(ctx: *mut gr_ctx_struct, n: *const fmpz) -> libc::c_int;
2162    pub fn gr_ctx_init_real_qqbar(ctx: *mut gr_ctx_struct);
2163    pub fn gr_ctx_init_complex_qqbar(ctx: *mut gr_ctx_struct);
2164    pub fn _gr_ctx_qqbar_set_limits(ctx: *mut gr_ctx_struct, deg_limit: slong, bits_limit: slong);
2165    pub fn gr_ctx_init_real_arb(ctx: *mut gr_ctx_struct, prec: slong);
2166    pub fn gr_ctx_init_complex_acb(ctx: *mut gr_ctx_struct, prec: slong);
2167    pub fn gr_ctx_init_real_float_arf(ctx: *mut gr_ctx_struct, prec: slong);
2168    pub fn gr_ctx_init_complex_float_acf(ctx: *mut gr_ctx_struct, prec: slong);
2169    pub fn gr_ctx_init_mpf(ctx: *mut gr_ctx_struct, prec: slong);
2170    pub fn gr_ctx_init_real_ca(ctx: *mut gr_ctx_struct);
2171    pub fn gr_ctx_init_complex_ca(ctx: *mut gr_ctx_struct);
2172    pub fn gr_ctx_init_real_algebraic_ca(ctx: *mut gr_ctx_struct);
2173    pub fn gr_ctx_init_complex_algebraic_ca(ctx: *mut gr_ctx_struct);
2174    pub fn gr_ctx_init_complex_extended_ca(ctx: *mut gr_ctx_struct);
2175    pub fn _gr_ctx_init_ca_from_ref(
2176        ctx: *mut gr_ctx_struct,
2177        which_ring: libc::c_int,
2178        ca_ctx: *mut libc::c_void,
2179    );
2180    pub fn gr_ctx_ca_set_option(ctx: *mut gr_ctx_struct, option: slong, value: slong);
2181    pub fn gr_ctx_ca_get_option(ctx: *mut gr_ctx_struct, option: slong) -> slong;
2182    pub fn gr_ctx_init_fq(
2183        ctx: *mut gr_ctx_struct,
2184        p: *const fmpz,
2185        d: slong,
2186        var: *const libc::c_char,
2187    );
2188    pub fn gr_ctx_init_fq_nmod(
2189        ctx: *mut gr_ctx_struct,
2190        p: ulong,
2191        d: slong,
2192        var: *const libc::c_char,
2193    );
2194    pub fn gr_ctx_init_fq_zech(
2195        ctx: *mut gr_ctx_struct,
2196        p: ulong,
2197        d: slong,
2198        var: *const libc::c_char,
2199    );
2200    pub fn _gr_ctx_init_fq_from_ref(ctx: *mut gr_ctx_struct, fq_ctx: *const libc::c_void);
2201    pub fn _gr_ctx_init_fq_nmod_from_ref(ctx: *mut gr_ctx_struct, fq_nmod_ctx: *const libc::c_void);
2202    pub fn _gr_ctx_init_fq_zech_from_ref(ctx: *mut gr_ctx_struct, fq_zech_ctx: *const libc::c_void);
2203    pub fn gr_ctx_init_fmpz_poly(ctx: *mut gr_ctx_struct);
2204    pub fn gr_ctx_init_fmpq_poly(ctx: *mut gr_ctx_struct);
2205    pub fn gr_ctx_init_perm(ctx: *mut gr_ctx_struct, n: ulong);
2206    pub fn gr_ctx_init_psl2z(ctx: *mut gr_ctx_struct);
2207    pub fn gr_ctx_init_dirichlet_group(ctx: *mut gr_ctx_struct, q: ulong) -> libc::c_int;
2208    pub fn gr_ctx_init_gr_poly(ctx: *mut gr_ctx_struct, base_ring: *mut gr_ctx_struct);
2209    pub fn gr_ctx_init_gr_fraction(
2210        ctx: *mut gr_ctx_struct,
2211        domain: *mut gr_ctx_struct,
2212        flags: libc::c_int,
2213    );
2214    pub fn gr_ctx_init_gr_complex(ctx: *mut gr_ctx_struct, real_ctx: *mut gr_ctx_struct);
2215    pub fn gr_ctx_init_gr_series(
2216        ctx: *mut gr_ctx_struct,
2217        base_ring: *mut gr_ctx_struct,
2218        prec: slong,
2219    );
2220    pub fn gr_ctx_init_series_mod_gr_poly(
2221        ctx: *mut gr_ctx_struct,
2222        base_ring: *mut gr_ctx_struct,
2223        n: slong,
2224    );
2225    pub fn gr_ctx_init_vector_gr_vec(ctx: *mut gr_ctx_struct, base_ring: *mut gr_ctx_struct);
2226    pub fn gr_ctx_init_vector_space_gr_vec(
2227        ctx: *mut gr_ctx_struct,
2228        base_ring: *mut gr_ctx_struct,
2229        n: slong,
2230    );
2231    pub fn gr_ctx_init_matrix_domain(ctx: *mut gr_ctx_struct, base_ring: *mut gr_ctx_struct);
2232    pub fn gr_ctx_init_matrix_space(
2233        ctx: *mut gr_ctx_struct,
2234        base_ring: *mut gr_ctx_struct,
2235        nrows: slong,
2236        ncols: slong,
2237    );
2238    pub fn gr_ctx_matrix_is_fixed_size(ctx: *mut gr_ctx_struct) -> truth_t;
2239    #[link_name = "gr_ctx_init_matrix_ring__extern"]
2240    pub fn gr_ctx_init_matrix_ring(
2241        ctx: *mut gr_ctx_struct,
2242        base_ring: *mut gr_ctx_struct,
2243        n: slong,
2244    );
2245    pub fn gr_ctx_init_fexpr(ctx: *mut gr_ctx_struct);
2246    pub fn gr_ctx_cmp_coercion(ctx1: *mut gr_ctx_struct, ctx2: *mut gr_ctx_struct) -> libc::c_int;
2247    pub fn gr_ctx_init_debug(
2248        ctx: *mut gr_ctx_struct,
2249        elem_ctx: *mut gr_ctx_struct,
2250        flags: libc::c_int,
2251        unable_probability: f64,
2252    );
2253    pub fn gr_test_ring(R: *mut gr_ctx_struct, iters: slong, test_flags: libc::c_int);
2254    pub fn gr_test_multiplicative_group(
2255        R: *mut gr_ctx_struct,
2256        iters: slong,
2257        test_flags: libc::c_int,
2258    );
2259    pub fn gr_test_floating_point(R: *mut gr_ctx_struct, iters: slong, test_flags: libc::c_int);
2260    pub fn gr_test_cmp_fun(
2261        R: *mut gr_ctx_struct,
2262        op: gr_method_binary_op_get_int,
2263        R_ref: *mut gr_ctx_struct,
2264        state: *mut flint_rand_struct,
2265        test_flags: libc::c_int,
2266    ) -> libc::c_int;
2267    pub fn gr_test_approx_unary_op(
2268        R: *mut gr_ctx_struct,
2269        op: gr_method_unary_op,
2270        R_ref: *mut gr_ctx_struct,
2271        rel_tol: gr_srcptr,
2272        state: *mut flint_rand_struct,
2273        test_flags: libc::c_int,
2274    ) -> libc::c_int;
2275    pub fn gr_test_approx_binary_op(
2276        R: *mut gr_ctx_struct,
2277        op: gr_method_binary_op,
2278        R_ref: *mut gr_ctx_struct,
2279        rel_tol: gr_srcptr,
2280        state: *mut flint_rand_struct,
2281        test_flags: libc::c_int,
2282    ) -> libc::c_int;
2283    pub fn gr_test_approx_binary_op_type_variants(
2284        R: *mut gr_ctx_struct,
2285        opname: *const libc::c_char,
2286        gr_op: gr_method_binary_op,
2287        gr_op_ui: gr_method_binary_op_ui,
2288        gr_op_si: gr_method_binary_op_si,
2289        gr_op_fmpz: gr_method_binary_op_fmpz,
2290        gr_op_fmpq: gr_method_binary_op_fmpq,
2291        fused: libc::c_int,
2292        small_test_values: libc::c_int,
2293        rel_tol: gr_srcptr,
2294        state: *mut flint_rand_struct,
2295        test_flags: libc::c_int,
2296    ) -> libc::c_int;
2297    pub fn gr_test_approx_dot(
2298        R: *mut gr_ctx_struct,
2299        R_ref: *mut gr_ctx_struct,
2300        maxlen: slong,
2301        rel_tol: gr_srcptr,
2302        state: *mut flint_rand_struct,
2303        test_flags: libc::c_int,
2304    ) -> libc::c_int;
2305    pub fn gr_test_factor(
2306        R: *mut gr_ctx_struct,
2307        state: *mut flint_rand_struct,
2308        test_flags: libc::c_int,
2309    ) -> libc::c_int;
2310    pub fn gr_test_pow_ui_exponent_addition(
2311        R: *mut gr_ctx_struct,
2312        state: *mut flint_rand_struct,
2313        test_flags: libc::c_int,
2314    ) -> libc::c_int;
2315    pub fn gr_test_pow_ui_base_scalar_multiplication(
2316        R: *mut gr_ctx_struct,
2317        state: *mut flint_rand_struct,
2318        test_flags: libc::c_int,
2319    ) -> libc::c_int;
2320    pub fn gr_test_pow_ui_base_multiplication(
2321        R: *mut gr_ctx_struct,
2322        state: *mut flint_rand_struct,
2323        test_flags: libc::c_int,
2324    ) -> libc::c_int;
2325    pub fn gr_test_pow_ui_aliasing(
2326        R: *mut gr_ctx_struct,
2327        state: *mut flint_rand_struct,
2328        test_flags: libc::c_int,
2329    ) -> libc::c_int;
2330    pub fn gr_test_pow_fmpz_exponent_addition(
2331        R: *mut gr_ctx_struct,
2332        state: *mut flint_rand_struct,
2333        test_flags: libc::c_int,
2334    ) -> libc::c_int;
2335}