24 void Y(upd_axpy_complex)(C *x, R a, C *y, INT n)
28 for (k = 0; k < n; k++)
29 x[k] = a * x[k] + y[k];
33 void Y(upd_axpy_double)(R *x, R a, R *y, INT n)
37 for (k = 0; k < n; k++)
38 x[k] = a * x[k] + y[k];
43 void Y(upd_xpay_complex)(C *x, R a, C *y, INT n)
47 for (k = 0; k < n; k++)
52 void Y(upd_xpay_double)(R *x, R a, R *y, INT n)
56 for (k = 0; k < n; k++)
61 void Y(upd_axpby_complex)(C *x, R a, C *y, R b, INT n)
65 for (k = 0; k < n; k++)
66 x[k] = a * x[k] + b * y[k];
70 void Y(upd_axpby_double)(R *x, R a, R *y, R b, INT n)
74 for (k = 0; k < n; k++)
75 x[k] = a * x[k] + b * y[k];
79 void Y(upd_xpawy_complex)(C *x, R a, R *w, C *y, INT n)
83 for (k = 0; k < n; k++)
84 x[k] += a * w[k] * y[k];
88 void Y(upd_xpawy_double)(R *x, R a, R *w, R *y, INT n)
92 for (k = 0; k < n; k++)
93 x[k] += a * w[k] * y[k];
97 void Y(upd_axpwy_complex)(C *x, R a, R *w, C *y, INT n)
101 for (k = 0; k < n; k++)
102 x[k] = a * x[k] + w[k] * y[k];
106 void Y(upd_axpwy_double)(R *x, R a, R *w, R *y, INT n)
110 for (k = 0; k < n; k++)
111 x[k] = a * x[k] + w[k] * y[k];
115 void Y(fftshift_complex)(C *x, INT d, INT* N)
117 INT d_pre, d_act, d_post;
118 INT N_pre, N_act, N_post;
119 INT k_pre, k_act, k_post;
124 for (d_act = 0; d_act < d; d_act++)
126 for (d_pre = 0, N_pre = 1; d_pre < d_act; d_pre++)
131 for (d_post = d_act + 1, N_post = 1; d_post < d; d_post++)
134 for (k_pre = 0; k_pre < N_pre; k_pre++)
135 for (k_act = 0; k_act < N_act / 2; k_act++)
136 for (k_post = 0; k_post < N_post; k_post++)
138 k = (k_pre * N_act + k_act) * N_post + k_post;
139 k_swap = (k_pre * N_act + k_act + N_act / 2) * N_post + k_post;
149 void Y(fftshift_complex_int)(C *x,
int d,
int* N)
151 int d_pre, d_act, d_post;
152 int N_pre, N_act, N_post;
153 int k_pre, k_act, k_post;
158 for (d_act = 0; d_act < d; d_act++)
160 for (d_pre = 0, N_pre = 1; d_pre < d_act; d_pre++)
165 for (d_post = d_act + 1, N_post = 1; d_post < d; d_post++)
168 for (k_pre = 0; k_pre < N_pre; k_pre++)
169 for (k_act = 0; k_act < N_act / 2; k_act++)
170 for (k_post = 0; k_post < N_post; k_post++)
172 k = (k_pre * N_act + k_act) * N_post + k_post;
173 k_swap = (k_pre * N_act + k_act + N_act / 2) * N_post + k_post;