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/01 11:34]
johann_felix.graf_von_sodenfraunhofen Fix arguments in C/C++ code
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 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[], doublemu, double r[], intstatus);+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 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 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.1372671249.txt.gz · Last modified: 2013/07/01 11:34 by johann_felix.graf_von_sodenfraunhofen