Module m4ri_rust::ffi
[−]
[src]
Structs
| Code | |
| Djb | |
| Mzd |
Represents the Mzd data type used by M4RI |
| Mzp |
Enums
| Srctyp |
Functions
| Mzp_free_window⚠ |
Free a permutation window created with Mzp_init_window |
| _mzd_mul_va⚠ |
Matrix multiplication optimized for v*A where v is a vector |
| djb_apply_mzd⚠ |
apply the linear map m to V and write the result in W |
| djb_compile⚠ |
Compile an new DJB linear map from A |
| djb_free⚠ |
free a DJB linear map |
| djb_info⚠ |
Print information on linear map mA |
| djb_init⚠ |
Allocate a new DJB linear map |
| djb_push_back⚠ |
Add a new operation out[target] ^= srctype[source] to queue |
| m4ri_build_all_codes⚠ |
Generates global code book |
| m4ri_build_code⚠ |
Fils var ord and var inc with Gray code dat afor a Gray code of length 2^l |
| m4ri_destroy_all_codes⚠ |
Destroy global code book |
| m4ri_gray_code⚠ |
Returns the ith Gray code entry for a gray code of length 2^l |
| m4ri_opt_k⚠ |
Return the optimal var |
| mzd_add⚠ |
Set C = A + B If C is passed in, the result is written there otherwise a new matrix is created |
| mzd_addmul⚠ |
\brief Matrix multiplication and in-place addition via the Strassen-Winograd matrix multiplication algorithm, i.e. compute C = C+ AB. |
| mzd_addmul_m4rm⚠ |
Set C to C + AB using Konrods Method |
| mzd_addmul_mp⚠ |
Matrix multiplication and in-place additoin via th ecubic matrix multiplication algorithm on multiple cores. C = C + AB |
| mzd_addmul_naive⚠ |
naive cubic matrix multiplication and addition |
| mzd_apply_p_left⚠ |
Apply the permutation P to A from the left |
| mzd_apply_p_left_trans⚠ |
Apply the permutation P to A from the left, but transpose P |
| mzd_apply_p_right⚠ |
Apply the permutation P to A from the right |
| mzd_apply_p_right_trans⚠ |
Apply the permutation P to A from the right, but transpose P |
| mzd_col_swap⚠ |
Swap the two columns cola and colb |
| mzd_concat⚠ |
Concatenate B to A and write the result to C |
| mzd_copy⚠ |
Copy a matrix to dest |
| mzd_copy_row⚠ |
\brief copy row j from A to row i from B. |
| mzd_echelonize⚠ |
(Reduced) row echelon form |
| mzd_echelonize_m4ri⚠ |
Matrix elimination using the method of the four russians |
| mzd_echelonize_pluq⚠ |
(Reduced) row echelon form using PLUQ factorisation |
| mzd_equal⚠ |
Return true if A == B |
| mzd_free_window⚠ |
Free a matrix window created with mzd_init_window |
| mzd_init⚠ |
Create a new rows x columns matrix |
| mzd_init_window⚠ |
\brief Create a window/view into the matrix M. |
| mzd_init_window_const⚠ |
Create a const window/view into a const matrix |
| mzd_inv_m4ri⚠ |
Invert the matrix using Konrod's method |
| mzd_invert_naive⚠ |
Invert the target matrix using gaussian elimination To avoid recomputing the identity matrix over and over again, I may be passed in as identity parameter The first parameter may be null to have the space automatically allocated |
| mzd_is_zero⚠ |
Zero test for matrix |
| mzd_make_table⚠ |
Constructs all possible 2^k row combinations using the gray code table |
| mzd_mul⚠ |
\brief Matrix multiplication via the Strassen-Winograd matrix multiplication algorithm, i.e. compute C = AB. |
| mzd_mul_m4rm⚠ |
Matrix multiplication using Konrods Method |
| mzd_mul_mp⚠ |
Matrix multiplication via the cubic multiplication algorithm on multiple cores |
| mzd_mul_naive⚠ |
naive cubic matrix multiplication the first argument may be null for automatic creation |
| mzd_ple⚠ |
PLE matrix decomposition. |
| mzd_pluq⚠ |
PLUQ matrix decomposition. |
| mzd_process_rows⚠ |
The function looks up k bits from position i, startcol in each row and adds the appropriate row from T to the row i |
| mzd_process_rows2⚠ |
Same as |
| mzd_process_rows3⚠ |
Same as |
| mzd_process_rows4⚠ |
Same as |
| mzd_process_rows5⚠ |
Same as |
| mzd_process_rows6⚠ |
Same as |
| mzd_randomize⚠ |
Fill the matrix m with uniformly distributed bits. |
| mzd_read_bit⚠ |
Read the bit at position M[row, col] |
| mzd_row_swap⚠ |
Swap the two rows rowa and rowb |
| mzd_set_ui⚠ |
Set to identity matrix if the second argument is 1 |
| mzd_stack⚠ |
Stack A on top of B into C |
| mzd_sub⚠ |
Set C = A - B If C is passed in, the result is written there otherwise a new matrix is created |
| mzd_submatrix⚠ |
Copy a submatrix first argument may be preallocated space or null |
| mzd_top_echelonize_m4ri⚠ |
Matrix elimination using the Method of the four russians (m4ri) |
| mzd_transpose⚠ |
Transpose a matrix Dest may be null for automatic creation |
| mzd_write_bit⚠ |
Write the bit to position M[row, col] |
| mzp_copy⚠ |
Copy permutation Q to P Target may be null |
| mzp_free⚠ |
Free an Mzp |
| mzp_init⚠ |
Construct an identity permutation |
| mzp_init_window⚠ |
Create a window into the permutation |
| mzp_print⚠ |
Print the mzp |
| mzp_set_ui⚠ |
Set the permutation to the identity permutation |
Type Definitions
| BIT | |
| Rci | |
| Word |