param( [Parameter(Mandatory)][string]$ExpectedPath, [Parameter(Mandatory)][string]$ActualPath ) $ErrorActionPreference = 'Stop' $expected = (Get-Content -Raw -LiteralPath $ExpectedPath | ConvertFrom-Json).samples $actual = (Get-Content -Raw -LiteralPath $ActualPath | ConvertFrom-Json).samples if ($expected.Count -ne 960 -or $actual.Count -ne $expected.Count) { throw 'DSP fixture sample counts differ.' } for ($i = 0; $i -lt $expected.Count; $i++) { if ([Math]::Abs($expected[$i] - $actual[$i]) -gt 1) { throw "DSP fixture differs at sample $i." } } Write-Output 'C++ DSP fixture matches within one PCM unit.'