! gtdata_types.f90 - gtool の構造型宣言
! Copyright (C) TOYODA Eizi, 2000.  All rights reserved.

module gtdata_types

    use an_types, only: AN_VARIABLE

    type GT_VARIABLE
        type(AN_VARIABLE), pointer:: an
        type(GT_LTD_VAR), pointer:: ltd
    end type

    ! 拘束された変数
    type GT_LTD_VAR
        !
        ! 変数本体
        !
        type(GT_VARIABLE):: var
        !
        ! 次元置換表
        !   みせかけの次元順に対して真の次元順を与える
        !   数値 0 が入っている場合はダミー次元
        !
        integer, pointer:: dimmap(:)
        !
        ! 次元拘束指定
        !   真の次元順に対して固定する範囲を記述
        !   特に固定しない場合は start=1, count=HUGE(1), stride=1
        !
        integer, pointer:: start(:), count(:), stride(:)
    end type

end module
