User Tools

Site Tools


2013:groups:sm:blha:api

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
2013:groups:sm:blha:api [2013/06/13 19:04]
johann_felix.graf_von_sodenfraunhofen Add OLP_Info
2013:groups:sm:blha:api [2013/08/14 11:37] (current)
johann_felix.graf_von_sodenfraunhofen OLP_Polvec added, C++ reference version adapted.
Line 13: Line 13:
  
 void OLP_Start(char* fname, int* ierr); void OLP_Start(char* fname, int* ierr);
-void OLP_SetParameter(char* line, double* real_part, double *cmplx_part,​ int* status); +void OLP_SetParameter(char* line, double* real_part, double* cmplx_part, int* status); 
-void OLP_EvalSubProcess2(int l, double* mom, double mu, double* r, intstatus); +void OLP_EvalSubProcess2(intl, double* mom, doublemu, double* r, doubleacc); 
-void OLP_Info(char[15] ​olp_name, char[15] ​olp_version, char[255] ​cite_message);+void OLP_Info(char ​olp_name[15], char olp_version[15], char cite_message[255]); 
 +void OLP_Polvec(double* p, double* q, double* eps); // optional
  
 #ifdef __cplusplus #ifdef __cplusplus
Line 33: Line 34:
 void OLP_Start(char* fname, int &ierr); void OLP_Start(char* fname, int &ierr);
 void OLP_SetParameter(char* line, double& real_part, double& cmplx_part, int& status); void OLP_SetParameter(char* line, double& real_part, double& cmplx_part, int& status);
-void OLP_EvalSubProcess2(int l, doublemom, doublemu, doubler, intstatus); +void OLP_EvalSubProcess2(intl, double mom[], doublemu, double r[]double ​&acc); 
-void OLP_Info(char[15] ​olp_name, char[15] ​olp_version, char[255] ​cite_message);+void OLP_Info(char ​olp_name[15], char olp_version[15], char cite_message[255]); 
 +void OLP_Polvec(double p[], double q[], double eps[]); // optional
 } }
  
Line 48: Line 50:
    ​implicit none    ​implicit none
    ​public :: OLP_Start, OLP_EvalSubProcess2,​ OLP_SetParameter    ​public :: OLP_Start, OLP_EvalSubProcess2,​ OLP_SetParameter
 +   ​public :: OLP_Info, OLP_Polvec
        
 contains contains
Line 80: Line 83:
    ​implicit none    ​implicit none
    ​character(kind=c_char,​len=1),​ intent(in) :: variable_name    ​character(kind=c_char,​len=1),​ intent(in) :: variable_name
-   ​real(kind=c_double), value, intent(in) :: real_part, complex_part+   ​real(kind=c_double),​ intent(in) :: real_part, complex_part
    ​integer(kind=c_int),​ intent(out) :: success    ​integer(kind=c_int),​ intent(out) :: success
  
Line 86: Line 89:
 end subroutine end subroutine
  
-subroutine OLP_EvalSubProcess2(label,​ momenta, mu, res, rstatus) &+subroutine OLP_EvalSubProcess2(label,​ momenta, mu, res, acc) &
    & bind(C,​name="​OLP_EvalSubProcess2"​)    & bind(C,​name="​OLP_EvalSubProcess2"​)
    use, intrinsic :: iso_c_binding    use, intrinsic :: iso_c_binding
    ​implicit none    ​implicit none
-   ​integer(kind=c_int), value, intent(in) :: label +   ​integer(kind=c_int),​ intent(in) :: label 
-   ​real(kind=c_double), value, intent(in) :: mu+   ​real(kind=c_double),​ intent(in) :: mu
    ​real(kind=c_double),​ dimension(50),​ intent(in) :: momenta    ​real(kind=c_double),​ dimension(50),​ intent(in) :: momenta
-   ​real(kind=c_double),​ dimension(4), intent(out) :: res +   ​real(kind=c_double),​ dimension(60), intent(out) :: res 
-   integer(kind=c_int), intent(out) :: rstatus+   real(kind=c_double), dimension(1), intent(out) :: acc
  
     !....     !....
Line 106: Line 109:
    ​character(kind=c_char,​len=1),​ intent(out) :: olp_version    ​character(kind=c_char,​len=1),​ intent(out) :: olp_version
    ​character(kind=c_char,​len=1),​ intent(out) :: cite_message    ​character(kind=c_char,​len=1),​ intent(out) :: cite_message
 +   
 +   ! ...
 +   
 end subroutine OLP_Info end subroutine OLP_Info
 +
 +subroutine OLP_Polvec(p,​ q, eps) &
 +   & bind(C,​name="​OLP_PolVec"​)
 +   use, intrinsic :: iso_c_binding
 +   ​implicit none
 +   ​real(ki),​ dimension(4),​ intent(in) :: p,q
 +   ​real(ki),​ dimension(8),​ intent(out) :: eps
 +
 +    !.... optional
 +    ​
 +end subroutine OLP_Polvec
  
 end module olp end module olp
 </​code>​ </​code>​
 + 
2013/groups/sm/blha/api.1371143046.txt.gz · Last modified: 2013/06/13 19:04 by johann_felix.graf_von_sodenfraunhofen