This shows you the differences between two versions of the page.
| 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 small correction |
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, int* status); | + | void OLP_EvalSubProcess2(int* l, double* mom, double* mu, 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 | ||
| #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, int& status); | + | void OLP_EvalSubProcess2(int* l, double mom[], double* mu, 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 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> | ||