You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* @brief Takes the binary representation of `value` as a string of `Bits` bits and returns a value of the same type resulting from reversing the string
15
+
*
16
+
* @tparam T Type of the value to operate on.
17
+
* @tparam Bits The length of the string of bits used to represent `value`.
template<typename T NBL_FUNC_REQUIRES(is_unsigned_v<T>)
27
+
/**
28
+
* @brief Takes the binary representation of `value` and returns a value of the same type resulting from reversing the string of bits as if it was `bits` long.
29
+
* Keep in mind `bits` cannot exceed `8 * sizeof(T)`.
30
+
*
31
+
* @tparam T type of the value to operate on.
32
+
*
33
+
* @param [in] value The value to bitreverse.
34
+
* @param [in] bits The length of the string of bits used to represent `value`.
* @brief Takes the binary representation of `value` as a string of `Bits` bits and returns a value of the same type resulting from reversing the string
130
-
*
131
-
* @tparam T Type of the value to operate on.
132
-
* @tparam Bits The length of the string of bits used to represent `value`.
template<typename T NBL_FUNC_REQUIRES(is_unsigned_v<T>)
142
-
/**
143
-
* @brief Takes the binary representation of `value` and returns a value of the same type resulting from reversing the string of bits as if it was `bits` long.
144
-
* Keep in mind `bits` cannot exceed `8 * sizeof(T)`.
145
-
*
146
-
* @tparam T type of the value to operate on.
147
-
*
148
-
* @param [in] value The value to bitreverse.
149
-
* @param [in] bits The length of the string of bits used to represent `value`.
// This function maps the index `outputIdx` in the output array of a Nabla FFT to the index `freqIdx` in the DFT such that `DFT[freqIdx] = NablaFFT[outputIdx]`
128
+
// This is because Cooley-Tukey + subgroup operations end up spewing out the outputs in a weird order
// Given an index `outputIdx` of an element into the Nabla FFT, get the index into the Nabla FFT of the element corresponding to its negative frequency
// This function maps the index `outputIdx` in the output array of a Nabla FFT to the index `freqIdx` in the DFT such that `DFT[freqIdx] = NablaFFT[outputIdx]`
184
-
// This is because Cooley-Tukey + subgroup operations end up spewing out the outputs in a weird order
// Given an index `outputIdx` of an element into the Nabla FFT, get the index into the Nabla FFT of the element corresponding to its negative frequency
using indexing_utils_t = FFTIndexingUtils<ElementsPerInvocationLog2, WorkgroupSizeLog2>;
208
222
209
223
// When unpacking an FFT of two packed signals, given a `globalElementIndex` you need its "mirror index" to unpack the value at NablaFFT[globalElementIndex].
210
224
// The function above has you covered in that sense, but what also happens is that not only does the thread holding `NablaFFT[globalElementIndex]` need its mirror value
0 commit comments