My Project
|
#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"
#include "coeffs/modulop_inl.h"
Go to the source code of this file.
Data Structures | |
class | PolySimple |
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 | ModPMatrixProxyOnArray< number_type > |
class | ModPMatrixBackSubstProxyOnArray< number_type > |
Macros | |
#define | USE_NORO 1 |
#define | FULLREDUCTIONS |
#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 | slim_prec_cast(a) (unsigned int) (unsigned long) (a) |
#define | F4mat_to_number_type(a) (number_type) slim_prec_cast(a) |
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, const 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) |
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) |
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 143 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 167 of file tgb_internal.h.
Data Fields | ||
---|---|---|
poly_list_node * | next | |
poly | p |
struct int_pair_node |
Definition at line 173 of file tgb_internal.h.
Data Fields | ||
---|---|---|
int | a | |
int | b | |
int_pair_node * | next |
struct monom_poly |
Definition at line 179 of file tgb_internal.h.
Data Fields | ||
---|---|---|
poly | f | |
poly | m |
struct mp_array_list |
Definition at line 184 of file tgb_internal.h.
Data Fields | ||
---|---|---|
monom_poly * | mp | |
mp_array_list * | next | |
int | size |
struct poly_array_list |
Definition at line 192 of file tgb_internal.h.
Data Fields | ||
---|---|---|
poly_array_list * | next | |
poly * | p | |
int | size |
struct find_erg |
Definition at line 368 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 565 of file tgb_internal.h.
Data Fields | ||
---|---|---|
DataNoroCacheNode< number_type > * | node | |
poly | t |
#define AC_FLATTEN 1 |
Definition at line 22 of file tgb_internal.h.
#define AC_NEW_MIN 2 |
Definition at line 21 of file tgb_internal.h.
#define F4mat_to_number_type | ( | a | ) | (number_type) slim_prec_cast(a) |
Definition at line 410 of file tgb_internal.h.
#define FULLREDUCTIONS |
Definition at line 15 of file tgb_internal.h.
#define NORO_CACHE 1 |
Definition at line 28 of file tgb_internal.h.
#define NORO_NON_POLY 1 |
Definition at line 30 of file tgb_internal.h.
#define NORO_SPARSE_ROWS_PRE 1 |
Definition at line 29 of file tgb_internal.h.
#define PAR_N 100 |
Definition at line 19 of file tgb_internal.h.
#define PAR_N_F4 5000 |
Definition at line 20 of file tgb_internal.h.
#define REDTAIL_S |
Definition at line 18 of file tgb_internal.h.
#define slim_prec_cast | ( | a | ) | (unsigned int) (unsigned long) (a) |
Definition at line 409 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 411 of file tgb_internal.h.
typedef unsigned int tgb_uint32 |
Definition at line 413 of file tgb_internal.h.
typedef unsigned char tgb_uint8 |
Definition at line 412 of file tgb_internal.h.
enum calc_state |
Enumerator | |
---|---|
UNCALCULATED | |
HASTREP |
Definition at line 307 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 935 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 887 of file tgb_internal.h.
void add_dense | ( | number_type *const | temp_array, |
int | , | ||
const number_type * | row, | ||
int | len | ||
) |
Definition at line 983 of file tgb_internal.h.
void add_sparse | ( | number_type *const | temp_array, |
int | , | ||
SparseRow< number_type > * | row | ||
) |
Definition at line 1035 of file tgb_internal.h.
sorted_pair_node ** add_to_basis_ideal_quotient | ( | poly | h, |
slimgb_alg * | c, | ||
int * | ip | ||
) |
Definition at line 1378 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 819 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 3619 of file tgb.cc.
void free_sorted_pair_node | ( | sorted_pair_node * | s, |
const ring | r | ||
) |
int kFindDivisibleByInS_easy | ( | kStrategy | strat, |
const red_object & | obj | ||
) |
Definition at line 650 of file tgb.cc.
int kFindDivisibleByInS_easy | ( | kStrategy | strat, |
poly | p, | ||
long | sev | ||
) |
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 740 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 1074 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 1264 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 1392 of file tgb_internal.h.
void noro_step | ( | poly * | p, |
int & | pn, | ||
slimgb_alg * | c | ||
) |
Definition at line 1860 of file tgb_internal.h.
void now_t_rep | ( | const int & | arg_i, |
const int & | arg_j, | ||
slimgb_alg * | c | ||
) |
int pos_helper | ( | kStrategy | strat, |
poly | p, | ||
len_type | len, | ||
set_type | setL, | ||
polyset | set | ||
) |
Definition at line 379 of file tgb_internal.h.
sorted_pair_node * quick_pop_pair | ( | slimgb_alg * | c | ) |
poly row_to_poly | ( | number_type * | row, |
poly * | terms, | ||
int | tn, | ||
ring | r | ||
) |
Definition at line 1463 of file tgb_internal.h.
void simplest_gauss_modp | ( | number_type * | a, |
int | nrows, | ||
int | ncols | ||
) |
Definition at line 1837 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 716 of file tgb.cc.
void sub_dense | ( | number_type *const | temp_array, |
int | , | ||
const number_type * | row, | ||
int | len | ||
) |
Definition at line 1009 of file tgb_internal.h.
void sub_sparse | ( | number_type *const | temp_array, |
int | , | ||
SparseRow< number_type > * | row | ||
) |
Definition at line 1055 of file tgb_internal.h.
Definition at line 1495 of file tgb_internal.h.
sorted_pair_node * top_pair | ( | slimgb_alg * | c | ) |
Definition at line 3876 of file tgb.cc.
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 1204 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 1175 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 1187 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 1252 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 1222 of file tgb_internal.h.
void write_poly_to_row | ( | number_type * | row, |
poly | h, | ||
poly * | terms, | ||
int | tn | ||
) |
Definition at line 1448 of file tgb_internal.h.