File indexing completed on 2026-11-07 10:15:20
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef FQ_NMOD_TYPES_H
0013 #define FQ_NMOD_TYPES_H
0014
0015 #include "nmod_types.h"
0016
0017 #ifdef __cplusplus
0018 extern "C" {
0019 #endif
0020
0021 typedef nmod_poly_t fq_nmod_t;
0022 typedef nmod_poly_struct fq_nmod_struct;
0023
0024 typedef struct
0025 {
0026 nmod_t mod;
0027
0028 int sparse_modulus;
0029 int is_conway;
0030
0031 ulong *a;
0032 slong *j;
0033 slong len;
0034
0035 nmod_poly_t modulus;
0036 nmod_poly_t inv;
0037
0038 char *var;
0039 }
0040 fq_nmod_ctx_struct;
0041
0042 typedef fq_nmod_ctx_struct fq_nmod_ctx_t[1];
0043
0044 typedef struct
0045 {
0046 fq_nmod_struct * entries;
0047 slong r;
0048 slong c;
0049 slong stride;
0050 }
0051 fq_nmod_mat_struct;
0052
0053 typedef fq_nmod_mat_struct fq_nmod_mat_t[1];
0054
0055 typedef struct
0056 {
0057 fq_nmod_struct * coeffs;
0058 slong alloc;
0059 slong length;
0060 }
0061 fq_nmod_poly_struct;
0062
0063 typedef fq_nmod_poly_struct fq_nmod_poly_t[1];
0064
0065 typedef struct
0066 {
0067 fq_nmod_poly_struct * poly;
0068 slong * exp;
0069 slong num;
0070 slong alloc;
0071 }
0072 fq_nmod_poly_factor_struct;
0073
0074 typedef fq_nmod_poly_factor_struct fq_nmod_poly_factor_t[1];
0075
0076 typedef struct {
0077 ulong * coeffs;
0078 ulong * exps;
0079 slong length;
0080 flint_bitcnt_t bits;
0081 slong coeffs_alloc;
0082 slong exps_alloc;
0083 } fq_nmod_mpoly_struct;
0084
0085 typedef fq_nmod_mpoly_struct fq_nmod_mpoly_t[1];
0086
0087 #ifdef __cplusplus
0088 }
0089 #endif
0090
0091 #endif