test_084 Subroutine

subroutine test_084(id, nfail)

Uses

  • proc~~test_084~~UsesGraph proc~test_084 test_084 module~forcolormap forcolormap proc~test_084->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

create*/(reverse=.false.) must preserve endpoints and must not add the "_reverse" suffix.

Arguments

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

Calls

proc~~test_084~~CallsGraph proc~test_084 test_084 proc~create Colormap%create proc~test_084->proc~create proc~create_bezier Colormap%create_bezier proc~test_084->proc~create_bezier proc~create_lagrange Colormap%create_lagrange proc~test_084->proc~create_lagrange proc~get_levels Colormap%get_levels proc~test_084->proc~get_levels proc~get_name Colormap%get_name proc~test_084->proc~get_name proc~get_rgb Colormap%get_RGB proc~test_084->proc~get_rgb proc~report_test report_test proc~test_084->proc~report_test 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~create_bezier->proc~assign_map proc~bezier bezier proc~create_bezier->proc~bezier proc~create_bezier->proc~check proc~create_bezier->proc~reverse proc~create_lagrange->proc~assign_map proc~create_lagrange->proc~check proc~lagrange lagrange proc~create_lagrange->proc~lagrange proc~create_lagrange->proc~reverse proc~factorial factorial proc~bezier->proc~factorial 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 proc~lagrange_poly lagrange_poly proc~lagrange->proc~lagrange_poly

Called by

proc~~test_084~~CalledByGraph proc~test_084 test_084 program~check check program~check->proc~test_084

Source Code

   subroutine test_084(id, nfail)
      use forcolormap, only: Colormap, wp
      integer, intent(inout) :: id, nfail
      character(len=*), parameter :: name = "create*/(reverse=.false.) preserves endpoints (no suffix)"
      logical :: ok
      type(Colormap) :: c1, c2, c3
      integer :: map(3,3)
      integer :: colors(2,3)
      integer :: r, g, b

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

      colors(1,:) = [  1,  2,  3 ]
      colors(2,:) = [ 11, 12, 13 ]

      ! create(reverse=.false.)
      call c1%create("custom", 0.0_wp, 1.0_wp, map, reverse=.false.)
      call c1%get_RGB(0, r, g, b)
      ok = (r == 10) .and. (g == 20) .and. (b == 30) .and. (index(trim(c1%get_name()), "_reverse") == 0)

      call c1%get_RGB(c1%get_levels()-1, r, g, b)
      ok = ok .and. (r == 70) .and. (g == 80) .and. (b == 90)

      ! create_lagrange(reverse=.false.)
      call c2%create_lagrange("lag", 0.0_wp, 1.0_wp, colors, 16, reverse=.false.)
      call c2%get_RGB(0, r, g, b)
      ok = ok .and. (r == colors(1,1)) .and. (g == colors(1,2)) .and. (b == colors(1,3)) .and. &
         (index(trim(c2%get_name()), "_reverse") == 0)

      call c2%get_RGB(c2%get_levels()-1, r, g, b)
      ok = ok .and. (r == colors(2,1)) .and. (g == colors(2,2)) .and. (b == colors(2,3))

      ! create_bezier(reverse=.false.)
      call c3%create_bezier("bez", 0.0_wp, 1.0_wp, colors, 16, reverse=.false.)
      call c3%get_RGB(0, r, g, b)
      ok = ok .and. (r == colors(1,1)) .and. (g == colors(1,2)) .and. (b == colors(1,3)) .and. &
         (index(trim(c3%get_name()), "_reverse") == 0)

      call c3%get_RGB(c3%get_levels()-1, r, g, b)
      ok = ok .and. (r == colors(2,1)) .and. (g == colors(2,2)) .and. (b == colors(2,3))

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