![]() |
(git:936074a)
|
the type I Discrete Cosine Transform (DCT-I) More...
Data Types | |
| type | dct_type |
Functions/Subroutines | |
| subroutine, public | dct_type_init (pw_grid, neumann_directions, dct_env) |
| Initializes a dct_type. | |
| subroutine, public | dct_type_release (dct_env) |
| Releases a dct_type. | |
| subroutine, public | setup_dct_pw_grids (pw_grid, cell_hmat, neumann_directions, dct_pw_grid) |
| sets up an extended pw_grid for Discrete Cosine Transform (DCT) calculations | |
| subroutine, public | pw_expand (neumann_directions, recv_msgs_bnds, dests_expand, srcs_expand, flipg_stat, bounds_shftd, pw_in, pw_expanded) |
| expands a pw_r3d_rs_type data to an evenly symmetric pw_r3d_rs_type data that is 8 times larger than the original one: the even symmetry for a 1D sequence of length n is defined as: 1 2 3 ... n-2 n-1 n --> 1 2 3 ... n-2 n-1 n n-1 n-2 ... 3 2 and is generalized to 3D by applying the same rule in all three directions | |
| subroutine, public | pw_shrink (neumann_directions, dests_shrink, srcs_shrink, bounds_local_shftd, pw_in, pw_shrinked) |
| shrinks an evenly symmetric pw_r3d_rs_type data to a pw_r3d_rs_type data that is 8 times smaller (the reverse procedure of pw_expand). | |
Variables | |
| integer, parameter, public | neumannxyz = 111 |
| integer, parameter, public | neumannxy = 110 |
| integer, parameter, public | neumannxz = 101 |
| integer, parameter, public | neumannyz = 011 |
| integer, parameter, public | neumannx = 100 |
| integer, parameter, public | neumanny = 010 |
| integer, parameter, public | neumannz = 001 |
the type I Discrete Cosine Transform (DCT-I)
| subroutine, public dct::dct_type_init | ( | type(pw_grid_type), intent(in), pointer | pw_grid, |
| integer, intent(in) | neumann_directions, | ||
| type(dct_type), intent(inout) | dct_env | ||
| ) |
| subroutine, public dct::dct_type_release | ( | type(dct_type), intent(inout) | dct_env | ) |
| subroutine, public dct::setup_dct_pw_grids | ( | type(pw_grid_type), intent(in), pointer | pw_grid, |
| real(dp), dimension(3, 3), intent(in) | cell_hmat, | ||
| integer, intent(in) | neumann_directions, | ||
| type(pw_grid_type), intent(inout), pointer | dct_pw_grid | ||
| ) |
sets up an extended pw_grid for Discrete Cosine Transform (DCT) calculations
| pw_grid | the original plane wave grid |
| cell_hmat | cell hmat |
| neumann_directions | directions in which dct should be performed |
| dct_pw_grid | DCT plane-wave grid |
Definition at line 161 of file dct.F.
| subroutine, public dct::pw_expand | ( | integer, intent(in) | neumann_directions, |
| integer, dimension(:, :, :), intent(in), pointer | recv_msgs_bnds, | ||
| integer, dimension(:), intent(in), pointer | dests_expand, | ||
| integer, dimension(:), intent(in), pointer | srcs_expand, | ||
| integer, dimension(:), intent(in), pointer | flipg_stat, | ||
| integer, dimension(2, 3), intent(in) | bounds_shftd, | ||
| type(pw_r3d_rs_type), intent(in) | pw_in, | ||
| type(pw_r3d_rs_type), intent(inout) | pw_expanded | ||
| ) |
expands a pw_r3d_rs_type data to an evenly symmetric pw_r3d_rs_type data that is 8 times larger than the original one: the even symmetry for a 1D sequence of length n is defined as: 1 2 3 ... n-2 n-1 n --> 1 2 3 ... n-2 n-1 n n-1 n-2 ... 3 2 and is generalized to 3D by applying the same rule in all three directions
| neumann_directions | directions in which dct should be performed |
| recv_msgs_bnds | bounds of the messages to be received |
| dests_expand | list of the destination processes |
| srcs_expand | list of the source processes |
| flipg_stat | flipping status for the received data chunks |
| bounds_shftd | bounds of the original grid shifted to have g0 in the middle of the cell |
| pw_in | the original plane wave data |
| pw_expanded | the pw data after expansion |
Definition at line 514 of file dct.F.
| subroutine, public dct::pw_shrink | ( | integer, intent(in) | neumann_directions, |
| integer, dimension(:), intent(in), pointer | dests_shrink, | ||
| integer, intent(inout) | srcs_shrink, | ||
| integer, dimension(2, 3), intent(in) | bounds_local_shftd, | ||
| type(pw_r3d_rs_type), intent(in) | pw_in, | ||
| type(pw_r3d_rs_type), intent(inout) | pw_shrinked | ||
| ) |
shrinks an evenly symmetric pw_r3d_rs_type data to a pw_r3d_rs_type data that is 8 times smaller (the reverse procedure of pw_expand).
| neumann_directions | directions in which dct should be performed |
| dests_shrink | list of the destination processes |
| srcs_shrink | list of the source processes |
| bounds_local_shftd | local bounds of the original grid after shifting |
| pw_in | the original plane wave data |
| pw_shrinked | the shrunk plane wave data |
Definition at line 698 of file dct.F.