#3/4 switch realpart() and imagpart() args from ngcomplex* to ngcomplex

This commit is contained in:
rlar 2012-02-07 19:53:12 +00:00
parent 94e3abd847
commit a056ea3065
29 changed files with 497 additions and 466 deletions

View File

@ -1,3 +1,34 @@
2012-02-07 Robert Larice
* src/ngsconvert.c ,
* src/tclspice.c ,
* src/ciderlib/support/database.c ,
* src/frontend/breakp.c ,
* src/frontend/com_compose.c ,
* src/frontend/cpitf.c ,
* src/frontend/diff.c ,
* src/frontend/evaluate.c ,
* src/frontend/options.c ,
* src/frontend/points.c ,
* src/frontend/postcoms.c ,
* src/frontend/rawfile.c ,
* src/frontend/vectors.c ,
* src/frontend/plotting/agraf.c ,
* src/frontend/plotting/gnuplot.c ,
* src/frontend/plotting/graf.c ,
* src/frontend/plotting/plotcurv.c ,
* src/frontend/plotting/plotit.c ,
* src/frontend/plotting/xgraph.c ,
* src/include/ngspice/complex.h ,
* src/maths/cmaths/cmath1.c ,
* src/maths/cmaths/cmath2.c ,
* src/maths/cmaths/cmath3.c ,
* src/maths/cmaths/cmath4.c ,
* src/maths/cmaths/test_cx_cph.c ,
* src/maths/cmaths/test_cx_j.c ,
* src/maths/cmaths/test_cx_mag.c ,
* src/maths/cmaths/test_cx_ph.c :
#3/4 switch realpart() and imagpart() args from ngcomplex* to ngcomplex
2012-02-07 Robert Larice
* src/frontend/diff.c ,
* src/include/ngspice/complex.h ,

View File

@ -41,7 +41,7 @@ DBgetData(struct plot *plot, char *name, int lengthWanted)
bcopy(v->v_realdata, data, sizeof (double) * (size_t) v->v_length);
} else {
for (i=0; i < v->v_length; i++) {
data[i] = realpart(&v->v_compdata[i]);
data[i] = realpart(v->v_compdata[i]);
}
}
return(data);

View File

@ -432,7 +432,7 @@ satisfied(struct dbcomm *d, struct plot *plot)
if (isreal(v1))
d1 = v1->v_realdata[v1->v_length - 1];
else
d1 = realpart(&(v1->v_compdata[v1->v_length - 1]));
d1 = realpart((v1->v_compdata[v1->v_length - 1]));
} else
d1 = d->db_value1;
@ -445,7 +445,7 @@ satisfied(struct dbcomm *d, struct plot *plot)
if (isreal(v2))
d2 = v2->v_realdata[v2->v_length - 1];
else
d2 = realpart(&(v2->v_compdata[v2->v_length - 1]));
d2 = realpart((v2->v_compdata[v2->v_length - 1]));
} else
d2 = d->db_value2;

View File

@ -38,8 +38,8 @@ 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]);
realpart(cdata[n]) = realpart(v->v_compdata[o]);
imagpart(cdata[n]) = imagpart(v->v_compdata[o]);
}
/* Now find the nextstrchr element... */
for (i = v->v_numdims - 1; i >= 0; i--) {
@ -192,14 +192,14 @@ com_compose(wordlist *wl)
if (realflag && isreal(v))
data[i] = v->v_realdata[0];
else if (isreal(v)) {
realpart(&cdata[i]) =
realpart(&v->v_compdata[0]);
imagpart(&cdata[i]) = 0.0;
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]);
realpart(cdata[i]) =
realpart(v->v_compdata[0]);
imagpart(cdata[i]) =
imagpart(v->v_compdata[0]);
}
i++;
continue;

View File

@ -305,8 +305,8 @@ cp_istrue(wordlist *wl)
}
} else {
for (i = 0; i < v->v_length; i++)
if ((realpart(&v->v_compdata[i]) != 0.0) ||
(imagpart(&v->v_compdata[i]) != 0.0)) {
if ((realpart(v->v_compdata[i]) != 0.0) ||
(imagpart(v->v_compdata[i]) != 0.0)) {
free_pnode(pn);
return (TRUE);
}

View File

@ -240,8 +240,8 @@ com_diff(wordlist *wl)
} else {
c1 = v1->v_compdata[i];
c2 = v2->v_compdata[i];
realpart(&c3) = realpart(&c1) - realpart(&c2);
imagpart(&c3) = imagpart(&c1) - imagpart(&c2);
realpart(c3) = realpart(c1) - realpart(c2);
imagpart(c3) = imagpart(c1) - imagpart(c2);
/* Stupid evil PC compilers */
cm1 = cmag(c1);
cm2 = cmag(c2);
@ -249,10 +249,10 @@ com_diff(wordlist *wl)
if (cmax * reltol +
tol < cmag(c3)) {
printnum(numbuf, realpart(&c1));
printnum(numbuf2, imagpart(&c1));
printnum(numbuf3, realpart(&c2));
printnum(numbuf4, imagpart(&c2));
printnum(numbuf, realpart(c1));
printnum(numbuf2, imagpart(c1));
printnum(numbuf3, realpart(c2));
printnum(numbuf4, imagpart(c2));
fprintf(cp_out,
"%s.%s[%d] = %-10s, %-10s %s.%s[%d] = %-10s, %s\n",

View File

@ -122,8 +122,8 @@ ft_ternary(struct pnode *node)
c = isreal(cond)
? (cond->v_realdata[0] != 0.0)
: ((realpart(cond->v_compdata) != 0.0) ||
(imagpart(cond->v_compdata) != 0.0) );
: ((realpart(cond->v_compdata[0]) != 0.0) ||
(imagpart(cond->v_compdata[0]) != 0.0) );
arg = c
? node->pn_right->pn_left
@ -261,8 +261,8 @@ doop(char what,
for ( ; i < length; i++)
d1[i] = ld;
} else {
realpart(&lc) = 0.0;
imagpart(&lc) = 0.0;
realpart(lc) = 0.0;
imagpart(lc) = 0.0;
c1 = TMALLOC(ngcomplex_t, length);
for (i = 0; i < v1->v_length; i++)
c1[i] = v1->v_compdata[i];
@ -288,8 +288,8 @@ doop(char what,
for ( ; i < length; i++)
d2[i] = ld;
} else {
realpart(&lc) = 0.0;
imagpart(&lc) = 0.0;
realpart(lc) = 0.0;
imagpart(lc) = 0.0;
c2 = TMALLOC(ngcomplex_t, length);
for (i = 0; i < v2->v_length; i++)
c2[i] = v2->v_compdata[i];
@ -586,8 +586,8 @@ op_range(struct pnode *arg1, struct pnode *arg2)
if (isreal(ind)) {
up = low = *ind->v_realdata;
} else {
up = imagpart(ind->v_compdata);
low = realpart(ind->v_compdata);
up = imagpart(ind->v_compdata[0]);
low = realpart(ind->v_compdata[0]);
}
if (up < low) {
td = up;
@ -597,7 +597,7 @@ op_range(struct pnode *arg1, struct pnode *arg2)
}
for (i = len = 0; i < scale->v_length; i++) {
td = isreal(scale) ? scale->v_realdata[i] :
realpart(&scale->v_compdata[i]);
realpart(scale->v_compdata[i]);
if ((td <= up) && (td >= low))
len++;
}
@ -632,15 +632,15 @@ op_range(struct pnode *arg1, struct pnode *arg2)
for (i = (rev ? v->v_length - 1 : 0); i != (rev ? -1 : v->v_length);
rev ? i-- : i++) {
td = isreal(scale) ? scale->v_realdata[i] :
realpart(&scale->v_compdata[i]);
realpart(scale->v_compdata[i]);
if ((td <= up) && (td >= low)) {
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]);
realpart(res->v_compdata[j]) =
realpart(v->v_compdata[i]);
imagpart(res->v_compdata[j]) =
imagpart(v->v_compdata[i]);
}
j++;
}
@ -718,8 +718,8 @@ op_ind(struct pnode *arg1, struct pnode *arg2)
down = up = (int)floor(ind->v_realdata[0] + 0.5);
} else {
newdim = v->v_numdims;
down = (int)floor(realpart(&ind->v_compdata[0]) + 0.5);
up = (int)floor(imagpart(&ind->v_compdata[0]) + 0.5);
down = (int)floor(realpart(ind->v_compdata[0]) + 0.5);
up = (int)floor(imagpart(ind->v_compdata[0]) + 0.5);
}
if (up < down) {
i = up;
@ -788,10 +788,10 @@ 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]);
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]);
}
}

View File

@ -56,7 +56,7 @@ cp_enqvar(char *word)
vv->va_real = d->v_realdata[0];
} else {
vv->va_real =
realpart(&d->v_compdata[0]);
realpart(d->v_compdata[0]);
}
} else {
vv = alloc(struct variable);
@ -71,7 +71,7 @@ cp_enqvar(char *word)
tv->va_real = d->v_realdata[i];
} else {
tv->va_real =
realpart(&d->v_compdata[i]);
realpart(d->v_compdata[i]);
}
tv->va_next = vv->va_vlist;
vv->va_vlist = tv;

View File

