|
TBCI Numerical high perf. C++ Library
2.8.0
|
Kernels to be called for array operations Unrolled and with prefetching. More...
#include "tbci/basics.h"
Go to the source code of this file.
Macros | |
| #define | ADD3(r, v1, v2, f1, f2) r = v1 + v2 |
| #define | SUB3(r, v1, v2, f1, f2) r = v1 - v2 |
| #define | MUL3(r, v1, v2, f1, f2) r = v1 * v2 |
| #define | CMUL3(r, v1, v2, f1, f2) r = CPLX__ conj(v1) * v2 |
| #define | DIV3(r, v1, v2, f1, f2) r = v1 / v2 |
| #define | CDIV3(r, v1, v2, f1, f2) r = CPLX__ conj(v1) / v2 |
| #define | ADD2(r, v1, f1, f2) r += v1 |
| #define | SUB2(r, v1, f1, f2) r -= v1 |
| #define | SUB2I(r, v1, f1, f2) r = v1 - r |
| #define | MUL2(r, v1, f1, f2) r *= v1 |
| #define | CMUL2(r, v1, f1, f2) r = CPLX__ conj(r) * v1 |
| #define | CMUL2I(r, v1, f1, f2) r *= CPLX__ conj(v1) |
| #define | DIV2(r, v1, f1, f2) r /= v1 |
| #define | DIV2I(r, v1, f1, f2) r = v1 / r |
| #define | CDIV2(r, v1, f1, f2) r = CPLX__ conj(r) / v1 |
| #define | CDIV2I(r, v1, f1, f2) r = CPLX__ conj(v1) / r |
| #define | ADD2NV(r, v1, f1, f2) r = v1 + f2 |
| #define | SUB2NV(r, v1, f1, f2) r = v1 - f2 |
| #define | MUL2NV(r, v1, f1, f2) r = v1 * f2 |
| #define | ADD2RV(r, v1, f1, f2) r = f2 + v1 |
| #define | SUB2RV(r, v1, f1, f2) r = f2 - v1 |
| #define | MUL2RV(r, v1, f1, f2) r = f2 * v1 |
| #define | DIV2RV(r, v1, f1, f2) r = f2 / v1 |
| #define | ADD1NV(r, f1, f2) r += f2 |
| #define | SUB1NV(r, f1, f2) r -= f2 |
| #define | SUB1RV(r, f1, f2) r = f2 - r |
| #define | MUL1NV(r, f1, f2) r *= f2 |
| #define | DIV1NV(r, f1, f2) r /= f2 |
| #define | DIV1RV(r, f1, f2) r = f2 / r |
| #define | ADD1RV(r, f1, f2) r = f2 + r |
| #define | MUL1RV(r, f1, f2) r = f2 * r; |
| #define | ADD2NS(r, v1, f1, f2) r += f2*v1 |
| #define | SUB2NS(r, v1, f1, f2) r -= f2*v1 |
| #define | SUB2RS(r, v1, f1, f2) r = f2*v1 - r |
| #define | ADD3NS(r, v1, v2, f1, f2) r = v1 + f2*v2 |
| #define | SUB3NS(r, v1, v2, f1, f2) r = v1 - f2*v2 |
| #define | ADD3SN(r, v1, v2, f1, f2) r = f2*v1 + v2 |
| #define | SUB3SN(r, v1, v2, f1, f2) r = f2*v1 - v2 |
| #define | ADD3SS(r, v1, v2, f1, f2) r = f1*v1 + f2*v2 |
| #define | SUB3SS(r, v1, v2, f1, f2) r = f1*v1 - f2*v2 |
| #define | ADD2SN(r, v1, f1, f2) r = f2*r + v1 |
| #define | SUB2SN(r, v1, f1, f2) r = f2*r - v1 |
| #define | ADD2SS(r, v1, f1, f2) r = f1*r + f2*v1 |
| #define | SUB2SS(r, v1, f1, f2) r = f1*r - f2*v1 |
| #define | ADD2SV(r, v1, f1, f2) r = f1*v1 + f2 |
| #define | SUB2SV(r, v1, f1, f2) r = f1*v1 - f2 |
| #define | ADD1SV(r, f1, f2) r = f1*r + f2 |
| #define | SUB1SV(r, f1, f2) r = f1*r - f2 |
| #define | ADD2VS(r, v1, f1, f2) r = f1 + f2*v1 |
| #define | SUB2VS(r, v1, f1, f2) r = f1 - f2*v1 |
| #define | DIV2VS(r, v1, f1, f2) r = f1 / (f2*v1) |
| #define | NEG2(r, v1, f1, f2) r = -v1 |
| #define | NEG1(r, f1, f2) r = -r |
| #define | DOT2(r, v1, f1, f2) f2 += CPLX__ conj(r) * v1 |
| #define | XDOT2(r, v1, f1, f2) { T y = CPLX__ conj(r) * v1; T t = f2+y; f1 += (t-f2)-y; f2 = t; } |
| #define | MULT2(r, v1, f1, f2) f2 += r * v1 |
| #define | XMULT2(r, v1, f1, f2) { T y = r * v1; T t = f2+y; f1 += (t-f2)-y; f2 = t; } |
| #define | FABS1(r, f1, f2) f2 += fabssqr(r) |
| #define | XFABS1(r, f1, f2) { double y = fabssqr(r); double t = f2+y; f1 += (t-f2)-y; f2 = t; } |
| #define | SQR1(r, f1, f2) f2 += r*r |
| #define | XSQR1(r, f1, f2) { T y = r*r; T t = f2+y; f1 += (t-f2)-y; f2 = t; } |
| #define | SUM1(r, f1, f2) f2 += r |
| #define | XSUM1(r, f1, f2) { T t = f2+r; f1 += (t-f2)-r; f2 = t; } |
| #define | SUMMULT3(r, v1, v2, f1, f2) r += v1*v2 |
| #define | SUMCMULT3(r, v1, v2, f1, f2) r += CPLX__ conj(v1)*v2 |
Functions | |
| VKERN_TEMPL_3V (do_vec_vec_add, ADD3) | |
| vec = vec + vec; More... | |
| VKERN_TEMPL_3V (do_vec_vec_sub, SUB3) | |
| vec = vec - vec; More... | |
| VKERN_TEMPL_3V (do_vec_vec_mul, MUL3) | |
| vec = emul (vec, vec); More... | |
| VKERN_TEMPL_3V (do_vec_vec_cmul, CMUL3) | |
| vec = cemul(vec, vec); More... | |
| VKERN_TEMPL_3V (do_vec_vec_div, DIV3) | |
| vec = ediv (vec, vec); More... | |
| VKERN_TEMPL_3V (do_vec_vec_cdiv, CDIV3) | |
| vec = cediv(vec, vec); More... | |
| VKERN_TEMPL_2V (do_vec_add_vec, ADD2) | |
| vec += vec; More... | |
| VKERN_TEMPL_2V (do_vec_sub_vec, SUB2) | |
| vec -= vec; More... | |
| VKERN_TEMPL_2V (do_vec_sub_vec_inv, SUB2I) | |
| vec -= vec; vec = -vec; More... | |
| VKERN_TEMPL_2V (do_vec_mul_vec, MUL2) | |
| vec *= vec; (emul) More... | |
| VKERN_TEMPL_2V (do_vec_cmul_vec, CMUL2) | |
| vec *= conj(vec); (cemul) More... | |
| VKERN_TEMPL_2V (do_vec_cmul_vec_inv, CMUL2I) | |
| vec *= conj(vec); (cemul) More... | |
| VKERN_TEMPL_2V (do_vec_div_vec, DIV2) | |
| vec /= vec; (ediv) More... | |
| VKERN_TEMPL_2V (do_vec_div_vec_inv, DIV2I) | |
| vec /= vec; (ediv) More... | |
| VKERN_TEMPL_2V (do_vec_cdiv_vec, CDIV2) | |
| vec /= conj(vec); (cediv) More... | |
| VKERN_TEMPL_2V (do_vec_cdiv_vec_inv, CDIV2I) | |
| vec /= conj(vec); (cediv) More... | |
| VKERN_TEMPL_2V_C (do_vec_val_add, ADD2NV) | |
| vec = vec + val More... | |
| VKERN_TEMPL_2V_C (do_vec_val_sub, SUB2NV) | |
| vec = vec - val More... | |
| VKERN_TEMPL_2V_C (do_vec_val_mul, MUL2NV) | |
| vec = vec * val; More... | |
| VKERN_TEMPL_2V_C (do_val_vec_add, ADD2RV) | |
| vec = val + vec; More... | |
| VKERN_TEMPL_2V_C (do_val_vec_sub, SUB2RV) | |
| vec = val - vec; More... | |
| VKERN_TEMPL_2V_C (do_val_vec_mul, MUL2RV) | |
| vec = val * vec; More... | |
| VKERN_TEMPL_2V_C (do_val_vec_div, DIV2RV) | |
| vec = val / vec; More... | |
| VKERN_TEMPL_1V_C (do_vec_add_val, ADD1NV) | |
| vec += val; More... | |
| VKERN_TEMPL_1V_C (do_vec_sub_val, SUB1NV) | |
| vec -= val; More... | |
| VKERN_TEMPL_1V_C (do_val_sub_vec, SUB1RV) | |
| vec -= val; vec = -vec; More... | |
| VKERN_TEMPL_1V_C (do_vec_mul_val, MUL1NV) | |
| vec *= val; More... | |
| VKERN_TEMPL_1V_C (do_vec_div_val, DIV1NV) | |
| vec /= val; More... | |
| VKERN_TEMPL_1V_C (do_val_div_vec, DIV1RV) | |
| vec = val / vec; More... | |
| VKERN_TEMPL_1V_C (do_val_add_vec, ADD1RV) | |
| vec += val More... | |
| VKERN_TEMPL_2V_C (do_vec_add_svc, ADD2NS) | |
| vec += val*vec More... | |
| VKERN_TEMPL_2V_C (do_vec_sub_svc, SUB2NS) | |
| vec -= val*vec More... | |
| VKERN_TEMPL_2V_C (do_vec_sub_svc_inv, SUB2RS) | |
| vec -= val*vec More... | |
| VKERN_TEMPL_3V_C (do_vec_svc_add, ADD3NS) | |
| vec = vec + s*vec; More... | |
| VKERN_TEMPL_3V_C (do_vec_svc_sub, SUB3NS) | |
| vec = vec - s*vec; More... | |
| VKERN_TEMPL_3V_C (do_svc_vec_add, ADD3SN) | |
| vec = s*vec + vec; More... | |
| VKERN_TEMPL_3V_C (do_svc_vec_sub, SUB3SN) | |
| vec = s*vec - vec; More... | |
| VKERN_TEMPL_3V_CC (do_svc_svc_add, ADD3SS) | |
| vec = s*vec + s*vec; More... | |
| VKERN_TEMPL_3V_CC (do_svc_svc_sub, SUB3SS) | |
| vec = s*vec - s*vec; More... | |
| VKERN_TEMPL_2V_C (do_svc_add_vec, ADD2SN) | |
| vec *= s; vec += vec; More... | |
| VKERN_TEMPL_2V_C (do_svc_sub_vec, SUB2SN) | |
| vec *= s; vec -= vec; More... | |
| VKERN_TEMPL_2V_CC (do_svc_add_svc, ADD2SS) | |
| vec *= s; vec += s*vec; More... | |
| VKERN_TEMPL_2V_CC (do_svc_sub_svc, SUB2SS) | |
| vec *= s; vec -= s*vec; More... | |
| VKERN_TEMPL_2V_CC (do_svc_val_add, ADD2SV) | |
| vec = s*vec + val More... | |
| VKERN_TEMPL_2V_CC (do_svc_val_sub, SUB2SV) | |
| vec = s*vec - val More... | |
| VKERN_TEMPL_1V_CC (do_svc_add_val, ADD1SV) | |
| vec = s*vec; vec += val; More... | |
| VKERN_TEMPL_1V_CC (do_svc_sub_val, SUB1SV) | |
| vec = s*vec; vec -= val; More... | |
| VKERN_TEMPL_2V_CC (do_val_svc_add, ADD2VS) | |
| vec = val + s*vec; More... | |
| VKERN_TEMPL_2V_CC (do_val_svc_sub, SUB2VS) | |
| vec = val - s*vec; More... | |
| VKERN_TEMPL_2V_CC (do_val_svc_div, DIV2VS) | |
| vec = val / s*vec; More... | |
| VKERN_TEMPL_2V (do_vec_neg_vec, NEG2) | |
| vec = -vec More... | |
| VKERN_TEMPL_1V (do_vec_neg, NEG1) | |
| vec = -vec More... | |
| VKERN_TEMPL_2V_T (do_vec_dot_quick, DOT2, T) | |
| val = SUM vec * ~vec; More... | |
| VKERN_TEMPL_2V_T (do_vec_dot_exact, XDOT2, T) | |
| val = SUM vec * ~vec; More... | |
| VKERN_TEMPL_2V_T (do_vec_mult_quick, MULT2, T) | |
| val = SUM vec * vec; More... | |
| VKERN_TEMPL_2V_T_STRIDE (do_vec_mult_stride_quick, MULT2, T) | |
| VKERN_TEMPL_2V_T (do_vec_mult_exact, XMULT2, T) | |
| val = SUM vec * vec; More... | |
| VKERN_TEMPL_2V_T_STRIDE (do_vec_mult_stride_exact, XMULT2, T) | |
| VKERN_TEMPL_1V_T_LD (do_vec_fabssqr_quick, FABS1, double) | |
| val = SUM fabssqr vec ; More... | |
| VKERN_TEMPL_1V_T (do_vec_fabssqr_exact, XFABS1, double) | |
| val = SUM fabssqr vec ; More... | |
| VKERN_TEMPL_1V_T (do_vec_sumsqr_quick, SQR1, T) | |
| val = SUM sqr vec ; More... | |
| VKERN_TEMPL_1V_T (do_vec_sumsqr_exact, XSQR1, T) | |
| val = SUM sqr vec ; More... | |
| VKERN_TEMPL_1V_T (do_vec_sum_quick, SUM1, T) | |
| val = SUM vec ; More... | |
| VKERN_TEMPL_1V_T (do_vec_sum_exact, XSUM1, T) | |
| val = exact SUM vec More... | |
| VKERN_TEMPL_3V (do_add_vec_vec_mul, SUMMULT3) | |
| VKERN_TEMPL_3V (do_add_vec_vec_cmul, SUMCMULT3) | |
Kernels to be called for array operations Unrolled and with prefetching.
Kurt Garloff kurt@garloff.de, 07/2002, GNU LGPL
Definition in file vec_kern_unr_pref.h.
| #define ADD1NV | ( | r, | |
| f1, | |||
| f2 | |||
| ) | r += f2 |
Definition at line 114 of file vec_kern_unr_pref.h.
| #define ADD1RV | ( | r, | |
| f1, | |||
| f2 | |||
| ) | r = f2 + r |
Definition at line 138 of file vec_kern_unr_pref.h.
| #define ADD1SV | ( | r, | |
| f1, | |||
| f2 | |||
| ) | r = f1*r + f2 |
Definition at line 215 of file vec_kern_unr_pref.h.
| #define ADD2 | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r += v1 |
Definition at line 42 of file vec_kern_unr_pref.h.
| #define ADD2NS | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r += f2*v1 |
Definition at line 148 of file vec_kern_unr_pref.h.
| #define ADD2NV | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = v1 + f2 |
Definition at line 84 of file vec_kern_unr_pref.h.
| #define ADD2RV | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = f2 + v1 |
Definition at line 97 of file vec_kern_unr_pref.h.
| #define ADD2SN | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = f2*r + v1 |
Definition at line 188 of file vec_kern_unr_pref.h.
| #define ADD2SS | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = f1*r + f2*v1 |
Definition at line 197 of file vec_kern_unr_pref.h.
| #define ADD2SV | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = f1*v1 + f2 |
Definition at line 206 of file vec_kern_unr_pref.h.
| #define ADD2VS | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = f1 + f2*v1 |
Definition at line 224 of file vec_kern_unr_pref.h.
| #define ADD3 | ( | r, | |
| v1, | |||
| v2, | |||
| f1, | |||
| f2 | |||
| ) | r = v1 + v2 |
Definition at line 17 of file vec_kern_unr_pref.h.
| #define ADD3NS | ( | r, | |
| v1, | |||
| v2, | |||
| f1, | |||
| f2 | |||
| ) | r = v1 + f2*v2 |
Definition at line 161 of file vec_kern_unr_pref.h.
| #define ADD3SN | ( | r, | |
| v1, | |||
| v2, | |||
| f1, | |||
| f2 | |||
| ) | r = f2*v1 + v2 |
Definition at line 170 of file vec_kern_unr_pref.h.
| #define ADD3SS | ( | r, | |
| v1, | |||
| v2, | |||
| f1, | |||
| f2 | |||
| ) | r = f1*v1 + f2*v2 |
Definition at line 179 of file vec_kern_unr_pref.h.
Definition at line 74 of file vec_kern_unr_pref.h.
Definition at line 78 of file vec_kern_unr_pref.h.
Definition at line 37 of file vec_kern_unr_pref.h.
Definition at line 58 of file vec_kern_unr_pref.h.
Definition at line 62 of file vec_kern_unr_pref.h.
Definition at line 29 of file vec_kern_unr_pref.h.
| #define DIV1NV | ( | r, | |
| f1, | |||
| f2 | |||
| ) | r /= f2 |
Definition at line 130 of file vec_kern_unr_pref.h.
| #define DIV1RV | ( | r, | |
| f1, | |||
| f2 | |||
| ) | r = f2 / r |
Definition at line 134 of file vec_kern_unr_pref.h.
| #define DIV2 | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r /= v1 |
Definition at line 66 of file vec_kern_unr_pref.h.
| #define DIV2I | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = v1 / r |
Definition at line 70 of file vec_kern_unr_pref.h.
| #define DIV2RV | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = f2 / v1 |
Definition at line 109 of file vec_kern_unr_pref.h.
| #define DIV2VS | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = f1 / (f2*v1) |
Definition at line 232 of file vec_kern_unr_pref.h.
| #define DIV3 | ( | r, | |
| v1, | |||
| v2, | |||
| f1, | |||
| f2 | |||
| ) | r = v1 / v2 |
Definition at line 33 of file vec_kern_unr_pref.h.
Definition at line 245 of file vec_kern_unr_pref.h.
| #define FABS1 | ( | r, | |
| f1, | |||
| f2 | |||
| ) | f2 += fabssqr(r) |
Definition at line 263 of file vec_kern_unr_pref.h.
| #define MUL1NV | ( | r, | |
| f1, | |||
| f2 | |||
| ) | r *= f2 |
Definition at line 126 of file vec_kern_unr_pref.h.
| #define MUL1RV | ( | r, | |
| f1, | |||
| f2 | |||
| ) | r = f2 * r; |
Definition at line 143 of file vec_kern_unr_pref.h.
| #define MUL2 | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r *= v1 |
Definition at line 54 of file vec_kern_unr_pref.h.
| #define MUL2NV | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = v1 * f2 |
Definition at line 92 of file vec_kern_unr_pref.h.
| #define MUL2RV | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = f2 * v1 |
Definition at line 105 of file vec_kern_unr_pref.h.
| #define MUL3 | ( | r, | |
| v1, | |||
| v2, | |||
| f1, | |||
| f2 | |||
| ) | r = v1 * v2 |
Definition at line 25 of file vec_kern_unr_pref.h.
| #define MULT2 | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | f2 += r * v1 |
Definition at line 253 of file vec_kern_unr_pref.h.
| #define NEG1 | ( | r, | |
| f1, | |||
| f2 | |||
| ) | r = -r |
Definition at line 241 of file vec_kern_unr_pref.h.
| #define NEG2 | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = -v1 |
Definition at line 237 of file vec_kern_unr_pref.h.
| #define SQR1 | ( | r, | |
| f1, | |||
| f2 | |||
| ) | f2 += r*r |
Definition at line 271 of file vec_kern_unr_pref.h.
| #define SUB1NV | ( | r, | |
| f1, | |||
| f2 | |||
| ) | r -= f2 |
Definition at line 118 of file vec_kern_unr_pref.h.
| #define SUB1RV | ( | r, | |
| f1, | |||
| f2 | |||
| ) | r = f2 - r |
Definition at line 122 of file vec_kern_unr_pref.h.
| #define SUB1SV | ( | r, | |
| f1, | |||
| f2 | |||
| ) | r = f1*r - f2 |
Definition at line 219 of file vec_kern_unr_pref.h.
| #define SUB2 | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r -= v1 |
Definition at line 46 of file vec_kern_unr_pref.h.
| #define SUB2I | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = v1 - r |
Definition at line 50 of file vec_kern_unr_pref.h.
| #define SUB2NS | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r -= f2*v1 |
Definition at line 152 of file vec_kern_unr_pref.h.
| #define SUB2NV | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = v1 - f2 |
Definition at line 88 of file vec_kern_unr_pref.h.
| #define SUB2RS | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = f2*v1 - r |
Definition at line 156 of file vec_kern_unr_pref.h.
| #define SUB2RV | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = f2 - v1 |
Definition at line 101 of file vec_kern_unr_pref.h.
| #define SUB2SN | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = f2*r - v1 |
Definition at line 192 of file vec_kern_unr_pref.h.
| #define SUB2SS | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = f1*r - f2*v1 |
Definition at line 201 of file vec_kern_unr_pref.h.
| #define SUB2SV | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = f1*v1 - f2 |
Definition at line 210 of file vec_kern_unr_pref.h.
| #define SUB2VS | ( | r, | |
| v1, | |||
| f1, | |||
| f2 | |||
| ) | r = f1 - f2*v1 |
Definition at line 228 of file vec_kern_unr_pref.h.
| #define SUB3 | ( | r, | |
| v1, | |||
| v2, | |||
| f1, | |||
| f2 | |||
| ) | r = v1 - v2 |
Definition at line 21 of file vec_kern_unr_pref.h.
| #define SUB3NS | ( | r, | |
| v1, | |||
| v2, | |||
| f1, | |||
| f2 | |||
| ) | r = v1 - f2*v2 |
Definition at line 165 of file vec_kern_unr_pref.h.
| #define SUB3SN | ( | r, | |
| v1, | |||
| v2, | |||
| f1, | |||
| f2 | |||
| ) | r = f2*v1 - v2 |
Definition at line 174 of file vec_kern_unr_pref.h.
| #define SUB3SS | ( | r, | |
| v1, | |||
| v2, | |||
| f1, | |||
| f2 | |||
| ) | r = f1*v1 - f2*v2 |
Definition at line 183 of file vec_kern_unr_pref.h.
| #define SUM1 | ( | r, | |
| f1, | |||
| f2 | |||
| ) | f2 += r |
Definition at line 279 of file vec_kern_unr_pref.h.
Definition at line 291 of file vec_kern_unr_pref.h.
| #define SUMMULT3 | ( | r, | |
| v1, | |||
| v2, | |||
| f1, | |||
| f2 | |||
| ) | r += v1*v2 |
Definition at line 289 of file vec_kern_unr_pref.h.
Definition at line 249 of file vec_kern_unr_pref.h.
Definition at line 267 of file vec_kern_unr_pref.h.
Definition at line 258 of file vec_kern_unr_pref.h.
Definition at line 275 of file vec_kern_unr_pref.h.
| #define XSUM1 | ( | r, | |
| f1, | |||
| f2 | |||
| ) | { T t = f2+r; f1 += (t-f2)-r; f2 = t; } |
Definition at line 283 of file vec_kern_unr_pref.h.
| VKERN_TEMPL_1V | ( | do_vec_neg | , |
| NEG1 | |||
| ) |
vec = -vec
| VKERN_TEMPL_1V_C | ( | do_vec_add_val | , |
| ADD1NV | |||
| ) |
vec += val;
| VKERN_TEMPL_1V_C | ( | do_vec_sub_val | , |
| SUB1NV | |||
| ) |
vec -= val;
| VKERN_TEMPL_1V_C | ( | do_val_sub_vec | , |
| SUB1RV | |||
| ) |
vec -= val; vec = -vec;
| VKERN_TEMPL_1V_C | ( | do_vec_mul_val | , |
| MUL1NV | |||
| ) |
vec *= val;
| VKERN_TEMPL_1V_C | ( | do_vec_div_val | , |
| DIV1NV | |||
| ) |
vec /= val;
| VKERN_TEMPL_1V_C | ( | do_val_div_vec | , |
| DIV1RV | |||
| ) |
vec = val / vec;
| VKERN_TEMPL_1V_C | ( | do_val_add_vec | , |
| ADD1RV | |||
| ) |
vec += val
| VKERN_TEMPL_1V_CC | ( | do_svc_add_val | , |
| ADD1SV | |||
| ) |
vec = s*vec; vec += val;
| VKERN_TEMPL_1V_CC | ( | do_svc_sub_val | , |
| SUB1SV | |||
| ) |
vec = s*vec; vec -= val;
| VKERN_TEMPL_1V_T | ( | do_vec_fabssqr_exact | , |
| XFABS1 | , | ||
| double | |||
| ) |
val = SUM fabssqr vec ;
| VKERN_TEMPL_1V_T_LD | ( | do_vec_fabssqr_quick | , |
| FABS1 | , | ||
| double | |||
| ) |
val = SUM fabssqr vec ;
| VKERN_TEMPL_2V | ( | do_vec_add_vec | , |
| ADD2 | |||
| ) |
vec += vec;
| VKERN_TEMPL_2V | ( | do_vec_sub_vec | , |
| SUB2 | |||
| ) |
vec -= vec;
| VKERN_TEMPL_2V | ( | do_vec_sub_vec_inv | , |
| SUB2I | |||
| ) |
vec -= vec; vec = -vec;
| VKERN_TEMPL_2V | ( | do_vec_mul_vec | , |
| MUL2 | |||
| ) |
vec *= vec; (emul)
| VKERN_TEMPL_2V | ( | do_vec_cmul_vec | , |
| CMUL2 | |||
| ) |
vec *= conj(vec); (cemul)
| VKERN_TEMPL_2V | ( | do_vec_cmul_vec_inv | , |
| CMUL2I | |||
| ) |
vec *= conj(vec); (cemul)
| VKERN_TEMPL_2V | ( | do_vec_div_vec | , |
| DIV2 | |||
| ) |
vec /= vec; (ediv)
| VKERN_TEMPL_2V | ( | do_vec_div_vec_inv | , |
| DIV2I | |||
| ) |
vec /= vec; (ediv)
| VKERN_TEMPL_2V | ( | do_vec_cdiv_vec | , |
| CDIV2 | |||
| ) |
vec /= conj(vec); (cediv)
| VKERN_TEMPL_2V | ( | do_vec_cdiv_vec_inv | , |
| CDIV2I | |||
| ) |
vec /= conj(vec); (cediv)
| VKERN_TEMPL_2V | ( | do_vec_neg_vec | , |
| NEG2 | |||
| ) |
vec = -vec
| VKERN_TEMPL_2V_C | ( | do_vec_val_add | , |
| ADD2NV | |||
| ) |
vec = vec + val
| VKERN_TEMPL_2V_C | ( | do_vec_val_sub | , |
| SUB2NV | |||
| ) |
vec = vec - val
| VKERN_TEMPL_2V_C | ( | do_vec_val_mul | , |
| MUL2NV | |||
| ) |
vec = vec * val;
| VKERN_TEMPL_2V_C | ( | do_val_vec_add | , |
| ADD2RV | |||
| ) |
vec = val + vec;
| VKERN_TEMPL_2V_C | ( | do_val_vec_sub | , |
| SUB2RV | |||
| ) |
vec = val - vec;
| VKERN_TEMPL_2V_C | ( | do_val_vec_mul | , |
| MUL2RV | |||
| ) |
vec = val * vec;
| VKERN_TEMPL_2V_C | ( | do_val_vec_div | , |
| DIV2RV | |||
| ) |
vec = val / vec;
| VKERN_TEMPL_2V_C | ( | do_vec_add_svc | , |
| ADD2NS | |||
| ) |
vec += val*vec
| VKERN_TEMPL_2V_C | ( | do_vec_sub_svc | , |
| SUB2NS | |||
| ) |
vec -= val*vec
| VKERN_TEMPL_2V_C | ( | do_vec_sub_svc_inv | , |
| SUB2RS | |||
| ) |
vec -= val*vec
| VKERN_TEMPL_2V_C | ( | do_svc_add_vec | , |
| ADD2SN | |||
| ) |
vec *= s; vec += vec;
| VKERN_TEMPL_2V_C | ( | do_svc_sub_vec | , |
| SUB2SN | |||
| ) |
vec *= s; vec -= vec;
| VKERN_TEMPL_2V_CC | ( | do_svc_add_svc | , |
| ADD2SS | |||
| ) |
vec *= s; vec += s*vec;
| VKERN_TEMPL_2V_CC | ( | do_svc_sub_svc | , |
| SUB2SS | |||
| ) |
vec *= s; vec -= s*vec;
| VKERN_TEMPL_2V_CC | ( | do_svc_val_add | , |
| ADD2SV | |||
| ) |
vec = s*vec + val
| VKERN_TEMPL_2V_CC | ( | do_svc_val_sub | , |
| SUB2SV | |||
| ) |
vec = s*vec - val
| VKERN_TEMPL_2V_CC | ( | do_val_svc_add | , |
| ADD2VS | |||
| ) |
vec = val + s*vec;
| VKERN_TEMPL_2V_CC | ( | do_val_svc_sub | , |
| SUB2VS | |||
| ) |
vec = val - s*vec;
| VKERN_TEMPL_2V_CC | ( | do_val_svc_div | , |
| DIV2VS | |||
| ) |
vec = val / s*vec;
| VKERN_TEMPL_3V | ( | do_vec_vec_add | , |
| ADD3 | |||
| ) |
vec = vec + vec;
| VKERN_TEMPL_3V | ( | do_vec_vec_sub | , |
| SUB3 | |||
| ) |
vec = vec - vec;
| VKERN_TEMPL_3V | ( | do_vec_vec_mul | , |
| MUL3 | |||
| ) |
vec = emul (vec, vec);
| VKERN_TEMPL_3V | ( | do_vec_vec_cmul | , |
| CMUL3 | |||
| ) |
vec = cemul(vec, vec);
| VKERN_TEMPL_3V | ( | do_vec_vec_div | , |
| DIV3 | |||
| ) |
vec = ediv (vec, vec);
| VKERN_TEMPL_3V | ( | do_vec_vec_cdiv | , |
| CDIV3 | |||
| ) |
vec = cediv(vec, vec);
| VKERN_TEMPL_3V | ( | do_add_vec_vec_mul | , |
| SUMMULT3 | |||
| ) |
| VKERN_TEMPL_3V | ( | do_add_vec_vec_cmul | , |
| SUMCMULT3 | |||
| ) |
| VKERN_TEMPL_3V_C | ( | do_vec_svc_add | , |
| ADD3NS | |||
| ) |
vec = vec + s*vec;
| VKERN_TEMPL_3V_C | ( | do_vec_svc_sub | , |
| SUB3NS | |||
| ) |
vec = vec - s*vec;
| VKERN_TEMPL_3V_C | ( | do_svc_vec_add | , |
| ADD3SN | |||
| ) |
vec = s*vec + vec;
| VKERN_TEMPL_3V_C | ( | do_svc_vec_sub | , |
| SUB3SN | |||
| ) |
vec = s*vec - vec;
| VKERN_TEMPL_3V_CC | ( | do_svc_svc_add | , |
| ADD3SS | |||
| ) |
vec = s*vec + s*vec;
| VKERN_TEMPL_3V_CC | ( | do_svc_svc_sub | , |
| SUB3SS | |||
| ) |
vec = s*vec - s*vec;
1.8.5