Source: https://tecfa.unige.ch/guides/methodo/IDHEAP/2001/choisir.book.pdf