File indexing completed on 2026-11-07 10:15:21
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef FQ_TYPES_H
0013 #define FQ_TYPES_H
0014
0015 #include "fmpz_mod_types.h"
0016
0017 #ifdef __cplusplus
0018 extern "C" {
0019 #endif
0020
0021 typedef fmpz_poly_t fq_t;
0022 typedef fmpz_poly_struct fq_struct;
0023
0024 typedef struct
0025 {
0026 fmpz_mod_ctx_t ctxp;
0027
0028 int sparse_modulus;
0029 int is_conway;
0030
0031 fmpz * a;
0032 slong * j;
0033 slong len;
0034
0035 fmpz_mod_poly_t modulus;
0036 fmpz_mod_poly_t inv;
0037
0038 char * var;
0039 }
0040 fq_ctx_struct;
0041
0042 typedef fq_ctx_struct fq_ctx_t[1];
0043
0044 typedef struct
0045 {
0046 fq_struct * entries;
0047 slong r;
0048 slong c;
0049 slong stride;
0050 }
0051 fq_mat_struct;
0052
0053 typedef fq_mat_struct fq_mat_t[1];
0054
0055 typedef struct
0056 {
0057 fq_struct * coeffs;
0058 slong alloc;
0059 slong length;
0060 }
0061 fq_poly_struct;
0062
0063 typedef fq_poly_struct fq_poly_t[1];
0064
0065 typedef struct
0066 {
0067 fq_poly_struct * poly;
0068 slong * exp;
0069 slong num;
0070 slong alloc;
0071 }
0072 fq_poly_factor_struct;
0073
0074 typedef fq_poly_factor_struct fq_poly_factor_t[1];
0075
0076 #ifdef __cplusplus
0077 }
0078 #endif
0079
0080 #endif