@ -198,7 +198,7 @@ ft_agraf(double *xlims, double *ylims, struct dvec *xscale, struct plot *plot, s
for (i = 0; i < maxx; i++) {
if (nointerp)
x = isreal(xscale) ? xscale->v_realdata[i] :
realpart(&xscale->v_compdata[i]);
realpart(xscale->v_compdata[i]);
else if (xlog && xrange[0] > 0.0 && xrange[1] > 0.0)
x = xrange[0] * pow( 10.0, mylog10(xrange[1]/xrange[0])
* i / (maxx - 1));
@ -206,21 +206,21 @@ ft_agraf(double *xlims, double *ylims, struct dvec *xscale, struct plot *plot, s
x = xrange[0] + (xrange[1] - xrange[0]) * i /
(maxx - 1);
while ((isreal(xscale) ? (xscale->v_realdata[upper] < x) :
(realpart(&xscale->v_compdata[upper]) < x)) &&
(realpart(xscale->v_compdata[upper]) < x)) &&
(upper < xscale->v_length - 1))
upper++;
while ((isreal(xscale) ? (xscale->v_realdata[lower] < x) :
(realpart(&xscale->v_compdata[lower]) < x)) &&
(realpart(xscale->v_compdata[lower]) < x)) &&
(lower < xscale->v_length - 1))
lower++;
if ((isreal(xscale) ? (xscale->v_realdata[lower] > x) :
(realpart(&xscale->v_compdata[lower]) > x)) &&
(realpart(xscale->v_compdata[lower]) > x)) &&
(lower > 0))
lower--;
x1 = (isreal(xscale) ? xscale->v_realdata[lower] :
realpart(&xscale->v_compdata[lower]));
realpart(xscale->v_compdata[lower]));
x2 = (isreal(xscale) ? xscale->v_realdata[upper] :
realpart(&xscale->v_compdata[upper]));
realpart(xscale->v_compdata[upper]));
if (x1 > x2) {
fprintf(cp_err, "Error: X scale (%s) not monotonic\n",
xscale->v_name);
@ -228,9 +228,9 @@ ft_agraf(double *xlims, double *ylims, struct dvec *xscale, struct plot *plot, s
}
for (v = vecs; v; v = v->v_link2) {
yy1 = (isreal(v) ? v->v_realdata[lower] :
realpart(&v->v_compdata[lower]));
realpart(v->v_compdata[lower]));
y2 = (isreal(v) ? v->v_realdata[upper] :
realpart(&v->v_compdata[upper]));
realpart(v->v_compdata[upper]));
if (x1 == x2)
y = yy1;
else
@ -290,7 +290,7 @@ ft_agraf(double *xlims, double *ylims, struct dvec *xscale, struct plot *plot, s
for (i = 0; i < maxx; i++) {
if (nointerp)
x = isreal(xscale) ? xscale->v_realdata[i] :
realpart(&xscale->v_compdata[i]);
realpart(xscale->v_compdata[i]);
else if (xlog && xrange[0] > 0.0 && xrange[1] > 0.0)
x = xrange[0] * pow( 10.0, mylog10(xrange[1]/xrange[0])
* i / (maxx - 1));

View File

@ -195,10 +195,10 @@ ft_gnuplot(double *xlims, double *ylims, char *filename, char *title, char *xlab
scale = v->v_scale;
xval = isreal(scale) ?
scale->v_realdata[i] : realpart(&scale->v_compdata[i]);
scale->v_realdata[i] : realpart(scale->v_compdata[i]);
yval = isreal(v) ?
v->v_realdata[i] : realpart(&v->v_compdata[i]);
v->v_realdata[i] : realpart(v->v_compdata[i]);
fprintf( file_data, "% e % e ", xval, yval );
}
@ -273,12 +273,12 @@ ft_writesimple(double *xlims, double *ylims, char *filename, char *title, char *
scale = v->v_scale;
xval = isreal(scale) ?
scale->v_realdata[i] : realpart(&scale->v_compdata[i]);
scale->v_realdata[i] : realpart(scale->v_compdata[i]);
if (isreal(v))
fprintf( file_data, "% e % e ", xval, v->v_realdata[i] );
else
fprintf( file_data, "% e % e % e ", xval, realpart(&v->v_compdata[i]), imagpart(&v->v_compdata[i]) );
fprintf( file_data, "% e % e % e ", xval, realpart(v->v_compdata[i]), imagpart(v->v_compdata[i]) );
}
fprintf( file_data, "\n");
}

View File

@ -688,7 +688,7 @@ iplot(struct plot *pl, int id)
Input(&reqst, 0);
/* First see if we have to make the screen bigger */
dy = (isreal(xs) ? xs->v_realdata[len - 1] :
realpart(&xs->v_compdata[len - 1]));
realpart(xs->v_compdata[len - 1]));
if (ft_grdb)
fprintf(cp_err, "x = %G\n", dy);
if (!if_tranparams(ft_curckt, &start, &stop, &step) ||
@ -744,7 +744,7 @@ iplot(struct plot *pl, int id)
if (!(v->v_flags & VF_PLOT))
continue;
dy = (isreal(v) ? v->v_realdata[len - 1] :
realpart(&v->v_compdata[len - 1]));
realpart(v->v_compdata[len - 1]));
if (ft_grdb)
fprintf(cp_err, "y = %G\n", dy);
/* checking for y lo */
@ -798,13 +798,13 @@ iplot(struct plot *pl, int id)
if (v->v_flags & VF_PLOT) {
gr_point(v,
(isreal(xs) ? xs->v_realdata[len - 1] :
realpart(&xs->v_compdata[len - 1])),
realpart(xs->v_compdata[len - 1])),
(isreal(v) ? v->v_realdata[len - 1] :
realpart(&v->v_compdata[len - 1])),
realpart(v->v_compdata[len - 1])),
(isreal(xs) ? xs->v_realdata[len - 2] :
realpart(&xs->v_compdata[len - 2])),
realpart(xs->v_compdata[len - 2])),
(isreal(v) ? v->v_realdata[len - 2] :
realpart(&v->v_compdata[len - 2])),
realpart(v->v_compdata[len - 2])),
len - 1);
}
}

View File

