Commit 38e5b786 authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Add target declaration directives to clu_subs.h

parent 512cf50a
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -90,7 +90,13 @@ dcomplex cdtp(dcomplex z, dcomplex **am, int i, int jf, int k, int nj);
 * \param m: `int`
 * \return result: `double`
 */
#ifdef USE_TARGET_OFFLOAD
#pragma omp begin declare target device_type(any)
#endif
double cgev(int ipamo, int mu, int l, int m);
#ifdef USE_TARGET_OFFLOAD
#pragma omp end declare target
#endif

/*! \brief Build the multi-centered M-matrix of the cluster.
 *
@@ -129,10 +135,16 @@ void crsm1(double vk, double exri, ParticleDescriptor *c1);
 * \param c1: `ParticleDescriptor *`
 * \param rac3j: `dcomplex *`
 */
#ifdef USE_TARGET_OFFLOAD
#pragma omp begin declare target device_type(any)
#endif
dcomplex ghit_d(
	      int ihi, int ipamo, int nbl, int l1, int m1, int l2, int m2,
	      ParticleDescriptor *c1, double *rac3j
);
#ifdef USE_TARGET_OFFLOAD
#pragma omp end declare target
#endif

/*! \brief Compute the transfer vector from N2 to N1.
 *
@@ -148,10 +160,16 @@ dcomplex ghit_d(
 * \param m2: `int`
 * \param c1: `ParticleDescriptor *` Poiunter to a ParticleDescriptor instance.
 */
#ifdef USE_TARGET_OFFLOAD
#pragma omp begin declare target device_type(any)
#endif
dcomplex ghit(
	      int ihi, int ipamo, int nbl, int l1, int m1, int l2, int m2,
	      ParticleDescriptor *c1
);
#ifdef USE_TARGET_OFFLOAD
#pragma omp end declare target
#endif

/*! \brief Compute Hankel funtion and Bessel functions.
 *
@@ -261,7 +279,13 @@ void r3j000(int j2, int j3, double *rac3j);
 * \param m3: `int`
 * \param rac3j: `double *` Vector of 3j symbols.
 */
#ifdef USE_TARGET_OFFLOAD
#pragma omp begin declare target device_type(any)
#endif
void r3jjr(int j2, int j3, int m2, int m3, double *rac3j);
#ifdef USE_TARGET_OFFLOAD
#pragma omp end declare target
#endif

/*! \brief Compute the 3j symbol for Clebsch-Gordan coefficients for JJ transitions.
 *
@@ -274,7 +298,13 @@ void r3jjr(int j2, int j3, int m2, int m3, double *rac3j);
 * \param m3: `int`
 * \param rac3j: `double *`
 */
#ifdef USE_TARGET_OFFLOAD
#pragma omp begin declare target device_type(any)
#endif
void r3jjr_d(int j2, int j3, int m2, int m3, double *rac3j);
#ifdef USE_TARGET_OFFLOAD
#pragma omp end declare target
#endif

/*! \brief Compute the 3j symbol for Clebsch-Gordan coefficients for JM transitions.
 *