NumerosHoy he liberado la versión 0.3 de una pequeña biblioteca de código PHP para manejar números grandes que llevo desarrollando desde hace unas semanas en algunos de mis ratos libres.

Por el momento la biblioteca incorpora tres clases relevantes: Decimal, que sirve para tratar con números en base decimal con precisión arbitraria; Infinite, que sirve para manipular cantidades infinitas (para los más teóricos, lo siento, no distingue entre cardinalidades infinitas); y NaN, que representa el típico “Not a Number” resultado de operaciones prohibidas.

La biblioteca tiene como requerimientos que la versión de PHP sea mayor o igual a 5.4.0, pero también soporta HHVM :) .

Respecto a por qué la he creado si ya existen las extensiones BCMath y GMP… bien: a BCMath le faltan métodos importantes y su API no es demasiado cómoda. En cuanto a GMP, al menos hasta la versión 5.5 de PHP, solo soporta aritmética de enteros, y además no trata con objetos sino con recursos no serializables.

¿Y por qué no he aprovechado una biblioteca preexistente en Packagist o PEAR? Pues porque las que ya existían antes no se tomaban demasiado en serio los casos poco frecuentes. Y porque quería experimentar con Composer y Packagist ^^U .

Bueno, ya está bien de cháchara. Aquí os dejo el enlace al proyecto en Github: https://github.com/Litipk/php-bignumbers .

Si estáis interesados en contribuir código estaré encantado :) . Todavía no considero el desarrollo acabado, y tengo bastantes ideas para mejorar esta biblioteca y hacerla más útil y potente.