Source: http://www.lix.polytechnique.fr/Labo/Gabriel.Scherer/doc/talk-epitech-nov13.pdf