https://github.com/Rican7/mathematician
Mathematician é uma biblioteca matemática de PHP para operações matemáticas mais simples e confiáveis ​​… mesmo em grandes números.
Encare: trabalhar com números em PHP é insatisfatório. Esta biblioteca pretende mudar isso. O objetivo do design desta biblioteca é facilitar o trabalho com números, independentemente do tamanho / precisão ou da extensão que o sistema carregou. Portabilidade e facilidade de uso.
Por quê?
Por que criar ou mesmo usar uma biblioteca como essa? Bem, trabalhar com números em PHP é bastante difÃcil.
Ao contrário de muitas lÃnguas (Python, Ruby, etc), ao dividir um integer
por um integer
obter um resultado que é do tipo: float
. Na verdade, não há nenhuma //
operação como no JavaScript para fazer a divisão inteira.
Não apenas isso, mas o que acontece quando você deseja trabalhar com números maiores que PHP_INT_MAX
? Ao adicionar 1
a PHP_INT_MAX
… você obtém um float novamente. O que significa que você perde a precisão instantaneamente. Tente convertê-lo em um inteiro e você obterá um número negativo (estouro de agradecimento). É difÃcil … então, naturalmente, você recorre a uma das duas extensões para trabalhar com números grandes: bcmath
ou gmp
. Bem, agora seu aplicativo / biblioteca depende de uma extensão compilada e é menos portátil, sem mencionar que eles não são iguais em funcionalidade (divirta-se com operações binárias no BC Math).
De qualquer forma, acho que você entendeu aqui. Esta biblioteca nasceu de minhas frustrações com os itens acima. Esperançosamente, esta biblioteca alivia a dor para que você não tenha que experimentar o que eu vivi. : P
Confira em: https://github.com/Rican7/mathematician