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

/* Scaled add - fills double vec1 with vec1 + alpha*vec2 over range*/
void      scadd(vec1, beg, end, fac, vec2)
double   *vec1;
int       beg, end;
double    fac;
double   *vec2;
{
    int       i;

    vec1 = vec1 + beg;
    vec2 = vec2 + beg;
    for (i = end - beg + 1; i; i--) {
	(*vec1++) += fac * (*vec2++);
    }
}

/* Scaled add - fills float vec1 with vec1 + alpha*vec2 over range*/
void      scadd_float(vec1, beg, end, fac, vec2)
float    *vec1;
int       beg, end;
float     fac;
float    *vec2;
{
    int       i;

    vec1 = vec1 + beg;
    vec2 = vec2 + beg;
    for (i = end - beg + 1; i; i--) {
	(*vec1++) += fac * (*vec2++);
    }
}

/* Scaled add - fills double vec1 with vec1 + alpha*vec2 where vec2 is float */
void      scadd_mixed(vec1, beg, end, fac, vec2)
double   *vec1;
int       beg, end;
double    fac;
float    *vec2;
{
    int       i;

    vec1 = vec1 + beg;
    vec2 = vec2 + beg;
    for (i = end - beg + 1; i; i--) {
	(*vec1++) += fac * (*vec2++);
    }
}


syntax highlighted by Code2HTML, v. 0.9.1