36 double *dd = (
double *) data;
50 for (i = 0; i < length; i++) {
58 #define xx1 sin(u) * cosh(v) 59 #define xx2 cos(u) * sinh(v) 60 #define xx3 cos(u) * cosh(v) 61 #define xx4 sin(u) * sinh(v) 67 for (i = 0; i < length; i++) {
86 double *dd = (
double *) data;
94 for (i = 0; i < length; i++)
98 for (i = 0; i < length; i++)
115 double *
d, largest = 0.0;
117 double *dd = (
double *) data;
131 for (i = 0; i < length; i++)
132 if (
cmag(&cc[i]) > largest)
133 largest =
cmag(&cc[i]);
136 for (i = 0; i < length; i++)
140 if (largest == 0.0) {
141 fprintf(
cp_err,
"Error: can't normalize a 0 vector\n");
145 for (i = 0; i < length; i++) {
152 for (i = 0; i < length; i++)
153 d[i] = dd[i] / largest;
170 double *dd = (
double *) data;
184 for (i = 0; i < length; i++) {
191 for (i = 0; i < length; i++)
211 double *dd = (
double *) data;
215 rcheck(length > 0,
"mean");
219 for (i = 0; i < length; i++)
227 for (i = 0; i < length; i++) {
271 double *dd = (
double *) data;
284 for (i = 0; i < len; i++)
302 double *dd = (
double *) data;
315 for (i = 0; i < len; i++)
328 cx_plus(data1, data2, datatype1, datatype2, length)
331 short datatype1, datatype2;
333 double *dd1 = (
double *) data1;
334 double *dd2 = (
double *) data2;
343 for (i = 0; i < length; i++)
344 d[i] = dd1[i] + dd2[i];
349 for (i = 0; i < length; i++) {
373 cx_minus(data1, data2, datatype1, datatype2, length)
376 short datatype1, datatype2;
378 double *dd1 = (
double *) data1;
379 double *dd2 = (
double *) data2;
388 for (i = 0; i < length; i++)
389 d[i] = dd1[i] - dd2[i];
394 for (i = 0; i < length; i++) {
420 cx_times(data1, data2, datatype1, datatype2, length)
423 short datatype1, datatype2;
425 double *dd1 = (
double *) data1;
426 double *dd2 = (
double *) data2;
435 for (i = 0; i < length; i++)
436 d[i] = dd1[i] * dd2[i];
441 for (i = 0; i < length; i++) {
467 cx_mod(data1, data2, datatype1, datatype2, length)
470 short datatype1, datatype2;
472 double *dd1 = (
double *) data1;
473 double *dd2 = (
double *) data2;
478 int i, r1, r2, i1, i2, r3, i3;
482 for (i = 0; i < length; i++) {
494 for (i = 0; i < length; i++) {
531 cx_rnd(data,
type, length, newlength, newtype)
542 double *dd = (
double *) data;
554 for (i = 0; i < length; i++) {
557 realpart(&c[i]) = j ? random() % j : 0;
558 imagpart(&c[i]) = k ? random() % k : 0;
562 for (i = 0; i < length; i++) {
564 d[i] = j ? random() % j : 0;
589 double *dd = (
double *) data;
602 for (i = 0; i < length; i++) {
609 for (i = 0; i < length; i++) {
635 double *dd = (
double *) data;
643 for (i = 0; i < length; i++) {
648 for (i = 0; i < length; i++) {
char * cx_times(char *data1, char *data2, short datatype1, short datatype2, length)
char * cx_tan(char *data, short type, int length, int *newlength, short *newtype)
#define cdiv(r1, i1, r2, i2, r3, i3)
char * cx_length(char *data, short type, int length, int *newlength, short *newtype)
char * cx_unitvec(char *data, short type, int length, int *newlength, short *newtype)
char * cx_minus(char *data1, char *data2, short datatype1, short datatype2, length)
#define rcheck(cond, name)
char * cx_atan(char *data, short type, int length, int *newlength, short *newtype)
char * cx_rnd(char *data, short type, int length, int *newlength, short *newtype)
char * cx_vector(char *data, short type, int length, int *newlength, short *newtype)
char * cx_uminus(char *data, short type, int length, int *newlength, short *newtype)
char * cx_gauss(char *data, short type, int length, int *newlength, short *newtype)
char * cx_norm(char *data, short type, int length, int *newlength, short *newtype)
char * cx_mod(char *data1, char *data2, short datatype1, short datatype2, length)
char * cx_plus(char *data1, char *data2, short datatype1, short datatype2, length)
char * cx_mean(char *data, short type, int length, int *newlength, short *newtype)