{"version":3,"file":"rgb2temperature.mjs","sources":["../../../../../../../../../node_modules/chroma-js/src/io/temp/rgb2temperature.js"],"sourcesContent":["/*\n * Based on implementation by Neil Bartlett\n * https://github.com/neilbartlett/color-temperature\n **/\n\nimport temperature2rgb from './temperature2rgb.js';\nimport { unpack } from '../../utils/index.js';\nconst { round } = Math;\n\nconst rgb2temperature = (...args) => {\n    const rgb = unpack(args, 'rgb');\n    const r = rgb[0],\n        b = rgb[2];\n    let minTemp = 1000;\n    let maxTemp = 40000;\n    const eps = 0.4;\n    let temp;\n    while (maxTemp - minTemp > eps) {\n        temp = (maxTemp + minTemp) * 0.5;\n        const rgb = temperature2rgb(temp);\n        if (rgb[2] / rgb[0] >= b / r) {\n            maxTemp = temp;\n        } else {\n            minTemp = temp;\n        }\n    }\n    return round(temp);\n};\n\nexport default rgb2temperature;\n"],"names":[],"mappings":";;;;AAAA;AACA;AACA;AACA;;AAIA,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI;;AAEjB,MAAC,eAAe,GAAG,CAAC,GAAG,IAAI,KAAK;AACrC,IAAI,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;AACnC,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACpB,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAClB,IAAI,IAAI,OAAO,GAAG,IAAI;AACtB,IAAI,IAAI,OAAO,GAAG,KAAK;AACvB,IAAI,MAAM,GAAG,GAAG,GAAG;AACnB,IAAI,IAAI,IAAI;AACZ,IAAI,OAAO,OAAO,GAAG,OAAO,GAAG,GAAG,EAAE;AACpC,QAAQ,IAAI,GAAG,CAAC,OAAO,GAAG,OAAO,IAAI,GAAG;AACxC,QAAQ,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC;AACzC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACtC,YAAY,OAAO,GAAG,IAAI;AAC1B,QAAQ,CAAC,MAAM;AACf,YAAY,OAAO,GAAG,IAAI;AAC1B,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC;AACtB;;;;","x_google_ignoreList":[0]}