40 static int *
ucopy(
const int *
a,
int *
b,
int n);
41 static float *
ucopy(
const float *
a,
float *
b,
int n);
42 static double *
ucopy(
const float *
a,
double *
b,
int n);
43 static float *
ucopy(
const double *
a,
float *
b,
int n);
44 static double *
ucopy(
const double *
a,
double *
b,
int n);
45 static void **
ucopy(
const void **
a,
void **
b,
int n);
47 static float *
vzero(
float *
a,
int n2);
48 static double *
vzero(
double *
a,
int n2);
49 static void **
vzero(
void **
a,
int n2);
51 static float *
vadd(
const float *
b,
const float *
c,
float *
a,
int n);
52 static double *
vadd(
const double *
b,
const double *
c,
double *
a,
int n);
54 static float *
vadd(
const float *
b,
const double *
c,
float *
a,
int n);
55 static double *
vadd(
const double *
b,
const float *
c,
double *
a,
int n);
57 static float vdot(
const float *
b,
const float *
a,
int n);
58 static double vdot(
const double *
b,
const double *
a,
int n);
60 static float *
vsub(
const float *
a,
const float *
b,
float *
x,
int n);
61 static double *
vsub(
const double *
a,
const double *
b,
double *
x,
int n);
62 static float *
vsub(
const float *
b,
const double *
c,
float *
a,
int n);
63 static double *
vsub(
const double *
b,
const float *
c,
double *
a,
int n);
65 static float *
vcopyn(
const float *
a,
float *
x,
int n);
66 static double *
vcopyn(
const double *
a,
double *
x,
int n);
68 static float *
vscale(
const float *
a,
float scale,
float *
b,
int n);
69 static double *
vscale(
const double *
a,
double scale,
double *
b,
int n);
71 static float *
vlinco(
const float *
a,
float fa,
const float *
b,
float fb,
float *
x,
int n);
72 static double *
vlinco(
const double *
a,
double fa,
const double *
b,
double fb,
double *
x,
int n);
74 static float *
vmatl(
const float *
g,
const float *
c,
float *
x,
int n=3,
int m=3);
75 static double *
vmatl(
const double *
g,
const double *
c,
double *
x,
int n=3,
int m=3);
77 static float *
vmatr(
const float *
c,
const float *
g,
float *
x,
int n=3,
int m=3);
78 static double *
vmatr(
const double *
c,
const double *
g,
double *
x,
int n=3,
int m=3);
80 static float *
mxmad_0_(
int n,
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k);
82 static float *
mxmad(
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k);
83 static float *
mxmad1(
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k);
84 static float *
mxmad2(
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k);
85 static float *
mxmad3(
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k);
86 static float *
mxmpy(
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k);
87 static float *
mxmpy1(
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k);
88 static float *
mxmpy2(
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k);
89 static float *
mxmpy3(
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k);
90 static float *
mxmub(
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k);
91 static float *
mxmub1(
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k);
92 static float *
mxmub2(
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k);
93 static float *
mxmub3(
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k);
95 static float *
mxmlrt_0_(
int n__,
const float *
a,
const float *
b,
float *
c,
int ni,
int nj);
96 static float *
mxmlrt(
const float *
a,
const float *
b,
float *
c,
int ni,
int nj);
97 static float *
mxmltr(
const float *
a,
const float *
b,
float *
c,
int ni,
int nj);
98 static float *
mxtrp(
const float *
a,
float *
b,
int i,
int j);
100 static double *
mxmad_0_(
int n,
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k);
102 static double *
mxmad (
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k);
103 static double *
mxmad1(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k);
104 static double *
mxmad2(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k);
105 static double *
mxmad3(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k);
106 static double *
mxmpy (
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k);
107 static double *
mxmpy1(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k);
108 static double *
mxmpy2(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k);
109 static double *
mxmpy3(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k);
110 static double *
mxmub (
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k);
111 static double *
mxmub1(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k);
112 static double *
mxmub2(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k);
113 static double *
mxmub3(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k);
115 static double *
mxmlrt_0_(
int n__,
const double *
a,
const double *
b,
double *
c,
int ni,
int nj);
116 static double *
mxmlrt(
const double *
a,
const double *
b,
double *
c,
int ni,
int nj);
117 static double *
mxmltr(
const double *
a,
const double *
b,
double *
c,
int ni,
int nj);
118 static double *
mxtrp(
const double *
a,
double *
b,
int i,
int j);
122 static float *
traat(
const float *
a,
float *
s,
int m,
int n);
123 static float *
tral(
const float *
a,
const float *u,
float *
b,
int m,
int n);
124 static float *
tralt(
const float *
a,
const float *u,
float *
b,
int m,
int n);
125 static float *
tras(
const float *
a,
const float *
s,
float *
b,
int m,
int n);
126 static float *
trasat(
const float *
a,
const float *
s,
float *
r,
int m,
int n);
127 static float *
trasat(
const double *
a,
const float *
s,
float *
r,
int m,
int n);
128 static float *
trata(
const float *
a,
float *
r,
int m,
int n);
129 static float *
trats(
const float *
a,
const float *
s,
float *
b,
int m,
int n);
130 static float *
tratsa(
const float *
a,
const float *
s,
float *
r,
int m,
int n);
131 static float *
trchlu(
const float *
a,
float *
b,
int n);
132 static float *
trchul(
const float *
a,
float *
b,
int n);
133 static float *
trinv(
const float *t,
float *
s,
int n);
134 static float *
trla(
const float *u,
const float *
a,
float *
b,
int m,
int n);
135 static float *
trlta(
const float *u,
const float *
a,
float *
b,
int m,
int n);
136 static float *
trpck(
const float *
s,
float *u,
int n);
137 static float *
trqsq(
const float *
q,
const float *
s,
float *
r,
int m);
138 static float *
trsa(
const float *
s,
const float *
a,
float *
b,
int m,
int n);
139 static float *
trsinv(
const float *
g,
float *gi,
int n);
140 static float *
trsmlu(
const float *u,
float *
s,
int n);
141 static float *
trsmul(
const float *
g,
float *gi,
int n);
142 static float *
trupck(
const float *u,
float *
s,
int m);
143 static float *
trsat(
const float *
s,
const float *
a,
float *
b,
int m,
int n);
146 static float *
trsequ(
float *smx,
int m=3,
float *
b=0,
int n=1);
150 static double *
traat (
const double *
a,
double *
s,
int m,
int n);
151 static double *
tral (
const double *
a,
const double *u,
double *
b,
int m,
int n);
152 static double *
tralt (
const double *
a,
const double *u,
double *
b,
int m,
int n);
153 static double *
tras (
const double *
a,
const double *
s,
double *
b,
int m,
int n);
154 static double *
trasat(
const double *
a,
const double *
s,
double *
r,
int m,
int n);
155 static double *
trata (
const double *
a,
double *
r,
int m,
int n);
156 static double *
trats (
const double *
a,
const double *
s,
double *
b,
int m,
int n);
157 static double *
tratsa(
const double *
a,
const double *
s,
double *
r,
int m,
int n);
158 static double *
trchlu(
const double *
a,
double *
b,
int n);
159 static double *
trchul(
const double *
a,
double *
b,
int n);
160 static double *
trinv (
const double *t,
double *
s,
int n);
161 static double *
trla (
const double *u,
const double *
a,
double *
b,
int m,
int n);
162 static double *
trlta (
const double *u,
const double *
a,
double *
b,
int m,
int n);
163 static double *
trpck (
const double *
s,
double *u,
int n);
164 static double *
trqsq (
const double *
q,
const double *
s,
double *
r,
int m);
165 static double *
trsa (
const double *
s,
const double *
a,
double *
b,
int m,
int n);
166 static double *
trsinv(
const double *
g,
double *gi,
int n);
167 static double *
trsmlu(
const double *u,
double *
s,
int n);
168 static double *
trsmul(
const double *
g,
double *gi,
int n);
169 static double *
trupck(
const double *u,
double *
s,
int m);
170 static double *
trsat (
const double *
s,
const double *
a,
double *
b,
int m,
int n);
173 static double *
trsequ(
double *smx,
int m=3,
double *
b=0,
int n=1);
180inline float *
TCL::mxmad(
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k)
185inline float *
TCL::mxmad1(
const float *
a,
const float *
q,
float *
c,
int i,
int j,
int k)
190inline float *
TCL::mxmad2(
const float *p,
const float *
b,
float *
c,
int i,
int j,
int k)
195inline float *
TCL::mxmad3(
const float *p,
const float *
q,
float *
c,
int i,
int j,
int k)
200inline float *
TCL::mxmpy(
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k)
205inline float *
TCL::mxmpy1(
const float *
a,
const float *
q,
float *
c,
int i,
int j,
int k)
210inline float *
TCL::mxmpy2(
const float *p,
const float *
b,
float *
c,
int i,
int j,
int k)
215inline float *
TCL::mxmpy3(
const float *p,
const float *
q,
float *
c,
int i,
int j,
int k)
220inline float *
TCL::mxmub(
const float *
a,
const float *
b,
float *
c,
int i,
int j,
int k)
225inline float *
TCL::mxmub1(
const float *
a,
const float *
q,
float *
c,
int i,
int j,
int k)
230inline float *
TCL::mxmub2(
const float *p,
const float *
b,
float *
c,
int i,
int j,
int k)
235inline float *
TCL::mxmub3(
const float *p,
const float *
q,
float *
c,
int i,
int j,
int k)
240inline float *
TCL::mxmlrt(
const float *
a,
const float *
b,
float *
x,
int ni,
int nj)
245inline float *
TCL::mxmltr(
const float *
a,
const float *
b,
float *
x,
int ni,
int nj)
253inline double *
TCL::mxmad(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k)
258inline double *
TCL:: mxmad1(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k)
263inline double *
TCL::mxmad2(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k)
268inline double *
TCL::mxmad3(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k)
273inline double *
TCL::mxmpy(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k)
278inline double *
TCL::mxmpy1(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k)
283inline double *
TCL::mxmpy2(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k)
288inline double *
TCL::mxmpy3(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k)
293inline double *
TCL::mxmub(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k)
298inline double *
TCL::mxmub1(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k)
303inline double *
TCL::mxmub2(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k)
308inline double *
TCL::mxmub3(
const double *
a,
const double *
b,
double *
c,
int i,
int j,
int k)
313inline double *
TCL::mxmlrt(
const double *
a,
const double *
b,
double *
c,
int ni,
int nj)
318inline double *
TCL::mxmltr(
const double *
a,
const double *
b,
double *
c,
int ni,
int nj)
328 if (
n <= 0)
return 0;
329 memcpy(
a,
b,
n*
sizeof(
int));
337 if (
n <= 0)
return 0;
338 memcpy(
a,
b,
n*
sizeof(
float));
346 if (
n <= 0)
return 0;
347 for (
int i=0;i<
n;i++,
a++,
b++) *
a =
float(*
b);
355 if (
n <= 0)
return 0;
356 for (
int i=0;i<
n;i++,
a++,
b++) *
a =
double(*
b);
364 if (
n <= 0)
return 0;
365 memcpy(
a,
b,
n*
sizeof(
double));
373 if (
n <= 0)
return 0;
374 memcpy(
a,
b,
n*
sizeof(
void *));
383 if (
n <= 0)
return 0;
384 for (
int i=0;i<
n;i++)
a[i] =
b[i] +
c[i];
392 if (
n <= 0)
return 0;
393 for (
int i=0;i<
n;i++)
a[i] =
b[i] +
c[i];
401 if (
n <= 0)
return 0;
402 for (
int i=0;i<
n;i++)
a[i] =
b[i] +
c[i];
410 if (
n <= 0)
return 0;
411 for (
int i=0;i<
n;i++)
a[i] =
b[i] +
c[i];
421 for (
int i=0;i<
n;i++,
a++,
b++)
x += (*
a) * (*b);
430 for (
int i=0;i<
n;i++,
a++,
b++)
x += (*
a) * (*b);
437 if (
n <= 0)
return 0;
438 for (
int i=0;i<
n;i++)
x[i] =
a[i]-
b[i];
446 if (
n <= 0)
return 0;
447 for (
int i=0;i<
n;i++)
x[i] =
a[i]-
b[i];
454 if (
n <= 0)
return 0;
455 for (
int i=0;i<
n;i++)
a[i] =
b[i] -
c[i];
463 if (
n <= 0)
return 0;
464 for (
int i=0;i<
n;i++)
a[i] =
b[i] -
c[i];
471 if (
n <= 0)
return 0;
472 for (
int i=0;i<
n;i++)
x[i] = -
a[i];
479 if (
n <= 0)
return 0;
480 for (
int i=0;i<
n;i++)
x[i] = -
a[i];
488 if (n1 <= 0)
return 0;
489 return (
float *)memset(
a,0,n1*
sizeof(
float));
496 if (n1 <= 0)
return 0;
497 return (
double *)memset(
a,0,n1*
sizeof(
double));
504 if (n1 <= 0)
return 0;
505 return (
void **)memset(
a,0,n1*
sizeof(
void *));
512 for (
int i=0;i<
n;i++)
b[i]=scale*
a[i];
520 for (
int i=0;i<
n;i++)
b[i]=scale*
a[i];
525inline float *
TCL::vlinco(
const float *
a,
float fa,
const float *
b,
float fb,
float *
x,
int n)
528 for (
int i=0;i<
n;i++){
x[i]=
a[i]*fa+
b[i]*fb;};
533inline double *
TCL::vlinco(
const double *
a,
double fa,
const double *
b,
double fb,
double *
x,
int n)
536 for (
int i=0;i<
n;i++)
x[i]=
a[i]*fa+
b[i]*fb;
544 for (
int i=0; i<
n; i++) {
546 for (
int j=0; j<
m; j++)
sum +=
G[j +
m*i]*
c[j];
556 for (
int i=0; i<
n; i++) {
558 for (
int j=0; j<
m; j++)
sum +=
G[j +
m*i]*
c[j];
568 for (
int j=0; j<
m; j++) {
570 for (
int i=0; i<
n; i++)
sum +=
G[j +
n*i]*
c[i];
580 for (
int j=0; j<
m; j++) {
582 for (
int i=0; i<
n; i++)
sum +=
G[j +
n*i]*
c[i];
#define ClassDef(name, id)
Array of doubles (64 bits per element).
static float * mxmad_0_(int n, const float *a, const float *b, float *c, int i, int j, int k)
static float * mxmad2(const float *a, const float *b, float *c, int i, int j, int k)
static float * trpck(const float *s, float *u, int n)
trpck.F – translated by f2c (version 19970219).
static float vdot(const float *b, const float *a, int n)
static float * vmatl(const float *g, const float *c, float *x, int n=3, int m=3)
static float * trqsq(const float *q, const float *s, float *r, int m)
trqsq.F – translated by f2c (version 19970219).
static float * mxmub(const float *a, const float *b, float *c, int i, int j, int k)
static float * vlinco(const float *a, float fa, const float *b, float fb, float *x, int n)
static float * mxmpy(const float *a, const float *b, float *c, int i, int j, int k)
static float * tralt(const float *a, const float *u, float *b, int m, int n)
Triangular - Rectangular Multiplication.
static float * mxtrp(const float *a, float *b, int i, int j)
Matrix Transposition.
static float * vmatr(const float *c, const float *g, float *x, int n=3, int m=3)
static float * trata(const float *a, float *r, int m, int n)
trata.F – translated by f2c (version 19970219).
static float * trsmul(const float *g, float *gi, int n)
trsmul.F – translated by f2c (version 19970219).
static float * tratsa(const float *a, const float *s, float *r, int m, int n)
tratsa.F – translated by f2c (version 19970219).
static int * ucopy(const int *a, int *b, int n)
static float * trsa(const float *s, const float *a, float *b, int m, int n)
trsa.F – translated by f2c (version 19970219).
static float * mxmub2(const float *a, const float *b, float *c, int i, int j, int k)
static float * vzero(float *a, int n2)
static float * vsub(const float *a, const float *b, float *x, int n)
static float * trchlu(const float *a, float *b, int n)
trchlu.F – translated by f2c (version 19970219).
static float * trsinv(const float *g, float *gi, int n)
trsinv.F – translated by f2c (version 19970219).
static float * mxmad3(const float *a, const float *b, float *c, int i, int j, int k)
static float * trsmlu(const float *u, float *s, int n)
trsmlu.F – translated by f2c (version 19970219).
static float * mxmltr(const float *a, const float *b, float *c, int ni, int nj)
static float * trats(const float *a, const float *s, float *b, int m, int n)
trats.F – translated by f2c (version 19970219).
static float * trupck(const float *u, float *s, int m)
trupck.F – translated by f2c (version 19970219).
static float * mxmub1(const float *a, const float *b, float *c, int i, int j, int k)
static float * trasat(const float *a, const float *s, float *r, int m, int n)
Transformation of Symmetric Matrix.
static float * trlta(const float *u, const float *a, float *b, int m, int n)
trlta.F – translated by f2c (version 19970219).
static float * mxmpy3(const float *a, const float *b, float *c, int i, int j, int k)
static float * vcopyn(const float *a, float *x, int n)
static float * vadd(const float *b, const float *c, float *a, int n)
static float * trla(const float *u, const float *a, float *b, int m, int n)
trla.F – translated by f2c (version 19970219).
static float * trinv(const float *t, float *s, int n)
trinv.F – translated by f2c (version 19970219).
static float * vscale(const float *a, float scale, float *b, int n)
static float * mxmlrt(const float *a, const float *b, float *c, int ni, int nj)
static float * mxmub3(const float *a, const float *b, float *c, int i, int j, int k)
static float * tras(const float *a, const float *s, float *b, int m, int n)
Symmetric - Rectangular Multiplication.
static float * tral(const float *a, const float *u, float *b, int m, int n)
Triangular - Rectangular Multiplication.
static float * mxmpy2(const float *a, const float *b, float *c, int i, int j, int k)
static float * mxmlrt_0_(int n__, const float *a, const float *b, float *c, int ni, int nj)
Matrix Multiplication.
static float * mxmpy1(const float *a, const float *b, float *c, int i, int j, int k)
static float * trsequ(float *smx, int m=3, float *b=0, int n=1)
Linear Equations, Matrix Inversion trsequ solves the matrix equation.
static float * traat(const float *a, float *s, int m, int n)
Symmetric Multiplication of Rectangular Matrices.
static float * trsat(const float *s, const float *a, float *b, int m, int n)
trsat.F – translated by f2c (version 19970219).
static float * mxmad(const float *a, const float *b, float *c, int i, int j, int k)
static float * trchul(const float *a, float *b, int n)
trchul.F – translated by f2c (version 19970219).
static float * mxmad1(const float *a, const float *b, float *c, int i, int j, int k)
static constexpr double s
static long int sum(long int i)