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/07/26 16:06]
johann_felix.graf_von_sodenfraunhofen Interface adapted to new BLHA2 draft
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, double* acc);+void OLP_EvalSubProcess2(intl, double* mom, doublemu, double* r, double* acc);
 void OLP_Info(char olp_name[15],​ char olp_version[15],​ char cite_message[255]);​ 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, double mom[], double mu, double r[], double &acc);+void OLP_EvalSubProcess2(intl, double mom[], doublemu, double r[], double &acc);
 void OLP_Info(char olp_name[15],​ char olp_version[15],​ char cite_message[255]);​ 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 90: Line 93:
    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
    ​real(kind=c_double),​ dimension(1),​ intent(out) :: acc    ​real(kind=c_double),​ dimension(1),​ intent(out) :: acc
  
Line 110: Line 113:
        
 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.1374847608.txt.gz · Last modified: 2013/07/26 16:06 by johann_felix.graf_von_sodenfraunhofen