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