rendered paste body void heapv(double te1[], double te2[], double te3[], int NN)
{
int kk, kks, ii, jj, mm;
double b1, b2, b3, c1, c2, c3;
kks = (int) (NN / 2);
for (kk = kks; kk >= 1; kk--)
{
ii = kk;
b1 = te1[ii - 1];
b2 = te2[ii - 1];
b3 = te3[ii - 1];
while (2 * ii <= NN)
{
jj = 2 * ii;
if (jj + 1 <= NN)
{
if (te1[jj - 1] < te1[jj])
{
jj++;
}
}
if (te1[jj - 1] <= b1)
{
break;
}
te1[ii - 1] = te1[jj - 1];
te2[ii - 1] = te2[jj - 1];
te3[ii - 1] = te3[jj - 1];
ii = jj;
}// wend
te1[ii - 1] = b1;
te2[ii - 1] = b2;
te3[ii - 1] = b3;
}// next kk
for (mm = NN - 1; mm >= 1; mm--)
{
c1 = te1[mm];
c2 = te2[mm];
c3 = te3[mm];
te1[mm] = te1[0];
te2[mm] = te2[0];
te3[mm] = te3[0];
ii = 1;
while (2 * ii <= mm)
{
kk = 2 * ii;
if (kk + 1 <= mm)
{
if (te1[kk - 1] <= te1[kk])
{
kk++;
}
}
if (te1[kk - 1] <= c1)
{
break;
}
te1[ii - 1] = te1[kk - 1];
te2[ii - 1] = te2[kk - 1];
te3[ii - 1] = te3[kk - 1];
ii = kk;
}// wend
te1[ii - 1] = c1;
te2[ii - 1] = c2;
te3[ii - 1] = c3;
}// next mm
}