Description | ..._addC: | Y_{i*samp} += C, | i=0,...subsize-1 |
..._addV: | Y_{i*samp} += X_{i}, | i=0,...subsize-1 |
..._subC: | Y_{i*samp} -= C, | i=0,...subsize-1 |
..._subV: | Y_{i*samp} -= X_{i}, | i=0,...subsize-1 |
..._subrC: | Y_{i*samp} = C - Y_{i*samp}, | i=0,...subsize-1 |
..._subrV: | Y_{i*samp} = X_{i}- Y_{i*samp}, | i=0,...subsize-1 |
..._mulC: | Y_{i*samp} *= C, | i=0,...subsize-1 |
..._mulV: | Y_{i*samp} *= X_{i}, | i=0,...subsize-1 |
..._divC: | Y_{i*samp} /= C, | i=0,...subsize-1 |
..._divV: | Y_{i*samp} /= X_{i}, | i=0,...subsize-1 |
..._divrC: | Y_{i*samp} = C / Y_{i*samp}, | i=0,...subsize-1 |
..._divrV: | Y_{i*samp} = X_{i} / Y_{i*samp}, | i=0,...subsize-1 |
Polar complex versions:
only multiplication and division are present: *...mulC, ...mulV, ...divC, ...divV, ...divrC*, and *...divrV*.
The operation indicated in the suffix of the function name is perfomed on a sub-set of the elements of a vector. The sampling interval is denoted by samp: every samp'th element is taken, up to a total of subsize, starting with the zero'th one (that means, subsize is not the total size of the vector, but rather the size of the sub-set, i.e. the number of elements for which the function is performed). Note that all operations are performed in place, i.e., the input vector itself is changed.
For similar functions not included in the above list, the necessary sequence of calls is similar to the following example (which shows how to calculate the sinc function of the zero'th and then every tenth element of X, assuming that size is an integer multiple of 10):
VF_subvector( Y, size/10, 10, X );
VF_sinc( Y, Y, size/10 );
VF_subvector_equV( X, size/10, 10, Y );
(However, in such cases, you would sometimes prefer the classic style of a loop with the loop-increment set to 10. Only if the desired function is not available in the math library of your compiler, the effort of copying back and forth into the dummy vector Y will pay off.) |