/* This software was developed by Bruce Hendrickson and Robert Leland   *
 * at Sandia National Laboratories under US Department of Energy        *
 * contract DE-AC04-76DP00789 and is copyrighted by Sandia Corporation. */

/* Orthogonalize a double vector to all one's */
void      orthog1(x, beg, end)
double   *x;
int       beg, end;
{
    int       i;
    double   *pntr;
    double    sum;
    int       len;

    len = end - beg + 1;
    sum = 0.0;
    pntr = x + beg;
    for (i = len; i; i--) {
	sum += *pntr++;
    }
    sum /= len;
    pntr = x + beg;
    for (i = len; i; i--) {
	*pntr++ -= sum;

    }
}

/* Orthogonalize a float vector to all one's */
void      orthog1_float(x, beg, end)
float    *x;
int       beg, end;
{
    int       i;
    float    *pntr;
    float     sum;
    int       len;

    len = end - beg + 1;
    sum = 0.0;
    pntr = x + beg;
    for (i = len; i; i--) {
	sum += *pntr++;
    }
    sum /= len;
    pntr = x + beg;
    for (i = len; i; i--) {
	*pntr++ -= sum;

    }
}


syntax highlighted by Code2HTML, v. 0.9.1