Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
type(ply_trafo_params_type), | intent(inout) | :: | params | |||
integer, | intent(in) | :: | trafo | |||
integer, | intent(in), | optional | :: | blocksize | Smallest block that is approximated by approx_terms coefficients. Please note, that this has to be larger than 2*approx_terms to result in a reduced number of operations. Default is 64. |
|
integer, | intent(in), | optional | :: | approx_terms | Number of approximation terms used to compute off-diagonal products. Defaults to 18, which is the suggested accuracy for double precision. |
|
integer, | intent(in) | :: | striplen | Length to use in vectorization, this is the number of independent matrix multiplications that are to be done simultaneously. |
||
integer, | intent(in), | optional | :: | subblockingWidth | The width of the subblocks used during the unrolled base exchange to ensure a better cache usage. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | r | ||||
integer, | private | :: | l | ||||
integer, | private | :: | k | ||||
integer, | private | :: | s | ||||
integer, | private | :: | h | ||||
integer, | private | :: | i | ||||
integer, | private | :: | j | ||||
integer, | private | :: | m | ||||
integer, | private | :: | diagonals | ||||
integer, | private | :: | blockdiagonals | ||||
integer, | private | :: | remainder | ||||
integer, | private | :: | diag_off | ||||
integer, | private | :: | block_off | ||||
integer, | private | :: | nRows | ||||
integer, | private | :: | ub_row | ||||
integer, | private | :: | row_rem | ||||
integer, | private | :: | rowsize | ||||
real(kind=rk), | private, | allocatable | :: | den(:) | |||
real(kind=rk), | private, | allocatable | :: | t(:) | |||
real(kind=rk), | private | :: | x | ||||
type(ply_submatrix_type), | private, | allocatable | :: | sub(:) | |||
type(ply_sub_vec), | private, | allocatable | :: | u(:,:) |