Skip to content

Commit ec7e295

Browse files
committedDec 12, 2019
Added noexcept to public functions in shmath and xdsp
1 parent 939c1a8 commit ec7e295

File tree

5 files changed

+101
-93
lines changed

5 files changed

+101
-93
lines changed
 

‎SHMath/DirectXSH.cpp

+16-16
Original file line numberDiff line numberDiff line change
@@ -983,7 +983,7 @@ _Use_decl_annotations_
983983
float* XM_CALLCONV DirectX::XMSHEvalDirection(
984984
float *result,
985985
size_t order,
986-
FXMVECTOR dir)
986+
FXMVECTOR dir) noexcept
987987
{
988988
if (!result)
989989
return nullptr;
@@ -1036,7 +1036,7 @@ float* XM_CALLCONV DirectX::XMSHRotate(
10361036
float *result,
10371037
size_t order,
10381038
FXMMATRIX rotMatrix,
1039-
const float *input)
1039+
const float *input) noexcept
10401040
{
10411041
if (!result || !input)
10421042
return nullptr;
@@ -1173,7 +1173,7 @@ float* DirectX::XMSHRotateZ(
11731173
float *result,
11741174
size_t order,
11751175
float angle,
1176-
const float *input)
1176+
const float *input) noexcept
11771177
{
11781178
if (!result || !input)
11791179
return nullptr;
@@ -1347,7 +1347,7 @@ float* DirectX::XMSHAdd(
13471347
float *result,
13481348
size_t order,
13491349
const float *inputA,
1350-
const float *inputB)
1350+
const float *inputB) noexcept
13511351
{
13521352
if (!result || !inputA || !inputB)
13531353
return nullptr;
@@ -1373,7 +1373,7 @@ float* DirectX::XMSHScale(
13731373
float *result,
13741374
size_t order,
13751375
const float *input,
1376-
float scale)
1376+
float scale) noexcept
13771377
{
13781378
if (!result || !input)
13791379
return nullptr;
@@ -1398,7 +1398,7 @@ _Use_decl_annotations_
13981398
float DirectX::XMSHDot(
13991399
size_t order,
14001400
const float *inputA,
1401-
const float *inputB)
1401+
const float *inputB) noexcept
14021402
{
14031403
if (!inputA || !inputB)
14041404
return 0.f;
@@ -1431,7 +1431,7 @@ float* DirectX::XMSHMultiply(
14311431
float *result,
14321432
size_t order,
14331433
const float *inputF,
1434-
const float *inputG)
1434+
const float *inputG) noexcept
14351435
{
14361436
switch (order)
14371437
{
@@ -1464,7 +1464,7 @@ _Use_decl_annotations_
14641464
float* DirectX::XMSHMultiply2(
14651465
float *y,
14661466
const float *f,
1467-
const float *g)
1467+
const float *g) noexcept
14681468
{
14691469
if (!y || !f || !g)
14701470
return nullptr;
@@ -1507,7 +1507,7 @@ _Use_decl_annotations_
15071507
float* DirectX::XMSHMultiply3(
15081508
float *y,
15091509
const float *f,
1510-
const float *g)
1510+
const float *g) noexcept
15111511
{
15121512
if (!y || !f || !g)
15131513
return nullptr;
@@ -1629,7 +1629,7 @@ _Use_decl_annotations_
16291629
float* DirectX::XMSHMultiply4(
16301630
float *y,
16311631
const float *f,
1632-
const float *g)
1632+
const float *g) noexcept
16331633
{
16341634
if (!y || !f || !g)
16351635
return nullptr;
@@ -1964,7 +1964,7 @@ _Use_decl_annotations_
19641964
float* DirectX::XMSHMultiply5(
19651965
float *y,
19661966
const float *f,
1967-
const float *g)
1967+
const float *g) noexcept
19681968
{
19691969
if (!y || !f || !g)
19701970
return nullptr;
@@ -2780,7 +2780,7 @@ _Use_decl_annotations_
27802780
float* DirectX::XMSHMultiply6(
27812781
float *y,
27822782
const float *f,
2783-
const float *g)
2783+
const float *g) noexcept
27842784
{
27852785
if (!y || !f || !g)
27862786
return nullptr;
@@ -4479,7 +4479,7 @@ bool XM_CALLCONV DirectX::XMSHEvalDirectionalLight(
44794479
FXMVECTOR color,
44804480
float *resultR,
44814481
float *resultG,
4482-
float *resultB)
4482+
float *resultB) noexcept
44834483
{
44844484
if (!resultR)
44854485
return false;
@@ -4547,7 +4547,7 @@ bool XM_CALLCONV DirectX::XMSHEvalSphericalLight(
45474547
FXMVECTOR color,
45484548
float *resultR,
45494549
float *resultG,
4550-
float *resultB)
4550+
float *resultB) noexcept
45514551
{
45524552
if (!resultR)
45534553
return false;
@@ -4677,7 +4677,7 @@ bool XM_CALLCONV DirectX::XMSHEvalConeLight(
46774677
FXMVECTOR color,
46784678
float *resultR,
46794679
float *resultG,
4680-
float *resultB)
4680+
float *resultB) noexcept
46814681
{
46824682
if (!resultR)
46834683
return false;
@@ -4798,7 +4798,7 @@ bool XM_CALLCONV DirectX::XMSHEvalHemisphereLight(
47984798
FXMVECTOR bottomColor,
47994799
float *resultR,
48004800
float *resultG,
4801-
float *resultB)
4801+
float *resultB) noexcept
48024802
{
48034803
if (!resultR)
48044804
return false;

‎SHMath/DirectXSH.h

+37-32
Original file line numberDiff line numberDiff line change
@@ -9,59 +9,64 @@
99

1010
#pragma once
1111

12-
#define DIRECTX_SHMATH_VERSION 105
12+
#define DIRECTX_SHMATH_VERSION 106
1313

1414
#include <DirectXMath.h>
1515

1616
namespace DirectX
1717
{
18-
const size_t XM_SH_MINORDER = 2;
19-
const size_t XM_SH_MAXORDER = 6;
18+
const size_t XM_SH_MINORDER = 2;
19+
const size_t XM_SH_MAXORDER = 6;
2020

21-
float* XM_CALLCONV XMSHEvalDirection( _Out_writes_(order*order) float *result, _In_ size_t order, _In_ FXMVECTOR dir );
21+
float* XM_CALLCONV XMSHEvalDirection(_Out_writes_(order*order) float *result, _In_ size_t order, _In_ FXMVECTOR dir) noexcept;
2222

23-
float* XM_CALLCONV XMSHRotate( _Out_writes_(order*order) float *result, _In_ size_t order, _In_ FXMMATRIX rotMatrix, _In_reads_(order*order) const float *input );
23+
float* XM_CALLCONV XMSHRotate(_Out_writes_(order*order) float *result, _In_ size_t order, _In_ FXMMATRIX rotMatrix, _In_reads_(order*order) const float *input) noexcept;
2424

25-
float* XMSHRotateZ( _Out_writes_(order*order) float *result, _In_ size_t order, _In_ float angle, _In_reads_(order*order) const float *input );
25+
float* XMSHRotateZ(_Out_writes_(order*order) float *result, _In_ size_t order, _In_ float angle, _In_reads_(order*order) const float *input) noexcept;
2626

27-
float* XMSHAdd( _Out_writes_(order*order) float *result, _In_ size_t order, _In_reads_(order*order) const float *inputA, _In_reads_(order*order) const float *inputB );
27+
float* XMSHAdd(_Out_writes_(order*order) float *result, _In_ size_t order, _In_reads_(order*order) const float *inputA, _In_reads_(order*order) const float *inputB) noexcept;
2828

29-
float* XMSHScale( _Out_writes_(order*order) float *result, _In_ size_t order, _In_reads_(order*order) const float *input, _In_ float scale );
29+
float* XMSHScale(_Out_writes_(order*order) float *result, _In_ size_t order, _In_reads_(order*order) const float *input, _In_ float scale) noexcept;
3030

31-
float XMSHDot( _In_ size_t order, _In_reads_(order*order) const float *inputA, _In_reads_(order*order) const float *inputB );
31+
float XMSHDot(_In_ size_t order, _In_reads_(order*order) const float *inputA, _In_reads_(order*order) const float *inputB) noexcept;
3232

33-
float* XMSHMultiply( _Out_writes_(order*order) float *result, _In_ size_t order, _In_reads_(order*order) const float *inputF, _In_reads_(order*order) const float *inputG );
33+
float* XMSHMultiply(_Out_writes_(order*order) float *result, _In_ size_t order, _In_reads_(order*order) const float *inputF, _In_reads_(order*order) const float *inputG) noexcept;
3434

35-
float* XMSHMultiply2( _Out_writes_(4) float *result, _In_reads_(4) const float *inputF, _In_reads_(4) const float *inputG );
35+
float* XMSHMultiply2(_Out_writes_(4) float *result, _In_reads_(4) const float *inputF, _In_reads_(4) const float *inputG) noexcept;
3636

37-
float* XMSHMultiply3( _Out_writes_(9) float *result, _In_reads_(9) const float *inputF, _In_reads_(9) const float *inputG );
37+
float* XMSHMultiply3(_Out_writes_(9) float *result, _In_reads_(9) const float *inputF, _In_reads_(9) const float *inputG) noexcept;
3838

39-
float* XMSHMultiply4( _Out_writes_(16) float *result, _In_reads_(16) const float *inputF, _In_reads_(16) const float *inputG );
39+
float* XMSHMultiply4(_Out_writes_(16) float *result, _In_reads_(16) const float *inputF, _In_reads_(16) const float *inputG) noexcept;
4040

41-
float* XMSHMultiply5( _Out_writes_(25) float *result, _In_reads_(25) const float *inputF, _In_reads_(25) const float *inputG );
41+
float* XMSHMultiply5(_Out_writes_(25) float *result, _In_reads_(25) const float *inputF, _In_reads_(25) const float *inputG) noexcept;
4242

43-
float* XMSHMultiply6( _Out_writes_(36) float *result, _In_reads_(36) const float *inputF, _In_reads_(36) const float *inputG );
43+
float* XMSHMultiply6(_Out_writes_(36) float *result, _In_reads_(36) const float *inputF, _In_reads_(36) const float *inputG) noexcept;
4444

45-
bool XM_CALLCONV XMSHEvalDirectionalLight( _In_ size_t order, _In_ FXMVECTOR dir, _In_ FXMVECTOR color,
46-
_Out_writes_(order*order) float *resultR, _Out_writes_opt_(order*order) float *resultG, _Out_writes_opt_(order*order) float *resultB );
45+
bool XM_CALLCONV XMSHEvalDirectionalLight(
46+
_In_ size_t order, _In_ FXMVECTOR dir, _In_ FXMVECTOR color,
47+
_Out_writes_(order*order) float *resultR, _Out_writes_opt_(order*order) float *resultG, _Out_writes_opt_(order*order) float *resultB) noexcept;
4748

48-
bool XM_CALLCONV XMSHEvalSphericalLight( _In_ size_t order, _In_ FXMVECTOR pos, _In_ float radius, _In_ FXMVECTOR color,
49-
_Out_writes_(order*order) float *resultR, _Out_writes_opt_(order*order) float *resultG, _Out_writes_opt_(order*order) float *resultB );
49+
bool XM_CALLCONV XMSHEvalSphericalLight(
50+
_In_ size_t order, _In_ FXMVECTOR pos, _In_ float radius, _In_ FXMVECTOR color,
51+
_Out_writes_(order*order) float *resultR, _Out_writes_opt_(order*order) float *resultG, _Out_writes_opt_(order*order) float *resultB) noexcept;
5052

51-
bool XM_CALLCONV XMSHEvalConeLight( _In_ size_t order, _In_ FXMVECTOR dir, _In_ float radius, _In_ FXMVECTOR color,
52-
_Out_writes_(order*order) float *resultR, _Out_writes_opt_(order*order) float *resultG, _Out_writes_opt_(order*order) float *resultB );
53+
bool XM_CALLCONV XMSHEvalConeLight(
54+
_In_ size_t order, _In_ FXMVECTOR dir, _In_ float radius, _In_ FXMVECTOR color,
55+
_Out_writes_(order*order) float *resultR, _Out_writes_opt_(order*order) float *resultG, _Out_writes_opt_(order*order) float *resultB) noexcept;
5356

54-
bool XM_CALLCONV XMSHEvalHemisphereLight( _In_ size_t order, _In_ FXMVECTOR dir, _In_ FXMVECTOR topColor, _In_ FXMVECTOR bottomColor,
55-
_Out_writes_(order*order) float *resultR, _Out_writes_opt_(order*order) float *resultG, _Out_writes_opt_(order*order) float *resultB );
57+
bool XM_CALLCONV XMSHEvalHemisphereLight(
58+
_In_ size_t order, _In_ FXMVECTOR dir, _In_ FXMVECTOR topColor, _In_ FXMVECTOR bottomColor,
59+
_Out_writes_(order*order) float *resultR, _Out_writes_opt_(order*order) float *resultG, _Out_writes_opt_(order*order) float *resultB) noexcept;
5660

57-
#if defined(__d3d11_h__) || defined(__d3d11_x_h__)
58-
HRESULT SHProjectCubeMap( _In_ ID3D11DeviceContext *context, _In_ size_t order, _In_ ID3D11Texture2D *cubeMap,
59-
_Out_writes_opt_(order*order) float *resultR, _Out_writes_opt_(order*order) float *resultG, _Out_writes_opt_(order*order) float *resultB );
60-
#endif
61-
62-
#if defined(__d3d12_h__) || defined(__d3d12_x_h__)
63-
HRESULT SHProjectCubeMap(_In_ size_t order, _In_ const D3D12_RESOURCE_DESC& desc, _In_ const D3D12_SUBRESOURCE_DATA cubeMap[6],
64-
_Out_writes_opt_(order*order) float *resultR, _Out_writes_opt_(order*order) float *resultG, _Out_writes_opt_(order*order) float *resultB);
65-
#endif
61+
#if defined(__d3d11_h__) || defined(__d3d11_x_h__)
62+
HRESULT SHProjectCubeMap(
63+
_In_ ID3D11DeviceContext *context, _In_ size_t order, _In_ ID3D11Texture2D *cubeMap,
64+
_Out_writes_opt_(order*order) float *resultR, _Out_writes_opt_(order*order) float *resultG, _Out_writes_opt_(order*order) float *resultB) noexcept;
65+
#endif
6666

67+
#if defined(__d3d12_h__) || defined(__d3d12_x_h__) || defined(__XBOX_D3D12_X__)
68+
HRESULT SHProjectCubeMap(
69+
_In_ size_t order, _In_ const D3D12_RESOURCE_DESC& desc, _In_ const D3D12_SUBRESOURCE_DATA cubeMap[6],
70+
_Out_writes_opt_(order*order) float *resultR, _Out_writes_opt_(order*order) float *resultG, _Out_writes_opt_(order*order) float *resultB) noexcept;
71+
#endif
6772
} // namespace DirectX

‎SHMath/DirectXSHD3D11.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ HRESULT DirectX::SHProjectCubeMap(
177177
ID3D11Texture2D *cubeMap,
178178
float *resultR,
179179
float *resultG,
180-
float* resultB)
180+
float* resultB) noexcept
181181
{
182182
if (!context || !cubeMap)
183183
return E_INVALIDARG;

‎SHMath/DirectXSHD3D12.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ HRESULT DirectX::SHProjectCubeMap(
177177
const D3D12_SUBRESOURCE_DATA cubeMap[6],
178178
float *resultR,
179179
float *resultG,
180-
float *resultB)
180+
float *resultB) noexcept
181181
{
182182
if (order < XM_SH_MINORDER || order > XM_SH_MAXORDER)
183183
return E_INVALIDARG;

‎XDSP/XDSP.h

+46-43
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,11 @@
1919
#include <assert.h>
2020
#include <DirectXMath.h>
2121

22-
#pragma warning(push)
23-
#pragma warning(disable : 4005 4668)
2422
#include <stdint.h>
25-
#pragma warning(pop)
26-
2723
#include <string.h>
2824

2925
#pragma warning(push)
30-
#pragma warning(disable: 4328 4640 6001 6262)
26+
#pragma warning(disable: 6001 6262)
3127

3228
namespace XDSP
3329
{
@@ -41,7 +37,7 @@ namespace XDSP
4137
// Parallel multiplication of four complex numbers, assuming real and imaginary values are stored in separate vectors.
4238
inline void XM_CALLCONV vmulComplex(
4339
_Out_ XMVECTOR& rResult, _Out_ XMVECTOR& iResult,
44-
_In_ FXMVECTOR r1, _In_ FXMVECTOR i1, _In_ FXMVECTOR r2, _In_ GXMVECTOR i2)
40+
_In_ FXMVECTOR r1, _In_ FXMVECTOR i1, _In_ FXMVECTOR r2, _In_ GXMVECTOR i2) noexcept
4541
{
4642
using namespace DirectX;
4743
// (r1, i1) * (r2, i2) = (r1r2 - i1i2, r1i2 + r2i1)
@@ -52,7 +48,7 @@ namespace XDSP
5248
}
5349

5450
inline void XM_CALLCONV vmulComplex(
55-
_Inout_ XMVECTOR& r1, _Inout_ XMVECTOR& i1, _In_ FXMVECTOR r2, _In_ FXMVECTOR i2)
51+
_Inout_ XMVECTOR& r1, _Inout_ XMVECTOR& i1, _In_ FXMVECTOR r2, _In_ FXMVECTOR i2) noexcept
5652
{
5753
using namespace DirectX;
5854
// (r1, i1) * (r2, i2) = (r1r2 - i1i2, r1i2 + r2i1)
@@ -92,7 +88,7 @@ namespace XDSP
9288
// | 1 0 -1 0 | | (rTempZ,iTempZ) | | (rTempX - rTempZ, iTempX - iTempZ) |
9389
// | 0 1 0 j | | (rTempW,iTempW) | | (rTempY - iTempW, iTempY + rTempW) |
9490
//----------------------------------------------------------------------------------
95-
inline void ButterflyDIT4_1 (_Inout_ XMVECTOR& r1, _Inout_ XMVECTOR& i1)
91+
inline void ButterflyDIT4_1 (_Inout_ XMVECTOR& r1, _Inout_ XMVECTOR& i1) noexcept
9692
{
9793
using namespace DirectX;
9894

@@ -160,7 +156,7 @@ namespace XDSP
160156
_In_reads_(uStride * 4) const XMVECTOR* __restrict pUnityTableReal,
161157
_In_reads_(uStride * 4) const XMVECTOR* __restrict pUnityTableImaginary,
162158
_In_ size_t uStride,
163-
_In_ const bool fLast)
159+
_In_ const bool fLast) noexcept
164160
{
165161
using namespace DirectX;
166162

@@ -231,7 +227,7 @@ namespace XDSP
231227
inline void FFT4(
232228
_Inout_updates_(uCount) XMVECTOR* __restrict pReal,
233229
_Inout_updates_(uCount) XMVECTOR* __restrict pImaginary,
234-
const size_t uCount = 1)
230+
const size_t uCount = 1) noexcept
235231
{
236232
assert(pReal);
237233
assert(pImaginary);
@@ -257,7 +253,7 @@ namespace XDSP
257253
inline void FFT8(
258254
_Inout_updates_(uCount * 2) XMVECTOR* __restrict pReal,
259255
_Inout_updates_(uCount * 2) XMVECTOR* __restrict pImaginary,
260-
_In_ const size_t uCount = 1)
256+
_In_ const size_t uCount = 1) noexcept
261257
{
262258
using namespace DirectX;
263259

@@ -307,7 +303,7 @@ namespace XDSP
307303
inline void FFT16(
308304
_Inout_updates_(uCount * 4) XMVECTOR* __restrict pReal,
309305
_Inout_updates_(uCount * 4) XMVECTOR* __restrict pImaginary,
310-
_In_ const size_t uCount = 1)
306+
_In_ const size_t uCount = 1) noexcept
311307
{
312308
using namespace DirectX;
313309

@@ -361,11 +357,12 @@ namespace XDSP
361357
// uLength - [in] FFT length in samples, must be a power of 2 > 16
362358
// uCount - [in] number of FFT iterations
363359
//----------------------------------------------------------------------------------
364-
inline void FFT (_Inout_updates_((uLength*uCount)/4) XMVECTOR* __restrict pReal,
365-
_Inout_updates_((uLength*uCount)/4) XMVECTOR* __restrict pImaginary,
366-
_In_reads_(uLength*uCount) const XMVECTOR* __restrict pUnityTable,
367-
_In_ const size_t uLength,
368-
_In_ const size_t uCount=1)
360+
inline void FFT (
361+
_Inout_updates_((uLength*uCount)/4) XMVECTOR* __restrict pReal,
362+
_Inout_updates_((uLength*uCount)/4) XMVECTOR* __restrict pImaginary,
363+
_In_reads_(uLength*uCount) const XMVECTOR* __restrict pUnityTable,
364+
_In_ const size_t uLength,
365+
_In_ const size_t uCount=1) noexcept
369366
{
370367
assert(pReal);
371368
assert(pImaginary);
@@ -438,7 +435,7 @@ namespace XDSP
438435
// pUnityTable - [out] unity table, receives unity roots lookup table, must have at least uLength elements
439436
// uLength - [in] FFT length in frames, must be a power of 2 > 16
440437
//----------------------------------------------------------------------------------
441-
inline void FFTInitializeUnityTable (_Out_writes_(uLength) XMVECTOR* __restrict pUnityTable, _In_ size_t uLength)
438+
inline void FFTInitializeUnityTable (_Out_writes_(uLength) XMVECTOR* __restrict pUnityTable, _In_ size_t uLength) noexcept
442439
{
443440
assert(pUnityTable);
444441
assert(uLength > 16);
@@ -482,9 +479,10 @@ namespace XDSP
482479
// pInput - [in] input buffer, samples in bit reversed order as generated by FFT functions, cannot overlap pOutput, must have at least (1<<uLog2Length)/4 elements
483480
// uLog2Length - [in] LOG (base 2) of FFT length in samples, must be >= 2
484481
//----------------------------------------------------------------------------------
485-
inline void FFTUnswizzle (_Out_writes_((1<<uLog2Length)/4) XMVECTOR* __restrict pOutput,
486-
_In_reads_((1<<uLog2Length)/4) const XMVECTOR* __restrict pInput,
487-
_In_ const size_t uLog2Length)
482+
inline void FFTUnswizzle (
483+
_Out_writes_((1<<uLog2Length)/4) XMVECTOR* __restrict pOutput,
484+
_In_reads_((1<<uLog2Length)/4) const XMVECTOR* __restrict pInput,
485+
_In_ const size_t uLog2Length) noexcept
488486
{
489487
assert(pOutput);
490488
assert(pInput);
@@ -537,10 +535,11 @@ namespace XDSP
537535
// uLength - [in] FFT length in samples, must be a power of 2 >= 4
538536
//----------------------------------------------------------------------------------
539537
#pragma warning(suppress: 6101)
540-
inline void FFTPolar (_Out_writes_(uLength/4) XMVECTOR* __restrict pOutput,
541-
_In_reads_(uLength/4) const XMVECTOR* __restrict pInputReal,
542-
_In_reads_(uLength/4) const XMVECTOR* __restrict pInputImaginary,
543-
_In_ const size_t uLength)
538+
inline void FFTPolar(
539+
_Out_writes_(uLength/4) XMVECTOR* __restrict pOutput,
540+
_In_reads_(uLength/4) const XMVECTOR* __restrict pInputReal,
541+
_In_reads_(uLength/4) const XMVECTOR* __restrict pInputImaginary,
542+
_In_ const size_t uLength) noexcept
544543
{
545544
using namespace DirectX;
546545

@@ -581,10 +580,11 @@ namespace XDSP
581580
// uChannelCount - [in] number of channels, must be > 1
582581
// uFrameCount - [in] number of frames of valid data, must be > 0
583582
//----------------------------------------------------------------------------------
584-
inline void Deinterleave (_Out_writes_((uChannelCount*uFrameCount)/4) XMVECTOR* __restrict pOutput,
585-
_In_reads_((uChannelCount*uFrameCount)/4) const XMVECTOR* __restrict pInput,
586-
_In_ const size_t uChannelCount,
587-
_In_ const size_t uFrameCount)
583+
inline void Deinterleave (
584+
_Out_writes_((uChannelCount*uFrameCount)/4) XMVECTOR* __restrict pOutput,
585+
_In_reads_((uChannelCount*uFrameCount)/4) const XMVECTOR* __restrict pInput,
586+
_In_ const size_t uChannelCount,
587+
_In_ const size_t uFrameCount) noexcept
588588
{
589589
assert(pOutput);
590590
assert(pInput);
@@ -616,10 +616,11 @@ namespace XDSP
616616
// uChannelCount - [in] number of channels, must be > 1
617617
// uFrameCount - [in] number of frames of valid data, must be > 0
618618
//----------------------------------------------------------------------------------
619-
inline void Interleave (_Out_writes_((uChannelCount*uFrameCount)/4) XMVECTOR* __restrict pOutput,
620-
_In_reads_((uChannelCount*uFrameCount)/4) const XMVECTOR* __restrict pInput,
621-
_In_ const size_t uChannelCount,
622-
_In_ const size_t uFrameCount)
619+
inline void Interleave(
620+
_Out_writes_((uChannelCount*uFrameCount)/4) XMVECTOR* __restrict pOutput,
621+
_In_reads_((uChannelCount*uFrameCount)/4) const XMVECTOR* __restrict pInput,
622+
_In_ const size_t uChannelCount,
623+
_In_ const size_t uFrameCount) noexcept
623624
{
624625
assert(pOutput);
625626
assert(pInput);
@@ -651,11 +652,12 @@ namespace XDSP
651652
// uChannelCount - [in] number of channels, must be within [1, 6]
652653
// uLog2Length - [in] LOG (base 2) of FFT length in frames, must within [2, 9]
653654
//----------------------------------------------------------------------------------
654-
inline void FFTInterleaved (_Inout_updates_(((1<<uLog2Length)*uChannelCount)/4) XMVECTOR* __restrict pReal,
655-
_Out_writes_(((1<<uLog2Length)*uChannelCount)/4) XMVECTOR* __restrict pImaginary,
656-
_In_reads_(1<<uLog2Length) const XMVECTOR* __restrict pUnityTable,
657-
_In_ const size_t uChannelCount,
658-
_In_ const size_t uLog2Length)
655+
inline void FFTInterleaved(
656+
_Inout_updates_(((1<<uLog2Length)*uChannelCount)/4) XMVECTOR* __restrict pReal,
657+
_Out_writes_(((1<<uLog2Length)*uChannelCount)/4) XMVECTOR* __restrict pImaginary,
658+
_In_reads_(1<<uLog2Length) const XMVECTOR* __restrict pUnityTable,
659+
_In_ const size_t uChannelCount,
660+
_In_ const size_t uLog2Length) noexcept
659661
{
660662
assert(pReal);
661663
assert(pImaginary);
@@ -729,11 +731,12 @@ namespace XDSP
729731
// uChannelCount - [in] number of channels, must be > 0
730732
// uLog2Length - [in] LOG (base 2) of FFT length in frames, must within [2, 9]
731733
//----------------------------------------------------------------------------------
732-
inline void IFFTDeinterleaved (_Inout_updates_(((1<<uLog2Length)*uChannelCount)/4) XMVECTOR* __restrict pReal,
733-
_In_reads_(((1<<uLog2Length)*uChannelCount)/4) const XMVECTOR* __restrict pImaginary,
734-
_In_reads_(1<<uLog2Length) const XMVECTOR* __restrict pUnityTable,
735-
_In_ const size_t uChannelCount,
736-
_In_ const size_t uLog2Length)
734+
inline void IFFTDeinterleaved(
735+
_Inout_updates_(((1<<uLog2Length)*uChannelCount)/4) XMVECTOR* __restrict pReal,
736+
_In_reads_(((1<<uLog2Length)*uChannelCount)/4) const XMVECTOR* __restrict pImaginary,
737+
_In_reads_(1<<uLog2Length) const XMVECTOR* __restrict pUnityTable,
738+
_In_ const size_t uChannelCount,
739+
_In_ const size_t uLog2Length) noexcept
737740
{
738741
using namespace DirectX;
739742

0 commit comments

Comments
 (0)
Please sign in to comment.