@ -71,11 +71,11 @@ ft_graf(struct dvec *v, struct dvec *xs, bool nostart)
break;
}
} else {
increasing = (realpart (&xs->v_compdata[0]) <
realpart( &xs->v_compdata[1]));
increasing = (realpart (xs->v_compdata[0]) <
realpart(xs->v_compdata[1]));
for (i = 0; i < xs->v_length - 1; i++)
if (increasing != (realpart( &xs->v_compdata[i]) <
realpart( &xs->v_compdata[i + 1]))) {
if (increasing != (realpart(xs->v_compdata[i]) <
realpart(xs->v_compdata[i + 1]))) {
fprintf(cp_err,
"Warning: scale not monotonic, gridsize not relevant.\n");
gridsize = 0;
@ -113,10 +113,10 @@ ft_graf(struct dvec *v, struct dvec *xs, bool nostart)
0.0, /* v->v_realdata[j], */
(j==i ? 1 : i));
} else {
gr_point(v, realpart(&v->v_compdata[i]),
imagpart(&v->v_compdata[i]),
realpart(&v->v_compdata[j]),
imagpart(&v->v_compdata[j]), (j==i ? 1 : i));
gr_point(v, realpart(v->v_compdata[i]),
imagpart(v->v_compdata[i]),
realpart(v->v_compdata[j]),
imagpart(v->v_compdata[j]), (j==i ? 1 : i));
}
}
gr_end(v);
@ -132,9 +132,9 @@ ft_graf(struct dvec *v, struct dvec *xs, bool nostart)
dir = 0;
for (i = 0, j = v->v_length; i < j; i++) {
dx = isreal(xs) ? xs->v_realdata[i] :
realpart(&xs->v_compdata[i]);
realpart(xs->v_compdata[i]);
dy = isreal(v) ? v->v_realdata[i] :
realpart(&v->v_compdata[i]);
realpart(v->v_compdata[i]);
if ((i == 0 || (dir > 0 ? lx > dx : dir < 0 ? lx < dx : 0))
&& xs->v_plot && xs->v_plot->pl_scale == xs)
{
@ -165,14 +165,14 @@ ft_graf(struct dvec *v, struct dvec *xs, bool nostart)
else {
ydata = TMALLOC(double, v->v_length);
for (i = 0; i < v->v_length; i++)
ydata[i] = realpart(&v->v_compdata[i]);
ydata[i] = realpart(v->v_compdata[i]);
}
if (isreal(xs))
xdata = xs->v_realdata;
else {
xdata = TMALLOC(double, xs->v_length);
for (i = 0; i < xs->v_length; i++)
xdata[i] = realpart(&xs->v_compdata[i]);
xdata[i] = realpart(xs->v_compdata[i]);
}
mm = ft_minmax(xs, TRUE);
@ -220,12 +220,12 @@ ft_graf(struct dvec *v, struct dvec *xs, bool nostart)
bcopy(v->v_realdata, ydata, (size_t)(degree + 1) * sizeof(double));
else
for (i = 0; i <= degree; i++)
ydata[i] = realpart(&v->v_compdata[i]);
ydata[i] = realpart(v->v_compdata[i]);
if (isreal(xs))
bcopy(xs->v_realdata, xdata, (size_t)(degree + 1) * sizeof(double));
else
for (i = 0; i <= degree; i++)
xdata[i] = realpart(&xs->v_compdata[i]);
xdata[i] = realpart(xs->v_compdata[i]);
rot = FALSE;
while (!ft_polyfit(xdata, ydata, result, degree, scratch)) {
@ -266,11 +266,11 @@ ft_graf(struct dvec *v, struct dvec *xs, bool nostart)
if (isreal(v))
ydata[i] = v->v_realdata[l];
else
ydata[i] = realpart(&v->v_compdata[l]);
ydata[i] = realpart(v->v_compdata[l]);
if (isreal(xs))
xdata[i] = xs->v_realdata[l];
else
xdata[i] = realpart(&xs->v_compdata[l]);
xdata[i] = realpart(xs->v_compdata[l]);
rot = FALSE;
while (!ft_polyfit(xdata, ydata, result, degree, scratch)) {

View File

@ -124,14 +124,14 @@ xtend(struct dvec *v, int length)
oc = v->v_compdata;
v->v_compdata = TMALLOC(ngcomplex_t, length);
for (i = 0; i < v->v_length; i++) {
realpart(&v->v_compdata[i]) = realpart(&oc[i]);
imagpart(&v->v_compdata[i]) = imagpart(&oc[i]);
realpart(v->v_compdata[i]) = realpart(oc[i]);
imagpart(v->v_compdata[i]) = imagpart(oc[i]);
}
realpart(&c) = realpart(&oc[--i]);
imagpart(&c) = imagpart(&oc[i]);
realpart(c) = realpart(oc[--i]);
imagpart(c) = imagpart(oc[i]);
while (i < length) {
realpart(&v->v_compdata[i]) = realpart(&c);
imagpart(&v->v_compdata[i++]) = imagpart(&c);
realpart(v->v_compdata[i]) = realpart(c);
imagpart(v->v_compdata[i++]) = imagpart(c);
tfree(oc);
}
}
@ -763,8 +763,8 @@ plotit(wordlist *wl, char *hcopy, char *devname)
for (j = 0; j < d->v_length; j++) {
/* (re - 1, im) / (re + 1, im) */
re = realpart(d->v_compdata + j);
im = imagpart(d->v_compdata + j);
re = realpart(d->v_compdata[j]);
im = imagpart(d->v_compdata[j]);
rex = re + 1;
imx = im;
@ -776,11 +776,11 @@ plotit(wordlist *wl, char *hcopy, char *devname)
* i = im / rex - re / rex * imx / rex;
*
*
* realpart(d->v_compdata + j) = r / x;
* imagpart(d->v_compdata + j) = i / x;
* realpart(d->v_compdata[j]) = r / x;
* imagpart(d->v_compdata[j]) = i / x;
*/
realpart(d->v_compdata + j) = (rex*re+imx*imx) / (rex*rex+imx*imx);
imagpart(d->v_compdata + j) = (2*imx) / (rex*rex+imx*imx);
realpart(d->v_compdata[j]) = (rex*re+imx*imx) / (rex*rex+imx*imx);
imagpart(d->v_compdata[j]) = (2*imx) / (rex*rex+imx*imx);
}
}
}

View File

@ -150,9 +150,9 @@ ft_xgraph(double *xlims, double *ylims, char *filename, char *title, char *xlabe
}
for ( i = 0; i < scale->v_length; i++ ) {
xval = isreal(scale) ?
scale->v_realdata[i] : realpart(&scale->v_compdata[i]);
scale->v_realdata[i] : realpart(scale->v_compdata[i]);
yval = isreal(v) ?
v->v_realdata[i] : realpart(&v->v_compdata[i]);
v->v_realdata[i] : realpart(v->v_compdata[i]);
fprintf( file, "% e % e\n", xval, yval );
}
fprintf( file, "\n" );

View File

@ -33,9 +33,9 @@ ft_minmax(struct dvec *v, bool real)
if (isreal(v))
d = v->v_realdata[i];
else if (real)
d = realpart(&v->v_compdata[i]);
d = realpart(v->v_compdata[i]);
else
d = imagpart(&v->v_compdata[i]);
d = imagpart(v->v_compdata[i]);
if (d < res[0])
res[0] = d;
if (d > res[1])
@ -85,7 +85,7 @@ ft_SMITHminmax(struct dvec *v, bool yval)
if (isreal(v))
SMITH_tfm( v->v_realdata[i], 0.0, &d, &d2 );
else
SMITH_tfm( realpart(&v->v_compdata[i]), imagpart(&v->v_compdata[i]),
SMITH_tfm( realpart(v->v_compdata[i]), imagpart(v->v_compdata[i]),
&d, &d2 );
/* Are we are looking for min/max X or Y ralue
*/

View File

@ -171,8 +171,8 @@ com_print(wordlist *wl)
printnum(numbuf, *v->v_realdata);
out_printf("%s = %s\n", buf, numbuf);
} else {
printnum(numbuf, realpart(v->v_compdata));
printnum(numbuf2, imagpart(v->v_compdata));
printnum(numbuf, realpart(v->v_compdata[0]));
printnum(numbuf2, imagpart(v->v_compdata[0]));
out_printf("%s = %s,%s\n", buf,
numbuf,
numbuf2);
@ -195,8 +195,8 @@ com_print(wordlist *wl)
out_send("\t");
} else {
/*DG*/
printnum(numbuf, realpart(&v->v_compdata[i]));
printnum(numbuf2, imagpart(&v->v_compdata[i]));
printnum(numbuf, realpart(v->v_compdata[i]));
printnum(numbuf2, imagpart(v->v_compdata[i]));
(void) sprintf(buf, "%s,%s",
numbuf,
numbuf2);
@ -288,7 +288,7 @@ nextpage:
*/
if(eq(v->v_name, "frequency"))
{
if(imagpart(&v->v_compdata[0])==0.0)
if(imagpart(v->v_compdata[0])==0.0)
{
(void) sprintf(buf2, "%-16.15s", v->v_name);
}
@ -337,16 +337,16 @@ loop:
/* In case of a single frequency and have a real part avoids print imaginary part equals 0. */
if(eq(v->v_name, "frequency"))
{
if(imagpart(&v->v_compdata[j])==0.0)
if(imagpart(v->v_compdata[j])==0.0)
{
printnum(numbuf, realpart(&v->v_compdata[j]));
printnum(numbuf, realpart(v->v_compdata[j]));
(void) sprintf(out_pbuf, "%s\t",numbuf);
}
}
else
{
printnum(numbuf, realpart(&v->v_compdata[j]));
printnum(numbuf2, imagpart(&v->v_compdata[j]));
printnum(numbuf, realpart(v->v_compdata[j]));
printnum(numbuf2, imagpart(v->v_compdata[j]));
(void) sprintf(out_pbuf, "%s,\t%s\t",numbuf,numbuf2);
}
out_send(out_pbuf);
@ -750,16 +750,16 @@ 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]);
realpart(v->v_compdata[i]) =
realpart(n->v_compdata[ind]);
imagpart(v->v_compdata[i]) =
imagpart(n->v_compdata[ind]);
} else
v->v_realdata[i] = n->v_realdata[ind];
} else {
if (comp) {
realpart(&v->v_compdata[i]) = 0.0;
imagpart(&v->v_compdata[i]) = 0.0;
realpart(v->v_compdata[i]) = 0.0;
imagpart(v->v_compdata[i]) = 0.0;
} else
v->v_realdata[i] = 0.0;
}

View File

@ -200,7 +200,7 @@ raw_write(char *name, struct plot *pl, bool app, bool binary)
if (i < v->v_length) {
if (realflag) {
dd = (isreal(v) ? v->v_realdata[i] :
realpart(&v->v_compdata[i]));
realpart(v->v_compdata[i]));
(void) fwrite(&dd, sizeof
(double), 1, fp);
} else if (isreal(v)) {
@ -211,10 +211,10 @@ raw_write(char *name, struct plot *pl, bool app, bool binary)
(void) fwrite(&dd, sizeof
(double), 1, fp);
} else {
dd = realpart(&v->v_compdata[i]);
dd = realpart(v->v_compdata[i]);
(void) fwrite(&dd, sizeof
(double), 1, fp);
dd = imagpart(&v->v_compdata[i]);
dd = imagpart(v->v_compdata[i]);
(void) fwrite(&dd, sizeof
(double), 1, fp);
}
@ -241,15 +241,15 @@ raw_write(char *name, struct plot *pl, bool app, bool binary)
if (realflag)
fprintf(fp, "\t%.*e\n", prec,
isreal(v) ? v->v_realdata[i] :
realpart(&v->v_compdata[i]));
realpart(v->v_compdata[i]));
else if (isreal(v))
fprintf(fp, "\t%.*e,0.0\n", prec,
v->v_realdata[i]);
else
fprintf(fp, "\t%.*e,%.*e\n", prec,
realpart(&v->v_compdata[i]),
realpart(v->v_compdata[i]),
prec,
imagpart(&v->v_compdata[i]));
imagpart(v->v_compdata[i]));
} else if (raw_padding) {
if (realflag) {
fprintf(fp, "\t%.*e\n", prec, 0.0);
@ -626,8 +626,8 @@ raw_read(char *name) {
getout
} else {
if (fscanf(fp, " %lf, %lf",
&realpart(&v->v_compdata[i]),
&imagpart(&v->v_compdata[i])) != 2)
&realpart(v->v_compdata[i]),
&imagpart(v->v_compdata[i])) != 2)
getout
}
} else if (raw_padded) {
@ -828,12 +828,12 @@ spar_write(char *name, struct plot *pl, double Rbaseval)
if (i < v->v_length) {
if (cieq(v->v_name, "frequency"))
fprintf(fp, "% .*e ", prec,
realpart(&v->v_compdata[i]));
realpart(v->v_compdata[i]));
else
fprintf(fp, "% .*e % .*e ", prec,
realpart(&v->v_compdata[i]),
realpart(v->v_compdata[i]),
prec,
imagpart(&v->v_compdata[i]));
imagpart(v->v_compdata[i]));
}
}
(void) putc('\n', fp);

View File

@ -996,10 +996,10 @@ 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 ]);
realpart(newcomp[ koffset + joffset + i ]) =
realpart(oldcomp[ koffset + i*dim0 + j ]);
imagpart(newcomp[ koffset + joffset + i ]) =
imagpart(oldcomp[ koffset + i*dim0 + j ]);
}
joffset += dim1; /* joffset = j*dim0 */
}

View File

