src/module/equal [ Modules ]
NAME
Module equal
USAGE
use equal
DESCRIPTION
This module is used to compare two objects
OUTPUT
This module exports two functions: * equal_real -- to compare two reals * cut_s -- sets the momentum s equal to zero, if the ratio s/M or the absoulute value is smaller than some global parameters.
USES
* precision_golem (src/module/precision_golem.f90) * parametre (src/module/parametre.f90) * constante (src/module/constante.f90) * sortie_erreur (src/module/sortie_erreur.f90)
src/module/equal/cut_s [ Functions ]
NAME
subroutine cut_s
USAGE
call cut_s(s,m1,m2) call cut_s(s,m) call cut_s(s)
DESCRIPTION
This function sets s to zero, if either of the following conditions is fulfilled. abs(s) is smaller than cut_s_abs. abs(s/Sum(m)) is smaller than cut_s_over_m. Calling this routine improves stability in the form factor calculations.
INPUTS
* s -- a real of type ki * m, m1, m2 -- real/complex type
SIDE EFFECTS
Possible change of s to zero.
RETURN VALUE
EXAMPLE
src/module/equal/equal_real [ Functions ]
NAME
Function equal_real
USAGE
logical = equal_real(xa,xb,echelle)
DESCRIPTION
This function compares two real (of same kind) by computing their difference and compares it to epsilon (of the same kind) true if | xa - xb | <= echelle*epsilon, false otherwise
INPUTS
* xa -- a real of type ki * xb -- a real of type ki * echelle -- a real of type ki (optional)
SIDE EFFECTS
No side effect
RETURN VALUE
It returns a logical
EXAMPLE