src/module/form_factor_type [ Modules ]
NAME
Module form_factor_type
USAGE
use form_factor_type
DESCRIPTION
This module contains two type definitions : the form factors and epsilon type. This module overloads the *, /, +, -, = and ** operators
OUTPUT
This module exports two types: * form_factor -- define the type of the fom factors * epsilon_type -- define the type for object having an epsilon expansion five operators: * * -- overload of the multiplication operator for form_factor and epsilon_type object * / -- overload of the division operator for form_factor and epsilon_type object * + -- overload of the addition operator for form_factor and epsilon_type object * - -- overload of the subtraction operator for form_factor and epsilon_type object * = -- overload of the assignment operator for form_factor and epsilon_type object * ** -- overload of the power operator for form_factor and epsilon_type object
USES
* precision_golem (src/module/precision_golem.f90) * constante (src/module/constante.f90)
src/module/form_factor_type/assignment [ Generics ]
NAME
ff = x -- Assignment to a form_factor
SYNOPSIS
interface assignment(=)
NOTES
In the assignment of a complex array the RHS must have the form (/ a, b, c /). In the assignment of a real array the RHS must have the form (/ real(a), aimag(a), real(b), aimag(b), real(c), aimag(c) /). The later form reflects the convention in the form factors of Golem90.
src/module/form_factor_type/division [ Generics ]
NAME
ff / c -- Division of a form_factor by a scalar
SYNOPSIS
interface operator(/)
src/module/form_factor_type/eps [ Types ]
NAME
eps -- singleton object of the epsilon-type.
SYNOPSIS
! type(epsilon_type), parameter :: eps
SOURCE
type(epsilon_type), parameter :: eps = epsilon_type(1.0, 1)
EXAMPLE
type(form_factor) :: ff1 = a20((/.../)) type(form_factor) :: ff2 = eps * ff1
src/module/form_factor_type/epsilon_type [ Types ]
NAME
epsilon_type -- a type that represents positive powers of epsilon
SYNOPSIS
! type epsilon_type
SOURCE
type epsilon_type complex(ki) :: coefficient integer :: power end type epsilon_type
src/module/form_factor_type/form_factor [ Types ]
NAME
form_factor -- represents the result of a form factor
SYNOPSIS
! type form_factor
SOURCE
type form_factor complex(ki) :: a complex(ki) :: b complex(ki) :: c end type form_factor
NOTES
* a is the coefficient of the 1/epsilon^2 pole * b is the coefficient of the 1/epsilon pole * c is the coefficient of the finite term
src/module/form_factor_type/multiplication [ Generics ]
NAME
c * ff -- Multiplication of a form_factor with a scalar
SYNOPSIS
interface operator(*)
src/module/form_factor_type/subtraction [ Generics ]
NAME
ff - x, - ff -- Subtractions involving form_factor(s)
SYNOPSIS
interface operator(-)
src/module/form_factor_type/sum [ Generics ]
NAME
ff + x, + ff -- Sums involving form_factor(s)
SYNOPSIS
interface operator(+)