{"version":3,"file":"hsi2rgb.mjs","sources":["../../../../../../../../../node_modules/chroma-js/src/io/hsi/hsi2rgb.js"],"sourcesContent":["import { unpack, limit, TWOPI, PITHIRD } from '../../utils/index.js';\nconst { cos } = Math;\n\n/*\n * hue [0..360]\n * saturation [0..1]\n * intensity [0..1]\n */\nconst hsi2rgb = (...args) => {\n    /*\n    borrowed from here:\n    http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/hsi2rgb.cpp\n    */\n    args = unpack(args, 'hsi');\n    let [h, s, i] = args;\n    let r, g, b;\n\n    if (isNaN(h)) h = 0;\n    if (isNaN(s)) s = 0;\n    // normalize hue\n    if (h > 360) h -= 360;\n    if (h < 0) h += 360;\n    h /= 360;\n    if (h < 1 / 3) {\n        b = (1 - s) / 3;\n        r = (1 + (s * cos(TWOPI * h)) / cos(PITHIRD - TWOPI * h)) / 3;\n        g = 1 - (b + r);\n    } else if (h < 2 / 3) {\n        h -= 1 / 3;\n        r = (1 - s) / 3;\n        g = (1 + (s * cos(TWOPI * h)) / cos(PITHIRD - TWOPI * h)) / 3;\n        b = 1 - (r + g);\n    } else {\n        h -= 2 / 3;\n        g = (1 - s) / 3;\n        b = (1 + (s * cos(TWOPI * h)) / cos(PITHIRD - TWOPI * h)) / 3;\n        r = 1 - (g + b);\n    }\n    r = limit(i * r * 3);\n    g = limit(i * g * 3);\n    b = limit(i * b * 3);\n    return [r * 255, g * 255, b * 255, args.length > 3 ? args[3] : 1];\n};\n\nexport default hsi2rgb;\n"],"names":["cos"],"mappings":";;;;AACA,MAAM,OAAEA,KAAG,EAAE,GAAG,IAAI;;AAEpB;AACA;AACA;AACA;AACA;AACK,MAAC,OAAO,GAAG,CAAC,GAAG,IAAI,KAAK;AAC7B;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;AAC9B,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;AACxB,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;;AAEf,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;AACvB,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;AACvB;AACA,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG;AACzB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG;AACvB,IAAI,CAAC,IAAI,GAAG;AACZ,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACnB,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAGA,KAAG,CAAC,KAAK,GAAG,CAAC,CAAC,IAAIA,KAAG,CAAC,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;AACrE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvB,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAC1B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAGA,KAAG,CAAC,KAAK,GAAG,CAAC,CAAC,IAAIA,KAAG,CAAC,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;AACrE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvB,IAAI,CAAC,MAAM;AACX,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAGA,KAAG,CAAC,KAAK,GAAG,CAAC,CAAC,IAAIA,KAAG,CAAC,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;AACrE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvB,IAAI;AACJ,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACxB,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACxB,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACxB,IAAI,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACrE;;;;","x_google_ignoreList":[0]}