simplify complex assignments

This commit is contained in:
rlar 2015-12-29 18:15:06 +01:00
parent 2c63d0f6d3
commit 9d32a0a5a9
7 changed files with 39 additions and 80 deletions

View File

@ -39,8 +39,7 @@ dimxpand(struct dvec *v, int *newdims, double *data)
if (realflag) {
data[n] = v->v_realdata[o];
} else {
realpart(cdata[n]) = realpart(v->v_compdata[o]);
imagpart(cdata[n]) = imagpart(v->v_compdata[o]);
cdata[n] = v->v_compdata[o];
}
/* Now find the nextstrchr element... */
@ -203,8 +202,7 @@ com_compose(wordlist *wl)
realpart(cdata[i]) = realpart(v->v_compdata[0]);
imagpart(cdata[i]) = 0.0;
} else {
realpart(cdata[i]) = realpart(v->v_compdata[0]);
imagpart(cdata[i]) = imagpart(v->v_compdata[0]);
cdata[i] = v->v_compdata[0];
}
i++;
continue;

View File

@ -640,10 +640,7 @@ op_range(struct pnode *arg1, struct pnode *arg2)
if (isreal(res)) {
res->v_realdata[j] = v->v_realdata[i];
} else {
realpart(res->v_compdata[j]) =
realpart(v->v_compdata[i]);
imagpart(res->v_compdata[j]) =
imagpart(v->v_compdata[i]);
res->v_compdata[j] = v->v_compdata[i];
}
j++;
}
@ -789,10 +786,8 @@ op_ind(struct pnode *arg1, struct pnode *arg2)
res->v_realdata[k * blocksize + i] =
v->v_realdata[(down + j) * blocksize + i];
} else {
realpart(res->v_compdata[k * blocksize + i]) =
realpart(v->v_compdata[(down + j) * blocksize + i]);
imagpart(res->v_compdata[k * blocksize + i]) =
imagpart(v->v_compdata[(down + j) * blocksize + i]);
res->v_compdata[k * blocksize + i] =
v->v_compdata[(down + j) * blocksize + i];
}
}

View File

