tetrahedron_log1p Function

private function tetrahedron_log1p(x)

Uses

  • proc~~tetrahedron_log1p~~UsesGraph proc~tetrahedron_log1p tetrahedron_log1p module~w90_constants w90_constants proc~tetrahedron_log1p->module~w90_constants

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: x

Return Value real(kind=dp)


Called by

proc~~tetrahedron_log1p~~CalledByGraph proc~tetrahedron_log1p tetrahedron_log1p proc~tetrahedron_integral tetrahedron_integral proc~tetrahedron_integral->proc~tetrahedron_log1p proc~tetrahedron_fermidirac tetrahedron_fermidirac proc~tetrahedron_fermidirac->proc~tetrahedron_integral proc~tetrahedron_spinhall tetrahedron_spinhall proc~tetrahedron_spinhall->proc~tetrahedron_fermidirac proc~berry_main berry_main proc~berry_main->proc~tetrahedron_spinhall program~postw90 postw90 program~postw90->proc~berry_main

Source Code

  function tetrahedron_log1p(x)

    use w90_constants, only: dp

    implicit none

    real(kind=dp) :: tetrahedron_log1p
    real(kind=dp), intent(in) :: x
    real(kind=dp) :: y, z

    if (ABS(x) > 0.5_dp) then
      tetrahedron_log1p = LOG(ABS(1.0_dp + x))
    else
      y = 1.0_dp + x
      z = y - 1.0_dp
      if (z == 0) then
        tetrahedron_log1p = x
      else
        tetrahedron_log1p = x*LOG(y)/z
      end if
    end if

  end function tetrahedron_log1p