Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,30 @@ The function has the following parameters:

## Notes

- Let `N` equal the number of elements in the input ndarray. The input ndarray is divided into three sections:

```text
size = 2N 2N 2+ceil(log2(N)/2)
↓ ↓ ↓
| scratch / workspace | twiddle factors | radix factor table |
↑ ↑ ↑
i = 0 ... 2N ... 4N ...
```

- **scratch/workspace**: used as a scratch space when performing transforms. This section is not updated during initialization.
- **twiddle factors**: a table of reusable complex-exponential constants stored as cosine/sine pairs.
- **radix factor table**: a table containing the sequence length `N`, the number of factors into which `N` was decomposed, and the individual integer radix factors.

- In general, an input ndarray should have `4N + 34` indexed elements (as `log2(N)/2 ≤ 32` for all `2^64`). During initialization, only the sections for storing twiddle factors and the factorization of `N` are updated.

- The radix factor table is comprised as follows:

```text
| sequence_length | number_of_factors | integer_factors |
```

- If `N` equals `1`, the function returns early without modifying the input ndarray, as a single data point is its own Fourier transform.

- If provided an empty one-dimensional input ndarray, the function returns the input ndarray unchanged.

</section>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,30 @@ The function has the following parameters:

## Notes

- Let `N` equal the number of elements in the input ndarray. The input ndarray is divided into three sections:

```text
size = N N 2+ceil(log2(N)/2)
↓ ↓ ↓
| scratch / workspace | twiddle factors | radix factor table |
↑ ↑ ↑
i = 0 ... N ... 2N ...
```

- **scratch/workspace**: used as a scratch space when performing transforms. This section is not updated during initialization.
- **twiddle factors**: a table of reusable complex-exponential constants stored as cosine/sine pairs.
- **radix factor table**: a table containing the sequence length `N`, the number of factors into which `N` was decomposed, and the individual integer radix factors.

- In general, an input ndarray should have `2N + 34` indexed elements (as `log2(N)/2 ≤ 32` for all `2^64`). During initialization, only the sections for storing twiddle factors and the factorization of `N` are updated.

- The radix factor table is comprised as follows:

```text
| sequence_length | number_of_factors | integer_factors |
```

- If `N` equals `1`, the function returns early without modifying the input ndarray, as a single data point is its own Fourier transform.

- If provided an empty one-dimensional input ndarray, the function returns the input ndarray unchanged.

</section>
Expand Down