@ -777,8 +777,7 @@ com_cross(wordlist *wl)
for (n = vecs, i = 0; n; n = n->v_link2, i++)
if (n->v_length > ind) {
if (comp) {
realpart(v->v_compdata[i]) = realpart(n->v_compdata[ind]);
imagpart(v->v_compdata[i]) = imagpart(n->v_compdata[ind]);
v->v_compdata[i] = n->v_compdata[ind];
} else {
v->v_realdata[i] = n->v_realdata[ind];
}

View File

@ -1062,10 +1062,8 @@ vec_transpose(struct dvec *v)
joffset = 0;
for (j = 0; j < dim0; j++) {
for (i = 0; i < dim1; i++) {
realpart(newcomp[ koffset + joffset + i ]) =
realpart(oldcomp[ koffset + i*dim0 + j ]);
imagpart(newcomp[ koffset + joffset + i ]) =
imagpart(oldcomp[ koffset + i*dim0 + j ]);
newcomp[ koffset + joffset + i ] =
oldcomp[ koffset + i*dim0 + j ];
}
joffset += dim1; /* joffset = j*dim0 */
}

View File

@ -497,15 +497,13 @@ cx_plus(void *data1, void *data2, short int datatype1, short int datatype2, int
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
c1 = cc1[i];
}
if (datatype2 == VF_REAL) {
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
c2 = cc2[i];
}
realpart(c[i]) = realpart(c1) + realpart(c2);
imagpart(c[i]) = imagpart(c1) + imagpart(c2);
@ -537,15 +535,13 @@ cx_minus(void *data1, void *data2, short int datatype1, short int datatype2, int
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
c1 = cc1[i];
}
if (datatype2 == VF_REAL) {
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
c2 = cc2[i];
}
realpart(c[i]) = realpart(c1) - realpart(c2);
imagpart(c[i]) = imagpart(c1) - imagpart(c2);
@ -577,15 +573,13 @@ cx_times(void *data1, void *data2, short int datatype1, short int datatype2, int
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
c1 = cc1[i];
}
if (datatype2 == VF_REAL) {
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
c2 = cc2[i];
}
realpart(c[i]) = realpart(c1) * realpart(c2)
- imagpart(c1) * imagpart(c2);
@ -625,15 +619,13 @@ cx_mod(void *data1, void *data2, short int datatype1, short int datatype2, int l
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
c1 = cc1[i];
}
if (datatype2 == VF_REAL) {
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
c2 = cc2[i];
}
r1 = (int)floor(FTEcabs(realpart(c1)));
rcheck(r1 > 0, "mod");

View File

@ -52,15 +52,13 @@ cx_divide(void *data1, void *data2, short int datatype1, short int datatype2, in
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
c1 = cc1[i];
}
if (datatype2 == VF_REAL) {
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
c2 = cc2[i];
}
rcheck((realpart(c2) != 0) || (imagpart(c2) != 0), "divide");
#define xx5 realpart(c1)
@ -92,15 +90,13 @@ cx_comma(void *data1, void *data2, short int datatype1, short int datatype2, int
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
c1 = cc1[i];
}
if (datatype2 == VF_REAL) {
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
c2 = cc2[i];
}
realpart(c[i]) = realpart(c1) + imagpart(c2);
@ -134,15 +130,13 @@ cx_power(void *data1, void *data2, short int datatype1, short int datatype2, int
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
c1 = cc1[i];
}
if (datatype2 == VF_REAL) {
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
c2 = cc2[i];
}
if ((realpart(c1) == 0.0) && (imagpart(c1) == 0.0)) {
@ -151,8 +145,7 @@ cx_power(void *data1, void *data2, short int datatype1, short int datatype2, int
} else { /* if ((imagpart(c1) != 0.0) &&
(imagpart(c2) != 0.0)) */
t = cexp_sp3(ctimes(&c2, cln(&c1)));
realpart(c[i]) = realpart(*t);
imagpart(c[i]) = imagpart(*t);
c[i] = *t;
/*
} else {
realpart(c[i]) = pow(realpart(c1),
@ -239,15 +232,13 @@ cx_eq(void *data1, void *data2, short int datatype1, short int datatype2, int le
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
c1 = cc1[i];
}
if (datatype2 == VF_REAL) {
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
c2 = cc2[i];
}
d[i] = ((realpart(c1) == realpart(c2)) &&
(imagpart(c1) == imagpart(c2)));
@ -280,15 +271,13 @@ cx_gt(void *data1, void *data2, short int datatype1, short int datatype2, int le
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
c1 = cc1[i];
}
if (datatype2 == VF_REAL) {
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
c2 = cc2[i];
}
d[i] = ((realpart(c1) > realpart(c2)) &&
(imagpart(c1) > imagpart(c2)));
@ -321,15 +310,13 @@ cx_lt(void *data1, void *data2, short int datatype1, short int datatype2, int le
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
c1 = cc1[i];
}
if (datatype2 == VF_REAL) {
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
c2 = cc2[i];
}
d[i] = ((realpart(c1) < realpart(c2)) &&
(imagpart(c1) < imagpart(c2)));
@ -362,15 +349,13 @@ cx_ge(void *data1, void *data2, short int datatype1, short int datatype2, int le
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
c1 = cc1[i];
}
if (datatype2 == VF_REAL) {
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
c2 = cc2[i];
}
d[i] = ((realpart(c1) >= realpart(c2)) &&
(imagpart(c1) >= imagpart(c2)));
@ -403,15 +388,13 @@ cx_le(void *data1, void *data2, short int datatype1, short int datatype2, int le
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
c1 = cc1[i];
}
if (datatype2 == VF_REAL) {
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
c2 = cc2[i];
}
d[i] = ((realpart(c1) <= realpart(c2)) &&
(imagpart(c1) <= imagpart(c2)));
@ -444,15 +427,13 @@ cx_ne(void *data1, void *data2, short int datatype1, short int datatype2, int le
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
c1 = cc1[i];
}
if (datatype2 == VF_REAL) {
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
c2 = cc2[i];
}
d[i] = ((realpart(c1) != realpart(c2)) &&
(imagpart(c1) != imagpart(c2)));

View File

@ -60,15 +60,13 @@ cx_and(void *data1, void *data2, short int datatype1, short int datatype2, int l
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
c1 = cc1[i];
}
if (datatype2 == VF_REAL) {
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
c2 = cc2[i];
}
d[i] = ((realpart(c1) && realpart(c2)) &&
(imagpart(c1) && imagpart(c2)));
@ -99,15 +97,13 @@ cx_or(void *data1, void *data2, short int datatype1, short int datatype2, int le
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
c1 = cc1[i];
}
if (datatype2 == VF_REAL) {
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
c2 = cc2[i];
}
d[i] = ((realpart(c1) || realpart(c2)) &&
(imagpart(c1) || imagpart(c2)));