fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
1 lines • 1.05 kB
Source Map (JSON)
{"version":3,"file":"sin.min.mjs","names":[],"sources":["../../../../src/util/misc/sin.ts"],"sourcesContent":["import type { TRadian } from '../../typedefs';\nimport { halfPI } from '../../constants';\n\n/**\n * Calculate the cos of an angle, avoiding returning floats for known results\n * This function is here just to avoid getting 0.999999999999999 when dealing\n * with numbers that are really 1 or 0.\n * @param {TRadian} angle the angle\n * @return {Number} the sin value for angle.\n */\nexport const sin = (angle: TRadian): number => {\n if (angle === 0) {\n return 0;\n }\n const angleSlice = angle / halfPI;\n const value = Math.sign(angle);\n switch (angleSlice) {\n case 1:\n return value;\n case 2:\n return 0;\n case 3:\n return -value;\n }\n return Math.sin(angle);\n};\n"],"mappings":"iDAUA,MAAa,EAAO,GAAA,CAClB,GAAI,IAAU,EACZ,MAAO,GAET,IAAM,EAAa,EAAQ,EACrB,EAAQ,KAAK,KAAK,EAAA,CACxB,OAAQ,EAAR,CACE,IAAK,GACH,OAAO,EACT,IAAK,GACH,MAAO,GACT,IAAK,GACH,MAAA,CAAQ,EAEZ,OAAO,KAAK,IAAI,EAAA,EAAA,OAAA,KAAA"}