Articulo de referencia

Biblioteca de clases para Numbers

La biblioteca de clases para números ( CLN ) es una biblioteca gratuita para aritmética de precisión arbitraria . Opera con enteros con signo , números racionales , números de p...

La biblioteca de clases para números ( CLN ) es una biblioteca gratuita para aritmética de precisión arbitraria . Opera con enteros con signo , números racionales , números de punto flotante , números complejos , números modulares y polinomios univariados . Su lenguaje de programación de implementación es C++ .

Detalles

CLN utiliza técnicas orientadas a objetos y sobrecarga de operadores para lograr una sintaxis algebraica natural : la suma x de dos variables a y b se escribe como x  = a + b , en contraposición a la función sum(& x , a , b ).     

CLN utiliza la herencia de clases para modelar los subconjuntos naturales de los tipos numéricos disponibles: por ejemplo, la clase entero es un subtipo de la clase racional, al igual que los números enteros son un subconjunto de los números racionales. Los números complejos y todos sus subtipos se comportan exactamente como los tipos de números conocidos por el lenguaje Common Lisp , lo que le da a CLN otro significado: se convierte en una abreviatura de Common Lisp Numbers (Números de Common Lisp ). Debido a esto, CLN puede usarse, y de hecho se usa, para implementaciones de Common Lisp, otros lenguajes interpretados o sistemas de álgebra computacional .

La implementación es eficiente. Se puede configurar para usar la biblioteca GNU Multi-Precision como núcleo para bucles internos críticos en cuanto a velocidad e implementa algoritmos avanzados como la multiplicación de Schönhage-Strassen , la división binaria [ 1 ] para calcular ciertas constantes matemáticas y otros. Todos los objetos CLN son inmediatos o con contador de referencias , lo que permite una recolección de basura no intrusiva sin sobrecargar la aplicación principal.

Véase también

Referencias

  1. Haible, Bruno; Papanikolaou, Thomas (1998). "Evaluación rápida de precisión múltiple de series de números racionales". En Buhler, Joe P. (ed.). Teoría algorítmica de números . Lecture Notes in Computer Science. Vol.  1423. pp. 338–350 . doi : 10.1007/BFb0054873 . ISBN  978-3-540-69113-6.
  • Sitio web de CLN