Go to the source code of this file.
|
module | dct |
| the type I Discrete Cosine Transform (DCT-I)
|
|
|
subroutine, public | dct::dct_type_init (pw_grid, neumann_directions, dct_env) |
| Initializes a dct_type.
|
|
subroutine, public | dct::dct_type_release (dct_env) |
| Releases a dct_type.
|
|
subroutine, public | dct::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 | dct::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 | dct::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).
|
|
|
integer, parameter, public | dct::neumannxyz = 111 |
|
integer, parameter, public | dct::neumannxy = 110 |
|
integer, parameter, public | dct::neumannxz = 101 |
|
integer, parameter, public | dct::neumannyz = 011 |
|
integer, parameter, public | dct::neumannx = 100 |
|
integer, parameter, public | dct::neumanny = 010 |
|
integer, parameter, public | dct::neumannz = 001 |
|