Commit 5a1fc42e authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Use dynamic memory in C++ porting of SPH subroutines

parent ec5b9055
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -1353,18 +1353,18 @@ void wmasp(
void dme(
		int li, int i, int npnt, int npntts, double vk, double exdc, double exri,
		C1 *c1, C2 *c2, int &jer, int &lcalc, std::complex<double> &arg) {
	double *rfj = new double[42];
	double *rfn = new double[42];
	std::complex<double> cfj[42], fbi[42], fb[42], fn[42];
	std::complex<double> rmf[40], drmf[40], ref[40], dref[40];
	const int lipo = li + 1;
	const int lipt = li + 2;
	double *rfj = new double[lipt];
	double *rfn = new double[lipt];
	std::complex<double> cfj[lipt], fbi[lipt], fb[lipt], fn[lipt];
	std::complex<double> rmf[li], drmf[li], ref[li], dref[li];
	std::complex<double> dfbi, dfb, dfn, ccna, ccnb, ccnc, ccnd;
	std::complex<double> y1, dy1, y2, dy2, arin, cri, uim;
	jer = 0;
	uim = std::complex<double>(0.0, 1.0);
	int nstp = npnt - 1;
	int nstpts = npntts - 1;
	int lipo = li + 1;
	int lipt = li + 2;
	double sz = vk * c1->ros[i - 1];
	c2->vsz[i - 1] = sz;
	double vkr1 = vk * c1->rc[i - 1][0];
@@ -1429,6 +1429,7 @@ void dme(
			ccnb = fn[lpo - 1] * dfbi;
			ccnc = fbi[lpo - 1] * dfb;
			ccnd = fb[lpo - 1] * dfbi;
			// CLUSTER terminated in this loop with li = 8.
			c1->rmi[l60 - 1][i - 1] = 1.0 + uim * (ccna - ccnb) / (ccnc - ccnd);
			c1->rei[l60 - 1][i - 1] = 1.0 + uim * (cri * ccna - ccnb) / (cri * ccnc - ccnd);
		}