Loading...
Searching...
No Matches
vectools.h File Reference

Go to the source code of this file.

Functions

void vec_mul_scal_add_scal (double res[], const double a[], const double b, const double c, int n)
void vec_mul_indir_add_indir (double res[], const double a[], const double b[], const double c[], const int offset[], int n)
void vec_mul (double res[], const double a[], const double b[], int n)
void vec_mul_scal (double res[], const double a[], double b, int n)
void vec_mul_indir (double res[], const double a[], const double b[], const int offset[], int n)
void vec_eq_self_mul_addscal_mul (double res[], const double a[], double b, const double c[], int n)
void vec_self_mul_mul_indir (double res[], const double a[], const double b[], const int offset[], int n)
void vec_diffweight (double res[], const double a[], double b, int n)
void vec_mul_scal_add_mul (double res[], const double a[], double b, const double c[], const double d[], int n)
void vec_mul_indir_add_indir_mul (double res[], const double a[], const double b[], const double c[], const double d[], const int offset[], int n)
void vec_dbl_mul_indir_add (double res[], const double a[], const double b[], const double c[], const double d[], const int offset[], int n)
void vec_dEds (double res[], const double a[], const double b[], const double c[], const double d[], const double e[], const double f[], const int offset[], int n)
void vec_df (double *res, const double *a, const double *b, const double *c, double d, const double *e, double f, const double *g, const double *h, double x, const double *y, double z, int n)
void vec_add_scal (double res[], const double a[], double b, int n)

Function Documentation

◆ vec_add_scal()

void vec_add_scal ( double res[],
const double a[],
double b,
int n )
inline

Definition at line 117 of file vectools.h.

117 {
118 for (int i = 0; i < n; i++)
119 res[i] = a[i] + b;
120}

◆ vec_dbl_mul_indir_add()

void vec_dbl_mul_indir_add ( double res[],
const double a[],
const double b[],
const double c[],
const double d[],
const int offset[],
int n )
inline

Definition at line 91 of file vectools.h.

93 {
94 for (int i = 0; i < n; i++)
95 res[i] = a[i] * b[offset[i]] + c[i] * d[offset[i]];
96}

◆ vec_dEds()

void vec_dEds ( double res[],
const double a[],
const double b[],
const double c[],
const double d[],
const double e[],
const double f[],
const int offset[],
int n )
inline

Definition at line 99 of file vectools.h.

101 {
102 for (int i = 0; i < n; i++)
103 res[i] = (d[offset[i]] * a[i] + e[offset[i]]) * b[i] + f[offset[i]] * c[i];
104}

◆ vec_df()

void vec_df ( double * res,
const double * a,
const double * b,
const double * c,
double d,
const double * e,
double f,
const double * g,
const double * h,
double x,
const double * y,
double z,
int n )
inline

Definition at line 108 of file vectools.h.

111 {
112 for (int i = 0; i < n; i++)
113 res[i] = a[i] * (b[i] * c[i] * d + e[i] * f + g[i] * h[i] * x + y[i] * z);
114}

◆ vec_diffweight()

void vec_diffweight ( double res[],
const double a[],
double b,
int n )
inline

Definition at line 69 of file vectools.h.

69 {
70 for (int i = 0; i < n; i++)
71 res[i] = (a[i] - a[i] * a[i]) * b;
72}

◆ vec_eq_self_mul_addscal_mul()

void vec_eq_self_mul_addscal_mul ( double res[],
const double a[],
double b,
const double c[],
int n )
inline

Definition at line 54 of file vectools.h.

55 {
56 for (int i = 0; i < n; i++)
57 res[i] = res[i] * a[i] + b * c[i];
58}

◆ vec_mul()

void vec_mul ( double res[],
const double a[],
const double b[],
int n )
inline

Definition at line 35 of file vectools.h.

35 {
36 for (int i = 0; i < n; i++)
37 res[i] = a[i] * b[i];
38}

◆ vec_mul_indir()

void vec_mul_indir ( double res[],
const double a[],
const double b[],
const int offset[],
int n )
inline

Definition at line 47 of file vectools.h.

48 {
49 for (int i = 0; i < n; i++)
50 res[i] = a[i] * b[offset[i]];
51}

◆ vec_mul_indir_add_indir()

void vec_mul_indir_add_indir ( double res[],
const double a[],
const double b[],
const double c[],
const int offset[],
int n )
inline

Definition at line 27 of file vectools.h.

29 {
30 for (int i = 0; i < n; i++)
31 res[i] = a[i] * b[offset[i]] + c[offset[i]];
32}

◆ vec_mul_indir_add_indir_mul()

void vec_mul_indir_add_indir_mul ( double res[],
const double a[],
const double b[],
const double c[],
const double d[],
const int offset[],
int n )
inline

Definition at line 82 of file vectools.h.

85 {
86 for (int i = 0; i < n; i++)
87 res[i] = (a[i] * b[offset[i]] + c[offset[i]]) * d[i];
88}

◆ vec_mul_scal()

void vec_mul_scal ( double res[],
const double a[],
double b,
int n )
inline

Definition at line 41 of file vectools.h.

41 {
42 for (int i = 0; i < n; i++)
43 res[i] = a[i] * b;
44}

◆ vec_mul_scal_add_mul()

void vec_mul_scal_add_mul ( double res[],
const double a[],
double b,
const double c[],
const double d[],
int n )
inline

Definition at line 75 of file vectools.h.

76 {
77 for (int i = 0; i < n; i++)
78 res[i] = (a[i] * b + c[i]) * d[i];
79}

◆ vec_mul_scal_add_scal()

void vec_mul_scal_add_scal ( double res[],
const double a[],
const double b,
const double c,
int n )
inline

Definition at line 20 of file vectools.h.

21 {
22 for (int i = 0; i < n; i++)
23 res[i] = a[i] * b + c;
24}

◆ vec_self_mul_mul_indir()

void vec_self_mul_mul_indir ( double res[],
const double a[],
const double b[],
const int offset[],
int n )
inline

Definition at line 61 of file vectools.h.

63 {
64 for (int i = 0; i < n; i++)
65 res[i] = res[i] * a[i] * b[offset[i]];
66}