summaryrefslogtreecommitdiffstats
path: root/Whisper
diff options
context:
space:
mode:
authorKonstantin <const@const.me>2023-01-21 18:36:34 +0100
committerKonstantin <const@const.me>2023-01-21 18:36:34 +0100
commit040281bccc424341c964788aa7ca17876a5ac6a4 (patch)
treec9ced4938a3f174a5c519ed60a9d726e32933064 /Whisper
parentb4a6e7c59a3def6b7212396cdbf5f08b2119ffa8 (diff)
Minor, CPU performance
Diffstat (limited to 'Whisper')
-rw-r--r--Whisper/Whisper/melSpectrogram.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/Whisper/Whisper/melSpectrogram.cpp b/Whisper/Whisper/melSpectrogram.cpp
index 468962f..a178d16 100644
--- a/Whisper/Whisper/melSpectrogram.cpp
+++ b/Whisper/Whisper/melSpectrogram.cpp
@@ -280,9 +280,10 @@ float* SpectrogramContext::fftRecursion( float* temp, const float* const rsi, co
out[ 2 * ( k + N / 2 ) + 0 ] = evenFft[ 2 * k + 0 ] - re * re_odd + im * im_odd;
out[ 2 * ( k + N / 2 ) + 1 ] = evenFft[ 2 * k + 1 ] - re * im_odd - im * re_odd;
*/
-
- const __m128 re = _mm_set_ss( std::cosf( theta ) );
- const __m128 im = _mm_set_ss( std::sinf( theta ) );
+ float sine, cosine;
+ DirectX::XMScalarSinCos( &sine, &cosine, theta );
+ const __m128 re = _mm_set_ss( cosine );
+ const __m128 im = _mm_set_ss( sine );
__m128 reIm = _mm_shuffle_ps( re, im, _MM_SHUFFLE( 0, 0, 0, 0 ) );
// [ re, re, im, im ]
reIm = _mm_xor_ps( reIm, maskNegateHigh );