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/deprecatedFractions-crf_vsDW.js.map
{"version":3,"file":"deprecatedFractions-crf_vsDW.js","sources":["../../src/lib/outils/deprecatedFractions.js"],"sourcesContent":["import { miseEnEvidence } from './embellissements'\nimport { ecritureParentheseSiNegatif } from './ecritures.js'\nimport { pgcd } from './primalite.js'\nimport { texNombre } from './texNombre.js'\n\n/**\n * Fonction de comparaison à utiliser avec tableau.sort(compareFractions)\n *\n * Le tableau doit être du type `[[num,den],[num2,den2]]`\n *\n * @author Rémi Angot\n */\nexport function compareFractions (a, b) {\n  if ((a[0] / a[1]) > (b[0] / b[1])) {\n    return 1\n  }\n  if ((a[0] / a[1]) < (b[0] / b[1])) {\n    return -1\n  }\n  // Sinon il y a égalité\n  return 0\n}\n\n/**\n * Retourne le numérateur et le dénominateur de la fraction passée en argument sous la forme (numérateur, dénominateur) réduite au maximum dans un tableau [numérateur,dénominateur]\n * @deprecated : utiliser la class FractionEtendue à la place\n * @author Rémi Angot\n */\nexport function fractionSimplifiee (n, d) {\n  const p = pgcd(n, d)\n  let ns = n / p\n  let ds = d / p\n  if (ns < 0 && ds < 0) {\n    [ns, ds] = [-ns, -ds]\n  }\n  if (ns > 0 && ds < 0) {\n    [ns, ds] = [-ns, -ds]\n  }\n  return [ns, ds]\n}\n\n/**\n * Retourne le code LaTeX d'une fraction simplifiée ou d'un nombre entier\n * @deprecated : utiliser la class FractionEtendue à la place\n * @author Rémi Angot\n */\nexport function texFractionReduite (n, d) {\n  if (Math.abs(n) % Math.abs(d) === 0) {\n    return n / d\n  } else {\n    return texFractionSigne(fractionSimplifiee(n, d)[0], fractionSimplifiee(n, d)[1])\n  }\n}\n\n/**\n * @deprecated : utiliser la class FractionEtendue à la place\n * produitDeDeuxFractions(num1,den1,num2,den2) retourne deux chaines :\n * la première est la fraction résultat, la deuxième est le calcul mis en forme Latex avec simplification éventuelle\n * Applique une simplification si le numérateur de l'une est égal au dénominateur de l'autre.\n */\nexport function produitDeDeuxFractions (num1, den1, num2, den2) {\n  let num, den, texProduit\n  if (num1 === den2) {\n    texProduit = `\\\\dfrac{\\\\cancel{${num1}}\\\\times ${ecritureParentheseSiNegatif(num2)}}{${den1}\\\\times\\\\cancel{${ecritureParentheseSiNegatif(den2)}}}`\n    num = num2\n    num1 = 1\n    den2 = 1\n    den = den1\n  } else if (num2 === den1) {\n    texProduit = `\\\\dfrac{${num1}\\\\times \\\\cancel{${ecritureParentheseSiNegatif(num2)}}}{\\\\cancel{${den1}}\\\\times${ecritureParentheseSiNegatif(den2)}}`\n    num = num1\n    num2 = 1\n    den1 = 1\n    den = den2\n  } else {\n    num = num1 * num2\n    den = den1 * den2\n    texProduit = `\\\\dfrac{${num1}\\\\times ${ecritureParentheseSiNegatif(num2)}}{${den1}\\\\times${ecritureParentheseSiNegatif(den2)}}`\n  }\n  return [deprecatedTexFraction(num, den), texProduit, [num1, den1, num2, den2]]\n}\n\n/**\n * @deprecated utiliser la class FractionEtendue à la place\n * Simplifie une fraction en montrant les étapes\n * Le résultat est un string qui doit être entouré de $ pour le mode mathématique\n * @author Rémi Angot\n */\nexport function simplificationDeFractionAvecEtapes (num, den) {\n  let result = '='\n  if (num === 0) {\n    return '=0'\n  }\n  const signe = num * den < 0 ? '-' : ''\n  const numAbs = Math.abs(num)\n  const denAbs = Math.abs(den)\n  // Est-ce que le résultat est simplifiable ?\n  const s = pgcd(numAbs, denAbs)\n  if (s !== 1) {\n    if (numAbs % denAbs === 0) { // si le résultat est entier\n      result += `${num / den}`\n    } else {\n      result += `${signe}${deprecatedTexFraction(numAbs / s + miseEnEvidence('\\\\times' + s), denAbs / s + miseEnEvidence('\\\\times' + s))}=${texFractionSigne(num / s, den / s)}`\n    }\n  } else if (num < 0 || den < 0) {\n    result += `${texFractionSigne(num, den)}`\n  } else return ''\n  return result\n}\n\n/**\n * @deprecated Utiliser la classe FractionEtendue et ses différentes méthodes\n * Retourne la string LaTeX de la fraction\n * @param num\n * @param den\n * @return {string}\n * @author Jean-Claude Lhote\n */\nexport function texFractionSigne (num, den) {\n  if (den === 1) return String(num)\n  if (num * den > 0) {\n    return `\\\\dfrac{${texNombre(Math.abs(num))}}{${texNombre(Math.abs(den))}}`\n  }\n  if (num * den < 0) {\n    return `-\\\\dfrac{${texNombre(Math.abs(num))}}{${texNombre(Math.abs(den))}}`\n  }\n  return '0'\n}\n\n/**\n * Retourne une liste de fractions irréductibles\n * @author Jean-Claude Lhote\n */\nexport function obtenirListeFractionsIrreductibles () { // sous forme de tableaux [numérateur,dénominateur]\n  return [[1, 2], [1, 3], [2, 3], [1, 4], [3, 4], [1, 5], [2, 5], [3, 5], [4, 5],\n    [1, 6], [5, 6], [1, 7], [2, 7], [3, 7], [4, 7], [5, 7], [6, 7], [1, 8], [3, 8], [5, 8], [7, 8],\n    [1, 9], [2, 9], [4, 9], [5, 9], [7, 9], [8, 9], [1, 10], [3, 10], [7, 10], [9, 10]]\n}\n\n/**\n * Retourne une liste de fractions irréductibles de dénominateur égal à 2 3 5 7\n * @author Mireille Gain\n */\nexport function obtenirListeFractionsIrreductiblesFaciles () { // sous forme de tableaux [numérateur,dénominateur]\n  return [[1, 2], [1, 3], [2, 3], [1, 5], [2, 5], [3, 5], [4, 5],\n    [1, 7], [2, 7], [3, 7], [4, 7], [5, 7], [6, 7]]\n}\n\n/**\n * @deprecated : Utiliser la classe FractionEtendue et sa méthode texFSD (ou une autre)\n * Retourne le code LaTeX d'une fraction a/b\n * @author Rémi Angot\n */\nexport function deprecatedTexFraction (a, b) {\n  if (b !== 1) {\n    return `\\\\dfrac{${typeof a === 'number' ? texNombre(a) : a}}{${typeof b === 'number' ? texNombre(b) : b}}`\n  } else {\n    return a\n  }\n}\n"],"names":["compareFractions","a","b","fractionSimplifiee","n","d","p","pgcd","ns","ds","texFractionReduite","texFractionSigne","produitDeDeuxFractions","num1","den1","num2","den2","num","den","texProduit","ecritureParentheseSiNegatif","deprecatedTexFraction","simplificationDeFractionAvecEtapes","result","signe","numAbs","denAbs","s","miseEnEvidence","texNombre","obtenirListeFractionsIrreductibles","obtenirListeFractionsIrreductiblesFaciles"],"mappings":"8DAYO,SAASA,EAAkBC,EAAGC,EAAG,CACtC,OAAKD,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAMC,EAAE,CAAC,EAAIA,EAAE,CAAC,EACtB,EAEJD,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAMC,EAAE,CAAC,EAAIA,EAAE,CAAC,EACtB,GAGF,CACT,CAOO,SAASC,EAAoBC,EAAGC,EAAG,CACxC,MAAMC,EAAIC,EAAKH,EAAGC,CAAC,EACnB,IAAIG,EAAKJ,EAAIE,EACTG,EAAKJ,EAAIC,EACb,OAAIE,EAAK,GAAKC,EAAK,IACjB,CAACD,EAAIC,CAAE,EAAI,CAAC,CAACD,EAAI,CAACC,CAAE,GAElBD,EAAK,GAAKC,EAAK,IACjB,CAACD,EAAIC,CAAE,EAAI,CAAC,CAACD,EAAI,CAACC,CAAE,GAEf,CAACD,EAAIC,CAAE,CAChB,CAOO,SAASC,EAAoBN,EAAGC,EAAG,CACxC,OAAI,KAAK,IAAID,CAAC,EAAI,KAAK,IAAIC,CAAC,IAAM,EACzBD,EAAIC,EAEJM,EAAiBR,EAAmBC,EAAGC,CAAC,EAAE,CAAC,EAAGF,EAAmBC,EAAGC,CAAC,EAAE,CAAC,CAAC,CAEpF,CAQO,SAASO,EAAwBC,EAAMC,EAAMC,EAAMC,EAAM,CAC9D,IAAIC,EAAKC,EAAKC,EACd,OAAIN,IAASG,GACXG,EAAa,oBAAoBN,CAAI,YAAYO,EAA4BL,CAAI,CAAC,KAAKD,CAAI,mBAAmBM,EAA4BJ,CAAI,CAAC,KAC/IC,EAAMF,EACNF,EAAO,EACPG,EAAO,EACPE,EAAMJ,GACGC,IAASD,GAClBK,EAAa,WAAWN,CAAI,oBAAoBO,EAA4BL,CAAI,CAAC,eAAeD,CAAI,WAAWM,EAA4BJ,CAAI,CAAC,IAChJC,EAAMJ,EACNE,EAAO,EACPD,EAAO,EACPI,EAAMF,IAENC,EAAMJ,EAAOE,EACbG,EAAMJ,EAAOE,EACbG,EAAa,WAAWN,CAAI,WAAWO,EAA4BL,CAAI,CAAC,KAAKD,CAAI,UAAUM,EAA4BJ,CAAI,CAAC,KAEvH,CAACK,EAAsBJ,EAAKC,CAAG,EAAGC,EAAY,CAACN,EAAMC,EAAMC,EAAMC,CAAI,CAAC,CAC/E,CAQO,SAASM,EAAoCL,EAAKC,EAAK,CAC5D,IAAIK,EAAS,IACb,GAAIN,IAAQ,EACV,MAAO,KAET,MAAMO,EAAQP,EAAMC,EAAM,EAAI,IAAM,GAC9BO,EAAS,KAAK,IAAIR,CAAG,EACrBS,EAAS,KAAK,IAAIR,CAAG,EAErBS,EAAIpB,EAAKkB,EAAQC,CAAM,EAC7B,GAAIC,IAAM,EACJF,EAASC,IAAW,EACtBH,GAAU,GAAGN,EAAMC,CAAG,GAEtBK,GAAU,GAAGC,CAAK,GAAGH,EAAsBI,EAASE,EAAIC,EAAe,UAAYD,CAAC,EAAGD,EAASC,EAAIC,EAAe,UAAYD,CAAC,CAAC,CAAC,IAAIhB,EAAiBM,EAAMU,EAAGT,EAAMS,CAAC,CAAC,WAEjKV,EAAM,GAAKC,EAAM,EAC1BK,GAAU,GAAGZ,EAAiBM,EAAKC,CAAG,CAAC,OAClC,OAAO,GACd,OAAOK,CACT,CAUO,SAASZ,EAAkBM,EAAKC,EAAK,CAC1C,OAAIA,IAAQ,EAAU,OAAOD,CAAG,EAC5BA,EAAMC,EAAM,EACP,WAAWW,EAAU,KAAK,IAAIZ,CAAG,CAAC,CAAC,KAAKY,EAAU,KAAK,IAAIX,CAAG,CAAC,CAAC,IAErED,EAAMC,EAAM,EACP,YAAYW,EAAU,KAAK,IAAIZ,CAAG,CAAC,CAAC,KAAKY,EAAU,KAAK,IAAIX,CAAG,CAAC,CAAC,IAEnE,GACT,CAMO,SAASY,GAAsC,CACpD,MAAO,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAC3E,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAC7F,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,EAAE,EAAG,CAAC,EAAG,EAAE,EAAG,CAAC,EAAG,EAAE,EAAG,CAAC,EAAG,EAAE,CAAC,CACtF,CAMO,SAASC,GAA6C,CAC3D,MAAO,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAC3D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,CAClD,CAOO,SAASV,EAAuBpB,EAAGC,EAAG,CAC3C,OAAIA,IAAM,EACD,WAAW,OAAOD,GAAM,SAAW4B,EAAU5B,CAAC,EAAIA,CAAC,KAAK,OAAOC,GAAM,SAAW2B,EAAU3B,CAAC,EAAIA,CAAC,IAEhGD,CAEX"}