The mpoly functions that deal with multiprecision exponents (e.g. fmpz_mpoly_get_term_exp_fmpz) use fmpz ** exp, requiring the creation of a vector of fmpzs as well as a secondary vector of pointers into the vector of fmpzs. What is the rationale for this and is it too late to change? We use fmpz * exp everywhere else in flint for vectors of integers, and it's inconsistent with the single-precision versions of the same function (e.g. fmpz_mpoly_get_term_exp_ui) which just take an vector of values.
The mpoly functions that deal with multiprecision exponents (e.g. fmpz_mpoly_get_term_exp_fmpz) use fmpz ** exp, requiring the creation of a vector of fmpzs as well as a secondary vector of pointers into the vector of fmpzs. What is the rationale for this and is it too late to change? We use fmpz * exp everywhere else in flint for vectors of integers, and it's inconsistent with the single-precision versions of the same function (e.g. fmpz_mpoly_get_term_exp_ui) which just take an vector of values.