mon-entreprise/publicodes/source/mecanisms
Maxime Quandalle d7f140334e 🐎 Accélère l'inversion
La fonction `uniroot` prend 2 paramètres d'amorçage "min" et "max" qui
nous définissions jusqu'alors comme des minimums et maximum absolus
-10^8 et +10^8. Vu que nous sommes obligés de calculer au moins une
première valeur à l'extérieur de `uniroot` notamment pour calculer les
variables manquantes, ce commit permet de ré-utiliser ce calcul dans
l'amorçage d' `uniroot`.

Les gains de performances sont détaillés dans la PR associée.

Par ailleurs supprime l'option "valeurs négatives possibles" rendue
obsolète.

Il y a des légers décalages d'1€ sur une dizaine de snapshots qui liés à
des arrondis à l'euro. On calcule en effet les inversions à 10 centimes
près et on peut donc tomber sur une valeur de xx,54€ là où la vraie
valeur est xx,48€ ce qui donne 1€ de différence avec l'arrondi alors que
la différence initialement calculée est inférieure à 10 centimes.

Par curiosité j'ai rejoué les tests de non-régressions en changeant les
paramètres d'`uniroot` pour avoir une précision au centime près (en
augmentant le nombre max d'itération à 50) et il se trouve que sur la
dizaine de tests différents entre ce commit et la version d'avant une
moitié des arrondis à l'euro étaient faux avant et corrects maintenant
et inversement pour l'autre moitié.
2020-11-23 15:55:17 +01:00
..
applicable.tsx ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
arrondi.tsx ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
barème.ts ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
composantes.ts ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
condition-allof.tsx ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
condition-oneof.tsx ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
durée.tsx ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
grille.ts ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
inversion.ts 🐎 Accélère l'inversion 2020-11-23 15:55:17 +01:00
max.tsx ⚙️ Ajout d'un type de nœud serialisable 2020-11-05 10:22:48 +01:00
min.tsx ⚙️ Ajout d'un type de nœud serialisable 2020-11-05 10:22:48 +01:00
nonApplicable.tsx ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
one-possibility.tsx ⚙️ Petites simplifications du code du moteur 2020-11-05 18:25:43 +01:00
operation.tsx ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
plafond.tsx ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
plancher.tsx ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
possibility.tsx ⚙️ Ajout d'un type de nœud serialisable 2020-11-05 10:22:48 +01:00
product.tsx ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
recalcul.ts ⚙️ Petites simplifications du code du moteur 2020-11-05 18:25:43 +01:00
reduction.ts ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
sum.tsx ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
synchronisation.tsx ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
tauxProgressif.ts ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
trancheUtils.ts 🔥 Sépare le moteur dans un packet isolé 2020-05-14 15:25:22 +02:00
variableTemporelle.ts ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00
variations.ts ⚙️ Nouvelle API d'évaluation 2020-11-05 10:22:48 +01:00