/* 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. */


void      orthogvec(vec1, beg, end, vec2)
double   *vec1;			/* vector to be orthogonalized */
int       beg, end;		/* start and stop range for vector */
double   *vec2;			/* vector to be orthogonalized against */
{
    double    alpha;
    double    dot();
    void      scadd();

    alpha = -dot(vec1, beg, end, vec2) / dot(vec2, beg, end, vec2);
    scadd(vec1, beg, end, alpha, vec2);
}

void      orthogvec_float(vec1, beg, end, vec2)
float    *vec1;			/* vector to be orthogonalized */
int       beg, end;		/* start and stop range for vector */
float    *vec2;			/* vector to be orthogonalized against */
{
    float     alpha;
    double    dot_float();
    void      scadd_float();

    alpha = -dot_float(vec1, beg, end, vec2) / dot_float(vec2, beg, end, vec2);
    scadd_float(vec1, beg, end, alpha, vec2);
}


syntax highlighted by Code2HTML, v. 0.9.1