mirror of
https://github.com/multipleof4/lynchmark.git
synced 2026-01-14 00:27:55 +00:00
Docs: Update benchmark results
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
const analyzeGPS = async (readings, boundary) => {
|
||||
const turf = await import('https://esm.sh/@turf/turf@7.1.0');
|
||||
|
||||
const validReadings = readings
|
||||
.filter(r => turf.booleanPointInPolygon(turf.point(r.loc), boundary))
|
||||
.sort((a, b) => a.ts - b.ts);
|
||||
|
||||
if (validReadings.length < 2) return 0;
|
||||
|
||||
const lineString = turf.lineString(validReadings.map(r => r.loc));
|
||||
|
||||
return Math.round(turf.length(lineString) * 100) / 100;
|
||||
};
|
||||
export default analyzeGPS;
|
||||
18
tests/11_geospatial/outputs/google_gemini-2.5-pro.js
Normal file
18
tests/11_geospatial/outputs/google_gemini-2.5-pro.js
Normal file
@@ -0,0 +1,18 @@
|
||||
const analyzeGPS = async (readings, boundary) => {
|
||||
const t = await import('https://cdn.jsdelivr.net/npm/@turf/turf');
|
||||
|
||||
const sortedLocations = readings
|
||||
.filter(r => t.booleanPointInPolygon(r.loc, boundary, { ignoreBoundary: true }))
|
||||
.sort((a, b) => a.ts - b.ts)
|
||||
.map(r => r.loc);
|
||||
|
||||
if (sortedLocations.length < 2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const path = t.lineString(sortedLocations);
|
||||
const length = t.length(path, { units: 'kilometers' });
|
||||
|
||||
return Math.round(length * 100) / 100;
|
||||
};
|
||||
export default analyzeGPS;
|
||||
13
tests/11_geospatial/outputs/google_gemini-3-pro-preview.js
Normal file
13
tests/11_geospatial/outputs/google_gemini-3-pro-preview.js
Normal file
@@ -0,0 +1,13 @@
|
||||
const analyzeGPS = async (readings, boundary) => {
|
||||
const { point, booleanPointInPolygon, lineString, length } = await import('https://esm.sh/@turf/turf');
|
||||
|
||||
const path = readings
|
||||
.filter(({ loc }) => booleanPointInPolygon(point(loc), boundary, { ignoreBoundary: true }))
|
||||
.sort((a, b) => a.ts - b.ts)
|
||||
.map(({ loc }) => loc);
|
||||
|
||||
return path.length < 2
|
||||
? 0
|
||||
: +length(lineString(path), { units: 'kilometers' }).toFixed(2);
|
||||
};
|
||||
export default analyzeGPS;
|
||||
12
tests/11_geospatial/outputs/moonshotai_kimi-k2-thinking.js
Normal file
12
tests/11_geospatial/outputs/moonshotai_kimi-k2-thinking.js
Normal file
@@ -0,0 +1,12 @@
|
||||
async function analyzeGPS(readings, boundary) {
|
||||
try {
|
||||
if (!Array.isArray(readings) || !boundary) return 0;
|
||||
const turf = await import('https://cdn.skypack.dev/@turf/turf'),
|
||||
v = readings.filter(r => r?.loc && turf.booleanPointInPolygon(r.loc, boundary, {ignoreBoundary: true}))
|
||||
.sort((a, b) => a.ts - b.ts);
|
||||
return v.length < 2 ? 0 : Math.round(turf.length(turf.lineString(v.map(r => r.loc)), {units: 'kilometers'}) * 100) / 100;
|
||||
} catch {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
export default analyzeGPS;
|
||||
8
tests/11_geospatial/outputs/openai_gpt-5.1-codex.js
Normal file
8
tests/11_geospatial/outputs/openai_gpt-5.1-codex.js
Normal file
@@ -0,0 +1,8 @@
|
||||
async function analyzeGPS(readings,boundary){
|
||||
const{booleanPointInPolygon,lineString,length}=await import('https://cdn.jsdelivr.net/npm/@turf/turf@6.5.0/dist/turf.esm.min.js');
|
||||
const pts=readings.filter(r=>booleanPointInPolygon({type:'Point',coordinates:r.loc},boundary,{ignoreBoundary:true})).sort((a,b)=>a.ts-b.ts);
|
||||
if(pts.length<2)return 0;
|
||||
const km=length(lineString(pts.map(r=>r.loc)),{units:'kilometers'});
|
||||
return Math.round(km*100)/100;
|
||||
}
|
||||
export default analyzeGPS;
|
||||
@@ -0,0 +1,8 @@
|
||||
async function analyzeGPS(readings,boundary){
|
||||
const{turf}=await import('https://cdn.skypack.dev/@turf/turf');
|
||||
const valid=readings
|
||||
.filter(({loc})=>turf.booleanPointInPolygon([loc[0],loc[1]],boundary,{ignoreBoundary:true}))
|
||||
.sort((a,b)=>a.ts-b.ts);
|
||||
return valid.length<2?0:+turf.length(turf.lineString(valid.map(({loc})=>loc)),{units:'kilometers'}).toFixed(2);
|
||||
}
|
||||
export default analyzeGPS;
|
||||
Reference in New Issue
Block a user