7#ifndef SHELL_FILTERING_H
8#define SHELL_FILTERING_H
11#include "shell_commands.h"
180extern uint(*num_extractors[FILTER_NUMSIZE]) (
int i);
188extern bool (*bool_extractors[FILTER_BOOLSIZE]) (
int i);
190#define FILTER_MAXCLASSES 64
259extern uint(*extractor)(int);
void object_sort_array(int(*comp)(int, int))
Sorts the array of objects according to the comparison function passed as input.
Definition shell_filtering.c:707
int object_compare(int, int)
Default comparison function for objects. Sorts according to the variable name.
Definition shell_filtering.c:644
uint shell_extract_jmaxsize(int i)
Extracts the maximal size of a J-class in the syntactic monoid of an object.
Definition shell_filtering.c:96
int shell_retrieve_filters(com_parameters *pars, filters_info *info)
Retrieves the filters from the command parameters.
Definition shell_filtering.c:201
uint shell_extract_jnum(int i)
Extarcts the number of J-classes in the syntactic monoid of an object.
Definition shell_filtering.c:62
int shell_delete_all(com_parameters *pars, const char *str)
Deletes all objects in memory.
Definition shell_filtering.c:892
uint shell_extract_sizemini(int i)
Extracts the size of the minimal automaton of an object.
Definition shell_filtering.c:19
int shell_delete(com_parameters *pars, const char *str)
Deletes an object.
Definition shell_filtering.c:880
uint shell_extract_rmaxsize(int i)
Extracts the maximal size of an R-class in the syntactic monoid of an object.
Definition shell_filtering.c:88
uint shell_extract_sizesynt(int i)
Extracts the size of the syntactic monoid of an object.
Definition shell_filtering.c:8
bool_filter
Definition shell_filtering.h:182
@ FILTER_NOSIMC
No simple counter.
Definition shell_filtering.h:183
@ FILTER_NOSMALLCOUNTER
No small counter.
Definition shell_filtering.h:184
#define FILTER_MAXCLASSES
Maximum number of classes for the filters.
Definition shell_filtering.h:190
int object_compare_numerical(int i1, int i2)
Comparison function for objects. Sorts according to the numerical value given by the extractor functi...
Definition shell_filtering.c:665
uint shell_extract_hnum(int i)
Extarcts the number of H-classes in the syntactic monoid of an object.
Definition shell_filtering.c:66
int shell_sort(com_parameters *pars)
Sorts the objects array according to a comparison function given as input.
Definition shell_filtering.c:722
int shell_filter_delete(com_parameters *pars, ob_type type)
Deletes all object that do not satify the filters.
Definition shell_filtering.c:798
uint shell_extract_lnum(int i)
Extarcts the number of L-classes in the syntactic monoid of an object.
Definition shell_filtering.c:58
int shell_reset(com_parameters *pars, const char *str)
Deletes the state names in an NFA.
Definition shell_filtering.c:953
uint shell_extract_rnum(int i)
Extarcts the number of R-classes in the syntactic monoid of an object.
Definition shell_filtering.c:54
int shell_recursive_init(char *varname, com_parameters *pars, const char *str)
Initializes a recursive definition.
Definition shell_filtering.c:911
num_filter
Definition shell_filtering.h:165
@ FILTER_LMAXSIZE
Filter by the maximal size of an L-class in the syntactic monoid.
Definition shell_filtering.h:174
@ FILTER_RMAXSIZE
Filter by the maximal size of an R-class in the syntactic monoid.
Definition shell_filtering.h:173
@ FILTER_JNUM
Filter by the number of J-classes in the syntactic monoid.
Definition shell_filtering.h:171
@ FILTER_RNUM
Filter by the number of R-classes in the syntactic monoid.
Definition shell_filtering.h:169
@ FILTER_MINI
Filter by the size of the minimal automaton.
Definition shell_filtering.h:166
@ FILTER_HNUM
Filter by the number of H-classes in the syntactic monoid.
Definition shell_filtering.h:172
@ FILTER_IDEMS
Filter by the number of idempotents in the syntactic monoid.
Definition shell_filtering.h:168
@ FILTER_SYNT
Filter by the size of the syntactic monoid.
Definition shell_filtering.h:167
@ FILTER_HMAXSIZE
Filter by the maximal size of an H-class in the syntactic monoid.
Definition shell_filtering.h:176
@ FILTER_LNUM
Filter by the number of L-classes in the syntactic monoid.
Definition shell_filtering.h:170
@ FILTER_JMAXSIZE
Filter by the maximal size of a J-class in the syntactic monoid.
Definition shell_filtering.h:175
uint shell_extract_lmaxsize(int i)
Extracts the maximal size of an L-class in the syntactic monoid of an object.
Definition shell_filtering.c:92
uint shell_extract_idemnum(int i)
Extracts the number of idempotents in the syntactic monoid of an object.
Definition shell_filtering.c:30
uint shell_extract_hmaxsize(int i)
Extracts the maximal size of an H-class in the syntactic monoid of an object.
Definition shell_filtering.c:100
int shell_filter_objects(com_parameters *pars, ob_type)
Displays of all objects of a given type in memory.
Definition shell_filtering.c:467
Parameters of a command.
Definition shell_keywords.h:211
Definition shell_filtering.h:193
bool used_numerical[FILTER_NUMSIZE]
The numerical filters used.
Definition shell_filtering.h:196
bool sign_boolean[FILTER_BOOLSIZE]
The sign of the boolean filters used (true for positive, false for negative).
Definition shell_filtering.h:195
classes high[FILTER_MAXCLASSES]
The classes to include in the filter.
Definition shell_filtering.h:201
bool order
Is the ordering on monoids required for the classes tests.
Definition shell_filtering.h:202
uchar nblow
The number of classes to exclude in the filter.
Definition shell_filtering.h:198
classes low[FILTER_MAXCLASSES]
The classes to exclude in the filter.
Definition shell_filtering.h:200
int values[FILTER_NUMSIZE][2]
The values for the numerical filters, where values[i][0] is the lower bound and values[i][1] is the u...
Definition shell_filtering.h:197
uchar nbhigh
The number of classes to include in the filter.
Definition shell_filtering.h:199
bool used_boolean[FILTER_BOOLSIZE]
The boolean filters used.
Definition shell_filtering.h:194