From 99a2ed8c9279c36812bb0d743773504e05a12a9a Mon Sep 17 00:00:00 2001 From: Gunj Joshi Date: Sat, 22 Aug 2026 18:44:05 +0530 Subject: [PATCH 1/4] docs: add extended notes Signed-off-by: Gunj Joshi --- .../fftpack/ndarray/generic/rffti/README.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/rffti/README.md b/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/rffti/README.md index 89ad36ee51fb..1d8aa248c40b 100644 --- a/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/rffti/README.md +++ b/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/rffti/README.md @@ -81,6 +81,30 @@ The function has the following parameters: ## Notes +- The workspace array 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, a workspace array 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 workspace, 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. From c5340221620be053a977534ea29a1baa250c4b4d Mon Sep 17 00:00:00 2001 From: Gunj Joshi Date: Sat, 22 Aug 2026 18:44:49 +0530 Subject: [PATCH 2/4] docs: add extended notes Signed-off-by: Gunj Joshi --- .../fftpack/ndarray/generic/cffti/README.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/cffti/README.md b/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/cffti/README.md index dfa513b40eea..3aaf978c75c2 100644 --- a/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/cffti/README.md +++ b/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/cffti/README.md @@ -81,6 +81,30 @@ The function has the following parameters: ## Notes +- The workspace array 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, a workspace array 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 workspace, 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. From 6c3ed64cc379c63a7f81d0997c26a89d720e76ce Mon Sep 17 00:00:00 2001 From: Athan Date: Sat, 22 Aug 2026 14:35:57 -0700 Subject: [PATCH 3/4] Apply suggestions from code review Co-authored-by: Athan Signed-off-by: Athan --- .../@stdlib/fft/base/fftpack/ndarray/generic/cffti/README.md | 4 ++-- .../@stdlib/fft/base/fftpack/ndarray/generic/rffti/README.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/cffti/README.md b/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/cffti/README.md index 3aaf978c75c2..28b34d1b1900 100644 --- a/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/cffti/README.md +++ b/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/cffti/README.md @@ -81,7 +81,7 @@ The function has the following parameters: ## Notes -- The workspace array is divided into three sections: +- Let `N` equal the number of elements in the input ndarray. The workspace array is divided into three sections: ```text size = 2N 2N 2+ceil(log2(N)/2) @@ -103,7 +103,7 @@ The function has the following parameters: | sequence_length | number_of_factors | integer_factors | ``` -- If `N` equals `1`, the function returns early without modifying the workspace, as a single data point is its own Fourier transform. +- 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. diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/rffti/README.md b/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/rffti/README.md index 1d8aa248c40b..eb00bed58c4f 100644 --- a/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/rffti/README.md +++ b/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/rffti/README.md @@ -81,7 +81,7 @@ The function has the following parameters: ## Notes -- The workspace array is divided into three sections: +- Let `N` equal the number of elements in the input ndarray. The workspace array is divided into three sections: ```text size = N N 2+ceil(log2(N)/2) @@ -103,7 +103,7 @@ The function has the following parameters: | sequence_length | number_of_factors | integer_factors | ``` -- If `N` equals `1`, the function returns early without modifying the workspace, as a single data point is its own Fourier transform. +- 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. From 1942cc97ff8ee6c7889a36ec5335bb8a5c332521 Mon Sep 17 00:00:00 2001 From: Athan Date: Sat, 22 Aug 2026 14:37:24 -0700 Subject: [PATCH 4/4] Apply suggestions from code review Co-authored-by: Athan Signed-off-by: Athan --- .../@stdlib/fft/base/fftpack/ndarray/generic/cffti/README.md | 4 ++-- .../@stdlib/fft/base/fftpack/ndarray/generic/rffti/README.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/cffti/README.md b/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/cffti/README.md index 28b34d1b1900..7a7aa91ec270 100644 --- a/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/cffti/README.md +++ b/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/cffti/README.md @@ -81,7 +81,7 @@ The function has the following parameters: ## Notes -- Let `N` equal the number of elements in the input ndarray. The workspace array is divided into three sections: +- 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) @@ -95,7 +95,7 @@ The function has the following parameters: - **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, a workspace array 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. +- 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: diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/rffti/README.md b/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/rffti/README.md index eb00bed58c4f..6d18bdf4aab5 100644 --- a/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/rffti/README.md +++ b/lib/node_modules/@stdlib/fft/base/fftpack/ndarray/generic/rffti/README.md @@ -81,7 +81,7 @@ The function has the following parameters: ## Notes -- Let `N` equal the number of elements in the input ndarray. The workspace array is divided into three sections: +- 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) @@ -95,7 +95,7 @@ The function has the following parameters: - **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, a workspace array 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. +- 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: