use libc::*;
use crate::deps::*;
use crate::flint::*;
use crate::gr_types::*;
pub const GR_TMP_VEC_ALLOC_MAX_STACK: u32 = 1024;
pub const GR_FRACTION_NO_REDUCTION: u32 = 1;
pub const GR_FRACTION_STRONGLY_CANONICAL: u32 = 2;
pub const GR_DEBUG_WRAP: u32 = 1;
pub const GR_DEBUG_VERBOSE: u32 = 2;
pub const GR_DEBUG_CHECK_ALWAYS_ABLE: u32 = 4;
pub const GR_DEBUG_TIMING: u32 = 8;
pub const GR_TEST_VERBOSE: u32 = 8;
pub const GR_TEST_ALWAYS_ABLE: u32 = 16;
pub const gr_method_GR_METHOD_CTX_WRITE: gr_method = 0;
pub const gr_method_GR_METHOD_CTX_CLEAR: gr_method = 1;
pub const gr_method_GR_METHOD_CTX_IS_RING: gr_method = 2;
pub const gr_method_GR_METHOD_CTX_IS_COMMUTATIVE_RING: gr_method = 3;
pub const gr_method_GR_METHOD_CTX_IS_INTEGRAL_DOMAIN: gr_method = 4;
pub const gr_method_GR_METHOD_CTX_IS_FIELD: gr_method = 5;
pub const gr_method_GR_METHOD_CTX_IS_UNIQUE_FACTORIZATION_DOMAIN: gr_method = 6;
pub const gr_method_GR_METHOD_CTX_IS_FINITE: gr_method = 7;
pub const gr_method_GR_METHOD_CTX_IS_FINITE_CHARACTERISTIC: gr_method = 8;
pub const gr_method_GR_METHOD_CTX_IS_ALGEBRAICALLY_CLOSED: gr_method = 9;
pub const gr_method_GR_METHOD_CTX_IS_ZERO_RING: gr_method = 10;
pub const gr_method_GR_METHOD_CTX_IS_RATIONAL_VECTOR_SPACE: gr_method = 11;
pub const gr_method_GR_METHOD_CTX_IS_REAL_VECTOR_SPACE: gr_method = 12;
pub const gr_method_GR_METHOD_CTX_IS_COMPLEX_VECTOR_SPACE: gr_method = 13;
pub const gr_method_GR_METHOD_CTX_IS_ORDERED_RING: gr_method = 14;
pub const gr_method_GR_METHOD_CTX_IS_APPROX_COMMUTATIVE_RING: gr_method = 15;
pub const gr_method_GR_METHOD_CTX_IS_MULTIPLICATIVE_GROUP: gr_method = 16;
pub const gr_method_GR_METHOD_CTX_IS_EXACT: gr_method = 17;
pub const gr_method_GR_METHOD_CTX_IS_CANONICAL: gr_method = 18;
pub const gr_method_GR_METHOD_CTX_IS_THREADSAFE: gr_method = 19;
pub const gr_method_GR_METHOD_CTX_HAS_REAL_PREC: gr_method = 20;
pub const gr_method_GR_METHOD_CTX_SET_REAL_PREC: gr_method = 21;
pub const gr_method_GR_METHOD_CTX_GET_REAL_PREC: gr_method = 22;
pub const gr_method_GR_METHOD_CTX_SET_IS_FIELD: gr_method = 23;
pub const gr_method_GR_METHOD_CTX_SET_GEN_NAME: gr_method = 24;
pub const gr_method_GR_METHOD_CTX_SET_GEN_NAMES: gr_method = 25;
pub const gr_method_GR_METHOD_CTX_NGENS: gr_method = 26;
pub const gr_method_GR_METHOD_CTX_GEN_NAME: gr_method = 27;
pub const gr_method_GR_METHOD_CTX_BASE: gr_method = 28;
pub const gr_method_GR_METHOD_INIT: gr_method = 29;
pub const gr_method_GR_METHOD_CLEAR: gr_method = 30;
pub const gr_method_GR_METHOD_SWAP: gr_method = 31;
pub const gr_method_GR_METHOD_SET_SHALLOW: gr_method = 32;
pub const gr_method_GR_METHOD_WRITE: gr_method = 33;
pub const gr_method_GR_METHOD_WRITE_N: gr_method = 34;
pub const gr_method__GR_METHOD_LENGTH: gr_method = 35;
pub const gr_method_GR_METHOD_RANDTEST: gr_method = 36;
pub const gr_method_GR_METHOD_RANDTEST_NOT_ZERO: gr_method = 37;
pub const gr_method_GR_METHOD_RANDTEST_INVERTIBLE: gr_method = 38;
pub const gr_method_GR_METHOD_RANDTEST_SMALL: gr_method = 39;
pub const gr_method_GR_METHOD_ZERO: gr_method = 40;
pub const gr_method_GR_METHOD_ONE: gr_method = 41;
pub const gr_method_GR_METHOD_NEG_ONE: gr_method = 42;
pub const gr_method_GR_METHOD_IS_ZERO: gr_method = 43;
pub const gr_method_GR_METHOD_IS_ONE: gr_method = 44;
pub const gr_method_GR_METHOD_IS_NEG_ONE: gr_method = 45;
pub const gr_method_GR_METHOD_EQUAL: gr_method = 46;
pub const gr_method_GR_METHOD_SET: gr_method = 47;
pub const gr_method_GR_METHOD_SET_UI: gr_method = 48;
pub const gr_method_GR_METHOD_SET_SI: gr_method = 49;
pub const gr_method_GR_METHOD_SET_FMPZ: gr_method = 50;
pub const gr_method_GR_METHOD_SET_FMPQ: gr_method = 51;
pub const gr_method_GR_METHOD_SET_D: gr_method = 52;
pub const gr_method_GR_METHOD_SET_OTHER: gr_method = 53;
pub const gr_method_GR_METHOD_SET_STR: gr_method = 54;
pub const gr_method_GR_METHOD_GET_SI: gr_method = 55;
pub const gr_method_GR_METHOD_GET_UI: gr_method = 56;
pub const gr_method_GR_METHOD_GET_FMPZ: gr_method = 57;
pub const gr_method_GR_METHOD_GET_FMPQ: gr_method = 58;
pub const gr_method_GR_METHOD_GET_D: gr_method = 59;
pub const gr_method_GR_METHOD_GET_FEXPR: gr_method = 60;
pub const gr_method_GR_METHOD_GET_FEXPR_SERIALIZE: gr_method = 61;
pub const gr_method_GR_METHOD_SET_FEXPR: gr_method = 62;
pub const gr_method_GR_METHOD_NEG: gr_method = 63;
pub const gr_method_GR_METHOD_ADD: gr_method = 64;
pub const gr_method_GR_METHOD_ADD_UI: gr_method = 65;
pub const gr_method_GR_METHOD_ADD_SI: gr_method = 66;
pub const gr_method_GR_METHOD_ADD_FMPZ: gr_method = 67;
pub const gr_method_GR_METHOD_ADD_FMPQ: gr_method = 68;
pub const gr_method_GR_METHOD_ADD_OTHER: gr_method = 69;
pub const gr_method_GR_METHOD_OTHER_ADD: gr_method = 70;
pub const gr_method_GR_METHOD_SUB: gr_method = 71;
pub const gr_method_GR_METHOD_SUB_UI: gr_method = 72;
pub const gr_method_GR_METHOD_SUB_SI: gr_method = 73;
pub const gr_method_GR_METHOD_SUB_FMPZ: gr_method = 74;
pub const gr_method_GR_METHOD_SUB_FMPQ: gr_method = 75;
pub const gr_method_GR_METHOD_SUB_OTHER: gr_method = 76;
pub const gr_method_GR_METHOD_OTHER_SUB: gr_method = 77;
pub const gr_method_GR_METHOD_MUL: gr_method = 78;
pub const gr_method_GR_METHOD_MUL_UI: gr_method = 79;
pub const gr_method_GR_METHOD_MUL_SI: gr_method = 80;
pub const gr_method_GR_METHOD_MUL_FMPZ: gr_method = 81;
pub const gr_method_GR_METHOD_MUL_FMPQ: gr_method = 82;
pub const gr_method_GR_METHOD_MUL_OTHER: gr_method = 83;
pub const gr_method_GR_METHOD_OTHER_MUL: gr_method = 84;
pub const gr_method_GR_METHOD_ADDMUL: gr_method = 85;
pub const gr_method_GR_METHOD_ADDMUL_UI: gr_method = 86;
pub const gr_method_GR_METHOD_ADDMUL_SI: gr_method = 87;
pub const gr_method_GR_METHOD_ADDMUL_FMPZ: gr_method = 88;
pub const gr_method_GR_METHOD_ADDMUL_FMPQ: gr_method = 89;
pub const gr_method_GR_METHOD_ADDMUL_OTHER: gr_method = 90;
pub const gr_method_GR_METHOD_SUBMUL: gr_method = 91;
pub const gr_method_GR_METHOD_SUBMUL_UI: gr_method = 92;
pub const gr_method_GR_METHOD_SUBMUL_SI: gr_method = 93;
pub const gr_method_GR_METHOD_SUBMUL_FMPZ: gr_method = 94;
pub const gr_method_GR_METHOD_SUBMUL_FMPQ: gr_method = 95;
pub const gr_method_GR_METHOD_SUBMUL_OTHER: gr_method = 96;
pub const gr_method_GR_METHOD_FMA: gr_method = 97;
pub const gr_method_GR_METHOD_FMS: gr_method = 98;
pub const gr_method_GR_METHOD_FMMA: gr_method = 99;
pub const gr_method_GR_METHOD_FMMS: gr_method = 100;
pub const gr_method_GR_METHOD_MUL_TWO: gr_method = 101;
pub const gr_method_GR_METHOD_SQR: gr_method = 102;
pub const gr_method_GR_METHOD_MUL_2EXP_SI: gr_method = 103;
pub const gr_method_GR_METHOD_MUL_2EXP_FMPZ: gr_method = 104;
pub const gr_method_GR_METHOD_SET_FMPZ_2EXP_FMPZ: gr_method = 105;
pub const gr_method_GR_METHOD_GET_FMPZ_2EXP_FMPZ: gr_method = 106;
pub const gr_method_GR_METHOD_SET_FMPZ_10EXP_FMPZ: gr_method = 107;
pub const gr_method_GR_METHOD_GET_D_2EXP_SI: gr_method = 108;
pub const gr_method_GR_METHOD_IS_INVERTIBLE: gr_method = 109;
pub const gr_method_GR_METHOD_INV: gr_method = 110;
pub const gr_method_GR_METHOD_DIV: gr_method = 111;
pub const gr_method_GR_METHOD_DIV_UI: gr_method = 112;
pub const gr_method_GR_METHOD_DIV_SI: gr_method = 113;
pub const gr_method_GR_METHOD_DIV_FMPZ: gr_method = 114;
pub const gr_method_GR_METHOD_DIV_FMPQ: gr_method = 115;
pub const gr_method_GR_METHOD_DIV_OTHER: gr_method = 116;
pub const gr_method_GR_METHOD_OTHER_DIV: gr_method = 117;
pub const gr_method_GR_METHOD_DIV_NONUNIQUE: gr_method = 118;
pub const gr_method_GR_METHOD_DIVIDES: gr_method = 119;
pub const gr_method_GR_METHOD_DIVEXACT: gr_method = 120;
pub const gr_method_GR_METHOD_DIVEXACT_UI: gr_method = 121;
pub const gr_method_GR_METHOD_DIVEXACT_SI: gr_method = 122;
pub const gr_method_GR_METHOD_DIVEXACT_FMPZ: gr_method = 123;
pub const gr_method_GR_METHOD_DIVEXACT_FMPQ: gr_method = 124;
pub const gr_method_GR_METHOD_DIVEXACT_OTHER: gr_method = 125;
pub const gr_method_GR_METHOD_OTHER_DIVEXACT: gr_method = 126;
pub const gr_method_GR_METHOD_POW: gr_method = 127;
pub const gr_method_GR_METHOD_POW_UI: gr_method = 128;
pub const gr_method_GR_METHOD_POW_SI: gr_method = 129;
pub const gr_method_GR_METHOD_POW_FMPZ: gr_method = 130;
pub const gr_method_GR_METHOD_POW_FMPQ: gr_method = 131;
pub const gr_method_GR_METHOD_POW_OTHER: gr_method = 132;
pub const gr_method_GR_METHOD_OTHER_POW: gr_method = 133;
pub const gr_method_GR_METHOD_DERIVATIVE_GEN: gr_method = 134;
pub const gr_method_GR_METHOD_IS_SQUARE: gr_method = 135;
pub const gr_method_GR_METHOD_SQRT: gr_method = 136;
pub const gr_method_GR_METHOD_RSQRT: gr_method = 137;
pub const gr_method_GR_METHOD_HYPOT: gr_method = 138;
pub const gr_method_GR_METHOD_IS_PERFECT_POWER: gr_method = 139;
pub const gr_method_GR_METHOD_FACTOR_PERFECT_POWER: gr_method = 140;
pub const gr_method_GR_METHOD_ROOT_UI: gr_method = 141;
pub const gr_method_GR_METHOD_EUCLIDEAN_DIV: gr_method = 142;
pub const gr_method_GR_METHOD_EUCLIDEAN_REM: gr_method = 143;
pub const gr_method_GR_METHOD_EUCLIDEAN_DIVREM: gr_method = 144;
pub const gr_method_GR_METHOD_GCD: gr_method = 145;
pub const gr_method_GR_METHOD_LCM: gr_method = 146;
pub const gr_method_GR_METHOD_FACTOR: gr_method = 147;
pub const gr_method_GR_METHOD_NUMERATOR: gr_method = 148;
pub const gr_method_GR_METHOD_DENOMINATOR: gr_method = 149;
pub const gr_method_GR_METHOD_FLOOR: gr_method = 150;
pub const gr_method_GR_METHOD_CEIL: gr_method = 151;
pub const gr_method_GR_METHOD_TRUNC: gr_method = 152;
pub const gr_method_GR_METHOD_NINT: gr_method = 153;
pub const gr_method_GR_METHOD_CMP: gr_method = 154;
pub const gr_method_GR_METHOD_CMPABS: gr_method = 155;
pub const gr_method_GR_METHOD_CMP_OTHER: gr_method = 156;
pub const gr_method_GR_METHOD_CMPABS_OTHER: gr_method = 157;
pub const gr_method_GR_METHOD_MIN: gr_method = 158;
pub const gr_method_GR_METHOD_MAX: gr_method = 159;
pub const gr_method_GR_METHOD_ABS: gr_method = 160;
pub const gr_method_GR_METHOD_ABS2: gr_method = 161;
pub const gr_method_GR_METHOD_I: gr_method = 162;
pub const gr_method_GR_METHOD_CONJ: gr_method = 163;
pub const gr_method_GR_METHOD_RE: gr_method = 164;
pub const gr_method_GR_METHOD_IM: gr_method = 165;
pub const gr_method_GR_METHOD_SGN: gr_method = 166;
pub const gr_method_GR_METHOD_CSGN: gr_method = 167;
pub const gr_method_GR_METHOD_ARG: gr_method = 168;
pub const gr_method_GR_METHOD_CANONICAL_ASSOCIATE: gr_method = 169;
pub const gr_method_GR_METHOD_POS_INF: gr_method = 170;
pub const gr_method_GR_METHOD_NEG_INF: gr_method = 171;
pub const gr_method_GR_METHOD_UINF: gr_method = 172;
pub const gr_method_GR_METHOD_UNDEFINED: gr_method = 173;
pub const gr_method_GR_METHOD_UNKNOWN: gr_method = 174;
pub const gr_method_GR_METHOD_IS_INTEGER: gr_method = 175;
pub const gr_method_GR_METHOD_IS_RATIONAL: gr_method = 176;
pub const gr_method_GR_METHOD_IS_REAL: gr_method = 177;
pub const gr_method_GR_METHOD_IS_POSITIVE_INTEGER: gr_method = 178;
pub const gr_method_GR_METHOD_IS_NONNEGATIVE_INTEGER: gr_method = 179;
pub const gr_method_GR_METHOD_IS_NEGATIVE_INTEGER: gr_method = 180;
pub const gr_method_GR_METHOD_IS_NONPOSITIVE_INTEGER: gr_method = 181;
pub const gr_method_GR_METHOD_IS_POSITIVE_REAL: gr_method = 182;
pub const gr_method_GR_METHOD_IS_NONNEGATIVE_REAL: gr_method = 183;
pub const gr_method_GR_METHOD_IS_NEGATIVE_REAL: gr_method = 184;
pub const gr_method_GR_METHOD_IS_NONPOSITIVE_REAL: gr_method = 185;
pub const gr_method_GR_METHOD_SET_INTERVAL_MID_RAD: gr_method = 186;
pub const gr_method_GR_METHOD_IS_ROOT_OF_UNITY: gr_method = 187;
pub const gr_method_GR_METHOD_ROOT_OF_UNITY_UI: gr_method = 188;
pub const gr_method_GR_METHOD_ROOT_OF_UNITY_UI_VEC: gr_method = 189;
pub const gr_method_GR_METHOD_PI: gr_method = 190;
pub const gr_method_GR_METHOD_EXP: gr_method = 191;
pub const gr_method_GR_METHOD_EXPM1: gr_method = 192;
pub const gr_method_GR_METHOD_EXP_PI_I: gr_method = 193;
pub const gr_method_GR_METHOD_EXP2: gr_method = 194;
pub const gr_method_GR_METHOD_EXP10: gr_method = 195;
pub const gr_method_GR_METHOD_LOG: gr_method = 196;
pub const gr_method_GR_METHOD_LOG1P: gr_method = 197;
pub const gr_method_GR_METHOD_LOG_PI_I: gr_method = 198;
pub const gr_method_GR_METHOD_LOG2: gr_method = 199;
pub const gr_method_GR_METHOD_LOG10: gr_method = 200;
pub const gr_method_GR_METHOD_SIN: gr_method = 201;
pub const gr_method_GR_METHOD_COS: gr_method = 202;
pub const gr_method_GR_METHOD_SIN_COS: gr_method = 203;
pub const gr_method_GR_METHOD_TAN: gr_method = 204;
pub const gr_method_GR_METHOD_COT: gr_method = 205;
pub const gr_method_GR_METHOD_SEC: gr_method = 206;
pub const gr_method_GR_METHOD_CSC: gr_method = 207;
pub const gr_method_GR_METHOD_SIN_PI: gr_method = 208;
pub const gr_method_GR_METHOD_COS_PI: gr_method = 209;
pub const gr_method_GR_METHOD_SIN_COS_PI: gr_method = 210;
pub const gr_method_GR_METHOD_TAN_PI: gr_method = 211;
pub const gr_method_GR_METHOD_COT_PI: gr_method = 212;
pub const gr_method_GR_METHOD_SEC_PI: gr_method = 213;
pub const gr_method_GR_METHOD_CSC_PI: gr_method = 214;
pub const gr_method_GR_METHOD_SINC: gr_method = 215;
pub const gr_method_GR_METHOD_SINC_PI: gr_method = 216;
pub const gr_method_GR_METHOD_SINH: gr_method = 217;
pub const gr_method_GR_METHOD_COSH: gr_method = 218;
pub const gr_method_GR_METHOD_SINH_COSH: gr_method = 219;
pub const gr_method_GR_METHOD_TANH: gr_method = 220;
pub const gr_method_GR_METHOD_COTH: gr_method = 221;
pub const gr_method_GR_METHOD_SECH: gr_method = 222;
pub const gr_method_GR_METHOD_CSCH: gr_method = 223;
pub const gr_method_GR_METHOD_ASIN: gr_method = 224;
pub const gr_method_GR_METHOD_ACOS: gr_method = 225;
pub const gr_method_GR_METHOD_ATAN: gr_method = 226;
pub const gr_method_GR_METHOD_ATAN2: gr_method = 227;
pub const gr_method_GR_METHOD_ACOT: gr_method = 228;
pub const gr_method_GR_METHOD_ASEC: gr_method = 229;
pub const gr_method_GR_METHOD_ACSC: gr_method = 230;
pub const gr_method_GR_METHOD_ASINH: gr_method = 231;
pub const gr_method_GR_METHOD_ACOSH: gr_method = 232;
pub const gr_method_GR_METHOD_ATANH: gr_method = 233;
pub const gr_method_GR_METHOD_ACOTH: gr_method = 234;
pub const gr_method_GR_METHOD_ASECH: gr_method = 235;
pub const gr_method_GR_METHOD_ACSCH: gr_method = 236;
pub const gr_method_GR_METHOD_ASIN_PI: gr_method = 237;
pub const gr_method_GR_METHOD_ACOS_PI: gr_method = 238;
pub const gr_method_GR_METHOD_ATAN_PI: gr_method = 239;
pub const gr_method_GR_METHOD_ACOT_PI: gr_method = 240;
pub const gr_method_GR_METHOD_ASEC_PI: gr_method = 241;
pub const gr_method_GR_METHOD_ACSC_PI: gr_method = 242;
pub const gr_method_GR_METHOD_FAC: gr_method = 243;
pub const gr_method_GR_METHOD_FAC_UI: gr_method = 244;
pub const gr_method_GR_METHOD_FAC_FMPZ: gr_method = 245;
pub const gr_method_GR_METHOD_FAC_VEC: gr_method = 246;
pub const gr_method_GR_METHOD_RFAC: gr_method = 247;
pub const gr_method_GR_METHOD_RFAC_UI: gr_method = 248;
pub const gr_method_GR_METHOD_RFAC_FMPZ: gr_method = 249;
pub const gr_method_GR_METHOD_RFAC_VEC: gr_method = 250;
pub const gr_method_GR_METHOD_BIN: gr_method = 251;
pub const gr_method_GR_METHOD_BIN_UI: gr_method = 252;
pub const gr_method_GR_METHOD_BIN_UIUI: gr_method = 253;
pub const gr_method_GR_METHOD_BIN_VEC: gr_method = 254;
pub const gr_method_GR_METHOD_BIN_UI_VEC: gr_method = 255;
pub const gr_method_GR_METHOD_RISING_UI: gr_method = 256;
pub const gr_method_GR_METHOD_RISING: gr_method = 257;
pub const gr_method_GR_METHOD_FALLING_UI: gr_method = 258;
pub const gr_method_GR_METHOD_FALLING: gr_method = 259;
pub const gr_method_GR_METHOD_GAMMA: gr_method = 260;
pub const gr_method_GR_METHOD_GAMMA_FMPZ: gr_method = 261;
pub const gr_method_GR_METHOD_GAMMA_FMPQ: gr_method = 262;
pub const gr_method_GR_METHOD_RGAMMA: gr_method = 263;
pub const gr_method_GR_METHOD_LGAMMA: gr_method = 264;
pub const gr_method_GR_METHOD_DIGAMMA: gr_method = 265;
pub const gr_method_GR_METHOD_BETA: gr_method = 266;
pub const gr_method_GR_METHOD_DOUBLEFAC: gr_method = 267;
pub const gr_method_GR_METHOD_DOUBLEFAC_UI: gr_method = 268;
pub const gr_method_GR_METHOD_BARNES_G: gr_method = 269;
pub const gr_method_GR_METHOD_LOG_BARNES_G: gr_method = 270;
pub const gr_method_GR_METHOD_HARMONIC: gr_method = 271;
pub const gr_method_GR_METHOD_HARMONIC_UI: gr_method = 272;
pub const gr_method_GR_METHOD_BERNOULLI_UI: gr_method = 273;
pub const gr_method_GR_METHOD_BERNOULLI_FMPZ: gr_method = 274;
pub const gr_method_GR_METHOD_BERNOULLI_VEC: gr_method = 275;
pub const gr_method_GR_METHOD_FIB_UI: gr_method = 276;
pub const gr_method_GR_METHOD_FIB_FMPZ: gr_method = 277;
pub const gr_method_GR_METHOD_FIB_VEC: gr_method = 278;
pub const gr_method_GR_METHOD_STIRLING_S1U_UIUI: gr_method = 279;
pub const gr_method_GR_METHOD_STIRLING_S1_UIUI: gr_method = 280;
pub const gr_method_GR_METHOD_STIRLING_S2_UIUI: gr_method = 281;
pub const gr_method_GR_METHOD_STIRLING_S1U_UI_VEC: gr_method = 282;
pub const gr_method_GR_METHOD_STIRLING_S1_UI_VEC: gr_method = 283;
pub const gr_method_GR_METHOD_STIRLING_S2_UI_VEC: gr_method = 284;
pub const gr_method_GR_METHOD_EULERNUM_UI: gr_method = 285;
pub const gr_method_GR_METHOD_EULERNUM_FMPZ: gr_method = 286;
pub const gr_method_GR_METHOD_EULERNUM_VEC: gr_method = 287;
pub const gr_method_GR_METHOD_BELLNUM_UI: gr_method = 288;
pub const gr_method_GR_METHOD_BELLNUM_FMPZ: gr_method = 289;
pub const gr_method_GR_METHOD_BELLNUM_VEC: gr_method = 290;
pub const gr_method_GR_METHOD_PARTITIONS_UI: gr_method = 291;
pub const gr_method_GR_METHOD_PARTITIONS_FMPZ: gr_method = 292;
pub const gr_method_GR_METHOD_PARTITIONS_VEC: gr_method = 293;
pub const gr_method_GR_METHOD_CHEBYSHEV_T_FMPZ: gr_method = 294;
pub const gr_method_GR_METHOD_CHEBYSHEV_U_FMPZ: gr_method = 295;
pub const gr_method_GR_METHOD_CHEBYSHEV_T: gr_method = 296;
pub const gr_method_GR_METHOD_CHEBYSHEV_U: gr_method = 297;
pub const gr_method_GR_METHOD_JACOBI_P: gr_method = 298;
pub const gr_method_GR_METHOD_GEGENBAUER_C: gr_method = 299;
pub const gr_method_GR_METHOD_LAGUERRE_L: gr_method = 300;
pub const gr_method_GR_METHOD_HERMITE_H: gr_method = 301;
pub const gr_method_GR_METHOD_LEGENDRE_P: gr_method = 302;
pub const gr_method_GR_METHOD_LEGENDRE_Q: gr_method = 303;
pub const gr_method_GR_METHOD_LEGENDRE_P_ROOT_UI: gr_method = 304;
pub const gr_method_GR_METHOD_SPHERICAL_Y_SI: gr_method = 305;
pub const gr_method_GR_METHOD_EULER: gr_method = 306;
pub const gr_method_GR_METHOD_CATALAN: gr_method = 307;
pub const gr_method_GR_METHOD_KHINCHIN: gr_method = 308;
pub const gr_method_GR_METHOD_GLAISHER: gr_method = 309;
pub const gr_method_GR_METHOD_LAMBERTW: gr_method = 310;
pub const gr_method_GR_METHOD_LAMBERTW_FMPZ: gr_method = 311;
pub const gr_method_GR_METHOD_ERF: gr_method = 312;
pub const gr_method_GR_METHOD_ERFC: gr_method = 313;
pub const gr_method_GR_METHOD_ERFCX: gr_method = 314;
pub const gr_method_GR_METHOD_ERFI: gr_method = 315;
pub const gr_method_GR_METHOD_ERFINV: gr_method = 316;
pub const gr_method_GR_METHOD_ERFCINV: gr_method = 317;
pub const gr_method_GR_METHOD_FRESNEL_S: gr_method = 318;
pub const gr_method_GR_METHOD_FRESNEL_C: gr_method = 319;
pub const gr_method_GR_METHOD_FRESNEL: gr_method = 320;
pub const gr_method_GR_METHOD_GAMMA_UPPER: gr_method = 321;
pub const gr_method_GR_METHOD_GAMMA_LOWER: gr_method = 322;
pub const gr_method_GR_METHOD_BETA_LOWER: gr_method = 323;
pub const gr_method_GR_METHOD_EXP_INTEGRAL: gr_method = 324;
pub const gr_method_GR_METHOD_EXP_INTEGRAL_EI: gr_method = 325;
pub const gr_method_GR_METHOD_SIN_INTEGRAL: gr_method = 326;
pub const gr_method_GR_METHOD_COS_INTEGRAL: gr_method = 327;
pub const gr_method_GR_METHOD_SINH_INTEGRAL: gr_method = 328;
pub const gr_method_GR_METHOD_COSH_INTEGRAL: gr_method = 329;
pub const gr_method_GR_METHOD_LOG_INTEGRAL: gr_method = 330;
pub const gr_method_GR_METHOD_DILOG: gr_method = 331;
pub const gr_method_GR_METHOD_BESSEL_J: gr_method = 332;
pub const gr_method_GR_METHOD_BESSEL_Y: gr_method = 333;
pub const gr_method_GR_METHOD_BESSEL_J_Y: gr_method = 334;
pub const gr_method_GR_METHOD_BESSEL_I: gr_method = 335;
pub const gr_method_GR_METHOD_BESSEL_I_SCALED: gr_method = 336;
pub const gr_method_GR_METHOD_BESSEL_K: gr_method = 337;
pub const gr_method_GR_METHOD_BESSEL_K_SCALED: gr_method = 338;
pub const gr_method_GR_METHOD_AIRY: gr_method = 339;
pub const gr_method_GR_METHOD_AIRY_AI: gr_method = 340;
pub const gr_method_GR_METHOD_AIRY_BI: gr_method = 341;
pub const gr_method_GR_METHOD_AIRY_AI_PRIME: gr_method = 342;
pub const gr_method_GR_METHOD_AIRY_BI_PRIME: gr_method = 343;
pub const gr_method_GR_METHOD_AIRY_AI_ZERO: gr_method = 344;
pub const gr_method_GR_METHOD_AIRY_BI_ZERO: gr_method = 345;
pub const gr_method_GR_METHOD_AIRY_AI_PRIME_ZERO: gr_method = 346;
pub const gr_method_GR_METHOD_AIRY_BI_PRIME_ZERO: gr_method = 347;
pub const gr_method_GR_METHOD_COULOMB: gr_method = 348;
pub const gr_method_GR_METHOD_COULOMB_F: gr_method = 349;
pub const gr_method_GR_METHOD_COULOMB_G: gr_method = 350;
pub const gr_method_GR_METHOD_COULOMB_HPOS: gr_method = 351;
pub const gr_method_GR_METHOD_COULOMB_HNEG: gr_method = 352;
pub const gr_method_GR_METHOD_ZETA: gr_method = 353;
pub const gr_method_GR_METHOD_ZETA_UI: gr_method = 354;
pub const gr_method_GR_METHOD_HURWITZ_ZETA: gr_method = 355;
pub const gr_method_GR_METHOD_LERCH_PHI: gr_method = 356;
pub const gr_method_GR_METHOD_STIELTJES: gr_method = 357;
pub const gr_method_GR_METHOD_DIRICHLET_ETA: gr_method = 358;
pub const gr_method_GR_METHOD_DIRICHLET_BETA: gr_method = 359;
pub const gr_method_GR_METHOD_RIEMANN_XI: gr_method = 360;
pub const gr_method_GR_METHOD_ZETA_ZERO: gr_method = 361;
pub const gr_method_GR_METHOD_ZETA_ZERO_VEC: gr_method = 362;
pub const gr_method_GR_METHOD_ZETA_NZEROS: gr_method = 363;
pub const gr_method_GR_METHOD_DIRICHLET_CHI_UI: gr_method = 364;
pub const gr_method_GR_METHOD_DIRICHLET_CHI_FMPZ: gr_method = 365;
pub const gr_method_GR_METHOD_DIRICHLET_L: gr_method = 366;
pub const gr_method_GR_METHOD_DIRICHLET_HARDY_THETA: gr_method = 367;
pub const gr_method_GR_METHOD_DIRICHLET_HARDY_Z: gr_method = 368;
pub const gr_method_GR_METHOD_BERNPOLY_UI: gr_method = 369;
pub const gr_method_GR_METHOD_EULERPOLY_UI: gr_method = 370;
pub const gr_method_GR_METHOD_POLYLOG: gr_method = 371;
pub const gr_method_GR_METHOD_POLYGAMMA: gr_method = 372;
pub const gr_method_GR_METHOD_HYPGEOM_0F1: gr_method = 373;
pub const gr_method_GR_METHOD_HYPGEOM_1F1: gr_method = 374;
pub const gr_method_GR_METHOD_HYPGEOM_2F0: gr_method = 375;
pub const gr_method_GR_METHOD_HYPGEOM_2F1: gr_method = 376;
pub const gr_method_GR_METHOD_HYPGEOM_U: gr_method = 377;
pub const gr_method_GR_METHOD_HYPGEOM_PFQ: gr_method = 378;
pub const gr_method_GR_METHOD_JACOBI_THETA: gr_method = 379;
pub const gr_method_GR_METHOD_JACOBI_THETA_1: gr_method = 380;
pub const gr_method_GR_METHOD_JACOBI_THETA_2: gr_method = 381;
pub const gr_method_GR_METHOD_JACOBI_THETA_3: gr_method = 382;
pub const gr_method_GR_METHOD_JACOBI_THETA_4: gr_method = 383;
pub const gr_method_GR_METHOD_JACOBI_THETA_Q: gr_method = 384;
pub const gr_method_GR_METHOD_JACOBI_THETA_Q_1: gr_method = 385;
pub const gr_method_GR_METHOD_JACOBI_THETA_Q_2: gr_method = 386;
pub const gr_method_GR_METHOD_JACOBI_THETA_Q_3: gr_method = 387;
pub const gr_method_GR_METHOD_JACOBI_THETA_Q_4: gr_method = 388;
pub const gr_method_GR_METHOD_MODULAR_J: gr_method = 389;
pub const gr_method_GR_METHOD_MODULAR_LAMBDA: gr_method = 390;
pub const gr_method_GR_METHOD_MODULAR_DELTA: gr_method = 391;
pub const gr_method_GR_METHOD_HILBERT_CLASS_POLY: gr_method = 392;
pub const gr_method_GR_METHOD_DEDEKIND_ETA: gr_method = 393;
pub const gr_method_GR_METHOD_DEDEKIND_ETA_Q: gr_method = 394;
pub const gr_method_GR_METHOD_EISENSTEIN_E: gr_method = 395;
pub const gr_method_GR_METHOD_EISENSTEIN_G: gr_method = 396;
pub const gr_method_GR_METHOD_EISENSTEIN_G_VEC: gr_method = 397;
pub const gr_method_GR_METHOD_AGM: gr_method = 398;
pub const gr_method_GR_METHOD_AGM1: gr_method = 399;
pub const gr_method_GR_METHOD_ELLIPTIC_K: gr_method = 400;
pub const gr_method_GR_METHOD_ELLIPTIC_E: gr_method = 401;
pub const gr_method_GR_METHOD_ELLIPTIC_PI: gr_method = 402;
pub const gr_method_GR_METHOD_ELLIPTIC_F: gr_method = 403;
pub const gr_method_GR_METHOD_ELLIPTIC_E_INC: gr_method = 404;
pub const gr_method_GR_METHOD_ELLIPTIC_PI_INC: gr_method = 405;
pub const gr_method_GR_METHOD_CARLSON_RF: gr_method = 406;
pub const gr_method_GR_METHOD_CARLSON_RC: gr_method = 407;
pub const gr_method_GR_METHOD_CARLSON_RJ: gr_method = 408;
pub const gr_method_GR_METHOD_CARLSON_RG: gr_method = 409;
pub const gr_method_GR_METHOD_CARLSON_RD: gr_method = 410;
pub const gr_method_GR_METHOD_ELLIPTIC_ROOTS: gr_method = 411;
pub const gr_method_GR_METHOD_ELLIPTIC_INVARIANTS: gr_method = 412;
pub const gr_method_GR_METHOD_WEIERSTRASS_P: gr_method = 413;
pub const gr_method_GR_METHOD_WEIERSTRASS_P_PRIME: gr_method = 414;
pub const gr_method_GR_METHOD_WEIERSTRASS_P_INV: gr_method = 415;
pub const gr_method_GR_METHOD_WEIERSTRASS_ZETA: gr_method = 416;
pub const gr_method_GR_METHOD_WEIERSTRASS_SIGMA: gr_method = 417;
pub const gr_method_GR_METHOD_GEN: gr_method = 418;
pub const gr_method_GR_METHOD_GENS: gr_method = 419;
pub const gr_method_GR_METHOD_GENS_RECURSIVE: gr_method = 420;
pub const gr_method_GR_METHOD_CTX_FQ_PRIME: gr_method = 421;
pub const gr_method_GR_METHOD_CTX_FQ_DEGREE: gr_method = 422;
pub const gr_method_GR_METHOD_CTX_FQ_ORDER: gr_method = 423;
pub const gr_method_GR_METHOD_FQ_FROBENIUS: gr_method = 424;
pub const gr_method_GR_METHOD_FQ_MULTIPLICATIVE_ORDER: gr_method = 425;
pub const gr_method_GR_METHOD_FQ_NORM: gr_method = 426;
pub const gr_method_GR_METHOD_FQ_TRACE: gr_method = 427;
pub const gr_method_GR_METHOD_FQ_IS_PRIMITIVE: gr_method = 428;
pub const gr_method_GR_METHOD_FQ_PTH_ROOT: gr_method = 429;
pub const gr_method_GR_METHOD_VEC_INIT: gr_method = 430;
pub const gr_method_GR_METHOD_VEC_CLEAR: gr_method = 431;
pub const gr_method_GR_METHOD_VEC_SWAP: gr_method = 432;
pub const gr_method_GR_METHOD_VEC_SET: gr_method = 433;
pub const gr_method_GR_METHOD_VEC_ZERO: gr_method = 434;
pub const gr_method_GR_METHOD_VEC_EQUAL: gr_method = 435;
pub const gr_method_GR_METHOD_VEC_IS_ZERO: gr_method = 436;
pub const gr_method_GR_METHOD_VEC_NEG: gr_method = 437;
pub const gr_method_GR_METHOD_VEC_NORMALISE: gr_method = 438;
pub const gr_method_GR_METHOD_VEC_NORMALISE_WEAK: gr_method = 439;
pub const gr_method_GR_METHOD_VEC_ADD: gr_method = 440;
pub const gr_method_GR_METHOD_VEC_SUB: gr_method = 441;
pub const gr_method_GR_METHOD_VEC_MUL: gr_method = 442;
pub const gr_method_GR_METHOD_VEC_DIV: gr_method = 443;
pub const gr_method_GR_METHOD_VEC_DIVEXACT: gr_method = 444;
pub const gr_method_GR_METHOD_VEC_POW: gr_method = 445;
pub const gr_method_GR_METHOD_VEC_ADD_SCALAR: gr_method = 446;
pub const gr_method_GR_METHOD_VEC_SUB_SCALAR: gr_method = 447;
pub const gr_method_GR_METHOD_VEC_MUL_SCALAR: gr_method = 448;
pub const gr_method_GR_METHOD_VEC_DIV_SCALAR: gr_method = 449;
pub const gr_method_GR_METHOD_VEC_DIVEXACT_SCALAR: gr_method = 450;
pub const gr_method_GR_METHOD_VEC_POW_SCALAR: gr_method = 451;
pub const gr_method_GR_METHOD_SCALAR_ADD_VEC: gr_method = 452;
pub const gr_method_GR_METHOD_SCALAR_SUB_VEC: gr_method = 453;
pub const gr_method_GR_METHOD_SCALAR_MUL_VEC: gr_method = 454;
pub const gr_method_GR_METHOD_SCALAR_DIV_VEC: gr_method = 455;
pub const gr_method_GR_METHOD_SCALAR_DIVEXACT_VEC: gr_method = 456;
pub const gr_method_GR_METHOD_SCALAR_POW_VEC: gr_method = 457;
pub const gr_method_GR_METHOD_VEC_ADD_OTHER: gr_method = 458;
pub const gr_method_GR_METHOD_VEC_SUB_OTHER: gr_method = 459;
pub const gr_method_GR_METHOD_VEC_MUL_OTHER: gr_method = 460;
pub const gr_method_GR_METHOD_VEC_DIV_OTHER: gr_method = 461;
pub const gr_method_GR_METHOD_VEC_DIVEXACT_OTHER: gr_method = 462;
pub const gr_method_GR_METHOD_VEC_POW_OTHER: gr_method = 463;
pub const gr_method_GR_METHOD_OTHER_ADD_VEC: gr_method = 464;
pub const gr_method_GR_METHOD_OTHER_SUB_VEC: gr_method = 465;
pub const gr_method_GR_METHOD_OTHER_MUL_VEC: gr_method = 466;
pub const gr_method_GR_METHOD_OTHER_DIV_VEC: gr_method = 467;
pub const gr_method_GR_METHOD_OTHER_DIVEXACT_VEC: gr_method = 468;
pub const gr_method_GR_METHOD_OTHER_POW_VEC: gr_method = 469;
pub const gr_method_GR_METHOD_VEC_ADD_SCALAR_OTHER: gr_method = 470;
pub const gr_method_GR_METHOD_VEC_SUB_SCALAR_OTHER: gr_method = 471;
pub const gr_method_GR_METHOD_VEC_MUL_SCALAR_OTHER: gr_method = 472;
pub const gr_method_GR_METHOD_VEC_DIV_SCALAR_OTHER: gr_method = 473;
pub const gr_method_GR_METHOD_VEC_DIVEXACT_SCALAR_OTHER: gr_method = 474;
pub const gr_method_GR_METHOD_VEC_POW_SCALAR_OTHER: gr_method = 475;
pub const gr_method_GR_METHOD_SCALAR_OTHER_ADD_VEC: gr_method = 476;
pub const gr_method_GR_METHOD_SCALAR_OTHER_SUB_VEC: gr_method = 477;
pub const gr_method_GR_METHOD_SCALAR_OTHER_MUL_VEC: gr_method = 478;
pub const gr_method_GR_METHOD_SCALAR_OTHER_DIV_VEC: gr_method = 479;
pub const gr_method_GR_METHOD_SCALAR_OTHER_DIVEXACT_VEC: gr_method = 480;
pub const gr_method_GR_METHOD_SCALAR_OTHER_POW_VEC: gr_method = 481;
pub const gr_method_GR_METHOD_VEC_ADD_SCALAR_SI: gr_method = 482;
pub const gr_method_GR_METHOD_VEC_ADD_SCALAR_UI: gr_method = 483;
pub const gr_method_GR_METHOD_VEC_ADD_SCALAR_FMPZ: gr_method = 484;
pub const gr_method_GR_METHOD_VEC_ADD_SCALAR_FMPQ: gr_method = 485;
pub const gr_method_GR_METHOD_VEC_SUB_SCALAR_SI: gr_method = 486;
pub const gr_method_GR_METHOD_VEC_SUB_SCALAR_UI: gr_method = 487;
pub const gr_method_GR_METHOD_VEC_SUB_SCALAR_FMPZ: gr_method = 488;
pub const gr_method_GR_METHOD_VEC_SUB_SCALAR_FMPQ: gr_method = 489;
pub const gr_method_GR_METHOD_VEC_MUL_SCALAR_SI: gr_method = 490;
pub const gr_method_GR_METHOD_VEC_MUL_SCALAR_UI: gr_method = 491;
pub const gr_method_GR_METHOD_VEC_MUL_SCALAR_FMPZ: gr_method = 492;
pub const gr_method_GR_METHOD_VEC_MUL_SCALAR_FMPQ: gr_method = 493;
pub const gr_method_GR_METHOD_VEC_DIV_SCALAR_SI: gr_method = 494;
pub const gr_method_GR_METHOD_VEC_DIV_SCALAR_UI: gr_method = 495;
pub const gr_method_GR_METHOD_VEC_DIV_SCALAR_FMPZ: gr_method = 496;
pub const gr_method_GR_METHOD_VEC_DIV_SCALAR_FMPQ: gr_method = 497;
pub const gr_method_GR_METHOD_VEC_DIVEXACT_SCALAR_SI: gr_method = 498;
pub const gr_method_GR_METHOD_VEC_DIVEXACT_SCALAR_UI: gr_method = 499;
pub const gr_method_GR_METHOD_VEC_DIVEXACT_SCALAR_FMPZ: gr_method = 500;
pub const gr_method_GR_METHOD_VEC_DIVEXACT_SCALAR_FMPQ: gr_method = 501;
pub const gr_method_GR_METHOD_VEC_POW_SCALAR_SI: gr_method = 502;
pub const gr_method_GR_METHOD_VEC_POW_SCALAR_UI: gr_method = 503;
pub const gr_method_GR_METHOD_VEC_POW_SCALAR_FMPZ: gr_method = 504;
pub const gr_method_GR_METHOD_VEC_POW_SCALAR_FMPQ: gr_method = 505;
pub const gr_method_GR_METHOD_VEC_MUL_SCALAR_2EXP_SI: gr_method = 506;
pub const gr_method_GR_METHOD_VEC_MUL_SCALAR_2EXP_FMPZ: gr_method = 507;
pub const gr_method_GR_METHOD_VEC_ADDMUL_SCALAR: gr_method = 508;
pub const gr_method_GR_METHOD_VEC_SUBMUL_SCALAR: gr_method = 509;
pub const gr_method_GR_METHOD_VEC_ADDMUL_SCALAR_SI: gr_method = 510;
pub const gr_method_GR_METHOD_VEC_SUBMUL_SCALAR_SI: gr_method = 511;
pub const gr_method_GR_METHOD_VEC_ADDMUL_SCALAR_FMPZ: gr_method = 512;
pub const gr_method_GR_METHOD_VEC_SUM: gr_method = 513;
pub const gr_method_GR_METHOD_VEC_PRODUCT: gr_method = 514;
pub const gr_method_GR_METHOD_VEC_DOT: gr_method = 515;
pub const gr_method_GR_METHOD_VEC_DOT_REV: gr_method = 516;
pub const gr_method_GR_METHOD_VEC_DOT_UI: gr_method = 517;
pub const gr_method_GR_METHOD_VEC_DOT_SI: gr_method = 518;
pub const gr_method_GR_METHOD_VEC_DOT_FMPZ: gr_method = 519;
pub const gr_method_GR_METHOD_VEC_SET_POWERS: gr_method = 520;
pub const gr_method_GR_METHOD_VEC_RECIPROCALS: gr_method = 521;
pub const gr_method_GR_METHOD_POLY_MULLOW: gr_method = 522;
pub const gr_method_GR_METHOD_POLY_MULMID: gr_method = 523;
pub const gr_method_GR_METHOD_POLY_DIV: gr_method = 524;
pub const gr_method_GR_METHOD_POLY_DIVREM: gr_method = 525;
pub const gr_method_GR_METHOD_POLY_DIVEXACT: gr_method = 526;
pub const gr_method_GR_METHOD_POLY_GCD: gr_method = 527;
pub const gr_method_GR_METHOD_POLY_XGCD: gr_method = 528;
pub const gr_method_GR_METHOD_POLY_TAYLOR_SHIFT: gr_method = 529;
pub const gr_method_GR_METHOD_POLY_INV_SERIES: gr_method = 530;
pub const gr_method_GR_METHOD_POLY_INV_SERIES_BASECASE: gr_method = 531;
pub const gr_method_GR_METHOD_POLY_DIV_SERIES: gr_method = 532;
pub const gr_method_GR_METHOD_POLY_DIV_SERIES_BASECASE: gr_method = 533;
pub const gr_method_GR_METHOD_POLY_RSQRT_SERIES: gr_method = 534;
pub const gr_method_GR_METHOD_POLY_SQRT_SERIES: gr_method = 535;
pub const gr_method_GR_METHOD_POLY_EXP_SERIES: gr_method = 536;
pub const gr_method_GR_METHOD_POLY_FACTOR: gr_method = 537;
pub const gr_method_GR_METHOD_POLY_ROOTS: gr_method = 538;
pub const gr_method_GR_METHOD_POLY_ROOTS_OTHER: gr_method = 539;
pub const gr_method_GR_METHOD_MAT_MUL: gr_method = 540;
pub const gr_method_GR_METHOD_MAT_NONSINGULAR_SOLVE_TRIL: gr_method = 541;
pub const gr_method_GR_METHOD_MAT_NONSINGULAR_SOLVE_TRIU: gr_method = 542;
pub const gr_method_GR_METHOD_MAT_LU: gr_method = 543;
pub const gr_method_GR_METHOD_MAT_DET: gr_method = 544;
pub const gr_method_GR_METHOD_MAT_LQ: gr_method = 545;
pub const gr_method_GR_METHOD_MAT_EXP: gr_method = 546;
pub const gr_method_GR_METHOD_MAT_LOG: gr_method = 547;
pub const gr_method_GR_METHOD_MAT_FIND_NONZERO_PIVOT: gr_method = 548;
pub const gr_method_GR_METHOD_MAT_DIAGONALIZATION: gr_method = 549;
pub const gr_method_GR_METHOD_MAT_CHARPOLY: gr_method = 550;
pub const gr_method_GR_METHOD_MAT_REDUCE_ROW: gr_method = 551;
pub const gr_method_GR_METHOD_MAT_PERMANENT: gr_method = 552;
pub const gr_method_GR_METHOD_TAB_SIZE: gr_method = 553;
pub type gr_method = libc::c_uint;
pub type gr_static_method_table = [gr_funcptr; 553usize];
#[repr(C)]
pub struct gr_method_tab_input {
pub index: gr_method,
pub function: gr_funcptr,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of gr_method_tab_input"][::std::mem::size_of::<gr_method_tab_input>() - 16usize];
["Alignment of gr_method_tab_input"][::std::mem::align_of::<gr_method_tab_input>() - 8usize];
["Offset of field: gr_method_tab_input::index"]
[::std::mem::offset_of!(gr_method_tab_input, index) - 0usize];
["Offset of field: gr_method_tab_input::function"]
[::std::mem::offset_of!(gr_method_tab_input, function) - 8usize];
};
impl Default for gr_method_tab_input {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub const gr_which_structure_GR_CTX_FMPZ: gr_which_structure = 0;
pub const gr_which_structure_GR_CTX_RADIX_INTEGER: gr_which_structure = 1;
pub const gr_which_structure_GR_CTX_FMPQ: gr_which_structure = 2;
pub const gr_which_structure_GR_CTX_FMPZI: gr_which_structure = 3;
pub const gr_which_structure_GR_CTX_FMPZ_MOD: gr_which_structure = 4;
pub const gr_which_structure_GR_CTX_NMOD: gr_which_structure = 5;
pub const gr_which_structure_GR_CTX_NMOD8: gr_which_structure = 6;
pub const gr_which_structure_GR_CTX_NMOD32: gr_which_structure = 7;
pub const gr_which_structure_GR_CTX_NMOD_REDC: gr_which_structure = 8;
pub const gr_which_structure_GR_CTX_NMOD_REDC_FAST: gr_which_structure = 9;
pub const gr_which_structure_GR_CTX_MPN_MOD: gr_which_structure = 10;
pub const gr_which_structure_GR_CTX_FQ: gr_which_structure = 11;
pub const gr_which_structure_GR_CTX_FQ_NMOD: gr_which_structure = 12;
pub const gr_which_structure_GR_CTX_FQ_ZECH: gr_which_structure = 13;
pub const gr_which_structure_GR_CTX_NF: gr_which_structure = 14;
pub const gr_which_structure_GR_CTX_REAL_ALGEBRAIC_QQBAR: gr_which_structure = 15;
pub const gr_which_structure_GR_CTX_COMPLEX_ALGEBRAIC_QQBAR: gr_which_structure = 16;
pub const gr_which_structure_GR_CTX_REAL_ALGEBRAIC_CA: gr_which_structure = 17;
pub const gr_which_structure_GR_CTX_COMPLEX_ALGEBRAIC_CA: gr_which_structure = 18;
pub const gr_which_structure_GR_CTX_RR_CA: gr_which_structure = 19;
pub const gr_which_structure_GR_CTX_CC_CA: gr_which_structure = 20;
pub const gr_which_structure_GR_CTX_COMPLEX_EXTENDED_CA: gr_which_structure = 21;
pub const gr_which_structure_GR_CTX_RR_ARB: gr_which_structure = 22;
pub const gr_which_structure_GR_CTX_CC_ACB: gr_which_structure = 23;
pub const gr_which_structure_GR_CTX_REAL_FLOAT_ARF: gr_which_structure = 24;
pub const gr_which_structure_GR_CTX_COMPLEX_FLOAT_ACF: gr_which_structure = 25;
pub const gr_which_structure_GR_CTX_NFLOAT: gr_which_structure = 26;
pub const gr_which_structure_GR_CTX_NFLOAT_COMPLEX: gr_which_structure = 27;
pub const gr_which_structure_GR_CTX_MPF: gr_which_structure = 28;
pub const gr_which_structure_GR_CTX_FMPZ_POLY: gr_which_structure = 29;
pub const gr_which_structure_GR_CTX_FMPQ_POLY: gr_which_structure = 30;
pub const gr_which_structure_GR_CTX_GR_POLY: gr_which_structure = 31;
pub const gr_which_structure_GR_CTX_FMPZ_MPOLY: gr_which_structure = 32;
pub const gr_which_structure_GR_CTX_FMPQ_MPOLY: gr_which_structure = 33;
pub const gr_which_structure_GR_CTX_GR_MPOLY: gr_which_structure = 34;
pub const gr_which_structure_GR_CTX_FMPZ_MPOLY_Q: gr_which_structure = 35;
pub const gr_which_structure_GR_CTX_FMPZ_MOD_MPOLY_Q: gr_which_structure = 36;
pub const gr_which_structure_GR_CTX_GR_ORE_POLY: gr_which_structure = 37;
pub const gr_which_structure_GR_CTX_GR_FRACTION: gr_which_structure = 38;
pub const gr_which_structure_GR_CTX_GR_COMPLEX: gr_which_structure = 39;
pub const gr_which_structure_GR_CTX_GR_SERIES: gr_which_structure = 40;
pub const gr_which_structure_GR_CTX_SERIES_MOD_GR_POLY: gr_which_structure = 41;
pub const gr_which_structure_GR_CTX_GR_MAT: gr_which_structure = 42;
pub const gr_which_structure_GR_CTX_GR_VEC: gr_which_structure = 43;
pub const gr_which_structure_GR_CTX_PSL2Z: gr_which_structure = 44;
pub const gr_which_structure_GR_CTX_DIRICHLET_GROUP: gr_which_structure = 45;
pub const gr_which_structure_GR_CTX_PERM: gr_which_structure = 46;
pub const gr_which_structure_GR_CTX_FEXPR: gr_which_structure = 47;
pub const gr_which_structure_GR_CTX_DEBUG: gr_which_structure = 48;
pub const gr_which_structure_GR_CTX_UNINITIALIZED: gr_which_structure = 49;
pub const gr_which_structure_GR_CTX_UNKNOWN_DOMAIN: gr_which_structure = 50;
pub const gr_which_structure_GR_CTX_WHICH_STRUCTURE_TAB_SIZE: gr_which_structure = 51;
pub type gr_which_structure = libc::c_uint;
pub type gr_method_init_clear_op =
::std::option::Option<unsafe extern "C" fn(arg1: gr_ptr, arg2: gr_ctx_ptr)>;
pub type gr_method_swap_op =
::std::option::Option<unsafe extern "C" fn(arg1: gr_ptr, arg2: gr_ptr, arg3: gr_ctx_ptr)>;
pub type gr_method_ctx =
::std::option::Option<unsafe extern "C" fn(arg1: gr_ctx_ptr) -> libc::c_int>;
pub type gr_method_ctx_void_op = ::std::option::Option<unsafe extern "C" fn(arg1: gr_ctx_ptr)>;
pub type gr_method_ctx_base =
::std::option::Option<unsafe extern "C" fn(arg1: gr_ctx_ptr) -> gr_ctx_ptr>;
pub type gr_method_ctx_predicate =
::std::option::Option<unsafe extern "C" fn(arg1: gr_ctx_ptr) -> truth_t>;
pub type gr_method_ctx_size =
::std::option::Option<unsafe extern "C" fn(arg1: gr_ctx_ptr) -> slong>;
pub type gr_method_ctx_gen_name = ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut *mut libc::c_char,
arg2: slong,
arg3: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_ctx_set_si =
::std::option::Option<unsafe extern "C" fn(arg1: gr_ctx_ptr, arg2: slong) -> libc::c_int>;
pub type gr_method_ctx_get_si =
::std::option::Option<unsafe extern "C" fn(arg1: *mut slong, arg2: gr_ctx_ptr) -> libc::c_int>;
pub type gr_method_ctx_set_truth =
::std::option::Option<unsafe extern "C" fn(arg1: gr_ctx_ptr, arg2: truth_t) -> libc::c_int>;
pub type gr_method_ctx_stream = ::std::option::Option<
unsafe extern "C" fn(arg1: *mut gr_stream_struct, arg2: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_ctx_set_str = ::std::option::Option<
unsafe extern "C" fn(arg1: gr_ctx_ptr, arg2: *const libc::c_char) -> libc::c_int,
>;
pub type gr_method_ctx_set_strs = ::std::option::Option<
unsafe extern "C" fn(arg1: gr_ctx_ptr, arg2: *mut *const libc::c_char) -> libc::c_int,
>;
pub type gr_method_stream_in = ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut gr_stream_struct,
arg2: gr_srcptr,
arg3: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_stream_in_si = ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut gr_stream_struct,
arg2: gr_srcptr,
arg3: slong,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_randtest = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
state: *mut flint_rand_struct,
arg2: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_constant_op =
::std::option::Option<unsafe extern "C" fn(arg1: gr_ptr, arg2: gr_ctx_ptr) -> libc::c_int>;
pub type gr_method_constant_op_get_si =
::std::option::Option<unsafe extern "C" fn(arg1: *mut slong, arg2: gr_ctx_ptr) -> libc::c_int>;
pub type gr_method_constant_op_get_fmpz =
::std::option::Option<unsafe extern "C" fn(arg1: *mut fmpz, arg2: gr_ctx_ptr) -> libc::c_int>;
pub type gr_method_void_unary_op =
::std::option::Option<unsafe extern "C" fn(arg1: gr_ptr, arg2: gr_srcptr, arg3: gr_ctx_ptr)>;
pub type gr_method_unary_op = ::std::option::Option<
unsafe extern "C" fn(arg1: gr_ptr, arg2: gr_srcptr, arg3: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_unary_op_si = ::std::option::Option<
unsafe extern "C" fn(arg1: gr_ptr, arg2: slong, arg3: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_unary_op_ui = ::std::option::Option<
unsafe extern "C" fn(arg1: gr_ptr, arg2: ulong, arg3: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_unary_op_fmpz = ::std::option::Option<
unsafe extern "C" fn(arg1: gr_ptr, arg2: *const fmpz, arg3: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_unary_op_fmpq = ::std::option::Option<
unsafe extern "C" fn(arg1: gr_ptr, arg2: *const fmpq, arg3: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_unary_op_d = ::std::option::Option<
unsafe extern "C" fn(arg1: gr_ptr, arg2: f64, arg3: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_unary_op_other = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: gr_ctx_ptr,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_unary_op_str = ::std::option::Option<
unsafe extern "C" fn(arg1: gr_ptr, arg2: *const libc::c_char, arg3: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_unary_op_get_ui = ::std::option::Option<
unsafe extern "C" fn(arg1: *mut ulong, arg2: gr_srcptr, arg3: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_unary_op_get_si = ::std::option::Option<
unsafe extern "C" fn(arg1: *mut slong, arg2: gr_srcptr, arg3: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_unary_op_get_fmpz = ::std::option::Option<
unsafe extern "C" fn(arg1: *mut fmpz, arg2: gr_srcptr, arg3: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_unary_op_get_fmpq = ::std::option::Option<
unsafe extern "C" fn(arg1: *mut fmpq, arg2: gr_srcptr, arg3: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_unary_op_get_d = ::std::option::Option<
unsafe extern "C" fn(arg1: *mut f64, arg2: gr_srcptr, arg3: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_unary_op_get_d_si = ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut f64,
arg2: *mut slong,
arg3: gr_srcptr,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_unary_op_get_fmpz_fmpz = ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut fmpz,
arg2: *mut fmpz,
arg3: gr_srcptr,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_unary_op_with_flag = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: libc::c_int,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_binary_unary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_ptr,
arg3: gr_srcptr,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_binary_unary_op_with_flag = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_ptr,
arg3: gr_srcptr,
arg4: libc::c_int,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_quaternary_unary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_ptr,
arg3: gr_ptr,
arg4: gr_ptr,
arg5: gr_srcptr,
arg6: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_binary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: gr_srcptr,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_binary_op_si = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: slong,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_binary_op_ui = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: ulong,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_binary_op_fmpz = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: *const fmpz,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_binary_op_fmpz_fmpz = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: *const fmpz,
arg3: *const fmpz,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_binary_op_fmpz_si = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: *const fmpz,
arg3: slong,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_binary_op_fmpq = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: *const fmpq,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_binary_op_other = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: gr_srcptr,
arg4: gr_ctx_ptr,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_other_binary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: gr_ctx_ptr,
arg4: gr_srcptr,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_si_binary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: slong,
arg3: gr_srcptr,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_ui_binary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: ulong,
arg3: gr_srcptr,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_fmpz_binary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: *const fmpz,
arg3: gr_srcptr,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_fmpq_binary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: *const fmpq,
arg3: gr_srcptr,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_binary_op_ui_ui = ::std::option::Option<
unsafe extern "C" fn(arg1: gr_ptr, arg2: ulong, arg3: ulong, arg4: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_binary_op_ui_si = ::std::option::Option<
unsafe extern "C" fn(arg1: gr_ptr, arg2: ulong, arg3: slong, arg4: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_binary_op_get_int = ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut libc::c_int,
arg2: gr_srcptr,
arg3: gr_srcptr,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_binary_op_other_get_int = ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut libc::c_int,
arg2: gr_srcptr,
arg3: gr_srcptr,
arg4: gr_ctx_ptr,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_binary_binary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_ptr,
arg3: gr_srcptr,
arg4: gr_srcptr,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_binary_op_with_flag = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: gr_srcptr,
arg4: libc::c_int,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_binary_binary_op_ui_ui = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_ptr,
arg3: ulong,
arg4: ulong,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_ternary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: gr_srcptr,
arg4: gr_srcptr,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_ternary_op_with_flag = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: gr_srcptr,
arg4: gr_srcptr,
arg5: libc::c_int,
arg6: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_ternary_unary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_ptr,
arg3: gr_ptr,
arg4: gr_srcptr,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_quaternary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: gr_srcptr,
arg4: gr_srcptr,
arg5: gr_srcptr,
arg6: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_quaternary_op_with_flag = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: gr_srcptr,
arg4: gr_srcptr,
arg5: gr_srcptr,
arg6: libc::c_int,
arg7: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_quaternary_binary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_ptr,
arg3: gr_ptr,
arg4: gr_ptr,
arg5: gr_srcptr,
arg6: gr_srcptr,
arg7: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_quaternary_ternary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_ptr,
arg3: gr_ptr,
arg4: gr_ptr,
arg5: gr_srcptr,
arg6: gr_srcptr,
arg7: gr_srcptr,
arg8: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_si_si_quaternary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: slong,
arg3: slong,
arg4: gr_srcptr,
arg5: gr_srcptr,
arg6: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_unary_predicate =
::std::option::Option<unsafe extern "C" fn(arg1: gr_srcptr, arg2: gr_ctx_ptr) -> truth_t>;
pub type gr_method_binary_predicate = ::std::option::Option<
unsafe extern "C" fn(arg1: gr_srcptr, arg2: gr_srcptr, arg3: gr_ctx_ptr) -> truth_t,
>;
pub type gr_method_vec_init_clear_op =
::std::option::Option<unsafe extern "C" fn(arg1: gr_ptr, arg2: slong, arg3: gr_ctx_ptr)>;
pub type gr_method_vec_swap_op = ::std::option::Option<
unsafe extern "C" fn(arg1: gr_ptr, arg2: gr_ptr, arg3: slong, arg4: gr_ctx_ptr),
>;
pub type gr_method_vec_constant_op = ::std::option::Option<
unsafe extern "C" fn(arg1: gr_ptr, arg2: slong, arg3: gr_ctx_ptr) -> libc::c_int,
>;
pub type gr_method_vec_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: slong,
arg4: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_vec_vec_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: gr_srcptr,
arg4: slong,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_vec_scalar_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: slong,
arg4: gr_srcptr,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_scalar_vec_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: gr_srcptr,
arg4: slong,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_vec_op_other = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: gr_srcptr,
arg4: gr_ctx_ptr,
arg5: slong,
arg6: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_other_op_vec = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: gr_ctx_ptr,
arg4: gr_srcptr,
arg5: slong,
arg6: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_vec_op_scalar_other = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: slong,
arg4: gr_srcptr,
arg5: gr_ctx_ptr,
arg6: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_scalar_other_op_vec = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: gr_ctx_ptr,
arg4: gr_srcptr,
arg5: slong,
arg6: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_vec_scalar_op_si = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: slong,
arg4: slong,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_vec_scalar_op_ui = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: slong,
arg4: ulong,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_vec_scalar_op_fmpz = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: slong,
arg4: *const fmpz,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_vec_scalar_op_fmpq = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: slong,
arg4: *const fmpq,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_vec_predicate = ::std::option::Option<
unsafe extern "C" fn(arg1: gr_srcptr, arg2: slong, arg3: gr_ctx_ptr) -> truth_t,
>;
pub type gr_method_vec_vec_predicate = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_srcptr,
arg2: gr_srcptr,
arg3: slong,
arg4: gr_ctx_ptr,
) -> truth_t,
>;
pub type gr_method_factor_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: *mut gr_vec_struct,
arg3: *mut gr_vec_struct,
arg4: gr_srcptr,
arg5: libc::c_int,
arg6: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_poly_unary_trunc_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: slong,
arg4: slong,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_poly_binary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: slong,
arg4: gr_srcptr,
arg5: slong,
arg6: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_poly_binary_binary_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_ptr,
arg3: gr_srcptr,
arg4: slong,
arg5: gr_srcptr,
arg6: slong,
arg7: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_poly_binary_trunc_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: slong,
arg4: gr_srcptr,
arg5: slong,
arg6: slong,
arg7: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_poly_binary_trunc2_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: slong,
arg4: gr_srcptr,
arg5: slong,
arg6: slong,
arg7: slong,
arg8: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_poly_gcd_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: *mut slong,
arg3: gr_srcptr,
arg4: slong,
arg5: gr_srcptr,
arg6: slong,
arg7: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_poly_xgcd_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut slong,
arg2: gr_ptr,
arg3: gr_ptr,
arg4: gr_ptr,
arg5: gr_srcptr,
arg6: slong,
arg7: gr_srcptr,
arg8: slong,
arg9: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_method_vec_ctx_op = ::std::option::Option<
unsafe extern "C" fn(arg1: *mut gr_vec_struct, arg2: gr_ctx_ptr) -> libc::c_int,
>;
pub type _gr_method_get_si_op =
::std::option::Option<unsafe extern "C" fn(arg1: gr_srcptr, arg2: gr_ctx_ptr) -> slong>;
#[repr(C)]
pub struct polynomial_ctx_t {
pub base_ring: *mut gr_ctx_struct,
pub degree_limit: slong,
pub var: *mut libc::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of polynomial_ctx_t"][::std::mem::size_of::<polynomial_ctx_t>() - 24usize];
["Alignment of polynomial_ctx_t"][::std::mem::align_of::<polynomial_ctx_t>() - 8usize];
["Offset of field: polynomial_ctx_t::base_ring"]
[::std::mem::offset_of!(polynomial_ctx_t, base_ring) - 0usize];
["Offset of field: polynomial_ctx_t::degree_limit"]
[::std::mem::offset_of!(polynomial_ctx_t, degree_limit) - 8usize];
["Offset of field: polynomial_ctx_t::var"]
[::std::mem::offset_of!(polynomial_ctx_t, var) - 16usize];
};
impl Default for polynomial_ctx_t {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
pub struct vector_ctx_t {
pub base_ring: *mut gr_ctx_struct,
pub all_sizes: libc::c_int,
pub n: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of vector_ctx_t"][::std::mem::size_of::<vector_ctx_t>() - 24usize];
["Alignment of vector_ctx_t"][::std::mem::align_of::<vector_ctx_t>() - 8usize];
["Offset of field: vector_ctx_t::base_ring"]
[::std::mem::offset_of!(vector_ctx_t, base_ring) - 0usize];
["Offset of field: vector_ctx_t::all_sizes"]
[::std::mem::offset_of!(vector_ctx_t, all_sizes) - 8usize];
["Offset of field: vector_ctx_t::n"][::std::mem::offset_of!(vector_ctx_t, n) - 16usize];
};
impl Default for vector_ctx_t {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
pub struct matrix_ctx_t {
pub base_ring: *mut gr_ctx_struct,
pub all_sizes: libc::c_int,
pub nrows: slong,
pub ncols: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of matrix_ctx_t"][::std::mem::size_of::<matrix_ctx_t>() - 32usize];
["Alignment of matrix_ctx_t"][::std::mem::align_of::<matrix_ctx_t>() - 8usize];
["Offset of field: matrix_ctx_t::base_ring"]
[::std::mem::offset_of!(matrix_ctx_t, base_ring) - 0usize];
["Offset of field: matrix_ctx_t::all_sizes"]
[::std::mem::offset_of!(matrix_ctx_t, all_sizes) - 8usize];
["Offset of field: matrix_ctx_t::nrows"][::std::mem::offset_of!(matrix_ctx_t, nrows) - 16usize];
["Offset of field: matrix_ctx_t::ncols"][::std::mem::offset_of!(matrix_ctx_t, ncols) - 24usize];
};
impl Default for matrix_ctx_t {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
extern "C" {
#[link_name = "truth_and__extern"]
pub fn truth_and(x: truth_t, y: truth_t) -> truth_t;
#[link_name = "truth_or__extern"]
pub fn truth_or(x: truth_t, y: truth_t) -> truth_t;
#[link_name = "truth_not__extern"]
pub fn truth_not(x: truth_t) -> truth_t;
#[link_name = "gr_in_domain__extern"]
pub fn gr_in_domain(status: libc::c_int) -> truth_t;
#[link_name = "gr_check__extern"]
pub fn gr_check(t: truth_t) -> libc::c_int;
#[link_name = "truth_println__extern"]
pub fn truth_println(x: truth_t);
pub fn gr_stream_init_file(out: *mut gr_stream_struct, fp: *mut FILE);
pub fn gr_stream_init_str(out: *mut gr_stream_struct);
pub fn gr_stream_write(out: *mut gr_stream_struct, s: *const libc::c_char) -> libc::c_int;
pub fn gr_stream_write_si(out: *mut gr_stream_struct, x: slong) -> libc::c_int;
pub fn gr_stream_write_ui(out: *mut gr_stream_struct, x: ulong) -> libc::c_int;
pub fn gr_stream_write_free(out: *mut gr_stream_struct, s: *mut libc::c_char) -> libc::c_int;
pub fn gr_stream_write_fmpz(out: *mut gr_stream_struct, x: *const fmpz) -> libc::c_int;
#[link_name = "gr_not_implemented__extern"]
pub fn gr_not_implemented() -> libc::c_int;
#[link_name = "gr_not_in_domain__extern"]
pub fn gr_not_in_domain() -> libc::c_int;
pub fn gr_method_tab_init(methods: *mut gr_funcptr, tab: *mut gr_method_tab_input);
pub fn gr_method_tab_extend(methods: *mut gr_funcptr, tab: *mut gr_method_tab_input);
#[link_name = "gr_ctx_data_ptr__extern"]
pub fn gr_ctx_data_ptr(ctx: *mut gr_ctx_struct) -> *mut libc::c_void;
#[link_name = "gr_ctx_data_as_ptr__extern"]
pub fn gr_ctx_data_as_ptr(ctx: *mut gr_ctx_struct) -> *mut libc::c_void;
#[link_name = "gr_ctx_sizeof_ctx__extern"]
pub fn gr_ctx_sizeof_ctx() -> slong;
#[link_name = "gr_ctx_sizeof_elem__extern"]
pub fn gr_ctx_sizeof_elem(ctx: *mut gr_ctx_struct) -> slong;
#[link_name = "gr_ctx_clear__extern"]
pub fn gr_ctx_clear(ctx: *mut gr_ctx_struct);
#[link_name = "gr_ctx_write__extern"]
pub fn gr_ctx_write(out: *mut gr_stream_struct, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_ctx_is_ring__extern"]
pub fn gr_ctx_is_ring(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_commutative_ring__extern"]
pub fn gr_ctx_is_commutative_ring(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_integral_domain__extern"]
pub fn gr_ctx_is_integral_domain(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_field__extern"]
pub fn gr_ctx_is_field(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_zero_ring__extern"]
pub fn gr_ctx_is_zero_ring(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_rational_vector_space__extern"]
pub fn gr_ctx_is_rational_vector_space(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_real_vector_space__extern"]
pub fn gr_ctx_is_real_vector_space(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_complex_vector_space__extern"]
pub fn gr_ctx_is_complex_vector_space(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_unique_factorization_domain__extern"]
pub fn gr_ctx_is_unique_factorization_domain(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_finite__extern"]
pub fn gr_ctx_is_finite(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_finite_characteristic__extern"]
pub fn gr_ctx_is_finite_characteristic(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_algebraically_closed__extern"]
pub fn gr_ctx_is_algebraically_closed(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_ordered_ring__extern"]
pub fn gr_ctx_is_ordered_ring(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_approx_commutative_ring__extern"]
pub fn gr_ctx_is_approx_commutative_ring(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_multiplicative_group__extern"]
pub fn gr_ctx_is_multiplicative_group(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_exact__extern"]
pub fn gr_ctx_is_exact(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_canonical__extern"]
pub fn gr_ctx_is_canonical(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_is_threadsafe__extern"]
pub fn gr_ctx_is_threadsafe(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_has_real_prec__extern"]
pub fn gr_ctx_has_real_prec(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_set_real_prec__extern"]
pub fn gr_ctx_set_real_prec(ctx: *mut gr_ctx_struct, prec: slong) -> libc::c_int;
#[link_name = "gr_ctx_get_real_prec__extern"]
pub fn gr_ctx_get_real_prec(prec: *mut slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_ctx_set_is_field__extern"]
pub fn gr_ctx_set_is_field(ctx: *mut gr_ctx_struct, is_field: truth_t) -> libc::c_int;
#[link_name = "gr_ctx_set_gen_name__extern"]
pub fn gr_ctx_set_gen_name(ctx: *mut gr_ctx_struct, s: *const libc::c_char) -> libc::c_int;
#[link_name = "gr_ctx_set_gen_names__extern"]
pub fn gr_ctx_set_gen_names(
ctx: *mut gr_ctx_struct,
s: *mut *const libc::c_char,
) -> libc::c_int;
#[link_name = "gr_ctx_ngens__extern"]
pub fn gr_ctx_ngens(ngens: *mut slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_ctx_gen_name__extern"]
pub fn gr_ctx_gen_name(
name: *mut *mut libc::c_char,
i: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_ctx_get_real_prec__extern"]
pub fn _gr_ctx_get_real_prec(ctx: *mut gr_ctx_struct) -> slong;
#[link_name = "gr_ctx_base__extern"]
pub fn gr_ctx_base(ctx: *mut gr_ctx_struct) -> gr_ptr;
#[link_name = "gr_init__extern"]
pub fn gr_init(res: gr_ptr, ctx: *mut gr_ctx_struct);
#[link_name = "gr_clear__extern"]
pub fn gr_clear(res: gr_ptr, ctx: *mut gr_ctx_struct);
#[link_name = "gr_swap__extern"]
pub fn gr_swap(x: gr_ptr, y: gr_ptr, ctx: *mut gr_ctx_struct);
#[link_name = "gr_set_shallow__extern"]
pub fn gr_set_shallow(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct);
#[link_name = "_gr_length__extern"]
pub fn _gr_length(x: gr_srcptr, ctx: *mut gr_ctx_struct);
#[link_name = "gr_randtest__extern"]
pub fn gr_randtest(
x: gr_ptr,
state: *mut flint_rand_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_randtest_not_zero__extern"]
pub fn gr_randtest_not_zero(
x: gr_ptr,
state: *mut flint_rand_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_randtest_invertible__extern"]
pub fn gr_randtest_invertible(
x: gr_ptr,
state: *mut flint_rand_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_randtest_small__extern"]
pub fn gr_randtest_small(
x: gr_ptr,
state: *mut flint_rand_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_write__extern"]
pub fn gr_write(
out: *mut gr_stream_struct,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_write_n__extern"]
pub fn gr_write_n(
out: *mut gr_stream_struct,
x: gr_srcptr,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_zero__extern"]
pub fn gr_zero(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_one__extern"]
pub fn gr_one(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_neg_one__extern"]
pub fn gr_neg_one(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_set__extern"]
pub fn gr_set(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_set_si__extern"]
pub fn gr_set_si(res: gr_ptr, x: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_set_ui__extern"]
pub fn gr_set_ui(res: gr_ptr, x: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_set_fmpz__extern"]
pub fn gr_set_fmpz(res: gr_ptr, x: *const fmpz, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_set_fmpq__extern"]
pub fn gr_set_fmpq(res: gr_ptr, x: *const fmpq, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_set_d__extern"]
pub fn gr_set_d(res: gr_ptr, x: f64, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_set_other__extern"]
pub fn gr_set_other(
res: gr_ptr,
x: gr_srcptr,
x_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_set_str__extern"]
pub fn gr_set_str(res: gr_ptr, x: *const libc::c_char, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_get_si__extern"]
pub fn gr_get_si(res: *mut slong, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_get_ui__extern"]
pub fn gr_get_ui(res: *mut ulong, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_get_fmpz__extern"]
pub fn gr_get_fmpz(res: *mut fmpz, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_get_fmpq__extern"]
pub fn gr_get_fmpq(res: *mut fmpq, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_get_d__extern"]
pub fn gr_get_d(res: *mut f64, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_is_zero__extern"]
pub fn gr_is_zero(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_is_one__extern"]
pub fn gr_is_one(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_is_neg_one__extern"]
pub fn gr_is_neg_one(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_equal__extern"]
pub fn gr_equal(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_not_equal__extern"]
pub fn gr_not_equal(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_neg__extern"]
pub fn gr_neg(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_add__extern"]
pub fn gr_add(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_add_ui__extern"]
pub fn gr_add_ui(res: gr_ptr, x: gr_srcptr, y: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_add_si__extern"]
pub fn gr_add_si(res: gr_ptr, x: gr_srcptr, y: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_add_fmpz__extern"]
pub fn gr_add_fmpz(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_add_fmpq__extern"]
pub fn gr_add_fmpq(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpq,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_add_other__extern"]
pub fn gr_add_other(
res: gr_ptr,
x: gr_srcptr,
y: gr_srcptr,
y_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_other_add__extern"]
pub fn gr_other_add(
res: gr_ptr,
x: gr_srcptr,
x_ctx: *mut gr_ctx_struct,
y: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_sub__extern"]
pub fn gr_sub(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_sub_ui__extern"]
pub fn gr_sub_ui(res: gr_ptr, x: gr_srcptr, y: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_sub_si__extern"]
pub fn gr_sub_si(res: gr_ptr, x: gr_srcptr, y: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_sub_fmpz__extern"]
pub fn gr_sub_fmpz(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_sub_fmpq__extern"]
pub fn gr_sub_fmpq(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpq,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_sub_other__extern"]
pub fn gr_sub_other(
res: gr_ptr,
x: gr_srcptr,
y: gr_srcptr,
y_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_other_sub__extern"]
pub fn gr_other_sub(
res: gr_ptr,
x: gr_srcptr,
x_ctx: *mut gr_ctx_struct,
y: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_mul__extern"]
pub fn gr_mul(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_mul_ui__extern"]
pub fn gr_mul_ui(res: gr_ptr, x: gr_srcptr, y: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_mul_si__extern"]
pub fn gr_mul_si(res: gr_ptr, x: gr_srcptr, y: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_mul_fmpz__extern"]
pub fn gr_mul_fmpz(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_mul_fmpq__extern"]
pub fn gr_mul_fmpq(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpq,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_mul_other__extern"]
pub fn gr_mul_other(
res: gr_ptr,
x: gr_srcptr,
y: gr_srcptr,
y_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_other_mul__extern"]
pub fn gr_other_mul(
res: gr_ptr,
x: gr_srcptr,
x_ctx: *mut gr_ctx_struct,
y: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_addmul__extern"]
pub fn gr_addmul(
res: gr_ptr,
x: gr_srcptr,
y: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_addmul_ui__extern"]
pub fn gr_addmul_ui(
res: gr_ptr,
x: gr_srcptr,
y: ulong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_addmul_si__extern"]
pub fn gr_addmul_si(
res: gr_ptr,
x: gr_srcptr,
y: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_addmul_fmpz__extern"]
pub fn gr_addmul_fmpz(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_addmul_fmpq__extern"]
pub fn gr_addmul_fmpq(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpq,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_addmul_other__extern"]
pub fn gr_addmul_other(
res: gr_ptr,
x: gr_srcptr,
y: gr_srcptr,
y_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_submul__extern"]
pub fn gr_submul(
res: gr_ptr,
x: gr_srcptr,
y: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_submul_ui__extern"]
pub fn gr_submul_ui(
res: gr_ptr,
x: gr_srcptr,
y: ulong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_submul_si__extern"]
pub fn gr_submul_si(
res: gr_ptr,
x: gr_srcptr,
y: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_submul_fmpz__extern"]
pub fn gr_submul_fmpz(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_submul_fmpq__extern"]
pub fn gr_submul_fmpq(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpq,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_submul_other__extern"]
pub fn gr_submul_other(
res: gr_ptr,
x: gr_srcptr,
y: gr_srcptr,
y_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_mul_two__extern"]
pub fn gr_mul_two(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_sqr__extern"]
pub fn gr_sqr(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_mul_2exp_si__extern"]
pub fn gr_mul_2exp_si(
res: gr_ptr,
x: gr_srcptr,
y: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_mul_2exp_fmpz__extern"]
pub fn gr_mul_2exp_fmpz(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_set_fmpz_2exp_fmpz__extern"]
pub fn gr_set_fmpz_2exp_fmpz(
res: gr_ptr,
x: *const fmpz,
y: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_get_fmpz_2exp_fmpz__extern"]
pub fn gr_get_fmpz_2exp_fmpz(
res1: *mut fmpz,
res2: *mut fmpz,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_set_fmpz_10exp_fmpz__extern"]
pub fn gr_set_fmpz_10exp_fmpz(
res: gr_ptr,
x: *const fmpz,
y: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_get_d_2exp_si__extern"]
pub fn gr_get_d_2exp_si(
res: *mut f64,
exp: *mut slong,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_inv__extern"]
pub fn gr_inv(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_is_invertible__extern"]
pub fn gr_is_invertible(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_div__extern"]
pub fn gr_div(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_div_ui__extern"]
pub fn gr_div_ui(res: gr_ptr, x: gr_srcptr, y: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_div_si__extern"]
pub fn gr_div_si(res: gr_ptr, x: gr_srcptr, y: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_div_fmpz__extern"]
pub fn gr_div_fmpz(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_div_fmpq__extern"]
pub fn gr_div_fmpq(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpq,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_div_other__extern"]
pub fn gr_div_other(
res: gr_ptr,
x: gr_srcptr,
y: gr_srcptr,
y_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_other_div__extern"]
pub fn gr_other_div(
res: gr_ptr,
x: gr_srcptr,
x_ctx: *mut gr_ctx_struct,
y: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_div_nonunique__extern"]
pub fn gr_div_nonunique(
res: gr_ptr,
x: gr_srcptr,
y: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_divides__extern"]
pub fn gr_divides(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_divexact__extern"]
pub fn gr_divexact(
res: gr_ptr,
x: gr_srcptr,
y: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_divexact_ui__extern"]
pub fn gr_divexact_ui(
res: gr_ptr,
x: gr_srcptr,
y: ulong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_divexact_si__extern"]
pub fn gr_divexact_si(
res: gr_ptr,
x: gr_srcptr,
y: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_divexact_fmpz__extern"]
pub fn gr_divexact_fmpz(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_divexact_fmpq__extern"]
pub fn gr_divexact_fmpq(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpq,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_divexact_other__extern"]
pub fn gr_divexact_other(
res: gr_ptr,
x: gr_srcptr,
y: gr_srcptr,
y_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_other_divexact__extern"]
pub fn gr_other_divexact(
res: gr_ptr,
x: gr_srcptr,
x_ctx: *mut gr_ctx_struct,
y: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_euclidean_div__extern"]
pub fn gr_euclidean_div(
res: gr_ptr,
x: gr_srcptr,
y: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_euclidean_rem__extern"]
pub fn gr_euclidean_rem(
res: gr_ptr,
x: gr_srcptr,
y: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_euclidean_divrem__extern"]
pub fn gr_euclidean_divrem(
res1: gr_ptr,
res2: gr_ptr,
x: gr_srcptr,
y: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_gcd__extern"]
pub fn gr_gcd(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_lcm__extern"]
pub fn gr_lcm(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_numerator__extern"]
pub fn gr_numerator(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_denominator__extern"]
pub fn gr_denominator(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_factor__extern"]
pub fn gr_factor(
c: gr_ptr,
factors: *mut gr_vec_struct,
exponents: *mut gr_vec_struct,
x: gr_srcptr,
flags: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_pow__extern"]
pub fn gr_pow(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_pow_ui__extern"]
pub fn gr_pow_ui(res: gr_ptr, x: gr_srcptr, y: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_pow_si__extern"]
pub fn gr_pow_si(res: gr_ptr, x: gr_srcptr, y: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_pow_fmpz__extern"]
pub fn gr_pow_fmpz(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_pow_fmpq__extern"]
pub fn gr_pow_fmpq(
res: gr_ptr,
x: gr_srcptr,
y: *const fmpq,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_pow_other__extern"]
pub fn gr_pow_other(
res: gr_ptr,
x: gr_srcptr,
y: gr_srcptr,
y_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_other_pow__extern"]
pub fn gr_other_pow(
res: gr_ptr,
x: gr_srcptr,
x_ctx: *mut gr_ctx_struct,
y: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_derivative_gen__extern"]
pub fn gr_derivative_gen(
res: gr_ptr,
x: gr_srcptr,
var: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_sqrt__extern"]
pub fn gr_sqrt(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_rsqrt__extern"]
pub fn gr_rsqrt(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_is_square__extern"]
pub fn gr_is_square(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_floor__extern"]
pub fn gr_floor(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_ceil__extern"]
pub fn gr_ceil(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_trunc__extern"]
pub fn gr_trunc(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_nint__extern"]
pub fn gr_nint(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_abs__extern"]
pub fn gr_abs(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_i__extern"]
pub fn gr_i(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_conj__extern"]
pub fn gr_conj(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_re__extern"]
pub fn gr_re(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_im__extern"]
pub fn gr_im(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_sgn__extern"]
pub fn gr_sgn(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_csgn__extern"]
pub fn gr_csgn(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_arg__extern"]
pub fn gr_arg(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_canonical_associate__extern"]
pub fn gr_canonical_associate(
res1: gr_ptr,
res2: gr_ptr,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_pos_inf__extern"]
pub fn gr_pos_inf(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_neg_inf__extern"]
pub fn gr_neg_inf(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_uinf__extern"]
pub fn gr_uinf(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_undefined__extern"]
pub fn gr_undefined(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_unknown__extern"]
pub fn gr_unknown(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_cmp__extern"]
pub fn gr_cmp(
res: *mut libc::c_int,
x: gr_srcptr,
y: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_cmpabs__extern"]
pub fn gr_cmpabs(
res: *mut libc::c_int,
x: gr_srcptr,
y: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_cmp_other__extern"]
pub fn gr_cmp_other(
res: *mut libc::c_int,
x: gr_srcptr,
y: gr_srcptr,
y_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_cmpabs_other__extern"]
pub fn gr_cmpabs_other(
res: *mut libc::c_int,
x: gr_srcptr,
y: gr_srcptr,
y_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_le__extern"]
pub fn gr_le(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_lt__extern"]
pub fn gr_lt(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ge__extern"]
pub fn gr_ge(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_gt__extern"]
pub fn gr_gt(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_abs_le__extern"]
pub fn gr_abs_le(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_abs_lt__extern"]
pub fn gr_abs_lt(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_abs_ge__extern"]
pub fn gr_abs_ge(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_abs_gt__extern"]
pub fn gr_abs_gt(x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_min__extern"]
pub fn gr_min(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_max__extern"]
pub fn gr_max(res: gr_ptr, x: gr_srcptr, y: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_gen__extern"]
pub fn gr_gen(res: gr_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_gens__extern"]
pub fn gr_gens(res: *mut gr_vec_struct, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_gens_recursive__extern"]
pub fn gr_gens_recursive(res: *mut gr_vec_struct, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_ctx_fq_prime__extern"]
pub fn gr_ctx_fq_prime(res: *mut fmpz, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_ctx_fq_degree__extern"]
pub fn gr_ctx_fq_degree(res: *mut slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_ctx_fq_order__extern"]
pub fn gr_ctx_fq_order(res: *mut fmpz, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_fq_frobenius__extern"]
pub fn gr_fq_frobenius(
res: gr_ptr,
x: gr_srcptr,
e: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_fq_multiplicative_order__extern"]
pub fn gr_fq_multiplicative_order(
res: *mut fmpz,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_fq_norm__extern"]
pub fn gr_fq_norm(res: *mut fmpz, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_fq_trace__extern"]
pub fn gr_fq_trace(res: *mut fmpz, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_fq_is_primitive__extern"]
pub fn gr_fq_is_primitive(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_fq_pth_root__extern"]
pub fn gr_fq_pth_root(res: gr_ptr, x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "gr_set_interval_mid_rad__extern"]
pub fn gr_set_interval_mid_rad(
res: gr_ptr,
m: gr_srcptr,
r: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_vec_init__extern"]
pub fn _gr_vec_init(vec: gr_ptr, len: slong, ctx: *mut gr_ctx_struct);
#[link_name = "_gr_vec_clear__extern"]
pub fn _gr_vec_clear(vec: gr_ptr, len: slong, ctx: *mut gr_ctx_struct);
#[link_name = "_gr_vec_swap__extern"]
pub fn _gr_vec_swap(vec1: gr_ptr, vec2: gr_ptr, len: slong, ctx: *mut gr_ctx_struct);
pub fn gr_ctx_print(ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn gr_ctx_println(ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn gr_print(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn gr_println(x: gr_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn gr_ctx_get_str(s: *mut *mut libc::c_char, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn gr_get_str(
s: *mut *mut libc::c_char,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_get_str_n(
s: *mut *mut libc::c_char,
x: gr_srcptr,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_heap_init__extern"]
pub fn gr_heap_init(ctx: *mut gr_ctx_struct) -> gr_ptr;
#[link_name = "gr_heap_clear__extern"]
pub fn gr_heap_clear(x: gr_ptr, ctx: *mut gr_ctx_struct);
#[link_name = "gr_heap_init_vec__extern"]
pub fn gr_heap_init_vec(len: slong, ctx: *mut gr_ctx_struct) -> gr_ptr;
#[link_name = "gr_heap_clear_vec__extern"]
pub fn gr_heap_clear_vec(x: gr_ptr, len: slong, ctx: *mut gr_ctx_struct);
pub fn gr_generic_ctx_predicate(ctx: *mut gr_ctx_struct) -> truth_t;
pub fn gr_generic_ctx_predicate_true(ctx: *mut gr_ctx_struct) -> truth_t;
pub fn gr_generic_ctx_predicate_false(ctx: *mut gr_ctx_struct) -> truth_t;
pub fn gr_ctx_uninitialized(ctx: *mut gr_ctx_struct);
pub fn gr_ctx_init_random(ctx: *mut gr_ctx_struct, state: *mut flint_rand_struct);
pub fn gr_ctx_init_random_commutative_ring(
ctx: *mut gr_ctx_struct,
state: *mut flint_rand_struct,
);
pub fn gr_ctx_init_random_field(ctx: *mut gr_ctx_struct, state: *mut flint_rand_struct);
pub fn gr_ctx_init_random_poly(ctx: *mut gr_ctx_struct, state: *mut flint_rand_struct);
pub fn gr_ctx_init_random_mpoly(ctx: *mut gr_ctx_struct, state: *mut flint_rand_struct);
pub fn gr_ctx_init_random_series(ctx: *mut gr_ctx_struct, state: *mut flint_rand_struct);
pub fn gr_ctx_init_fmpz(ctx: *mut gr_ctx_struct);
pub fn gr_ctx_init_fmpq(ctx: *mut gr_ctx_struct);
pub fn gr_ctx_init_fmpzi(ctx: *mut gr_ctx_struct);
pub fn gr_ctx_init_fmpz_mod(ctx: *mut gr_ctx_struct, n: *const fmpz);
pub fn _gr_ctx_init_fmpz_mod_from_ref(ctx: *mut gr_ctx_struct, fmod_ctx: *const libc::c_void);
pub fn gr_ctx_init_nmod(ctx: *mut gr_ctx_struct, n: ulong) -> libc::c_int;
pub fn _gr_ctx_init_nmod(ctx: *mut gr_ctx_struct, nmod_t_ref: *mut libc::c_void);
pub fn gr_ctx_init_nmod8(ctx: *mut gr_ctx_struct, n: ulong) -> libc::c_int;
pub fn gr_ctx_init_nmod32(ctx: *mut gr_ctx_struct, n: ulong) -> libc::c_int;
pub fn gr_ctx_init_mpn_mod(ctx: *mut gr_ctx_struct, n: *const fmpz) -> libc::c_int;
pub fn gr_ctx_init_real_qqbar(ctx: *mut gr_ctx_struct);
pub fn gr_ctx_init_complex_qqbar(ctx: *mut gr_ctx_struct);
pub fn _gr_ctx_qqbar_set_limits(ctx: *mut gr_ctx_struct, deg_limit: slong, bits_limit: slong);
pub fn gr_ctx_init_real_arb(ctx: *mut gr_ctx_struct, prec: slong);
pub fn gr_ctx_init_complex_acb(ctx: *mut gr_ctx_struct, prec: slong);
pub fn gr_ctx_init_real_float_arf(ctx: *mut gr_ctx_struct, prec: slong);
pub fn gr_ctx_init_complex_float_acf(ctx: *mut gr_ctx_struct, prec: slong);
pub fn gr_ctx_init_mpf(ctx: *mut gr_ctx_struct, prec: slong);
pub fn gr_ctx_init_real_ca(ctx: *mut gr_ctx_struct);
pub fn gr_ctx_init_complex_ca(ctx: *mut gr_ctx_struct);
pub fn gr_ctx_init_real_algebraic_ca(ctx: *mut gr_ctx_struct);
pub fn gr_ctx_init_complex_algebraic_ca(ctx: *mut gr_ctx_struct);
pub fn gr_ctx_init_complex_extended_ca(ctx: *mut gr_ctx_struct);
pub fn _gr_ctx_init_ca_from_ref(
ctx: *mut gr_ctx_struct,
which_ring: libc::c_int,
ca_ctx: *mut libc::c_void,
);
pub fn gr_ctx_ca_set_option(ctx: *mut gr_ctx_struct, option: slong, value: slong);
pub fn gr_ctx_ca_get_option(ctx: *mut gr_ctx_struct, option: slong) -> slong;
pub fn gr_ctx_init_fq(
ctx: *mut gr_ctx_struct,
p: *const fmpz,
d: slong,
var: *const libc::c_char,
);
pub fn gr_ctx_init_fq_nmod(
ctx: *mut gr_ctx_struct,
p: ulong,
d: slong,
var: *const libc::c_char,
);
pub fn gr_ctx_init_fq_zech(
ctx: *mut gr_ctx_struct,
p: ulong,
d: slong,
var: *const libc::c_char,
);
pub fn _gr_ctx_init_fq_from_ref(ctx: *mut gr_ctx_struct, fq_ctx: *const libc::c_void);
pub fn _gr_ctx_init_fq_nmod_from_ref(ctx: *mut gr_ctx_struct, fq_nmod_ctx: *const libc::c_void);
pub fn _gr_ctx_init_fq_zech_from_ref(ctx: *mut gr_ctx_struct, fq_zech_ctx: *const libc::c_void);
pub fn gr_ctx_init_fmpz_poly(ctx: *mut gr_ctx_struct);
pub fn gr_ctx_init_fmpq_poly(ctx: *mut gr_ctx_struct);
pub fn gr_ctx_init_perm(ctx: *mut gr_ctx_struct, n: ulong);
pub fn gr_ctx_init_psl2z(ctx: *mut gr_ctx_struct);
pub fn gr_ctx_init_dirichlet_group(ctx: *mut gr_ctx_struct, q: ulong) -> libc::c_int;
pub fn gr_ctx_init_gr_poly(ctx: *mut gr_ctx_struct, base_ring: *mut gr_ctx_struct);
pub fn gr_ctx_init_gr_fraction(
ctx: *mut gr_ctx_struct,
domain: *mut gr_ctx_struct,
flags: libc::c_int,
);
pub fn gr_ctx_init_gr_complex(ctx: *mut gr_ctx_struct, real_ctx: *mut gr_ctx_struct);
pub fn gr_ctx_init_gr_series(
ctx: *mut gr_ctx_struct,
base_ring: *mut gr_ctx_struct,
prec: slong,
);
pub fn gr_ctx_init_series_mod_gr_poly(
ctx: *mut gr_ctx_struct,
base_ring: *mut gr_ctx_struct,
n: slong,
);
pub fn gr_ctx_init_vector_gr_vec(ctx: *mut gr_ctx_struct, base_ring: *mut gr_ctx_struct);
pub fn gr_ctx_init_vector_space_gr_vec(
ctx: *mut gr_ctx_struct,
base_ring: *mut gr_ctx_struct,
n: slong,
);
pub fn gr_ctx_init_matrix_domain(ctx: *mut gr_ctx_struct, base_ring: *mut gr_ctx_struct);
pub fn gr_ctx_init_matrix_space(
ctx: *mut gr_ctx_struct,
base_ring: *mut gr_ctx_struct,
nrows: slong,
ncols: slong,
);
pub fn gr_ctx_matrix_is_fixed_size(ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "gr_ctx_init_matrix_ring__extern"]
pub fn gr_ctx_init_matrix_ring(
ctx: *mut gr_ctx_struct,
base_ring: *mut gr_ctx_struct,
n: slong,
);
pub fn gr_ctx_init_fexpr(ctx: *mut gr_ctx_struct);
pub fn gr_ctx_cmp_coercion(ctx1: *mut gr_ctx_struct, ctx2: *mut gr_ctx_struct) -> libc::c_int;
pub fn gr_ctx_init_debug(
ctx: *mut gr_ctx_struct,
elem_ctx: *mut gr_ctx_struct,
flags: libc::c_int,
unable_probability: f64,
);
pub fn gr_test_ring(R: *mut gr_ctx_struct, iters: slong, test_flags: libc::c_int);
pub fn gr_test_multiplicative_group(
R: *mut gr_ctx_struct,
iters: slong,
test_flags: libc::c_int,
);
pub fn gr_test_floating_point(R: *mut gr_ctx_struct, iters: slong, test_flags: libc::c_int);
pub fn gr_test_cmp_fun(
R: *mut gr_ctx_struct,
op: gr_method_binary_op_get_int,
R_ref: *mut gr_ctx_struct,
state: *mut flint_rand_struct,
test_flags: libc::c_int,
) -> libc::c_int;
pub fn gr_test_approx_unary_op(
R: *mut gr_ctx_struct,
op: gr_method_unary_op,
R_ref: *mut gr_ctx_struct,
rel_tol: gr_srcptr,
state: *mut flint_rand_struct,
test_flags: libc::c_int,
) -> libc::c_int;
pub fn gr_test_approx_binary_op(
R: *mut gr_ctx_struct,
op: gr_method_binary_op,
R_ref: *mut gr_ctx_struct,
rel_tol: gr_srcptr,
state: *mut flint_rand_struct,
test_flags: libc::c_int,
) -> libc::c_int;
pub fn gr_test_approx_binary_op_type_variants(
R: *mut gr_ctx_struct,
opname: *const libc::c_char,
gr_op: gr_method_binary_op,
gr_op_ui: gr_method_binary_op_ui,
gr_op_si: gr_method_binary_op_si,
gr_op_fmpz: gr_method_binary_op_fmpz,
gr_op_fmpq: gr_method_binary_op_fmpq,
fused: libc::c_int,
small_test_values: libc::c_int,
rel_tol: gr_srcptr,
state: *mut flint_rand_struct,
test_flags: libc::c_int,
) -> libc::c_int;
pub fn gr_test_approx_dot(
R: *mut gr_ctx_struct,
R_ref: *mut gr_ctx_struct,
maxlen: slong,
rel_tol: gr_srcptr,
state: *mut flint_rand_struct,
test_flags: libc::c_int,
) -> libc::c_int;
pub fn gr_test_factor(
R: *mut gr_ctx_struct,
state: *mut flint_rand_struct,
test_flags: libc::c_int,
) -> libc::c_int;
pub fn gr_test_pow_ui_exponent_addition(
R: *mut gr_ctx_struct,
state: *mut flint_rand_struct,
test_flags: libc::c_int,
) -> libc::c_int;
pub fn gr_test_pow_ui_base_scalar_multiplication(
R: *mut gr_ctx_struct,
state: *mut flint_rand_struct,
test_flags: libc::c_int,
) -> libc::c_int;
pub fn gr_test_pow_ui_base_multiplication(
R: *mut gr_ctx_struct,
state: *mut flint_rand_struct,
test_flags: libc::c_int,
) -> libc::c_int;
pub fn gr_test_pow_ui_aliasing(
R: *mut gr_ctx_struct,
state: *mut flint_rand_struct,
test_flags: libc::c_int,
) -> libc::c_int;
pub fn gr_test_pow_fmpz_exponent_addition(
R: *mut gr_ctx_struct,
state: *mut flint_rand_struct,
test_flags: libc::c_int,
) -> libc::c_int;
}