M4RIE
0.20111004
|
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
static void | mzed_row_swap (mzed_t *M, const rci_t rowa, const rci_t rowb) |
Swap the two rows rowa and rowb. More... | |
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. More... | |
static void | mzed_col_swap (mzed_t *M, const rci_t cola, const rci_t colb) |
Swap the two columns cola and colb. More... | |
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. More... | |
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. More... | |
static rci_t | mzed_first_zero_row (mzed_t *A) |
Return the first row with all zero entries. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
|
inlinestatic |
Swap the two columns cola and colb.
A | Matrix. |
cola | Column index. |
colb | Column index. |
|
inlinestatic |
copy row j from A to row i from B.
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. |
|
inlinestatic |
Recale the row r in A by X starting c.
A | Matrix |
r | Row index. |
c | Column index. |
x | Multiplier |
|
inlinestatic |
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 |
|
inlinestatic |
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 | Finite field element. |
start_col | Column index. |
|
inlinestatic |
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. |
|
inlinestatic |
Swap the two columns cola and colb.
M | Matrix. |
cola | Column index. |
colb | Column index. |
|
inlinestatic |
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). |
copy row j from A to row i from B.
The 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. |
|
inlinestatic |
Return the first row with all zero entries.
If no such row can be found returns nrows.
A | Matrix |
|
inlinestatic |
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 |
|
inlinestatic |
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 |
|
inlinestatic |
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 |
|
inlinestatic |
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 |
|
inlinestatic |
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 |
|
inlinestatic |
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 |
|
inlinestatic |
Rescale the row r in A by X starting c.
A | Matrix |
r | Row index. |
start_col | Column index. |
x | Multiplier |
|
inlinestatic |
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 |
|
inlinestatic |
Swap the two rows rowa and rowb.
M | Matrix |
rowa | Row index. |
rowb | Row index. |