globals.f90 1.44 KB
Newer Older
1 2 3 4

MODULE globals
  implicit none

5

6
  integer, parameter :: prec = selected_real_kind(15,32)  
7 8
  real, parameter :: zero = 1e-15          ! values smaller than this count as zero
  real, parameter :: pi = 3.14159265358979323846
9

10
  ! The following parameters control the accuracy of the evaluation
ulrich_y's avatar
ulrich_y committed
11
  real(kind=prec), protected :: MPLdel = 1e-15         ! if the MPL sum changes less then del it is truncated.
ulrich_y's avatar
ulrich_y committed
12 13
  integer, protected :: PolylogInfinity = 1000         ! expansion order for Polylogs
  real(kind=prec), protected :: HoelderCircle = 1.1    ! when to apply Hoelder convolution?
ulrich_y's avatar
ulrich_y committed
14 15
  integer, parameter :: PolyLogCacheSize(2) = (/ 5, 100 /)
        ! = (/ mmax, n /). At most n polylogs with weight mmax will be cached
16

Luca's avatar
readme  
Luca committed
17
  integer :: verb = 0
Luca's avatar
Luca committed
18 19

CONTAINS 
20
  
ulrich_y's avatar
ulrich_y committed
21
#ifdef DEBUG
Luca's avatar
Luca committed
22 23 24 25 26 27 28 29 30 31 32
  SUBROUTINE parse_cmd_args
    integer :: i
    character(len=32) :: arg
    i = 0
    do
      call get_command_argument(i, arg)
      if (len_trim(arg) == 0) exit

      ! parse verbosity
      if(trim(arg) == '-verb') then
        call get_command_argument(i+1,arg)
Luca's avatar
readme  
Luca committed
33
        read(arg,*) verb               ! str to int
Luca's avatar
Luca committed
34 35 36 37 38
      end if

      i = i+1
    end do
  END SUBROUTINE parse_cmd_args
ulrich_y's avatar
ulrich_y committed
39
#endif
40

ulrich_y's avatar
ulrich_y committed
41 42 43 44
  SUBROUTINE SET_OPTIONS(mpldel, liinf, hcircle)
    real(kind=prec), optional :: hcircle, mpldel
    integer, optional :: liinf
    if (present(mpldel)) MPLdel = mpldel
ulrich_y's avatar
ulrich_y committed
45 46 47 48
    if (present(liinf)) PolyLogInfinity = liinf
    if (present(hcircle)) HoelderCircle = hcircle
  END SUBROUTINE

49
END MODULE globals