![]() |
#include <omalloc/omalloc.h>#include <algorithm>#include <vector>#include <stdlib.h>#include <misc/options.h>#include <coeffs/modulop.h>#include <polys/monomials/p_polys.h>#include <polys/monomials/ring.h>#include <polys/kbuckets.h>#include <kernel/ideals.h>#include <kernel/polys.h>#include <kernel/GBEngine/kutil.h>#include <kernel/GBEngine/kInline.h>#include <kernel/GBEngine/kstd1.h>Go to the source code of this file.
Data Structures | |
| class | PolySimple |
| class | DataNoroCacheNode< number_type > |
| class | MonRedResNP< number_type > |
| struct | sorted_pair_node |
| struct | poly_list_node |
| struct | int_pair_node |
| struct | monom_poly |
| struct | mp_array_list |
| struct | poly_array_list |
| class | slimgb_alg |
| class | red_object |
| class | reduction_step |
| makes on each red_object in a region a single_step More... | |
| class | simple_reducer |
| struct | find_erg |
| class | NoroCacheNode |
| class | DenseRow |
| class | SparseRow< number_type > |
| class | DataNoroCacheNode< number_type > |
| class | TermNoroDataNode< number_type > |
| class | NoroCache< number_type > |
| class | CoefIdx< number_type > |
| class | ModPMatrixBackSubstProxyOnArray< number_type > |
| class | ModPMatrixProxyOnArray< number_type > |
| class | ModPMatrixBackSubstProxyOnArray< number_type > |
Macros | |
| #define | USE_NORO 1 |
| #define | FULLREDUCTIONS |
| #define | HANS_IDEA |
| #define | REDTAIL_S |
| #define | PAR_N 100 |
| #define | PAR_N_F4 5000 |
| #define | AC_NEW_MIN 2 |
| #define | AC_FLATTEN 1 |
| #define | NORO_CACHE 1 |
| #define | NORO_SPARSE_ROWS_PRE 1 |
| #define | NORO_NON_POLY 1 |
| #define | npInit n_Init |
| #define | npNeg n_InpNeg |
| #define | npInvers n_Invers |
| #define | npMult n_Mult |
| #define | npIsOne n_IsOne |
| #define | npIsZero n_IsZero |
| #define | slim_prec_cast(a) (unsigned int) (unsigned long) (a) |
| #define | F4mat_to_number_type(a) (number_type) slim_prec_cast(a) |
| #define | LIKELY(expression) (expression) |
| #define | UNLIKELY(expression) (expression) |
Typedefs | |
| typedef unsigned short | tgb_uint16 |
| typedef unsigned char | tgb_uint8 |
| typedef unsigned int | tgb_uint32 |
Enumerations | |
| enum | calc_state { UNCALCULATED, HASTREP } |
Functions | |
| template<class len_type , class set_type > | |
| int | pos_helper (kStrategy strat, poly p, len_type len, set_type setL, polyset set) |
| void | free_sorted_pair_node (sorted_pair_node *s, ring r) |
| ideal | do_t_rep_gb (ring r, ideal arg_I, int syz_comp, BOOLEAN F4_mode, int deg_pos) |
| void | now_t_rep (const int &arg_i, const int &arg_j, slimgb_alg *c) |
| void | clean_top_of_pair_list (slimgb_alg *c) |
| int | slim_nsize (number n, ring r) |
| sorted_pair_node * | quick_pop_pair (slimgb_alg *c) |
| sorted_pair_node * | top_pair (slimgb_alg *c) |
| sorted_pair_node ** | add_to_basis_ideal_quotient (poly h, slimgb_alg *c, int *ip) |
| sorted_pair_node ** | spn_merge (sorted_pair_node **p, int pn, sorted_pair_node **q, int qn, slimgb_alg *c) |
| int | kFindDivisibleByInS_easy (kStrategy strat, const red_object &obj) |
| int | tgb_pair_better_gen2 (const void *ap, const void *bp) |
| int | kFindDivisibleByInS_easy (kStrategy strat, poly p, long sev) |
| template<class number_type > | |
| SparseRow< number_type > * | noro_red_to_non_poly_t (poly p, int &len, NoroCache< number_type > *cache, slimgb_alg *c) |
| template<class number_type > | |
| MonRedResNP< number_type > | noro_red_mon_to_non_poly (poly t, NoroCache< number_type > *cache, slimgb_alg *c) |
| template<class number_type > | |
| SparseRow< number_type > * | convert_to_sparse_row (number_type *temp_array, int temp_size, int non_zeros) |
| template<class number_type > | |
| void | add_coef_times_sparse (number_type *const temp_array, int, SparseRow< number_type > *row, number coef) |
| template<class number_type > | |
| void | add_coef_times_dense (number_type *const temp_array, int, const number_type *row, int len, number coef) |
| template<class number_type > | |
| void | add_dense (number_type *const temp_array, int, const number_type *row, int len) |
| template<class number_type > | |
| void | sub_dense (number_type *const temp_array, int, const number_type *row, int len) |
| template<class number_type > | |
| void | add_sparse (number_type *const temp_array, int, SparseRow< number_type > *row) |
| template<class number_type > | |
| void | sub_sparse (number_type *const temp_array, int, SparseRow< number_type > *row) |
| template<class number_type > | |
| SparseRow< number_type > * | noro_red_to_non_poly_dense (MonRedResNP< number_type > *mon, int len, NoroCache< number_type > *cache) |
| template<class number_type > | |
| void | write_coef_times_xx_idx_to_buffer (CoefIdx< number_type > *const pairs, int &pos, int *const idx_array, number_type *const coef_array, const int rlen, const number coef) |
| template<class number_type > | |
| void | write_coef_times_xx_idx_to_buffer_dense (CoefIdx< number_type > *const pairs, int &pos, number_type *const coef_array, const int rlen, const number coef) |
| template<class number_type > | |
| void | write_coef_idx_to_buffer_dense (CoefIdx< number_type > *const pairs, int &pos, number_type *const coef_array, const int rlen) |
| template<class number_type > | |
| void | write_minus_coef_idx_to_buffer_dense (CoefIdx< number_type > *const pairs, int &pos, number_type *const coef_array, const int rlen) |
| template<class number_type > | |
| void | write_coef_idx_to_buffer (CoefIdx< number_type > *const pairs, int &pos, int *const idx_array, number_type *const coef_array, const int rlen) |
| template<class number_type > | |
| void | write_minus_coef_idx_to_buffer (CoefIdx< number_type > *const pairs, int &pos, int *const idx_array, number_type *const coef_array, const int rlen) |
| template<class number_type > | |
| SparseRow< number_type > * | noro_red_to_non_poly_sparse (MonRedResNP< number_type > *mon, int len, NoroCache< number_type > *cache) |
| wlen_type | pELength (poly p, ring r) |
| int | terms_sort_crit (const void *a, const void *b) |
| template<class number_type > | |
| void | write_poly_to_row (number_type *row, poly h, poly *terms, int tn, ring r) |
| template<class number_type > | |
| poly | row_to_poly (number_type *row, poly *terms, int tn, ring r) |
| template<class number_type > | |
| int | modP_lastIndexRow (number_type *row, int ncols) |
| template<class number_type > | |
| int | term_nodes_sort_crit (const void *a, const void *b) |
| template<class number_type > | |
| void | simplest_gauss_modp (number_type *a, int nrows, int ncols) |
| template<class number_type > | |
| void | noro_step (poly *p, int &pn, slimgb_alg *c) |
| struct sorted_pair_node |
Definition at line 155 of file tgb_internal.h.
| Data Fields | ||
|---|---|---|
| int | deg | |
| wlen_type | expected_length | |
| int | i | |
| int | j | |
| poly | lcm_of_lm | |
| struct poly_list_node |
Definition at line 179 of file tgb_internal.h.
| Data Fields | ||
|---|---|---|
| poly_list_node * | next | |
| poly | p | |
| struct int_pair_node |
Definition at line 185 of file tgb_internal.h.
| Data Fields | ||
|---|---|---|
| int | a | |
| int | b | |
| int_pair_node * | next | |
| struct monom_poly |
Definition at line 191 of file tgb_internal.h.
| Data Fields | ||
|---|---|---|
| poly | f | |
| poly | m | |
| struct mp_array_list |
Definition at line 196 of file tgb_internal.h.
| Data Fields | ||
|---|---|---|
| monom_poly * | mp | |
| mp_array_list * | next | |
| int | size | |
| struct poly_array_list |
Definition at line 204 of file tgb_internal.h.
| Data Fields | ||
|---|---|---|
| poly_array_list * | next | |
| poly * | p | |
| int | size | |
| struct find_erg |
Definition at line 383 of file tgb_internal.h.
| Data Fields | ||
|---|---|---|
| poly | expand | |
| int | expand_length | |
| BOOLEAN | fromS | |
| int | reduce_by | |
| int | to_reduce_l | |
| int | to_reduce_u | |
| class TermNoroDataNode |
Definition at line 580 of file tgb_internal.h.
| Data Fields | ||
|---|---|---|
| DataNoroCacheNode< number_type > * | node | |
| poly | t | |
| #define AC_FLATTEN 1 |
Definition at line 24 of file tgb_internal.h.
| #define AC_NEW_MIN 2 |
Definition at line 23 of file tgb_internal.h.
| #define F4mat_to_number_type | ( | a | ) | (number_type) slim_prec_cast(a) |
Definition at line 425 of file tgb_internal.h.
| #define FULLREDUCTIONS |
Definition at line 15 of file tgb_internal.h.
| #define HANS_IDEA |
Definition at line 16 of file tgb_internal.h.
| #define LIKELY | ( | expression | ) | (expression) |
Definition at line 837 of file tgb_internal.h.
| #define NORO_CACHE 1 |
Definition at line 30 of file tgb_internal.h.
| #define NORO_NON_POLY 1 |
Definition at line 32 of file tgb_internal.h.
| #define NORO_SPARSE_ROWS_PRE 1 |
Definition at line 31 of file tgb_internal.h.
| #define npInit n_Init |
Definition at line 73 of file tgb_internal.h.
| #define npInvers n_Invers |
Definition at line 75 of file tgb_internal.h.
| #define npIsOne n_IsOne |
Definition at line 77 of file tgb_internal.h.
| #define npIsZero n_IsZero |
Definition at line 78 of file tgb_internal.h.
| #define npMult n_Mult |
Definition at line 76 of file tgb_internal.h.
| #define npNeg n_InpNeg |
Definition at line 74 of file tgb_internal.h.
| #define PAR_N 100 |
Definition at line 21 of file tgb_internal.h.
| #define PAR_N_F4 5000 |
Definition at line 22 of file tgb_internal.h.
| #define REDTAIL_S |
Definition at line 20 of file tgb_internal.h.
Definition at line 424 of file tgb_internal.h.
| #define UNLIKELY | ( | expression | ) | (expression) |
Definition at line 838 of file tgb_internal.h.
| #define USE_NORO 1 |
Definition at line 10 of file tgb_internal.h.
| typedef unsigned short tgb_uint16 |
Definition at line 426 of file tgb_internal.h.
| typedef unsigned int tgb_uint32 |
Definition at line 428 of file tgb_internal.h.
| typedef unsigned char tgb_uint8 |
Definition at line 427 of file tgb_internal.h.
| enum calc_state |
| Enumerator | |
|---|---|
| UNCALCULATED | |
| HASTREP | |
Definition at line 322 of file tgb_internal.h.
| void add_coef_times_dense | ( | number_type *const | temp_array, |
| int | , | ||
| const number_type * | row, | ||
| int | len, | ||
| number | coef | ||
| ) |
Definition at line 952 of file tgb_internal.h.
| void add_coef_times_sparse | ( | number_type *const | temp_array, |
| int | , | ||
| SparseRow< number_type > * | row, | ||
| number | coef | ||
| ) |
Definition at line 906 of file tgb_internal.h.
| void add_dense | ( | number_type *const | temp_array, |
| int | , | ||
| const number_type * | row, | ||
| int | len | ||
| ) |
Definition at line 998 of file tgb_internal.h.
| void add_sparse | ( | number_type *const | temp_array, |
| int | , | ||
| SparseRow< number_type > * | row | ||
| ) |
Definition at line 1048 of file tgb_internal.h.
| sorted_pair_node** add_to_basis_ideal_quotient | ( | poly | h, |
| slimgb_alg * | c, | ||
| int * | ip | ||
| ) |
Definition at line 1426 of file tgb.cc.
| void clean_top_of_pair_list | ( | slimgb_alg * | c | ) |
Definition at line 3921 of file tgb.cc.
| SparseRow<number_type>* convert_to_sparse_row | ( | number_type * | temp_array, |
| int | temp_size, | ||
| int | non_zeros | ||
| ) |
Definition at line 841 of file tgb_internal.h.
| ideal do_t_rep_gb | ( | ring | r, |
| ideal | arg_I, | ||
| int | syz_comp, | ||
| BOOLEAN | F4_mode, | ||
| int | deg_pos | ||
| ) |
Definition at line 3606 of file tgb.cc.
| void free_sorted_pair_node | ( | sorted_pair_node * | s, |
| ring | r | ||
| ) |
| int kFindDivisibleByInS_easy | ( | kStrategy | strat, |
| const red_object & | obj | ||
| ) |
Definition at line 685 of file tgb.cc.
Definition at line 698 of file tgb.cc.
| int modP_lastIndexRow | ( | number_type * | row, |
| int | ncols | ||
| ) |
Definition at line 1482 of file tgb_internal.h.
| MonRedResNP<number_type> noro_red_mon_to_non_poly | ( | poly | t, |
| NoroCache< number_type > * | cache, | ||
| slimgb_alg * | c | ||
| ) |
Definition at line 755 of file tgb_internal.h.
| SparseRow<number_type>* noro_red_to_non_poly_dense | ( | MonRedResNP< number_type > * | mon, |
| int | len, | ||
| NoroCache< number_type > * | cache | ||
| ) |
Definition at line 1083 of file tgb_internal.h.
| SparseRow<number_type>* noro_red_to_non_poly_sparse | ( | MonRedResNP< number_type > * | mon, |
| int | len, | ||
| NoroCache< number_type > * | cache | ||
| ) |
Definition at line 1272 of file tgb_internal.h.
| SparseRow< number_type > * noro_red_to_non_poly_t | ( | poly | p, |
| int & | len, | ||
| NoroCache< number_type > * | cache, | ||
| slimgb_alg * | c | ||
| ) |
Definition at line 1400 of file tgb_internal.h.
| void noro_step | ( | poly * | p, |
| int & | pn, | ||
| slimgb_alg * | c | ||
| ) |
Definition at line 1779 of file tgb_internal.h.
| void now_t_rep | ( | const int & | arg_i, |
| const int & | arg_j, | ||
| slimgb_alg * | c | ||
| ) |
Definition at line 3661 of file tgb.cc.
| int pos_helper | ( | kStrategy | strat, |
| poly | p, | ||
| len_type | len, | ||
| set_type | setL, | ||
| polyset | set | ||
| ) |
Definition at line 394 of file tgb_internal.h.
| sorted_pair_node* quick_pop_pair | ( | slimgb_alg * | c | ) |
Definition at line 1466 of file tgb_internal.h.
| void simplest_gauss_modp | ( | number_type * | a, |
| int | nrows, | ||
| int | ncols | ||
| ) |
Definition at line 1757 of file tgb_internal.h.
| int slim_nsize | ( | number | n, |
| ring | r | ||
| ) |
Definition at line 73 of file tgb.cc.
| sorted_pair_node** spn_merge | ( | sorted_pair_node ** | p, |
| int | pn, | ||
| sorted_pair_node ** | q, | ||
| int | qn, | ||
| slimgb_alg * | c | ||
| ) |
Definition at line 751 of file tgb.cc.
| void sub_dense | ( | number_type *const | temp_array, |
| int | , | ||
| const number_type * | row, | ||
| int | len | ||
| ) |
Definition at line 1022 of file tgb_internal.h.
| void sub_sparse | ( | number_type *const | temp_array, |
| int | , | ||
| SparseRow< number_type > * | row | ||
| ) |
Definition at line 1066 of file tgb_internal.h.
Definition at line 1495 of file tgb_internal.h.
Definition at line 2065 of file tgb.cc.
Definition at line 680 of file tgb.cc.
| sorted_pair_node* top_pair | ( | slimgb_alg * | c | ) |
Definition at line 3876 of file tgb.cc.
| void write_coef_idx_to_buffer | ( | CoefIdx< number_type > *const | pairs, |
| int & | pos, | ||
| int *const | idx_array, | ||
| number_type *const | coef_array, | ||
| const int | rlen | ||
| ) |
Definition at line 1247 of file tgb_internal.h.
| void write_coef_idx_to_buffer_dense | ( | CoefIdx< number_type > *const | pairs, |
| int & | pos, | ||
| number_type *const | coef_array, | ||
| const int | rlen | ||
| ) |
Definition at line 1212 of file tgb_internal.h.
| void write_coef_times_xx_idx_to_buffer | ( | CoefIdx< number_type > *const | pairs, |
| int & | pos, | ||
| int *const | idx_array, | ||
| number_type *const | coef_array, | ||
| const int | rlen, | ||
| const number | coef | ||
| ) |
Definition at line 1183 of file tgb_internal.h.
| void write_coef_times_xx_idx_to_buffer_dense | ( | CoefIdx< number_type > *const | pairs, |
| int & | pos, | ||
| number_type *const | coef_array, | ||
| const int | rlen, | ||
| const number | coef | ||
| ) |
Definition at line 1195 of file tgb_internal.h.
| void write_minus_coef_idx_to_buffer | ( | CoefIdx< number_type > *const | pairs, |
| int & | pos, | ||
| int *const | idx_array, | ||
| number_type *const | coef_array, | ||
| const int | rlen | ||
| ) |
Definition at line 1260 of file tgb_internal.h.
| void write_minus_coef_idx_to_buffer_dense | ( | CoefIdx< number_type > *const | pairs, |
| int & | pos, | ||
| number_type *const | coef_array, | ||
| const int | rlen | ||
| ) |
Definition at line 1230 of file tgb_internal.h.
| void write_poly_to_row | ( | number_type * | row, |
| poly | h, | ||
| poly * | terms, | ||
| int | tn, | ||
| ring | r | ||
| ) |
Definition at line 1453 of file tgb_internal.h.