Source: https://www.ibisc.univ-evry.fr/~janodet/pub/j96.pdf