Commit ebe986db authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Reduce scope of local variables and use 0-indexed loops on polarization in scr2()

parent 6d81e749
Loading
Loading
Loading
Loading
+26 −29
Original line number Diff line number Diff line
@@ -2290,13 +2290,12 @@ void scr2(
) {
  const dcomplex cc0 = 0.0 + 0.0 * I;
  const dcomplex uim = 0.0 + 1.0 * I;
  dcomplex s11, s21, s12, s22, rm, re, csam, cph, phas, cc;
  double ccs = 1.0 / (vk * vk);
  csam = -(ccs / (exri * vk)) * 0.5 * I;
  const double ccs = 1.0 / (vk * vk);
  const double pi4sq = 64.0 * acos(0.0) * acos(0.0);
  double cfsq = 4.0 / (pi4sq * ccs * ccs);
  cph = uim * exri * vkarg;
  int ls = (c1->li < c1->le) ? c1->li : c1->le;
  const double cfsq = 4.0 / (pi4sq * ccs * ccs);
  dcomplex csam = -(ccs / (exri * vk)) * 0.5 * I;
  dcomplex cph = uim * exri * vkarg;
  const int ls = (c1->li < c1->le) ? c1->li : c1->le;
  c1->tsas[0][0] = cc0;
  c1->tsas[1][0] = cc0;
  c1->tsas[0][1] = cc0;
@@ -2306,14 +2305,14 @@ void scr2(
    int iogi = c1->iog[i14 - 1];
    if (iogi >= i14) {
      int k = 0;
      s11 = cc0;
      s21 = cc0;
      s12 = cc0;
      s22 = cc0;
      dcomplex s11 = cc0;
      dcomplex s21 = cc0;
      dcomplex s12 = cc0;
      dcomplex s22 = cc0;
      for (int l10 = 1; l10 <= ls; l10++) {
	int l = l10 - 1;
	rm = 1.0 / c1->rmi[l][i];
	re = 1.0 / c1->rei[l][i];
	dcomplex rm = 1.0 / c1->rmi[l][i];
	dcomplex re = 1.0 / c1->rei[l][i];
	int ltpo = l10 + l10 + 1;
	for (int im10 = 1; im10 <= ltpo; im10++) {
	  k++;
@@ -2330,7 +2329,7 @@ void scr2(
      c1->sas[i][1][1] = s22 * csam;
    }
    // label 12
    phas = cexp(cph * (duk[0] * c1->rxx[i] + duk[1] * c1->ryy[i] + duk[2] * c1->rzz[i]));
    dcomplex phas = cexp(cph * (duk[0] * c1->rxx[i] + duk[1] * c1->ryy[i] + duk[2] * c1->rzz[i]));
    c1->tsas[0][0] += (c1->sas[iogi - 1][0][0] * phas);
    c1->tsas[1][0] += (c1->sas[iogi - 1][1][0] * phas);
    c1->tsas[0][1] += (c1->sas[iogi - 1][0][1] * phas);
@@ -2340,13 +2339,12 @@ void scr2(
    int iogi = c1->iog[i24 - 1];
    if (iogi >= i24) {
      int j = 0;
      for (int ipo1 = 1; ipo1 <=2; ipo1++) {
	for (int jpo1 = 1; jpo1 <= 2; jpo1++) {
	  cc = dconjg(c1->sas[i24 - 1][jpo1 - 1][ipo1 - 1]);
	  for (int ipo2 = 1; ipo2 <= 2; ipo2++) {
	    for (int jpo2 = 1; jpo2 <= 2; jpo2++) {
	      j++;
	      c1->vints[i24 - 1][j - 1] = c1->sas[i24 - 1][jpo2 - 1][ipo2 - 1] * cc * cfsq;
      for (int ipo1 = 0; ipo1 < 2; ipo1++) {
	for (int jpo1 = 0; jpo1 < 2; jpo1++) {
	  dcomplex cc = dconjg(c1->sas[i24 - 1][jpo1][ipo1]);
	  for (int ipo2 = 0; ipo2 < 2; ipo2++) {
	    for (int jpo2 = 0; jpo2 < 2; jpo2++) {
	      c1->vints[i24 - 1][j++] = c1->sas[i24 - 1][jpo2][ipo2] * cc * cfsq;
	    } // jpo2 loop
	  } // ipo2 loop
	} // jpo1 loop
@@ -2354,13 +2352,12 @@ void scr2(
    }
  } // i24 loop
  int j = 0;
  for (int ipo1 = 1; ipo1 <=2; ipo1++) {
    for (int jpo1 = 1; jpo1 <= 2; jpo1++) {
      cc = dconjg(c1->tsas[jpo1 - 1][ipo1 - 1]);
      for (int ipo2 = 1; ipo2 <= 2; ipo2++) {
	for (int jpo2 = 1; jpo2 <= 2; jpo2++) {
	  j++;
	  c1->vintt[j - 1] = c1->tsas[jpo2 - 1][ipo2 - 1] * cc * cfsq;
  for (int ipo1 = 0; ipo1 < 2; ipo1++) {
    for (int jpo1 = 0; jpo1 < 2; jpo1++) {
      dcomplex cc = dconjg(c1->tsas[jpo1][ipo1]);
      for (int ipo2 = 0; ipo2 < 2; ipo2++) {
	for (int jpo2 = 0; jpo2 < 2; jpo2++) {
	  c1->vintt[j++] = c1->tsas[jpo2][ipo2] * cc * cfsq;
	} // jpo2 loop
      } // ipo2 loop
    } // jpo1 loop