Typedefs | |
typedef _gdsl_perm * | _gdsl_perm_t |
GDSL low-level permutation type. | |
typedef void(* | gdsl_perm_write_func_t )(ulong E, FILE *OUTPUT_FILE, gdsl_perm_position_t POSITION, void *USER_DATA) |
GDSL low-level permutation write function type. | |
Enumerations | |
enum | gdsl_perm_position_t { GDSL_PERM_POSITION_FIRST = 1, GDSL_PERM_POSITION_LAST = 2 } |
This type is for gdsl_perm_write_func_t. More... | |
Functions | |
_gdsl_perm_t | _gdsl_perm_alloc (const ulong N) |
Create a new low-level permutation. | |
void | _gdsl_perm_free (_gdsl_perm_t P) |
Destroy a low-level permutation. | |
_gdsl_perm_t | _gdsl_perm_copy (const _gdsl_perm_t P) |
Copy a low-level permutation. | |
ulong | _gdsl_perm_get_size (const _gdsl_perm_t P) |
Get the size of a low-level permutation. | |
ulong | _gdsl_perm_get_content (const _gdsl_perm_t P, const ulong INDIX) |
Get the (INDIX+1)-th content from a low-level permutation. | |
ulong * | _gdsl_perm_get_content_array (const _gdsl_perm_t P) |
Get the array contents of a low-level permutation. | |
ulong | _gdsl_perm_linear_inversions_count (const _gdsl_perm_t P) |
Count the inversions number into a linear low-level permutation. | |
ulong | _gdsl_perm_linear_cycles_count (const _gdsl_perm_t P) |
Count the cycles number into a linear low-level permutation. | |
ulong | _gdsl_perm_canonical_cycles_count (const _gdsl_perm_t P) |
Count the cycles number into a canonical low-level permutation. | |
_gdsl_perm_t | _gdsl_perm_linear_next (_gdsl_perm_t P) |
Get the next permutation from a linear low-level permutation. | |
_gdsl_perm_t | _gdsl_perm_linear_prev (_gdsl_perm_t P) |
Get the previous permutation from a linear low-level permutation. | |
_gdsl_perm_t | _gdsl_perm_init_from_array (_gdsl_perm_t P, const ulong *V) |
Initialize a low-level permutation with an array of values. | |
_gdsl_perm_t | _gdsl_perm_multiply (_gdsl_perm_t RESULT, const _gdsl_perm_t ALPHA, const _gdsl_perm_t BETA) |
Multiply two low-level permutations. | |
_gdsl_perm_t | _gdsl_perm_linear_to_canonical (_gdsl_perm_t Q, const _gdsl_perm_t P) |
Convert a linear low-level permutation to its canonical form. | |
_gdsl_perm_t | _gdsl_perm_canonical_to_linear (_gdsl_perm_t Q, const _gdsl_perm_t P) |
Convert a canonical low-level permutation to its linear form. | |
_gdsl_perm_t | _gdsl_perm_inverse (_gdsl_perm_t P) |
Inverse in place a low-level permutation. | |
_gdsl_perm_t | _gdsl_perm_reverse (_gdsl_perm_t P) |
Reverse in place a low-level permutation. | |
_gdsl_perm_t | _gdsl_perm_randomize (_gdsl_perm_t P) |
Randomize a low-level permutation. | |
gdsl_element_t * | _gdsl_perm_apply_on_array (gdsl_element_t *V, const _gdsl_perm_t P) |
Apply a low-level permutation on to a vector. | |
void | _gdsl_perm_write (const _gdsl_perm_t P, const gdsl_perm_write_func_t WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA) |
Write the content of a low-level permutation to a file. | |
void | _gdsl_perm_write_xml (const _gdsl_perm_t P, const gdsl_write_func_t WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA) |
Write the content of a low-level permutation to a file into XML. | |
void | _gdsl_perm_dump (const _gdsl_perm_t P, const gdsl_write_func_t WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA) |
Dump the internal structure of a low-level permutation to a file. |
|
GDSL low-level permutation type. This type is voluntary opaque. Variables of this kind could'nt be directly used, but by the functions of this module. Definition at line 49 of file _gdsl_perm.h. |
|
GDSL low-level permutation write function type.
Definition at line 73 of file _gdsl_perm.h. |
|
This type is for gdsl_perm_write_func_t.
Definition at line 54 of file _gdsl_perm.h. |
|
Create a new low-level permutation. Allocate a new permutation data structure of size N.
|
|
Apply a low-level permutation on to a vector.
|
|
Count the cycles number into a canonical low-level permutation.
|
|
Convert a canonical low-level permutation to its linear form. Convert the canonical permutation P to its linear form. The resulted linear permutation is placed into Q without modifying P.
|
|
Copy a low-level permutation. Create and return a copy of the low-level permutation P.
|
|
Dump the internal structure of a low-level permutation to a file. Dump the structure of the low-level permutation P to OUTPUT_FILE. If WRITE_F != NULL, then uses WRITE_F function to write P's content to OUTPUT_FILE. Additionnal USER_DATA argument could be passed to WRITE_F.
|
|
Destroy a low-level permutation. Deallocate the low-level permutation P.
|
|
Get the (INDIX+1)-th content from a low-level permutation.
|
|
Get the array contents of a low-level permutation.
|
|
Get the size of a low-level permutation.
|
|
Initialize a low-level permutation with an array of values. Initialize the permutation P with the values contained in the array of values V. If V does not design a permutation, then P is left unchanged.
|
|
Inverse in place a low-level permutation.
|
|
Count the cycles number into a linear low-level permutation.
|
|
Count the inversions number into a linear low-level permutation.
|
|
Get the next permutation from a linear low-level permutation. The permutation P is modified to become the next permutation after P.
|
|
Get the previous permutation from a linear low-level permutation. The permutation P is modified to become the previous permutation before P.
|
|
Convert a linear low-level permutation to its canonical form. Convert the linear permutation P to its canonical form. The resulted canonical permutation is placed into Q without modifying P.
|
|
Multiply two low-level permutations. Compute the product of the permutations ALPHA x BETA and puts the result in RESULT without modifying ALPHA and BETA.
|
|
Randomize a low-level permutation. The permutation P is randomized in an efficient way, using inversions array.
|
|
Reverse in place a low-level permutation.
|
|
Write the content of a low-level permutation to a file. Write the content of the low-level permuation P to OUTPUT_FILE, using WRITE_F function. Additionnal USER_DATA argument could be passed to WRITE_F.
|
|
Write the content of a low-level permutation to a file into XML. Write the content of the low-level permutation P to OUTPUT_FILE, into XML language. If WRITE_F != NULL, then uses WRITE_F function to write P's content to OUTPUT_FILE. Additionnal USER_DATA argument could be passed to WRITE_F.
|