PLASMA
2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|
void CORE_cshiftw | ( | int | s, |
int | cl, | ||
int | m, | ||
int | n, | ||
int | L, | ||
PLASMA_Complex32_t * | A, | ||
PLASMA_Complex32_t * | W | ||
) |
CORE_cshiftw Shift a linear chain of block using a supplied workspace by following the cycle defined by: k_(i+1) = (k_i * m) % q;
[in] | s | Start value in the cycle |
[in] | cl | Cycle length if cl == 0, all the permutations from the cycle are done else the cycle is split onto several threads and the number of permutation to do has to be specified to not get overlap |
[in] | m | Number of lines of tile A |
[in] | n | Number of columns of tile A |
[in] | L | Length of each block of data to move |
[in,out] | A | Matrix of size m-by-n with each element of size L. On exit, A = A', where A' contains the permutations |
[in] | W | Array of size L. On entry, must contain: W(:) = A(s*L:s*L+L-1) |