Source: https://www.dii.uchile.cl/~daespino/files/Iso_C_1999_definition.pdf