mirror of
https://github.com/multipleof4/lynchmark.git
synced 2026-03-17 11:21:00 +00:00
Docs: Update benchmark for test 3
This commit is contained in:
27
tests/3_signal_pipeline/outputs/moonshotai_kimi-k2.5.js
Normal file
27
tests/3_signal_pipeline/outputs/moonshotai_kimi-k2.5.js
Normal file
@@ -0,0 +1,27 @@
|
||||
const analyzeSignal=async y=>{
|
||||
const[{load},{sin,pi,sqrt},ndarray,fft,{default:DOMPurify}]=await Promise.all([
|
||||
import('https://cdn.jsdelivr.net/npm/js-yaml@4.1.0/dist/js-yaml.mjs'),
|
||||
import('https://cdn.jsdelivr.net/npm/mathjs@11.8.0/lib/esm/index.js'),
|
||||
import('https://cdn.jsdelivr.net/npm/ndarray@1.0.19/+esm'),
|
||||
import('https://cdn.jsdelivr.net/npm/ndarray-fft@1.0.3/+esm'),
|
||||
import('https://cdn.jsdelivr.net/npm/dompurify@3.0.3/dist/purify.es.mjs')
|
||||
]);
|
||||
const{sampleRate:s,duration:d,components:c}=load(y),N=s*d,
|
||||
signal=Array(N).fill().map((_,i)=>{
|
||||
const t=i/s;
|
||||
return c.reduce((a,{frequency:f,amplitude:m})=>a+m*sin(2*pi*f*t),0)
|
||||
}),
|
||||
real=ndarray(signal),
|
||||
imag=ndarray(Array(N).fill(0));
|
||||
fft(1,real,imag);
|
||||
const H=N/2,
|
||||
mags=Array(H+1).fill().map((_,k)=>sqrt(real.get(k)**2+imag.get(k)**2)/H),
|
||||
peaks=mags.map((m,k)=>({frequencyHz:Math.round(k*s/N),magnitude:Math.round(m*100)/100}))
|
||||
.filter(p=>p.magnitude>.1)
|
||||
.sort((a,b)=>b.magnitude-a.magnitude),
|
||||
html=`<table><tr><th>Frequency (Hz)</th><th>Magnitude</th></tr>${peaks.map(p=>`<tr><td>${p.frequencyHz}</td><td>${p.magnitude}</td></tr>`).join('')}</table>`;
|
||||
return{peaks,html:DOMPurify.sanitize(html),signalLength:N}
|
||||
}
|
||||
export default analyzeSignal;
|
||||
// Generation time: 171.544s
|
||||
// Result: FAIL
|
||||
Reference in New Issue
Block a user