private static void dcopy(int n, double[] dx, int _dx_offset, int incx,
double[] dy, int _dy_offset, int incy)
{
int i = 0;
int ix = 0;
int iy = 0;
int m = 0;
int mp1 = 0;
if ((n <= 0))
{
return;
}
if (((incx == 1) && (incy == 1)))
{
goto L20;
}
// c
// c code for unequal increments or equal increments
// c not equal to 1
// c
ix = 1;
iy = 1;
if ((incx < 0))
{
ix = (((((-(n)) + 1)) * incx) + 1);
}
if ((incy < 0))
{
iy = (((((-(n)) + 1)) * incy) + 1);
}
{
for (i = 1; i <= n; i++)
{
dy[(iy - (1)) + _dy_offset] = dx[(ix - (1)) + _dx_offset];
ix = (ix + incx);
iy = (iy + incy);
}
}
return;
// c
// c code for both increments equal to 1
// c
// c
// c clean-up loop
// c
L20:
m = (n) % (7);
if ((m == 0))
{
goto L40;
}
{
for (i = 1; i <= m; i++)
{
dy[(i - (1)) + _dy_offset] = dx[(i - (1)) + _dx_offset];
}
}
if ((n < 7))
{
return;
}
L40:
mp1 = (m + 1);
{
int _i_inc = 7;
for (i = mp1; i <= n; i += _i_inc)
{
dy[(i - (1)) + _dy_offset] = dx[(i - (1)) + _dx_offset];
dy[((i + 1) - (1)) + _dy_offset] = dx[((i + 1) - (1)) + _dx_offset];
dy[((i + 2) - (1)) + _dy_offset] = dx[((i + 2) - (1)) + _dx_offset];
dy[((i + 3) - (1)) + _dy_offset] = dx[((i + 3) - (1)) + _dx_offset];
dy[((i + 4) - (1)) + _dy_offset] = dx[((i + 4) - (1)) + _dx_offset];
dy[((i + 5) - (1)) + _dy_offset] = dx[((i + 5) - (1)) + _dx_offset];
dy[((i + 6) - (1)) + _dy_offset] = dx[((i + 6) - (1)) + _dx_offset];
}
}
}