@ -14,8 +14,8 @@ struct ngcomplex {
typedef struct ngcomplex ngcomplex_t;
#define realpart(cval) (cval)->cx_real
#define imagpart(cval) (cval)->cx_imag
#define realpart(cval) (&(cval))->cx_real
#define imagpart(cval) (&(cval))->cx_imag
#ifdef CIDER
/* From Cider numcomplex.h
@ -70,8 +70,8 @@ typedef struct {
/* Some defines used mainly in cmath.c. */
#define FTEcabs(d) (((d) < 0.0) ? - (d) : (d))
#define cph(c) (atan2(imagpart(&(c)), (realpart(&(c)))))
#define cmag(c) (sqrt(imagpart(&(c)) * imagpart(&(c)) + realpart(&(c)) * realpart(&(c))))
#define cph(c) (atan2(imagpart(c), (realpart(c))))
#define cmag(c) (sqrt(imagpart(c) * imagpart(c) + realpart(c) * realpart(c)))
#define radtodeg(c) (cx_degrees ? ((c) / 3.14159265358979323846 * 180) : (c))
#define degtorad(c) (cx_degrees ? ((c) * 3.14159265358979323846 / 180) : (c))
#define rcheck(cond, name) if (!(cond)) { \

View File

@ -107,12 +107,12 @@ cx_j(void *data, short int type, int length, int *newlength, short int *newtype)
*newtype = VF_COMPLEX;
if (type == VF_COMPLEX)
for (i = 0; i < length; i++) {
realpart(&c[i]) = - imagpart(&cc[i]);
imagpart(&c[i]) = realpart(&cc[i]);
realpart(c[i]) = - imagpart(cc[i]);
imagpart(c[i]) = realpart(cc[i]);
}
else
for (i = 0; i < length; i++) {
imagpart(&c[i]) = dd[i];
imagpart(c[i]) = dd[i];
/* Real part is already 0. */
}
return ((void *) c);
@ -130,7 +130,7 @@ cx_real(void *data, short int type, int length, int *newlength, short int *newty
*newtype = VF_REAL;
if (type == VF_COMPLEX)
for (i = 0; i < length; i++)
d[i] = realpart(&cc[i]);
d[i] = realpart(cc[i]);
else
for (i = 0; i < length; i++)
d[i] = dd[i];
@ -149,7 +149,7 @@ cx_imag(void *data, short int type, int length, int *newlength, short int *newty
*newtype = VF_REAL;
if (type == VF_COMPLEX)
for (i = 0; i < length; i++)
d[i] = imagpart(&cc[i]);
d[i] = imagpart(cc[i]);
else
for (i = 0; i < length; i++)
d[i] = dd[i];
@ -170,7 +170,7 @@ cx_pos(void *data, short int type, int length, int *newlength, short int *newtyp
*newtype = VF_REAL;
if (type == VF_COMPLEX)
for (i = 0; i < length; i++)
d[i] = ((realpart(&cc[i]) > 0.0) ? 1.0 : 0.0);
d[i] = ((realpart(cc[i]) > 0.0) ? 1.0 : 0.0);
else
for (i = 0; i < length; i++)
d[i] = ((dd[i] > 0.0) ? 1.0 : 0.0);
@ -232,12 +232,12 @@ cx_log(void *data, short int type, int length, int *newlength, short int *newtyp
*/
rcheck(td >= 0, "log");
if (td == 0.0) {
realpart(&c[i]) = - log10(HUGE);
imagpart(&c[i]) = 0.0;
realpart(c[i]) = - log10(HUGE);
imagpart(c[i]) = 0.0;
} else {
realpart(&c[i]) = log10(td);
imagpart(&c[i]) = atan2(imagpart(&cc[i]),
realpart(&cc[i]));
realpart(c[i]) = log10(td);
imagpart(c[i]) = atan2(imagpart(cc[i]),
realpart(cc[i]));
}
}
return ((void *) c);
@ -276,12 +276,12 @@ cx_ln(void *data, short int type, int length, int *newlength, short int *newtype
td = cmag(cc[i]);
rcheck(td >= 0, "ln");
if (td == 0.0) {
realpart(&c[i]) = - log(HUGE);
imagpart(&c[i]) = 0.0;
realpart(c[i]) = - log(HUGE);
imagpart(c[i]) = 0.0;
} else {
realpart(&c[i]) = log(td);
imagpart(&c[i]) = atan2(imagpart(&cc[i]),
realpart(&cc[i]));
realpart(c[i]) = log(td);
imagpart(c[i]) = atan2(imagpart(cc[i]),
realpart(cc[i]));
}
}
return ((void *) c);
@ -317,9 +317,9 @@ cx_exp(void *data, short int type, int length, int *newlength, short int *newtyp
for (i = 0; i < length; i++) {
double td;
td = exp(realpart(&cc[i]));
realpart(&c[i]) = td * cos(imagpart(&cc[i]));
imagpart(&c[i]) = td * sin(imagpart(&cc[i]));
td = exp(realpart(cc[i]));
realpart(c[i]) = td * cos(imagpart(cc[i]));
imagpart(c[i]) = td * sin(imagpart(cc[i]));
}
return ((void *) c);
} else {
@ -358,49 +358,49 @@ cx_sqrt(void *data, short int type, int length, int *newlength, short int *newty
*newlength = length;
if (type == VF_COMPLEX) {
for (i = 0; i < length; i++) {
if (realpart(&cc[i]) == 0.0) {
if (imagpart(&cc[i]) == 0.0) {
realpart(&c[i]) = 0.0;
imagpart(&c[i]) = 0.0;
} else if (imagpart(&cc[i]) > 0.0) {
realpart(&c[i]) = sqrt (0.5 *
imagpart(&cc[i]));
imagpart(&c[i]) = realpart(&c[i]);
if (realpart(cc[i]) == 0.0) {
if (imagpart(cc[i]) == 0.0) {
realpart(c[i]) = 0.0;
imagpart(c[i]) = 0.0;
} else if (imagpart(cc[i]) > 0.0) {
realpart(c[i]) = sqrt (0.5 *
imagpart(cc[i]));
imagpart(c[i]) = realpart(c[i]);
} else {
imagpart(&c[i]) = sqrt( -0.5 *
imagpart(&cc[i]));
realpart(&c[i]) = - imagpart(&c[i]);
imagpart(c[i]) = sqrt( -0.5 *
imagpart(cc[i]));
realpart(c[i]) = - imagpart(c[i]);
}
} else if (realpart(&cc[i]) > 0.0) {
if (imagpart(&cc[i]) == 0.0) {
realpart(&c[i]) =
sqrt(realpart(&cc[i]));
imagpart(&c[i]) = 0.0;
} else if (imagpart(&cc[i]) < 0.0) {
realpart(&c[i]) = -sqrt(0.5 *
(cmag(cc[i]) + realpart(&cc[i])));
} else if (realpart(cc[i]) > 0.0) {
if (imagpart(cc[i]) == 0.0) {
realpart(c[i]) =
sqrt(realpart(cc[i]));
imagpart(c[i]) = 0.0;
} else if (imagpart(cc[i]) < 0.0) {
realpart(c[i]) = -sqrt(0.5 *
(cmag(cc[i]) + realpart(cc[i])));
} else {
realpart(&c[i]) = sqrt(0.5 *
(cmag(cc[i]) + realpart(&cc[i])));
realpart(c[i]) = sqrt(0.5 *
(cmag(cc[i]) + realpart(cc[i])));
}
imagpart(&c[i]) = imagpart(&cc[i]) / (2.0 *
realpart(&c[i]));
} else { /* realpart(&cc[i]) < 0.0) */
if (imagpart(&cc[i]) == 0.0) {
realpart(&c[i]) = 0.0;
imagpart(&c[i]) =
sqrt(- realpart(&cc[i]));
imagpart(c[i]) = imagpart(cc[i]) / (2.0 *
realpart(c[i]));
} else { /* realpart(cc[i]) < 0.0) */
if (imagpart(cc[i]) == 0.0) {
realpart(c[i]) = 0.0;
imagpart(c[i]) =
sqrt(- realpart(cc[i]));
} else {
if (imagpart(&cc[i]) < 0.0)
imagpart(&c[i]) = - sqrt(0.5 *
if (imagpart(cc[i]) < 0.0)
imagpart(c[i]) = - sqrt(0.5 *
(cmag(cc[i]) -
realpart(&cc[i])));
realpart(cc[i])));
else
imagpart(&c[i]) = sqrt(0.5 *
imagpart(c[i]) = sqrt(0.5 *
(cmag(cc[i]) -
realpart(&cc[i])));
realpart(&c[i]) = imagpart(&cc[i]) /
(2.0 * imagpart(&c[i]));
realpart(cc[i])));
realpart(c[i]) = imagpart(cc[i]) /
(2.0 * imagpart(c[i]));
}
}
}
@ -408,9 +408,9 @@ cx_sqrt(void *data, short int type, int length, int *newlength, short int *newty
} else if (cres) {
for (i = 0; i < length; i++)
if (dd[i] < 0.0)
imagpart(&c[i]) = sqrt(- dd[i]);
imagpart(c[i]) = sqrt(- dd[i]);
else
realpart(&c[i]) = sqrt(dd[i]);
realpart(c[i]) = sqrt(dd[i]);
return ((void *) c);
} else {
for (i = 0; i < length; i++)
@ -431,10 +431,10 @@ cx_sin(void *data, short int type, int length, int *newlength, short int *newtyp
c = alloc_c(length);
*newtype = VF_COMPLEX;
for (i = 0; i < length; i++) {
realpart(&c[i]) = sin(degtorad(realpart(&cc[i]))) *
cosh(degtorad(imagpart(&cc[i])));
imagpart(&c[i]) = cos(degtorad(realpart(&cc[i]))) *
sinh(degtorad(imagpart(&cc[i])));
realpart(c[i]) = sin(degtorad(realpart(cc[i]))) *
cosh(degtorad(imagpart(cc[i])));
imagpart(c[i]) = cos(degtorad(realpart(cc[i]))) *
sinh(degtorad(imagpart(cc[i])));
}
return ((void *) c);
} else {
@ -464,10 +464,10 @@ cx_sinh(void *data, short int type, int length, int *newlength, short int *newty
*newtype = VF_COMPLEX;
for (i = 0; i < length; i++) {
/* sinh(x+iy) = sinh(x)*cos(y) + i * cosh(x)*sin(y) */
u = degtorad(realpart(&cc[i]));
v = degtorad(imagpart(&cc[i]));
realpart(&c[i]) = sinh(u)*cos(v);
imagpart(&c[i]) = cosh(u)*sin(v);
u = degtorad(realpart(cc[i]));
v = degtorad(imagpart(cc[i]));
realpart(c[i]) = sinh(u)*cos(v);
imagpart(c[i]) = cosh(u)*sin(v);
}
return ((void *) c);
} else {
@ -496,10 +496,10 @@ cx_cos(void *data, short int type, int length, int *newlength, short int *newtyp
c = alloc_c(length);
*newtype = VF_COMPLEX;
for (i = 0; i < length; i++) {
realpart(&c[i]) = cos(degtorad(realpart(&cc[i]))) *
cosh(degtorad(imagpart(&cc[i])));
imagpart(&c[i]) = - sin(degtorad(realpart(&cc[i]))) *
sinh(degtorad(imagpart(&cc[i])));
realpart(c[i]) = cos(degtorad(realpart(cc[i]))) *
cosh(degtorad(imagpart(cc[i])));
imagpart(c[i]) = - sin(degtorad(realpart(cc[i]))) *
sinh(degtorad(imagpart(cc[i])));
}
return ((void *) c);
} else {
@ -531,10 +531,10 @@ cx_cosh(void *data, short int type, int length, int *newlength, short int *newty
*newtype = VF_COMPLEX;
for (i = 0; i < length; i++) {
/* cosh(x+iy) = cosh(x)*cos(y) + i * sinh(x)*sin(y) */
u = degtorad(realpart(&cc[i]));
v = degtorad(imagpart(&cc[i]));
realpart(&c[i]) = cosh(u)*cos(v);
imagpart(&c[i]) = sinh(u)*sin(v);
u = degtorad(realpart(cc[i]));
v = degtorad(imagpart(cc[i]));
realpart(c[i]) = cosh(u)*cos(v);
imagpart(c[i]) = sinh(u)*sin(v);
}
return ((void *) c);
} else {
@ -588,12 +588,12 @@ c_tan(ngcomplex_t *cc, int length)
for (i = 0; i < length; i++) {
double u, v;
rcheck(cos(degtorad(realpart(&cc[i]))) *
cosh(degtorad(imagpart(&cc[i]))), "tan");
rcheck(sin(degtorad(realpart(&cc[i]))) *
sinh(degtorad(imagpart(&cc[i]))), "tan");
u = degtorad(realpart(&cc[i]));
v = degtorad(imagpart(&cc[i]));
rcheck(cos(degtorad(realpart(cc[i]))) *
cosh(degtorad(imagpart(cc[i]))), "tan");
rcheck(sin(degtorad(realpart(cc[i]))) *
sinh(degtorad(imagpart(cc[i]))), "tan");
u = degtorad(realpart(cc[i]));
v = degtorad(imagpart(cc[i]));
/* The Lattice C compiler won't take multi-line macros, and
* CMS won't take >80 column lines....
*/
@ -601,7 +601,7 @@ c_tan(ngcomplex_t *cc, int length)
#define xx2 cos(u) * sinh(v)
#define xx3 cos(u) * cosh(v)
#define xx4 -sin(u) * sinh(v)
cdiv(xx1, xx2, xx3, xx4, realpart(&c[i]), imagpart(&c[i]));
cdiv(xx1, xx2, xx3, xx4, realpart(c[i]), imagpart(c[i]));
}
return c;
}
@ -619,8 +619,8 @@ c_tanh(ngcomplex_t *cc, int length)
for (i = 0; i < length; i++) {
/* multiply by i */
t[0].cx_real = -1. * imagpart(&cc[i]);
t[0].cx_imag = realpart(&cc[i]);
t[0].cx_real = -1. * imagpart(cc[i]);
t[0].cx_imag = realpart(cc[i]);
/* get complex tangent */
s = c_tan(t, 1);
/* if check in c_tan fails */
@ -629,8 +629,8 @@ c_tanh(ngcomplex_t *cc, int length)
return (NULL);
}
/* multiply by -i */
realpart(&c[i]) = imagpart(&s[0]);
imagpart(&c[i]) = -1. * realpart(&s[0]);
realpart(c[i]) = imagpart(s[0]);
imagpart(c[i]) = -1. * realpart(s[0]);
}
tfree(s);
tfree(t);
@ -676,7 +676,7 @@ cx_atan(void *data, short int type, int length, int *newlength, short int *newty
int i;
for (i = 0; i < length; i++)
d[i] = radtodeg(atan(realpart(&cc[i])));
d[i] = radtodeg(atan(realpart(cc[i])));
} else {
double *dd = (double *) data;
int i;

View File

@ -82,8 +82,8 @@ cx_norm(void *data, short int type, int length, int *newlength, short int *newty
*newtype = VF_COMPLEX;
for (i = 0; i < length; i++) {
realpart(&c[i]) = realpart(&cc[i]) / largest;
imagpart(&c[i]) = imagpart(&cc[i]) / largest;
realpart(c[i]) = realpart(cc[i]) / largest;
imagpart(c[i]) = imagpart(cc[i]) / largest;
}
return ((void *) c);
} else {
@ -112,8 +112,8 @@ cx_uminus(void *data, short int type, int length, int *newlength, short int *new
c = alloc_c(length);
*newtype = VF_COMPLEX;
for (i = 0; i < length; i++) {
realpart(&c[i]) = - realpart(&cc[i]);
imagpart(&c[i]) = - imagpart(&cc[i]);
realpart(c[i]) = - realpart(cc[i]);
imagpart(c[i]) = - imagpart(cc[i]);
}
return ((void *) c);
} else {
@ -150,10 +150,10 @@ cx_rnd(void *data, short int type, int length, int *newlength, short int *newtyp
*newtype = VF_COMPLEX;
for (i = 0; i < length; i++) {
int j, k;
j = (int)floor(realpart(&cc[i]));
k = (int)floor(imagpart(&cc[i]));
realpart(&c[i]) = j ? rand() % j : 0;
imagpart(&c[i]) = k ? rand() % k : 0;
j = (int)floor(realpart(cc[i]));
k = (int)floor(imagpart(cc[i]));
realpart(c[i]) = j ? rand() % j : 0;
imagpart(c[i]) = k ? rand() % k : 0;
}
return ((void *) c);
} else {
@ -189,8 +189,8 @@ cx_sunif(void *data, short int type, int length, int *newlength, short int *newt
c = alloc_c(length);
*newtype = VF_COMPLEX;
for (i = 0; i < length; i++) {
realpart(&c[i]) = drand();
imagpart(&c[i]) = drand();
realpart(c[i]) = drand();
imagpart(c[i]) = drand();
}
return ((void *) c);
} else {
@ -226,8 +226,8 @@ cx_poisson(void *data, short int type, int length, int *newlength, short int *ne
c = alloc_c(length);
*newtype = VF_COMPLEX;
for (i = 0; i < length; i++) {
realpart(&c[i]) = poisson (realpart(&cc[i]));
imagpart(&c[i]) = poisson (imagpart(&cc[i]));
realpart(c[i]) = poisson (realpart(cc[i]));
imagpart(c[i]) = poisson (imagpart(cc[i]));
}
return ((void *) c);
} else {
@ -264,8 +264,8 @@ cx_exponential(void *data, short int type, int length, int *newlength, short int
c = alloc_c(length);
*newtype = VF_COMPLEX;
for (i = 0; i < length; i++) {
realpart(&c[i]) = exprand(realpart(&cc[i]));
imagpart(&c[i]) = exprand(imagpart(&cc[i]));
realpart(c[i]) = exprand(realpart(cc[i]));
imagpart(c[i]) = exprand(imagpart(cc[i]));
}
return ((void *) c);
} else {
@ -299,8 +299,8 @@ cx_sgauss(void *data, short int type, int length, int *newlength, short int *new
c = alloc_c(length);
*newtype = VF_COMPLEX;
for (i = 0; i < length; i++) {
realpart(&c[i]) = gauss0();
imagpart(&c[i]) = gauss0();
realpart(c[i]) = gauss0();
imagpart(c[i]) = gauss0();
}
return ((void *) c);
} else {
@ -352,11 +352,11 @@ void
*newlength = length;
for (i = 0; i < length; i++) {
sum_real += realpart(&cc[i]);
realpart(&c[i]) = sum_real / (double)(i+1);
sum_real += realpart(cc[i]);
realpart(c[i]) = sum_real / (double)(i+1);
sum_imag += imagpart(&cc[i]);
imagpart(&c[i]) = sum_imag / (double)(i+1);
sum_imag += imagpart(cc[i]);
imagpart(c[i]) = sum_imag / (double)(i+1);
}
return ((void *) c);
@ -391,11 +391,11 @@ cx_mean(void *data, short int type, int length, int *newlength, short int *newty
c = alloc_c(1);
*newtype = VF_COMPLEX;
for (i = 0; i < length; i++) {
realpart(c) += realpart(cc + i);
imagpart(c) += imagpart(cc + i);
realpart(*c) += realpart(cc[i]);
imagpart(*c) += imagpart(cc[i]);
}
realpart(c) /= length;
imagpart(c) /= length;
realpart(*c) /= length;
imagpart(*c) /= length;
return ((void *) c);
}
}
@ -500,21 +500,21 @@ cx_plus(void *data1, void *data2, short int datatype1, short int datatype2, int
c = alloc_c(length);
for (i = 0; i < length; i++) {
if (datatype1 == VF_REAL) {
realpart(&c1) = dd1[i];
imagpart(&c1) = 0.0;
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(&c1) = realpart(&cc1[i]);
imagpart(&c1) = imagpart(&cc1[i]);
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
}
if (datatype2 == VF_REAL) {
realpart(&c2) = dd2[i];
imagpart(&c2) = 0.0;
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(&c2) = realpart(&cc2[i]);
imagpart(&c2) = imagpart(&cc2[i]);
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
}
realpart(&c[i]) = realpart(&c1) + realpart(&c2);
imagpart(&c[i]) = imagpart(&c1) + imagpart(&c2);
realpart(c[i]) = realpart(c1) + realpart(c2);
imagpart(c[i]) = imagpart(c1) + imagpart(c2);
}
return ((void *) c);
}
@ -540,21 +540,21 @@ cx_minus(void *data1, void *data2, short int datatype1, short int datatype2, int
c = alloc_c(length);
for (i = 0; i < length; i++) {
if (datatype1 == VF_REAL) {
realpart(&c1) = dd1[i];
imagpart(&c1) = 0.0;
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(&c1) = realpart(&cc1[i]);
imagpart(&c1) = imagpart(&cc1[i]);
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
}
if (datatype2 == VF_REAL) {
realpart(&c2) = dd2[i];
imagpart(&c2) = 0.0;
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(&c2) = realpart(&cc2[i]);
imagpart(&c2) = imagpart(&cc2[i]);
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
}
realpart(&c[i]) = realpart(&c1) - realpart(&c2);
imagpart(&c[i]) = imagpart(&c1) - imagpart(&c2);
realpart(c[i]) = realpart(c1) - realpart(c2);
imagpart(c[i]) = imagpart(c1) - imagpart(c2);
}
return ((void *) c);
}
@ -580,23 +580,23 @@ cx_times(void *data1, void *data2, short int datatype1, short int datatype2, int
c = alloc_c(length);
for (i = 0; i < length; i++) {
if (datatype1 == VF_REAL) {
realpart(&c1) = dd1[i];
imagpart(&c1) = 0.0;
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(&c1) = realpart(&cc1[i]);
imagpart(&c1) = imagpart(&cc1[i]);
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
}
if (datatype2 == VF_REAL) {
realpart(&c2) = dd2[i];
imagpart(&c2) = 0.0;
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(&c2) = realpart(&cc2[i]);
imagpart(&c2) = imagpart(&cc2[i]);
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
}
realpart(&c[i]) = realpart(&c1) * realpart(&c2)
- imagpart(&c1) * imagpart(&c2);
imagpart(&c[i]) = imagpart(&c1) * realpart(&c2)
+ realpart(&c1) * imagpart(&c2);
realpart(c[i]) = realpart(c1) * realpart(c2)
- imagpart(c1) * imagpart(c2);
imagpart(c[i]) = imagpart(c1) * realpart(c2)
+ realpart(c1) * imagpart(c2);
}
return ((void *) c);
}
@ -628,31 +628,31 @@ cx_mod(void *data1, void *data2, short int datatype1, short int datatype2, int l
c = alloc_c(length);
for (i = 0; i < length; i++) {
if (datatype1 == VF_REAL) {
realpart(&c1) = dd1[i];
imagpart(&c1) = 0.0;
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(&c1) = realpart(&cc1[i]);
imagpart(&c1) = imagpart(&cc1[i]);
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
}
if (datatype2 == VF_REAL) {
realpart(&c2) = dd2[i];
imagpart(&c2) = 0.0;
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(&c2) = realpart(&cc2[i]);
imagpart(&c2) = imagpart(&cc2[i]);
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
}
r1 = (int)floor(FTEcabs(realpart(&c1)));
r1 = (int)floor(FTEcabs(realpart(c1)));
rcheck(r1 > 0, "mod");
r2 = (int)floor(FTEcabs(realpart(&c2)));
r2 = (int)floor(FTEcabs(realpart(c2)));
rcheck(r2 > 0, "mod");
i1 = (int)floor(FTEcabs(imagpart(&c1)));
i1 = (int)floor(FTEcabs(imagpart(c1)));
rcheck(i1 > 0, "mod");
i2 = (int)floor(FTEcabs(imagpart(&c2)));
i2 = (int)floor(FTEcabs(imagpart(c2)));
rcheck(i2 > 0, "mod");
r3 = r1 % r2;
i3 = i1 % i2;
realpart(&c[i]) = (double) r3;
imagpart(&c[i]) = (double) i3;
realpart(c[i]) = (double) r3;
imagpart(c[i]) = (double) i3;
}
return ((void *) c);
}
@ -689,14 +689,14 @@ cx_max(void *data, short int type, int length, int *newlength, short int *newtyp
c = alloc_c(1);
*newtype = VF_COMPLEX;
largest_real=realpart(cc);
largest_complex=imagpart(cc);
largest_real=realpart(*cc);
largest_complex=imagpart(*cc);
for (i = 0; i < length; i++) {
if (realpart(cc + i)>largest_real) largest_real=realpart(cc + i);
if (imagpart(cc + i)>largest_complex) largest_complex=imagpart(cc + i);
if (realpart(cc[i])>largest_real) largest_real=realpart(cc[i]);
if (imagpart(cc[i])>largest_complex) largest_complex=imagpart(cc[i]);
}
realpart(c) = largest_real;
imagpart(c) = largest_complex;
realpart(*c) = largest_real;
imagpart(*c) = largest_complex;
return ((void *) c);
}
}
@ -730,14 +730,14 @@ cx_min(void *data, short int type, int length, int *newlength, short int *newtyp
c = alloc_c(1);
*newtype = VF_COMPLEX;
smallest_real=realpart(cc);
smallest_complex=imagpart(cc);
smallest_real=realpart(*cc);
smallest_complex=imagpart(*cc);
for (i = 1; i < length; i++) {
if (realpart(cc + i)<smallest_real) smallest_real=realpart(cc + i);
if (imagpart(cc + i)<smallest_complex) smallest_complex=imagpart(cc + i);
if (realpart(cc[i])<smallest_real) smallest_real=realpart(cc[i]);
if (imagpart(cc[i])<smallest_complex) smallest_complex=imagpart(cc[i]);
}
realpart(c) = smallest_real;
imagpart(c) = smallest_complex;
realpart(*c) = smallest_real;
imagpart(*c) = smallest_complex;
return ((void *) c);
}
}
@ -772,15 +772,15 @@ cx_d(void *data, short int type, int length, int *newlength, short int *newtype)
c = alloc_c(length);
*newtype = VF_COMPLEX;
realpart(c)=realpart(cc+1)-realpart(cc);
imagpart(c)=imagpart(cc+1)-imagpart(cc);
realpart(c+length-1)=realpart(cc+length-1)-realpart(cc+length-2);
imagpart(c+length-1)=imagpart(cc+length-1)-imagpart(cc+length-2);
realpart(*c)=realpart(cc[1])-realpart(cc[0]);
imagpart(*c)=imagpart(cc[1])-imagpart(cc[0]);
realpart(c[length-1])=realpart(cc[length-1])-realpart(cc[length-2]);
imagpart(c[length-1])=imagpart(cc[length-1])-imagpart(cc[length-2]);
for (i = 1; i < (length-1); i++) {
realpart(c+i)=realpart(cc+i+1)-realpart(cc+i-1);
imagpart(c+i)=imagpart(cc+i+1)-imagpart(cc+i-1);
realpart(c[i])=realpart(cc[i+1])-realpart(cc[i-1]);
imagpart(c[i])=imagpart(cc[i+1])-imagpart(cc[i-1]);
}
return ((void *) c);
@ -799,8 +799,8 @@ cx_floor(void *data, short int type, int length, int *newlength, short int *newt
c = alloc_c(length);
*newtype = VF_COMPLEX;
for (i = 0; i < length; i++) {
realpart(&c[i]) = floor(realpart(&cc[i]));
imagpart(&c[i]) = floor(imagpart(&cc[i]));
realpart(c[i]) = floor(realpart(cc[i]));
imagpart(c[i]) = floor(imagpart(cc[i]));
}
return ((void *) c);
} else {
@ -828,8 +828,8 @@ cx_ceil(void *data, short int type, int length, int *newlength, short int *newty
c = alloc_c(length);
*newtype = VF_COMPLEX;
for (i = 0; i < length; i++) {
realpart(&c[i]) = ceil(realpart(&cc[i]));
imagpart(&c[i]) = ceil(imagpart(&cc[i]));
realpart(c[i]) = ceil(realpart(cc[i]));
imagpart(c[i]) = ceil(imagpart(cc[i]));
}
return ((void *) c);
} else {

View File

@ -49,23 +49,23 @@ cx_divide(void *data1, void *data2, short int datatype1, short int datatype2, in
c = alloc_c(length);
for (i = 0; i < length; i++) {
if (datatype1 == VF_REAL) {
realpart(&c1) = dd1[i];
imagpart(&c1) = 0.0;
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(&c1) = realpart(&cc1[i]);
imagpart(&c1) = imagpart(&cc1[i]);
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
}
if (datatype2 == VF_REAL) {
realpart(&c2) = dd2[i];
imagpart(&c2) = 0.0;
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(&c2) = realpart(&cc2[i]);
imagpart(&c2) = imagpart(&cc2[i]);
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
}
rcheck((realpart(&c2) != 0) || (imagpart(&c2) != 0), "divide");
#define xx5 realpart(&c1)
#define xx6 imagpart(&c1)
cdiv(xx5, xx6, realpart(&c2), imagpart(&c2), realpart(&c[i]), imagpart(&c[i]));
rcheck((realpart(c2) != 0) || (imagpart(c2) != 0), "divide");
#define xx5 realpart(c1)
#define xx6 imagpart(c1)
cdiv(xx5, xx6, realpart(c2), imagpart(c2), realpart(c[i]), imagpart(c[i]));
}
return ((void *) c);
}
@ -89,22 +89,22 @@ cx_comma(void *data1, void *data2, short int datatype1, short int datatype2, int
c = alloc_c(length);
for (i = 0; i < length; i++) {
if (datatype1 == VF_REAL) {
realpart(&c1) = dd1[i];
imagpart(&c1) = 0.0;
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(&c1) = realpart(&cc1[i]);
imagpart(&c1) = imagpart(&cc1[i]);
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
}
if (datatype2 == VF_REAL) {
realpart(&c2) = dd2[i];
imagpart(&c2) = 0.0;
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(&c2) = realpart(&cc2[i]);
imagpart(&c2) = imagpart(&cc2[i]);
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
}
realpart(&c[i]) = realpart(&c1) + imagpart(&c2);
imagpart(&c[i]) = imagpart(&c1) + realpart(&c2);
realpart(c[i]) = realpart(c1) + imagpart(c2);
imagpart(c[i]) = imagpart(c1) + realpart(c2);
}
return ((void *) c);
}
@ -131,33 +131,33 @@ cx_power(void *data1, void *data2, short int datatype1, short int datatype2, int
c = alloc_c(length);
for (i = 0; i < length; i++) {
if (datatype1 == VF_REAL) {
realpart(&c1) = dd1[i];
imagpart(&c1) = 0.0;
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(&c1) = realpart(&cc1[i]);
imagpart(&c1) = imagpart(&cc1[i]);
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
}
if (datatype2 == VF_REAL) {
realpart(&c2) = dd2[i];
imagpart(&c2) = 0.0;
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(&c2) = realpart(&cc2[i]);
imagpart(&c2) = imagpart(&cc2[i]);
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
}
if ((realpart(&c1) == 0.0) && (imagpart(&c1) == 0.0)) {
realpart(&c[i]) = 0.0;
imagpart(&c[i]) = 0.0;
} else { /* if ((imagpart(&c1) != 0.0) &&
(imagpart(&c2) != 0.0)) */
if ((realpart(c1) == 0.0) && (imagpart(c1) == 0.0)) {
realpart(c[i]) = 0.0;
imagpart(c[i]) = 0.0;
} 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);
realpart(c[i]) = realpart(*t);
imagpart(c[i]) = imagpart(*t);
/*
} else {
realpart(&c[i]) = pow(realpart(&c1),
realpart(&c2));
imagpart(&c[i]) = 0.0;
realpart(c[i]) = pow(realpart(c1),
realpart(c2));
imagpart(c[i]) = 0.0;
*/
}
}
@ -173,12 +173,12 @@ cexp_sp3(ngcomplex_t *c)
static ngcomplex_t r;
double d;
d = exp(realpart(c));
realpart(&r) = d * cos(imagpart(c));
if (imagpart(c) != 0.0)
imagpart(&r) = d * sin(imagpart(c));
d = exp(realpart(*c));
realpart(r) = d * cos(imagpart(*c));
if (imagpart(*c) != 0.0)
imagpart(r) = d * sin(imagpart(*c));
else
imagpart(&r) = 0.0;
imagpart(r) = 0.0;
return (&r);
}
@ -188,11 +188,11 @@ cln(ngcomplex_t *c)
static ngcomplex_t r;
rcheck(cmag(*c) != 0, "ln");
realpart(&r) = log(cmag(*c));
if (imagpart(c) != 0.0)
imagpart(&r) = atan2(imagpart(c), realpart(c));
realpart(r) = log(cmag(*c));
if (imagpart(*c) != 0.0)
imagpart(r) = atan2(imagpart(*c), realpart(*c));
else
imagpart(&r) = 0.0;
imagpart(r) = 0.0;
return (&r);
}
@ -201,10 +201,10 @@ ctimes(ngcomplex_t *c1, ngcomplex_t *c2)
{
static ngcomplex_t r;
realpart(&r) = realpart(c1) * realpart(c2) -
imagpart(c1) * imagpart(c2);
imagpart(&r) = imagpart(c1) * realpart(c2) +
realpart(c1) * imagpart(c2);
realpart(r) = realpart(*c1) * realpart(*c2) -
imagpart(*c1) * imagpart(*c2);
imagpart(r) = imagpart(*c1) * realpart(*c2) +
realpart(*c1) * imagpart(*c2);
return (&r);
}
@ -236,21 +236,21 @@ cx_eq(void *data1, void *data2, short int datatype1, short int datatype2, int le
} else {
for (i = 0; i < length; i++) {
if (datatype1 == VF_REAL) {
realpart(&c1) = dd1[i];
imagpart(&c1) = 0.0;
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(&c1) = realpart(&cc1[i]);
imagpart(&c1) = imagpart(&cc1[i]);
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
}
if (datatype2 == VF_REAL) {
realpart(&c2) = dd2[i];
imagpart(&c2) = 0.0;
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(&c2) = realpart(&cc2[i]);
imagpart(&c2) = imagpart(&cc2[i]);
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
}
d[i] = ((realpart(&c1) == realpart(&c2)) &&
(imagpart(&c1) == imagpart(&c2)));
d[i] = ((realpart(c1) == realpart(c2)) &&
(imagpart(c1) == imagpart(c2)));
}
}
return ((void *) d);
@ -277,21 +277,21 @@ cx_gt(void *data1, void *data2, short int datatype1, short int datatype2, int le
} else {
for (i = 0; i < length; i++) {
if (datatype1 == VF_REAL) {
realpart(&c1) = dd1[i];
imagpart(&c1) = 0.0;
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(&c1) = realpart(&cc1[i]);
imagpart(&c1) = imagpart(&cc1[i]);
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
}
if (datatype2 == VF_REAL) {
realpart(&c2) = dd2[i];
imagpart(&c2) = 0.0;
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(&c2) = realpart(&cc2[i]);
imagpart(&c2) = imagpart(&cc2[i]);
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
}
d[i] = ((realpart(&c1) > realpart(&c2)) &&
(imagpart(&c1) > imagpart(&c2)));
d[i] = ((realpart(c1) > realpart(c2)) &&
(imagpart(c1) > imagpart(c2)));
}
}
return ((void *) d);
@ -318,21 +318,21 @@ cx_lt(void *data1, void *data2, short int datatype1, short int datatype2, int le
} else {
for (i = 0; i < length; i++) {
if (datatype1 == VF_REAL) {
realpart(&c1) = dd1[i];
imagpart(&c1) = 0.0;
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(&c1) = realpart(&cc1[i]);
imagpart(&c1) = imagpart(&cc1[i]);
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
}
if (datatype2 == VF_REAL) {
realpart(&c2) = dd2[i];
imagpart(&c2) = 0.0;
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(&c2) = realpart(&cc2[i]);
imagpart(&c2) = imagpart(&cc2[i]);
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
}
d[i] = ((realpart(&c1) < realpart(&c2)) &&
(imagpart(&c1) < imagpart(&c2)));
d[i] = ((realpart(c1) < realpart(c2)) &&
(imagpart(c1) < imagpart(c2)));
}
}
return ((void *) d);
@ -359,21 +359,21 @@ cx_ge(void *data1, void *data2, short int datatype1, short int datatype2, int le
} else {
for (i = 0; i < length; i++) {
if (datatype1 == VF_REAL) {
realpart(&c1) = dd1[i];
imagpart(&c1) = 0.0;
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(&c1) = realpart(&cc1[i]);
imagpart(&c1) = imagpart(&cc1[i]);
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
}
if (datatype2 == VF_REAL) {
realpart(&c2) = dd2[i];
imagpart(&c2) = 0.0;
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(&c2) = realpart(&cc2[i]);
imagpart(&c2) = imagpart(&cc2[i]);
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
}
d[i] = ((realpart(&c1) >= realpart(&c2)) &&
(imagpart(&c1) >= imagpart(&c2)));
d[i] = ((realpart(c1) >= realpart(c2)) &&
(imagpart(c1) >= imagpart(c2)));
}
}
return ((void *) d);
@ -400,21 +400,21 @@ cx_le(void *data1, void *data2, short int datatype1, short int datatype2, int le
} else {
for (i = 0; i < length; i++) {
if (datatype1 == VF_REAL) {
realpart(&c1) = dd1[i];
imagpart(&c1) = 0.0;
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(&c1) = realpart(&cc1[i]);
imagpart(&c1) = imagpart(&cc1[i]);
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
}
if (datatype2 == VF_REAL) {
realpart(&c2) = dd2[i];
imagpart(&c2) = 0.0;
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(&c2) = realpart(&cc2[i]);
imagpart(&c2) = imagpart(&cc2[i]);
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
}
d[i] = ((realpart(&c1) <= realpart(&c2)) &&
(imagpart(&c1) <= imagpart(&c2)));
d[i] = ((realpart(c1) <= realpart(c2)) &&
(imagpart(c1) <= imagpart(c2)));
}
}
return ((void *) d);
@ -441,21 +441,21 @@ cx_ne(void *data1, void *data2, short int datatype1, short int datatype2, int le
} else {
for (i = 0; i < length; i++) {
if (datatype1 == VF_REAL) {
realpart(&c1) = dd1[i];
imagpart(&c1) = 0.0;
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(&c1) = realpart(&cc1[i]);
imagpart(&c1) = imagpart(&cc1[i]);
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
}
if (datatype2 == VF_REAL) {
realpart(&c2) = dd2[i];
imagpart(&c2) = 0.0;
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(&c2) = realpart(&cc2[i]);
imagpart(&c2) = imagpart(&cc2[i]);
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
}
d[i] = ((realpart(&c1) != realpart(&c2)) &&
(imagpart(&c1) != imagpart(&c2)));
d[i] = ((realpart(c1) != realpart(c2)) &&
(imagpart(c1) != imagpart(c2)));
}
}
return ((void *) d);

View File

@ -50,21 +50,21 @@ cx_and(void *data1, void *data2, short int datatype1, short int datatype2, int l
} else {
for (i = 0; i < length; i++) {
if (datatype1 == VF_REAL) {
realpart(&c1) = dd1[i];
imagpart(&c1) = 0.0;
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(&c1) = realpart(&cc1[i]);
imagpart(&c1) = imagpart(&cc1[i]);
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
}
if (datatype2 == VF_REAL) {
realpart(&c2) = dd2[i];
imagpart(&c2) = 0.0;
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(&c2) = realpart(&cc2[i]);
imagpart(&c2) = imagpart(&cc2[i]);
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
}
d[i] = ((realpart(&c1) && realpart(&c2)) &&
(imagpart(&c1) && imagpart(&c2)));
d[i] = ((realpart(c1) && realpart(c2)) &&
(imagpart(c1) && imagpart(c2)));
}
}
return ((void *) d);
@ -88,21 +88,21 @@ cx_or(void *data1, void *data2, short int datatype1, short int datatype2, int le
} else {
for (i = 0; i < length; i++) {
if (datatype1 == VF_REAL) {
realpart(&c1) = dd1[i];
imagpart(&c1) = 0.0;
realpart(c1) = dd1[i];
imagpart(c1) = 0.0;
} else {
realpart(&c1) = realpart(&cc1[i]);
imagpart(&c1) = imagpart(&cc1[i]);
realpart(c1) = realpart(cc1[i]);
imagpart(c1) = imagpart(cc1[i]);
}
if (datatype2 == VF_REAL) {
realpart(&c2) = dd2[i];
imagpart(&c2) = 0.0;
realpart(c2) = dd2[i];
imagpart(c2) = 0.0;
} else {
realpart(&c2) = realpart(&cc2[i]);
imagpart(&c2) = imagpart(&cc2[i]);
realpart(c2) = realpart(cc2[i]);
imagpart(c2) = imagpart(cc2[i]);
}
d[i] = ((realpart(&c1) || realpart(&c2)) &&
(imagpart(&c1) || imagpart(&c2)));
d[i] = ((realpart(c1) || realpart(c2)) &&
(imagpart(c1) || imagpart(c2)));
}
}
return ((void *) d);
@ -122,8 +122,8 @@ cx_not(void *data, short int type, int length, int *newlength, short int *newtyp
if (type == VF_COMPLEX) {
for (i = 0; i < length; i++) {
/* gcc doens't like !double */
d[i] = realpart(&cc[i]) ? 0 : 1;
d[i] = imagpart(&cc[i]) ? 0 : 1;
d[i] = realpart(cc[i]) ? 0 : 1;
d[i] = imagpart(cc[i]) ? 0 : 1;
}
} else {
for (i = 0; i < length; i++)
@ -265,7 +265,7 @@ cx_deriv(void *data, short int type, int length, int *newlength, short int *newt
if (pl->pl_scale->v_type == VF_COMPLEX)
/* Not ideal */
for (i = 0; i < length; i++)
scale[i] = realpart(&pl->pl_scale->v_compdata[i]);
scale[i] = realpart(pl->pl_scale->v_compdata[i]);
else
for (i = 0; i < length; i++)
scale[i] = pl->pl_scale->v_realdata[i];
@ -360,7 +360,7 @@ cx_deriv(void *data, short int type, int length, int *newlength, short int *newt
/* Modified to deal with complex frequency vector */
if (pl->pl_scale->v_type == VF_COMPLEX)
for (i = 0; i < length; i++)
scale[i] = realpart(&pl->pl_scale->v_compdata[i]);
scale[i] = realpart(pl->pl_scale->v_compdata[i]);
else
for (i = 0; i < length; i++)
scale[i] = pl->pl_scale->v_realdata[i];
@ -389,7 +389,7 @@ cx_deriv(void *data, short int type, int length, int *newlength, short int *newt
*/
if (pl->pl_scale->v_type == VF_COMPLEX)
x = realpart(&pl->pl_scale->v_compdata[j+base]); /* For complex scale vector */
x = realpart(pl->pl_scale->v_compdata[j+base]); /* For complex scale vector */
else
x = pl->pl_scale->v_realdata[j + base]; /* For real scale vector */
@ -403,7 +403,7 @@ cx_deriv(void *data, short int type, int length, int *newlength, short int *newt
/* Again the same error */
/* x = pl->pl_scale->v_realdata[j + base]; */
if (pl->pl_scale->v_type == VF_COMPLEX)
x = realpart(&pl->pl_scale->v_compdata[j+base]); /* For complex scale vector */
x = realpart(pl->pl_scale->v_compdata[j+base]); /* For complex scale vector */
else
x = pl->pl_scale->v_realdata[j + base]; /* For real scale vector */

View File

@ -34,15 +34,15 @@ main(void)
t1 = VF_COMPLEX;
c = alloc_c(n1);
realpart(&c[0]) = 0.0; imagpart(&c[0]) = +1.0; /* i^1 */
realpart(&c[1]) = -1.0; imagpart(&c[1]) = 0.0; /* i^2 */
realpart(&c[2]) = 0.0; imagpart(&c[2]) = -1.0; /* i^3 */
realpart(&c[3]) = +1.0; imagpart(&c[3]) = 0.0; /* i^4 */
realpart(&c[4]) = 0.0; imagpart(&c[4]) = +1.0; /* i^5 */
realpart(&c[5]) = +1.0; imagpart(&c[5]) = 0.0; /* i^4 */
realpart(&c[6]) = 0.0; imagpart(&c[6]) = -1.0; /* i^3 */
realpart(&c[7]) = -1.0; imagpart(&c[7]) = 0.0; /* i^2 */
realpart(&c[8]) = 0.0; imagpart(&c[8]) = +1.0; /* i^1 */
realpart(c[0]) = 0.0; imagpart(c[0]) = +1.0; /* i^1 */
realpart(c[1]) = -1.0; imagpart(c[1]) = 0.0; /* i^2 */
realpart(c[2]) = 0.0; imagpart(c[2]) = -1.0; /* i^3 */
realpart(c[3]) = +1.0; imagpart(c[3]) = 0.0; /* i^4 */
realpart(c[4]) = 0.0; imagpart(c[4]) = +1.0; /* i^5 */
realpart(c[5]) = +1.0; imagpart(c[5]) = 0.0; /* i^4 */
realpart(c[6]) = 0.0; imagpart(c[6]) = -1.0; /* i^3 */
realpart(c[7]) = -1.0; imagpart(c[7]) = 0.0; /* i^2 */
realpart(c[8]) = 0.0; imagpart(c[8]) = +1.0; /* i^1 */
d = (double *) cx_cph((void *) c, t1, n1, &n2, &t2);

View File

@ -24,10 +24,10 @@ main(void)
n1 = 1;
t1 = VF_COMPLEX;
c = alloc_c(n1);
realpart(&c[0]) = .0;
imagpart(&c[0]) = 1.0;
realpart(c[0]) = .0;
imagpart(c[0]) = 1.0;
d = (ngcomplex_t *) cx_j((void *) c, t1, n1, &n2, &t2);
if (realpart(&d[0]) == -1 && imagpart(&d[0]) == 0)
if (realpart(d[0]) == -1 && imagpart(d[0]) == 0)
return 0;
else
return 1;

View File

@ -24,8 +24,8 @@ main(void)
n1 = 1;
t1 = VF_COMPLEX;
c = alloc_c(n1);
realpart(&c[0]) = .0;
imagpart(&c[0]) = 1.0;
realpart(c[0]) = .0;
imagpart(c[0]) = 1.0;
d = (double *) cx_mag((void *) c, t1, n1, &n2, &t2);
if (d[0] == 1)
return 0;

View File

@ -28,8 +28,8 @@ main(void)
n1 = 1;
t1 = VF_COMPLEX;
c = alloc_c(n1);
realpart(&c[0]) = .0;
imagpart(&c[0]) = 1.0;
realpart(c[0]) = .0;
imagpart(c[0]) = 1.0;
d = (double *) cx_ph((void *) c, t1, n1, &n2, &t2);
if (M_PI/2 - eps < d[0] && d[0] < M_PI/2 + eps)
return 0;

View File

@ -192,8 +192,8 @@ oldread(char *name)
} else {
tfread(&f1, sizeof (float), 1, fp);
tfread(&f2, sizeof (float), 1, fp);
realpart(&v->v_compdata[i]) = f1;
imagpart(&v->v_compdata[i]) = f2;
realpart(v->v_compdata[i]) = f1;
imagpart(v->v_compdata[i]) = f2;
}
}
}
@ -296,11 +296,11 @@ oldwrite(char *name, bool app, struct plot *pl)
tfwrite(&zero, sizeof (float), 1, fp);
} else if ((tp == VF_COMPLEX) && iscomplex(v)) {
if (i < v->v_length) {
f1 = (float) realpart(&v->v_compdata[i]);
f2 = (float) imagpart(&v->v_compdata[i]);
f1 = (float) realpart(v->v_compdata[i]);
f2 = (float) imagpart(v->v_compdata[i]);
} else {
f1 = (float) realpart(&v->v_compdata[v-> v_length - 1]);
f2 = (float) imagpart(&v->v_compdata[v-> v_length - 1]);
f1 = (float) realpart(v->v_compdata[v-> v_length - 1]);
f2 = (float) imagpart(v->v_compdata[v-> v_length - 1]);
}
tfwrite(&f1, sizeof (float), 1, fp);
tfwrite(&f2, sizeof (float), 1, fp);

View File

@ -1546,7 +1546,7 @@ static void dvecToBlt(Blt_Vector *Data, struct dvec *x) {
data = TMALLOC(double, x->v_length);
for(i=0;i<x->v_length;i++) {
data[i] = realpart(&x->v_compdata[i]);
data[i] = realpart(x->v_compdata[i]);
}
Blt_ResetVector (Data, data, x->v_length, x->v_length, TCL_VOLATILE);