Comme tout langage de programmation, Common Lisp est
capable de manipuler des nombres. Le type number en Common Lisp
est divisé en deux sous-types real et complex.
En mathématique, un nombre réel est aussi un nombre complexe, mais en
Common Lisp les deux sous-types sont distincts. Le sous-type real
est à son tour divisé en rationnal et float.
Mais les fonctionnalités numériques de Common Lisp sont plus sophistiquées que
celles proposées par d'autres langages :
- le sous-type integer du type rational permet une
précision arbitraire, limitée uniquement par la quantité de mémoire
disponible ;
- le sous-type ratio de rational permet une
représentation exacte de tous les nombres rationnels (limitée uniquement par
la quantité de mémoire) ;
- le sous-type complex contient deux sous-types selon le
type des deux composantes réelles (float ou
rational) ;
- les opérations habituelles (exponentielles,
logarithmes, trigonométriques, etc) fonctionnent correctement pour les
nombres complexes.
Irene DURAND
2011-10-14