16#pragma warning(disable : 4068)
21 const double b,
const double c,
int n) {
22 for (
int i = 0; i < n; i++)
23 res[i] = a[i] * b + c;
28 const double b[],
const double c[],
29 const int offset[],
int n) {
30 for (
int i = 0; i < n; i++)
31 res[i] = a[i] * b[offset[i]] + c[offset[i]];
35inline void vec_mul(
double res[],
const double a[],
const double b[],
int n) {
36 for (
int i = 0; i < n; i++)
41inline void vec_mul_scal(
double res[],
const double a[],
double b,
int n) {
42 for (
int i = 0; i < n; i++)
47inline void vec_mul_indir(
double res[],
const double a[],
const double b[],
48 const int offset[],
int n) {
49 for (
int i = 0; i < n; i++)
50 res[i] = a[i] * b[offset[i]];
55 double b,
const double c[],
int n) {
56 for (
int i = 0; i < n; i++)
57 res[i] = res[i] * a[i] + b * c[i];
62 const double b[],
const int offset[],
64 for (
int i = 0; i < n; i++)
65 res[i] = res[i] * a[i] * b[offset[i]];
70 for (
int i = 0; i < n; i++)
71 res[i] = (a[i] - a[i] * a[i]) * b;
76 const double c[],
const double d[],
int n) {
77 for (
int i = 0; i < n; i++)
78 res[i] = (a[i] * b + c[i]) * d[i];
83 const double b[],
const double c[],
84 const double d[],
const int offset[],
86 for (
int i = 0; i < n; i++)
87 res[i] = (a[i] * b[offset[i]] + c[offset[i]]) * d[i];
92 const double b[],
const double c[],
93 const double d[],
const int offset[],
int n) {
94 for (
int i = 0; i < n; i++)
95 res[i] = a[i] * b[offset[i]] + c[i] * d[offset[i]];
99inline void vec_dEds(
double res[],
const double a[],
const double b[],
100 const double c[],
const double d[],
const double e[],
101 const double f[],
const int offset[],
int n) {
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];
108inline void vec_df(
double *res,
const double *a,
const double *b,
109 const double *c,
double d,
const double *e,
double f,
110 const double *g,
const double *h,
double x,
const double *y,
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);
117inline void vec_add_scal(
double res[],
const double a[],
double b,
int n) {
118 for (
int i = 0; i < n; i++)