1!! Copyright (C) 2002-20069 M. Marques, X. Andrade
2!!
3!! This program is free software; you can redistribute it and/or modify
4!! it under the terms of the GNU General Public License as published by
5!! the Free Software Foundation; either version 2, or (at your option)
6!! any later version.
7!!
8!! This program is distributed in the hope that it will be useful,
9!! but WITHOUT ANY WARRANTY; without even the implied warranty of
10!! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11!! GNU General Public License for more details.
12!!
13!! You should have received a copy of the GNU General Public License
14!! along with this program; if not, write to the Free Software
15!! Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
16!! 02110-1301, USA.
17!!
18
19#include "global.h"
20
21module transfer_table_oct_m
22
23  implicit none
24
25  private
26  public ::                         &
27    transfer_table_t,               &
28    transfer_table_nullify
29
30
31  type transfer_table_t
32    ! Components are public by default
33    integer          ::  n_coarse
34    integer, pointer :: to_coarse(:)
35
36    integer          ::  n_fine
37    integer          ::  n_fine1,       n_fine2,       n_fine4,       n_fine8
38    integer, pointer :: to_fine1(:,:), to_fine2(:,:), to_fine4(:,:), to_fine8(:,:)
39    integer, pointer :: fine_i(:)
40  end type transfer_table_t
41
42contains
43
44  ! ---------------------------------------------------------
45  elemental subroutine transfer_table_nullify(this)
46    type(transfer_table_t), intent(out) :: this
47
48    this%n_coarse = 0
49    nullify(this%to_coarse)
50    this%n_fine = 0
51    this%n_fine1 = 0
52    this%n_fine2 = 0
53    this%n_fine4 = 0
54    this%n_fine8 = 0
55    nullify(this%to_fine1, this%to_fine2, this%to_fine4, this%to_fine8)
56    nullify(this%fine_i)
57
58  end subroutine transfer_table_nullify
59
60end module transfer_table_oct_m
61
62!! Local Variables:
63!! mode: f90
64!! coding: utf-8
65!! End:
66