This subroutine copies unaligned complex vector (passed as ap::complex*) 1. strideb is stride measured in complex numbers, not doubles 2. conj may be "N" (no conj.) or "C" (conj.) ********************************************************************/
| 403 | 2. conj may be "N" (no conj.) or "C" (conj.) |
| 404 | ********************************************************************/ |
| 405 | void ialglib::vcopy_complex(int n, const ap::complex *a, int stridea, double *b, int strideb, char *conj) |
| 406 | { |
| 407 | int i; |
| 408 | |
| 409 | // |
| 410 | // more general case |
| 411 | // |
| 412 | if( conj[0]=='N' || conj[0]=='n' ) |
| 413 | { |
| 414 | for(i=0; i<n; i++,a+=stridea,b+=2*strideb) |
| 415 | { |
| 416 | b[0] = a->x; |
| 417 | b[1] = a->y; |
| 418 | } |
| 419 | } |
| 420 | else |
| 421 | { |
| 422 | for(i=0; i<n; i++,a+=stridea,b+=2*strideb) |
| 423 | { |
| 424 | b[0] = a->x; |
| 425 | b[1] = -a->y; |
| 426 | } |
| 427 | } |
| 428 | } |
| 429 | |
| 430 | |
| 431 | /******************************************************************** |
nothing calls this directly
no outgoing calls
no test coverage detected