22 void Y(upd_axpy_complex)(C *x, R a, C *y, INT n)
26 for (k = 0; k < n; k++)
27 x[k] = a * x[k] + y[k];
31 void Y(upd_axpy_double)(R *x, R a, R *y, INT n)
35 for (k = 0; k < n; k++)
36 x[k] = a * x[k] + y[k];
41 void Y(upd_xpay_complex)(C *x, R a, C *y, INT n)
45 for (k = 0; k < n; k++)
50 void Y(upd_xpay_double)(R *x, R a, R *y, INT n)
54 for (k = 0; k < n; k++)
59 void Y(upd_axpby_complex)(C *x, R a, C *y, R b, INT n)
63 for (k = 0; k < n; k++)
64 x[k] = a * x[k] + b * y[k];
68 void Y(upd_axpby_double)(R *x, R a, R *y, R b, INT n)
72 for (k = 0; k < n; k++)
73 x[k] = a * x[k] + b * y[k];
77 void Y(upd_xpawy_complex)(C *x, R a, R *w, C *y, INT n)
81 for (k = 0; k < n; k++)
82 x[k] += a * w[k] * y[k];
86 void Y(upd_xpawy_double)(R *x, R a, R *w, R *y, INT n)
90 for (k = 0; k < n; k++)
91 x[k] += a * w[k] * y[k];
95 void Y(upd_axpwy_complex)(C *x, R a, R *w, C *y, INT n)
99 for (k = 0; k < n; k++)
100 x[k] = a * x[k] + w[k] * y[k];
104 void Y(upd_axpwy_double)(R *x, R a, R *w, R *y, INT n)
108 for (k = 0; k < n; k++)
109 x[k] = a * x[k] + w[k] * y[k];
113 void Y(fftshift_complex)(C *x, INT d, INT* N)
115 INT d_pre, d_act, d_post;
116 INT N_pre, N_act, N_post;
117 INT k_pre, k_act, k_post;
122 for (d_act = 0; d_act < d; d_act++)
124 for (d_pre = 0, N_pre = 1; d_pre < d_act; d_pre++)
129 for (d_post = d_act + 1, N_post = 1; d_post < d; d_post++)
132 for (k_pre = 0; k_pre < N_pre; k_pre++)
133 for (k_act = 0; k_act < N_act / 2; k_act++)
134 for (k_post = 0; k_post < N_post; k_post++)
136 k = (k_pre * N_act + k_act) * N_post + k_post;
137 k_swap = (k_pre * N_act + k_act + N_act / 2) * N_post + k_post;
147 void Y(fftshift_complex_int)(C *x,
int d,
int* N)
149 int d_pre, d_act, d_post;
150 int N_pre, N_act, N_post;
151 int k_pre, k_act, k_post;
156 for (d_act = 0; d_act < d; d_act++)
158 for (d_pre = 0, N_pre = 1; d_pre < d_act; d_pre++)
163 for (d_post = d_act + 1, N_post = 1; d_post < d; d_post++)
166 for (k_pre = 0; k_pre < N_pre; k_pre++)
167 for (k_act = 0; k_act < N_act / 2; k_act++)
168 for (k_post = 0; k_post < N_post; k_post++)
170 k = (k_pre * N_act + k_act) * N_post + k_post;
171 k_swap = (k_pre * N_act + k_act + N_act / 2) * N_post + k_post;