Source: https://sed.inrialpes.fr/stages/stages99/rapportTourres.pdf