doubleComplex zcschs(doubleComplex z) { doubleComplex out; out = zrdivs(DoubleComplex(1,0),zsinhs(z)); return out; }
void zcolumnmeana(doubleComplex *in, int lines, int columns, doubleComplex *out) { int i = 0; zcolumnsuma(in, lines, columns, out); for (i = 0; i < lines; ++i) { out[i] = zrdivs(out[i] , DoubleComplex((double) columns, 0.0f)); } }
doubleComplex zvariancefa(doubleComplex *in1, int size, doubleComplex *in2) { int i = 0 ; doubleComplex temp = DoubleComplex (0.0, 0.0 ); doubleComplex accumulate =DoubleComplex (0.0, 0.0 ); doubleComplex accumulateFre = DoubleComplex (0.0, 0.0 ); doubleComplex meanf = zmeanfa (in1 , size , in2); for(i = 0 ; i < size ; ++i) { temp = zpows ( zdiffs (in1[i] , meanf ) ,DoubleComplex (2.0, 0.0 ) ); temp = zmuls( in2[i] , temp); accumulate = zadds( temp , accumulate); accumulateFre = zadds(in2[i ] ,accumulateFre ); } return zrdivs(accumulate, zdiffs(accumulateFre ,DoubleComplex(1.0,0.0) )); }
doubleComplex zvariancea(doubleComplex *in, int size) { int i = 0 ; doubleComplex sum = DoubleComplex ( 0 , 0 ) ; doubleComplex temp = DoubleComplex ( 0 , 0 ) ; doubleComplex variance = DoubleComplex ( 0 , 0 ); doubleComplex mean = zmeana ( in , size ) ; for ( i = 0 ; i < size ; i++) { temp = zdiffs( in[i] , mean ) ; sum = zadds ( sum , zpows ( temp , DoubleComplex ( 2, 0) ) ); } variance = zrdivs (sum , DoubleComplex ( (size - 1),0 )); return variance ; }
void zrdiva (doubleComplex* in1, doubleComplex* in2, int size, doubleComplex* out ) { int i=0; for (i=0; i<size; i++) { out[i]=zrdivs(in1[i],in2[i]); } }