Loading src/libnptm/clu_subs.cpp +30 −21 Original line number Diff line number Diff line Loading @@ -400,9 +400,28 @@ dcomplex cdtp(dcomplex z, dcomplex *vec_am, int i, int jf, int k, int nj, np_int return result; } // #ifdef USE_TARGET_OFFLOAD // #pragma omp begin declare target device_type(any) // #endif double cgev(int ipamo, int mu, int l, int m) { double xd, xn; if (ipamo == 0) { if (mu != 0) { xd = 2.0 * l * (l + 1); xn = (mu < 0) ? 1.0 * (l + m) * (l - m + 1) : 1.0 * (l - m) * (l + m + 1); double result = sqrt(xn / xd); return (mu <= 0) ? result : -result; } else { // mu == 0 return -1.0 * m / sqrt(1.0 * (l + 1) * l); } return 0.0; } else { // ipamo != 0 xd = 2.0 * l * (l * 2 - 1); xn = (mu == 0) ? 2.0 * (l - m) * (l + m) : ((mu < 0) ? 1.0 * (l - 1 + m) * (l + m) : 1.0 * (l - 1 - m) * (l - m)); return sqrt(xn / xd); } } /* double cgev(int ipamo, int mu, int l, int m) { double result = 0.0; double xd = 0.0, xn = 0.0; Loading Loading @@ -436,9 +455,7 @@ double cgev(int ipamo, int mu, int l, int m) { } return result; } // #ifdef USE_TARGET_OFFLOAD // #pragma omp end declare target // #endif */ void cms(dcomplex **am, ParticleDescriptor *c1) { const int nsph = c1->nsph; Loading Loading @@ -803,10 +820,10 @@ dcomplex ghit( int lminpo = (l2 - l1mp > 0) ? l2 - l1mp + 1 : l1mp - l2 + 1; int lmaxpo = l2 + l1mp + 1; int i3j0in = c1->ind3j[l1mp][l2 - 1]; int ilin = -1; if (m1mm2m > lminpo && (m1mm2m - lminpo) % 2 != 0) ilin = 0; int isn = 1; if (m1 % 2 != 0) isn *= -1; int ilin = (m1mm2m > lminpo && (m1mm2m - lminpo) % 2 != 0) ? 0 : -1; // if (m1mm2m > lminpo && (m1mm2m - lminpo) % 2 != 0) ilin = 0; int isn = (m1 % 2 != 0) ? -1 : 1; // if (m1 % 2 != 0) isn *= -1; if (lminpo % 2 == 0) { isn *= -1; if (l2 > l1mp) isn *= -1; Loading Loading @@ -1540,9 +1557,6 @@ void r3j000(int j2, int j3, double *rac3j) { } } // #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) { int jmx = j3 + j2; int jdf = j3 - j2; Loading Loading @@ -1597,8 +1611,7 @@ void r3jjr(int j2, int j3, int m2, int m3, double *rac3j) { cj = sqrt(ccj * (jsmpos - j1s)); sjt = rac3j[irr - 1] * rac3j[irr - 1]; dj = 1.0 * jf * (j1 * j1po * mdf + idjc); rac3j[irr - 2] = -(rac3j[irr - 1] * dj + rac3j[irr] * cjp * j1) / (cj * j1po); rac3j[irr - 2] = -(rac3j[irr - 1] * dj + rac3j[irr] * cjp * j1) / (cj * j1po); sjr += (sjt * jf); } // ibr45 loop } Loading Loading @@ -1642,8 +1655,7 @@ void r3jjr(int j2, int j3, int m2, int m3, double *rac3j) { sjt = rac3j[irl70 - 1] * rac3j[irl70 - 1]; dj = 1.0 * jf * (j1 * j1po * mdf + idjc); rac3j[irl70] = -( rac3j[irl70 - 1] * dj + rac3j[irl70 - 2] * cj * j1po rac3j[irl70 - 1] * dj + rac3j[irl70 - 2] * cj * j1po ) / (cjp * j1); sjl += (sjt * jf); } Loading @@ -1660,9 +1672,6 @@ void r3jjr(int j2, int j3, int m2, int m3, double *rac3j) { } } } // #ifdef USE_TARGET_OFFLOAD // #pragma omp end declare target // #endif // #ifdef USE_TARGET_OFFLOAD // #pragma omp begin declare target device_type(any) Loading Loading
src/libnptm/clu_subs.cpp +30 −21 Original line number Diff line number Diff line Loading @@ -400,9 +400,28 @@ dcomplex cdtp(dcomplex z, dcomplex *vec_am, int i, int jf, int k, int nj, np_int return result; } // #ifdef USE_TARGET_OFFLOAD // #pragma omp begin declare target device_type(any) // #endif double cgev(int ipamo, int mu, int l, int m) { double xd, xn; if (ipamo == 0) { if (mu != 0) { xd = 2.0 * l * (l + 1); xn = (mu < 0) ? 1.0 * (l + m) * (l - m + 1) : 1.0 * (l - m) * (l + m + 1); double result = sqrt(xn / xd); return (mu <= 0) ? result : -result; } else { // mu == 0 return -1.0 * m / sqrt(1.0 * (l + 1) * l); } return 0.0; } else { // ipamo != 0 xd = 2.0 * l * (l * 2 - 1); xn = (mu == 0) ? 2.0 * (l - m) * (l + m) : ((mu < 0) ? 1.0 * (l - 1 + m) * (l + m) : 1.0 * (l - 1 - m) * (l - m)); return sqrt(xn / xd); } } /* double cgev(int ipamo, int mu, int l, int m) { double result = 0.0; double xd = 0.0, xn = 0.0; Loading Loading @@ -436,9 +455,7 @@ double cgev(int ipamo, int mu, int l, int m) { } return result; } // #ifdef USE_TARGET_OFFLOAD // #pragma omp end declare target // #endif */ void cms(dcomplex **am, ParticleDescriptor *c1) { const int nsph = c1->nsph; Loading Loading @@ -803,10 +820,10 @@ dcomplex ghit( int lminpo = (l2 - l1mp > 0) ? l2 - l1mp + 1 : l1mp - l2 + 1; int lmaxpo = l2 + l1mp + 1; int i3j0in = c1->ind3j[l1mp][l2 - 1]; int ilin = -1; if (m1mm2m > lminpo && (m1mm2m - lminpo) % 2 != 0) ilin = 0; int isn = 1; if (m1 % 2 != 0) isn *= -1; int ilin = (m1mm2m > lminpo && (m1mm2m - lminpo) % 2 != 0) ? 0 : -1; // if (m1mm2m > lminpo && (m1mm2m - lminpo) % 2 != 0) ilin = 0; int isn = (m1 % 2 != 0) ? -1 : 1; // if (m1 % 2 != 0) isn *= -1; if (lminpo % 2 == 0) { isn *= -1; if (l2 > l1mp) isn *= -1; Loading Loading @@ -1540,9 +1557,6 @@ void r3j000(int j2, int j3, double *rac3j) { } } // #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) { int jmx = j3 + j2; int jdf = j3 - j2; Loading Loading @@ -1597,8 +1611,7 @@ void r3jjr(int j2, int j3, int m2, int m3, double *rac3j) { cj = sqrt(ccj * (jsmpos - j1s)); sjt = rac3j[irr - 1] * rac3j[irr - 1]; dj = 1.0 * jf * (j1 * j1po * mdf + idjc); rac3j[irr - 2] = -(rac3j[irr - 1] * dj + rac3j[irr] * cjp * j1) / (cj * j1po); rac3j[irr - 2] = -(rac3j[irr - 1] * dj + rac3j[irr] * cjp * j1) / (cj * j1po); sjr += (sjt * jf); } // ibr45 loop } Loading Loading @@ -1642,8 +1655,7 @@ void r3jjr(int j2, int j3, int m2, int m3, double *rac3j) { sjt = rac3j[irl70 - 1] * rac3j[irl70 - 1]; dj = 1.0 * jf * (j1 * j1po * mdf + idjc); rac3j[irl70] = -( rac3j[irl70 - 1] * dj + rac3j[irl70 - 2] * cj * j1po rac3j[irl70 - 1] * dj + rac3j[irl70 - 2] * cj * j1po ) / (cjp * j1); sjl += (sjt * jf); } Loading @@ -1660,9 +1672,6 @@ void r3jjr(int j2, int j3, int m2, int m3, double *rac3j) { } } } // #ifdef USE_TARGET_OFFLOAD // #pragma omp end declare target // #endif // #ifdef USE_TARGET_OFFLOAD // #pragma omp begin declare target device_type(any) Loading