{"version":3,"file":"classification.cjs","names":[],"sources":["../../../src/vision/postprocess/classification.ts"],"sourcesContent":["/** @generated Vendored from @mauriciobenjamin700/ort-vision-sdk-web. Do not hand-edit — regenerate with `npm run vendor:vision`. */\n/**\n * Classification head postprocessing — softmax + top-k.\n */\n\n/** Apply numerically-stable softmax to a 1-D vector of logits. */\nexport function softmax(logits: Float32Array | readonly number[]): Float32Array {\n    const n = logits.length;\n    const out = new Float32Array(n);\n    let max = -Infinity;\n    for (let i = 0; i < n; i++) {\n        const v = logits[i] as number;\n        if (v > max) max = v;\n    }\n    let sum = 0;\n    for (let i = 0; i < n; i++) {\n        const e = Math.exp((logits[i] as number) - max);\n        out[i] = e;\n        sum += e;\n    }\n    for (let i = 0; i < n; i++) {\n        out[i] = (out[i] as number) / sum;\n    }\n    return out;\n}\n\nexport interface TopKResult {\n    readonly indices: Int32Array;\n    readonly values: Float32Array;\n}\n\n/**\n * Return the top-k entries of a 1-D probability vector, sorted descending.\n *\n * @param k Number of entries to return; `null` returns all entries.\n */\nexport function topK(probabilities: Float32Array, k: number | null): TopKResult {\n    const n = probabilities.length;\n    const kEff = k === null ? n : Math.min(Math.max(0, k), n);\n\n    const idx = new Array<number>(n);\n    for (let i = 0; i < n; i++) idx[i] = i;\n    idx.sort((a, b) => (probabilities[b] as number) - (probabilities[a] as number));\n\n    const indices = new Int32Array(kEff);\n    const values = new Float32Array(kEff);\n    for (let i = 0; i < kEff; i++) {\n        const j = idx[i] as number;\n        indices[i] = j;\n        values[i] = probabilities[j] as number;\n    }\n    return { indices, values };\n}\n"],"mappings":"AAMA,SAAgB,EAAQ,EAAwD,CAC5E,IAAM,EAAI,EAAO,OACX,EAAM,IAAI,aAAa,CAAC,EAC1B,EAAM,KACV,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,IAAK,CACxB,IAAM,EAAI,EAAO,GACb,EAAI,IAAK,EAAM,EACvB,CACA,IAAI,EAAM,EACV,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,IAAK,CACxB,IAAM,EAAI,KAAK,IAAK,EAAO,GAAgB,CAAG,EAC9C,EAAI,GAAK,EACT,GAAO,CACX,CACA,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,IACnB,EAAI,GAAM,EAAI,GAAgB,EAElC,OAAO,CACX,CAYA,SAAgB,EAAK,EAA6B,EAA8B,CAC5E,IAAM,EAAI,EAAc,OAClB,EAAO,IAAM,KAAO,EAAI,KAAK,IAAI,KAAK,IAAI,EAAG,CAAC,EAAG,CAAC,EAElD,EAAU,MAAc,CAAC,EAC/B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,IAAK,EAAI,GAAK,EACrC,EAAI,MAAM,EAAG,IAAO,EAAc,GAAiB,EAAc,EAAa,EAE9E,IAAM,EAAU,IAAI,WAAW,CAAI,EAC7B,EAAS,IAAI,aAAa,CAAI,EACpC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,IAAK,CAC3B,IAAM,EAAI,EAAI,GACd,EAAQ,GAAK,EACb,EAAO,GAAK,EAAc,EAC9B,CACA,MAAO,CAAE,UAAS,QAAO,CAC7B"}