forbear_minimal Program

program~~forbear_minimal~~UsesGraph program~forbear_minimal forbear_minimal iso_fortran_env iso_fortran_env iso_fortran_env->program~forbear_minimal module~forbear_bar_object forbear_bar_object iso_fortran_env->module~forbear_bar_object module~forbear_element_object forbear_element_object iso_fortran_env->module~forbear_element_object module~forbear forbear module~forbear->program~forbear_minimal module~forbear_kinds forbear_kinds module~forbear_kinds->module~forbear module~forbear_kinds->module~forbear_bar_object module~forbear_kinds->module~forbear_element_object module~forbear_bar_object->module~forbear module~forbear_element_object->module~forbear_bar_object face face face->module~forbear_element_object
Help


forbear test.

Calls

program~~forbear_minimal~~CallsGraph program~forbear_minimal forbear_minimal proc~worker worker program~forbear_minimal->proc~worker
Help

Source Code


Variables

Type AttributesNameInitial
type(bar_object) :: bar

Subroutines

subroutine worker()

The worker.

Arguments

None

Source Code

program forbear_minimal
!< **forbear** test.
use, intrinsic :: iso_fortran_env, only : I4P=>int32, R8P=>real64
use forbear, only : bar_object, UCS4
implicit none

type(bar_object) :: bar

print*

call bar%initialize(prefix_string='Counter ', width=0, add_progress_percent=.true., progress_percent_color_fg='yellow')
call worker

call bar%initialize(prefix_string='Spinner 1 : ', width=0, spinner_string='|', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 2 : ', width=0, spinner_string='⠋', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 3 : ', width=0, spinner_string='⣾', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 4 : ', width=0, spinner_string='⠓', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 5 : ', width=0, spinner_string='⠄', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 6 : ', width=0, spinner_string='⠐', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 7 : ', width=0, spinner_string='⠒', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 8 : ', width=0, spinner_string='⠁', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 9 : ', width=0, spinner_string='⡃⢐', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 10: ', width=0, spinner_string='⡀', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 11: ', width=0, spinner_string='⡐', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 12: ', width=0, spinner_string='⣸', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 13: ', width=0, spinner_string='┤', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 14: ', width=0, spinner_string='✶', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 15: ', width=0, spinner_string='_', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 16: ', width=0, spinner_string='▃', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 17: ', width=0, spinner_string='▉', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 18: ', width=0, spinner_string='@', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 19: ', width=0, spinner_string='°', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 20: ', width=0, spinner_string='▒', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 21: ', width=0, spinner_string='⠂', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 22: ', width=0, spinner_string='▖', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 23: ', width=0, spinner_string='◢', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 24: ', width=0, spinner_string='◜', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 25: ', width=0, spinner_string='⊙', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 26: ', width=0, spinner_string='◰', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 27: ', width=0, spinner_string='◴', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 28: ', width=0, spinner_string='◐', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 29: ', width=0, spinner_string='⊶', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 30: ', width=0, spinner_string='▫', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 31: ', width=0, spinner_string='□', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 32: ', width=0, spinner_string='▪', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 33: ', width=0, spinner_string='▯', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 34: ', width=0, spinner_string='⦿', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 35: ', width=0, spinner_string='◍', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 36: ', width=0, spinner_string='◉', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 37: ', width=0, spinner_string='㊂', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 38: ', width=0, spinner_string='(  ●   )', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 39: ', width=0, spinner_string='🌔 ', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Spinner 40: ', width=0, spinner_string='🚶 ', spinner_color_fg='red')
call worker

call bar%initialize(prefix_string='Minimal bar ')
call worker

call bar%initialize(width=32,                                                                       &
                    bracket_left_string='|', bracket_left_color_fg='blue',                          &
                    empty_char_string='o', empty_char_color_fg='blue', empty_char_color_bg='white', &
                    filled_char_string=' ', filled_char_color_bg='blue',                            &
                    bracket_right_string='|', bracket_right_color_fg='blue',                        &
                    prefix_string='Fancy ASCII bar, progress ', prefix_color_fg='red',              &
                    add_progress_percent=.true., progress_percent_color_fg='yellow',                &
                    add_progress_speed=.true., progress_speed_color_fg='green',                     &
                    add_scale_bar=.true., scale_bar_color_fg='blue', scale_bar_style='underline_on')
call worker

#ifdef UCS4_SUPPORTED
call bar%initialize(width=32,                                                              &
                    bracket_left_string='|', bracket_left_color_fg='blue',                 &
                    empty_char_string=UCS4_'⬜', empty_char_color_fg='blue',                &
                    filled_char_string=UCS4_'⬛', filled_char_color_fg='blue',              &
                    bracket_right_string='|', bracket_right_color_fg='blue',               &
                    prefix_string=UCS4_'Fancy UCS4 bar, ƥƦōƔƦĘşş ', prefix_color_fg='red', &
                    add_progress_percent=.true., progress_percent_color_fg='yellow',       &
                    add_date_time=.true., date_time_color_fg='magenta',                    &
                    add_progress_speed=.true., progress_speed_color_fg='green')
call worker
#endif

contains
   subroutine worker
   !< The worker.
   real(R8P)        :: x
   real(R8P)        :: y
   integer(I4P)     :: i
   integer(I4P)     :: j
   call bar%start
   x = 0._R8P
   do i=1, 20
      x = x + 0.05_R8P
      do j=1, 10000000
         y = sqrt(x) ! just spend some times
      enddo
      call bar%update(current=x)
   enddo
   endsubroutine worker
endprogram forbear_minimal