test_066 Subroutine

subroutine test_066(id, nfail)

Uses

  • proc~~test_066~~UsesGraph proc~test_066 test_066 module~forcolormap forcolormap proc~test_066->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(0) should leave the map unchanged.

Arguments

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

Calls

proc~~test_066~~CallsGraph proc~test_066 test_066 proc~create Colormap%create proc~test_066->proc~create proc~get_levels Colormap%get_levels proc~test_066->proc~get_levels proc~get_rgb Colormap%get_RGB proc~test_066->proc~get_rgb proc~report_test report_test proc~test_066->proc~report_test proc~shift Colormap%shift proc~test_066->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_066~~CalledByGraph proc~test_066 test_066 program~check check program~check->proc~test_066

Source Code

   subroutine test_066(id, nfail)
      use forcolormap, only: Colormap, wp
      integer, intent(inout) :: id, nfail
      character(len=*), parameter :: name = "shift(0) leaves map unchanged"
      logical :: ok
      type(Colormap) :: cm
      integer :: map(4,3)
      integer :: ref(0:3,3)
      integer :: i, r, g, b

      map(1,:) = [ 10,  0,  0 ]
      map(2,:) = [  0, 10,  0 ]
      map(3,:) = [  0,  0, 10 ]
      map(4,:) = [ 10, 10, 10 ]

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

      do i = 0, cm%get_levels()-1
         call cm%get_RGB(i, r, g, b)
         ref(i,1) = r; ref(i,2) = g; ref(i,3) = b
      end do

      call cm%shift(0)

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

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