export function runNetwork(network,rows){ return rows.map(row=>{let x=network.inputMean?row.map((v,i)=>(v-network.inputMean[i])/network.inputStd[i]):row;for(let n=0;n.05?ax/a:1,aimY:a>.05?ay/a:0,fire:raw[4]>0};} export function validateNetwork(n){ if(n.schema!=='field-orders.neural-network.v1'||!Number.isInteger(n.inputDim)||!n.layers?.length||n.inputMean?.length!==n.inputDim||n.inputStd?.length!==n.inputDim||!n.inputStd.every(v=>Number.isFinite(v)&&v>0)||!n.inputMean.every(Number.isFinite))throw Error('Invalid neural network schema'); let width=n.inputDim; for(const layer of n.layers){if(!layer.bias?.length||layer.weight?.length!==width*layer.bias.length||!layer.bias.every(Number.isFinite)||!layer.weight.every(Number.isFinite))throw Error('Invalid neural network weights');width=layer.bias.length;} if(width!==n.outputDim)throw Error('Invalid neural network output width'); return n; }