/*  axpy.c  */

#include "../Utilities.h"

/*--------------------------------------------------------------------*/
/*
   -----------------------------------------------------------------
   y0[] = y0[] + alpha[0] * x0[] + alpha[1] * x1[] + alpha[2] * x2[]
   y1[] = y1[] + alpha[3] * x0[] + alpha[4] * x1[] + alpha[5] * x2[]
   y2[] = y2[] + alpha[6] * x0[] + alpha[7] * x1[] + alpha[8] * x2[]

   created -- 98dec10, cca
   -----------------------------------------------------------------
*/
void
DVaxpy33 (
   int      n,
   double   y0[],
   double   y1[],
   double   y2[],
   double   alpha[],
   double   x0[],
   double   x1[],
   double   x2[]
) {
register double   a00, a01, a02, a10, a11, a12, a20, a21, a22 ;
register double   x0i, x1i, x2i ;
int               ii ;

a00 = alpha[0] ; a01 = alpha[1] ; a02 = alpha[2] ;
a10 = alpha[3] ; a11 = alpha[4] ; a12 = alpha[5] ;
a20 = alpha[6] ; a21 = alpha[7] ; a22 = alpha[8] ;
for ( ii = 0 ; ii < n ; ii++ ) {
   x0i = x0[ii] ; x1i = x1[ii] ; x2i = x2[ii] ;
   y0[ii] += a00*x0i + a01*x1i + a02*x2i ;
   y1[ii] += a10*x0i + a11*x1i + a12*x2i ;
   y2[ii] += a20*x0i + a21*x1i + a22*x2i ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -----------------------------------------------
   y0[] = y0[] + alpha[0] * x0[] + alpha[1] * x1[] 
   y1[] = y1[] + alpha[2] * x0[] + alpha[3] * x1[] 
   y2[] = y2[] + alpha[4] * x0[] + alpha[5] * x1[] 

   created -- 98dec10, cca
   -----------------------------------------------
*/
void
DVaxpy32 (
   int      n,
   double   y0[],
   double   y1[],
   double   y2[],
   double   alpha[],
   double   x0[],
   double   x1[]
) {
register double   a00, a01, a10, a11, a20, a21 ;
register double   x0i, x1i ;
int               ii ;

a00 = alpha[0] ; a01 = alpha[1] ;
a10 = alpha[2] ; a11 = alpha[3] ;
a20 = alpha[4] ; a21 = alpha[5] ;
for ( ii = 0 ; ii < n ; ii++ ) {
   x0i = x0[ii] ; x1i = x1[ii] ;
   y0[ii] += a00*x0i + a01*x1i ;
   y1[ii] += a10*x0i + a11*x1i ;
   y2[ii] += a20*x0i + a21*x1i ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -----------------------------
   y0[] = y0[] + alpha[0] * x0[] 
   y1[] = y1[] + alpha[1] * x0[] 
   y2[] = y2[] + alpha[2] * x0[] 

   created -- 98dec10, cca
   -----------------------------
*/
void
DVaxpy31 (
   int      n,
   double   y0[],
   double   y1[],
   double   y2[],
   double   alpha[],
   double   x0[]
) {
register double   a00, a10, a20 ;
register double   x0i ;
int               ii ;

a00 = alpha[0] ;
a10 = alpha[1] ;
a20 = alpha[2] ;
for ( ii = 0 ; ii < n ; ii++ ) {
   x0i = x0[ii] ;
   y0[ii] += a00*x0i ;
   y1[ii] += a10*x0i ;
   y2[ii] += a20*x0i ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -----------------------------------------------------------------
   y0[] = y0[] + alpha[0] * x0[] + alpha[1] * x1[] + alpha[2] * x2[]
   y1[] = y1[] + alpha[3] * x0[] + alpha[4] * x1[] + alpha[5] * x2[]

   created -- 98dec10, cca
   -----------------------------------------------------------------
*/
void
DVaxpy23 (
   int      n,
   double   y0[],
   double   y1[],
   double   alpha[],
   double   x0[],
   double   x1[],
   double   x2[]
) {
register double   a00, a01, a02, a10, a11, a12 ;
register double   x0i, x1i, x2i ;
int               ii ;

a00 = alpha[0] ; a01 = alpha[1] ; a02 = alpha[2] ;
a10 = alpha[3] ; a11 = alpha[4] ; a12 = alpha[5] ;
for ( ii = 0 ; ii < n ; ii++ ) {
   x0i = x0[ii] ; x1i = x1[ii] ; x2i = x2[ii] ;
   y0[ii] += a00*x0i + a01*x1i + a02*x2i ;
   y1[ii] += a10*x0i + a11*x1i + a12*x2i ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -----------------------------------------------
   y0[] = y0[] + alpha[0] * x0[] + alpha[1] * x1[] 
   y1[] = y1[] + alpha[2] * x0[] + alpha[3] * x1[] 

   created -- 98dec10, cca
   -----------------------------------------------
*/
void
DVaxpy22 (
   int      n,
   double   y0[],
   double   y1[],
   double   alpha[],
   double   x0[],
   double   x1[]
) {
register double   a00, a01, a10, a11 ;
register double   x0i, x1i ;
int               ii ;

a00 = alpha[0] ; a01 = alpha[1] ;
a10 = alpha[2] ; a11 = alpha[3] ;
for ( ii = 0 ; ii < n ; ii++ ) {
   x0i = x0[ii] ; x1i = x1[ii] ;
   y0[ii] += a00*x0i + a01*x1i ;
   y1[ii] += a10*x0i + a11*x1i ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -----------------------------
   y0[] = y0[] + alpha[0] * x0[] 
   y1[] = y1[] + alpha[1] * x0[] 

   created -- 98dec10, cca
   -----------------------------
*/
void
DVaxpy21 (
   int      n,
   double   y0[],
   double   y1[],
   double   alpha[],
   double   x0[]
) {
register double   a00, a10 ;
register double   x0i ;
int               ii ;

a00 = alpha[0] ;
a10 = alpha[1] ;
for ( ii = 0 ; ii < n ; ii++ ) {
   x0i = x0[ii] ;
   y0[ii] += a00*x0i ;
   y1[ii] += a10*x0i ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -----------------------------------------------------------------
   y0[] = y0[] + alpha[0] * x0[] + alpha[1] * x1[] + alpha[2] * x2[]

   created -- 98dec10, cca
   -----------------------------------------------------------------
*/
void
DVaxpy13 (
   int      n,
   double   y0[],
   double   alpha[],
   double   x0[],
   double   x1[],
   double   x2[]
) {
register double   a00, a01, a02 ;
register double   x0i, x1i, x2i ;
int               ii ;

a00 = alpha[0] ; a01 = alpha[1] ; a02 = alpha[2] ;
for ( ii = 0 ; ii < n ; ii++ ) {
   x0i = x0[ii] ; x1i = x1[ii] ; x2i = x2[ii] ;
   y0[ii] += a00*x0i + a01*x1i + a02*x2i ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -----------------------------------------------
   y0[] = y0[] + alpha[0] * x0[] + alpha[1] * x1[] 

   created -- 98dec10, cca
   -----------------------------------------------
*/
void
DVaxpy12 (
   int      n,
   double   y0[],
   double   alpha[],
   double   x0[],
   double   x1[]
) {
register double   a00, a01 ;
register double   x0i, x1i ;
int               ii ;

a00 = alpha[0] ; a01 = alpha[1] ;
for ( ii = 0 ; ii < n ; ii++ ) {
   x0i = x0[ii] ; x1i = x1[ii] ;
   y0[ii] += a00*x0i + a01*x1i ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -----------------------------
   y0[] = y0[] + alpha[0] * x0[] 

   created -- 98dec10, cca
   -----------------------------
*/
void
DVaxpy11 (
   int      n,
   double   y0[],
   double   alpha[],
   double   x0[]
) {
register double   a00 ;
register double   x0i ;
int               ii ;

a00 = alpha[0] ;
for ( ii = 0 ; ii < n ; ii++ ) {
   x0i = x0[ii] ;
   y0[ii] += a00*x0i ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -----------------------------------------------------------------
   y0[] = y0[] + alpha[0:1] * x0[] 
               + alpha[2:3] * x1[] + alpha[4:5] * x2[]
   y1[] = y1[] + alpha[6:7] * x0[] 
               + alpha[8:9] * x1[] + alpha[10:11] * x2[]
   y2[] = y2[] + alpha[12:13] * x0[] 
               + alpha[14:15] * x1[] + alpha[16:17] * x2[]

   created -- 98dec10, cca
   -----------------------------------------------------------------
*/
void
ZVaxpy33 (
   int      n,
   double   y0[],
   double   y1[],
   double   y2[],
   double   alpha[],
   double   x0[],
   double   x1[],
   double   x2[]
) {
register double   ar00, ar01, ar02, ar10, ar11, ar12, ar20, ar21, ar22 ;
register double   ai00, ai01, ai02, ai10, ai11, ai12, ai20, ai21, ai22 ;
register double   xr0i, xr1i, xr2i ;
register double   xi0i, xi1i, xi2i ;
int               ii ;

ar00 = alpha[ 0] ; ai00 = alpha[ 1] ; 
ar01 = alpha[ 2] ; ai01 = alpha[ 3] ; 
ar02 = alpha[ 4] ; ai02 = alpha[ 5] ; 
ar10 = alpha[ 6] ; ai10 = alpha[ 7] ; 
ar11 = alpha[ 8] ; ai11 = alpha[ 9] ; 
ar12 = alpha[10] ; ai12 = alpha[11] ; 
ar20 = alpha[12] ; ai20 = alpha[13] ; 
ar21 = alpha[14] ; ai21 = alpha[15] ; 
ar22 = alpha[16] ; ai22 = alpha[17] ; 
for ( ii = 0 ; ii < n ; ii++ ) {
   xr0i = x0[2*ii] ; xi0i = x0[2*ii+1] ; 
   xr1i = x1[2*ii] ; xi1i = x1[2*ii+1] ; 
   xr2i = x2[2*ii] ; xi2i = x2[2*ii+1] ; 

   y0[2*ii]   += (ar00*xr0i - ai00*xi0i) 
              +  (ar01*xr1i - ai01*xi1i)
              +  (ar02*xr2i - ai02*xi2i) ;
   y0[2*ii+1] += (ar00*xi0i + ai00*xr0i) 
              +  (ar01*xi1i + ai01*xr1i)
              +  (ar02*xi2i + ai02*xr2i) ;
   y1[2*ii]   += (ar10*xr0i - ai10*xi0i) 
              +  (ar11*xr1i - ai11*xi1i)
              +  (ar12*xr2i - ai12*xi2i) ;
   y1[2*ii+1] += (ar10*xi0i + ai10*xr0i) 
              +  (ar11*xi1i + ai11*xr1i)
              +  (ar12*xi2i + ai12*xr2i) ;
   y2[2*ii]   += (ar20*xr0i - ai20*xi0i) 
              +  (ar21*xr1i - ai21*xi1i)
              +  (ar22*xr2i - ai22*xi2i) ;
   y2[2*ii+1] += (ar20*xi0i + ai20*xr0i) 
              +  (ar21*xi1i + ai21*xr1i)
              +  (ar22*xi2i + ai22*xr2i) ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -----------------------------------------------------
   y0[] = y0[] + alpha[0:1] * x0[] + alpha[2:3] * x1[] 
   y1[] = y1[] + alpha[4:5] * x0[] + alpha[6:7] * x1[] 
   y2[] = y2[] + alpha[8:9] * x0[] + alpha[10:11] * x1[] 

   created -- 98dec10, cca
   -----------------------------------------------------
*/
void
ZVaxpy32 (
   int      n,
   double   y0[],
   double   y1[],
   double   y2[],
   double   alpha[],
   double   x0[],
   double   x1[]
) {
register double   ar00, ar01, ar10, ar11, ar20, ar21 ;
register double   ai00, ai01, ai10, ai11, ai20, ai21 ;
register double   xr0i, xr1i ;
register double   xi0i, xi1i ;
int               ii ;

ar00 = alpha[ 0] ; ai00 = alpha[ 1] ; 
ar01 = alpha[ 2] ; ai01 = alpha[ 3] ; 
ar10 = alpha[ 4] ; ai10 = alpha[ 5] ; 
ar11 = alpha[ 6] ; ai11 = alpha[ 7] ; 
ar20 = alpha[ 8] ; ai20 = alpha[ 9] ; 
ar21 = alpha[10] ; ai21 = alpha[11] ; 
for ( ii = 0 ; ii < n ; ii++ ) {
   xr0i = x0[2*ii] ; xi0i = x0[2*ii+1] ; 
   xr1i = x1[2*ii] ; xi1i = x1[2*ii+1] ; 

   y0[2*ii]   += (ar00*xr0i - ai00*xi0i) 
              +  (ar01*xr1i - ai01*xi1i) ;
   y0[2*ii+1] += (ar00*xi0i + ai00*xr0i) 
              +  (ar01*xi1i + ai01*xr1i) ;
   y1[2*ii]   += (ar10*xr0i - ai10*xi0i) 
              +  (ar11*xr1i - ai11*xi1i) ;
   y1[2*ii+1] += (ar10*xi0i + ai10*xr0i) 
              +  (ar11*xi1i + ai11*xr1i) ;
   y2[2*ii]   += (ar20*xr0i - ai20*xi0i) 
              +  (ar21*xr1i - ai21*xi1i) ;
   y2[2*ii+1] += (ar20*xi0i + ai20*xr0i) 
              +  (ar21*xi1i + ai21*xr1i) ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -------------------------------
   y0[] = y0[] + alpha[0:1] * x0[] 
   y1[] = y1[] + alpha[2:3] * x0[] 
   y2[] = y2[] + alpha[4:5] * x0[] 

   created -- 98dec10, cca
   -------------------------------
*/
void
ZVaxpy31 (
   int      n,
   double   y0[],
   double   y1[],
   double   y2[],
   double   alpha[],
   double   x0[]
) {
register double   ar00, ar10, ar20 ;
register double   ai00, ai10, ai20 ;
register double   xr0i ;
register double   xi0i ;
int               ii ;

ar00 = alpha[ 0] ; ai00 = alpha[ 1] ; 
ar10 = alpha[ 2] ; ai10 = alpha[ 3] ; 
ar20 = alpha[ 4] ; ai20 = alpha[ 5] ; 
for ( ii = 0 ; ii < n ; ii++ ) {
   xr0i = x0[2*ii] ; xi0i = x0[2*ii+1] ; 

   y0[2*ii]   += (ar00*xr0i - ai00*xi0i) ;
   y0[2*ii+1] += (ar00*xi0i + ai00*xr0i) ;
   y1[2*ii]   += (ar10*xr0i - ai10*xi0i) ;
   y1[2*ii+1] += (ar10*xi0i + ai10*xr0i) ;
   y2[2*ii]   += (ar20*xr0i - ai20*xi0i) ;
   y2[2*ii+1] += (ar20*xi0i + ai20*xr0i) ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -----------------------------------------------------------------
   y0[] = y0[] + alpha[0:1] * x0[] 
               + alpha[2:3] * x1[] + alpha[4:5] * x2[]
   y1[] = y1[] + alpha[6:7] * x0[] 
               + alpha[8:9] * x1[] + alpha[10:11] * x2[]

   created -- 98dec10, cca
   -----------------------------------------------------------------
*/
void
ZVaxpy23 (
   int      n,
   double   y0[],
   double   y1[],
   double   alpha[],
   double   x0[],
   double   x1[],
   double   x2[]
) {
register double   ar00, ar01, ar02, ar10, ar11, ar12 ;
register double   ai00, ai01, ai02, ai10, ai11, ai12 ;
register double   xr0i, xr1i, xr2i ;
register double   xi0i, xi1i, xi2i ;
int               ii ;

ar00 = alpha[ 0] ; ai00 = alpha[ 1] ; 
ar01 = alpha[ 2] ; ai01 = alpha[ 3] ; 
ar02 = alpha[ 4] ; ai02 = alpha[ 5] ; 
ar10 = alpha[ 6] ; ai10 = alpha[ 7] ; 
ar11 = alpha[ 8] ; ai11 = alpha[ 9] ; 
ar12 = alpha[10] ; ai12 = alpha[11] ; 
for ( ii = 0 ; ii < n ; ii++ ) {
   xr0i = x0[2*ii] ; xi0i = x0[2*ii+1] ; 
   xr1i = x1[2*ii] ; xi1i = x1[2*ii+1] ; 
   xr2i = x2[2*ii] ; xi2i = x2[2*ii+1] ; 

   y0[2*ii]   += (ar00*xr0i - ai00*xi0i) 
              +  (ar01*xr1i - ai01*xi1i)
              +  (ar02*xr2i - ai02*xi2i) ;
   y0[2*ii+1] += (ar00*xi0i + ai00*xr0i) 
              +  (ar01*xi1i + ai01*xr1i)
              +  (ar02*xi2i + ai02*xr2i) ;
   y1[2*ii]   += (ar10*xr0i - ai10*xi0i) 
              +  (ar11*xr1i - ai11*xi1i)
              +  (ar12*xr2i - ai12*xi2i) ;
   y1[2*ii+1] += (ar10*xi0i + ai10*xr0i) 
              +  (ar11*xi1i + ai11*xr1i)
              +  (ar12*xi2i + ai12*xr2i) ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -----------------------------------------------------
   y0[] = y0[] + alpha[0:1] * x0[] + alpha[2:3] * x1[] 
   y1[] = y1[] + alpha[4:5] * x0[] + alpha[6:7] * x1[] 

   created -- 98dec10, cca
   -----------------------------------------------------
*/
void
ZVaxpy22 (
   int      n,
   double   y0[],
   double   y1[],
   double   alpha[],
   double   x0[],
   double   x1[]
) {
register double   ar00, ar01, ar10, ar11 ;
register double   ai00, ai01, ai10, ai11 ;
register double   xr0i, xr1i ;
register double   xi0i, xi1i ;
int               ii ;

ar00 = alpha[ 0] ; ai00 = alpha[ 1] ; 
ar01 = alpha[ 2] ; ai01 = alpha[ 3] ; 
ar10 = alpha[ 4] ; ai10 = alpha[ 5] ; 
ar11 = alpha[ 6] ; ai11 = alpha[ 7] ; 
for ( ii = 0 ; ii < n ; ii++ ) {
   xr0i = x0[2*ii] ; xi0i = x0[2*ii+1] ; 
   xr1i = x1[2*ii] ; xi1i = x1[2*ii+1] ; 

   y0[2*ii]   += (ar00*xr0i - ai00*xi0i) 
              +  (ar01*xr1i - ai01*xi1i) ;
   y0[2*ii+1] += (ar00*xi0i + ai00*xr0i) 
              +  (ar01*xi1i + ai01*xr1i) ;
   y1[2*ii]   += (ar10*xr0i - ai10*xi0i) 
              +  (ar11*xr1i - ai11*xi1i) ;
   y1[2*ii+1] += (ar10*xi0i + ai10*xr0i) 
              +  (ar11*xi1i + ai11*xr1i) ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -------------------------------
   y0[] = y0[] + alpha[0:1] * x0[] 
   y1[] = y1[] + alpha[2:3] * x0[] 

   created -- 98dec10, cca
   -------------------------------
*/
void
ZVaxpy21 (
   int      n,
   double   y0[],
   double   y1[],
   double   alpha[],
   double   x0[]
) {
register double   ar00, ar10 ;
register double   ai00, ai10 ;
register double   xr0i ;
register double   xi0i ;
int               ii ;

ar00 = alpha[ 0] ; ai00 = alpha[ 1] ; 
ar10 = alpha[ 2] ; ai10 = alpha[ 3] ; 
for ( ii = 0 ; ii < n ; ii++ ) {
   xr0i = x0[2*ii] ; xi0i = x0[2*ii+1] ; 

   y0[2*ii]   += (ar00*xr0i - ai00*xi0i) ;
   y0[2*ii+1] += (ar00*xi0i + ai00*xr0i) ;
   y1[2*ii]   += (ar10*xr0i - ai10*xi0i) ;
   y1[2*ii+1] += (ar10*xi0i + ai10*xr0i) ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   ---------------------------------------------------
   y0[] = y0[] + alpha[0:1] * x0[] 
               + alpha[2:3] * x1[] + alpha[4:5] * x2[]

   created -- 98dec10, cca
   ---------------------------------------------------
*/
void
ZVaxpy13 (
   int      n,
   double   y0[],
   double   alpha[],
   double   x0[],
   double   x1[],
   double   x2[]
) {
register double   ar00, ar01, ar02 ;
register double   ai00, ai01, ai02 ;
register double   xr0i, xr1i, xr2i ;
register double   xi0i, xi1i, xi2i ;
int               ii ;

ar00 = alpha[ 0] ; ai00 = alpha[ 1] ; 
ar01 = alpha[ 2] ; ai01 = alpha[ 3] ; 
ar02 = alpha[ 4] ; ai02 = alpha[ 5] ; 
for ( ii = 0 ; ii < n ; ii++ ) {
   xr0i = x0[2*ii] ; xi0i = x0[2*ii+1] ; 
   xr1i = x1[2*ii] ; xi1i = x1[2*ii+1] ; 
   xr2i = x2[2*ii] ; xi2i = x2[2*ii+1] ; 

   y0[2*ii]   += (ar00*xr0i - ai00*xi0i) 
              +  (ar01*xr1i - ai01*xi1i)
              +  (ar02*xr2i - ai02*xi2i) ;
   y0[2*ii+1] += (ar00*xi0i + ai00*xr0i) 
              +  (ar01*xi1i + ai01*xr1i)
              +  (ar02*xi2i + ai02*xr2i) ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -----------------------------------------------------
   y0[] = y0[] + alpha[0:1] * x0[] + alpha[2:3] * x1[] 

   created -- 98dec10, cca
   -----------------------------------------------------
*/
void
ZVaxpy12 (
   int      n,
   double   y0[],
   double   alpha[],
   double   x0[],
   double   x1[]
) {
register double   ar00, ar01 ;
register double   ai00, ai01 ;
register double   xr0i, xr1i ;
register double   xi0i, xi1i ;
int               ii ;

ar00 = alpha[ 0] ; ai00 = alpha[ 1] ; 
ar01 = alpha[ 2] ; ai01 = alpha[ 3] ; 
for ( ii = 0 ; ii < n ; ii++ ) {
   xr0i = x0[2*ii] ; xi0i = x0[2*ii+1] ; 
   xr1i = x1[2*ii] ; xi1i = x1[2*ii+1] ; 

   y0[2*ii]   += (ar00*xr0i - ai00*xi0i) 
              +  (ar01*xr1i - ai01*xi1i) ;
   y0[2*ii+1] += (ar00*xi0i + ai00*xr0i) 
              +  (ar01*xi1i + ai01*xr1i) ;
}
return ; }

/*--------------------------------------------------------------------*/
/*
   -------------------------------
   y0[] = y0[] + alpha[0:1] * x0[] 

   created -- 98dec10, cca
   -------------------------------
*/
void
ZVaxpy11 (
   int      n,
   double   y0[],
   double   alpha[],
   double   x0[]
) {
register double   ar00 ;
register double   ai00 ;
register double   xr0i ;
register double   xi0i ;
int               ii ;

ar00 = alpha[ 0] ; ai00 = alpha[ 1] ; 
for ( ii = 0 ; ii < n ; ii++ ) {
   xr0i = x0[2*ii] ; xi0i = x0[2*ii+1] ; 

   y0[2*ii]   += (ar00*xr0i - ai00*xi0i) ;
   y0[2*ii+1] += (ar00*xi0i + ai00*xr0i) ;
}
return ; }

/*--------------------------------------------------------------------*/


syntax highlighted by Code2HTML, v. 0.9.1