ios - Accelerate framework "sign" function -


i'm trying find super fast way of getting sign of each value in vector. hoping find function in accelerate framework this, couldn't find one. here's do:

float *inputvector = .... // audio vector int length = ...// length of input vector. float *outputvector = ....// result  for( int = 0; i<length; i++ ) {   if( inputvector[i] >= 0 ) outputvector[i] = 1;   else outputvector[i] = -1; } 

ok, think i've found way...

vvcopysignf() "copies array, setting sign of each value based on second array."

so, 1 method make array of 1s, use function change sign of 1s based on input array.

float *ones = ... // vector filled 1's float *input = .... // input vector float *output = ... // output vector int buffersize = ... // size of vectors;  vvcopysignf(output, ones, input, &buffersize);  //output array of -1s , 1s based sign of input. 

Comments

Popular posts from this blog

c++ - No viable overloaded operator for references a map -

java - Custom OutputStreamAppender not run: LOGBACK: No context given for <MYAPPENDER> -

java - Cannot secure connection using TLS -