HEX
Server: Apache
System: Linux vps.mmtprep.com 4.18.0-477.21.1.el8_8.x86_64 #1 SMP Thu Aug 10 13:51:50 EDT 2023 x86_64
User: mmtprep (1001)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/puissance--QPVunp5.js.map
{"version":3,"file":"puissance--QPVunp5.js","sources":["../../src/lib/outils/puissance.js"],"sourcesContent":["import { round } from 'mathjs'\nimport { ecritureParentheseSiNegatif } from './ecritures.js'\n\n/**\n * Fonction pour écrire des notations scientifique de la forme a * b ^ n\n * @param a {number} mantisse\n * @param b {number} base\n * @param n {number} exposant\n * @author Erwan Duplessy\n */\nexport function puissance (b, n) {\n  switch (b) {\n    case 0:\n      return '0'\n    case 1:\n      return '1'\n    case -1:\n      if (b % 2 === 0) {\n        return '1'\n      } else {\n        return '-1'\n      }\n    default:\n      if (b < 0) {\n        return `(${b})^{${n}}`\n      } else {\n        return `${b}^{${n}}`\n      }\n  }\n}\n\nexport function ecriturePuissance (a, b, n) {\n  switch (a) {\n    case 0:\n      return '$0$'\n    case 1:\n      return `$${puissance(b, n)}$`\n    default:\n      return `$${String(round(a, 3)).replace('.', '{,}')} \\\\times ${puissance(b, n)}$`.replace('.', '{,}')\n  }\n}\n\n/**\n * Fonction pour simplifier les notations puissance dans certains cas\n * si la base vaut 1 ou -1 quelque soit l'exposant, retourne 1 ou -1,\n * si la base est négative on teste la parité de l'exposant pour alléger la notation sans le signe\n * si l'exposant vaut 0 ou 1 retourne 1, la base ou rien\n * @param b base\n * @param e exposant\n * @author Sébastien Lozano\n */\nexport function simpNotPuissance (b, e) {\n  // on switch sur la base\n  switch (b) {\n    case -1: // si la base vaut -1 on teste la parité de l'exposant\n      if (e % 2 === 0) {\n        return ' 1'\n        // break;\n      } else {\n        return ' -1'\n        // break;\n      }\n    case 1: // si la base vaut 1 on renvoit toujours 1\n      return ' 1'\n    default: // sinon on switch sur l'exposant\n      switch (e) {\n        case 0: // si l'exposant vaut 0 on ranvoit toujours 1\n          return '1'\n        case 1: // si l'exposant vaut 1 on renvoit toujours la base\n          return ` ${b}`\n        default: // sinon on teste le signe de la base et la parité de l'exposant\n          if (b < 0 && e % 2 === 0) { // si la base est négative et que l'exposant est pair, le signe est inutile\n            return ` ${b * -1}^{${e}}`\n            // break;\n          } else {\n            return ` ${b}^{${e}}`\n            // return ` `;\n            // break;\n          }\n      }\n  }\n}\n\n/**\n * Fonction pour écrire en couleur la forme éclatée d'une puissance\n * @param b base\n * @param e exposant\n * @param couleur\n * @author Sébastien Lozano\n */\nexport function eclatePuissance (b, e, couleur) {\n  let str\n  switch (e) {\n    case 0:\n      return `\\\\mathbf{\\\\color{${couleur}}{1}}`\n    case 1:\n      return `\\\\mathbf{\\\\color{${couleur}}{${b}}}`\n    default:\n      str = `\\\\mathbf{\\\\color{${couleur}}{${b}}} `\n      for (let i = 1; i < e; i++) {\n        str = str + `\\\\times \\\\mathbf{\\\\color{${couleur}}{${b}}}`\n      }\n      return str\n  }\n}\n\n/**\n * Fonction pour écrire la forme éclatée d'une puissance\n * @param b {number} base\n * @param e {integer} exposant\n * @author Rémi Angot\n * @return string\n */\nexport function puissanceEnProduit (b, e) {\n  let str\n  if (e === 0) {\n    return '1'\n  } else if (e === 1) {\n    return `${b}`\n  } else if (e > 1) {\n    str = `${ecritureParentheseSiNegatif(b)}`\n    for (let i = 1; i < e; i++) {\n      str = str + `\\\\times ${ecritureParentheseSiNegatif(b)}`\n    }\n    return str\n  } else if (e < 0) {\n    return `\\\\dfrac{1}{${puissanceEnProduit(b, -e)}}`\n  }\n}\n\n/**\n * Fonction pour simplifier l'ecriture lorsque l'exposant vaut 0 ou 1\n * retourne 1, la base ou rien\n * @param b base\n * @param e exposant\n * @author Sébastien Lozano\n */\nexport function simpExp (b, e) {\n  switch (e) {\n    case 1:\n      return ` ${b}`\n    case 0:\n      return ' 1'\n    default:\n      return ' '\n  }\n}\n"],"names":["puissance","b","n","ecriturePuissance","a","round","simpNotPuissance","e","eclatePuissance","couleur","str","i","puissanceEnProduit","ecritureParentheseSiNegatif","simpExp"],"mappings":"gDAUO,SAASA,EAAWC,EAAGC,EAAG,CAC/B,OAAQD,EAAC,CACP,IAAK,GACH,MAAO,IACT,IAAK,GACH,MAAO,IACT,IAAK,GACH,OAAIA,EAAI,IAAM,EACL,IAEA,KAEX,QACE,OAAIA,EAAI,EACC,IAAIA,CAAC,MAAMC,CAAC,IAEZ,GAAGD,CAAC,KAAKC,CAAC,GAEtB,CACH,CAEO,SAASC,EAAmBC,EAAGH,EAAGC,EAAG,CAC1C,OAAQE,EAAC,CACP,IAAK,GACH,MAAO,MACT,IAAK,GACH,MAAO,IAAIJ,EAAUC,EAAGC,CAAC,CAAC,IAC5B,QACE,MAAO,IAAI,OAAOG,EAAMD,EAAG,CAAC,CAAC,EAAE,QAAQ,IAAK,KAAK,CAAC,YAAYJ,EAAUC,EAAGC,CAAC,CAAC,IAAI,QAAQ,IAAK,KAAK,CACtG,CACH,CAWO,SAASI,EAAkBL,EAAGM,EAAG,CAEtC,OAAQN,EAAC,CACP,IAAK,GACH,OAAIM,EAAI,IAAM,EACL,KAGA,MAGX,IAAK,GACH,MAAO,KACT,QACE,OAAQA,EAAC,CACP,IAAK,GACH,MAAO,IACT,IAAK,GACH,MAAO,IAAIN,CAAC,GACd,QACE,OAAIA,EAAI,GAAKM,EAAI,IAAM,EACd,IAAIN,EAAI,EAAE,KAAKM,CAAC,IAGhB,IAAIN,CAAC,KAAKM,CAAC,GAIvB,CACJ,CACH,CASO,SAASC,EAAiBP,EAAGM,EAAGE,EAAS,CAC9C,IAAIC,EACJ,OAAQH,EAAC,CACP,IAAK,GACH,MAAO,oBAAoBE,CAAO,QACpC,IAAK,GACH,MAAO,oBAAoBA,CAAO,KAAKR,CAAC,KAC1C,QACES,EAAM,oBAAoBD,CAAO,KAAKR,CAAC,MACvC,QAASU,EAAI,EAAGA,EAAIJ,EAAGI,IACrBD,EAAMA,EAAM,4BAA4BD,CAAO,KAAKR,CAAC,KAEvD,OAAOS,CACV,CACH,CASO,SAASE,EAAoBX,EAAGM,EAAG,CACxC,IAAIG,EACJ,GAAIH,IAAM,EACR,MAAO,IACF,GAAIA,IAAM,EACf,MAAO,GAAGN,CAAC,GACN,GAAIM,EAAI,EAAG,CAChBG,EAAM,GAAGG,EAA4BZ,CAAC,CAAC,GACvC,QAASU,EAAI,EAAGA,EAAIJ,EAAGI,IACrBD,EAAMA,EAAM,WAAWG,EAA4BZ,CAAC,CAAC,GAEvD,OAAOS,CACX,SAAaH,EAAI,EACb,MAAO,cAAcK,EAAmBX,EAAG,CAACM,CAAC,CAAC,GAElD,CASO,SAASO,EAASb,EAAGM,EAAG,CAC7B,OAAQA,EAAC,CACP,IAAK,GACH,MAAO,IAAIN,CAAC,GACd,IAAK,GACH,MAAO,KACT,QACE,MAAO,GACV,CACH"}