|
M4RIE
0.20120415
|
Functions | |
| static void | mzd_slice_rescale_row (mzd_slice_t *A, rci_t r, rci_t c, word *X) |
| Recale the row r in A by X starting c. | |
| static void | mzd_slice_row_swap (mzd_slice_t *A, const rci_t rowa, const rci_t rowb) |
| Swap the two rows rowa and rowb. | |
| static void | mzd_slice_copy_row (mzd_slice_t *B, size_t i, const mzd_slice_t *A, size_t j) |
| copy row j from A to row i from B. | |
| static void | mzd_slice_col_swap (mzd_slice_t *A, const rci_t cola, const rci_t colb) |
| Swap the two columns cola and colb. | |
| static void | mzd_slice_row_add (mzd_slice_t *A, const rci_t sourcerow, const rci_t destrow) |
| Add the rows sourcerow and destrow and stores the total in the row destrow. | |
| static void | mzd_slice_row_clear_offset (mzd_slice_t *A, const rci_t row, const rci_t coloffset) |
| Clear the given row, but only begins at the column coloffset. | |
| void | mzed_add_multiple_of_row (mzed_t *A, rci_t ar, const mzed_t *B, rci_t br, word *X, rci_t start_col) |
| static void | mzed_add_row (mzed_t *A, rci_t ar, const mzed_t *B, rci_t br, rci_t start_col) |
| static void | mzed_rescale_row (mzed_t *A, rci_t r, rci_t start_col, const word *X) |
| Rescale the row r in A by X starting c. | |
| static void | mzed_row_swap (mzed_t *M, const rci_t rowa, const rci_t rowb) |
| Swap the two rows rowa and rowb. | |
| static void | mzed_copy_row (mzed_t *B, rci_t i, const mzed_t *A, rci_t j) |
| copy row j from A to row i from B. | |
| static void | mzed_col_swap (mzed_t *M, const rci_t cola, const rci_t colb) |
| Swap the two columns cola and colb. | |
| static void | mzed_col_swap_in_rows (mzed_t *A, const rci_t cola, const rci_t colb, const rci_t start_row, rci_t stop_row) |
| Swap the two columns cola and colb but only between start_row and stop_row. | |
| static void | mzed_row_add (mzed_t *M, const rci_t sourcerow, const rci_t destrow) |
| Add the rows sourcerow and destrow and stores the total in the row destrow. | |
| static rci_t | mzed_first_zero_row (mzed_t *A) |
| Return the first row with all zero entries. | |
| static void | mzed_row_clear_offset (mzed_t *M, const rci_t row, const rci_t coloffset) |
| Clear the given row, but only begins at the column coloffset. | |
| static void | mzed_process_rows (mzed_t *M, const rci_t startrow, const rci_t endrow, rci_t startcol, const njt_mzed_t *T) |
| The function looks up 6 entries from position i,startcol in each row and adds the appropriate row from T to the row i. | |
| static void | mzed_process_rows2 (mzed_t *M, const rci_t startrow, const rci_t endrow, const rci_t startcol, const njt_mzed_t *T0, const njt_mzed_t *T1) |
| Same as mzed_process_rows but works with two Newton-John tables in parallel. | |
| static void | mzed_process_rows3 (mzed_t *M, const rci_t startrow, const rci_t endrow, const rci_t startcol, const njt_mzed_t *T0, const njt_mzed_t *T1, const njt_mzed_t *T2) |
| Same as mzed_process_rows but works with three Newton-John tables in parallel. | |
| static void | mzed_process_rows4 (mzed_t *M, const rci_t startrow, const rci_t endrow, const rci_t startcol, const njt_mzed_t *T0, const njt_mzed_t *T1, const njt_mzed_t *T2, const njt_mzed_t *T3) |
| Same as mzed_process_rows but works with four Newton-John tables in parallel. | |
| static void | mzed_process_rows5 (mzed_t *M, const rci_t startrow, const rci_t endrow, const rci_t startcol, const njt_mzed_t *T0, const njt_mzed_t *T1, const njt_mzed_t *T2, const njt_mzed_t *T3, const njt_mzed_t *T4) |
| Same as mzed_process_rows but works with five Newton-John tables in parallel. | |
| static void | mzed_process_rows6 (mzed_t *M, const rci_t startrow, const rci_t endrow, const rci_t startcol, const njt_mzed_t *T0, const njt_mzed_t *T1, const njt_mzed_t *T2, const njt_mzed_t *T3, const njt_mzed_t *T4, const njt_mzed_t *T5) |
| Same as mzed_process_rows but works with six Newton-John tables in parallel. | |
| static void mzd_slice_col_swap | ( | mzd_slice_t * | A, |
| const rci_t | cola, | ||
| const rci_t | colb | ||
| ) | [inline, static] |
Swap the two columns cola and colb.
| A | Matrix. |
| cola | Column index. |
| colb | Column index. |
| static void mzd_slice_copy_row | ( | mzd_slice_t * | B, |
| size_t | i, | ||
| const mzd_slice_t * | A, | ||
| size_t | j | ||
| ) | [inline, static] |
copy row j from A to row i from B.
The offsets of A and B must match and the number of columns of A must be less than or equal to the number of columns of B.
| B | Target matrix. |
| i | Target row index. |
| A | Source matrix. |
| j | Source row index. |
| static void mzd_slice_rescale_row | ( | mzd_slice_t * | A, |
| rci_t | r, | ||
| rci_t | c, | ||
| word * | X | ||
| ) | [inline, static] |
Recale the row r in A by X starting c.
| A | Matrix |
| r | Row index. |
| c | Column index. |
| X | Multiplier |
| static void mzd_slice_row_add | ( | mzd_slice_t * | A, |
| const rci_t | sourcerow, | ||
| const rci_t | destrow | ||
| ) | [inline, static] |
Add the rows sourcerow and destrow and stores the total in the row destrow.
| A | Matrix |
| sourcerow | Index of source row |
| destrow | Index of target row |
| static void mzd_slice_row_clear_offset | ( | mzd_slice_t * | A, |
| const rci_t | row, | ||
| const rci_t | coloffset | ||
| ) | [inline, static] |
Clear the given row, but only begins at the column coloffset.
| A | Matrix |
| row | Index of row |
| coloffset | Column offset |
| static void mzd_slice_row_swap | ( | mzd_slice_t * | A, |
| const rci_t | rowa, | ||
| const rci_t | rowb | ||
| ) | [inline, static] |
Swap the two rows rowa and rowb.
| A | Matrix |
| rowa | Row index. |
| rowb | Row index. |
| void mzed_add_multiple_of_row | ( | mzed_t * | A, |
| rci_t | ar, | ||
| const mzed_t * | B, | ||
| rci_t | br, | ||
| word * | X, | ||
| rci_t | start_col | ||
| ) |
A[ar,c] = A[ar,c] + X*B[br,c] for all c >= startcol.
| A | Matrix. |
| ar | Row index in A. |
| B | Matrix. |
| br | Row index in B. |
| X | Lookup table for multiplication with some finite field element x. |
| start_col | Column index. |
| static void mzed_add_row | ( | mzed_t * | A, |
| rci_t | ar, | ||
| const mzed_t * | B, | ||
| rci_t | br, | ||
| rci_t | start_col | ||
| ) | [inline, static] |
A[ar,c] = A[ar,c] + B[br,c] for all c >= startcol.
| A | Matrix. |
| ar | Row index in A. |
| B | Matrix. |
| br | Row index in B. |
| start_col | Column index. |
| static void mzed_col_swap | ( | mzed_t * | M, |
| const rci_t | cola, | ||
| const rci_t | colb | ||
| ) | [inline, static] |
Swap the two columns cola and colb.
| M | Matrix. |
| cola | Column index. |
| colb | Column index. |
| static void mzed_col_swap_in_rows | ( | mzed_t * | A, |
| const rci_t | cola, | ||
| const rci_t | colb, | ||
| const rci_t | start_row, | ||
| rci_t | stop_row | ||
| ) | [inline, static] |
Swap the two columns cola and colb but only between start_row and stop_row.
| A | Matrix. |
| cola | Column index. |
| colb | Column index. |
| start_row | Row index. |
| stop_row | Row index (exclusive). |
| static void mzed_copy_row | ( | mzed_t * | B, |
| rci_t | i, | ||
| const mzed_t * | A, | ||
| rci_t | j | ||
| ) | [inline, static] |
copy row j from A to row i from B.
The offsets of A and B must match and the number of columns of A must be less than or equal to the number of columns of B.
| B | Target matrix. |
| i | Target row index. |
| A | Source matrix. |
| j | Source row index. |
| static rci_t mzed_first_zero_row | ( | mzed_t * | A | ) | [inline, static] |
Return the first row with all zero entries.
If no such row can be found returns nrows.
| A | Matrix |
| static void mzed_process_rows | ( | mzed_t * | M, |
| const rci_t | startrow, | ||
| const rci_t | endrow, | ||
| rci_t | startcol, | ||
| const njt_mzed_t * | T | ||
| ) | [inline, static] |
The function looks up 6 entries from position i,startcol in each row and adds the appropriate row from T to the row i.
This process is iterated for i from startrow to stoprow (exclusive).
| M | Matrix to operate on |
| startrow | top row which is operated on |
| endrow | bottom row which is operated on |
| startcol | Starting column for addition |
| T | Newton-John table |
| static void mzed_process_rows2 | ( | mzed_t * | M, |
| const rci_t | startrow, | ||
| const rci_t | endrow, | ||
| const rci_t | startcol, | ||
| const njt_mzed_t * | T0, | ||
| const njt_mzed_t * | T1 | ||
| ) | [inline, static] |
Same as mzed_process_rows but works with two Newton-John tables in parallel.
| M | Matrix to operate on |
| startrow | top row which is operated on |
| endrow | bottom row which is operated on |
| startcol | Starting column for addition |
| T0 | Newton-John table |
| T1 | Newton-John table |
| static void mzed_process_rows3 | ( | mzed_t * | M, |
| const rci_t | startrow, | ||
| const rci_t | endrow, | ||
| const rci_t | startcol, | ||
| const njt_mzed_t * | T0, | ||
| const njt_mzed_t * | T1, | ||
| const njt_mzed_t * | T2 | ||
| ) | [inline, static] |
Same as mzed_process_rows but works with three Newton-John tables in parallel.
| M | Matrix to operate on |
| startrow | top row which is operated on |
| endrow | bottom row which is operated on |
| startcol | Starting column for addition |
| T0 | Newton-John table |
| T1 | Newton-John table |
| T2 | Newton-John table |
| static void mzed_process_rows4 | ( | mzed_t * | M, |
| const rci_t | startrow, | ||
| const rci_t | endrow, | ||
| const rci_t | startcol, | ||
| const njt_mzed_t * | T0, | ||
| const njt_mzed_t * | T1, | ||
| const njt_mzed_t * | T2, | ||
| const njt_mzed_t * | T3 | ||
| ) | [inline, static] |
Same as mzed_process_rows but works with four Newton-John tables in parallel.
| M | Matrix to operate on |
| startrow | top row which is operated on |
| endrow | bottom row which is operated on |
| startcol | Starting column for addition |
| T0 | Newton-John table |
| T1 | Newton-John table |
| T2 | Newton-John table |
| T3 | Newton-John table |
| static void mzed_process_rows5 | ( | mzed_t * | M, |
| const rci_t | startrow, | ||
| const rci_t | endrow, | ||
| const rci_t | startcol, | ||
| const njt_mzed_t * | T0, | ||
| const njt_mzed_t * | T1, | ||
| const njt_mzed_t * | T2, | ||
| const njt_mzed_t * | T3, | ||
| const njt_mzed_t * | T4 | ||
| ) | [inline, static] |
Same as mzed_process_rows but works with five Newton-John tables in parallel.
| M | Matrix to operate on |
| startrow | top row which is operated on |
| endrow | bottom row which is operated on |
| startcol | Starting column for addition |
| T0 | Newton-John table |
| T1 | Newton-John table |
| T2 | Newton-John table |
| T3 | Newton-John table |
| T4 | Newton-John table |
| static void mzed_process_rows6 | ( | mzed_t * | M, |
| const rci_t | startrow, | ||
| const rci_t | endrow, | ||
| const rci_t | startcol, | ||
| const njt_mzed_t * | T0, | ||
| const njt_mzed_t * | T1, | ||
| const njt_mzed_t * | T2, | ||
| const njt_mzed_t * | T3, | ||
| const njt_mzed_t * | T4, | ||
| const njt_mzed_t * | T5 | ||
| ) | [inline, static] |
Same as mzed_process_rows but works with six Newton-John tables in parallel.
| M | Matrix to operate on |
| startrow | top row which is operated on |
| endrow | bottom row which is operated on |
| startcol | Starting column for addition |
| T0 | Newton-John table |
| T1 | Newton-John table |
| T2 | Newton-John table |
| T3 | Newton-John table |
| T4 | Newton-John table |
| T5 | Newton-John table |
| static void mzed_rescale_row | ( | mzed_t * | A, |
| rci_t | r, | ||
| rci_t | start_col, | ||
| const word * | X | ||
| ) | [inline, static] |
Rescale the row r in A by X starting c.
| A | Matrix |
| r | Row index. |
| start_col | Column index. |
| X | Multiplier |
| static void mzed_row_add | ( | mzed_t * | M, |
| const rci_t | sourcerow, | ||
| const rci_t | destrow | ||
| ) | [inline, static] |
Add the rows sourcerow and destrow and stores the total in the row destrow.
| M | Matrix |
| sourcerow | Index of source row |
| destrow | Index of target row |
| static void mzed_row_clear_offset | ( | mzed_t * | M, |
| const rci_t | row, | ||
| const rci_t | coloffset | ||
| ) | [inline, static] |
Clear the given row, but only begins at the column coloffset.
| M | Matrix |
| row | Index of row |
| coloffset | Column offset |
| static void mzed_row_swap | ( | mzed_t * | M, |
| const rci_t | rowa, | ||
| const rci_t | rowb | ||
| ) | [inline, static] |
Swap the two rows rowa and rowb.
| M | Matrix |
| rowa | Row index. |
| rowb | Row index. |
1.8.0