test_049 Subroutine

subroutine test_049(id, nfail)

Uses

  • proc~~test_049~~UsesGraph proc~test_049 test_049 module~forcolormap forcolormap proc~test_049->module~forcolormap module~forcolormap_cm_matplotlib forcolormap_cm_matplotlib module~forcolormap->module~forcolormap_cm_matplotlib module~forcolormap_cm_miscellaneous forcolormap_cm_miscellaneous module~forcolormap->module~forcolormap_cm_miscellaneous module~forcolormap_cm_scientific forcolormap_cm_scientific module~forcolormap->module~forcolormap_cm_scientific module~forcolormap_info forcolormap_info module~forcolormap->module~forcolormap_info module~forcolormap_parameters forcolormap_parameters module~forcolormap->module~forcolormap_parameters module~forcolormap_utils forcolormap_utils module~forcolormap->module~forcolormap_utils module~forcolormap_cm_matplotlib->module~forcolormap_parameters module~forcolormap_cm_miscellaneous->module~forcolormap_parameters module~forcolormap_cm_scientific->module~forcolormap_parameters module~forcolormap_info->module~forcolormap_cm_matplotlib module~forcolormap_info->module~forcolormap_cm_miscellaneous module~forcolormap_info->module~forcolormap_cm_scientific module~forcolormap_info->module~forcolormap_parameters iso_fortran_env iso_fortran_env module~forcolormap_parameters->iso_fortran_env module~forcolormap_utils->module~forcolormap_parameters

shift(-1) should match the intrinsic circular shift cshift(map, -1).

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: id
integer, intent(inout) :: nfail

Calls

proc~~test_049~~CallsGraph proc~test_049 test_049 proc~create Colormap%create proc~test_049->proc~create proc~get_levels Colormap%get_levels proc~test_049->proc~get_levels proc~get_rgb Colormap%get_RGB proc~test_049->proc~get_rgb proc~report_test report_test proc~test_049->proc~report_test proc~shift Colormap%shift proc~test_049->proc~shift proc~assign_map Colormap%assign_map proc~create->proc~assign_map proc~check Colormap%check proc~create->proc~check proc~reverse Colormap%reverse proc~create->proc~reverse proc~find_index Colormaps_info%find_index proc~check->proc~find_index proc~get_levels~2 Colormaps_info%get_levels proc~check->proc~get_levels~2

Called by

proc~~test_049~~CalledByGraph proc~test_049 test_049 program~check check program~check->proc~test_049

Source Code

   subroutine test_049(id, nfail)
      use forcolormap, only: Colormap, wp
      integer, intent(inout) :: id, nfail
      character(len=*), parameter :: name = "Colormap%shift: matches cshift for sh=-1"
      logical :: ok
      type(Colormap) :: cm
      integer :: map(3,3)
      integer :: ref(3,3)
      integer :: i
      integer :: r, g, b, rr, gg, bb

      map(1,:) = [ 10, 20, 30 ]
      map(2,:) = [ 40, 50, 60 ]
      map(3,:) = [ 70, 80, 90 ]

      call cm%create("custom", 0.0_wp, 2.0_wp, map)

      ref = cshift(map, -1)
      call cm%shift(-1)

      ok = .true.
      do i = 0, cm%get_levels()-1
         call cm%get_RGB(i, r, g, b)
         rr = ref(i+1, 1)
         gg = ref(i+1, 2)
         bb = ref(i+1, 3)
         ok = ok .and. (r == rr) .and. (g == gg) .and. (b == bb)
      end do

      call report_test(name, ok, id, nfail)
   end subroutine test_049