Source: https://maths.ac-noumea.nc/IMG/pdf/Fonctions_2-variations.pdf