NAFPack_loop_method Module


Used by

  • module~~nafpack_loop_method~~UsedByGraph module~nafpack_loop_method NAFPack_loop_method module~nafpack_fourier_transform NAFPack_Fourier_Transform module~nafpack_fourier_transform->module~nafpack_loop_method module~nafpack_meshgrid NAFPack_meshgrid module~nafpack_meshgrid->module~nafpack_loop_method module~nafpack_fourier_transform_dft NAFPack_Fourier_Transform_dft module~nafpack_fourier_transform_dft->module~nafpack_fourier_transform module~nafpack_fourier_transform_dft2 NAFPack_Fourier_Transform_dft2 module~nafpack_fourier_transform_dft2->module~nafpack_fourier_transform module~nafpack_fourier_transform_dft3 NAFPack_Fourier_Transform_dft3 module~nafpack_fourier_transform_dft3->module~nafpack_fourier_transform module~nafpack_fourier_transform_fft NAFPack_Fourier_Transform_fft module~nafpack_fourier_transform_fft->module~nafpack_fourier_transform module~nafpack_meshgrid_complex_2d NAFPack_meshgrid_complex_2D module~nafpack_meshgrid_complex_2d->module~nafpack_meshgrid module~nafpack_meshgrid_complex_3d NAFPack_meshgrid_complex_3D module~nafpack_meshgrid_complex_3d->module~nafpack_meshgrid module~nafpack_meshgrid_integer_2d NAFPack_meshgrid_integer_2D module~nafpack_meshgrid_integer_2d->module~nafpack_meshgrid module~nafpack_meshgrid_integer_3d NAFPack_meshgrid_integer_3D module~nafpack_meshgrid_integer_3d->module~nafpack_meshgrid module~nafpack_meshgrid_real_2d NAFPack_meshgrid_real_2D module~nafpack_meshgrid_real_2d->module~nafpack_meshgrid module~nafpack_meshgrid_real_3d NAFPack_meshgrid_real_3D module~nafpack_meshgrid_real_3d->module~nafpack_meshgrid module~nafpack_fourier_transform_dft_compute NAFPack_Fourier_Transform_dft_compute module~nafpack_fourier_transform_dft_compute->module~nafpack_fourier_transform_dft module~nafpack_fourier_transform_fft_compute_mixed_radix NAFPack_Fourier_Transform_fft_compute_mixed_radix module~nafpack_fourier_transform_fft_compute_mixed_radix->module~nafpack_fourier_transform_fft module~nafpack_fourier_transform_fft_compute_radix2 NAFPack_Fourier_Transform_fft_compute_radix2 module~nafpack_fourier_transform_fft_compute_radix2->module~nafpack_fourier_transform_fft module~nafpack_fourier_transform_fft_compute_split_radix NAFPack_Fourier_Transform_fft_compute_split_radix module~nafpack_fourier_transform_fft_compute_split_radix->module~nafpack_fourier_transform_fft module~nafpack_meshgrid_complex_2d_compute NAFPack_meshgrid_complex_2D_compute module~nafpack_meshgrid_complex_2d_compute->module~nafpack_meshgrid_complex_2d module~nafpack_meshgrid_complex_3d_compute NAFPack_meshgrid_complex_3D_compute module~nafpack_meshgrid_complex_3d_compute->module~nafpack_meshgrid_complex_3d module~nafpack_meshgrid_integer_2d_compute NAFPack_meshgrid_integer_2D_compute module~nafpack_meshgrid_integer_2d_compute->module~nafpack_meshgrid_integer_2d module~nafpack_meshgrid_integer_3d_compute NAFPack_meshgrid_integer_3D_compute module~nafpack_meshgrid_integer_3d_compute->module~nafpack_meshgrid_integer_3d module~nafpack_meshgrid_real_2d_compute NAFPack_meshgrid_real_2D_compute module~nafpack_meshgrid_real_2d_compute->module~nafpack_meshgrid_real_2d module~nafpack_meshgrid_real_3d_compute NAFPack_meshgrid_real_3D_compute module~nafpack_meshgrid_real_3d_compute->module~nafpack_meshgrid_real_3d

Variables

Type Visibility Attributes Name Initial
type(LoopMethod), public, parameter :: default_loop_method = LoopMethod(use_do_classic=.true.)

Derived Types

type, public ::  LoopMethod

Components

Type Visibility Attributes Name Initial
logical, public :: use_do_classic = .false.
logical, public :: use_vectorized = .false.
logical, public :: use_do_concurrent = .false.
type(ParallelMethod), public :: parallel

Functions

public pure function init_loop_method(use_do_classic, use_vectorized, use_do_concurrent, use_openmp, use_mpi, num_threads) result(loop_method)

Arguments

Type IntentOptional Attributes Name
logical, intent(in), optional :: use_do_classic
logical, intent(in), optional :: use_vectorized
logical, intent(in), optional :: use_do_concurrent
logical, intent(in), optional :: use_openmp
logical, intent(in), optional :: use_mpi
integer, intent(in), optional :: num_threads

Return Value type(LoopMethod)

public pure function count_true_methods(loop_method) result(count_true)

Arguments

Type IntentOptional Attributes Name
type(LoopMethod), intent(in) :: loop_method

Return Value integer

public function check_loop_method(loop_method) result(loop_method_used)

Arguments

Type IntentOptional Attributes Name
type(LoopMethod), intent(in) :: loop_method

Return Value type(LoopMethod)