MCPcopy Create free account
hub / github.com/ObEngine/ObEngine / bitrv2conj

Function bitrv2conj

extlibs/soloud/src/core/soloud_fft.cpp:428–784  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

426
427
428 void bitrv2conj(int n, float *a)
429 {
430 int j0, k0, j1, k1, l, m, i, j, k, nh;
431 float xr, xi, yr, yi;
432
433 m = 4;
434 for (l = n >> 2; l > 8; l >>= 2) {
435 m <<= 1;
436 }
437 nh = n >> 1;
438 if (l == 8) {
439 j0 = 0;
440 for (k0 = 0; k0 < m; k0 += 4) {
441 k = k0;
442 for (j = j0; j < j0 + k0; j += 4) {
443 xr = a[j];
444 xi = -a[j + 1];
445 yr = a[k];
446 yi = -a[k + 1];
447 a[j] = yr;
448 a[j + 1] = yi;
449 a[k] = xr;
450 a[k + 1] = xi;
451 j1 = j + m;
452 k1 = k + 2 * m;
453 xr = a[j1];
454 xi = -a[j1 + 1];
455 yr = a[k1];
456 yi = -a[k1 + 1];
457 a[j1] = yr;
458 a[j1 + 1] = yi;
459 a[k1] = xr;
460 a[k1 + 1] = xi;
461 j1 += m;
462 k1 -= m;
463 xr = a[j1];
464 xi = -a[j1 + 1];
465 yr = a[k1];
466 yi = -a[k1 + 1];
467 a[j1] = yr;
468 a[j1 + 1] = yi;
469 a[k1] = xr;
470 a[k1 + 1] = xi;
471 j1 += m;
472 k1 += 2 * m;
473 xr = a[j1];
474 xi = -a[j1 + 1];
475 yr = a[k1];
476 yi = -a[k1 + 1];
477 a[j1] = yr;
478 a[j1 + 1] = yi;
479 a[k1] = xr;
480 a[k1 + 1] = xi;
481 j1 += nh;
482 k1 += 2;
483 xr = a[j1];
484 xi = -a[j1 + 1];
485 yr = a[k1];

Callers 1

cftbsubFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected